Load a dataset and initialize the scene-dependent UI in the order
the orchestrator originally used. The sequence is part of observable
behaviour (e.g. setSceneId must precede loadSceneData so persisted
settings reach materials at construction time), so this helper keeps
the steps strictly in order.
Each per-overlay / per-system init step is supplied as a callback so
the helper composes the orchestrator's other delegate methods without
the helper needing to know how they're implemented internally.
isStale is checked after every await: a load whose app was disposed (or
disposed and re-initialized) meanwhile stops there instead of running its
tail against a torn-down — or a newer — lifetime.
Load a dataset and initialize the scene-dependent UI in the order the orchestrator originally used. The sequence is part of observable behaviour (e.g. setSceneId must precede loadSceneData so persisted settings reach materials at construction time), so this helper keeps the steps strictly in order.
Each per-overlay / per-system init step is supplied as a callback so the helper composes the orchestrator's other delegate methods without the helper needing to know how they're implemented internally.
isStaleis checked after every await: a load whose app was disposed (or disposed and re-initialized) meanwhile stops there instead of running its tail against a torn-down — or a newer — lifetime.