@wasao/kagemusha 0.2.0 → 0.3.4

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 (85) hide show
  1. package/README.md +103 -453
  2. package/dist/commands/capture.js +57 -35
  3. package/dist/commands/capture.js.map +1 -1
  4. package/dist/commands/edit.d.ts +1 -1
  5. package/dist/commands/edit.d.ts.map +1 -1
  6. package/dist/commands/edit.js +43 -7
  7. package/dist/commands/edit.js.map +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +75 -44
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/login.js +3 -14
  12. package/dist/commands/login.js.map +1 -1
  13. package/dist/editor/inject-script/annotations.d.ts +11 -0
  14. package/dist/editor/inject-script/annotations.d.ts.map +1 -0
  15. package/dist/editor/inject-script/annotations.js +409 -0
  16. package/dist/editor/inject-script/annotations.js.map +1 -0
  17. package/dist/editor/inject-script/bridge.d.ts +13 -0
  18. package/dist/editor/inject-script/bridge.d.ts.map +1 -0
  19. package/dist/editor/inject-script/bridge.js +33 -0
  20. package/dist/editor/inject-script/bridge.js.map +1 -0
  21. package/dist/editor/inject-script/crop.d.ts +9 -0
  22. package/dist/editor/inject-script/crop.d.ts.map +1 -0
  23. package/dist/editor/inject-script/crop.js +236 -0
  24. package/dist/editor/inject-script/crop.js.map +1 -0
  25. package/dist/editor/inject-script/dom.d.ts +7 -0
  26. package/dist/editor/inject-script/dom.d.ts.map +1 -0
  27. package/dist/editor/inject-script/dom.js +32 -0
  28. package/dist/editor/inject-script/dom.js.map +1 -0
  29. package/dist/editor/inject-script/index.d.ts +2 -0
  30. package/dist/editor/inject-script/index.d.ts.map +1 -0
  31. package/dist/editor/inject-script/index.js +56 -0
  32. package/dist/editor/inject-script/index.js.map +1 -0
  33. package/dist/editor/inject-script/record.d.ts +5 -0
  34. package/dist/editor/inject-script/record.d.ts.map +1 -0
  35. package/dist/editor/inject-script/record.js +398 -0
  36. package/dist/editor/inject-script/record.js.map +1 -0
  37. package/dist/editor/inject-script/selector.d.ts +6 -0
  38. package/dist/editor/inject-script/selector.d.ts.map +1 -0
  39. package/dist/editor/inject-script/selector.js +112 -0
  40. package/dist/editor/inject-script/selector.js.map +1 -0
  41. package/dist/editor/inject-script/state.d.ts +27 -0
  42. package/dist/editor/inject-script/state.d.ts.map +1 -0
  43. package/dist/editor/inject-script/state.js +26 -0
  44. package/dist/editor/inject-script/state.js.map +1 -0
  45. package/dist/editor/inject-script/svg.d.ts +7 -0
  46. package/dist/editor/inject-script/svg.d.ts.map +1 -0
  47. package/dist/editor/inject-script/svg.js +39 -0
  48. package/dist/editor/inject-script/svg.js.map +1 -0
  49. package/dist/editor/inject-script/toolbar.d.ts +14 -0
  50. package/dist/editor/inject-script/toolbar.d.ts.map +1 -0
  51. package/dist/editor/inject-script/toolbar.js +240 -0
  52. package/dist/editor/inject-script/toolbar.js.map +1 -0
  53. package/dist/editor/inject-script/types.d.ts +102 -0
  54. package/dist/editor/inject-script/types.d.ts.map +1 -0
  55. package/dist/editor/inject-script/types.js +5 -0
  56. package/dist/editor/inject-script/types.js.map +1 -0
  57. package/dist/editor/inject-script.js +1248 -699
  58. package/dist/index.js +9 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/lib/canonical.d.ts +35 -3
  61. package/dist/lib/canonical.d.ts.map +1 -1
  62. package/dist/lib/canonical.js +85 -25
  63. package/dist/lib/canonical.js.map +1 -1
  64. package/dist/lib/diff.d.ts +23 -4
  65. package/dist/lib/diff.d.ts.map +1 -1
  66. package/dist/lib/diff.js +5 -6
  67. package/dist/lib/diff.js.map +1 -1
  68. package/dist/lib/page-ready.d.ts +18 -0
  69. package/dist/lib/page-ready.d.ts.map +1 -0
  70. package/dist/lib/page-ready.js +19 -0
  71. package/dist/lib/page-ready.js.map +1 -0
  72. package/dist/lib/screenshot.d.ts +4 -1
  73. package/dist/lib/screenshot.d.ts.map +1 -1
  74. package/dist/lib/screenshot.js +31 -5
  75. package/dist/lib/screenshot.js.map +1 -1
  76. package/dist/lib/staging.d.ts +0 -1
  77. package/dist/lib/staging.d.ts.map +1 -1
  78. package/dist/lib/staging.js +0 -3
  79. package/dist/lib/staging.js.map +1 -1
  80. package/dist/types.d.ts +5 -0
  81. package/dist/types.d.ts.map +1 -1
  82. package/package.json +20 -10
  83. package/dist/editor/inject-script.d.ts +0 -2
  84. package/dist/editor/inject-script.d.ts.map +0 -1
  85. package/dist/editor/inject-script.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Decoration } from "./types.js";
