@agent-native/toolkit 0.11.2 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +19 -0
  2. package/agent-native.eject.json +38 -0
  3. package/dist/canvas-annotations/CanvasCommentPins.d.ts +68 -0
  4. package/dist/canvas-annotations/CanvasCommentPins.d.ts.map +1 -0
  5. package/dist/canvas-annotations/CanvasCommentPins.js +513 -0
  6. package/dist/canvas-annotations/CanvasCommentPins.js.map +1 -0
  7. package/dist/canvas-annotations/DrawOverlay.d.ts +108 -0
  8. package/dist/canvas-annotations/DrawOverlay.d.ts.map +1 -0
  9. package/dist/canvas-annotations/DrawOverlay.js +746 -0
  10. package/dist/canvas-annotations/DrawOverlay.js.map +1 -0
  11. package/dist/canvas-annotations/DrawOverlay.spec.d.ts +2 -0
  12. package/dist/canvas-annotations/DrawOverlay.spec.d.ts.map +1 -0
  13. package/dist/canvas-annotations/DrawOverlay.spec.js +111 -0
  14. package/dist/canvas-annotations/DrawOverlay.spec.js.map +1 -0
  15. package/dist/canvas-annotations/index.d.ts +4 -0
  16. package/dist/canvas-annotations/index.d.ts.map +1 -0
  17. package/dist/canvas-annotations/index.js +3 -0
  18. package/dist/canvas-annotations/index.js.map +1 -0
  19. package/dist/canvas-annotations/types.d.ts +8 -0
  20. package/dist/canvas-annotations/types.d.ts.map +1 -0
  21. package/dist/canvas-annotations/types.js +2 -0
  22. package/dist/canvas-annotations/types.js.map +1 -0
  23. package/dist/canvas-interactions/canvas-interactions.d.ts +334 -0
  24. package/dist/canvas-interactions/canvas-interactions.d.ts.map +1 -0
  25. package/dist/canvas-interactions/canvas-interactions.js +451 -0
  26. package/dist/canvas-interactions/canvas-interactions.js.map +1 -0
  27. package/dist/canvas-interactions/canvas-interactions.spec.d.ts +2 -0
  28. package/dist/canvas-interactions/canvas-interactions.spec.d.ts.map +1 -0
  29. package/dist/canvas-interactions/canvas-interactions.spec.js +538 -0
  30. package/dist/canvas-interactions/canvas-interactions.spec.js.map +1 -0
  31. package/dist/canvas-interactions/index.d.ts +2 -0
  32. package/dist/canvas-interactions/index.d.ts.map +1 -0
  33. package/dist/canvas-interactions/index.js +2 -0
  34. package/dist/canvas-interactions/index.js.map +1 -0
  35. package/dist/composer/runtime-adapters.d.ts.map +1 -1
  36. package/dist/composer/runtime-adapters.js +13 -10
  37. package/dist/composer/runtime-adapters.js.map +1 -1
  38. package/dist/composer/runtime-adapters.spec.d.ts +2 -0
  39. package/dist/composer/runtime-adapters.spec.d.ts.map +1 -0
  40. package/dist/composer/runtime-adapters.spec.js +54 -0
  41. package/dist/composer/runtime-adapters.spec.js.map +1 -0
  42. package/dist/design-tweaks/scrub-input-utils.d.ts +61 -0
  43. package/dist/design-tweaks/scrub-input-utils.d.ts.map +1 -0
  44. package/dist/design-tweaks/scrub-input-utils.js +235 -0
  45. package/dist/design-tweaks/scrub-input-utils.js.map +1 -0
  46. package/dist/design-tweaks/scrub-input.d.ts +66 -0
  47. package/dist/design-tweaks/scrub-input.d.ts.map +1 -0
  48. package/dist/design-tweaks/scrub-input.js +313 -0
  49. package/dist/design-tweaks/scrub-input.js.map +1 -0
  50. package/dist/design-tweaks/visual-style-controls.d.ts +2 -12
  51. package/dist/design-tweaks/visual-style-controls.d.ts.map +1 -1
  52. package/dist/design-tweaks/visual-style-controls.js +3 -107
  53. package/dist/design-tweaks/visual-style-controls.js.map +1 -1
  54. package/dist/design-tweaks/visual-style-controls.spec.js +26 -0
  55. package/dist/design-tweaks/visual-style-controls.spec.js.map +1 -1
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1 -0
  59. package/dist/index.js.map +1 -1
  60. package/package.json +29 -1
  61. package/src/canvas-annotations/CanvasCommentPins.tsx +861 -0
  62. package/src/canvas-annotations/DrawOverlay.spec.tsx +145 -0
  63. package/src/canvas-annotations/DrawOverlay.tsx +1233 -0
  64. package/src/canvas-annotations/index.ts +15 -0
  65. package/src/canvas-annotations/types.ts +14 -0
  66. package/src/canvas-interactions/canvas-interactions.spec.ts +688 -0
  67. package/src/canvas-interactions/canvas-interactions.ts +933 -0
  68. package/src/canvas-interactions/index.ts +67 -0
  69. package/src/composer/runtime-adapters.spec.tsx +83 -0
  70. package/src/composer/runtime-adapters.tsx +16 -11
  71. package/src/design-tweaks/scrub-input-utils.ts +311 -0
  72. package/src/design-tweaks/scrub-input.tsx +491 -0
  73. package/src/design-tweaks/visual-style-controls.spec.tsx +60 -0
  74. package/src/design-tweaks/visual-style-controls.tsx +23 -168
  75. package/src/index.ts +1 -0
