IFClite TypeScript API
    Preparing search index...

    Interface EntityVisibilityView

    Overlay entity visibility, decoupled from @ifc-lite/mutations in the same way PropertyOverlayResolver is: this package does not depend on it. A live MutablePropertyView satisfies this shape as-is. A caller that only has a structured-clone snapshot (the IDS worker) hands in a plain object instead.

    interface EntityVisibilityView {
        getNewEntities(): readonly {
            attributes?: readonly unknown[];
            expressId: number;
            type: string;
        }[];
        getNewEntitiesOfType?(
            type: string,
        ): Iterable<{ expressId: number; type: string }>;
        getNewEntity?(expressId: number): { type: string } | null;
        getTombstones?(): ReadonlySet<number>;
        getTypeMutations?(): ReadonlyMap<number, { newType: string }>;
        isDeleted(expressId: number): boolean;
    }

    Hierarchy (View Summary)

    Index
    • Overlay-created entities still alive, with their authored class and positional attributes (MutablePropertyView.getNewEntities()).

      Returns readonly { attributes?: readonly unknown[]; expressId: number; type: string }[]

    • Created entities authored as one class, in creation order. Lets a single-class query skip the other created entities, which is what keeps per-element authoring linear (#5413). Absent: the full list is scanned.

      Parameters

      • type: string

      Returns Iterable<{ expressId: number; type: string }>

    • O(1) created-entity lookup. Absent (a plain-data snapshot): membership is built from getNewEntities.

      Parameters

      • expressId: number

      Returns { type: string } | null

    • Optional indexed tombstones let aggregate counts avoid a full source walk.

      Returns ReadonlySet<number>

    • Retype intents by express id. Absent means the overlay carries none.

      Returns ReadonlyMap<number, { newType: string }>

    • True for a deleted source entity and for a created-then-deleted one.

      Parameters

      • expressId: number

      Returns boolean