@edv4h/usketch-plugin-debug-hud 3.3.13 → 3.4.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.
package/README.md CHANGED
@@ -24,6 +24,21 @@ appears on toggle).
24
24
  an action.
25
25
  - **Default style / Clear canvas** — edit `store` default style; batch-delete.
26
26
 
27
+ ### Navigating many plugins
28
+
29
+ Each plugin with HUD contributions gets its own section. With dozens of
30
+ plugins the dock would be a long scroll, so:
31
+
32
+ - Plugin sections start **collapsed**; the header shows how many controls each
33
+ holds. ⊟ in the dock header collapses every plugin section at once.
34
+ - **☆ / ★ pins** a plugin: pinned sections move to a "Pinned" group at the top
35
+ (in pin order) and open automatically.
36
+ - Open / pinned state persists in `localStorage` (`usketch-debug-hud-dock`).
37
+ - The search box (sticky at the top, `Esc` clears) matches plugin name / id,
38
+ action label / group / id, settings label / field names, and panel titles.
39
+ Matching sections are force-expanded while a query is active; a plugin-name
40
+ match shows all of that plugin's controls.
41
+
27
42
  ## Exposing plugin operations to the HUD
28
43
 
29
44
  Register actions in your plugin's `setup` via `ctx.actions` — the HUD renders a
@@ -1,4 +1,5 @@
1
1
  import type { ActionRegistry, BoardStore, CommandRegistry, EventBus, HudRegistry, LayerManager, LayerRenderContext, PluginInfoRegistry, ShapeRegistry, ToolRegistry } from "@edv4h/usketch-shared";
2
+ import type { DockPrefsStore } from "./dock-prefs-store.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";
@@ -18,7 +19,8 @@ interface DebugHudProps {
18
19
  events: EventBus;
19
20
  ctx: LayerRenderContext;
20
21
  visibility: VisibilityStore;
22
+ dockPrefs: DockPrefsStore;
21
23
  }
22
- export declare function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, hud, pluginInfo, events, ctx, visibility, }: DebugHudProps): import("react").JSX.Element;
24
+ export declare function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, hud, pluginInfo, events, ctx, visibility, dockPrefs, }: DebugHudProps): import("react").JSX.Element;
23
25
  export {};
24
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,cAAc,EACd,UAAU,EACV,eAAe,EACf,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,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;AAWnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,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,GAAG,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,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,GAAG,EACH,UAAU,EACV,MAAM,EACN,GAAG,EACH,UAAU,GACV,EAAE,aAAa,+BAkIf"}
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,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,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,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,GAAG,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,kBAAkB,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,cAAc,CAAC;CAC1B;AAQD,wBAAgB,QAAQ,CAAC,EACxB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,GAAG,EACH,UAAU,EACV,MAAM,EACN,GAAG,EACH,UAAU,EACV,SAAS,GACT,EAAE,aAAa,+BAmIf"}
package/dist/debug-hud.js CHANGED
@@ -13,7 +13,7 @@ function isEditableTarget(target) {
13
13
  const tag = target.tagName;
14
14
  return tag === "INPUT" || tag === "TEXTAREA" || target.isContentEditable;
15
15
  }
16
- export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, hud, pluginInfo, events, ctx, visibility, }) {
16
+ export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, commands, tools, layers, shapes, actions, hud, pluginInfo, events, ctx, visibility, dockPrefs, }) {
17
17
  const subscribeVisibility = useCallback((cb) => visibility.subscribe(cb), [visibility]);
18
18
  const getVisibility = useCallback(() => visibility.get(), [visibility]);
19
19
  const visible = useSyncExternalStore(subscribeVisibility, getVisibility, getVisibility);
@@ -72,6 +72,6 @@ export function DebugHud({ store, fpsCounter, eventLogger, pointerTracker, comma
72
72
  if (!visible) {
73
73
  return hint;
74
74
  }
75
- 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, viewport: viewport, activeToolId: activeToolId }), _jsx(ControlsPanel, { store: store, tools: tools, actions: actions, hud: hud, plugins: pluginInfo, 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, docked: true }) }), _jsx(EventsPanel, { eventLogger: eventLogger }), _jsx(Minimap, { store: store, shapes: shapeMap, viewport: viewport, selection: selection, offsetLeft: leftOffset })] }));
75
+ 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, viewport: viewport, activeToolId: activeToolId }), _jsx(ControlsPanel, { store: store, tools: tools, actions: actions, hud: hud, plugins: pluginInfo, events: events, activeToolId: activeToolId, collapsed: controlsCollapsed, onToggleCollapsed: () => setControlsCollapsed((c) => !c), prefs: dockPrefs, shapesSection: _jsx(ShapesPanel, { store: store, commands: commands, shapes: shapeMap, selection: selection, registry: shapes, onHoverShape: setHoveredShapeId, docked: true }) }), _jsx(EventsPanel, { eventLogger: eventLogger }), _jsx(Minimap, { store: store, shapes: shapeMap, viewport: viewport, selection: selection, offsetLeft: leftOffset })] }));
76
76
  }