@@ -0,0 +1,538 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { clientDeltaToCanvasDelta, clientPointToCanvasPoint, constrainCanvasDragDelta, createCanvasGestureController, createCanvasInteractionCore, createCanvasShortcutRegistry, hasCrossedCanvasDragThreshold, resizeCanvasRect, resolveCanvasEscape, resolveCanvasNudge, resolveCanvasShortcut, resolveCanvasTextActivation, shouldDuplicateCanvasDrag, } from "./canvas-interactions.js";
3
+ describe("canvas interaction conformance", () => {
4
+ it("allows app-specific single or double click text activation", () => {
5
+ expect(resolveCanvasTextActivation({ clickCount: 1, textEditable: true }, { activation: "single-click" })).toBe("edit");
6
+ expect(resolveCanvasTextActivation({ clickCount: 1, textEditable: true }, { activation: "double-click" })).toBe("select");
7
+ expect(resolveCanvasTextActivation({ clickCount: 2, textEditable: true }, { activation: "double-click" })).toBe("edit");
8
+ expect(resolveCanvasTextActivation({ clickCount: 2, textEditable: false })).toBe("select");
9
+ });
10
+ it("gives Escape editing precedence and selects the edited object", () => {
11
+ expect(resolveCanvasEscape({ editingObjectId: "title", selectedObjectIds: ["other"] }, { escapeBehavior: "select-object" })).toEqual({
12
+ action: "select-object",
13
+ editingObjectId: null,
14
+ selectedObjectIds: ["title"],
15
+ });
16
+ expect(resolveCanvasEscape({ editingObjectId: "title", selectedObjectIds: ["title"] }, { escapeBehavior: "cancel-edit" })).toMatchObject({ action: "cancel-edit", selectedObjectIds: ["title"] });
17
+ expect(resolveCanvasEscape({ editingObjectId: "title", selectedObjectIds: ["title"] }, { escapeBehavior: "clear-selection" })).toMatchObject({ action: "clear-selection", selectedObjectIds: [] });
18
+ expect(resolveCanvasEscape({ editingObjectId: null })).toMatchObject({
19
+ action: "none",
20
+ });
21
+ });
22
+ it("uses client-space drag thresholds and converts client coordinates at zoom", () => {
23
+ expect(hasCrossedCanvasDragThreshold({ x: 0, y: 0 }, { x: 2, y: 2 }, 3)).toBe(false);
24
+ expect(hasCrossedCanvasDragThreshold({ x: 0, y: 0 }, { x: 3, y: 0 }, 3)).toBe(true);
25
+ const viewport = { left: 100, top: 200, width: 960, height: 540 };
26
+ const canvas = { width: 1920, height: 1080 };
27
+ expect(clientPointToCanvasPoint({ x: 580, y: 470 }, viewport, canvas)).toEqual({
28
+ x: 960,
29
+ y: 540,
30
+ });
31
+ expect(clientDeltaToCanvasDelta({ x: 40, y: -20 }, viewport, canvas)).toEqual({
32
+ x: 80,
33
+ y: -40,
34
+ });
35
+ });
36
+ it("resizes all eight handles against their opposite edges", () => {
37
+ const start = { x: 100, y: 100, width: 200, height: 100 };
38
+ const cases = {
39
+ nw: {
40
+ delta: { x: -10, y: -20 },
41
+ rect: { x: 90, y: 80, width: 210, height: 120 },
42
+ },
43
+ n: {
44
+ delta: { x: 0, y: -20 },
45
+ rect: { x: 100, y: 80, width: 200, height: 120 },
46
+ },
47
+ ne: {
48
+ delta: { x: 10, y: -20 },
49
+ rect: { x: 100, y: 80, width: 210, height: 120 },
50
+ },
51
+ w: {
52
+ delta: { x: -10, y: 0 },
53
+ rect: { x: 90, y: 100, width: 210, height: 100 },
54
+ },
55
+ e: {
56
+ delta: { x: 10, y: 0 },
57
+ rect: { x: 100, y: 100, width: 210, height: 100 },
58
+ },
59
+ sw: {
60
+ delta: { x: -10, y: 20 },
61
+ rect: { x: 90, y: 100, width: 210, height: 120 },
62
+ },
63
+ s: {
64
+ delta: { x: 0, y: 20 },
65
+ rect: { x: 100, y: 100, width: 200, height: 120 },
66
+ },
67
+ se: {
68
+ delta: { x: 10, y: 20 },
69
+ rect: { x: 100, y: 100, width: 210, height: 120 },
70
+ },
71
+ };
72
+ for (const [handle, expected] of Object.entries(cases)) {
73
+ expect(resizeCanvasRect(start, {
74
+ handle: handle,
75
+ delta: expected.delta,
76
+ minWidth: 1,
77
+ minHeight: 1,
78
+ })).toEqual(expected.rect);
79
+ }
80
+ });
81
+ it("keeps midpoint resizing single-axis while Shift preserves corner aspect ratio", () => {
82
+ const start = { x: 100, y: 100, width: 200, height: 100 };
83
+ expect(resizeCanvasRect(start, {
84
+ handle: "se",
85
+ delta: { x: 60, y: 10 },
86
+ preserveAspectRatio: true,
87
+ })).toMatchObject({ width: 260, height: 130 });
88
+ expect(resizeCanvasRect(start, {
89
+ handle: "e",
90
+ delta: { x: 60, y: 10 },
91
+ preserveAspectRatio: true,
92
+ })).toMatchObject({ width: 260, height: 100 });
93
+ expect(constrainCanvasDragDelta({ x: 8, y: 3 }, true)).toEqual({
94
+ x: 8,
95
+ y: 0,
96
+ });
97
+ expect(constrainCanvasDragDelta({ x: 3, y: 8 }, true)).toEqual({
98
+ x: 0,
99
+ y: 8,
100
+ });
101
+ });
102
+ it("keeps aspect ratio and the opposite corner anchored at minimum size", () => {
103
+ expect(resizeCanvasRect({ x: 100, y: 100, width: 200, height: 100 }, {
104
+ handle: "nw",
105
+ delta: { x: 190, y: 90 },
106
+ preserveAspectRatio: true,
107
+ minWidth: 24,
108
+ minHeight: 24,
109
+ })).toEqual({ x: 252, y: 176, width: 48, height: 24 });
110
+ });
111
+ it("uses Alt duplication and standard arrow plus Shift-arrow nudges", () => {
112
+ expect(shouldDuplicateCanvasDrag({ altKey: true })).toBe(true);
113
+ expect(shouldDuplicateCanvasDrag({ metaKey: true })).toBe(false);
114
+ expect(shouldDuplicateCanvasDrag({ metaKey: true }, "meta")).toBe(true);
115
+ expect(resolveCanvasNudge({ key: "ArrowRight" })).toEqual({
116
+ command: "nudge-right",
117
+ delta: { x: 1, y: 0 },
118
+ });
119
+ expect(resolveCanvasNudge({ key: "ArrowUp", shiftKey: true })).toEqual({
120
+ command: "nudge-up",
121
+ delta: { x: 0, y: -10 },
122
+ });
123
+ expect(resolveCanvasNudge({ key: "Enter" })).toBeNull();
124
+ });
125
+ it("resolves semantic shortcuts without caring whether primary is Cmd or Ctrl", () => {
126
+ expect(resolveCanvasShortcut({ key: "d", metaKey: true })).toBe("duplicate");
127
+ expect(resolveCanvasShortcut({ key: "d", ctrlKey: true })).toBe("duplicate");
128
+ expect(resolveCanvasShortcut({ key: "d", altKey: true })).toBeNull();
129
+ expect(resolveCanvasShortcut({ key: "Delete" })).toBe("delete");
130
+ expect(resolveCanvasShortcut({
131
+ key: "}",
132
+ code: "BracketRight",
133
+ metaKey: true,
134
+ shiftKey: true,
135
+ })).toBe("arrange-front");
136
+ expect(resolveCanvasShortcut({
137
+ key: "{",
138
+ code: "BracketLeft",
139
+ ctrlKey: true,
140
+ shiftKey: true,
141
+ })).toBe("arrange-back");
142
+ const registry = createCanvasShortcutRegistry([
143
+ { command: "align-left", key: "l", modifiers: ["primary"] },
144
+ ]);
145
+ expect(registry.resolve({ key: "l", ctrlKey: true })).toBe("align-left");
146
+ expect(registry.resolve({ key: "d", ctrlKey: true })).toBeNull();
147
+ });
148
+ it("binds policy once and dispatches semantic commands through an app adapter", () => {
149
+ const dispatch = vi.fn();
150
+ const core = createCanvasInteractionCore({
151
+ textEditing: {
152
+ activation: "single-click",
153
+ escapeBehavior: "select-object",
154
+ },
155
+ drag: { threshold: 5, duplicateModifier: "alt" },
156
+ }, {
157
+ capabilities: {
158
+ selection: true,
159
+ multiSelection: true,
160
+ move: true,
161
+ resize: true,
162
+ textEditing: true,
163
+ nudge: true,
164
+ duplicate: true,
165
+ clipboard: true,
166
+ delete: true,
167
+ arrange: true,
168
+ snapping: true,
169
+ alignment: true,
170
+ distribution: true,
171
+ grouping: true,
172
+ rotation: true,
173
+ marquee: true,
174
+ },
175
+ dispatch: (command) => {
176
+ dispatch(command);
177
+ return { handled: true };
178
+ },
179
+ });
180
+ expect(core.textActivation({ clickCount: 1, textEditable: true })).toBe("edit");
181
+ expect(core.hasCrossedDragThreshold({ x: 0, y: 0 }, { x: 4, y: 0 })).toBe(false);
182
+ expect(core.shouldDuplicateDrag({ altKey: true })).toBe(true);
183
+ const result = core.dispatch({
184
+ id: "align-center",
185
+ objectIds: ["a", "b"],
186
+ });
187
+ expect(result).toEqual({ handled: true });
188
+ expect(dispatch).toHaveBeenCalledWith({
189
+ id: "align-center",
190
+ objectIds: ["a", "b"],
191
+ });
192
+ expect(core.capabilities.marquee).toBe(true);
193
+ expect(createCanvasInteractionCore().dispatch({ id: "delete" })).toEqual({
194
+ handled: false,
195
+ reason: "no-adapter",
196
+ });
197
+ });
198
+ it("does not report a disabled command as handled when an adapter receives it", () => {
199
+ const dispatch = vi.fn(() => ({ handled: true }));
200
+ const core = createCanvasInteractionCore({ capabilities: { delete: false } }, {
201
+ capabilities: DEFAULT_CAPABILITIES,
202
+ dispatch,
203
+ });
204
+ expect(core.dispatch({ id: "delete" })).toEqual({
205
+ handled: false,
206
+ reason: "unsupported",
207
+ });
208
+ expect(dispatch).not.toHaveBeenCalled();
209
+ });
210
+ it("does not expose direct text, duplicate, or nudge affordances disabled by an app", () => {
211
+ const core = createCanvasInteractionCore({
212
+ capabilities: {
213
+ textEditing: false,
214
+ duplicate: false,
215
+ nudge: false,
216
+ },
217
+ textEditing: { activation: "single-click" },
218
+ drag: { duplicateModifier: "alt" },
219
+ });
220
+ expect(core.textActivation({ clickCount: 1, textEditable: true })).toBe("select");
221
+ expect(core.shouldDuplicateDrag({ altKey: true })).toBe(false);
222
+ expect(core.nudge({ key: "ArrowRight" })).toBeNull();
223
+ });
224
+ it("commits one zoom-correct, Shift-locked Alt move after its threshold", () => {
225
+ const preview = vi.fn(() => ({ handled: true }));
226
+ const commit = vi.fn(() => ({ handled: true }));
227
+ const controller = createCanvasGestureController({
228
+ drag: { threshold: 3, duplicateModifier: "alt" },
229
+ adapter: { preview, commit },
230
+ });
231
+ const viewport = { left: 10, top: 20, width: 500, height: 250 };
232
+ const canvas = { width: 1000, height: 500 };
233
+ expect(controller.pointerDown({
234
+ kind: "move",
235
+ objectIds: ["title"],
236
+ pointer: { x: 100, y: 100, altKey: true },
237
+ viewport,
238
+ canvas,
239
+ })).toMatchObject({ accepted: true, state: { phase: "pending" } });
240
+ expect(controller.pointerMove({ x: 102, y: 101 })).toMatchObject({
241
+ phase: "pending",
242
+ });
243
+ expect(preview).not.toHaveBeenCalled();
244
+ expect(controller.pointerMove({ x: 120, y: 106, altKey: true, shiftKey: true })).toMatchObject({
245
+ phase: "active",
246
+ gesture: {
247
+ kind: "move",
248
+ canvasDelta: { x: 40, y: 0 },
249
+ duplicate: true,
250
+ },
251
+ });
252
+ const end = controller.pointerUp({
253
+ x: 140,
254
+ y: 112,
255
+ altKey: true,
256
+ shiftKey: true,
257
+ });
258
+ expect(end).toMatchObject({
259
+ committed: true,
260
+ gesture: {
261
+ kind: "move",
262
+ canvasDelta: { x: 80, y: 0 },
263
+ duplicate: true,
264
+ },
265
+ state: { phase: "idle" },
266
+ });
267
+ expect(preview).toHaveBeenCalledTimes(2);
268
+ expect(commit).toHaveBeenCalledTimes(1);
269
+ expect(commit).toHaveBeenLastCalledWith(expect.objectContaining({
270
+ kind: "move",
271
+ canvasDelta: { x: 80, y: 0 },
272
+ }));
273
+ });
274
+ it("resizes all geometry through the controller and cancels without committing", () => {
275
+ const preview = vi.fn(() => ({ handled: true }));
276
+ const commit = vi.fn(() => ({ handled: true }));
277
+ const cancel = vi.fn(() => ({ handled: true }));
278
+ const controller = createCanvasGestureController({
279
+ minSize: 24,
280
+ adapter: { preview, commit, cancel },
281
+ });
282
+ const start = {
283
+ kind: "resize",
284
+ objectIds: ["title"],
285
+ pointer: { x: 100, y: 100 },
286
+ viewport: { left: 0, top: 0, width: 500, height: 250 },
287
+ canvas: { width: 1000, height: 500 },
288
+ handle: "nw",
289
+ rect: { x: 100, y: 100, width: 200, height: 100 },
290
+ };
291
+ expect(controller.pointerDown(start)).toMatchObject({ accepted: true });
292
+ expect(controller.pointerMove({ x: 190, y: 190, shiftKey: true })).toMatchObject({
293
+ phase: "active",
294
+ gesture: {
295
+ kind: "resize",
296
+ rect: { x: 252, y: 176, width: 48, height: 24 },
297
+ },
298
+ });
299
+ const result = controller.cancel();
300
+ expect(result).toMatchObject({
301
+ cancelled: true,
302
+ gesture: {
303
+ kind: "resize",
304
+ startRect: start.rect,
305
+ rect: { x: 252, y: 176, width: 48, height: 24 },
306
+ },
307
+ state: { phase: "idle" },
308
+ });
309
+ expect(preview).toHaveBeenCalledTimes(1);
310
+ expect(cancel).toHaveBeenCalledTimes(1);
311
+ expect(commit).not.toHaveBeenCalled();
312
+ });
313
+ it("commits each of the eight resize handles through one common sequence", () => {
314
+ const expected = {
315
+ nw: { x: 60, y: 80, width: 240, height: 120 },
316
+ n: { x: 100, y: 80, width: 200, height: 120 },
317
+ ne: { x: 100, y: 80, width: 240, height: 120 },
318
+ w: { x: 60, y: 100, width: 240, height: 100 },
319
+ e: { x: 100, y: 100, width: 240, height: 100 },
320
+ sw: { x: 60, y: 100, width: 240, height: 120 },
321
+ s: { x: 100, y: 100, width: 200, height: 120 },
322
+ se: { x: 100, y: 100, width: 240, height: 120 },
323
+ };
324
+ const clientMove = {
325
+ nw: { x: 80, y: 90 },
326
+ n: { x: 100, y: 90 },
327
+ ne: { x: 120, y: 90 },
328
+ w: { x: 80, y: 100 },
329
+ e: { x: 120, y: 100 },
330
+ sw: { x: 80, y: 110 },
331
+ s: { x: 100, y: 110 },
332
+ se: { x: 120, y: 110 },
333
+ };
334
+ for (const handle of Object.keys(expected)) {
335
+ const commit = vi.fn(() => ({ handled: true }));
336
+ const controller = createCanvasGestureController({ adapter: { commit } });
337
+ controller.pointerDown({
338
+ kind: "resize",
339
+ objectIds: ["title"],
340
+ pointer: { x: 100, y: 100 },
341
+ viewport: { left: 0, top: 0, width: 500, height: 250 },
342
+ canvas: { width: 1000, height: 500 },
343
+ handle,
344
+ rect: { x: 100, y: 100, width: 200, height: 100 },
345
+ });
346
+ expect(controller.pointerUp(clientMove[handle])).toMatchObject({
347
+ committed: true,
348
+ gesture: { kind: "resize", rect: expected[handle] },
349
+ });
350
+ expect(commit).toHaveBeenCalledTimes(1);
351
+ }
352
+ });
353
+ it("does not start unsupported gestures or commit pointer clicks", () => {
354
+ const commit = vi.fn(() => ({ handled: true }));
355
+ const controller = createCanvasGestureController({
356
+ capabilities: { move: false, resize: true },
357
+ adapter: { commit },
358
+ });
359
+ const viewport = { left: 0, top: 0, width: 100, height: 100 };
360
+ const canvas = { width: 100, height: 100 };
361
+ expect(controller.pointerDown({
362
+ kind: "move",
363
+ objectIds: ["title"],
364
+ pointer: { x: 10, y: 10 },
365
+ viewport,
366
+ canvas,
367
+ })).toMatchObject({ accepted: false, reason: "unsupported" });
368
+ expect(controller.pointerUp({ x: 10, y: 10 })).toMatchObject({
369
+ committed: false,
370
+ reason: "idle",
371
+ });
372
+ expect(controller.pointerDown({
373
+ kind: "resize",
374
+ objectIds: ["title"],
375
+ pointer: { x: 10, y: 10 },
376
+ viewport,
377
+ canvas,
378
+ handle: "se",
379
+ rect: { x: 0, y: 0, width: 20, height: 20 },
380
+ })).toMatchObject({ accepted: true });
381
+ expect(controller.pointerUp({ x: 11, y: 11 })).toMatchObject({
382
+ committed: false,
383
+ reason: "below-threshold",
384
+ });
385
+ expect(commit).not.toHaveBeenCalled();
386
+ });
387
+ it("keeps client-to-canvas conversion correct across zoom levels", () => {
388
+ const canvas = { width: 1920, height: 1080 };
389
+ const cases = [
390
+ {
391
+ viewport: { left: 0, top: 0, width: 1920, height: 1080 },
392
+ clientDelta: { x: 96, y: -54 },
393
+ canvasDelta: { x: 96, y: -54 },
394
+ },
395
+ {
396
+ viewport: { left: 30, top: 70, width: 960, height: 540 },
397
+ clientDelta: { x: 96, y: -54 },
398
+ canvasDelta: { x: 192, y: -108 },
399
+ },
400
+ {
401
+ viewport: { left: -20, top: 15, width: 480, height: 270 },
402
+ clientDelta: { x: 96, y: -54 },
403
+ canvasDelta: { x: 384, y: -216 },
404
+ },
405
+ ];
406
+ for (const testCase of cases) {
407
+ expect(clientDeltaToCanvasDelta(testCase.clientDelta, testCase.viewport, canvas)).toEqual(testCase.canvasDelta);
408
+ }
409
+ });
410
+ it("makes one commit after many previews while modifiers remain live", () => {
411
+ const preview = vi.fn(() => ({ handled: true }));
412
+ const commit = vi.fn(() => ({ handled: true }));
413
+ const controller = createCanvasGestureController({
414
+ drag: { threshold: 3, duplicateModifier: "alt" },
415
+ adapter: { preview, commit },
416
+ });
417
+ const start = {
418
+ kind: "move",
419
+ objectIds: ["object"],
420
+ pointer: { x: 0, y: 0, altKey: true },
421
+ viewport: { left: 0, top: 0, width: 100, height: 100 },
422
+ canvas: { width: 200, height: 200 },
423
+ };
424
+ controller.pointerDown(start);
425
+ controller.pointerMove({ x: 4, y: 1, altKey: true, shiftKey: true });
426
+ controller.pointerMove({ x: 8, y: 3, altKey: false, shiftKey: false });
427
+ const end = controller.pointerUp({ x: 12, y: 5, altKey: false });
428
+ expect(preview).toHaveBeenCalledTimes(3);
429
+ expect(preview).toHaveBeenNthCalledWith(1, expect.objectContaining({
430
+ canvasDelta: { x: 8, y: 0 },
431
+ duplicate: true,
432
+ }));
433
+ expect(preview).toHaveBeenNthCalledWith(2, expect.objectContaining({
434
+ canvasDelta: { x: 16, y: 6 },
435
+ duplicate: false,
436
+ }));
437
+ expect(end).toMatchObject({
438
+ committed: true,
439
+ gesture: { canvasDelta: { x: 24, y: 10 }, duplicate: false },
440
+ });
441
+ expect(commit).toHaveBeenCalledTimes(1);
442
+ });
443
+ it("does not issue a duplicate final preview when pointer-up repeats the last move", () => {
444
+ const preview = vi.fn(() => ({ handled: true }));
445
+ const commit = vi.fn(() => ({ handled: true }));
446
+ const controller = createCanvasGestureController({
447
+ adapter: { preview, commit },
448
+ });
449
+ const start = {
450
+ kind: "move",
451
+ objectIds: ["object"],
452
+ pointer: { x: 10, y: 10 },
453
+ viewport: { left: 0, top: 0, width: 100, height: 100 },
454
+ canvas: { width: 100, height: 100 },
455
+ };
456
+ controller.pointerDown(start);
457
+ controller.pointerMove({ x: 20, y: 10 });
458
+ controller.pointerUp({ x: 20, y: 10 });
459
+ expect(preview).toHaveBeenCalledTimes(1);
460
+ expect(commit).toHaveBeenCalledTimes(1);
461
+ });
462
+ it("duplicates only when the configured modifier was held at drag start and release", () => {
463
+ const commit = vi.fn(() => ({ handled: true }));
464
+ const controller = createCanvasGestureController({
465
+ drag: { duplicateModifier: "alt" },
466
+ adapter: { commit },
467
+ });
468
+ const base = {
469
+ kind: "move",
470
+ objectIds: ["object"],
471
+ viewport: { left: 0, top: 0, width: 100, height: 100 },
472
+ canvas: { width: 100, height: 100 },
473
+ };
474
+ controller.pointerDown({ ...base, pointer: { x: 0, y: 0 } });
475
+ expect(controller.pointerUp({ x: 10, y: 0, altKey: true })).toMatchObject({
476
+ gesture: { duplicate: false },
477
+ });
478
+ controller.pointerDown({ ...base, pointer: { x: 0, y: 0, altKey: true } });
479
+ controller.pointerMove({ x: 10, y: 0, altKey: true });
480
+ expect(controller.pointerUp({ x: 10, y: 0, altKey: false })).toMatchObject({
481
+ gesture: { duplicate: false },
482
+ });
483
+ expect(commit).toHaveBeenCalledTimes(2);
484
+ });
485
+ it("returns to a clean idle state after pending cancellation and sequential gestures", () => {
486
+ const preview = vi.fn(() => ({ handled: true }));
487
+ const commit = vi.fn(() => ({ handled: true }));
488
+ const cancel = vi.fn(() => ({ handled: true }));
489
+ const controller = createCanvasGestureController({
490
+ adapter: { preview, commit, cancel },
491
+ });
492
+ const start = {
493
+ kind: "move",
494
+ objectIds: ["first"],
495
+ pointer: { x: 0, y: 0 },
496
+ viewport: { left: 0, top: 0, width: 100, height: 100 },
497
+ canvas: { width: 100, height: 100 },
498
+ };
499
+ controller.pointerDown(start);
500
+ expect(controller.cancel()).toMatchObject({
501
+ cancelled: false,
502
+ reason: "idle",
503
+ });
504
+ expect(cancel).not.toHaveBeenCalled();
505
+ expect(controller.getState()).toEqual({ phase: "idle", gesture: null });
506
+ controller.pointerDown({ ...start, objectIds: ["second"] });
507
+ controller.pointerMove({ x: 10, y: 0 });
508
+ expect(controller.cancel()).toMatchObject({ cancelled: true });
509
+ expect(cancel).toHaveBeenCalledTimes(1);
510
+ expect(controller.getState()).toEqual({ phase: "idle", gesture: null });
511
+ controller.pointerDown({ ...start, objectIds: ["third"] });
512
+ const end = controller.pointerUp({ x: 10, y: 0 });
513
+ expect(end).toMatchObject({
514
+ committed: true,
515
+ gesture: { objectIds: ["third"] },
516
+ });
517
+ expect(commit).toHaveBeenCalledTimes(1);
518
+ });
519
+ });
520
+ const DEFAULT_CAPABILITIES = {
521
+ selection: true,
522
+ multiSelection: true,
523
+ move: true,
524
+ resize: true,
525
+ textEditing: true,
526
+ nudge: true,
527
+ duplicate: true,
528
+ clipboard: true,
529
+ delete: true,
530
+ arrange: true,
531
+ snapping: true,
532
+ alignment: true,
533
+ distribution: true,
534
+ grouping: true,
535
+ rotation: true,
536
+ marquee: true,
537
+ };
538
+ //# sourceMappingURL=canvas-interactions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-interactions.spec.js","sourceRoot":"","sources":["../../src/canvas-interactions/canvas-interactions.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { DEFAULT_CANVAS_ACCELERATED_NUDGE, DEFAULT_CANVAS_DRAG_THRESHOLD, DEFAULT_CANVAS_INTERACTION_CAPABILITIES, DEFAULT_CANVAS_MIN_SIZE, DEFAULT_CANVAS_NUDGE, DEFAULT_CANVAS_SHORTCUTS, clientDeltaToCanvasDelta, clientPointToCanvasPoint, constrainCanvasDragDelta, createCanvasGestureController, createCanvasInteractionCore, createCanvasShortcutRegistry, hasCrossedCanvasDragThreshold, resizeCanvasRect, resolveCanvasEscape, resolveCanvasNudge, resolveCanvasShortcut, resolveCanvasTextActivation, shouldDuplicateCanvasDrag, type CanvasCommand, type CanvasCommandDispatchResult, type CanvasCommandId, type CanvasDragPolicy, type CanvasDuplicateModifier, type CanvasEscapeBehavior, type CanvasEscapeInput, type CanvasEscapeResult, type CanvasGesture, type CanvasGestureAdapter, type CanvasGestureAdapterResult, type CanvasGestureBeginResult, type CanvasGestureCancelResult, type CanvasGestureControllerConfig, type CanvasGestureEndResult, type CanvasGestureKind, type CanvasGesturePhase, type CanvasGesturePointer, type CanvasGestureStart, type CanvasGestureState, type CanvasGestureUpdateResult, type CanvasMoveGesture, type CanvasMoveGestureStart, type CanvasInteractionAdapter, type CanvasInteractionCapabilities, type CanvasInteractionConfig, type CanvasModifiers, type CanvasNudgeInput, type CanvasNudgePolicy, type CanvasNudgeResult, type CanvasPoint, type CanvasRect, type CanvasResizeHandle, type CanvasResizeGesture, type CanvasResizeGestureStart, type CanvasResizeInput, type CanvasShortcut, type CanvasShortcutInput, type CanvasShortcutModifier, type CanvasShortcutRegistry, type CanvasSize, type CanvasTextActivation, type CanvasTextActivationInput, type CanvasTextActivationResult, type CanvasTextEditPolicy, type CanvasViewport, } from "./canvas-interactions.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-interactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,uCAAuC,EACvC,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DEFAULT_CANVAS_ACCELERATED_NUDGE, DEFAULT_CANVAS_DRAG_THRESHOLD, DEFAULT_CANVAS_INTERACTION_CAPABILITIES, DEFAULT_CANVAS_MIN_SIZE, DEFAULT_CANVAS_NUDGE, DEFAULT_CANVAS_SHORTCUTS, clientDeltaToCanvasDelta, clientPointToCanvasPoint, constrainCanvasDragDelta, createCanvasGestureController, createCanvasInteractionCore, createCanvasShortcutRegistry, hasCrossedCanvasDragThreshold, resizeCanvasRect, resolveCanvasEscape, resolveCanvasNudge, resolveCanvasShortcut, resolveCanvasTextActivation, shouldDuplicateCanvasDrag, } from "./canvas-interactions.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-interactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,uCAAuC,EACvC,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,GA+C1B,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-adapters.d.ts","sourceRoot":"","sources":["../../src/composer/runtime-adapters.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-adapters.d.ts","sourceRoot":"","sources":["../../src/composer/runtime-adapters.tsx"],"names":[],"mappings":"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"}