Stage 1 of the planCameraTour pipeline — turns the source model into a SpaceGraph of rooms and the portals connecting them.

The default extractor (extractSpacesFromIfc) walks dataModel.objectsByType["IfcSpace"] for nodes and uses IfcRelSpaceBoundary / adjacent IfcDoor placements to wire edges. The geometry fallback (extractSpacesFromGeometry) clusters horizontal slab regions and detects wall apertures.

Implementations should:

  • return SDKErrorType.InvalidInput if the source can't be interpreted (e.g. IFC extractor on a SceneModel with no DataModel attached);
  • return an empty-but-valid SpaceGraph (zero nodes) for sources that are valid but contain no recognisable spaces;
  • never throw — failures travel back through SDKResult.
interface SpaceExtractor {
    extract(input: SpaceExtractorInput): Promise<SDKResult<SpaceGraph>>;
}

Methods

Methods