@edv4h/usketch-plugin-debug-hud 3.0.4 → 3.1.0

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 (40) hide show
  1. package/README.md +50 -0
  2. package/dist/board-meta-types.d.ts +19 -0
  3. package/dist/board-meta-types.d.ts.map +1 -0
  4. package/dist/board-meta-types.js +8 -0
  5. package/dist/board-meta-types.js.map +1 -0
  6. package/dist/debug-hud.d.ts +5 -2
  7. package/dist/debug-hud.d.ts.map +1 -1
  8. package/dist/debug-hud.js +27 -4
  9. package/dist/debug-hud.js.map +1 -1
  10. package/dist/event-logger.d.ts.map +1 -1
  11. package/dist/fps-counter.d.ts.map +1 -1
  12. package/dist/overlays/minimap.d.ts +3 -1
  13. package/dist/overlays/minimap.d.ts.map +1 -1
  14. package/dist/overlays/minimap.js +4 -3
  15. package/dist/overlays/minimap.js.map +1 -1
  16. package/dist/overlays/shape-bounds-overlay.js +1 -1
  17. package/dist/panels/controls-panel.d.ts +25 -0
  18. package/dist/panels/controls-panel.d.ts.map +1 -0
  19. package/dist/panels/controls-panel.js +262 -0
  20. package/dist/panels/controls-panel.js.map +1 -0
  21. package/dist/panels/events-panel.d.ts.map +1 -1
  22. package/dist/panels/events-panel.js +3 -2
  23. package/dist/panels/events-panel.js.map +1 -1
  24. package/dist/panels/general-panel.d.ts +3 -1
  25. package/dist/panels/general-panel.d.ts.map +1 -1
  26. package/dist/panels/general-panel.js +7 -4
  27. package/dist/panels/general-panel.js.map +1 -1
  28. package/dist/panels/shapes-panel.d.ts +5 -1
  29. package/dist/panels/shapes-panel.d.ts.map +1 -1
  30. package/dist/panels/shapes-panel.js +19 -20
  31. package/dist/panels/shapes-panel.js.map +1 -1
  32. package/dist/plugin.d.ts.map +1 -1
  33. package/dist/plugin.js +3 -1
  34. package/dist/plugin.js.map +1 -1
  35. package/dist/pointer-tracker.d.ts.map +1 -1
  36. package/dist/stop-propagation.d.ts +27 -0
  37. package/dist/stop-propagation.d.ts.map +1 -0
  38. package/dist/stop-propagation.js +26 -0
  39. package/dist/stop-propagation.js.map +1 -0
  40. package/package.json +4 -4
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # @edv4h/usketch-plugin-debug-hud
2
+
3
+ A screen-fixed **control + debug panel**. Toggle with the backtick key (`` ` ``).
4
+ Beyond inspection (shapes, events, FPS, sync, minimap) it is a **universal
5
+ control surface**: every plugin operation can be driven from here, so a host app
6
+ does not need to add bespoke UI per plugin.
7
+
8
+ ```ts
9
+ import { createDebugHudPlugin } from "@edv4h/usketch-plugin-debug-hud";
10
+ const plugins = [/* ... */, createDebugHudPlugin()];
11
+ ```
12
+
13
+ Hidden by default; press `` ` `` to open. Safe to ship in production (it only
14
+ appears on toggle).
15
+
16
+ ## Controls panel
17
+
18
+ - **Tools** — one button per registered tool (`tools.getOrdered()`), click to
19
+ `store.setActiveToolId(id)`.
20
+ - **Actions** — every `PluginAction` a plugin registered (see below), grouped
21
+ and rendered as buttons / parameter forms automatically.
22
+ - **Emit event** — a raw fallback: type any event name + JSON payload and
23
+ `events.emit(...)`. Lets you drive operations a plugin hasn't (yet) exposed as
24
+ an action.
25
+ - **Default style / Clear canvas** — edit `store` default style; batch-delete.
26
+
27
+ ## Exposing plugin operations to the HUD
28
+
29
+ Register actions in your plugin's `setup` via `ctx.actions` — the HUD renders a
30
+ control for each with no app-side UI. Example (freedraw):
31
+
32
+ ```ts
33
+ const off = ctx.actions.register({
34
+ id: "freedraw:color",
35
+ label: "Color",
36
+ group: "Freedraw",
37
+ params: [{ name: "color", type: "color", default: "#1e1e1e" }],
38
+ run: ({ color }) => ctx.events.emit("freedraw:set-color", { color }),
39
+ });
40
+ // call off() in teardown
41
+ ```
42
+
43
+ `PluginAction` fields: `id`, `label`, optional `group` / `icon` / `order`,
44
+ optional `params` (`ActionParam[]` — `string|number|boolean|color|enum`),
45
+ `run(args)`, and optional `isActive()` / `isEnabled()` for toggle / contextual
46
+ state. Parameterless actions render as a button; selection-contextual actions
47
+ (e.g. "Flip selected card") use `isEnabled()` to gate on the current selection.
48
+
49
+ Migrated so far: freedraw, snap, background, card, sticky. Others follow the
50
+ same one-liner pattern (emit the plugin's existing event from `run`).
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Board メタ情報(タイトル / Cloud か Local か / id)を HUD に供給するための
3
+ * 構造型。ホストアプリ(apps/web)が `globalThis.__usketchBoardMeta` に
4
+ * この形のトラッカーを載せ、General パネルが購読して表示する。
5
+ * `__usketchSyncStatus` と同じ「アプリ側が用意する外部データソース」パターン。
6
+ */
7
+ export interface BoardMetaSnapshot {
8
+ /** ボード id(未確定なら undefined)。 */
9
+ id?: string;
10
+ /** 表示名(未取得なら null)。 */
11
+ name: string | null;
12
+ /** Cloud ボードなら true、ローカル保存なら false。 */
13
+ isCloud: boolean;
14
+ }
15
+ export interface BoardMetaTrackerLike {
16
+ getSnapshot(): BoardMetaSnapshot;
17
+ subscribe(listener: () => void): () => void;
18
+ }
19
+ //# sourceMappingURL=board-meta-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-meta-types.d.ts","sourceRoot":"","sources":["../src/board-meta-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IACjC,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,WAAW,IAAI,iBAAiB,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Board メタ情報(タイトル / Cloud か Local か / id)を HUD に供給するための
3
+ * 構造型。ホストアプリ(apps/web)が `globalThis.__usketchBoardMeta` に
4
+ * この形のトラッカーを載せ、General パネルが購読して表示する。
5
+ * `__usketchSyncStatus` と同じ「アプリ側が用意する外部データソース」パターン。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=board-meta-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-meta-types.js","sourceRoot":"","sources":["../src/board-meta-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,4 +1,5 @@
1
- import type { BoardStore, CommandRegistry, EventBus, LayerManager, LayerRenderContext, ShapeRegistry, ToolRegistry } from "@edv4h/usketch-shared";
1
+ import type { ActionRegistry, BoardStore, CommandRegistry, EventBus, LayerManager, LayerRenderContext, ShapeRegistry, ToolRegistry } from "@edv4h/usketch-shared";
2
+ import type { BoardMetaTrackerLike } from "./board-meta-types.js";
2
3
  import type { EventLogger } from "./event-logger.js";
3
4
  import type { FpsCounter } from "./fps-counter.js";
4
5
  import type { PointerTracker } from "./pointer-tracker.js";
@@ -13,11 +14,13 @@ interface DebugHudProps {
13
14
  tools: ToolRegistry;
14
15
  layers: LayerManager;
15
16
  shapes: ShapeRegistry;
17
+ actions: ActionRegistry;
16
18
  syncStatus?: SyncStatusTrackerLike;
19
+ boardMeta?: BoardMetaTrackerLike;
17
20
  events: EventBus;
18
21
  ctx: LayerRenderContext;
19
22
  visibility: VisibilityStore;
20
23
  }
21
- export declare function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, syncStatus, events, ctx, visibility, }: DebugHudProps): import("react").JSX.Element;
24
+ export declare function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, syncStatus, boardMeta, events, ctx, visibility, }: DebugHudProps): import("react").JSX.Element;
22
25
  export {};
23
26
  //# sourceMappingURL=debug-hud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-hud.d.ts","sourceRoot":"","sources":["../src/debug-hud.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,aAAa;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,kBAAkB,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;CAC5B;AAQD,wBAAgB,QAAQ,CAAC,EACxB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,MAAM,EACN,GAAG,EACH,UAAU,GACV,EAAE,aAAa,+BA0Gf"}
1
+ {"version":3,"file":"debug-hud.d.ts","sourceRoot":"","sources":["../src/debug-hud.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAWnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,aAAa;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,kBAAkB,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;CAC5B;AAQD,wBAAgB,QAAQ,CAAC,EACxB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,GAAG,EACH,UAAU,GACV,EAAE,aAAa,+BAkJf"}
package/dist/debug-hud.js CHANGED
@@ -1,7 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useMemo, useState, useSyncExternalStore } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
3
3
  import { Minimap } from "./overlays/minimap.js";
4
4
  import { ShapeBoundsOverlay } from "./overlays/shape-bounds-overlay.js";
5
+ import { CONTROLS_DOCK_COLLAPSED, CONTROLS_DOCK_WIDTH, ControlsPanel, } from "./panels/controls-panel.js";
5
6
  import { EventsPanel } from "./panels/events-panel.js";
6
7
  import { GeneralPanel } from "./panels/general-panel.js";
7
8
  import { ShapesPanel } from "./panels/shapes-panel.js";
@@ -12,11 +13,14 @@ function isEditableTarget(target) {
12
13
  const tag = target.tagName;
13
14
  return tag === "INPUT" || tag === "TEXTAREA" || target.isContentEditable;
14
15
  }
