SDK JS
    Preparing search index...

    Class WorkerLepccI3sPointCloudDecoder

    Off-main-thread I3sPointCloudDecoder for native Esri I3S point-cloud (PCSL) services — the recommended LEPCC decode path. Fans node decodes out to a WorkerPool; projection + requantization into the shared ENU grid run in the worker too, and concurrency is reported so the engine sizes its decode queue to keep every worker busy. Tiles whose context carries a reproject hook (a non-cloneable function, i.e. projected-CRS scenes) fall back to a main-thread LepccI3sPointCloudDecoder.

    import { WorkerLepccI3sPointCloudDecoder } from '@bitruvius/turbo-lepcc';
    import { I3sPointCloudLayer } from '@bitruvius/sdk-maplibre';

    const decoder = new WorkerLepccI3sPointCloudDecoder();
    map.addLayer(new I3sPointCloudLayer(serviceUrl, { decoder }));
    // …later, when removing the layer, release the worker pool:
    decoder.dispose();

    Implements

    • I3sPointCloudDecoder
    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    concurrency: number

    Worker pool size — the engine sizes its decode concurrency to match this.

    Methods

    • Decode + project one I3S point node, on a worker thread where possible.

      Parameters

      • blobs: I3sNodeBlobs

        The node's geometry blob plus its per-attribute blobs; see I3sNodeBlobs. The geometry and attribute buffers are transferred to the worker (not copied), so they must not be reused after this call.

      • ctx: I3sDecodeContext

        Per-node decode context; see I3sDecodeContext. A ctx with a reproject hook is decoded on the main thread instead.

      Returns Promise<PackedPointTile>

      A PackedPointTile (positions in the shared ENU grid plus any decoded attribute channels).

      If a blob is malformed or the decoder wasm fails to initialize in the worker.

    • Release the worker pool and its workers. Call when the layer/engine using this decoder is removed. Idempotent; a later decode lazily respawns the pool.

      Returns void