From b8d052f5c47424d45319b73d01d0073517a032a4 Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Thu, 20 Aug 2026 08:53:13 +0300 Subject: [PATCH] refactor(vue): normalize canvas interaction domains --- .../src/canvas/{guide-input/use.ts => guides/input.ts} | 0 .../src/canvas/{node-edit-input => node-edit}/bend.ts | 0 .../{node-edit-input/use.ts => node-edit/input.ts} | 2 +- packages/vue/src/canvas/{pen-input => pen}/drag.ts | 0 .../vue/src/canvas/{pen-input/use.ts => pen/input.ts} | 2 +- packages/vue/src/canvas/tool-input/index.ts | 1 - .../src/canvas/{tool-input/use.ts => tools/input.ts} | 2 +- .../canvas/{transform-input => transform}/actions.ts | 8 ++++---- .../{transform-input/use.ts => transform/input.ts} | 2 +- .../canvas/{transform-input => transform}/marquee.ts | 0 .../src/canvas/{transform-input => transform}/pan.ts | 0 .../canvas/{transform-input => transform}/rotation.ts | 0 .../{transform-input => transform}/text-selection.ts | 0 packages/vue/src/canvas/useCanvasInput.ts | 10 +++++----- 14 files changed, 13 insertions(+), 14 deletions(-) rename packages/vue/src/canvas/{guide-input/use.ts => guides/input.ts} (100%) rename packages/vue/src/canvas/{node-edit-input => node-edit}/bend.ts (100%) rename packages/vue/src/canvas/{node-edit-input/use.ts => node-edit/input.ts} (98%) rename packages/vue/src/canvas/{pen-input => pen}/drag.ts (100%) rename packages/vue/src/canvas/{pen-input/use.ts => pen/input.ts} (99%) delete mode 100644 packages/vue/src/canvas/tool-input/index.ts rename packages/vue/src/canvas/{tool-input/use.ts => tools/input.ts} (96%) rename packages/vue/src/canvas/{transform-input => transform}/actions.ts (90%) rename packages/vue/src/canvas/{transform-input/use.ts => transform/input.ts} (57%) rename packages/vue/src/canvas/{transform-input => transform}/marquee.ts (100%) rename packages/vue/src/canvas/{transform-input => transform}/pan.ts (100%) rename packages/vue/src/canvas/{transform-input => transform}/rotation.ts (100%) rename packages/vue/src/canvas/{transform-input => transform}/text-selection.ts (100%) diff --git a/packages/vue/src/canvas/guide-input/use.ts b/packages/vue/src/canvas/guides/input.ts similarity index 100% rename from packages/vue/src/canvas/guide-input/use.ts rename to packages/vue/src/canvas/guides/input.ts diff --git a/packages/vue/src/canvas/node-edit-input/bend.ts b/packages/vue/src/canvas/node-edit/bend.ts similarity index 100% rename from packages/vue/src/canvas/node-edit-input/bend.ts rename to packages/vue/src/canvas/node-edit/bend.ts diff --git a/packages/vue/src/canvas/node-edit-input/use.ts b/packages/vue/src/canvas/node-edit/input.ts similarity index 98% rename from packages/vue/src/canvas/node-edit-input/use.ts rename to packages/vue/src/canvas/node-edit/input.ts index 94ab083ba..18ed70538 100644 --- a/packages/vue/src/canvas/node-edit-input/use.ts +++ b/packages/vue/src/canvas/node-edit/input.ts @@ -7,7 +7,7 @@ import { handleBendHandleMove, resolveBendTargetHandle, type CanvasNodeEditMethods -} from '#vue/canvas/node-edit-input/bend' +} from '#vue/canvas/node-edit/bend' import { hitTestEditHandle, isEndpoint, NODE_HIT_THRESHOLD } from '#vue/shared/input/node-edit' import type { DragState } from '#vue/shared/input/types' diff --git a/packages/vue/src/canvas/pen-input/drag.ts b/packages/vue/src/canvas/pen/drag.ts similarity index 100% rename from packages/vue/src/canvas/pen-input/drag.ts rename to packages/vue/src/canvas/pen/drag.ts diff --git a/packages/vue/src/canvas/pen-input/use.ts b/packages/vue/src/canvas/pen/input.ts similarity index 99% rename from packages/vue/src/canvas/pen-input/use.ts rename to packages/vue/src/canvas/pen/input.ts index 3d11900c7..189b2c53f 100644 --- a/packages/vue/src/canvas/pen-input/use.ts +++ b/packages/vue/src/canvas/pen/input.ts @@ -3,7 +3,7 @@ import type { Ref } from 'vue' import { PEN_CLOSE_THRESHOLD } from '@open-pencil/core/constants' import type { Editor } from '@open-pencil/core/editor' -import { createPenDrag, handlePenDragMove } from '#vue/canvas/pen-input/drag' +import { createPenDrag, handlePenDragMove } from '#vue/canvas/pen/drag' import { handlePenNodeEditDown } from '#vue/shared/input/node-edit' import type { DragState } from '#vue/shared/input/types' diff --git a/packages/vue/src/canvas/tool-input/index.ts b/packages/vue/src/canvas/tool-input/index.ts deleted file mode 100644 index b05b352fb..000000000 --- a/packages/vue/src/canvas/tool-input/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { handleToolMouseDown, startPanDrag } from './use' diff --git a/packages/vue/src/canvas/tool-input/use.ts b/packages/vue/src/canvas/tools/input.ts similarity index 96% rename from packages/vue/src/canvas/tool-input/use.ts rename to packages/vue/src/canvas/tools/input.ts index 3d3a81843..2d87b1df4 100644 --- a/packages/vue/src/canvas/tool-input/use.ts +++ b/packages/vue/src/canvas/tools/input.ts @@ -2,7 +2,7 @@ import type { Ref } from 'vue' import type { Editor } from '@open-pencil/core/editor' -import { startPenInput } from '#vue/canvas/pen-input/use' +import { startPenInput } from '#vue/canvas/pen/input' import { startShapeDraw, startTextDraw } from '#vue/shared/input/draw' import { startPanDrag } from '#vue/shared/input/pan' import { handleSelectDown } from '#vue/shared/input/select' diff --git a/packages/vue/src/canvas/transform-input/actions.ts b/packages/vue/src/canvas/transform/actions.ts similarity index 90% rename from packages/vue/src/canvas/transform-input/actions.ts rename to packages/vue/src/canvas/transform/actions.ts index 6d06d9d48..0900d9687 100644 --- a/packages/vue/src/canvas/transform-input/actions.ts +++ b/packages/vue/src/canvas/transform/actions.ts @@ -1,12 +1,12 @@ import type { Editor } from '@open-pencil/core/editor' -import { handleMarqueeMove as handleMarqueeMoveAction } from '#vue/canvas/transform-input/marquee' -import { handlePanMove as handlePanMoveAction } from '#vue/canvas/transform-input/pan' +import { handleMarqueeMove as handleMarqueeMoveAction } from '#vue/canvas/transform/marquee' +import { handlePanMove as handlePanMoveAction } from '#vue/canvas/transform/pan' import { handleRotateMove as handleRotateMoveAction, tryStartRotation as tryStartRotationAction -} from '#vue/canvas/transform-input/rotation' -import { handleTextSelectMove as handleTextSelectMoveAction } from '#vue/canvas/transform-input/text-selection' +} from '#vue/canvas/transform/rotation' +import { handleTextSelectMove as handleTextSelectMoveAction } from '#vue/canvas/transform/text-selection' import type { DragMarquee, DragPan, DragRotate, DragState } from '#vue/shared/input/types' type CanvasToLocal = (cx: number, cy: number, scopeId: string) => { lx: number; ly: number } diff --git a/packages/vue/src/canvas/transform-input/use.ts b/packages/vue/src/canvas/transform/input.ts similarity index 57% rename from packages/vue/src/canvas/transform-input/use.ts rename to packages/vue/src/canvas/transform/input.ts index d824683e4..d2cda6475 100644 --- a/packages/vue/src/canvas/transform-input/use.ts +++ b/packages/vue/src/canvas/transform/input.ts @@ -1 +1 @@ -export { createTransformInputActions as createCanvasTransformInput } from '#vue/canvas/transform-input/actions' +export { createTransformInputActions as createCanvasTransformInput } from '#vue/canvas/transform/actions' diff --git a/packages/vue/src/canvas/transform-input/marquee.ts b/packages/vue/src/canvas/transform/marquee.ts similarity index 100% rename from packages/vue/src/canvas/transform-input/marquee.ts rename to packages/vue/src/canvas/transform/marquee.ts diff --git a/packages/vue/src/canvas/transform-input/pan.ts b/packages/vue/src/canvas/transform/pan.ts similarity index 100% rename from packages/vue/src/canvas/transform-input/pan.ts rename to packages/vue/src/canvas/transform/pan.ts diff --git a/packages/vue/src/canvas/transform-input/rotation.ts b/packages/vue/src/canvas/transform/rotation.ts similarity index 100% rename from packages/vue/src/canvas/transform-input/rotation.ts rename to packages/vue/src/canvas/transform/rotation.ts diff --git a/packages/vue/src/canvas/transform-input/text-selection.ts b/packages/vue/src/canvas/transform/text-selection.ts similarity index 100% rename from packages/vue/src/canvas/transform-input/text-selection.ts rename to packages/vue/src/canvas/transform/text-selection.ts diff --git a/packages/vue/src/canvas/useCanvasInput.ts b/packages/vue/src/canvas/useCanvasInput.ts index e5df8b02c..cb9be0c15 100644 --- a/packages/vue/src/canvas/useCanvasInput.ts +++ b/packages/vue/src/canvas/useCanvasInput.ts @@ -4,17 +4,17 @@ import { onScopeDispose, ref, type Ref } from 'vue' import type { Editor } from '@open-pencil/core/editor' import type { SceneNode } from '@open-pencil/scene-graph' -import { createGuideInput } from '#vue/canvas/guide-input/use' +import { createGuideInput } from '#vue/canvas/guides/input' import { handleBendHandleMove, handleNodeEditMouseUp, updateNodeEditHover -} from '#vue/canvas/node-edit-input/use' -import { handlePenDragMove, updatePenHover } from '#vue/canvas/pen-input/use' +} from '#vue/canvas/node-edit/input' +import { handlePenDragMove, updatePenHover } from '#vue/canvas/pen/input' import { createCanvasPointer } from '#vue/canvas/pointer/use' import { createTextEditInput } from '#vue/canvas/text-edit/input' -import { handleToolMouseDown } from '#vue/canvas/tool-input/use' -import { createCanvasTransformInput } from '#vue/canvas/transform-input/use' +import { handleToolMouseDown } from '#vue/canvas/tools/input' +import { createCanvasTransformInput } from '#vue/canvas/transform/input' import { resolveAutoLayoutHover } from '#vue/shared/input/auto-layout-hover' import { createClickCounter } from '#vue/shared/input/click-count' import { handleDrawMove, handleDrawUp } from '#vue/shared/input/draw'