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, worldRuntimeState,
syncWorldNeighborhoodForViewport, syncWorldNeighborhoodForViewport,
drawNow, 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; statusLogWindowController = runtimeControllerBootstrap.statusLogWindowController;
runtimeLogging.setStatusLogWindowController(statusLogWindowController); runtimeLogging.setStatusLogWindowController(statusLogWindowController);
} }

View file

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