The domain extractor the wasm-backed source delegates to: which assets a product is made of, and how to run the wasm extract → tessellate → commitGeometryTile for one asset. Implemented over the real extraction pipeline in the Phase B wiring of IfcModelGeometry; tests use recording fakes.

interface TileAssetExtractor {
    assetsOf(productLocalID: number): GeometryAsset<number>[];
    extractIntoTile(assetID: number): void;
}

Implemented by

Methods

  • The assets (representation geometries) a product requires resident, with their reified byte sizes. Mapped items return the same assetID from many products — the sharing the pools are built around.

    Parameters

    • productLocalID: number

      The product's local ID.

    Returns GeometryAsset<number>[]

    The product's assets.

  • Extract + tessellate one asset and commit its reified payload into the wasm tile pool (commitGeometryTile). Called exactly once per residency. Must throw if the commit fails — under the budget invariant it cannot, so a failure is a contract violation, not a recoverable state.

    Parameters

    • assetID: number

      The asset to materialise.

    Returns void