2
+ export declare const deselectAll: () => void;
3
+ export declare const selectEl: (el: Element) => void;
4
+ export declare const deleteSelected: () => void;
5
+ export declare const handleMouseDown: (e: MouseEvent) => boolean;
6
+ export declare const handleMouseMove: (e: MouseEvent) => boolean;
7
+ export declare const handleMouseUp: (e: MouseEvent) => boolean;
8
+ export declare const handleKeyDown: (e: KeyboardEvent) => void;
9
+ export declare const loadAnnotations: (decorations: Decoration[]) => void;
10
+ export declare const serializeAnnotations: () => Decoration[];
11
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/editor/inject-script/annotations.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,YAAY,CAAC;AAKzD,eAAO,MAAM,WAAW,QAAO,IAO9B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,IAAI,OAAO,KAAG,IAItC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,IAQjC,CAAC;AAmDF,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,KAAG,OAkG/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,KAAG,OA+C/C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,UAAU,KAAG,OAiD7C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,aAAa,KAAG,IAKhD,CAAC;AAOF,eAAO,MAAM,eAAe,GAAI,aAAa,UAAU,EAAE,KAAG,IAwE3D,CAAC;AAIF,eAAO,MAAM,oBAAoB,QAAO,UAAU,EAiDjD,CAAC"}
@@ -0,0 +1,409 @@
1
+ // Annotation tools: rect, arrow, label. Each is created via mousedown drag
2
+ // on the SVG layer and can be moved by clicking + dragging an existing shape.
3
+ //
4
+ // State and the SVG element handle live in respective module imports — this
5
+ // file owns all of the annotation-specific DOM mutation logic, the index.ts
6
+ // dispatcher just routes raw mouse events to handlers exported here.
7
+ import { getMousePos, measureSvgTextWidth } from "./dom.js";
8
+ import { allocateAnnotationId, SVG_NS, state } from "./state.js";
9
+ import { getSvg } from "./svg.js";
10
+ const isLabelInput = (el) => el?.tagName === "INPUT";
11
+ export const deselectAll = () => {
12
+ state.selectedId = null;
13
+ getSvg()
14
+ .querySelectorAll(".annotation")
15
+ .forEach((el) => {
16
+ el.classList.remove("selected");
17
+ });
18
+ };
19
+ export const selectEl = (el) => {
20
+ deselectAll();
21
+ state.selectedId = el.dataset.id ?? null;
22
+ el.classList.add("selected");
23
+ };
24
+ export const deleteSelected = () => {
25
+ if (!state.selectedId)
26
+ return;
27
+ const el = getSvg().querySelector(`[data-id="${state.selectedId}"]`);
28
+ if (el)
29
+ el.remove();
30
+ state.annotations = state.annotations.filter((a) => a.id !== state.selectedId);
31
+ state.selectedId = null;
32
+ };
33
+ const startMove = (e, id) => {
34
+ e.stopPropagation();
35
+ const el = getSvg().querySelector(`[data-id="${id}"]`);
36
+ if (!el)
37
+ return;
38
+ selectEl(el);
39
+ const p = getMousePos(e);
40
+ state.dragState = {
41
+ type: "move",
42
+ id,
43
+ el: el,
44
+ lastX: p.x,
45
+ lastY: p.y,
46
+ };
47
+ };
48
+ const createLabelGroup = (id, x, y, text, fontSize = 14) => {
49
+ const g = document.createElementNS(SVG_NS, "g");
50
+ g.classList.add("annotation");
51
+ g.dataset.id = id;
52
+ const bg = document.createElementNS(SVG_NS, "rect");
53
+ const txt = document.createElementNS(SVG_NS, "text");
54
+ txt.textContent = text;
55
+ txt.setAttribute("x", String(x + 6));
56
+ txt.setAttribute("y", String(y + 16));
57
+ txt.setAttribute("fill", "#FF0000");
58
+ txt.setAttribute("font-size", String(fontSize));
59
+ txt.setAttribute("font-family", "-apple-system, sans-serif");
60
+ const tw = measureSvgTextWidth(getSvg(), text, fontSize, SVG_NS) + 12;
61
+ bg.setAttribute("x", String(x));
62
+ bg.setAttribute("y", String(y));
63
+ bg.setAttribute("width", String(tw));
64
+ bg.setAttribute("height", "24");
65
+ bg.setAttribute("fill", "#FFFFFF");
66
+ bg.setAttribute("rx", "4");
67
+ g.appendChild(bg);
68
+ g.appendChild(txt);
69
+ return g;
70
+ };
71
+ // --- Mouse handlers (called by index.ts dispatcher) ---
72
+ // Returns true if the event was handled. Returning false lets the dispatcher
73
+ // fall through to crop handling (for events not on an annotation).
74
+ export const handleMouseDown = (e) => {
75
+ if (e.target?.closest(".annotation"))
76
+ return false;
77
+ deselectAll();
78
+ const p = getMousePos(e);
79
+ const svg = getSvg();
80
+ if (state.tool === "rect") {
81
+ const id = allocateAnnotationId();
82
+ const rect = document.createElementNS(SVG_NS, "rect");
83
+ rect.setAttribute("x", String(p.x));
84
+ rect.setAttribute("y", String(p.y));
85
+ rect.setAttribute("width", "0");
86
+ rect.setAttribute("height", "0");
87
+ rect.setAttribute("fill", "none");
88
+ rect.setAttribute("stroke", "#FF0000");
89
+ rect.setAttribute("stroke-width", "3");
90
+ rect.setAttribute("rx", "4");
91
+ rect.classList.add("annotation");
92
+ rect.dataset.id = id;
93
+ svg.appendChild(rect);
94
+ state.dragState = {
95
+ type: "create-rect",
96
+ id,
97
+ el: rect,
98
+ sx: p.x,
99
+ sy: p.y,
100
+ };
101
+ return true;
102
+ }
103
+ if (state.tool === "arrow") {
104
+ const id = allocateAnnotationId();
105
+ const line = document.createElementNS(SVG_NS, "line");
106
+ line.setAttribute("x1", String(p.x));
107
+ line.setAttribute("y1", String(p.y));
108
+ line.setAttribute("x2", String(p.x));
109
+ line.setAttribute("y2", String(p.y));
110
+ line.setAttribute("stroke", "#FF0000");
111
+ line.setAttribute("stroke-width", "3");
112
+ line.setAttribute("marker-end", "url(#kg-arrowhead)");
113
+ line.classList.add("annotation");
114
+ line.dataset.id = id;
115
+ svg.appendChild(line);
116
+ state.dragState = {
117
+ type: "create-arrow",
118
+ id,
119
+ el: line,
120
+ sx: p.x,
121
+ sy: p.y,
122
+ };
123
+ return true;
124
+ }
125
+ if (state.tool === "label") {
126
+ const id = allocateAnnotationId();
127
+ const input = document.createElement("input");
128
+ input.type = "text";
129
+ input.value = "";
130
+ input.placeholder = "Type label...";
131
+ input.style.cssText =
132
+ "position:fixed;z-index:var(--kg-z-top);padding:4px 8px;background:#fff;border:none;border-radius:4px;color:#FF0000;font-size:14px;font-family:-apple-system,sans-serif;outline:2px solid #6366f1;min-width:80px;box-shadow:0 2px 8px rgba(0,0,0,0.2);";
133
+ input.style.left = `${e.clientX}px`;
134
+ input.style.top = `${e.clientY}px`;
135
+ // <html> 直下 (toolbar/svg と同じ) なので host SPA の inert に巻き込まれない
136
+ document.documentElement.appendChild(input);
137
+ svg.classList.remove("drawing");
138
+ setTimeout(() => input.focus(), 50);
139
+ let labelFinished = false;
140
+ const finishLabel = () => {
141
+ if (labelFinished)
142
+ return;
143
+ labelFinished = true;
144
+ const text = input.value.trim();
145
+ input.remove();
146
+ svg.classList.add("drawing");
147
+ if (!text)
148
+ return;
149
+ const g = createLabelGroup(id, p.x, p.y, text);
150
+ svg.appendChild(g);
151
+ state.annotations.push({ id, type: "label", x: p.x, y: p.y, text });
152
+ selectEl(g);
153
+ g.addEventListener("mousedown", (ev) => startMove(ev, id));
154
+ };
155
+ input.addEventListener("keydown", (ev) => {
156
+ if (ev.key === "Enter")
157
+ finishLabel();
158
+ if (ev.key === "Escape") {
159
+ labelFinished = true;
160
+ input.remove();
161
+ svg.classList.add("drawing");
162
+ }
163
+ });
164
+ input.addEventListener("blur", finishLabel);
165
+ return true;
166
+ }
167
+ return false;
168
+ };
169
+ export const handleMouseMove = (e) => {
170
+ const drag = state.dragState;
171
+ if (!drag)
172
+ return false;
173
+ const p = getMousePos(e);
174
+ if (drag.type === "create-rect") {
175
+ drag.el.setAttribute("x", String(Math.min(drag.sx ?? 0, p.x)));
176
+ drag.el.setAttribute("y", String(Math.min(drag.sy ?? 0, p.y)));
177
+ drag.el.setAttribute("width", String(Math.abs(p.x - (drag.sx ?? 0))));
178
+ drag.el.setAttribute("height", String(Math.abs(p.y - (drag.sy ?? 0))));
179
+ }
180
+ else if (drag.type === "create-arrow") {
181
+ drag.el.setAttribute("x2", String(p.x));
182
+ drag.el.setAttribute("y2", String(p.y));
183
+ }
184
+ else if (drag.type === "move") {
185
+ const a = state.annotations.find((ann) => ann.id === drag.id);
186
+ if (!a)
187
+ return true;
188
+ const dx = p.x - (drag.lastX ?? 0);
189
+ const dy = p.y - (drag.lastY ?? 0);
190
+ drag.lastX = p.x;
191
+ drag.lastY = p.y;
192
+ if (a.type === "rect") {
193
+ a.x = (a.x ?? 0) + dx;
194
+ a.y = (a.y ?? 0) + dy;
195
+ drag.el.setAttribute("x", String(a.x));
196
+ drag.el.setAttribute("y", String(a.y));
197
+ }
198
+ else if (a.type === "arrow") {
199
+ a.fromX = (a.fromX ?? 0) + dx;
200
+ a.fromY = (a.fromY ?? 0) + dy;
201
+ a.toX = (a.toX ?? 0) + dx;
202
+ a.toY = (a.toY ?? 0) + dy;
203
+ drag.el.setAttribute("x1", String(a.fromX));
204
+ drag.el.setAttribute("y1", String(a.fromY));
205
+ drag.el.setAttribute("x2", String(a.toX));
206
+ drag.el.setAttribute("y2", String(a.toY));
207
+ }
208
+ else if (a.type === "label") {
209
+ a.x = (a.x ?? 0) + dx;
210
+ a.y = (a.y ?? 0) + dy;
211
+ const bg = drag.el.querySelector("rect");
212
+ const txt = drag.el.querySelector("text");
213
+ bg?.setAttribute("x", String(a.x));
214
+ bg?.setAttribute("y", String(a.y));
215
+ txt?.setAttribute("x", String(a.x + 6));
216
+ txt?.setAttribute("y", String(a.y + 16));
217
+ }
218
+ }
219
+ return true;
220
+ };
221
+ export const handleMouseUp = (e) => {
222
+ const drag = state.dragState;
223
+ if (!drag)
224
+ return false;
225
+ const p = getMousePos(e);
226
+ if (drag.type === "create-rect") {
227
+ const w = Math.abs(p.x - (drag.sx ?? 0));
228
+ const h = Math.abs(p.y - (drag.sy ?? 0));
229
+ if (w < 5 && h < 5) {
230
+ drag.el.remove();
231
+ }
232
+ else {
233
+ const a = {
234
+ id: drag.id,
235
+ type: "rect",
236
+ x: Math.min(drag.sx ?? 0, p.x),
237
+ y: Math.min(drag.sy ?? 0, p.y),
238
+ width: w,
239
+ height: h,
240
+ };
241
+ state.annotations.push(a);
242
+ selectEl(drag.el);
243
+ const capturedId = drag.id;
244
+ drag.el.addEventListener("mousedown", (ev) => startMove(ev, capturedId));
245
+ }
246
+ }
247
+ else if (drag.type === "create-arrow") {
248
+ const dist = Math.hypot(p.x - (drag.sx ?? 0), p.y - (drag.sy ?? 0));
249
+ if (dist < 5) {
250
+ drag.el.remove();
251
+ }
252
+ else {
253
+ const a = {
254
+ id: drag.id,
255
+ type: "arrow",
256
+ fromX: drag.sx,
257
+ fromY: drag.sy,
258
+ toX: p.x,
259
+ toY: p.y,
260
+ };
261
+ state.annotations.push(a);
262
+ selectEl(drag.el);
263
+ const capturedId = drag.id;
264
+ drag.el.addEventListener("mousedown", (ev) => startMove(ev, capturedId));
265
+ }
266
+ }
267
+ state.dragState = null;
268
+ return true;
269
+ };
270
+ export const handleKeyDown = (e) => {
271
+ if (e.key === "Delete" || e.key === "Backspace") {
272
+ if (isLabelInput(document.activeElement))
273
+ return;
274
+ deleteSelected();
275
+ }
276
+ };
277
+ // Load decorations from definitions.json into the SVG layer.
278
+ // Decorations are stored in DPR-scaled page coordinates; convert back to
279
+ // CSS pixels (= divide by DPR). No toolbar offset — the toolbar is an
280
+ // overlay that doesn't shift host content, so saved/loaded coordinates
281
+ // match capture-time coordinates 1:1.
282
+ export const loadAnnotations = (decorations) => {
283
+ const dpr = window.devicePixelRatio || 1;
284
+ const svg = getSvg();
285
+ for (const d of decorations) {
286
+ const id = allocateAnnotationId();
287
+ if (d.type === "rect" && d.target) {
288
+ const rx = d.target.x / dpr;
289
+ const ry = d.target.y / dpr;
290
+ const rw = d.target.width / dpr;
291
+ const rh = d.target.height / dpr;
292
+ const rect = document.createElementNS(SVG_NS, "rect");
293
+ rect.setAttribute("x", String(rx));
294
+ rect.setAttribute("y", String(ry));
295
+ rect.setAttribute("width", String(rw));
296
+ rect.setAttribute("height", String(rh));
297
+ rect.setAttribute("fill", "none");
298
+ rect.setAttribute("stroke", d.style?.color ?? "#FF0000");
299
+ rect.setAttribute("stroke-width", "3");
300
+ rect.setAttribute("rx", "4");
301
+ rect.classList.add("annotation");
302
+ rect.dataset.id = id;
303
+ svg.appendChild(rect);
304
+ state.annotations.push({
305
+ id,
306
+ type: "rect",
307
+ x: rx,
308
+ y: ry,
309
+ width: rw,
310
+ height: rh,
311
+ });
312
+ rect.addEventListener("mousedown", (ev) => startMove(ev, id));
313
+ }
314
+ else if (d.type === "arrow" && d.from && d.to) {
315
+ const ax1 = d.from.x / dpr;
316
+ const ay1 = d.from.y / dpr;
317
+ const ax2 = d.to.x / dpr;
318
+ const ay2 = d.to.y / dpr;
319
+ const line = document.createElementNS(SVG_NS, "line");
320
+ line.setAttribute("x1", String(ax1));
321
+ line.setAttribute("y1", String(ay1));
322
+ line.setAttribute("x2", String(ax2));
323
+ line.setAttribute("y2", String(ay2));
324
+ line.setAttribute("stroke", d.style?.color ?? "#FF0000");
325
+ line.setAttribute("stroke-width", "3");
326
+ line.setAttribute("marker-end", "url(#kg-arrowhead)");
327
+ line.classList.add("annotation");
328
+ line.dataset.id = id;
329
+ svg.appendChild(line);
330
+ state.annotations.push({
331
+ id,
332
+ type: "arrow",
333
+ fromX: ax1,
334
+ fromY: ay1,
335
+ toX: ax2,
336
+ toY: ay2,
337
+ });
338
+ line.addEventListener("mousedown", (ev) => startMove(ev, id));
339
+ }
340
+ else if (d.type === "label" && d.position) {
341
+ const lx = d.position.x / dpr;
342
+ const ly = d.position.y / dpr;
343
+ const fontSize = (d.style?.fontSize ?? 14) / dpr;
344
+ const g = createLabelGroup(id, lx, ly, d.text ?? "", fontSize);
345
+ svg.appendChild(g);
346
+ state.annotations.push({
347
+ id,
348
+ type: "label",
349
+ x: lx,
350
+ y: ly,
351
+ text: d.text,
352
+ });
353
+ g.addEventListener("mousedown", (ev) => startMove(ev, id));
354
+ }
355
+ }
356
+ };
357
+ // Serialize current annotations back to definitions.json shape.
358
+ // Inverse of loadAnnotations: CSS pixels → DPR-scaled. No toolbar offset.
359
+ export const serializeAnnotations = () => {
360
+ const dpr = window.devicePixelRatio || 1;
361
+ const s = Math.round;
362
+ return state.annotations
363
+ .map((a) => {
364
+ if (a.type === "rect") {
365
+ return {
366
+ type: "rect",
367
+ target: {
368
+ x: s((a.x ?? 0) * dpr),
369
+ y: s((a.y ?? 0) * dpr),
370
+ width: s((a.width ?? 0) * dpr),
371
+ height: s((a.height ?? 0) * dpr),
372
+ },
373
+ style: { color: "#FF0000", strokeWidth: s(3 * dpr) },
374
+ };
375
+ }
376
+ if (a.type === "arrow") {
377
+ return {
378
+ type: "arrow",
379
+ from: {
380
+ x: s((a.fromX ?? 0) * dpr),
381
+ y: s((a.fromY ?? 0) * dpr),
382
+ },
383
+ to: {
384
+ x: s((a.toX ?? 0) * dpr),
385
+ y: s((a.toY ?? 0) * dpr),
386
+ },
387
+ style: { color: "#FF0000", strokeWidth: s(3 * dpr) },
388
+ };
389
+ }
390
+ if (a.type === "label") {
391
+ return {
392
+ type: "label",
393
+ text: a.text,
394
+ position: {
395
+ x: s((a.x ?? 0) * dpr),
396
+ y: s((a.y ?? 0) * dpr),
397
+ },
398
+ style: {
399
+ fontSize: s(14 * dpr),
400
+ color: "#FF0000",
401
+ background: "#FFFFFF",
402
+ },
403
+ };
404
+ }
405
+ return null;
406
+ })
407
+ .filter((d) => d !== null);
408
+ };
409
+ //# sourceMappingURL=annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../src/editor/inject-script/annotations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { CaptureAction, CaptureSpec, Decoration } from "./types.js";
2
+ declare global {
3
+ interface Window {
4
+ __kagemusha_save: (payloadJson: string) => void;
5
+ __kagemusha_loadAnnotations: (decorations: Decoration[]) => void;
6
+ __kagemusha_loadCapture: (capture: CaptureSpec) => void;
7
+ __kagemusha_loadSteps: (steps: CaptureAction[]) => void;
8
+ }
9
+ }
10
+ export declare const initBridge: () => {
11
+ save: () => void;
12
+ };
13
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/editor/inject-script/bridge.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QAChD,2BAA2B,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;QACjE,uBAAuB,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;QACxD,qBAAqB,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;KACxD;CACD;AAmBD,eAAO,MAAM,UAAU,QAAO;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAW/C,CAAC"}
@@ -0,0 +1,33 @@
1
+ // Node ↔ page bridge. The Node side calls these via `page.evaluate` /
2
+ // `page.exposeFunction` to load existing data and to receive the saved
3
+ // payload. The GUI port will replace this with an IPC layer but keep the
4
+ // payload shape identical.
5
+ import { loadAnnotations, serializeAnnotations } from "./annotations.js";
6
+ import { loadCapture, serializeCapture } from "./crop.js";
7
+ import { showErrorToast } from "./dom.js";
8
+ import { loadSteps, serializeSteps } from "./record.js";
9
+ import { state } from "./state.js";
10
+ import { setCaptureMode } from "./toolbar.js";
11
+ const save = () => {
12
+ if (state.captureMode === "crop" && !state.captureCrop) {
13
+ showErrorToast("Crop mode is active but no area is drawn.\nDrag to define an area, or switch to Full Page.");
14
+ return;
15
+ }
16
+ const decorations = serializeAnnotations();
17
+ const capture = serializeCapture();
18
+ const beforeCapture = serializeSteps();
19
+ window.__kagemusha_save(JSON.stringify({ decorations, capture, beforeCapture }));
20
+ };
21
+ export const initBridge = () => {
22
+ window.__kagemusha_loadAnnotations = (decorations) => {
23
+ loadAnnotations(decorations);
24
+ };
25
+ window.__kagemusha_loadCapture = (capture) => {
26
+ loadCapture(capture, (mode) => setCaptureMode(mode));
27
+ };
28
+ window.__kagemusha_loadSteps = (steps) => {
29
+ loadSteps(steps);
30
+ };
31
+ return { save };
32
+ };
33
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/editor/inject-script/bridge.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,uEAAuE;AACvE,yEAAyE;AACzE,2BAA2B;AAE3B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C,MAAM,IAAI,GAAG,GAAS,EAAE;IACvB,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACxD,cAAc,CACb,4FAA4F,CAC5F,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,CAAC,gBAAgB,CACtB,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CACvD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAyB,EAAE;IACpD,MAAM,CAAC,2BAA2B,GAAG,CAAC,WAAyB,EAAE,EAAE;QAClE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,CAAC,uBAAuB,GAAG,CAAC,OAAoB,EAAE,EAAE;QACzD,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,CAAC,qBAAqB,GAAG,CAAC,KAAsB,EAAE,EAAE;QACzD,SAAS,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { CaptureSpec } from "./types.js";
2
+ export declare const redrawCropVisual: () => void;
3
+ export declare const initCrop: () => void;
4
+ export declare const handleMouseDown: (e: MouseEvent) => boolean;
5
+ export declare const handleMouseMove: (e: MouseEvent) => boolean;
6
+ export declare const handleMouseUp: (e: MouseEvent) => boolean;
7
+ export declare const loadCapture: (capture: CaptureSpec, setMode: (m: "fullPage" | "crop") => void) => void;
8
+ export declare const serializeCapture: () => CaptureSpec;
9
+ //# sourceMappingURL=crop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crop.d.ts","sourceRoot":"","sources":["../../../src/editor/inject-script/crop.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAsD1D,eAAO,MAAM,gBAAgB,QA/BJ,IA+BmB,CAAC;AAG7C,eAAO,MAAM,QAAQ,QAAO,IAO3B,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,KAAG,OA0C/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,GAAG,UAAU,KAAG,OAmE/C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,GAAG,UAAU,KAAG,OAuB7C,CAAC;AAIF,eAAO,MAAM,WAAW,GACvB,SAAS,WAAW,EACpB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,IAAI,KACvC,IAuBF,CAAC;AAIF,eAAO,MAAM,gBAAgB,QAAO,WAenC,CAAC"}