Loader configuration (cache flags, prefetch flags).
Current view state — read after initializeSceneDimensions for logging.
Active per-type loader maps for the post-load monitor wiring.
Mesh loaders, for the post-load refinement kick and the monitor's LOD-progress provider.
Deliberately NOT passed to reportLoadOutcome below, which has never
carried mesh — widening the load-outcome grading is a separate change with
its own observable output. The refinement kick is needed because a mesh
reveal ladder commits only its first level during loadScene, so without it
the surface would sit at that first patch until the user moved a slider; the
LOD-progress provider is needed because the scene-graph converter stamps
additiveSublods on a laddered mesh parent, and a node with that stamp but
no live loader state renders as LOD -/N ("not streaming") throughout.
Current GPU buffer pool reference (may be null when disabled).
Current monitor reference.
Profiler reference.
LOD-group registry for the live LOD-progress provider (substitutive levels).
Validate scene_dimensions blob and update the loader's viewState.
Implementation in initialize-scene-dimensions.ts; the orchestrator
writes the result back to its own viewState field.
Build the NodeBuildCtx used by the recursive scene-graph walk.
Built once before loadSceneNodes runs so the leaves all see the
same viewState snapshot.
Stats helper used by the post-load monitor wiring.
Registered failed-load paths — graded against the registered path set by
reportLoadOutcome to log an honest load outcome.
Recorded failure messages in the same encounter order as the paths.
The shared failed-loads provider (paths + retry-all + per-path reason). Single construction point so the monitor banner and the layers-panel error badge read the same live failure set.
OptionalrefinementWhy this path's next rung is held back, if it is (SceneLoader. refinementHoldReason: density gate or residency ceiling); the monitor
marks such rungs as held rather than streaming. Optional so headless test
contexts need not supply it.
Geometry kinds with a sweep-registered loader that has rungs left to stream.
Take the serialization lock and run the progressive refinement drain
(PassScheduler.startRefinement), which releases it — and, should the
orchestrator glue die, releases it and drains what queued meanwhile.
Hand the started scene-identity watchdog to the orchestrator, which owns its disposal (dataset switch / teardown).
Resolved per-tier cache budgets (for the Settings popover readout).
Narrow context the load-scene path needs. Captures the orchestrator's mutable resource references via getter callbacks so the helper can read the latest snapshot of
gpuBufferPool/monitor/ etc., and uses explicit setters to write the new dataset-scoped resources back.