ecspresso
    Preparing search index...

    Interface QueryConfig<ComponentTypes, WithComponents, WithoutComponents, OptionalComponents, MutatesComponents>

    interface QueryConfig<
        ComponentTypes,
        WithComponents extends keyof ComponentTypes,
        WithoutComponents extends keyof ComponentTypes,
        OptionalComponents extends keyof ComponentTypes = WithComponents,
        MutatesComponents extends keyof ComponentTypes = keyof ComponentTypes,
    > {
        changed?: readonly WithComponents[];
        mutates?: readonly MutatesComponents[];
        optional?: readonly OptionalComponents[];
        parentHas?: readonly (keyof ComponentTypes)[];
        with: readonly WithComponents[];
        without?: readonly WithoutComponents[];
    }

    Type Parameters

    Index

    Properties

    changed?: readonly WithComponents[]
    mutates?: readonly MutatesComponents[]

    Components to auto-mark as changed on every iterated entity after process() returns. Eliminates repeated ecs.markChanged(id, name) boilerplate inside iteration loops. Components listed in with but absent from mutates are narrowed to Readonly<T> on the iteration entity, catching accidental writes at compile time.

    optional?: readonly OptionalComponents[]
    parentHas?: readonly (keyof ComponentTypes)[]
    with: readonly WithComponents[]
    without?: readonly WithoutComponents[]