From f821d12cdfa03b56522b8a07d32c2aa3f7f4348b Mon Sep 17 00:00:00 2001 From: CrossPr0duct Date: Mon, 24 Feb 2025 21:02:19 -0500 Subject: [PATCH] Fixed State Issues, should be good to go. --- frontend/realtime/src/KonvaApp/Engine.ts | 3 ++- .../src/KonvaApp/EngineUtitlities/CommandManager.ts | 2 +- .../KonvaApp/RenderingPrimitives/RealTimeDrawEngine.ts | 10 +++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/realtime/src/KonvaApp/Engine.ts b/frontend/realtime/src/KonvaApp/Engine.ts index 1eff1149b6..e0a8134538 100644 --- a/frontend/realtime/src/KonvaApp/Engine.ts +++ b/frontend/realtime/src/KonvaApp/Engine.ts @@ -379,7 +379,7 @@ export class Engine { // Listen to Toolbar Main uiEvents.toolbarMain.UNDO.onClick(() => this.undoStackManager.undo()); uiEvents.toolbarMain.REDO.onClick(() => this.undoStackManager.redo()); - + uiEvents.toolbarMain.SAVE.onClick(async (/*event*/) => { await this.realTimeDrawEngine.saveOutput(); }); @@ -467,6 +467,7 @@ export class Engine { }); uiEvents.onAddShapeToEngine((shapeData) => { + this.setAppMode(AppModes.SELECT); switch (shapeData.shape) { case "circle": this.addShape(ShapeType.CIRCLE, 100); diff --git a/frontend/realtime/src/KonvaApp/EngineUtitlities/CommandManager.ts b/frontend/realtime/src/KonvaApp/EngineUtitlities/CommandManager.ts index 012e1e23ea..f4a67bfd65 100644 --- a/frontend/realtime/src/KonvaApp/EngineUtitlities/CommandManager.ts +++ b/frontend/realtime/src/KonvaApp/EngineUtitlities/CommandManager.ts @@ -50,7 +50,7 @@ export class CommandManager { } createNode(node: MediaNode) { - console.log("CREATE?!?!?!?!") + const command = new CreateCommand({ nodes: new Set([node]), mediaLayerRef: this.mediaLayerRef, diff --git a/frontend/realtime/src/KonvaApp/RenderingPrimitives/RealTimeDrawEngine.ts b/frontend/realtime/src/KonvaApp/RenderingPrimitives/RealTimeDrawEngine.ts index dd9d1a7da2..c5f2e29758 100644 --- a/frontend/realtime/src/KonvaApp/RenderingPrimitives/RealTimeDrawEngine.ts +++ b/frontend/realtime/src/KonvaApp/RenderingPrimitives/RealTimeDrawEngine.ts @@ -376,7 +376,7 @@ export class RealTimeDrawEngine { }); } - public findImageNodeById(id: string): (ImageNode | TextNode | ShapeNode | undefined) { + public findImageNodeById(id: string): (ImageNode | TextNode | ShapeNode | PaintNode | undefined) { return this.imageNodes.find(node => { if (node.kNode) { return node.kNode.id() === id; @@ -528,8 +528,6 @@ export class RealTimeDrawEngine { await this.render(); }; - - public async addNodes(node: MediaNode) { if (node instanceof ImageNode || node instanceof TextNode || @@ -541,6 +539,12 @@ export class RealTimeDrawEngine { console.log(this.imageNodes) node.kNode.on("dragend", this.handleNodeDragEnd); } + + // ensure the layer doesn't move if added while painting. + if (this.isEnabled) { + this.disableDragging(); + } + await this.render(); }