77
77
  //# 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":";AAYA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAIvF,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,GAAG,EACH,UAAU,EACV,MAAM,EACN,GAAG,EACH,UAAU,EACV,SAAS,GACM;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,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,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GACzB,EAGF,KAAC,aAAa,IACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,UAAU,EACnB,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,KAAK,EAAE,SAAS,EAChB,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,MAAM,SACL,GAEF,EAGF,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,EAGzC,KAAC,OAAO,IACP,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACrB,IACG,CACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Controls ドックの表示設定(セクションの開閉 + ピン留め)。プラグインが
3
+ * 増えるとセクションを全展開した縦スクロールが長くなりすぎるため、
4
+ * プラグインセクションは既定で畳み、ユーザーが開いた/ピンしたものだけを
5
+ * localStorage に覚えて次回も再現する。
6
+ */
7
+ export interface DockPrefs {
8
+ /** 開いているセクションのキー。 */
9
+ readonly open: readonly string[];
10
+ /** ピン留めされたプラグインの id(ピンした順)。 */
11
+ readonly pinned: readonly string[];
12
+ }
13
+ /** 保存値がないときの初期状態。組み込みの Tools セクションだけ開いておく。 */
14
+ export declare const DEFAULT_DOCK_PREFS: DockPrefs;
15
+ export declare function isOpen(prefs: DockPrefs, key: string): boolean;
16
+ export declare function isPinned(prefs: DockPrefs, pluginId: string): boolean;
17
+ export declare function toggleOpen(prefs: DockPrefs, key: string): DockPrefs;
18
+ /** ピンを付け外しする。ピンした直後に中身が見えるよう、ピン時は開いた状態にする。 */
19
+ export declare function togglePinned(prefs: DockPrefs, pluginId: string): DockPrefs;
20
+ /** 指定キーのセクションをすべて畳む(ピンは保持)。 */
21
+ export declare function collapseAll(prefs: DockPrefs, keys: readonly string[]): DockPrefs;
22
+ /** localStorage から読んだ未検証の値を DockPrefs に正規化する。 */
23
+ export declare function parseDockPrefs(raw: string | null): DockPrefs;
24
+ export interface DockPrefsStore {
25
+ get(): DockPrefs;
26
+ update(fn: (prefs: DockPrefs) => DockPrefs): void;
27
+ subscribe(listener: () => void): () => void;
28
+ }
29
+ export declare function createDockPrefsStore(storageKey: string): DockPrefsStore;
30
+ //# sourceMappingURL=dock-prefs-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dock-prefs-store.d.ts","sourceRoot":"","sources":["../src/dock-prefs-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACzB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,EAAE,SAA4C,CAAC;AAE9E,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAInE;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAQ1E;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAGhF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAY5D;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,IAAI,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5C;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CA8BvE"}
@@ -0,0 +1,79 @@
1
+ /** 保存値がないときの初期状態。組み込みの Tools セクションだけ開いておく。 */
2
+ export const DEFAULT_DOCK_PREFS = { open: ["@tools"], pinned: [] };
3
+ export function isOpen(prefs, key) {
4
+ return prefs.open.includes(key);
5
+ }
6
+ export function isPinned(prefs, pluginId) {
7
+ return prefs.pinned.includes(pluginId);
8
+ }
9
+ export function toggleOpen(prefs, key) {
10
+ return isOpen(prefs, key)
11
+ ? { ...prefs, open: prefs.open.filter((k) => k !== key) }
12
+ : { ...prefs, open: [...prefs.open, key] };
13
+ }
14
+ /** ピンを付け外しする。ピンした直後に中身が見えるよう、ピン時は開いた状態にする。 */
15
+ export function togglePinned(prefs, pluginId) {
16
+ if (isPinned(prefs, pluginId)) {
17
+ return { ...prefs, pinned: prefs.pinned.filter((id) => id !== pluginId) };
18
+ }
19
+ return {
20
+ open: isOpen(prefs, pluginId) ? prefs.open : [...prefs.open, pluginId],
21
+ pinned: [...prefs.pinned, pluginId],
22
+ };
23
+ }
24
+ /** 指定キーのセクションをすべて畳む(ピンは保持)。 */
25
+ export function collapseAll(prefs, keys) {
26
+ const drop = new Set(keys);
27
+ return { ...prefs, open: prefs.open.filter((k) => !drop.has(k)) };
28
+ }
29
+ /** localStorage から読んだ未検証の値を DockPrefs に正規化する。 */
30
+ export function parseDockPrefs(raw) {
31
+ if (!raw)
32
+ return DEFAULT_DOCK_PREFS;
33
+ try {
34
+ const v = JSON.parse(raw);
35
+ if (v == null || typeof v !== "object")
36
+ return DEFAULT_DOCK_PREFS;
37
+ const obj = v;
38
+ const strings = (x) => Array.isArray(x) ? [...new Set(x.filter((s) => typeof s === "string"))] : [];
39
+ return { open: strings(obj.open), pinned: strings(obj.pinned) };
40
+ }
41
+ catch {
42
+ return DEFAULT_DOCK_PREFS;
43
+ }
44
+ }
45
+ export function createDockPrefsStore(storageKey) {
46
+ let value = (() => {
47
+ try {
48
+ return parseDockPrefs(localStorage.getItem(storageKey));
49
+ }
50
+ catch {
51
+ return DEFAULT_DOCK_PREFS;
52
+ }
53
+ })();
54
+ const listeners = new Set();
55
+ return {
56
+ get: () => value,
57
+ update: (fn) => {
58
+ const next = fn(value);
59
+ if (next === value)
60
+ return;
61
+ value = next;
62
+ try {
63
+ localStorage.setItem(storageKey, JSON.stringify(next));
64
+ }
65
+ catch {
66
+ // localStorage unavailable (private mode, SSR) — keep in-memory state.
67
+ }
68
+ for (const listener of listeners)
69
+ listener();
70
+ },
71
+ subscribe: (listener) => {
72
+ listeners.add(listener);
73
+ return () => {
74
+ listeners.delete(listener);
75
+ };
76
+ },
77
+ };
78
+ }
79
+ //# sourceMappingURL=dock-prefs-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dock-prefs-store.js","sourceRoot":"","sources":["../src/dock-prefs-store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Measures frames per second with a rAF loop. The loop only runs while someone is
3
+ * subscribed (the FPS readout / graph, which mount only while the HUD is open), so a
4
+ * hidden HUD costs no frame callback. History and the last reading start fresh on
5
+ * every (re)start: the gap while nobody was watching is not a measurement.
6
+ */
1
7
  export declare class FpsCounter {
2
8
  private frameCount;
3
9
  private lastTime;
@@ -5,11 +11,15 @@ export declare class FpsCounter {
5
11
  private rafId;
6
12
  private listeners;
7
13
  private historyBuffer;
8
- start(): void;
9
- stop(): void;
14
+ /** Whether the measuring loop is currently running. */
15
+ isRunning(): boolean;
10
16
  subscribe(listener: () => void): () => void;
11
17
  getSnapshot(): number;
12
18
  getHistory(): readonly number[];
19
+ /** Stop measuring and drop all listeners (plugin teardown). */
20
+ dispose(): void;
21
+ private start;
22
+ private stop;
13
23
  private tick;
14
24
  }
15
25
  //# sourceMappingURL=fps-counter.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"fps-counter.d.ts","sourceRoot":"","sources":["../src/fps-counter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,uDAAuD;IACvD,SAAS,IAAI,OAAO,CAEnB;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAO1C;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,UAAU,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,+DAA+D;IAC/D,OAAO,IAAI,IAAI,CAGd;IAED,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,IAAI,CAiBV;CACF"}
@@ -1,22 +1,30 @@
1
1
  const HISTORY_SIZE = 60;
2
+ /**
3
+ * Measures frames per second with a rAF loop. The loop only runs while someone is
4
+ * subscribed (the FPS readout / graph, which mount only while the HUD is open), so a
5
+ * hidden HUD costs no frame callback. History and the last reading start fresh on
6
+ * every (re)start: the gap while nobody was watching is not a measurement.
7
+ */
2
8
  export class FpsCounter {
3
9
  frameCount = 0;
4
10
  lastTime = 0;
5
11
  currentFps = 0;
6
- rafId = 0;
12
+ rafId = null;
7
13
  listeners = new Set();
8
14
  historyBuffer = [];
9
- start() {
10
- this.lastTime = performance.now();
11
- this.frameCount = 0;
12
- this.tick();
13
- }
14
- stop() {
15
- cancelAnimationFrame(this.rafId);
15
+ /** Whether the measuring loop is currently running. */
16
+ isRunning() {
17
+ return this.rafId !== null;
16
18
  }
17
19
  subscribe(listener) {
18
20
  this.listeners.add(listener);
19
- return () => this.listeners.delete(listener);
21
+ if (this.rafId === null)
22
+ this.start();
23
+ return () => {
24
+ this.listeners.delete(listener);
25
+ if (this.listeners.size === 0)
26
+ this.stop();
27
+ };
20
28
  }
21
29
  getSnapshot() {
22
30
  return this.currentFps;
@@ -24,6 +32,24 @@ export class FpsCounter {
24
32
  getHistory() {
25
33
  return this.historyBuffer;
26
34
  }
35
+ /** Stop measuring and drop all listeners (plugin teardown). */
36
+ dispose() {
37
+ this.listeners.clear();
38
+ this.stop();
39
+ }
40
+ start() {
41
+ this.lastTime = performance.now();
42
+ this.frameCount = 0;
43
+ this.currentFps = 0;
44
+ this.historyBuffer = [];
45
+ this.rafId = requestAnimationFrame(this.tick);
46
+ }
47
+ stop() {
48
+ if (this.rafId === null)
49
+ return;
50
+ cancelAnimationFrame(this.rafId);
51
+ this.rafId = null;
52
+ }
27
53
  tick = () => {
28
54
  this.rafId = requestAnimationFrame(this.tick);
29
55
  this.frameCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"fps-counter.js","sourceRoot":"","sources":["../src/fps-counter.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,OAAO,UAAU;IACd,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAG,CAAC,CAAC;IACb,UAAU,GAAG,CAAC,CAAC;IACf,KAAK,GAAG,CAAC,CAAC;IACV,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,aAAa,GAAa,EAAE,CAAC;IAErC,KAAK;QACJ,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,IAAI;QACH,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,QAAoB;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEO,IAAI,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC;IACF,CAAC,CAAC;CACF"}
1
+ {"version":3,"file":"fps-counter.js","sourceRoot":"","sources":["../src/fps-counter.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACd,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAG,CAAC,CAAC;IACb,UAAU,GAAG,CAAC,CAAC;IACf,KAAK,GAAkB,IAAI,CAAC;IAC5B,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,aAAa,GAAa,EAAE,CAAC;IAErC,uDAAuD;IACvD,SAAS;QACR,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,QAAoB;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC,CAAC;IACH,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,+DAA+D;IAC/D,OAAO;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEO,IAAI;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO;QAChC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,IAAI,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC;IACF,CAAC,CAAC;CACF"}
@@ -1,8 +1,16 @@
1
1
  import type { ActionRegistry, BoardStore, EventBus, HudRegistry, PluginInfoRegistry, ToolRegistry } from "@edv4h/usketch-shared";
2
2
  import type React from "react";
3
+ import { type DockPrefsStore } from "../dock-prefs-store.js";
3
4
  /** Expanded / collapsed dock widths (kept in sync with DebugHud's sibling offset). */
4
5
  export declare const CONTROLS_DOCK_WIDTH = 248;
5
6
  export declare const CONTROLS_DOCK_COLLAPSED = 30;
7
+ /** Section keys for the dock's built-in (non-plugin) sections. */
8
+ export declare const BUILTIN_SECTION: {
9
+ readonly tools: "@tools";
10
+ readonly shapes: "@shapes";
11
+ readonly emit: "@emit";
12
+ readonly style: "@style";
13
+ };
6
14
  interface ControlsPanelProps {
7
15
  store: BoardStore;
8
16
  tools: ToolRegistry;
@@ -13,15 +21,20 @@ interface ControlsPanelProps {
13
21
  activeToolId: string;
14
22
  collapsed: boolean;
15
23
  onToggleCollapsed: () => void;
24
+ /** Persisted open / pinned state of the dock's sections. */
25
+ prefs: DockPrefsStore;
16
26
  /** The shapes inspector, rendered as a section inside the dock. */
17
27
  shapesSection?: React.ReactNode;
18
28
  }
19
29
  /**
20
30
  * Universal control dock. Drives plugin operations without any demo-app UI: a
21
31
  * tool palette (`tools.getOrdered()`), the declarative action registry, a raw
22
- * event-emit fallback, and default-style controls. Full-height, collapsible,
23
- * with collapsible sections.
32
+ * event-emit fallback, and default-style controls. Full-height, collapsible.
33
+ *
34
+ * Plugin sections start collapsed so the dock stays short as plugins grow;
35
+ * open / pinned state persists via {@link DockPrefsStore}. Pinned plugins are
36
+ * listed first, and a search query force-expands every matching section.
24
37
  */
25
- export declare function ControlsPanel({ store, tools, actions, hud, plugins, events, activeToolId, collapsed, onToggleCollapsed, shapesSection, }: ControlsPanelProps): React.JSX.Element;
38
+ export declare function ControlsPanel({ store, tools, actions, hud, plugins, events, activeToolId, collapsed, onToggleCollapsed, prefs: prefsStore, shapesSection, }: ControlsPanelProps): React.JSX.Element;
26
39
  export {};
27
40
  //# sourceMappingURL=controls-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls-panel.d.ts","sourceRoot":"","sources":["../../src/panels/controls-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EAER,WAAW,EAGX,kBAAkB,EAElB,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/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,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,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,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,GACb,EAAE,kBAAkB,qBAqHpB"}
1
+ {"version":3,"file":"controls-panel.d.ts","sourceRoot":"","sources":["../../src/panels/controls-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EAER,WAAW,EAEX,kBAAkB,EAElB,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEN,KAAK,cAAc,EAKnB,MAAM,wBAAwB,CAAC;AAqBhC,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,kEAAkE;AAClE,eAAO,MAAM,eAAe;aAC3B,KAAK,EAAE,QAAQ;aACf,MAAM,EAAE,SAAS;aACjB,IAAI,EAAE,OAAO;aACb,KAAK,EAAE,QAAQ;CACN,CAAC;AAEX,UAAU,kBAAkB;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,4DAA4D;IAC5D,KAAK,EAAE,cAAc,CAAC;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC7B,KAAK,EACL,KAAK,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,KAAK,EAAE,UAAU,EACjB,aAAa,GACb,EAAE,kBAAkB,qBAuLpB"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"controls-panel.js","sourceRoot":"","sources":["../../src/panels/controls-panel.tsx"],"names":[],"mappings":"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"}
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":"general-panel.d.ts","sourceRoot":"","sources":["../../src/panels/general-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,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;AAa5D,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,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,EAAE,iBAAiB,+BAqJnB"}
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,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;AAc5D,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,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,GACZ,EAAE,iBAAiB,+BAwJnB"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useState, useSyncExternalStore } from "react";
3
3
  import { FpsGraph } from "../components/fps-graph.js";
4
4
  import { STOP_CANVAS_PROPAGATION } from "../stop-propagation.js";
5
- import { fmt, fpsColor, INLINE_INPUT, LABEL_STYLE, MINI_BUTTON, MINI_BUTTON_ACCENT, PANEL_BASE, SECTION_STYLE, } from "../styles.js";
5
+ import { fmt, fpsColor, INLINE_INPUT, LABEL_STYLE, MINI_BUTTON, MINI_BUTTON_ACCENT, PANEL_BASE, SECTION_STYLE, TEXT_MUTED, } from "../styles.js";
6
6
  export function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tools, layers, shapes, viewport, activeToolId, }) {
7
7
  const fps = useSyncExternalStore(useCallback((cb) => fpsCounter.subscribe(cb), [fpsCounter]), () => fpsCounter.getSnapshot());
8
8
  const pointer = useSyncExternalStore(useCallback((cb) => pointerTracker.subscribe(cb), [pointerTracker]), () => pointerTracker.getSnapshot());
@@ -36,6 +36,6 @@ export function GeneralPanel({ store, fpsCounter, pointerTracker, commands, tool
36
36
  top: 8,
37
37
  right: 8,
38
38
  width: 220,
39
- }, 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: "System" }), _jsxs("div", { children: ["Tools: ", toolCount, " \u00B7 Layers: ", layerCount, " \u00B7 Shape types: ", shapeTypeCount] })] })] }));
39
+ }, children: [_jsxs("div", { style: SECTION_STYLE, children: [_jsxs("span", { style: { color: fps > 0 ? fpsColor(fps) : TEXT_MUTED, fontWeight: "bold" }, children: [fps > 0 ? 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: "System" }), _jsxs("div", { children: ["Tools: ", toolCount, " \u00B7 Layers: ", layerCount, " \u00B7 Shape types: ", shapeTypeCount] })] })] }));
40
40
  }
