@edv4h/usketch-plugin-dashboard 0.2.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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/dist/config-ops.d.ts +48 -0
  4. package/dist/config-ops.d.ts.map +1 -0
  5. package/dist/config-ops.js +101 -0
  6. package/dist/config-ops.js.map +1 -0
  7. package/dist/dashboard-config-shape-def.d.ts +4 -0
  8. package/dist/dashboard-config-shape-def.d.ts.map +1 -0
  9. package/dist/dashboard-config-shape-def.js +33 -0
  10. package/dist/dashboard-config-shape-def.js.map +1 -0
  11. package/dist/dashboard-config-shape.d.ts +71 -0
  12. package/dist/dashboard-config-shape.d.ts.map +1 -0
  13. package/dist/dashboard-config-shape.js +51 -0
  14. package/dist/dashboard-config-shape.js.map +1 -0
  15. package/dist/dashboard-runtime.d.ts +23 -0
  16. package/dist/dashboard-runtime.d.ts.map +1 -0
  17. package/dist/dashboard-runtime.js +726 -0
  18. package/dist/dashboard-runtime.js.map +1 -0
  19. package/dist/dashboard-service.d.ts +76 -0
  20. package/dist/dashboard-service.d.ts.map +1 -0
  21. package/dist/dashboard-service.js +287 -0
  22. package/dist/dashboard-service.js.map +1 -0
  23. package/dist/drag-target-store.d.ts +11 -0
  24. package/dist/drag-target-store.d.ts.map +1 -0
  25. package/dist/drag-target-store.js +33 -0
  26. package/dist/drag-target-store.js.map +1 -0
  27. package/dist/grid-overlay.d.ts +16 -0
  28. package/dist/grid-overlay.d.ts.map +1 -0
  29. package/dist/grid-overlay.js +111 -0
  30. package/dist/grid-overlay.js.map +1 -0
  31. package/dist/grid.d.ts +110 -0
  32. package/dist/grid.d.ts.map +1 -0
  33. package/dist/grid.js +214 -0
  34. package/dist/grid.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +13 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/items.d.ts +25 -0
  40. package/dist/items.d.ts.map +1 -0
  41. package/dist/items.js +59 -0
  42. package/dist/items.js.map +1 -0
  43. package/dist/order.d.ts +10 -0
  44. package/dist/order.d.ts.map +1 -0
  45. package/dist/order.js +15 -0
  46. package/dist/order.js.map +1 -0
  47. package/dist/plugin.d.ts +12 -0
  48. package/dist/plugin.d.ts.map +1 -0
  49. package/dist/plugin.js +59 -0
  50. package/dist/plugin.js.map +1 -0
  51. package/dist/register-dashboard-hud.d.ts +5 -0
  52. package/dist/register-dashboard-hud.d.ts.map +1 -0
  53. package/dist/register-dashboard-hud.js +173 -0
  54. package/dist/register-dashboard-hud.js.map +1 -0
  55. package/dist/slide-animation.d.ts +10 -0
  56. package/dist/slide-animation.d.ts.map +1 -0
  57. package/dist/slide-animation.js +67 -0
  58. package/dist/slide-animation.js.map +1 -0
  59. package/dist/viewport-lock.d.ts +4 -0
  60. package/dist/viewport-lock.d.ts.map +1 -0
  61. package/dist/viewport-lock.js +172 -0
  62. package/dist/viewport-lock.js.map +1 -0
  63. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-runtime.js","sourceRoot":"","sources":["../src/dashboard-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { type PluginContext, type ServiceRegistry } from "@edv4h/usketch-shared";
