ReadonlycheckThe reference check bim.mutate.* is gated on (null when writable,
else the reason), exposed because the mutation TOOLS write into
getMutationView() directly and need the same gate (#3764).
ReadonlycostIFC 5D cost reads, when the backend retains loaded source bytes.
ReadonlyexportReadonlyfilesReadonlylensReadonlymodelReadonlymutateReadonlyqueryReadonlyscheduleReadonlyselectionReadonlyspatialReadonlystoreReadonlystructuralStructural analysis reads, when supported by the backend.
ReadonlystylePersistent colouring — present only on local backends with store access.
Mutable so the MCP server can swap in streaming adapters when the
viewer subprocess starts, then revert when it closes. Marked
readonly on the BimBackend interface but the underlying instance
is ours to manage.
Whether modelId names the one model this backend holds.
Refuse an unknown model id loudly, at whichever surface was handed it.
Replace the viewer/visibility adapters at runtime (for ViewerManager).
Restore no-op viewer/visibility adapters (for ViewerManager close).
Force creation of the editor (used by mutation tools that always need it).
Expose the mutation view so tools can inspect pending mutations.
The view bim.mutate writes through — public so run_flow's tables() reads the same overlay.
This session's queued edits, or null when it has none.
Subscribe to viewer events
Preserve the MCP constructor while the shared SDK owns model/query/edit/export.