IFClite TypeScript API
    Preparing search index...

    Class CompactEntityIndex

    Compact read-only entity index backed by sorted typed arrays. Implements the same interface as Map<number, EntityRef> for lookups.

    Index
    • Parameters

      • expressIds: Uint32Array
      • byteOffsets: Uint32Array
      • byteLengths: Uint32Array
      • typeIndices: Uint16Array
      • typeStrings: string[]
      • OptionallruMaxSize: number

      Returns CompactEntityIndex

    size: number

    Total number of entries

    • get maxExpressId(): number

      Highest indexed ID in constant time; zero for an empty index.

      Returns number

    • Iterate over all entries (Map-compatible interface). Yields [expressId, EntityRef] pairs.

      Returns IterableIterator<[number, EntityRef]>

    • Clear the LRU cache (e.g., on model unload).

      Returns void

    • Iterate over all entries (Map.entries()-compatible).

      Returns IterableIterator<[number, EntityRef]>

    • Estimate memory usage in bytes.

      Returns number

    • forEach (Map-compatible interface).

      Parameters

      • callback: (value: EntityRef, key: number) => void

      Returns void

    • Get EntityRef by expressId (Map-compatible interface). Uses LRU cache to avoid repeated object allocation for hot entities.

      Parameters

      • expressId: number

      Returns EntityRef | undefined

    • Get byte offset and length for an expressId without full EntityRef allocation.

      Parameters

      • expressId: number

      Returns { byteLength: number; byteOffset: number } | undefined

    • Borrow numeric backing, valid until its owner detaches it; do not mutate. Cache consumers must not detach. Transport may transfer a retired index.

      Returns CompactEntityIndexColumns

    • Get the type string for an expressId without full EntityRef allocation.

      Parameters

      • expressId: number

      Returns string | undefined

    • Check if an expressId exists (Map-compatible interface).

      Parameters

      • expressId: number

      Returns boolean

    • Iterate over all expressIds (Map.keys()-compatible).

      Returns IterableIterator<number>

    • Iterate over all EntityRefs (Map.values()-compatible).

      Returns IterableIterator<EntityRef>