2
+ import { type DashboardDefaults, type DashboardMode, type ViewportLock } from "./dashboard-config-shape.js";
3
+ import type { GridSpec } from "./grid.js";
4
+ /** The dashboard's host-facing operations. */
5
+ export interface DashboardApi {
6
+ /** True when this board is a dashboard (its config singleton exists). */
7
+ isDashboardBoard(): boolean;
8
+ /** Turn this board INTO a dashboard: create the config singleton if absent
9
+ * (never duplicated), then pack the existing top-level shapes into the grid.
10
+ * Re-packs on every call — so it doubles as a re-arrange and is NOT a no-op
11
+ * when already a dashboard. Use {@link repack} if you only want the re-pack. */
12
+ enable(): void;
13
+ /** Turn the dashboard OFF (remove the config singleton). Item positions are
14
+ * left where they are — only the grid behaviour stops. */
15
+ disable(): void;
16
+ /** The board's live grid spec, or `null` when it isn't a dashboard. */
17
+ getGridSpec(): GridSpec | null;
18
+ /** The placement mode: `flow` (compact/sortable) or `absolute` (drop-in-place). */
19
+ getMode(): DashboardMode;
20
+ /** Switch placement mode (undoable; re-lays out under the new mode). */
21
+ setMode(mode: DashboardMode): void;
22
+ /** Whether resizing snaps items to whole-cell sizes. */
23
+ getFitToGrid(): boolean;
24
+ /** Toggle "fit to grid". Turning it ON also snaps every existing item's size to
25
+ * the grid and re-lays out — one undoable command. */
26
+ setFitToGrid(on: boolean): void;
27
+ /** Whether shapes dragged out of the grid range are left free (vs. all managed). */
28
+ getFreeOutOfRange(): boolean;
29
+ /** Toggle it. Turning it OFF gathers every shape back into the grid. */
30
+ setFreeOutOfRange(on: boolean): void;
31
+ /** Whether the scroll-limit is on. */
32
+ getViewportLock(): ViewportLock;
33
+ /** Turn the scroll-limit on/off (zoom locked to 100%). With "auto" cell width the
34
+ * grid fits the screen and scrolls vertically only; with a fixed numeric width it
35
+ * scrolls both axes (horizontal when the grid is wider than the screen). */
36
+ setViewportLock(lock: ViewportLock): void;
37
+ /** Whether the cell width is "auto" (fit to screen width) vs a fixed number. */
38
+ getCellWidthAuto(): boolean;
39
+ /** Set the cell width to "auto" (fit to screen) or back to a fixed number. */
40
+ setCellWidthAuto(on: boolean): void;
41
+ /** Whether drop-onto-occupied makes the occupant AVOID (step aside) in absolute mode. */
42
+ getSwap(): boolean;
43
+ /** Toggle avoid-on-drop for absolute mode. */
44
+ setSwap(on: boolean): void;
45
+ /** The avoid overlap-ratio threshold (0–1); lower = easier to trigger. */
46
+ getSwapThreshold(): number;
47
+ /** Set the avoid overlap-ratio threshold (clamped to 0–1). */
48
+ setSwapThreshold(ratio: number): void;
49
+ /** Dwell (ms) before the live avoid fires (0 = immediate). */
50
+ getSwapDelay(): number;
51
+ /** Set the live-avoid dwell in ms (clamped ≥ 0). */
52
+ setSwapDelay(ms: number): void;
53
+ /** Re-snap every item to its reading-order cell (one undoable command). */
54
+ repack(): void;
55
+ /** Set the column count (undoable; relayouts items). */
56
+ setColumns(columns: number): void;
57
+ /** Set the cell size (undoable; relayouts items). */
58
+ setCellSize(cellW: number, cellH: number): void;
59
+ /** Set the inter-cell gap (undoable; relayouts items). */
60
+ setGap(gap: number): void;
61
+ /** Set the grid padding (undoable; relayouts items). */
62
+ setPadding(padding: number): void;
63
+ /** Fire `listener` whenever the config changes. Returns an unsubscribe. */
64
+ onChange(listener: () => void): () => void;
65
+ }
66
+ /** Typed service handle for the dashboard API. Provide in `setup`, get via {@link getDashboardApi}. */
67
+ export declare const dashboardService: import("@edv4h/usketch-shared").ServiceHandle<DashboardApi>;
68
+ /** Build the dashboard API bound to a plugin context (called in `setup`). The
69
+ * `defaults` seed a config created via {@link DashboardApi.enable}. */
70
+ export declare function createDashboardApi(ctx: PluginContext, defaults?: DashboardDefaults): DashboardApi;
71
+ /**
72
+ * Host accessor: `getDashboardApi(app.services)?.repack()`. Returns `undefined`
73
+ * when the dashboard plugin isn't active. Works with `ctx.services` too.
74
+ */
75
+ export declare function getDashboardApi(services: ServiceRegistry): DashboardApi | undefined;
76
+ //# sourceMappingURL=dashboard-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-service.d.ts","sourceRoot":"","sources":["../src/dashboard-service.ts"],"names":[],"mappings":"AAKA,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,MAAM,uBAAuB,CAAC;AAiB/B,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC5B,yEAAyE;IACzE,gBAAgB,IAAI,OAAO,CAAC;IAC5B;;;qFAGiF;IACjF,MAAM,IAAI,IAAI,CAAC;IACf;+DAC2D;IAC3D,OAAO,IAAI,IAAI,CAAC;IAChB,uEAAuE;IACvE,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC;IAC/B,mFAAmF;IACnF,OAAO,IAAI,aAAa,CAAC;IACzB,wEAAwE;IACxE,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,wDAAwD;IACxD,YAAY,IAAI,OAAO,CAAC;IACxB;2DACuD;IACvD,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,oFAAoF;IACpF,iBAAiB,IAAI,OAAO,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,sCAAsC;IACtC,eAAe,IAAI,YAAY,CAAC;IAChC;;iFAE6E;IAC7E,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,gFAAgF;IAChF,gBAAgB,IAAI,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,yFAAyF;IACzF,OAAO,IAAI,OAAO,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,gBAAgB,IAAI,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,8DAA8D;IAC9D,YAAY,IAAI,MAAM,CAAC;IACvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2EAA2E;IAC3E,MAAM,IAAI,IAAI,CAAC;IACf,wDAAwD;IACxD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qDAAqD;IACrD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,0DAA0D;IAC1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,wDAAwD;IACxD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3C;AAED,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,6DAA0D,CAAC;AAoJxF;wEACwE;AACxE,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,aAAa,EAClB,QAAQ,GAAE,iBAAsB,GAC9B,YAAY,CA+Hd;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAEnF"}
@@ -0,0 +1,287 @@
1
+ // The dashboard's host-facing API on the `ctx.services` seam (same convention as
2
+ // the map plugin's `map-service.ts`): operation logic lives in plain functions,
3
+ // the HUD/actions call them, and the same functions are bundled into a typed
4
+ // service so a host — or any other plugin — can drive the dashboard without the
5
+ // HUD and without importing individual helpers.
6
+ import { defineService, } from "@edv4h/usketch-shared";
7
+ import { cellWAutoOf, ensureDashboardConfig, fitToGridOf, freeOutOfRangeOf, getAllDashboardConfigs, getDashboardConfig, gridSpecFromConfig, modeOf, setConfig, swapDelayOf, swapOf, swapThresholdOf, viewportLockOf, } from "./config-ops.js";
8
+ import { isDashboardConfig, } from "./dashboard-config-shape.js";
9
+ import { repackBoard, runGuarded } from "./dashboard-runtime.js";
10
+ import { fitSize, packAbsolute, packSpans } from "./grid.js";
11
+ import { allDashboardItems, dashboardItems } from "./items.js";
12
+ import { readingOrder } from "./order.js";
13
+ /** Typed service handle for the dashboard API. Provide in `setup`, get via {@link getDashboardApi}. */
14
+ export const dashboardService = defineService("usketch-plugin-dashboard");
15
+ /**
16
+ * Apply a config change AND relayout in ONE undoable command: changing columns or
17
+ * cell size moves every item, so config + positions revert together on undo.
18
+ * Order is read from the OLD geometry, then re-packed under the NEW spec.
19
+ */
20
+ function applyConfig(ctx, patch) {
21
+ const config = getDashboardConfig(ctx.store);
22
+ if (!config)
23
+ return;
24
+ const before = {};
25
+ for (const key of Object.keys(patch)) {
26
+ Object.assign(before, { [key]: config[key] });
27
+ }
28
+ const oldSpec = gridSpecFromConfig(config);
29
+ const newSpec = gridSpecFromConfig({ ...config, ...patch });
30
+ const newMode = patch.mode ?? config.mode;
31
+ const newFit = patch.fitToGrid ?? config.fitToGrid;
32
+ const items = readingOrder(dashboardItems(ctx.store), oldSpec)
33
+ .map((id) => ctx.store.getShape(id))
34
+ .filter((s) => s !== undefined);
35
+ // New sizes: when "fit to grid" is on, snap every item to the NEW cell size so a
36
+ // cell-size / gap / column change resizes items immediately (not just repacks).
37
+ const sized = items.map((s) => {
38
+ const size = newFit
39
+ ? fitSize(s.width, s.height, newSpec)
40
+ : { width: s.width, height: s.height };
41
+ return {
42
+ id: s.id,
43
+ x: s.x,
44
+ y: s.y,
45
+ w: size.width,
46
+ h: size.height,
47
+ oldW: s.width,
48
+ oldH: s.height,
49
+ };
50
+ });
51
+ // Re-lay out under the NEW spec+mode with the new sizes: flow compacts in reading
52
+ // order; absolute snaps each to the cell nearest its current position.
53
+ const placements = newMode === "absolute"
54
+ ? packAbsolute(sized.map((b) => ({ id: b.id, x: b.x, y: b.y, width: b.w, height: b.h })), newSpec)
55
+ : packSpans(sized.map((b) => ({ id: b.id, width: b.w, height: b.h })), newSpec);
56
+ const posById = new Map(placements.map((p) => [p.id, p]));
57
+ // Guard both directions so the item writes aren't mistaken for a user drag by
58
+ // the reflow runtime (the config write itself isn't an item, so it's ignored).
59
+ const command = {
60
+ execute() {
61
+ runGuarded(() => {
62
+ ctx.store.updateShape(config.id, patch);
63
+ for (const b of sized) {
64
+ const p = posById.get(b.id);
65
+ ctx.store.updateShape(b.id, {
66
+ ...(newFit ? { width: b.w, height: b.h } : {}),
67
+ ...(p ? { x: p.x, y: p.y } : {}),
68
+ });
69
+ }
70
+ });
71
+ },
72
+ undo() {
73
+ runGuarded(() => {
74
+ ctx.store.updateShape(config.id, before);
75
+ for (const b of sized) {
76
+ ctx.store.updateShape(b.id, {
77
+ ...(newFit ? { width: b.oldW, height: b.oldH } : {}),
78
+ x: b.x,
79
+ y: b.y,
80
+ });
81
+ }
82
+ });
83
+ },
84
+ };
85
+ ctx.commands.execute(command);
86
+ }
87
+ /**
88
+ * Toggle "fit to grid" in ONE undoable command: set the flag, snap every item's
89
+ * SIZE to the nearest whole-cell span (only when turning on), and re-lay out the
90
+ * board with the new sizes.
91
+ */
92
+ function applyFitToGrid(ctx, on) {
93
+ const config = getDashboardConfig(ctx.store);
94
+ if (!config)
95
+ return;
96
+ const spec = gridSpecFromConfig(config);
97
+ const items = dashboardItems(ctx.store);
98
+ // New sizes (fit) when turning on; unchanged when off. Keep old for undo.
99
+ const sized = items.map((s) => {
100
+ const f = on ? fitSize(s.width, s.height, spec) : { width: s.width, height: s.height };
101
+ return { id: s.id, x: s.x, y: s.y, w: f.width, h: f.height, oldW: s.width, oldH: s.height };
102
+ });
103
+ const byId = new Map(sized.map((b) => [b.id, b]));
104
+ // Re-pack positions using the NEW sizes, in the current mode.
105
+ const order = readingOrder(items, spec).filter((id) => byId.has(id));
106
+ const placements = modeOf(ctx.store) === "absolute"
107
+ ? packAbsolute(order.map((id) => {
108
+ const b = byId.get(id);
109
+ return { id, x: b.x, y: b.y, width: b.w, height: b.h };
110
+ }), spec)
111
+ : packSpans(order.map((id) => {
112
+ const b = byId.get(id);
113
+ return { id, width: b.w, height: b.h };
114
+ }), spec);
115
+ const posById = new Map(placements.map((p) => [p.id, p]));
116
+ const command = {
117
+ execute() {
118
+ runGuarded(() => {
119
+ ctx.store.updateShape(config.id, { fitToGrid: on });
120
+ for (const b of sized) {
121
+ const p = posById.get(b.id);
122
+ ctx.store.updateShape(b.id, {
123
+ width: b.w,
124
+ height: b.h,
125
+ ...(p ? { x: p.x, y: p.y } : {}),
126
+ });
127
+ }
128
+ });
129
+ },
130
+ undo() {
131
+ runGuarded(() => {
132
+ ctx.store.updateShape(config.id, { fitToGrid: config.fitToGrid });
133
+ for (const b of sized) {
134
+ ctx.store.updateShape(b.id, { width: b.oldW, height: b.oldH, x: b.x, y: b.y });
135
+ }
136
+ });
137
+ },
138
+ };
139
+ ctx.commands.execute(command);
140
+ }
141
+ /** Build the dashboard API bound to a plugin context (called in `setup`). The
142
+ * `defaults` seed a config created via {@link DashboardApi.enable}. */
143
+ export function createDashboardApi(ctx, defaults = {}) {
144
+ return {
145
+ isDashboardBoard: () => getDashboardConfig(ctx.store) !== undefined,
146
+ enable: () => {
147
+ const alreadyDashboard = getDashboardConfig(ctx.store) !== undefined;
148
+ const config = ensureDashboardConfig(ctx.store, defaults);
149
+ // On the FIRST enable, anchor the grid at the current items' top-left so
150
+ // arranging keeps them where the user is looking (rather than snapping to
151
+ // world origin 0,0, which can be far off-screen and look like a no-op).
152
+ // Don't re-seed on a later enable — that would drag the grid around.
153
+ if (!alreadyDashboard) {
154
+ const items = allDashboardItems(ctx.store);
155
+ if (items.length > 0) {
156
+ let minX = Number.POSITIVE_INFINITY;
157
+ let minY = Number.POSITIVE_INFINITY;
158
+ let minW = Number.POSITIVE_INFINITY;
159
+ let minH = Number.POSITIVE_INFINITY;
160
+ for (const s of items) {
161
+ if (s.x < minX)
162
+ minX = s.x;
163
+ if (s.y < minY)
164
+ minY = s.y;
165
+ if (s.width < minW)
166
+ minW = s.width;
167
+ if (s.height < minH)
168
+ minH = s.height;
169
+ }
170
+ // Seed the CELL to the smallest item (floored) so a mix of sizes
171
+ // actually spans: the smallest item is 1×1 and bigger ones take
172
+ // proportionally more cells. A fixed default cell that's larger than
173
+ // every item would make everything 1×1 ("nothing spans").
174
+ const CELL_FLOOR = 40;
175
+ setConfig(ctx.store, {
176
+ cellW: Math.max(CELL_FLOOR, Math.round(minW)),
177
+ cellH: Math.max(CELL_FLOOR, Math.round(minH)),
178
+ originX: minX - config.padding,
179
+ originY: minY - config.padding,
180
+ });
181
+ }
182
+ }
183
+ repackBoard(ctx, true); // gather every shape into the grid on enable
184
+ },
185
+ disable: () => {
186
+ // Remove EVERY config, not just the chosen one: a concurrent enable can
187
+ // leave several, and deleting one would leave the board a dashboard.
188
+ for (const config of getAllDashboardConfigs(ctx.store))
189
+ ctx.store.deleteShape(config.id);
190
+ },
191
+ getGridSpec: () => {
192
+ const config = getDashboardConfig(ctx.store);
193
+ return config ? gridSpecFromConfig(config) : null;
194
+ },
195
+ getMode: () => modeOf(ctx.store),
196
+ setMode: (mode) => {
197
+ if (mode === "flow" || mode === "absolute")
198
+ applyConfig(ctx, { mode });
199
+ },
200
+ getFitToGrid: () => fitToGridOf(ctx.store),
201
+ setFitToGrid: (on) => applyFitToGrid(ctx, on),
202
+ getFreeOutOfRange: () => freeOutOfRangeOf(ctx.store),
203
+ setFreeOutOfRange: (on) => {
204
+ const config = getDashboardConfig(ctx.store);
205
+ if (!config || config.freeOutOfRange === on)
206
+ return;
207
+ const command = {
208
+ execute: () => runGuarded(() => ctx.store.updateShape(config.id, { freeOutOfRange: on })),
209
+ undo: () => runGuarded(() => ctx.store.updateShape(config.id, { freeOutOfRange: !on })),
210
+ };
211
+ ctx.commands.execute(command);
212
+ if (!on)
213
+ repackBoard(ctx, true); // range now unlimited → gather everything
214
+ },
215
+ getViewportLock: () => viewportLockOf(ctx.store),
216
+ setViewportLock: (lock) => setConfig(ctx.store, { viewportLock: lock === true }),
217
+ getCellWidthAuto: () => cellWAutoOf(ctx.store),
218
+ setCellWidthAuto: (on) => setConfig(ctx.store, { cellWAuto: on === true }),
219
+ getSwap: () => swapOf(ctx.store),
220
+ setSwap: (on) => setConfig(ctx.store, { swap: on === true }),
221
+ getSwapThreshold: () => swapThresholdOf(ctx.store),
222
+ setSwapThreshold: (ratio) => {
223
+ if (!Number.isFinite(ratio))
224
+ return;
225
+ setConfig(ctx.store, { swapThreshold: Math.min(Math.max(ratio, 0), 1) });
226
+ },
227
+ getSwapDelay: () => swapDelayOf(ctx.store),
228
+ setSwapDelay: (ms) => {
229
+ if (!Number.isFinite(ms))
230
+ return;
231
+ setConfig(ctx.store, { swapDelay: Math.max(0, ms) });
232
+ },
233
+ repack: () => repackBoard(ctx, true),
234
+ // Ignore non-finite inputs (NaN/±Infinity) so a bad host call can't persist
235
+ // a broken value into the config — `Math.max(1, NaN)` is `NaN`, so the clamp
236
+ // alone doesn't protect the grid math / undo. The HUD already filters, but
237
+ // other callers reach these directly via `ctx.services`.
238
+ setColumns: (columns) => {
239
+ if (!Number.isFinite(columns))
240
+ return;
241
+ applyConfig(ctx, { columns: Math.max(1, Math.floor(columns)) });
242
+ },
243
+ setCellSize: (cellW, cellH) => {
244
+ if (!Number.isFinite(cellW) || !Number.isFinite(cellH))
245
+ return;
246
+ applyConfig(ctx, { cellW: Math.max(1, cellW), cellH: Math.max(1, cellH) });
247
+ },
248
+ setGap: (gap) => {
249
+ if (!Number.isFinite(gap))
250
+ return;
251
+ applyConfig(ctx, { gap: Math.max(0, gap) });
252
+ },
253
+ setPadding: (padding) => {
254
+ if (!Number.isFinite(padding))
255
+ return;
256
+ applyConfig(ctx, { padding: Math.max(0, padding) });
257
+ },
258
+ onChange: (listener) => {
259
+ // Fire on a config edit, and whenever the board's dashboard-status flips
260
+ // (enable/disable) — so HUD controls appear/disappear. A plain scan on
261
+ // add/remove is fine: it only runs on structural changes, not per-frame.
262
+ let wasDashboard = getDashboardConfig(ctx.store) !== undefined;
263
+ return ctx.store.onMutation((e) => {
264
+ if (e.type === "shape:updated") {
265
+ if (isDashboardConfig(e.payload.after))
266
+ listener();
267
+ return;
268
+ }
269
+ if (e.type === "shape:added" || e.type === "shape:removed") {
270
+ const isDashboard = getDashboardConfig(ctx.store) !== undefined;
271
+ if (isDashboard !== wasDashboard) {
272
+ wasDashboard = isDashboard;
273
+ listener();
274
+ }
275
+ }
276
+ });
277
+ },
278
+ };
279
+ }
280
+ /**
281
+ * Host accessor: `getDashboardApi(app.services)?.repack()`. Returns `undefined`
282
+ * when the dashboard plugin isn't active. Works with `ctx.services` too.
283
+ */
284
+ export function getDashboardApi(services) {
285
+ return dashboardService.get(services);
286
+ }
287
+ //# sourceMappingURL=dashboard-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-service.js","sourceRoot":"","sources":["../src/dashboard-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface DragTargetRect {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ }
7
+ /** Set (or clear, with null) the highlighted drop-target cell. */
8
+ export declare function setDragTarget(rect: DragTargetRect | null): void;
9
+ export declare function getDragTarget(): DragTargetRect | null;
10
+ export declare function subscribeDragTarget(cb: () => void): () => void;
11
+ //# sourceMappingURL=drag-target-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-target-store.d.ts","sourceRoot":"","sources":["../src/drag-target-store.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAKD,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAe/D;AAED,wBAAgB,aAAa,IAAI,cAAc,GAAG,IAAI,CAErD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG9D"}
@@ -0,0 +1,33 @@
1
+ // A tiny observable holding the cell the dragged item will land in (world rect),
2
+ // or null when nothing is being dragged. The runtime publishes it during a drag;
3
+ // the grid overlay subscribes and highlights it — so there's a clear "drops here"
4
+ // placeholder even when the item is over empty space (where siblings don't move,
5
+ // so there'd otherwise be no visual feedback). Framework-free so both the .ts
6
+ // runtime and the .tsx overlay can share it.
7
+ let target = null;
8
+ const listeners = new Set();
9
+ /** Set (or clear, with null) the highlighted drop-target cell. */
10
+ export function setDragTarget(rect) {
11
+ // Avoid redundant notifications when nothing changed (both null, or same rect).
12
+ if (rect === null && target === null)
13
+ return;
14
+ if (rect &&
15
+ target &&
16
+ rect.x === target.x &&
17
+ rect.y === target.y &&
18
+ rect.width === target.width &&
19
+ rect.height === target.height) {
20
+ return;
21
+ }
22
+ target = rect;
23
+ for (const fn of listeners)
24
+ fn();
25
+ }
26
+ export function getDragTarget() {
27
+ return target;
28
+ }
29
+ export function subscribeDragTarget(cb) {
30
+ listeners.add(cb);
31
+ return () => listeners.delete(cb);
32
+ }
33
+ //# sourceMappingURL=drag-target-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-target-store.js","sourceRoot":"","sources":["../src/drag-target-store.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,iFAAiF;AACjF,kFAAkF;AAClF,iFAAiF;AACjF,8EAA8E;AAC9E,6CAA6C;AAS7C,IAAI,MAAM,GAA0B,IAAI,CAAC;AACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,IAA2B;IACxD,gFAAgF;IAChF,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC7C,IACC,IAAI;QACJ,MAAM;QACN,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;QAC3B,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAC5B,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,GAAG,IAAI,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,SAAS;QAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAc;IACjD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { LayerRenderContext } from "@edv4h/usketch-shared";
2
+ export declare const GRID_OVERLAY_LAYER_ID = "usketch-plugin-dashboard:grid-overlay";
3
+ /** Show/hide the grid overlay. */
4
+ export declare function setGridOverlayVisible(next: boolean): void;
5
+ export declare function isGridOverlayVisible(): boolean;
6
+ /** Reset to the default (visible) — call on plugin setup so a remount starts fresh. */
7
+ export declare function resetGridOverlayVisible(): void;
8
+ /** The overlay layer descriptor. Registered in the plugin's setup. */
9
+ export declare const gridOverlayLayer: {
10
+ id: string;
11
+ order: number;
12
+ avoidCollision: boolean;
13
+ fixed: boolean;
14
+ render: (ctx: LayerRenderContext) => import("react").JSX.Element;
15
+ };
16
+ //# sourceMappingURL=grid-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-overlay.d.ts","sourceRoot":"","sources":["../src/grid-overlay.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,uBAAuB,CAAC;AAM3E,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAM7E,kCAAkC;AAClC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAIzD;AACD,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AACD,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AA4GD,sEAAsE;AACtE,eAAO,MAAM,gBAAgB;;;;;kBAKd,kBAAkB;CAChC,CAAC"}