Initialize studio controller refs before UI boot

This commit is contained in:
Andraxion 2026-06-27 04:51:55 -04:00
parent 7727676e31
commit 091c0102da
2 changed files with 24 additions and 14 deletions

View file

@ -4755,14 +4755,16 @@ export function startWorldshaperStudio(bootstrap: WorldshaperStudioBootstrap, in
worldRuntimeState,
syncWorldNeighborhoodForViewport,
drawNow,
setControllerRefs: (controllerRefs) => {
historyController = controllerRefs.historyController;
npcController = controllerRefs.npcController;
sidebarController = controllerRefs.sidebarController;
renderController = controllerRefs.renderController;
persistenceController = controllerRefs.persistenceController;
importController = controllerRefs.importController;
interactionController = controllerRefs.interactionController;
},
});
historyController = runtimeControllerBootstrap.historyController;
npcController = runtimeControllerBootstrap.npcController;
sidebarController = runtimeControllerBootstrap.sidebarController;
renderController = runtimeControllerBootstrap.renderController;
persistenceController = runtimeControllerBootstrap.persistenceController;
importController = runtimeControllerBootstrap.importController;
interactionController = runtimeControllerBootstrap.interactionController;
statusLogWindowController = runtimeControllerBootstrap.statusLogWindowController;
runtimeLogging.setStatusLogWindowController(statusLogWindowController);
}

View file

@ -48,6 +48,7 @@ export function initializeRuntimeControllers(config) {
worldRuntimeState,
syncWorldNeighborhoodForViewport,
drawNow,
setControllerRefs,
} = config;
const toolWindowController = createToolWindowController(scope);
@ -150,6 +151,19 @@ export function initializeRuntimeControllers(config) {
const persistenceController = createPersistenceController(scope);
const importController = createImportController(scope);
const interactionController = createInteractionController(scope);
const controllerRefs = {
historyController,
npcController,
sidebarController,
renderController,
persistenceController,
importController,
interactionController,
};
if (typeof setControllerRefs === "function") {
setControllerRefs(controllerRefs);
}
const persistPopupBoundsDeferred = createDebouncedCallback(() => {
persistPopupBounds();
@ -193,13 +207,7 @@ export function initializeRuntimeControllers(config) {
});
return {
historyController,
npcController,
sidebarController,
renderController,
persistenceController,
importController,
interactionController,
...controllerRefs,
statusLogWindowController,
changelogSplashWindowController,
persistPopupBoundsDeferred,