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 _updateAbortController, 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).
Optionalsession: UpdateSessionOptionalsession: UpdateSessionAggregate visible counts from all line + gsplat meshes into the monitor.
Release the SceneLoader's _updateInProgress 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.