ReadonlyselfAlways true — a node's .bvc blob carries its own attributes (no side fetches).
Decode one I3S node's BVC blob into a packed, ENU-rebased point tile.
The node's fetched resource blobs; blobs.geometry is the
single-tile .bvc container.
The I3sDecodeContext: node ECEF centre, ECEF→ENU matrix,
geoid height geoidN (metres), grid, attribute schema, and horizontal/vertical
CRS ids — used to dequantize to f64 geodetic and rebase into the scene ENU frame.
A PackedPointTile (positions in the scene's local ENU frame,
metres) ready for the point renderer.
Main-thread
I3sPointCloudDecoderfor BVC-backed I3S point clouds — the format produced by the I3S→BVC transcoder, where each node's geometry blob is a standalone single-tile.bvccarrying quantized geodetic coords plus all attributes and per-axis scale/offset.Remarks
selfContainedAttributes is
true, so the engine fetches no separate attribute resources. Wire this (or WorkerBvcI3sPointCloudDecoder) into the@bitruvius/i3spoint-cloud engine as its decode seam; the engine then drives decode per node. For heavy scenes prefer the worker variant.Selected automatically by the MapLibre layer (
decoder: 'bvc'):Example
Inject an instance directly to pin the main-thread backend or override the wasm source (e.g. cross-origin, with bytes you already fetched):
Example