OptionalbaseOptional base URL used by formats that reference external resources
(e.g. glTF's separate .bin and texture files). When set, the loader
resolves relative URIs in the model file against this base — set this
to the directory the model lives in.
OptionalcoordinateDescribes the coordinate system of the model to load.
When provided, this enables the loader to automatically transform the model from its local oordinate system to the Scene's global coordinate system.
OptionalintensityWhen a scan has no RGB color but does carry intensity, map intensity to a
grayscale color (normalised across the scan). Off by default.
OptionallayerOptional layer ID assigned to every SceneObject the loader creates (one per scan).
OptionalonOptional progress callback. Loaders fire this from inside their hot loops at roughly 60 Hz (paced by the same yieldToHost interval that keeps the main thread responsive). UIs subscribe to drive a progress bar / phase label / cancellable dialog.
The callback receives a LoaderProgress object literal. Loaders may reuse the same object across emits — copy out any fields you need to retain past the synchronous call.
OptionalprogressiveWhen false (the default), the SceneModel is marked
building for the duration of the
load, so a connected renderer suspends per-frame uploads + draws until the
model is fully assembled and then renders it once — fastest time to the
first frame showing the whole model, but the view is static during the load
(no progressive reveal, no camera interaction).
Set true to render the model incrementally as it loads (progressive
reveal), at the cost of redundant mid-load frames.
Has no effect when no renderer is attached.
OptionalsignalOptional AbortSignal. Loaders that have been swept to
cooperative-yield (every modern parser in formats/)
check signal.aborted at every yield point and throw a
DOMException("Aborted", "AbortError") when the caller
cancels — combine with the signal your UI uses for the
Cancel button on a load dialog.
Loaders that pre-date the sweep ignore this field and run to completion regardless — passing it is safe in either case.
OptionalskipKeep every skip-th valid point (decimation for large scans). Defaults to 1
(keep every point).
OptionalyieldMinimum gap (in milliseconds) between cooperative yields
during the load. The default of 16ms (≈ 60 Hz) keeps the UI
fully responsive but pays the setTimeout(0) overhead
(~4 ms per yield on most browsers) on every animation
frame, which adds up across a long load. Raising this to
50–100ms cuts that overhead and noticeably speeds up large
loads, at the cost of progress-bar / paint updates landing
at 10–20 Hz instead of 60 Hz.
Values under 16ms are clamped to 16ms — going below the default doesn't increase perceived smoothness and only adds yield overhead.
Loaders that pre-date the cooperative-yield sweep ignore this field; passing it is safe in either case.
Options for E57Loader.load.
For detailed usage, refer to @xeokit/sdk/formats/e57.