diff --git a/src/composables/element/useCanvasPositionConversion.ts b/src/composables/element/useCanvasPositionConversion.ts index e8cb7a9ee..77e86ddec 100644 --- a/src/composables/element/useCanvasPositionConversion.ts +++ b/src/composables/element/useCanvasPositionConversion.ts @@ -16,8 +16,8 @@ export const useCanvasPositionConversion = ( const clientPosToCanvasPos = (pos: Vector2): Vector2 => { const { offset, scale } = lgCanvas.ds return [ - (pos[0] - left.value) / scale + offset[0], - (pos[1] - top.value) / scale + offset[1] + (pos[0] - left.value) / scale - offset[0], + (pos[1] - top.value) / scale - offset[1] ] } diff --git a/src/composables/useCanvasDrop.ts b/src/composables/useCanvasDrop.ts index 37925a5ff..1948b13d3 100644 --- a/src/composables/useCanvasDrop.ts +++ b/src/composables/useCanvasDrop.ts @@ -29,12 +29,10 @@ export const useCanvasDrop = (canvasRef: Ref) => { const node = dndData.data as RenderedTreeExplorerNode if (node.data instanceof ComfyNodeDefImpl) { const nodeDef = node.data - // Add an offset on x to make sure after adding the node, the cursor + const pos = comfyApp.clientPosToCanvasPos([loc.clientX, loc.clientY]) + // Add an offset on y to make sure after adding the node, the cursor // is on the node (top left corner) - const pos = comfyApp.clientPosToCanvasPos([ - loc.clientX, - loc.clientY + LiteGraph.NODE_TITLE_HEIGHT - ]) + pos[1] += LiteGraph.NODE_TITLE_HEIGHT litegraphService.addNodeOnGraph(nodeDef, { pos }) } else if (node.data instanceof ComfyModelDef) { const model = node.data