41
41
  //# sourceMappingURL=general-panel.js.map
@@ -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":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ActionRegistry, HudPanel, HudRegistry, HudSettingsDescriptor, PluginAction, PluginInfoRegistry } from "@edv4h/usketch-shared";
2
+ /** A plugin's aggregated HUD contributions, rendered as one section. */
3
+ export interface PluginBucket {
4
+ pluginId: string;
5
+ name: string;
6
+ settings: HudSettingsDescriptor[];
7
+ /** Actions sub-grouped by `action.group` (insertion order preserved). */
8
+ actionGroups: Map<string, PluginAction[]>;
9
+ panels: HudPanel[];
10
+ }
11
+ export declare const UNATTRIBUTED = " unattributed";
12
+ /** Number of controls in a bucket (shown as a count badge on the section header). */
13
+ export declare function bucketSize(b: PluginBucket): number;
14
+ /**
15
+ * Assemble one {@link PluginBucket} per plugin that has any control (settings,
16
+ * actions, or custom panels), in plugin-registration order, with unattributed
17
+ * contributions last.
18
+ *
19
+ * `q` (lower-cased) filters contributions: a plugin whose name / id matches
20
+ * keeps **all** its controls; otherwise only actions (label / group / id),
21
+ * settings (label / id / field names & labels) and panels (title / id) that
22
+ * match are kept. Within a plugin, actions keep their `group` as a sub-heading
23
+ * (empty string when ungrouped).
24
+ */
25
+ export declare function buildPluginBuckets(actions: ActionRegistry, hud: HudRegistry, plugins: PluginInfoRegistry, q: string): PluginBucket[];
26
+ /** Split buckets into pinned (in pin order) and the rest (original order). */
27
+ export declare function partitionPinned(buckets: readonly PluginBucket[], pinned: readonly string[]): {
28
+ pinned: PluginBucket[];
29
+ rest: PluginBucket[];
30
+ };
31
+ //# sourceMappingURL=plugin-buckets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-buckets.d.ts","sourceRoot":"","sources":["../src/plugin-buckets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,yEAAyE;IACzE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAM5C,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,kBAAkB,EAC3B,CAAC,EAAE,MAAM,GACP,YAAY,EAAE,CAiEhB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC9B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,MAAM,EAAE,SAAS,MAAM,EAAE,GACvB;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAE,CAOlD"}
@@ -0,0 +1,90 @@
1
+ export const UNATTRIBUTED = " unattributed";
2
+ function matches(q, ...parts) {
3
+ return parts.some((p) => p?.toLowerCase().includes(q));
4
+ }
5
+ /** Number of controls in a bucket (shown as a count badge on the section header). */
6
+ export function bucketSize(b) {
7
+ let n = b.settings.length + b.panels.length;
8
+ for (const items of b.actionGroups.values())
9
+ n += items.length;
10
+ return n;
11
+ }
12
+ /**
13
+ * Assemble one {@link PluginBucket} per plugin that has any control (settings,
14
+ * actions, or custom panels), in plugin-registration order, with unattributed
15
+ * contributions last.
16
+ *
17
+ * `q` (lower-cased) filters contributions: a plugin whose name / id matches
18
+ * keeps **all** its controls; otherwise only actions (label / group / id),
19
+ * settings (label / id / field names & labels) and panels (title / id) that
20
+ * match are kept. Within a plugin, actions keep their `group` as a sub-heading
21
+ * (empty string when ungrouped).
22
+ */
23
+ export function buildPluginBuckets(actions, hud, plugins, q) {
24
+ const order = [];
25
+ const byId = new Map();
26
+ const nameOf = new Map(plugins.getAll().map((p) => [p.id, p.name]));
27
+ const bucketFor = (pluginId) => {
28
+ const key = pluginId ?? UNATTRIBUTED;
29
+ let b = byId.get(key);
30
+ if (!b) {
31
+ b = {
32
+ pluginId: key,
33
+ name: pluginId ? (nameOf.get(pluginId) ?? pluginId) : "Other",
34
+ settings: [],
35
+ actionGroups: new Map(),
36
+ panels: [],
37
+ };
38
+ byId.set(key, b);
39
+ order.push(key);
40
+ }
41
+ return b;
42
+ };
43
+ // Seed buckets in plugin-registration order so sections are stably ordered
44
+ // regardless of which contribution type is encountered first below.
45
+ for (const p of plugins.getAll())
46
+ bucketFor(p.id);
47
+ const pluginMatches = (b) => !q || matches(q, b.name, b.pluginId === UNATTRIBUTED ? undefined : b.pluginId);
48
+ for (const { pluginId, descriptor } of hud.getSettings()) {
49
+ const b = bucketFor(pluginId);
50
+ if (pluginMatches(b) ||
51
+ matches(q, descriptor.label, descriptor.id, ...descriptor.fields.flatMap((f) => [f.name, f.label]))) {
52
+ b.settings.push(descriptor);
53
+ }
54
+ }
55
+ for (const { pluginId, action } of actions.getOrdered()) {
56
+ const b = bucketFor(pluginId);
57
+ if (!pluginMatches(b) && !matches(q, action.label, action.group, action.id))
58
+ continue;
59
+ const g = action.group ?? "";
60
+ const list = b.actionGroups.get(g) ?? [];
61
+ list.push(action);
62
+ b.actionGroups.set(g, list);
63
+ }
64
+ for (const { pluginId, panel } of hud.getPanels()) {
65
+ const b = bucketFor(pluginId);
66
+ if (pluginMatches(b) || matches(q, panel.title, panel.id))
67
+ b.panels.push(panel);
68
+ }
69
+ // Drop empty buckets (plugins with no controls, or none matching the query).
70
+ const result = order.map((k) => byId.get(k)).filter((b) => bucketSize(b) > 0);
71
+ // Unattributed section sorts last.
72
+ result.sort((a, b) => {
73
+ if (a.pluginId === UNATTRIBUTED)
74
+ return 1;
75
+ if (b.pluginId === UNATTRIBUTED)
76
+ return -1;
77
+ return 0;
78
+ });
79
+ return result;
80
+ }
81
+ /** Split buckets into pinned (in pin order) and the rest (original order). */
82
+ export function partitionPinned(buckets, pinned) {
83
+ const byId = new Map(buckets.map((b) => [b.pluginId, b]));
84
+ const pinnedSet = new Set(pinned);
85
+ return {
86
+ pinned: pinned.flatMap((id) => byId.get(id) ?? []),
87
+ rest: buckets.filter((b) => !pinnedSet.has(b.pluginId)),
88
+ };
89
+ }
90
+ //# sourceMappingURL=plugin-buckets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-buckets.js","sourceRoot":"","sources":["../src/plugin-buckets.ts"],"names":[],"mappings":"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"}
@@ -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,CAiEpD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAuBzF,wBAAgB,oBAAoB,IAAI,aAAa,CAmEpD"}
package/dist/plugin.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { DebugHud } from "./debug-hud.js";
3
+ import { createDockPrefsStore } from "./dock-prefs-store.js";
3
4
  import { EventLogger } from "./event-logger.js";
