From 8651396048de0294b0c463f225aff5be95f2d95d Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:54:56 +1000 Subject: [PATCH] feat(ui) do not set $canvasManager until ready --- .../src/features/controlLayers/components/StageComponent.tsx | 3 +-- .../web/src/features/controlLayers/konva/CanvasManager.ts | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StageComponent.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StageComponent.tsx index 5fb20b6fd7..f374988277 100644 --- a/invokeai/frontend/web/src/features/controlLayers/components/StageComponent.tsx +++ b/invokeai/frontend/web/src/features/controlLayers/components/StageComponent.tsx @@ -5,7 +5,7 @@ import { logger } from 'app/logging/logger'; import { useAppStore } from 'app/store/nanostores/store'; import { useAppSelector } from 'app/store/storeHooks'; import { HeadsUpDisplay } from 'features/controlLayers/components/HeadsUpDisplay'; -import { $canvasManager, CanvasManager } from 'features/controlLayers/konva/CanvasManager'; +import { CanvasManager } from 'features/controlLayers/konva/CanvasManager'; import { TRANSPARENCY_CHECKER_PATTERN } from 'features/controlLayers/konva/constants'; import Konva from 'konva'; import { memo, useCallback, useEffect, useLayoutEffect, useState } from 'react'; @@ -38,7 +38,6 @@ const useStageRenderer = (stage: Konva.Stage, container: HTMLDivElement | null, } const manager = new CanvasManager(stage, container, store, socket); - $canvasManager.set(manager); console.log(manager); const cleanup = manager.initialize(); return cleanup; diff --git a/invokeai/frontend/web/src/features/controlLayers/konva/CanvasManager.ts b/invokeai/frontend/web/src/features/controlLayers/konva/CanvasManager.ts index cb583b4191..a4aad8c9d9 100644 --- a/invokeai/frontend/web/src/features/controlLayers/konva/CanvasManager.ts +++ b/invokeai/frontend/web/src/features/controlLayers/konva/CanvasManager.ts @@ -454,6 +454,10 @@ export class CanvasManager { this.log.debug('Arranging entities'); await this.arrangeEntities(); } + + if (isFirstRender) { + $canvasManager.set(this); + } }; initialize = () => {