15
- export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, syncStatus, events, ctx, visibility, }) {
16
+ export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, syncStatus, boardMeta, events, ctx, visibility, }) {
16
17
  const subscribeVisibility = useCallback((cb) => visibility.subscribe(cb), [visibility]);
17
18
  const getVisibility = useCallback(() => visibility.get(), [visibility]);
18
19
  const visible = useSyncExternalStore(subscribeVisibility, getVisibility, getVisibility);
19
20
  const [hoveredShapeId, setHoveredShapeId] = useState(null);
21
+ const [controlsCollapsed, setControlsCollapsed] = useState(false);
22
+ // Left offset for the Shapes panel / Minimap so they clear the Controls dock.
23
+ const leftOffset = 8 + (controlsCollapsed ? CONTROLS_DOCK_COLLAPSED : CONTROLS_DOCK_WIDTH) + 8;
20
24
  // Keyboard shortcut (backtick)
21
25
  useEffect(() => {
22
26
  const handler = (e) => {
@@ -43,6 +47,25 @@ export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, comma
43
47
  const syncSnapshot = useSyncExternalStore(subscribeSync, getSyncSnapshot, getSyncSnapshot);
44
48
  const unconfirmedShapeIdSet = useMemo(() => new Set(syncSnapshot?.unconfirmedShapeIds ?? []), [syncSnapshot?.unconfirmedShapeIds]);
45
49
  const hoveredShape = hoveredShapeId ? shapeMap.get(hoveredShapeId) : undefined;
50
+ // Canvas は自身のコンテナに native な wheel リスナ(passive:false)を張り、
51
+ // HUD パネル上のスクロールまで拾って zoom/pan してしまう。React の onWheel
52
+ // stopPropagation は Canvas コンテナより後(React root)で発火するため間に合わ
53
+ // ない。パネル群を包む本要素に native wheel リスナを張り、パネル由来の wheel
54
+ // が Canvas コンテナへバブリングする前に止める(パネル自身のスクロールは通す
55
+ // ので stopPropagation のみ、preventDefault はしない)。空き領域の wheel は
56
+ // pointerEvents:none によりこの要素を経由せず Canvas に直接届くため無影響。
57
+ const wheelGuardRef = useRef(null);
58
+ // visible はラッパーのマウント/アンマウントを切り替えるため、ref 再取得の
59
+ // トリガーとして依存に含める(body 内で直接参照しないので biome へ明示)。
60
+ // biome-ignore lint/correctness/useExhaustiveDependencies: re-attach on visibility toggle
61
+ useEffect(() => {
62
+ const el = wheelGuardRef.current;
63
+ if (!el)
64
+ return;
65
+ const stop = (e) => e.stopPropagation();
66
+ el.addEventListener("wheel", stop, { passive: false });
67
+ return () => el.removeEventListener("wheel", stop);
68
+ }, [visible]);
46
69
  // Shortcut hint — bottom-center (always visible)
47
70
  const hint = (_jsxs("div", { style: {
48
71
  position: "absolute",
@@ -57,6 +80,6 @@ export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, comma
57
80
  if (!visible) {
58
81
  return hint;
59
82
  }
60
- return (_jsxs(_Fragment, { children: [hint, _jsx(ShapeBoundsOverlay, { shape: hoveredShape, store: store }), _jsx(GeneralPanel, { store: store, fpsCounter: fpsCounter, pointerTracker: pointerTracker, commands: commands, tools: tools, layers: layers, shapes: shapes, syncStatus: syncStatus, events: events, viewport: viewport, activeToolId: activeToolId }), _jsx(ShapesPanel, { store: store, commands: commands, shapes: shapeMap, selection: selection, registry: shapes, onHoverShape: setHoveredShapeId, unconfirmedShapeIds: unconfirmedShapeIdSet }), _jsx(EventsPanel, { eventLogger: eventLogger }), _jsx(Minimap, { shapes: shapeMap, viewport: viewport, selection: selection })] }));
83
+ return (_jsxs("div", { ref: wheelGuardRef, style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [hint, _jsx(ShapeBoundsOverlay, { shape: hoveredShape, store: store }), _jsx(GeneralPanel, { store: store, fpsCounter: fpsCounter, pointerTracker: pointerTracker, commands: commands, tools: tools, layers: layers, shapes: shapes, syncStatus: syncStatus, boardMeta: boardMeta, events: events, viewport: viewport, activeToolId: activeToolId }), _jsx(ControlsPanel, { store: store, tools: tools, actions: actions, events: events, activeToolId: activeToolId, collapsed: controlsCollapsed, onToggleCollapsed: () => setControlsCollapsed((c) => !c), shapesSection: _jsx(ShapesPanel, { store: store, commands: commands, shapes: shapeMap, selection: selection, registry: shapes, onHoverShape: setHoveredShapeId, unconfirmedShapeIds: unconfirmedShapeIdSet, docked: true }) }), _jsx(EventsPanel, { eventLogger: eventLogger }), _jsx(Minimap, { shapes: shapeMap, viewport: viewport, selection: selection, offsetLeft: leftOffset })] }));
61
84
  }
62
85
  //# sourceMappingURL=debug-hud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-hud.js","sourceRoot":"","sources":["../src/debug-hud.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-hud.js","sourceRoot":"","sources":["../src/debug-hud.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAIhG,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqBtD,SAAS,gBAAgB,CAAC,MAA0B;IACnD,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,UAAU,IAAI,MAAM,CAAC,iBAAiB,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACxB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,GAAG,EACH,UAAU,GACK;IACf,MAAM,mBAAmB,GAAG,WAAW,CACtC,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAC5C,CAAC,UAAU,CAAC,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACxF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE/F,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YACpC,IAAI,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO;YACvC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC1D,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;IAE7C,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,aAAa,GAAG,WAAW,CAChC,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAC3D,CAAC,UAAU,CAAC,CACZ,CAAC;IACF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC3F,MAAM,qBAAqB,GAAG,OAAO,CACpC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,mBAAmB,IAAI,EAAE,CAAC,EACtD,CAAC,YAAY,EAAE,mBAAmB,CAAC,CACnC,CAAC;IAEF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,yDAAyD;IACzD,qDAAqD;IACrD,0DAA0D;IAC1D,kDAAkD;IAClD,4CAA4C;IAC5C,2DAA2D;IAC3D,qDAAqD;IACrD,MAAM,aAAa,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACnD,6CAA6C;IAC7C,6CAA6C;IAC7C,0FAA0F;IAC1F,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,iDAAiD;IACjD,MAAM,IAAI,GAAG,CACZ,eACC,KAAK,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,kBAAkB;YAC7B,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,WAAW;YACvB,aAAa,EAAE,MAAM;SACrB,wCAEiB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAS,UAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IACrF,CACN,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,eAAK,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,aACvF,IAAI,EAGL,KAAC,kBAAkB,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAI,EAGzD,KAAC,YAAY,IACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GACzB,EAGF,KAAC,aAAa,IACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACxD,aAAa,EACZ,KAAC,WAAW,IACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,iBAAiB,EAC/B,mBAAmB,EAAE,qBAAqB,EAC1C,MAAM,SACL,GAEF,EAGF,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,EAGzC,KAAC,OAAO,IACP,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACrB,IACG,CACN,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../src/event-logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACd;AAID,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,KAAK,CAAS;IAEtB,IAAI,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBvD,KAAK,IAAI,IAAI;IAWb,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAgB3C,WAAW,IAAI,SAAS,aAAa,EAAE;IAIvC,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,aAAa;CAYrB"}
1
+ {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../src/event-logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACd;AAID,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,KAAK,CAAS;IAEtB,IAAI,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAetD;IAED,KAAK,IAAI,IAAI,CASZ;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAc1C;IAED,WAAW,IAAI,SAAS,aAAa,EAAE,CAEtC;IAED,OAAO,IAAI,IAAI,CAOd;IAED,OAAO,CAAC,aAAa;CAYrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"fps-counter.d.ts","sourceRoot":"","sources":["../src/fps-counter.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAIZ,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK3C,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,SAAS,MAAM,EAAE;IAI/B,OAAO,CAAC,IAAI,CAiBV;CACF"}
1
+ {"version":3,"file":"fps-counter.d.ts","sourceRoot":"","sources":["../src/fps-counter.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,IAAI,IAAI,CAEX;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG1C;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,UAAU,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,OAAO,CAAC,IAAI,CAiBV;CACF"}
@@ -3,7 +3,9 @@ interface MinimapProps {
3
3
  shapes: ReadonlyMap<string, ShapeData>;
4
4
  viewport: Viewport;
5
5
  selection: ReadonlySet<string>;
6
+ /** Left offset so the minimap clears the Controls dock. Default 8. */
7
+ offsetLeft?: number;
6
8
  }
7
- export declare function Minimap({ shapes, viewport, selection }: MinimapProps): import("react").JSX.Element;
9
+ export declare function Minimap({ shapes, viewport, selection, offsetLeft }: MinimapProps): import("react").JSX.Element;
8
10
  export {};
9
11
  //# sourceMappingURL=minimap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../../src/overlays/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjE,UAAU,YAAY;IACrB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B;AAKD,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,+BAmEpE"}
1
+ {"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../../src/overlays/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKjE,UAAU,YAAY;IACrB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAc,EAAE,EAAE,YAAY,+BAoEpF"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { computeMinimap } from "@edv4h/usketch-shared";
3
+ import { STOP_CANVAS_PROPAGATION } from "../stop-propagation.js";
3
4
  import { ACCENT_DIM, PANEL_BG, PANEL_BLUR, PANEL_BORDER_RADIUS } from "../styles.js";
4
5
  const MAP_W = 140;
5
6
  const MAP_H = 90;
6
- export function Minimap({ shapes, viewport, selection }) {
7
+ export function Minimap({ shapes, viewport, selection, offsetLeft = 8 }) {
7
8
  const shapeArr = Array.from(shapes.values());
8
9
  // viewport.x/y is a screen-space translate offset, not a world origin.
9
10
  const vpWorldX = -viewport.x / viewport.zoom;
@@ -18,10 +19,10 @@ export function Minimap({ shapes, viewport, selection }) {
18
19
  padding: 20,
19
20
  minSize: 2,
20
21
  });
21
- return (_jsxs("div", { style: {
22
+ return (_jsxs("div", { ...STOP_CANVAS_PROPAGATION, style: {
22
23
  position: "absolute",
23
24
  bottom: 8,
24
- left: 8,
25
+ left: offsetLeft,
25
26
  width: MAP_W,
26
27
  height: MAP_H,
27
28
  background: PANEL_BG,
@@ -1 +1 @@
1
- {"version":3,"file":"minimap.js","sourceRoot":"","sources":["../../src/overlays/minimap.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQrF,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,KAAK,GAAG,EAAE,CAAC;AAEjB,MAAM,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAgB;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;IAEpD,MAAM,MAAM,GAAkB,cAAc,CAAC;QAC5C,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9E,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,CACN,eACC,KAAK,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,mBAAmB;YACjC,cAAc,EAAE,UAAU;YAC1B,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,QAAQ;SAClB,aAGA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,cAEC,KAAK,EAAE;oBACN,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACT,GAAG,EAAE,CAAC,CAAC,CAAC;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9B,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,0BAA0B;oBAC7B,YAAY,EAAE,CAAC;iBACf,IAXI,CAAC,CAAC,EAAE,CAYR,CACF,CAAC,EAED,MAAM,CAAC,YAAY,IAAI,CACvB,cACC,KAAK,EAAE;oBACN,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC3B,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC1B,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;oBAChC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;oBAClC,MAAM,EAAE,aAAa,UAAU,EAAE;oBACjC,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,YAAY;iBACvB,GACA,CACF,IACI,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"minimap.js","sourceRoot":"","sources":["../../src/overlays/minimap.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAUrF,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,KAAK,GAAG,EAAE,CAAC;AAEjB,MAAM,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAgB;IACpF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;IAEpD,MAAM,MAAM,GAAkB,cAAc,CAAC;QAC5C,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9E,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,CACN,kBACK,uBAAuB,EAC3B,KAAK,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,mBAAmB;YACjC,cAAc,EAAE,UAAU;YAC1B,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,QAAQ;SAClB,aAGA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,cAEC,KAAK,EAAE;oBACN,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACT,GAAG,EAAE,CAAC,CAAC,CAAC;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9B,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,0BAA0B;oBAC7B,YAAY,EAAE,CAAC;iBACf,IAXI,CAAC,CAAC,EAAE,CAYR,CACF,CAAC,EAED,MAAM,CAAC,YAAY,IAAI,CACvB,cACC,KAAK,EAAE;oBACN,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC3B,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC1B,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;oBAChC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;oBAClC,MAAM,EAAE,aAAa,UAAU,EAAE;oBACjC,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,YAAY;iBACvB,GACA,CACF,IACI,CACN,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { worldToScreen } from "@edv4h/usketch-shared";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
  export function ShapeBoundsOverlay({ shape, store }) {
@@ -0,0 +1,25 @@
1
+ import type { ActionRegistry, BoardStore, EventBus, ToolRegistry } from "@edv4h/usketch-shared";
2
+ import type React from "react";
3
+ /** Expanded / collapsed dock widths (kept in sync with DebugHud's sibling offset). */
4
+ export declare const CONTROLS_DOCK_WIDTH = 248;
5
+ export declare const CONTROLS_DOCK_COLLAPSED = 30;
6
+ interface ControlsPanelProps {
7
+ store: BoardStore;
8
+ tools: ToolRegistry;
9
+ actions: ActionRegistry;
10
+ events: EventBus;
11
+ activeToolId: string;
12
+ collapsed: boolean;
13
+ onToggleCollapsed: () => void;
14
+ /** The shapes inspector, rendered as a section inside the dock. */
15
+ shapesSection?: React.ReactNode;
16
+ }
17
+ /**
18
+ * Universal control dock. Drives plugin operations without any demo-app UI: a
19
+ * tool palette (`tools.getOrdered()`), the declarative action registry, a raw
20
+ * event-emit fallback, and default-style controls. Full-height, collapsible,
21
+ * with collapsible sections.
22
+ */
23
+ export declare function ControlsPanel({ store, tools, actions, events, activeToolId, collapsed, onToggleCollapsed, shapesSection, }: ControlsPanelProps): React.JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=controls-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls-panel.d.ts","sourceRoot":"","sources":["../../src/panels/controls-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,cAAc,EACd,UAAU,EACV,QAAQ,EAGR,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,UAAU,kBAAkB;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mEAAmE;IACnE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC7B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,GACb,EAAE,kBAAkB,qBAuFpB"}
@@ -0,0 +1,262 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useReducer, useState } from "react";
3
+ import { STOP_CANVAS_PROPAGATION } from "../stop-propagation.js";
4
+ import { ACCENT, INLINE_INPUT, MINI_BUTTON, MINI_BUTTON_ACCENT, PANEL_BASE, TEXT_LABEL, TEXT_MUTED, } from "../styles.js";
5
+ /** Expanded / collapsed dock widths (kept in sync with DebugHud's sibling offset). */
6
+ export const CONTROLS_DOCK_WIDTH = 248;
7
+ export const CONTROLS_DOCK_COLLAPSED = 30;
8
+ /**
9
+ * Universal control dock. Drives plugin operations without any demo-app UI: a
10
+ * tool palette (`tools.getOrdered()`), the declarative action registry, a raw
11
+ * event-emit fallback, and default-style controls. Full-height, collapsible,
12
+ * with collapsible sections.
13
+ */
14
+ export function ControlsPanel({ store, tools, actions, events, activeToolId, collapsed, onToggleCollapsed, shapesSection, }) {
15
+ // Re-render when actions register/unregister at runtime.
16
+ const [, bump] = useReducer((n) => n + 1, 0);
17
+ useEffect(() => actions.subscribe(bump), [actions]);
18
+ if (collapsed) {
19
+ return (_jsx("button", { type: "button", ...STOP_CANVAS_PROPAGATION, onClick: (e) => {
20
+ e.stopPropagation();
21
+ onToggleCollapsed();
22
+ }, style: collapsedStripStyle, title: "Open controls", children: _jsx("span", { style: { writingMode: "vertical-rl", letterSpacing: 1 }, children: "Controls \u203A" }) }));
23
+ }
24
+ const toolList = tools.getOrdered();
25
+ const actionList = actions.getOrdered();
26
+ const groups = groupActions(actionList);
27
+ return (_jsxs("div", { ...STOP_CANVAS_PROPAGATION, style: dockStyle, children: [_jsxs("div", { style: headerStyle, children: [_jsx("span", { style: { color: ACCENT, fontWeight: 700 }, children: "Controls" }), _jsx("button", { type: "button", onClick: onToggleCollapsed, style: MINI_BUTTON, title: "Collapse", children: "\u2039" })] }), _jsx(Section, { title: "Tools", children: _jsx("div", { style: toolGridStyle, children: toolList.map(({ id, definition }) => (_jsx("button", { type: "button", title: id, onClick: () => store.setActiveToolId(id), style: {
28
+ ...MINI_BUTTON,
29
+ display: "flex",
30
+ alignItems: "center",
31
+ justifyContent: "center",
32
+ width: 28,
33
+ height: 28,
34
+ background: id === activeToolId ? ACCENT : "rgba(255,255,255,0.1)",
35
+ }, children: _jsx(IconSlot, { render: definition.icon }) }, id))) }) }), groups.map(([group, items]) => (_jsx(Section, { title: group, children: items.map(({ id, action }) => (_jsx(ActionRow, { action: action, onAfterRun: bump }, id))) }, group))), actionList.length === 0 && (_jsxs("div", { style: { color: TEXT_MUTED, fontSize: 10, marginBottom: 6 }, children: ["No registered actions. Plugins expose operations via ", _jsx("code", { children: "ctx.actions.register" }), "."] })), shapesSection && (_jsx(Section, { title: "Shapes", defaultOpen: false, children: shapesSection })), _jsx(Section, { title: "Emit event", defaultOpen: false, children: _jsx(EventConsole, { events: events }) }), _jsx(Section, { title: "Style", defaultOpen: false, children: _jsx(StyleControls, { store: store }) })] }));
36
+ }
37
+ /** Collapsible section with a clickable header. */
38
+ function Section({ title, defaultOpen = true, children, }) {
39
+ const [open, setOpen] = useState(defaultOpen);
40
+ return (_jsxs("div", { style: sectionStyle, children: [_jsxs("button", { type: "button", onClick: () => setOpen((o) => !o), style: sectionHeaderStyle, title: open ? "Collapse" : "Expand", children: [_jsx("span", { style: { color: ACCENT, marginRight: 6, fontSize: 8 }, children: open ? "▼" : "▶" }), title] }), open && _jsx("div", { style: sectionBodyStyle, children: children })] }));
41
+ }
42
+ function groupActions(list) {
43
+ const map = new Map();
44
+ for (const entry of list) {
45
+ const g = entry.action.group ?? "Actions";
46
+ const bucket = map.get(g) ?? [];
47
+ bucket.push(entry);
48
+ map.set(g, bucket);
49
+ }
50
+ return [...map.entries()];
51
+ }
52
+ function IconSlot({ render }) {
53
+ try {
54
+ return render();
55
+ }
56
+ catch {
57
+ return _jsx("span", { children: "?" });
58
+ }
59
+ }
60
+ /** One action: a button (no params) or inline param controls + Run. */
61
+ function ActionRow({ action, onAfterRun }) {
62
+ const [args, setArgs] = useState(() => defaultArgs(action.params));
63
+ const enabled = action.isEnabled ? action.isEnabled() : true;
64
+ const active = action.isActive?.() ?? false;
65
+ // アクション実行後に必ず親を再レンダーさせ、isActive/isEnabled を再評価する。
66
+ // これがないと、store を変えずプラグインローカル状態だけ更新する toggle 系で
67
+ // インジケータが次の無関係な再レンダーまで stale になる。
68
+ // run は void | Promise<void>。同期例外・非同期 reject を握りつぶさずログし、
69
+ // finally で onAfterRun を必ず呼んで UI 反映を保証する。
70
+ const run = (a) => {
71
+ try {
72
+ const result = action.run(a);
73
+ if (result && typeof result.then === "function") {
74
+ result.catch((err) => console.error(`Action "${action.id}" failed:`, err));
75
+ }
76
+ }
77
+ catch (err) {
78
+ console.error(`Action "${action.id}" failed:`, err);
79
+ }
80
+ finally {
81
+ onAfterRun();
82
+ }
83
+ };
84
+ if (!action.params || action.params.length === 0) {
85
+ return (_jsxs("button", { type: "button", disabled: !enabled, onClick: () => run({}), style: {
86
+ ...(active ? MINI_BUTTON_ACCENT : MINI_BUTTON),
87
+ display: "block",
88
+ width: "100%",
89
+ textAlign: "left",
90
+ marginBottom: 3,
91
+ opacity: enabled ? 1 : 0.4,
92
+ }, children: [active ? "● " : "", action.label] }));
93
+ }
94
+ return (_jsxs("div", { style: { marginBottom: 4 }, children: [_jsx("div", { style: { color: TEXT_LABEL, fontSize: 10 }, children: action.label }), _jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: 4, alignItems: "center" }, children: [action.params.map((p) => (_jsx(ParamControl, { param: p, value: args[p.name], onChange: (v) => setArgs((prev) => ({ ...prev, [p.name]: v })) }, p.name))), _jsx("button", { type: "button", disabled: !enabled, onClick: () => run(args), style: { ...MINI_BUTTON_ACCENT, opacity: enabled ? 1 : 0.4 }, children: "Run" })] })] }));
95
+ }
96
+ function defaultArgs(params) {
97
+ const out = {};
98
+ for (const p of params ?? []) {
99
+ if (p.default !== undefined)
100
+ out[p.name] = p.default;
101
+ else if (p.type === "enum")
102
+ out[p.name] = p.options?.[0]?.value;
103
+ else if (p.type === "boolean")
104
+ out[p.name] = false;
105
+ else if (p.type === "number")
106
+ out[p.name] = p.min ?? 0;
107
+ else if (p.type === "color")
108
+ out[p.name] = "#000000";
109
+ else
110
+ out[p.name] = "";
111
+ }
112
+ return out;
113
+ }
114
+ function ParamControl({ param, value, onChange, }) {
115
+ switch (param.type) {
116
+ case "enum":
117
+ return (_jsx("select", { value: String(value ?? ""), onChange: (e) => onChange(e.target.value), style: { ...INLINE_INPUT, width: "auto" }, children: param.options?.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) }));
118
+ case "boolean":
119
+ return (_jsx("input", { type: "checkbox", checked: Boolean(value), onChange: (e) => onChange(e.target.checked) }));
120
+ case "color":
121
+ return (_jsx("input", { type: "color", value: String(value ?? "#000000"), onChange: (e) => onChange(e.target.value) }));
122
+ case "number":
123
+ return (_jsx("input", { type: "number", value: Number(value ?? 0), min: param.min, max: param.max, step: param.step, onChange: (e) => onChange(Number(e.target.value)), style: INLINE_INPUT }));
124
+ default:
125
+ return (_jsx("input", { type: "text", value: String(value ?? ""), onChange: (e) => onChange(e.target.value), style: INLINE_INPUT }));
126
+ }
127
+ }
128
+ /** Emit an arbitrary event with a JSON payload — the universal fallback. */
129
+ function EventConsole({ events }) {
130
+ const [name, setName] = useState("");
131
+ const [payload, setPayload] = useState("{}");
132
+ const [err, setErr] = useState(null);
133
+ const emit = () => {
134
+ if (!name.trim())
135
+ return;
136
+ let data = {};
137
+ if (payload.trim()) {
138
+ try {
139
+ data = JSON.parse(payload);
140
+ }
141
+ catch {
142
+ setErr("invalid JSON");
143
+ return;
144
+ }
145
+ }
146
+ setErr(null);
147
+ events.emit(name.trim(), data);
148
+ };
149
+ return (_jsxs("div", { children: [_jsx("input", { type: "text", value: name, placeholder: "event:name", onChange: (e) => setName(e.target.value), style: { ...INLINE_INPUT, width: "100%", marginBottom: 3 } }), _jsx("textarea", { value: payload, onChange: (e) => setPayload(e.target.value), spellCheck: false, style: {
150
+ ...INLINE_INPUT,
151
+ width: "100%",
152
+ height: 36,
153
+ resize: "vertical",
154
+ marginBottom: 3,
155
+ } }), _jsxs("div", { style: { display: "flex", gap: 4, alignItems: "center" }, children: [_jsx("button", { type: "button", onClick: emit, style: MINI_BUTTON_ACCENT, children: "Emit" }), err && _jsx("span", { style: { color: "#f87171", fontSize: 10 }, children: err })] })] }));
156
+ }
157
+ /** Edit the default draw style (applies to new shapes via setStyleSettings). */
158
+ function StyleControls({ store }) {
159
+ const s = store.getStyleSettings();
160
+ // setStyleSettings はストア側で既存設定にマージする({ ...styleSettings, ...patch })。
161
+ // ここで render 時点の `s` と再マージすると stale な値を書き戻し、並行変更
162
+ // (fill 変更直後の stroke 変更など)を打ち消しかねないので patch だけ渡す。
163
+ const set = (patch) => store.setStyleSettings(patch);
164
+ const clearCanvas = () => {
165
+ const ids = [...store.getShapes().keys()];
166
+ if (ids.length === 0)
167
+ return;
168
+ // HUD が本番でも出るようになったため、誤爆防止に確認を挟む。
169
+ // deleteShape 直呼びは undo 履歴を通らない破壊的操作である点も明示する。
170
+ if (typeof window !== "undefined" &&
171
+ !window.confirm(`Delete all ${ids.length} shape(s)? This cannot be undone.`)) {
172
+ return;
173
+ }
174
+ for (const id of ids)
175
+ store.deleteShape(id);
176
+ };
177
+ return (_jsxs("div", { children: [_jsxs("div", { style: { display: "flex", gap: 6, alignItems: "center", marginBottom: 4 }, children: [_jsxs("label", { style: swatchLabel, children: ["fill", _jsx("input", { type: "color", value: toHex(s.fill), onChange: (e) => set({ fill: e.target.value }) })] }), _jsxs("label", { style: swatchLabel, children: ["stroke", _jsx("input", { type: "color", value: toHex(s.stroke), onChange: (e) => set({ stroke: e.target.value }) })] })] }), _jsx("button", { type: "button", onClick: clearCanvas, style: { ...MINI_BUTTON, color: "#f87171", borderColor: "#f87171" }, children: "Clear canvas" })] }));
178
+ }
179
+ function toHex(color) {
180
+ return typeof color === "string" && /^#[0-9a-fA-F]{6}$/.test(color) ? color : "#000000";
181
+ }
182
+ const dockStyle = {
183
+ ...PANEL_BASE,
184
+ // width must include padding so DebugHud's sibling offset (based on the
185
+ // nominal width) actually clears the dock — otherwise content-box padding
186
+ // makes the dock ~20px wider than expected and the minimap overlaps it.
187
+ boxSizing: "border-box",
188
+ position: "absolute",
189
+ left: 8,
190
+ top: 8,
191
+ bottom: 8,
192
+ width: CONTROLS_DOCK_WIDTH,
193
+ overflowY: "auto",
194
+ };
195
+ const collapsedStripStyle = {
196
+ ...PANEL_BASE,
197
+ boxSizing: "border-box",
198
+ position: "absolute",
199
+ left: 8,
200
+ top: 8,
201
+ bottom: 8,
202
+ width: CONTROLS_DOCK_COLLAPSED,
203
+ display: "flex",
204
+ alignItems: "center",
205
+ justifyContent: "center",
206
+ cursor: "pointer",
207
+ border: "none",
208
+ color: ACCENT,
209
+ fontSize: 11,
210
+ fontWeight: 700,
211
+ };
212
+ const headerStyle = {
213
+ display: "flex",
214
+ alignItems: "center",
215
+ justifyContent: "space-between",
216
+ marginBottom: 2,
217
+ fontSize: 11,
218
+ };
219
+ // セクションごとに区切り線 + 上マージンを付けて境界を明確にする。
220
+ const sectionStyle = {
221
+ marginTop: 10,
222
+ paddingTop: 10,
223
+ borderTop: "1px solid rgba(255, 255, 255, 0.1)",
224
+ };
225
+ // ヘッダーは大文字 + トラッキング + やや明るい色でスキャンしやすくする。
226
+ const sectionHeaderStyle = {
227
+ display: "flex",
228
+ alignItems: "center",
229
+ width: "100%",
230
+ textAlign: "left",
231
+ background: "transparent",
232
+ border: "none",
233
+ cursor: "pointer",
234
+ padding: 0,
235
+ margin: 0,
236
+ fontFamily: "inherit",
237
+ color: "#c9c9d4",
238
+ fontSize: 10.5,
239
+ fontWeight: 600,
240
+ letterSpacing: 0.6,
241
+ textTransform: "uppercase",
242
+ };
243
+ // 本文はインデント + 左のレールで「ヘッダー配下」であることを視覚化する。
244
+ const sectionBodyStyle = {
245
+ marginTop: 8,
246
+ marginLeft: 3,
247
+ paddingLeft: 9,
248
+ borderLeft: "1px solid rgba(255, 255, 255, 0.08)",
249
+ };
250
+ const toolGridStyle = {
251
+ display: "flex",
252
+ flexWrap: "wrap",
253
+ gap: 4,
254
+ };
255
+ const swatchLabel = {
256
+ display: "flex",
257
+ alignItems: "center",
258
+ gap: 3,
259
+ color: TEXT_LABEL,
260
+ fontSize: 10,
261
+ };
262
+ //# sourceMappingURL=controls-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls-panel.js","sourceRoot":"","sources":["../../src/panels/controls-panel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events-panel.d.ts","sourceRoot":"","sources":["../../src/panels/events-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGrE,UAAU,gBAAgB;IACzB,WAAW,EAAE,WAAW,CAAC;CACzB;AA4BD,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,gBAAgB,+BAwE5D"}
1
+ {"version":3,"file":"events-panel.d.ts","sourceRoot":"","sources":["../../src/panels/events-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIrE,UAAU,gBAAgB;IACzB,WAAW,EAAE,WAAW,CAAC;CACzB;AA4BD,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,gBAAgB,+BAyE5D"}
@@ -1,5 +1,6 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useState, useSyncExternalStore } from "react";
3
+ import { STOP_CANVAS_PROPAGATION } from "../stop-propagation.js";
3
4
  import { LABEL_STYLE, MINI_BUTTON, PANEL_BASE, SCROLLABLE_STYLE, TEXT_MUTED } from "../styles.js";
4
5
  const EVENT_COLORS = {
5
6
  // canvas events — each action gets its own shade
@@ -30,7 +31,7 @@ export function EventsPanel({ eventLogger }) {
30
31
  const filtered = filter
31
32
  ? events.filter((e) => e.event.toLowerCase().includes(filter.toLowerCase()))
32
33
  : events;
33
- return (_jsxs("div", { style: {
34
+ return (_jsxs("div", { ...STOP_CANVAS_PROPAGATION, style: {
34
35
  ...PANEL_BASE,
35
36
  position: "absolute",
36
37
  bottom: 8,
@@ -1 +1 @@
1
- {"version":3,"file":"events-panel.js","sourceRoot":"","sources":["../../src/panels/events-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events-panel.js","sourceRoot":"","sources":["../../src/panels/events-panel.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { BoardStore, CommandRegistry, EventBus, LayerManager, ShapeRegistry, ToolRegistry, Viewport } from "@edv4h/usketch-shared";
2
+ import type { BoardMetaTrackerLike } from "../board-meta-types.js";
2
3
  import type { FpsCounter } from "../fps-counter.js";
3
4
  import type { PointerTracker } from "../pointer-tracker.js";
4
5
  import type { SyncStatusTrackerLike } from "../sync-status-types.js";
@@ -11,10 +12,11 @@ interface GeneralPanelProps {
11
12
  layers: LayerManager;
12
13
  shapes: ShapeRegistry;
13
14
  syncStatus?: SyncStatusTrackerLike;
15
+ boardMeta?: BoardMetaTrackerLike;
14
16
  events: EventBus;
15
17
  viewport: Viewport;
16
18
  activeToolId: string;
17
19
  }
18
- export declare function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tools, layers, shapes, syncStatus, events, viewport, activeToolId, }: GeneralPanelProps): import("react").JSX.Element;
20
+ export declare function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tools, layers, shapes, syncStatus, boardMeta, events, viewport, activeToolId, }: GeneralPanelProps): import("react").JSX.Element;
19
21
  export {};
20
22
  //# sourceMappingURL=general-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-panel.d.ts","sourceRoot":"","sources":["../../src/panels/general-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,OAAO,KAAK,EAAsB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQzF,UAAU,iBAAiB;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAmCD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,EAAE,iBAAiB,+BAkOnB"}
1
+ {"version":3,"file":"general-panel.d.ts","sourceRoot":"","sources":["../../src/panels/general-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAY5D,OAAO,KAAK,EAAsB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQzF,UAAU,iBAAiB;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAqCD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,EAAE,iBAAiB,+BAoPnB"}
@@ -1,7 +1,9 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useState, useSyncExternalStore } from "react";
3
3
  import { FpsGraph } from "../components/fps-graph.js";
4
+ import { STOP_CANVAS_PROPAGATION } from "../stop-propagation.js";
4
5
  import { fmt, fpsColor, INLINE_INPUT, LABEL_STYLE, MINI_BUTTON, MINI_BUTTON_ACCENT, PANEL_BASE, SECTION_STYLE, } from "../styles.js";
6
+ const DEFAULT_BOARD_META = { name: null, isCloud: false };
5
7
  const DEFAULT_SYNC_SNAPSHOT = {
6
8
  state: "loading",
7
9
  shapeCount: 0,
@@ -32,10 +34,11 @@ function formatTimestamp(ts) {
32
34
  const d = new Date(ts);
33
35
  return `${d.getHours().toString().padStart(2, "0")}:${d.getMinutes().toString().padStart(2, "0")}:${d.getSeconds().toString().padStart(2, "0")}`;
34
36
  }
35
- export function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tools, layers, shapes, syncStatus, events, viewport, activeToolId, }) {
37
+ export function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tools, layers, shapes, syncStatus, boardMeta, events, viewport, activeToolId, }) {
36
38
  const fps = useSyncExternalStore(useCallback((cb) => fpsCounter.subscribe(cb), [fpsCounter]), () => fpsCounter.getSnapshot());
37
39
  const pointer = useSyncExternalStore(useCallback((cb) => pointerTracker.subscribe(cb), [pointerTracker]), () => pointerTracker.getSnapshot());
38
40
  const syncSnapshot = useSyncExternalStore(useCallback((cb) => (syncStatus ? syncStatus.subscribe(cb) : () => { }), [syncStatus]), () => syncStatus?.getSnapshot() ?? DEFAULT_SYNC_SNAPSHOT);
41
+ const board = useSyncExternalStore(useCallback((cb) => (boardMeta ? boardMeta.subscribe(cb) : () => { }), [boardMeta]), () => boardMeta?.getSnapshot() ?? DEFAULT_BOARD_META);
39
42
  const canUndo = commands.canUndo();
40
43
  const canRedo = commands.canRedo();
41
44
  const historySize = commands.getHistorySize();
@@ -64,13 +67,13 @@ export function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tool
64
67
  }
65
68
  setEditingViewport(false);
66
69
  };
67
- return (_jsxs("div", { style: {
70
+ return (_jsxs("div", { ...STOP_CANVAS_PROPAGATION, style: {
68
71
  ...PANEL_BASE,
69
72
  position: "absolute",
70
73
  top: 8,
71
74
  right: 8,
72
75
  width: 220,
73
- }, children: [_jsxs("div", { style: SECTION_STYLE, children: [_jsxs("span", { style: { color: fpsColor(fps), fontWeight: "bold" }, children: [fps, " FPS"] }), _jsx(FpsGraph, { fpsCounter: fpsCounter })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsxs("div", { style: LABEL_STYLE, children: ["Viewport", " ", !editingViewport && (_jsx("button", { type: "button", style: MINI_BUTTON, onClick: startEditViewport, children: "edit" }))] }), editingViewport ? (_jsxs("div", { style: { display: "flex", gap: 3, alignItems: "center" }, children: [_jsx("input", { style: INLINE_INPUT, value: vpDraft.x, onChange: (e) => setVpDraft((d) => ({ ...d, x: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("input", { style: INLINE_INPUT, value: vpDraft.y, onChange: (e) => setVpDraft((d) => ({ ...d, y: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("input", { style: { ...INLINE_INPUT, width: 36 }, value: vpDraft.zoom, onChange: (e) => setVpDraft((d) => ({ ...d, zoom: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("button", { type: "button", style: MINI_BUTTON_ACCENT, onClick: commitViewport, children: "OK" })] })) : (_jsxs("div", { children: ["x: ", fmt(viewport.x), " y: ", fmt(viewport.y), " zoom: ", fmt(viewport.zoom)] }))] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Active Tool" }), _jsx("div", { children: activeToolId })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Pointer" }), _jsxs("div", { children: ["world: (", fmt(pointer.world.x), ", ", fmt(pointer.world.y), ")"] }), _jsxs("div", { children: ["screen: (", fmt(pointer.screen.x), ", ", fmt(pointer.screen.y), ")"] })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsxs("div", { style: LABEL_STYLE, children: ["History (", historyCursor + 1, "/", historySize, ")"] }), _jsxs("div", { style: { display: "flex", gap: 4 }, children: [_jsx("button", { type: "button", style: { ...MINI_BUTTON, opacity: canUndo ? 1 : 0.3 }, disabled: !canUndo, onClick: () => commands.undo(), children: "\u27F5 Undo" }), _jsx("button", { type: "button", style: { ...MINI_BUTTON, opacity: canRedo ? 1 : 0.3 }, disabled: !canRedo, onClick: () => commands.redo(), children: "Redo \u27F6" })] })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Persistence (Yjs + IndexedDB)" }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 5 }, children: [_jsx("span", { style: {
76
+ }, children: [_jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Board" }), _jsx("div", { style: { fontWeight: 600, color: "#e5e7eb", wordBreak: "break-word" }, children: board.name ?? "(untitled)" }), _jsxs("div", { style: { color: "#888" }, children: [board.isCloud ? "☁ Cloud" : "🖥 Local", board.id ? ` · ${board.id}` : ""] })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsxs("span", { style: { color: fpsColor(fps), fontWeight: "bold" }, children: [fps, " FPS"] }), _jsx(FpsGraph, { fpsCounter: fpsCounter })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsxs("div", { style: LABEL_STYLE, children: ["Viewport", " ", !editingViewport && (_jsx("button", { type: "button", style: MINI_BUTTON, onClick: startEditViewport, children: "edit" }))] }), editingViewport ? (_jsxs("div", { style: { display: "flex", gap: 3, alignItems: "center" }, children: [_jsx("input", { style: INLINE_INPUT, value: vpDraft.x, onChange: (e) => setVpDraft((d) => ({ ...d, x: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("input", { style: INLINE_INPUT, value: vpDraft.y, onChange: (e) => setVpDraft((d) => ({ ...d, y: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("input", { style: { ...INLINE_INPUT, width: 36 }, value: vpDraft.zoom, onChange: (e) => setVpDraft((d) => ({ ...d, zoom: e.target.value })), onKeyDown: (e) => e.key === "Enter" && commitViewport() }), _jsx("button", { type: "button", style: MINI_BUTTON_ACCENT, onClick: commitViewport, children: "OK" })] })) : (_jsxs("div", { children: ["x: ", fmt(viewport.x), " y: ", fmt(viewport.y), " zoom: ", fmt(viewport.zoom)] }))] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Active Tool" }), _jsx("div", { children: activeToolId })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Pointer" }), _jsxs("div", { children: ["world: (", fmt(pointer.world.x), ", ", fmt(pointer.world.y), ")"] }), _jsxs("div", { children: ["screen: (", fmt(pointer.screen.x), ", ", fmt(pointer.screen.y), ")"] })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsxs("div", { style: LABEL_STYLE, children: ["History (", historyCursor + 1, "/", historySize, ")"] }), _jsxs("div", { style: { display: "flex", gap: 4 }, children: [_jsx("button", { type: "button", style: { ...MINI_BUTTON, opacity: canUndo ? 1 : 0.3 }, disabled: !canUndo, onClick: () => commands.undo(), children: "\u27F5 Undo" }), _jsx("button", { type: "button", style: { ...MINI_BUTTON, opacity: canRedo ? 1 : 0.3 }, disabled: !canRedo, onClick: () => commands.redo(), children: "Redo \u27F6" })] })] }), _jsxs("div", { style: SECTION_STYLE, children: [_jsx("div", { style: LABEL_STYLE, children: "Persistence (Yjs + IndexedDB)" }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 5 }, children: [_jsx("span", { style: {
74
77
  display: "inline-block",
75
78
  width: 7,
76
79
  height: 7,
@@ -1 +1 @@
1
- {"version":3,"file":"general-panel.js","sourceRoot":"","sources":["../../src/panels/general-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general-panel.js","sourceRoot":"","sources":["../../src/panels/general-panel.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACN,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,GACb,MAAM,cAAc,CAAC;AAwBtB,MAAM,kBAAkB,GAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAE7E,MAAM,qBAAqB,GAAuB;IACjD,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,KAAK,EAAE,IAAI;IACX,mBAAmB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IACjD,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IACvB,KAAK,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IACjD,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;CACd,CAAC;AAEF,SAAS,eAAe,CAAC,EAAiB;IACzC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAClJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,GACO;IACnB,MAAM,GAAG,GAAG,oBAAoB,CAC/B,WAAW,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EACvE,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAC9B,CAAC;IAEF,MAAM,OAAO,GAAG,oBAAoB,CACnC,WAAW,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAC/E,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,CAClC,CAAC;IAEF,MAAM,YAAY,GAAG,oBAAoB,CACxC,WAAW,CACV,CAAC,EAAc,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EACtE,CAAC,UAAU,CAAC,CACZ,EACD,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,qBAAqB,CACxD,CAAC;IAEF,MAAM,KAAK,GAAG,oBAAoB,CACjC,WAAW,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAC9F,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,kBAAkB,CACpD,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IAE5C,sDAAsD;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IAChE,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,MAAM,CAAC,EAAE,CAAW,oBAAoB,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,4BAA4B;IAC5B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7E,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACN,kBACK,uBAAuB,EAC3B,KAAK,EAAE;YACN,GAAG,UAAU;YACb,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,GAAG;SACV,aAGD,eAAK,KAAK,EAAE,aAAa,aACxB,cAAK,KAAK,EAAE,WAAW,sBAAa,EACpC,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YACxE,KAAK,CAAC,IAAI,IAAI,YAAY,GACtB,EACN,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EACtC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAC5B,IACD,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,aAAG,GAAG,YAAY,EAC3E,KAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,IAC/B,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,eAAK,KAAK,EAAE,WAAW,yBACb,GAAG,EACX,CAAC,eAAe,IAAI,CACpB,iBAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,qBAE3D,CACT,IACI,EACL,eAAe,CAAC,CAAC,CAAC,CAClB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC5D,gBACC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO,CAAC,CAAC,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EACjE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,cAAc,EAAE,GACtD,EACF,gBACC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO,CAAC,CAAC,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EACjE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,cAAc,EAAE,GACtD,EACF,gBACC,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EACrC,KAAK,EAAE,OAAO,CAAC,IAAI,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EACpE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,cAAc,EAAE,GACtD,EACF,iBAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,mBAE/D,IACJ,CACN,CAAC,CAAC,CAAC,CACH,iCACK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAC9D,CACN,IACI,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,cAAK,KAAK,EAAE,WAAW,4BAAmB,EAC1C,wBAAM,YAAY,GAAO,IACpB,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,cAAK,KAAK,EAAE,WAAW,wBAAe,EACtC,sCACU,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAChD,EACN,uCACW,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SACnD,IACD,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,eAAK,KAAK,EAAE,WAAW,0BACZ,aAAa,GAAG,CAAC,OAAG,WAAW,SACpC,EACN,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACtC,iBACC,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EACrD,QAAQ,EAAE,CAAC,OAAO,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAGtB,EACT,iBACC,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EACrD,QAAQ,EAAE,CAAC,OAAO,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAGtB,IACJ,IACD,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,cAAK,KAAK,EAAE,WAAW,8CAAqC,EAC5D,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAC5D,eACC,KAAK,EAAE;oCACN,OAAO,EAAE,cAAc;oCACvB,KAAK,EAAE,CAAC;oCACR,MAAM,EAAE,CAAC;oCACT,YAAY,EAAE,KAAK;oCACnB,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM;iCAC3D,GACA,EACF,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,YACrE,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,GACtD,IACF,EACN,sCACU,YAAY,CAAC,UAAU,oBAAW,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,IAChF,EAOL,YAAY,CAAC,iBAAiB,IAAI,IAAI;wBACtC,YAAY,CAAC,mBAAmB;wBAChC,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9C,eACC,KAAK,EAAE;4BACN,SAAS,EAAE,CAAC;4BACZ,OAAO,EAAE,SAAS;4BAClB,YAAY,EAAE,CAAC;4BACf,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;yBACf,EACD,KAAK,EAAC,uIAA6C,oEAElC,YAAY,CAAC,mBAAmB,CAAC,MAAM,eACnD,CACN,EACD,YAAY,CAAC,KAAK,IAAI,CACtB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAG,YAAY,CAAC,KAAK,GAAO,CAC1E,IACI,EAGN,eAAK,KAAK,EAAE,aAAa,aACxB,cAAK,KAAK,EAAE,WAAW,uBAAc,EACrC,qCACS,SAAS,sBAAa,UAAU,2BAAkB,cAAc,IACnE,IACD,EAGN,0BACC,cAAK,KAAK,EAAE,WAAW,6BAAoB,EAC1C,QAAQ,CAAC,CAAC,CAAC,CACX,0BACC,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,uBAAc,EAC9C,mCACO,QAAQ,CAAC,aAAa,aAAS,QAAQ,CAAC,QAAQ,cAAU,GAAG,EAClE,QAAQ,CAAC,aAAa,SAClB,IACD,CACN,CAAC,CAAC,CAAC,CACH,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oCAA2B,CACxD,IACI,IACD,CACN,CAAC;AACH,CAAC"}
@@ -9,7 +9,11 @@ interface ShapesPanelProps {
9
9
  /** Shapes that exist locally but the server hasn't acknowledged. Empty if the
10
10
  * sync layer doesn't track divergence. */
11
11
  unconfirmedShapeIds?: ReadonlySet<string>;
12
+ /** Left offset so the panel clears the Controls dock. Default 8. */
13
+ offsetLeft?: number;
14
+ /** Render inline (inside the Controls dock section) instead of a floating panel. */
15
+ docked?: boolean;
12
16
  }
13
- export declare function ShapesPanel({ store, commands, shapes, selection, registry, onHoverShape, unconfirmedShapeIds, }: ShapesPanelProps): import("react").JSX.Element;
17
+ export declare function ShapesPanel({ store, commands, shapes, selection, registry, onHoverShape, unconfirmedShapeIds, offsetLeft, docked, }: ShapesPanelProps): import("react").JSX.Element;
14
18
  export {};
15
19
  //# sourceMappingURL=shapes-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shapes-panel.d.ts","sourceRoot":"","sources":["../../src/panels/shapes-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAenG,UAAU,gBAAgB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;8CAC0C;IAC1C,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AA+DD,wBAAgB,WAAW,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,mBAAmB,GACnB,EAAE,gBAAgB,+BAqJlB"}
1
+ {"version":3,"file":"shapes-panel.d.ts","sourceRoot":"","sources":["../../src/panels/shapes-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAenG,UAAU,gBAAgB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;8CAC0C;IAC1C,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AA+DD,wBAAgB,WAAW,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,UAAc,EACd,MAAc,GACd,EAAE,gBAAgB,+BA8JlB"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { ACCENT_DIM, fmt, INLINE_INPUT, LABEL_STYLE, MINI_BUTTON, MINI_BUTTON_ACCENT, PANEL_BASE, SCROLLABLE_STYLE, shortId, TEXT_MUTED, } from "../styles.js";
4
4
  // Keys rendered explicitly in the always-on portion of the panel. Anything
@@ -33,12 +33,9 @@ function EditableField({ label, value, onCommit, }) {
33
33
  // biome-ignore lint/a11y/noAutofocus: debug tool inline edit needs immediate focus
34
34
  autoFocus: true })] }));
35
35
  }
36
- return (
37
- // biome-ignore lint/a11y/useKeyWithClickEvents: debug tool
38
- // biome-ignore lint/a11y/noStaticElementInteractions: debug tool
39
- _jsxs("span", { onClick: start, style: { cursor: "text" }, title: "Click to edit", children: [label, ": ", fmt(value)] }));
36
+ return (_jsxs("span", { onClick: start, style: { cursor: "text" }, title: "Click to edit", children: [label, ": ", fmt(value)] }));
40
37
  }
41
- export function ShapesPanel({ store, commands, shapes, selection, registry, onHoverShape, unconfirmedShapeIds, }) {
38
+ export function ShapesPanel({ store, commands, shapes, selection, registry, onHoverShape, unconfirmedShapeIds, offsetLeft = 8, docked = false, }) {
42
39
  const [expandedId, setExpandedId] = useState(null);
43
40
  const [filterUnconfirmed, setFilterUnconfirmed] = useState(false);
44
41
  const unconfirmedCount = unconfirmedShapeIds?.size ?? 0;
@@ -72,16 +69,7 @@ export function ShapesPanel({ store, commands, shapes, selection, registry, onHo
72
69
  undo: () => store.addShape(snapshot),
73
70
  });
74
71
  };
75
- return (_jsxs("div", { style: {
76
- ...PANEL_BASE,
77
- position: "absolute",
78
- top: 8,
79
- left: 8,
80
- width: 240,
81
- height: 300,
82
- display: "flex",
83
- flexDirection: "column",
84
- }, children: [_jsxs("div", { style: {
72
+ const content = (_jsxs(_Fragment, { children: [_jsxs("div", { style: {
85
73
  ...LABEL_STYLE,
86
74
  display: "flex",
87
75
  alignItems: "center",
@@ -92,13 +80,11 @@ export function ShapesPanel({ store, commands, shapes, selection, registry, onHo
92
80
  background: filterUnconfirmed ? "#7f1d1d" : "transparent",
93
81
  color: filterUnconfirmed ? "#fecaca" : "#f87171",
94
82
  border: "1px solid #7f1d1d",
95
- }, title: "\u30B5\u30FC\u30D0\u672A\u540C\u671F Shape \u306E\u307F\u3092\u8868\u793A", children: ["\u26A0 ", unconfirmedCount] }))] }), _jsx("div", { style: { ...SCROLLABLE_STYLE, flexGrow: 1, maxHeight: "none" }, children: shapeEntries.length === 0 ? (_jsx("div", { style: { color: TEXT_MUTED }, children: "No shapes" })) : (shapeEntries.map((s) => {
83
+ }, title: "\u30B5\u30FC\u30D0\u672A\u540C\u671F Shape \u306E\u307F\u3092\u8868\u793A", children: ["\u26A0 ", unconfirmedCount] }))] }), _jsx("div", { style: { ...SCROLLABLE_STYLE, flexGrow: 1, maxHeight: docked ? 220 : "none" }, children: shapeEntries.length === 0 ? (_jsx("div", { style: { color: TEXT_MUTED }, children: "No shapes" })) : (shapeEntries.map((s) => {
96
84
  const isSelected = selection.has(s.id);
97
85
  const isExpanded = expandedId === s.id;
98
86
  const isUnconfirmed = unconfirmedShapeIds?.has(s.id) ?? false;
99
- return (
100
- // biome-ignore lint/a11y/noStaticElementInteractions: debug tool
101
- _jsxs("div", { onMouseEnter: () => onHoverShape(s.id), onMouseLeave: () => onHoverShape(null), children: [_jsxs("div", { onClick: () => setExpandedId(isExpanded ? null : s.id), style: {
87
+ return (_jsxs("div", { onMouseEnter: () => onHoverShape(s.id), onMouseLeave: () => onHoverShape(null), children: [_jsxs("div", { onClick: () => setExpandedId(isExpanded ? null : s.id), style: {
102
88
  padding: "2px 4px",
103
89
  borderRadius: 3,
104
90
  background: isSelected ? ACCENT_DIM : "transparent",
@@ -116,6 +102,19 @@ export function ShapesPanel({ store, commands, shapes, selection, registry, onHo
116
102
  fontWeight: 600,
117
103
  }, title: "\u30B5\u30FC\u30D0\u306E Y.Doc \u306B\u5B58\u5728\u3057\u307E\u305B\u3093", children: "\u26A0 \u672A\u540C\u671F" }))] }), _jsxs("span", { style: { color: TEXT_MUTED, fontSize: 9 }, children: ["(", fmt(s.x), ", ", fmt(s.y), ")"] })] }), isExpanded && (_jsx(ShapeDetail, { shape: s, store: store, selection: selection, registry: registry, onUpdate: updateField, onDelete: deleteShape }))] }, s.id));
118
104
  })) })] }));
105
+ if (docked) {
106
+ return _jsx("div", { style: { display: "flex", flexDirection: "column" }, children: content });
107
+ }
108
+ return (_jsx("div", { style: {
109
+ ...PANEL_BASE,
110
+ position: "absolute",
111
+ top: 8,
112
+ left: offsetLeft,
113
+ width: 240,
114
+ height: 300,
115
+ display: "flex",
116
+ flexDirection: "column",
117
+ }, children: content }));
119
118
  }
120
119
  function ShapeDetail({ shape, store, selection, registry, onUpdate, onDelete, }) {
121
120
  const def = registry.get(shape.type);
@@ -1 +1 @@
1
- {"version":3,"file":"shapes-panel.js","sourceRoot":"","sources":["../../src/panels/shapes-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapes-panel.js","sourceRoot":"","sources":["../../src/panels/shapes-panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACN,UAAU,EACV,GAAG,EACH,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,UAAU,GACV,MAAM,cAAc,CAAC;AAkBtB,2EAA2E;AAC3E,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7F,SAAS,aAAa,CAAC,EACtB,KAAK,EACL,KAAK,EACL,QAAQ,GAKR;IACA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO;QACjC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CACN,2BACE,KAAK,OAAG,GAAG,EACZ,gBACC,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EACrC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;wBAChB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;4BAAE,MAAM,EAAE,CAAC;wBAChC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;4BAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC,EACD,MAAM,EAAE,MAAM;oBACd,mFAAmF;oBACnF,SAAS,SACR,IACI,CACP,CAAC;IACH,CAAC;IAED,OAAO,CAGN,gBAAM,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,eAAe,aACpE,KAAK,QAAI,GAAG,CAAC,KAAK,CAAC,IACd,CACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,UAAU,GAAG,CAAC,EACd,MAAM,GAAG,KAAK,GACI;IAClB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,IAAI,IAAI,CAAC,CAAC;IAExD,mEAAmE;IACnE,uEAAuE;IACvE,uEAAuE;IACvE,sBAAsB;IACtB,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,gBAAgB,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACjD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,EAAG,KAA4C,CAAC,KAAK,CAAW,EAAE,CAAC;QACzF,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;SACvC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACf,8BACC,eACC,KAAK,EAAE;oBACN,GAAG,WAAW;oBACd,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,eAAe;oBAC/B,GAAG,EAAE,CAAC;iBACN,aAED,uCAAe,MAAM,CAAC,IAAI,SAAS,EAClC,gBAAgB,GAAG,CAAC,IAAI,CACxB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE;4BACN,GAAG,WAAW;4BACd,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;4BACzD,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;4BAChD,MAAM,EAAE,mBAAmB;yBAC3B,EACD,KAAK,EAAC,2EAAoB,wBAEvB,gBAAgB,IACX,CACT,IACI,EACN,cAAK,KAAK,EAAE,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,YAChF,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5B,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,0BAAiB,CAClD,CAAC,CAAC,CAAC,CACH,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtB,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,MAAM,UAAU,GAAG,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvC,MAAM,aAAa,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;oBAC9D,OAAO,CAEN,eAEC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,aAItC,eACC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,KAAK,EAAE;oCACN,OAAO,EAAE,SAAS;oCAClB,YAAY,EAAE,CAAC;oCACf,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;oCACnD,MAAM,EAAE,SAAS;oCACjB,OAAO,EAAE,MAAM;oCACf,cAAc,EAAE,eAAe;oCAC/B,UAAU,EAAE,QAAQ;iCACpB,aAED,2BACE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAC5C,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAG,CAAC,CAAC,IAAI,GAAQ,EAClD,aAAa,IAAI,CACjB,eACC,KAAK,EAAE;oDACN,UAAU,EAAE,CAAC;oDACb,OAAO,EAAE,OAAO;oDAChB,YAAY,EAAE,CAAC;oDACf,UAAU,EAAE,SAAS;oDACrB,KAAK,EAAE,SAAS;oDAChB,QAAQ,EAAE,CAAC;oDACX,UAAU,EAAE,GAAG;iDACf,EACD,KAAK,EAAC,2EAAoB,0CAGpB,CACP,IACK,EACP,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,kBAC5C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAChB,IACF,EAEL,UAAU,IAAI,CACd,KAAC,WAAW,IACX,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,GACpB,CACF,KApDI,CAAC,CAAC,EAAE,CAqDJ,CACN,CAAC;gBACH,CAAC,CAAC,CACF,GACI,IACJ,CACH,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAG,OAAO,GAAO,CAAC;IAClF,CAAC;IACD,OAAO,CACN,cACC,KAAK,EAAE;YACN,GAAG,UAAU;YACb,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;SACvB,YAEA,OAAO,GACH,CACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACpB,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GAQR;IACA,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAA4B,GAAG,EAAE,WAAW;QAC1D,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,WAAW,CAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAG,KAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;IACJ,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,CACN,eACC,KAAK,EAAE;YACN,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,aAAa,UAAU,EAAE;SACrC,aAED,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAO,KAAK,CAAC,EAAE,IAAO,EACvD,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,uBAAS,KAAK,CAAC,IAAI,IAAO,EAC3D,0BACC,KAAC,aAAa,IAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAI,EAAC,GAAG,EAC5F,KAAC,aAAa,IAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAI,IACnF,EACN,0BACC,KAAC,aAAa,IACb,KAAK,EAAC,GAAG,EACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAC9C,EAAC,GAAG,EACN,KAAC,aAAa,IACb,KAAK,EAAC,GAAG,EACT,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,GAC/C,IACG,EACL,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAChC,wBACC,KAAC,aAAa,IACb,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,KAAK,CAAC,QAAQ,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,GACjD,GACG,CACN,EACD,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,6BACjC,KAAK,CAAC,KAAK,CAAC,IAAI,cAAU,KAAK,CAAC,KAAK,CAAC,MAAM,SAAK,KAAK,CAAC,KAAK,CAAC,WAAW,UACpF,KAAK,CAAC,KAAK,CAAC,OAAO,IACf,EACL,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,aAC3B,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,wBAAe,EAChD,cACC,KAAK,EAAE;4BACN,MAAM,EAAE,CAAC;4BACT,QAAQ,EAAE,CAAC;4BACX,KAAK,EAAE,SAAS;4BAChB,UAAU,EAAE,UAAU;4BACtB,SAAS,EAAE,WAAW;yBACtB,YAEA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAC9B,IACD,CACN,EACD,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aACnD,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAC5B,iBACC,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,uBAGrC,CACT,EACD,iBACC,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,uBAGzB,IACJ,IACD,CACN,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqBzF,wBAAgB,oBAAoB,IAAI,aAAa,CAoEpD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqBzF,wBAAgB,oBAAoB,IAAI,aAAa,CA2EpD"}
package/dist/plugin.js CHANGED
@@ -43,12 +43,14 @@ export function createDebugHudPlugin() {
43
43
  });
44
44
  // Pick up sync status tracker from window (set by app.tsx)
45
45
  const syncStatus = globalThis.__usketchSyncStatus;
46
+ // Board メタ情報トラッカーも同じく window 経由で受け取る(app.tsx が設定)。
47
+ const boardMeta = globalThis.__usketchBoardMeta;
46
48
  // Register the fixed layer — always renders, visibility toggled inside component
47
49
  ctx.layers.register({
48
50
  id: "debug-hud",
49
51
  order: 9999,
50
52
  fixed: true,
51
- render: (renderCtx) => (_jsx(DebugHud, { store: ctx.store, fpsCounter: fpsCounter, eventLogger: eventLogger, pointerTracker: pointerTracker, commands: ctx.commands, tools: ctx.tools, layers: ctx.layers, shapes: ctx.shapes, syncStatus: syncStatus, events: ctx.events, ctx: renderCtx, visibility: visibility })),
53
+ render: (renderCtx) => (_jsx(DebugHud, { store: ctx.store, fpsCounter: fpsCounter, eventLogger: eventLogger, pointerTracker: pointerTracker, commands: ctx.commands, tools: ctx.tools, layers: ctx.layers, shapes: ctx.shapes, actions: ctx.actions, syncStatus: syncStatus, boardMeta: boardMeta, events: ctx.events, ctx: renderCtx, visibility: visibility })),
52
54
  });
53
55
  return () => {
54
56
  fpsCounter.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pointer-tracker.d.ts","sourceRoot":"","sources":["../src/pointer-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;CACd;AAID,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAmE;IAChF,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAA8C;IAE3D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI;IAczC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK3C,WAAW,IAAI,YAAY;IAI3B,OAAO,IAAI,IAAI;CAIf"}
1
+ {"version":3,"file":"pointer-tracker.d.ts","sourceRoot":"","sources":["../src/pointer-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;CACd;AAID,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAmE;IAChF,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAA8C;IAE3D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,CAYxC;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG1C;IAED,WAAW,IAAI,YAAY,CAE1B;IAED,OAAO,IAAI,IAAI,CAGd;CACD"}
@@ -0,0 +1,27 @@
1
+ import type { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent, WheelEvent as ReactWheelEvent } from "react";
2
+ /**
3
+ * HUD パネルは Canvas コンテナと同じ React ツリー内(fixed レイヤーとして
4
+ * `<Canvas>` の子)に描画される。そのためパネル上のポインタ操作がそのまま
5
+ * 祖先の Canvas コンテナ(`onPointerDown` でアクティブツールを駆動する)へ
6
+ * バブリングし、意図しない描画・選択・選択解除を引き起こす。
7
+ *
8
+ * 各パネルの最外要素にこのハンドラ群を spread し、パネル内で発生した
9
+ * 操作起点のイベントが Canvas まで伝播しないようにする。パネル内のボタンや
10
+ * 入力の自前ハンドラは(ターゲットで先に実行されるため)影響を受けない。
11
+ *
12
+ * 意図的に **pointerdown / click / wheel / contextmenu だけ** を止め、
13
+ * pointermove / pointerup は通す:
14
+ * - ツールの操作は pointerdown が起点(select ツールの選択解除も pointerdown、
15
+ * onPointerUp は drag 中でなければ no-op)なので、pointerdown を止めれば
16
+ * 意図しない操作は防げる。
17
+ * - 一方 pointerup を止めると、Canvas 上で開始したドラッグを HUD パネル上で
18
+ * 離した場合にドラッグが確定できず宙ぶらりんになる。move/up を通しておけば
19
+ * その取りこぼしが起きない(drag 未開始時の move/up はツール側で no-op)。
20
+ */
21
+ export declare const STOP_CANVAS_PROPAGATION: {
22
+ readonly onPointerDown: (e: ReactPointerEvent) => void;
23
+ readonly onClick: (e: ReactMouseEvent) => void;
24
+ readonly onWheel: (e: ReactWheelEvent) => void;
25
+ readonly onContextMenu: (e: ReactMouseEvent) => void;
26
+ };
27
+ //# sourceMappingURL=stop-propagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-propagation.d.ts","sourceRoot":"","sources":["../src/stop-propagation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,IAAI,eAAe,EAC7B,YAAY,IAAI,iBAAiB,EACjC,UAAU,IAAI,eAAe,EAC7B,MAAM,OAAO,CAAC;AAEf;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB;aACnC,aAAa,MAAM,iBAAiB;aACpC,OAAO,MAAM,eAAe;aAC5B,OAAO,MAAM,eAAe;aAC5B,aAAa,MAAM,eAAe;CACzB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * HUD パネルは Canvas コンテナと同じ React ツリー内(fixed レイヤーとして
3
+ * `<Canvas>` の子)に描画される。そのためパネル上のポインタ操作がそのまま
4
+ * 祖先の Canvas コンテナ(`onPointerDown` でアクティブツールを駆動する)へ
5
+ * バブリングし、意図しない描画・選択・選択解除を引き起こす。
6
+ *
7
+ * 各パネルの最外要素にこのハンドラ群を spread し、パネル内で発生した
8
+ * 操作起点のイベントが Canvas まで伝播しないようにする。パネル内のボタンや
9
+ * 入力の自前ハンドラは(ターゲットで先に実行されるため)影響を受けない。
10
+ *
11
+ * 意図的に **pointerdown / click / wheel / contextmenu だけ** を止め、
12
+ * pointermove / pointerup は通す:
13
+ * - ツールの操作は pointerdown が起点(select ツールの選択解除も pointerdown、
14
+ * onPointerUp は drag 中でなければ no-op)なので、pointerdown を止めれば
15
+ * 意図しない操作は防げる。
16
+ * - 一方 pointerup を止めると、Canvas 上で開始したドラッグを HUD パネル上で
17
+ * 離した場合にドラッグが確定できず宙ぶらりんになる。move/up を通しておけば
18
+ * その取りこぼしが起きない(drag 未開始時の move/up はツール側で no-op)。
19
+ */
20
+ export const STOP_CANVAS_PROPAGATION = {
21
+ onPointerDown: (e) => e.stopPropagation(),
22
+ onClick: (e) => e.stopPropagation(),
23
+ onWheel: (e) => e.stopPropagation(),
24
+ onContextMenu: (e) => e.stopPropagation(),
25
+ };
26
+ //# sourceMappingURL=stop-propagation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-propagation.js","sourceRoot":"","sources":["../src/stop-propagation.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,aAAa,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IAC5D,OAAO,EAAE,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACpD,OAAO,EAAE,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACpD,aAAa,EAAE,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;CACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-debug-hud",
3
- "version": "3.0.4",
3
+ "version": "3.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,15 +12,15 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@edv4h/usketch-shared": "4.3.0"
15
+ "@edv4h/usketch-shared": "4.5.0"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "react": ">=19"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/react": "19.2.17",
22
- "typescript": "5.9.3",
23
- "vitest": "3.2.7"
22
+ "typescript": "7.0.2",
23
+ "vitest": "4.1.10"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public"