4
5
  import { FpsCounter } from "./fps-counter.js";
5
6
  import { PointerTracker } from "./pointer-tracker.js";
@@ -7,6 +8,7 @@ import { createVisibilityStore } from "./visibility-store.js";
7
8
  // Excluded from event log to avoid noise
8
9
  const EXCLUDED_EVENTS = new Set(["canvas:pointermove"]);
9
10
  const VISIBILITY_STORAGE_KEY = "usketch-debug-hud-visible";
11
+ const DOCK_PREFS_STORAGE_KEY = "usketch-debug-hud-dock";
10
12
  function formatEventLabel(event, data) {
11
13
  if (data == null || typeof data !== "object")
12
14
  return event;
@@ -25,8 +27,9 @@ export function createDebugHudPlugin() {
25
27
  const eventLogger = new EventLogger();
26
28
  const pointerTracker = new PointerTracker();
27
29
  const visibility = createVisibilityStore(VISIBILITY_STORAGE_KEY);
28
- // Start FPS counter
29
- fpsCounter.start();
30
+ const dockPrefs = createDockPrefsStore(DOCK_PREFS_STORAGE_KEY);
31
+ // The FPS counter runs its rAF loop only while the HUD's FPS readout is
32
+ // subscribed (i.e. while the HUD is open), so it is not started here.
30
33
  // Monkey-patch emit to capture events. Push is skipped while the HUD is hidden
31
34
  // so the drag path stays free of EventLogger work when no UI is observing it.
32
35
  const originalEmit = ctx.events.emit.bind(ctx.events);
@@ -46,10 +49,10 @@ export function createDebugHudPlugin() {
46
49
  id: "debug-hud",
47
50
  order: 9999,
48
51
  fixed: true,
49
- 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, hud: ctx.hud, pluginInfo: ctx.plugins, events: ctx.events, ctx: renderCtx, visibility: visibility })),
52
+ 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, hud: ctx.hud, pluginInfo: ctx.plugins, events: ctx.events, ctx: renderCtx, visibility: visibility, dockPrefs: dockPrefs })),
50
53
  });
