Live camera accessor. A getter rather than a value because a host may swap camera objects (a perspective/ortho toggle), and a captured reference would keep projecting from the abandoned one.
Live viewport accessor, in CSS pixels. Read on resize and per LOD evaluation.
Host scene. The layer adds its root group on LuxarLayer.load and removes it on LuxarLayer.dispose.
OptionalrequestCalled when new geometry commits outside the host's own interaction — progressive refinement, lazy LOD loads, retries — and from LuxarLayer.update when a frame's sort / LOD evaluation changed what is drawn (a fade advances one step per frame). Hosts with an on-demand render loop must wire this or late commits will not repaint and fades freeze. Hosts that render continuously can omit it.
OptionalloaderCache and prefetch flags forwarded to the data loader.
OptionalgpuSession-wide GPU geometry budget in bytes. null auto-sizes from device
memory, measured heap, and device class; 0 disables byte-budget eviction,
and a positive value pins the budget. Defaults to
config.dataLoading.performance.gpuPoolMaxBytes. Page-wide: the first
Luxar host to configure it wins (a later value is ignored with a warning),
and each host evicts against it separately (see the README's multi-host
notes).
OptionalwasmOverride for bundlers that can't resolve import.meta.url asset URLs.
OptionalworkerSame, for the data worker.
OptionallodCross-fade adjacent replacement LOD levels. Default true.
OptionallodCompensate incomplete stream ladders by committed energy. Default true.
OptionallodForce the finest replacement LOD regardless of coverage. Default false.
OptionallodReplacement-LOD bias in screen-area units. Non-finite or non-positive
values are treated as the neutral 1. Default 1.
OptionaldensityProjected-density guard: thin blendable nodes that pack more elements per
drawing-buffer pixel than config.densityGuard allows (brightness
compensated), and hold back refinement rungs that would push a node past
it. Default true (and only while config.densityGuard.enabled).
OptionaldensitySession-only override of the density guard's blendable cap (elements per
drawing-buffer pixel), as LuxarAppOptions.densityCap. Undefined ⇒
config.densityGuard.capElementsPerPixel.
OptionalblendWebGL blend-program warm-up, as LuxarAppOptions.blendWarmup. Default
true on laptops/desktops; always off on phones/tablets and under WebGPU.
OptionaldepthWorker-based back-to-front sorting for order-dependent geometry. Default
true. false also skips the per-frame cross-node order pass (authored
cross-layer bands, physical glass drawn first), which needs the
coordinator's camera: the layer's nodes draw in plain three.js order.
OptionalrenderrenderOrder stamped onto every Group in the layer subtree. Three.js uses
the nearest Group's value as the primary transparent-sort key, so nested
scene / LOD / partition groups must agree. Default 10.
Host-owned renderer. The layer never constructs, resizes, clears, or disposes it — it only reads capabilities and the drawing-buffer size.