Scene objects already resolved by the phase eligibility sweep.
OptionalprofilerProfiler for background-pass accounting. Each per-loader refinement step opens a 'LOD Refinement' pass root (its own persistent tree, separate from 'Total Update') with a per-node child session threaded through load → process → commit.
OptionalsignalPer-refinement-run abort signal. The orchestrator assigns the run's
controller to the SceneLoader's live controller (PassScheduler.controller), so a
superseding updateView (or dispose) aborts in-flight refinement
chunk reads MID-PASS instead of waiting out the whole pass. An
AbortError in the per-loader catch is cancellation, not failure.
OptionalresidencyShared residency ceiling for sweep-registered progressive leaves. Absent = unbounded (today's behaviour).
signal is the refinement run's abort signal (a superseded run rejects promptly).
Optionalsession: UpdateSessionOptionalsignal: AbortSignalOptionalsession: UpdateSessionAggregate visible counts from all line + gsplat meshes into the monitor.
Release the SceneLoader's serialization lock. Called when the loop completes normally (no more LODs). On cancellation the loop hands off the lock to retriggerUpdate's rAF callback instead.
Re-enter SceneLoader.updateView() with the pending state. Called once on cancellation; this callback is responsible for releasing the lock AND triggering the new update (typically at the next rAF boundary so the cancelled paint resolves first).
OptionalisLiveness check; false once the owning SceneLoader was disposed.
Bundle of host references the refinement loop needs. Kept narrow so the loop can be tested with a stub.