51
54
  return () => {
52
- fpsCounter.stop();
55
+ fpsCounter.dispose();
53
56
  pointerTracker.dispose();
54
57
  eventLogger.dispose();
55
58
  ctx.events.emit = originalEmit;
@@ -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":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,yCAAyC;AACzC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAExD,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAC3D,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAExD,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAa;IACrD,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,GAAG,KAAK,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,OAAO;QACN,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QAEjB,KAAK,CAAC,GAAG;YACR,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;YAE/D,wEAAwE;YACxE,sEAAsE;YAEtE,+EAA+E;YAC/E,8EAA8E;YAC9E,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,GAAG,CAAC,MAAqC,CAAC,IAAI,GAAG,CAAc,KAAa,EAAE,IAAO,EAAE,EAAE;gBACzF,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5C,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,4BAA4B;YAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAqB,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,iFAAiF;YACjF,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CACtB,KAAC,QAAQ,IACR,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,UAAU,EAAE,GAAG,CAAC,OAAO,EACvB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,GACnB,CACF;aACD,CAAC,CAAC;YAEH,OAAO,GAAG,EAAE;gBACX,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzB,WAAW,CAAC,OAAO,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAqC,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC/D,YAAY,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-debug-hud",
3
- "version": "3.3.13",
3
+ "version": "3.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",