@oh-just-another/state 0.57.0 → 0.59.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 (233) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README.md +76 -27
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/actions/actionArrange.d.ts +13 -0
  5. package/dist/actions/actionArrange.d.ts.map +1 -0
  6. package/dist/actions/actionArrange.js +130 -0
  7. package/dist/actions/actionArrange.js.map +1 -0
  8. package/dist/actions/actionClipboard.d.ts +2 -0
  9. package/dist/actions/actionClipboard.d.ts.map +1 -1
  10. package/dist/actions/actionClipboard.js +36 -4
  11. package/dist/actions/actionClipboard.js.map +1 -1
  12. package/dist/actions/actionGrouping.d.ts.map +1 -1
  13. package/dist/actions/actionGrouping.js +3 -1
  14. package/dist/actions/actionGrouping.js.map +1 -1
  15. package/dist/actions/actionKeyboard.d.ts.map +1 -1
  16. package/dist/actions/actionKeyboard.js +6 -2
  17. package/dist/actions/actionKeyboard.js.map +1 -1
  18. package/dist/actions/actionLayout.d.ts.map +1 -1
  19. package/dist/actions/actionLayout.js +12 -4
  20. package/dist/actions/actionLayout.js.map +1 -1
  21. package/dist/actions/actionMode.d.ts.map +1 -1
  22. package/dist/actions/actionMode.js +30 -10
  23. package/dist/actions/actionMode.js.map +1 -1
  24. package/dist/actions/actionSelection.d.ts.map +1 -1
  25. package/dist/actions/actionSelection.js +18 -6
  26. package/dist/actions/actionSelection.js.map +1 -1
  27. package/dist/actions/actionText.d.ts +5 -0
  28. package/dist/actions/actionText.d.ts.map +1 -0
  29. package/dist/actions/actionText.js +37 -0
  30. package/dist/actions/actionText.js.map +1 -0
  31. package/dist/actions/actionView.d.ts.map +1 -1
  32. package/dist/actions/actionView.js +4 -2
  33. package/dist/actions/actionView.js.map +1 -1
  34. package/dist/actions/actionZOrder.d.ts.map +1 -1
  35. package/dist/actions/actionZOrder.js +12 -4
  36. package/dist/actions/actionZOrder.js.map +1 -1
  37. package/dist/actions/actionZoom.d.ts.map +1 -1
  38. package/dist/actions/actionZoom.js +17 -17
  39. package/dist/actions/actionZoom.js.map +1 -1
  40. package/dist/actions/index.d.ts +3 -1
  41. package/dist/actions/index.d.ts.map +1 -1
  42. package/dist/actions/index.js +3 -1
  43. package/dist/actions/index.js.map +1 -1
  44. package/dist/actions/registry.d.ts.map +1 -1
  45. package/dist/actions/registry.js +5 -3
  46. package/dist/actions/registry.js.map +1 -1
  47. package/dist/actions/types.d.ts +1 -1
  48. package/dist/actions/types.d.ts.map +1 -1
  49. package/dist/actions/types.js.map +1 -1
  50. package/dist/auto-layout-scheduler.d.ts +1 -3
  51. package/dist/auto-layout-scheduler.d.ts.map +1 -1
  52. package/dist/auto-layout-scheduler.js +1 -2
  53. package/dist/auto-layout-scheduler.js.map +1 -1
  54. package/dist/built-in-handlers.d.ts.map +1 -1
  55. package/dist/built-in-handlers.js +30 -7
  56. package/dist/built-in-handlers.js.map +1 -1
  57. package/dist/clipboard.d.ts.map +1 -1
  58. package/dist/clipboard.js +6 -7
  59. package/dist/clipboard.js.map +1 -1
  60. package/dist/constants.d.ts +48 -23
  61. package/dist/constants.d.ts.map +1 -1
  62. package/dist/constants.js +48 -23
  63. package/dist/constants.js.map +1 -1
  64. package/dist/dom-events.d.ts +7 -0
  65. package/dist/dom-events.d.ts.map +1 -1
  66. package/dist/dom-events.js +12 -0
  67. package/dist/dom-events.js.map +1 -1
  68. package/dist/editor/animation-scene.d.ts +21 -0
  69. package/dist/editor/animation-scene.d.ts.map +1 -0
  70. package/dist/editor/animation-scene.js +71 -0
  71. package/dist/editor/animation-scene.js.map +1 -0
  72. package/dist/editor/animation.d.ts +43 -0
  73. package/dist/editor/animation.d.ts.map +1 -0
  74. package/dist/editor/animation.js +80 -0
  75. package/dist/editor/animation.js.map +1 -0
  76. package/dist/editor/applies/arrange.d.ts +46 -0
  77. package/dist/editor/applies/arrange.d.ts.map +1 -0
  78. package/dist/editor/applies/arrange.js +162 -0
  79. package/dist/editor/applies/arrange.js.map +1 -0
  80. package/dist/editor/applies/create.d.ts.map +1 -1
  81. package/dist/editor/applies/create.js +1 -1
  82. package/dist/editor/applies/create.js.map +1 -1
  83. package/dist/editor/applies/edge.d.ts +8 -1
  84. package/dist/editor/applies/edge.d.ts.map +1 -1
  85. package/dist/editor/applies/edge.js +31 -1
  86. package/dist/editor/applies/edge.js.map +1 -1
  87. package/dist/editor/applies/link-move.d.ts.map +1 -1
  88. package/dist/editor/applies/link-move.js +5 -2
  89. package/dist/editor/applies/link-move.js.map +1 -1
  90. package/dist/editor/applies/move.d.ts +6 -0
  91. package/dist/editor/applies/move.d.ts.map +1 -1
  92. package/dist/editor/applies/move.js +6 -0
  93. package/dist/editor/applies/move.js.map +1 -1
  94. package/dist/editor/applies/resize.d.ts +26 -5
  95. package/dist/editor/applies/resize.d.ts.map +1 -1
  96. package/dist/editor/applies/resize.js +92 -14
  97. package/dist/editor/applies/resize.js.map +1 -1
  98. package/dist/editor/applies/snap-grid.d.ts.map +1 -1
  99. package/dist/editor/applies/snap-grid.js.map +1 -1
  100. package/dist/editor/caret-blink.d.ts +18 -0
  101. package/dist/editor/caret-blink.d.ts.map +1 -0
  102. package/dist/editor/caret-blink.js +42 -0
  103. package/dist/editor/caret-blink.js.map +1 -0
  104. package/dist/editor/container-ops.d.ts.map +1 -1
  105. package/dist/editor/container-ops.js +2 -2
  106. package/dist/editor/container-ops.js.map +1 -1
  107. package/dist/editor/dirty-rect.d.ts +23 -0
  108. package/dist/editor/dirty-rect.d.ts.map +1 -0
  109. package/dist/editor/dirty-rect.js +115 -0
  110. package/dist/editor/dirty-rect.js.map +1 -0
  111. package/dist/editor/gif-playback.d.ts +45 -0
  112. package/dist/editor/gif-playback.d.ts.map +1 -0
  113. package/dist/editor/gif-playback.js +125 -0
  114. package/dist/editor/gif-playback.js.map +1 -0
  115. package/dist/editor/hit-test.d.ts +3 -3
  116. package/dist/editor/hit-test.d.ts.map +1 -1
  117. package/dist/editor/hit-test.js +40 -15
  118. package/dist/editor/hit-test.js.map +1 -1
  119. package/dist/editor/long-press.d.ts.map +1 -1
  120. package/dist/editor/long-press.js +2 -2
  121. package/dist/editor/long-press.js.map +1 -1
  122. package/dist/editor/pinch.d.ts.map +1 -1
  123. package/dist/editor/pinch.js +6 -7
  124. package/dist/editor/pinch.js.map +1 -1
  125. package/dist/editor/pointer-binding.d.ts.map +1 -1
  126. package/dist/editor/pointer-binding.js +42 -25
  127. package/dist/editor/pointer-binding.js.map +1 -1
  128. package/dist/editor/public/annotations.d.ts.map +1 -1
  129. package/dist/editor/public/annotations.js.map +1 -1
  130. package/dist/editor/public/arrange-group.d.ts +3 -9
  131. package/dist/editor/public/arrange-group.d.ts.map +1 -1
  132. package/dist/editor/public/arrange-group.js +4 -6
  133. package/dist/editor/public/arrange-group.js.map +1 -1
  134. package/dist/editor/public/brush.d.ts.map +1 -1
  135. package/dist/editor/public/brush.js +1 -3
  136. package/dist/editor/public/brush.js.map +1 -1
  137. package/dist/editor/public/clipboard.d.ts +2 -4
  138. package/dist/editor/public/clipboard.d.ts.map +1 -1
  139. package/dist/editor/public/clipboard.js +2 -4
  140. package/dist/editor/public/clipboard.js.map +1 -1
  141. package/dist/editor/public/cursor.d.ts +43 -0
  142. package/dist/editor/public/cursor.d.ts.map +1 -0
  143. package/dist/editor/public/cursor.js +135 -0
  144. package/dist/editor/public/cursor.js.map +1 -0
  145. package/dist/editor/public/frame-name.d.ts +20 -0
  146. package/dist/editor/public/frame-name.d.ts.map +1 -0
  147. package/dist/editor/public/frame-name.js +54 -0
  148. package/dist/editor/public/frame-name.js.map +1 -0
  149. package/dist/editor/public/image-insert.d.ts +1 -1
  150. package/dist/editor/public/image-insert.d.ts.map +1 -1
  151. package/dist/editor/public/layers.d.ts.map +1 -1
  152. package/dist/editor/public/layers.js +2 -2
  153. package/dist/editor/public/layers.js.map +1 -1
  154. package/dist/editor/public/link.d.ts +11 -2
  155. package/dist/editor/public/link.d.ts.map +1 -1
  156. package/dist/editor/public/link.js +71 -5
  157. package/dist/editor/public/link.js.map +1 -1
  158. package/dist/editor/public/placement.d.ts +60 -2
  159. package/dist/editor/public/placement.d.ts.map +1 -1
  160. package/dist/editor/public/placement.js +185 -2
  161. package/dist/editor/public/placement.js.map +1 -1
  162. package/dist/editor/public/selection-ops.d.ts +23 -1
  163. package/dist/editor/public/selection-ops.d.ts.map +1 -1
  164. package/dist/editor/public/selection-ops.js +81 -8
  165. package/dist/editor/public/selection-ops.js.map +1 -1
  166. package/dist/editor/public/text-edit.d.ts +1 -10
  167. package/dist/editor/public/text-edit.d.ts.map +1 -1
  168. package/dist/editor/public/text-edit.js +2 -16
  169. package/dist/editor/public/text-edit.js.map +1 -1
  170. package/dist/editor/public/z-order.d.ts.map +1 -1
  171. package/dist/editor/public/z-order.js +5 -5
  172. package/dist/editor/public/z-order.js.map +1 -1
  173. package/dist/editor/public/zoom-pan.d.ts +6 -4
  174. package/dist/editor/public/zoom-pan.d.ts.map +1 -1
  175. package/dist/editor/public/zoom-pan.js +8 -7
  176. package/dist/editor/public/zoom-pan.js.map +1 -1
  177. package/dist/editor/render-orchestrator.d.ts.map +1 -1
  178. package/dist/editor/render-orchestrator.js +5 -11
  179. package/dist/editor/render-orchestrator.js.map +1 -1
  180. package/dist/editor/resize-helpers.d.ts +21 -5
  181. package/dist/editor/resize-helpers.d.ts.map +1 -1
  182. package/dist/editor/resize-helpers.js +59 -19
  183. package/dist/editor/resize-helpers.js.map +1 -1
  184. package/dist/editor/viewport-helpers.d.ts.map +1 -1
  185. package/dist/editor/viewport-helpers.js +3 -3
  186. package/dist/editor/viewport-helpers.js.map +1 -1
  187. package/dist/editor-events.d.ts +1 -1
  188. package/dist/editor-events.d.ts.map +1 -1
  189. package/dist/editor.d.ts +125 -130
  190. package/dist/editor.d.ts.map +1 -1
  191. package/dist/editor.js +352 -985
  192. package/dist/editor.js.map +1 -1
  193. package/dist/file-drop.d.ts.map +1 -1
  194. package/dist/file-drop.js +7 -4
  195. package/dist/file-drop.js.map +1 -1
  196. package/dist/frame-helpers.d.ts.map +1 -1
  197. package/dist/frame-helpers.js +5 -5
  198. package/dist/frame-helpers.js.map +1 -1
  199. package/dist/group-helpers.d.ts.map +1 -1
  200. package/dist/group-helpers.js +4 -4
  201. package/dist/group-helpers.js.map +1 -1
  202. package/dist/handle.d.ts +61 -6
  203. package/dist/handle.d.ts.map +1 -1
  204. package/dist/handle.js +105 -7
  205. package/dist/handle.js.map +1 -1
  206. package/dist/hotkeys-binding.d.ts +26 -0
  207. package/dist/hotkeys-binding.d.ts.map +1 -0
  208. package/dist/hotkeys-binding.js +35 -0
  209. package/dist/hotkeys-binding.js.map +1 -0
  210. package/dist/index.d.ts +3 -2
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +3 -2
  213. package/dist/index.js.map +1 -1
  214. package/dist/link-selection.d.ts +3 -5
  215. package/dist/link-selection.d.ts.map +1 -1
  216. package/dist/link-selection.js +3 -12
  217. package/dist/link-selection.js.map +1 -1
  218. package/dist/machine.d.ts +27 -1
  219. package/dist/machine.d.ts.map +1 -1
  220. package/dist/machine.js +38 -0
  221. package/dist/machine.js.map +1 -1
  222. package/dist/overlay.d.ts +1 -4
  223. package/dist/overlay.d.ts.map +1 -1
  224. package/dist/overlay.js +142 -38
  225. package/dist/overlay.js.map +1 -1
  226. package/dist/selection.d.ts.map +1 -1
  227. package/dist/selection.js +2 -10
  228. package/dist/selection.js.map +1 -1
  229. package/dist/util.d.ts +8 -0
  230. package/dist/util.d.ts.map +1 -0
  231. package/dist/util.js +17 -0
  232. package/dist/util.js.map +1 -0
  233. package/package.json +9 -9
@@ -1,4 +1,4 @@
1
- import { type Scene, type Patch, type TextStyle } from "@oh-just-another/scene";
1
+ import { type Scene, type Element, type Patch, type TextStyle } from "@oh-just-another/scene";
2
2
  import type { LinkId, LayerId, ElementId, Vec2 } from "@oh-just-another/types";
3
3
  import * as Selection from "../../selection.js";
4
4
  /**
@@ -71,8 +71,30 @@ export declare const computeUpdateTextProps: (scene: Scene, ids: Iterable<Elemen
71
71
  readonly scene: Scene;
72
72
  readonly patch: Patch;
73
73
  } | null;
74
+ /**
75
+ * Pure: step every selected text shape's font size up or down by the
76
+ * multiplicative {@link TEXT_FONT_SIZE_STEP} (at least ±1 px so small sizes
77
+ * still move), clamped to the usable range. Each shape steps from its own
78
+ * size, so a mixed selection keeps its relative sizing. One patch (batch for
79
+ * 2+). `null` when nothing selected is text or every size is already at the
80
+ * clamp.
81
+ */
82
+ export declare const computeAdjustFontSize: (scene: Scene, ids: Iterable<ElementId>, direction: "increase" | "decrease") => {
83
+ readonly scene: Scene;
84
+ readonly patch: Patch;
85
+ } | null;
74
86
  /** Human-readable description for the live-region announce after a nudge. */
75
87
  export declare const describeNudge: (delta: Vec2, count: number) => string;
76
88
  /** Compose a selection from a freshly-created id list. */
77
89
  export declare const selectionFromNewIds: (ids: readonly ElementId[]) => Selection.Selection;
90
+ /**
91
+ * Spatial-keyboard navigation: the nearest top-level interactable element to
92
+ * `refCenter` in `direction`, scored by distance along the axis plus a 45°-cone
93
+ * penalty (so a shape roughly in line wins over a nearer one off to the side).
94
+ * Already-selected and non-interactable shapes are skipped. `null` when nothing
95
+ * lies in that half-plane.
96
+ */
97
+ export declare const findClosestInDirection: (scene: Scene, selected: {
98
+ has: (id: ElementId) => boolean;
99
+ }, direction: "left" | "right" | "up" | "down", refCenter: Vec2, isInteractable: (s: Element) => boolean) => ElementId | null;
78
100
  //# sourceMappingURL=selection-ops.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-ops.d.ts","sourceRoot":"","sources":["../../../src/editor/public/selection-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,KAAK,EAEV,KAAK,KAAK,EACV,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,EACZ,SAAS,WAAW,CAAC,SAAS,CAAC,EAC/B,OAAO,IAAI,EACX,eAAe,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,KACtC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAmBjF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,EACZ,WAAW,SAAS,CAAC,SAAS,EAC9B,eAAe,WAAW,CAAC,MAAM,CAAC,KACjC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,IA6BzD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,KAAK,EACZ,WAAW,SAAS,CAAC,SAAS,EAC9B,YAAY,MAAM,MAAM,KACvB;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC,GAAG,IAyBH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,KAAK,QAAQ,CAAC,SAAS,CAAC,EACxB,SAAS,SAAS,CAAC,SAAS,KAC3B,SAAS,CAAC,SAAS,GAAG,IAQxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,SAAS,SAAS,CAAC,SAAS,KAC3B,SAAS,CAAC,SAAS,GAAG,IASxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,MAAM,CAQ9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,KAAK,QAAQ,CAAC,SAAS,CAAC,EACxB,SAAS,OAAO,CAAC,SAAS,CAAC,KAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAqBrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,KAAK,EACZ,KAAK,QAAQ,CAAC,SAAS,CAAC,EACxB,SAAS;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAChG;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAqBrD,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,EAAE,OAAO,MAAM,KAAG,MAQ1D,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,GAAI,KAAK,SAAS,SAAS,EAAE,KAAG,SAAS,CAAC,SAIzE,CAAC"}
1
+ {"version":3,"file":"selection-ops.d.ts","sourceRoot":"","sources":["../../../src/editor/public/selection-ops.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { addElement, getElement, orderForTop, removeLink, removeElement, updateElement, } from "@oh-just-another/scene";
1
+ import { addElement, getElement, getElementWorldBounds, isText, orderForTop, removeLink, removeElement, updateElement, } from "@oh-just-another/scene";
2
2
  import { elementId as castElementId } from "@oh-just-another/types";
3
3
  import * as Selection from "../../selection.js";
4
+ import { TEXT_FONT_SIZE_STEP, TEXT_MAX_FONT_SIZE, TEXT_RESIZE_MIN_FONT_SIZE, } from "../../constants.js";
4
5
  /**
5
6
  * Nudge every selected shape (plus descendants) by `delta`, skipping
6
7
  * shapes on locked layers. Returns the next scene + patches + count of
@@ -168,9 +169,7 @@ export const computeUpdateStyle = (scene, ids, partial) => {
168
169
  const firstPatch = patches[0];
169
170
  return {
170
171
  scene: s,
171
- patch: patches.length === 1 && firstPatch !== undefined
172
- ? firstPatch
173
- : { kind: "batch", patches },
172
+ patch: patches.length === 1 && firstPatch !== undefined ? firstPatch : { kind: "batch", patches },
174
173
  };
175
174
  };
176
175
  /**
@@ -182,7 +181,8 @@ export const computeUpdateStyle = (scene, ids, partial) => {
182
181
  export const computeUpdateTextProps = (scene, ids, partial) => {
183
182
  const targetIds = [];
184
183
  for (const id of ids) {
185
- if (getElement(scene, id)?.type === "text")
184
+ const el = getElement(scene, id);
185
+ if (el !== undefined && isText(el))
186
186
  targetIds.push(id);
187
187
  }
188
188
  if (targetIds.length === 0)
@@ -197,9 +197,41 @@ export const computeUpdateTextProps = (scene, ids, partial) => {
197
197
  const firstPatch = patches[0];
198
198
  return {
199
199
  scene: s,
200
- patch: patches.length === 1 && firstPatch !== undefined
201
- ? firstPatch
202
- : { kind: "batch", patches },
200
+ patch: patches.length === 1 && firstPatch !== undefined ? firstPatch : { kind: "batch", patches },
201
+ };
202
+ };
203
+ /**
204
+ * Pure: step every selected text shape's font size up or down by the
205
+ * multiplicative {@link TEXT_FONT_SIZE_STEP} (at least ±1 px so small sizes
206
+ * still move), clamped to the usable range. Each shape steps from its own
207
+ * size, so a mixed selection keeps its relative sizing. One patch (batch for
208
+ * 2+). `null` when nothing selected is text or every size is already at the
209
+ * clamp.
210
+ */
211
+ export const computeAdjustFontSize = (scene, ids, direction) => {
212
+ const up = direction === "increase";
213
+ const factor = up ? TEXT_FONT_SIZE_STEP : 1 / TEXT_FONT_SIZE_STEP;
214
+ let s = scene;
215
+ const patches = [];
216
+ for (const id of ids) {
217
+ const el = getElement(s, id);
218
+ if (el === undefined || !isText(el))
219
+ continue;
220
+ const scaled = Math.round(el.fontSize * factor);
221
+ const stepped = up ? Math.max(el.fontSize + 1, scaled) : Math.min(el.fontSize - 1, scaled);
222
+ const next = Math.min(TEXT_MAX_FONT_SIZE, Math.max(TEXT_RESIZE_MIN_FONT_SIZE, stepped));
223
+ if (next === el.fontSize)
224
+ continue;
225
+ const r = updateElement(s, id, (sh) => ({ ...sh, fontSize: next }));
226
+ s = r.scene;
227
+ patches.push(r.patch);
228
+ }
229
+ const firstPatch = patches[0];
230
+ if (firstPatch === undefined)
231
+ return null;
232
+ return {
233
+ scene: s,
234
+ patch: patches.length === 1 ? firstPatch : { kind: "batch", patches },
203
235
  };
204
236
  };
205
237
  /** Human-readable description for the live-region announce after a nudge. */
@@ -223,4 +255,45 @@ export const selectionFromNewIds = (ids) => {
223
255
  next = Selection.add(next, id);
224
256
  return next;
225
257
  };
258
+ /**
259
+ * Spatial-keyboard navigation: the nearest top-level interactable element to
260
+ * `refCenter` in `direction`, scored by distance along the axis plus a 45°-cone
261
+ * penalty (so a shape roughly in line wins over a nearer one off to the side).
262
+ * Already-selected and non-interactable shapes are skipped. `null` when nothing
263
+ * lies in that half-plane.
264
+ */
265
+ export const findClosestInDirection = (scene, selected, direction, refCenter, isInteractable) => {
266
+ const dv = direction === "left"
267
+ ? { x: -1, y: 0 }
268
+ : direction === "right"
269
+ ? { x: 1, y: 0 }
270
+ : direction === "up"
271
+ ? { x: 0, y: -1 }
272
+ : { x: 0, y: 1 };
273
+ let best = null;
274
+ let bestScore = Infinity;
275
+ for (const s of scene.elements.values()) {
276
+ if (s.parentId !== undefined)
277
+ continue; // top-level shapes only
278
+ if (selected.has(s.id))
279
+ continue;
280
+ if (!isInteractable(s))
281
+ continue;
282
+ const b = getElementWorldBounds(s);
283
+ const cx = b.x + b.width / 2 - refCenter.x;
284
+ const cy = b.y + b.height / 2 - refCenter.y;
285
+ const along = cx * dv.x + cy * dv.y;
286
+ if (along <= 0)
287
+ continue; // not in the direction's half-plane
288
+ const perp = Math.abs(cx * dv.y - cy * dv.x);
289
+ if (perp > along)
290
+ continue; // outside the 45° cone
291
+ const score = along + perp;
292
+ if (score < bestScore) {
293
+ bestScore = score;
294
+ best = s.id;
295
+ }
296
+ }
297
+ return best;
298
+ };
226
299
  //# sourceMappingURL=selection-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-ops.js","sourceRoot":"","sources":["../../../src/editor/public/selection-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection-ops.js","sourceRoot":"","sources":["../../../src/editor/public/selection-ops.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,8 @@
1
- import { type Scene, type Patch } from "@oh-just-another/scene";
1
+ import { type Scene } from "@oh-just-another/scene";
2
2
  import type { LayerId, ElementId } from "@oh-just-another/types";
3
3
  /**
4
4
  * Precondition check for `beginTextEdit`. Returns `true` when the
5
5
  * shape exists, is a text shape, and lives on an unlocked layer.
6
6
  */
7
7
  export declare const canBeginTextEdit: (scene: Scene, id: ElementId, isLayerLocked: (id: LayerId) => boolean) => boolean;
8
- /**
9
- * Compute the patch for replacing a text shape's body. Returns `null`
10
- * when the shape disappeared or the text didn't actually change (the
11
- * caller still clears `_editingTextElement` and notifies on null).
12
- */
13
- export declare const computeCommitTextEdit: (scene: Scene, id: ElementId, next: string) => {
14
- readonly scene: Scene;
15
- readonly patch: Patch;
16
- } | null;
17
8
  //# sourceMappingURL=text-edit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-edit.d.ts","sourceRoot":"","sources":["../../../src/editor/public/text-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,IAAI,SAAS,EACb,eAAe,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,KACtC,OAKF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,EACZ,IAAI,SAAS,EACb,MAAM,MAAM,KACX;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAMrD,CAAC"}
1
+ {"version":3,"file":"text-edit.d.ts","sourceRoot":"","sources":["../../../src/editor/public/text-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,IAAI,SAAS,EACb,eAAe,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,KACtC,OAKF,CAAC"}
@@ -1,28 +1,14 @@
1
- import { getElement, updateElement, } from "@oh-just-another/scene";
1
+ import { getElement, isText } from "@oh-just-another/scene";
2
2
  /**
3
3
  * Precondition check for `beginTextEdit`. Returns `true` when the
4
4
  * shape exists, is a text shape, and lives on an unlocked layer.
5
5
  */
6
6
  export const canBeginTextEdit = (scene, id, isLayerLocked) => {
7
7
  const shape = getElement(scene, id);
8
- if (shape?.type !== "text")
8
+ if (shape === undefined || !isText(shape))
9
9
  return false;
10
10
  if (isLayerLocked(shape.layerId))
11
11
  return false;
12
12
  return true;
13
13
  };
14
- /**
15
- * Compute the patch for replacing a text shape's body. Returns `null`
16
- * when the shape disappeared or the text didn't actually change (the
17
- * caller still clears `_editingTextElement` and notifies on null).
18
- */
19
- export const computeCommitTextEdit = (scene, id, next) => {
20
- const shape = getElement(scene, id);
21
- if (shape?.type !== "text")
22
- return null;
23
- if (shape.text === next)
24
- return null;
25
- const r = updateElement(scene, id, (s) => ({ ...s, text: next }));
26
- return { scene: r.scene, patch: r.patch };
27
- };
28
14
  //# sourceMappingURL=text-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-edit.js","sourceRoot":"","sources":["../../../src/editor/public/text-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAGhC;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,EAAa,EACb,aAAuC,EAC9B,EAAE;IACX,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAY,EACZ,EAAa,EACb,IAAY,EAC6C,EAAE;IAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACxC,IAAK,KAA2B,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"text-edit.js","sourceRoot":"","sources":["../../../src/editor/public/text-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAc,MAAM,wBAAwB,CAAC;AAGxE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,EAAa,EACb,aAAuC,EAC9B,EAAE;IACX,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"z-order.d.ts","sourceRoot":"","sources":["../../../src/editor/public/z-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAiBjE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAarD,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAarD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAuBrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAmBrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EACzE,UAAU,SAAS,CAAC,EAAE,EACtB,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,KACjD,MAcF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,KAAK,EACZ,UAAU,SAAS,OAAO,EAAE,EAC5B,QAAQ,CACN,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE,KAAK,KACT,IAAI,KACR,MAsBF,CAAC"}
1
+ {"version":3,"file":"z-order.d.ts","sourceRoot":"","sources":["../../../src/editor/public/z-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAiBjE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAarD,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAarD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAuBrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,IAAI,SAAS,GAAG,SAAS,EACzB,WAAW,WAAW,CAAC,SAAS,CAAC,KAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAmBrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EACzE,UAAU,SAAS,CAAC,EAAE,EACtB,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,KACjD,MAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,KAAK,EACZ,UAAU,SAAS,OAAO,EAAE,EAC5B,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,KAC/C,MAsBF,CAAC"}
@@ -1,11 +1,11 @@
1
- import { getElement, orderBetween, orderBetweenMany, orderForBottom, orderForTop, updateLink, updateElement, } from "@oh-just-another/scene";
1
+ import { byOrderAsc, byOrderDesc, getElement, orderBetween, orderBetweenMany, orderForBottom, orderForTop, updateLink, updateElement, } from "@oh-just-another/scene";
2
2
  /**
3
3
  * Pick the target shape for a single-shape z-order command. Defaults
4
4
  * to the lone selected shape when `id` is omitted; null when neither
5
5
  * path resolves.
6
6
  */
7
7
  const resolveTarget = (scene, id, selection) => {
8
- const target = id ?? (selection.size === 1 ? [...selection][0] ?? null : null);
8
+ const target = id ?? (selection.size === 1 ? ([...selection][0] ?? null) : null);
9
9
  if (!target)
10
10
  return null;
11
11
  return scene.elements.has(target) ? target : null;
@@ -57,7 +57,7 @@ export const computeBringForward = (scene, id, selection) => {
57
57
  // Siblings on the same layer, sorted bottom → top.
58
58
  const siblings = [...scene.elements.values()]
59
59
  .filter((s) => s.layerId === shape.layerId && s.id !== shape.id)
60
- .sort((a, b) => (a.order < b.order ? -1 : a.order > b.order ? 1 : 0));
60
+ .sort(byOrderAsc);
61
61
  // Neighbour directly above = smallest order strictly greater than
62
62
  // the shape's own. Anything above the neighbour follows.
63
63
  const above = siblings.find((s) => s.order > shape.order) ?? null;
@@ -90,7 +90,7 @@ export const computeSendBackward = (scene, id, selection) => {
90
90
  // (largest order strictly less than the shape's own).
91
91
  const siblings = [...scene.elements.values()]
92
92
  .filter((s) => s.layerId === shape.layerId && s.id !== shape.id)
93
- .sort((a, b) => (a.order > b.order ? -1 : a.order < b.order ? 1 : 0));
93
+ .sort(byOrderDesc);
94
94
  const below = siblings.find((s) => s.order < shape.order) ?? null;
95
95
  if (!below)
96
96
  return null; // already bottom-most
@@ -114,7 +114,7 @@ export const computeSendBackward = (scene, id, selection) => {
114
114
  export const rewriteOrders = (entities, apply) => {
115
115
  if (entities.length === 0)
116
116
  return 0;
117
- const sorted = [...entities].sort((a, b) => a.order < b.order ? -1 : a.order > b.order ? 1 : 0);
117
+ const sorted = [...entities].sort(byOrderAsc);
118
118
  const fresh = orderBetweenMany(null, null, sorted.length);
119
119
  let changed = 0;
120
120
  sorted.forEach((entity, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"z-order.js","sourceRoot":"","sources":["../../../src/editor/public/z-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"z-order.js","sourceRoot":"","sources":["../../../src/editor/public/z-order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,GAId,MAAM,wBAAwB,CAAC;AAGhC;;;;GAIG;AACH,MAAM,aAAa,GAAG,CACpB,KAAY,EACZ,EAAyB,EACzB,SAAiC,EACf,EAAE;IACpB,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,EAAyB,EACzB,SAAiC,EACwB,EAAE;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACvB,CAAC;IACF,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,EAAyB,EACzB,SAAiC,EACwB,EAAE;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,cAAc,CAC1B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACvB,CAAC;IACF,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,EAAyB,EACzB,SAAiC,EACwB,EAAE;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,mDAAmD;IACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;SAC/D,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,kEAAkE;IAClE,yDAAyD;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACvE,oEAAoE;IACpE,2DAA2D;IAC3D,uDAAuD;IACvD,MAAM,KAAK,GAAoB,UAAU;QACvC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;QAC7C,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,EAAyB,EACzB,SAAiC,EACwB,EAAE;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,oEAAoE;IACpE,sDAAsD;IACtD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;SAC/D,IAAI,CAAC,WAAW,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACvE,MAAM,KAAK,GAAoB,UAAU;QACvC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QAC7C,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAAsB,EACtB,KAAkD,EAC1C,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO;QACxD,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAY,EACZ,QAA4B,EAC5B,MAAgD,EACxC,EAAE;IACV,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,aAAa,CACtB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,EAC3D,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;QACF,OAAO,IAAI,aAAa,CACtB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EACtD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACd,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { type GridStyle, type Scene } from "@oh-just-another/scene";
2
2
  import type { Bounds, Vec2 } from "@oh-just-another/types";
3
+ /** Clamp a zoom factor to the editor's `[MIN_ZOOM, MAX_ZOOM]` range. */
4
+ export declare const clampZoom: (z: number) => number;
3
5
  /**
4
6
  * Shift the camera by a screen-space delta. Returns the next scene, or
5
7
  * `null` for a zero-delta no-op. Viewport state is editor-local —
@@ -32,12 +34,12 @@ export declare const computeZoomToFit: (scene: Scene, padding: number) => Scene
32
34
  */
33
35
  export declare const computeViewportResize: (scene: Scene, width: number, height: number) => Scene | null;
34
36
  /**
35
- * Merge a partial grid update (`size` and/or `style`). Returns `null`
36
- * when nothing actually changed. Grid settings are view preferences —
37
- * caller doesn't touch history.
37
+ * Merge a partial grid update (`enabled` and/or `style` and/or `snap`).
38
+ * Returns `null` when nothing actually changed. Grid settings are view
39
+ * preferences — caller doesn't touch history.
38
40
  */
39
41
  export declare const computeSetGrid: (scene: Scene, patch: {
40
- size?: number;
42
+ enabled?: boolean;
41
43
  style?: GridStyle;
42
44
  snap?: boolean;
43
45
  }) => Scene | null;
@@ -1 +1 @@
1
- {"version":3,"file":"zoom-pan.d.ts","sourceRoot":"","sources":["../../../src/editor/public/zoom-pan.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAK3D;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,aAAa,IAAI,KAAG,KAAK,GAAG,IAGpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,aAAa,IAAI,KAChB,KAAK,GAAG,IASV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,KAAK,GAAG,IAQvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,KAAK,GAAG,IAiBV,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,SAAS,MAAM,KAAG,KAAK,GAAG,IASxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,KAAK,GAAG,IAIV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,KAAK,EACZ,OAAO;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KAC1D,KAAK,GAAG,IAeV,CAAC"}
1
+ {"version":3,"file":"zoom-pan.d.ts","sourceRoot":"","sources":["../../../src/editor/public/zoom-pan.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG3D,wEAAwE;AACxE,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAAmD,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,aAAa,IAAI,KAAG,KAAK,GAAG,IAGpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,EAAE,aAAa,IAAI,KAAG,KAAK,GAAG,IASvF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,KAAK,GAAG,IAQvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,KAAK,GAAG,IAiBV,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,SAAS,MAAM,KAAG,KAAK,GAAG,IASxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,KAAK,GAAG,IAIV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,KAAK,EACZ,OAAO;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9D,KAAK,GAAG,IAeV,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { bounds as B } from "@oh-just-another/math";
2
2
  import { getElementWorldBounds, panBy as viewportPanBy, resize as viewportResize, zoomAt as viewportZoomAt, } from "@oh-just-another/scene";
3
3
  import { MAX_ZOOM, MIN_ZOOM } from "../../constants.js";
4
- const clampZoom = (z) => Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, z));
4
+ /** Clamp a zoom factor to the editor's `[MIN_ZOOM, MAX_ZOOM]` range. */
5
+ export const clampZoom = (z) => Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, z));
5
6
  /**
6
7
  * Shift the camera by a screen-space delta. Returns the next scene, or
7
8
  * `null` for a zero-delta no-op. Viewport state is editor-local —
@@ -93,21 +94,21 @@ export const computeViewportResize = (scene, width, height) => {
93
94
  return { ...scene, viewport: viewportResize(vp, width, height) };
94
95
  };
95
96
  /**
96
- * Merge a partial grid update (`size` and/or `style`). Returns `null`
97
- * when nothing actually changed. Grid settings are view preferences —
98
- * caller doesn't touch history.
97
+ * Merge a partial grid update (`enabled` and/or `style` and/or `snap`).
98
+ * Returns `null` when nothing actually changed. Grid settings are view
99
+ * preferences — caller doesn't touch history.
99
100
  */
100
101
  export const computeSetGrid = (scene, patch) => {
101
102
  const vp = scene.viewport;
102
- const nextSize = patch.size ?? vp.gridSize;
103
+ const nextEnabled = patch.enabled ?? vp.gridEnabled;
103
104
  const nextStyle = patch.style ?? vp.gridStyle;
104
105
  const nextSnap = patch.snap ?? vp.snapToGrid;
105
- if (nextSize === vp.gridSize && nextStyle === vp.gridStyle && nextSnap === vp.snapToGrid) {
106
+ if (nextEnabled === vp.gridEnabled && nextStyle === vp.gridStyle && nextSnap === vp.snapToGrid) {
106
107
  return null;
107
108
  }
108
109
  const nextViewport = {
109
110
  ...vp,
110
- ...(nextSize === undefined ? {} : { gridSize: nextSize }),
111
+ gridEnabled: nextEnabled,
111
112
  ...(nextStyle === undefined ? {} : { gridStyle: nextStyle }),
112
113
  ...(nextSnap === undefined ? {} : { snapToGrid: nextSnap }),
113
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"zoom-pan.js","sourceRoot":"","sources":["../../../src/editor/public/zoom-pan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,MAAM,IAAI,cAAc,GAGzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,WAAiB,EAAgB,EAAE;IAC1E,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;AAC5E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,MAAc,EACd,WAAiB,EACH,EAAE;IAChB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;IACjD,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAgB,EAAE;IAC7D,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG;QAClB,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI;QACzC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI;KAC3C,CAAC;IACF,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;AAC9E,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,MAAc,EACd,OAAe,EACD,EAAE;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC9B,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;KAChC,CAAC;IACF,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI;QAC3C,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI;KAC7C,CAAC;IACF,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,OAAe,EAAgB,EAAE;IAC9E,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAY,EACZ,KAAa,EACb,MAAc,EACA,EAAE;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAY,EACZ,KAA2D,EAC7C,EAAE;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC;IAC7C,IAAI,QAAQ,KAAK,EAAE,CAAC,QAAQ,IAAI,SAAS,KAAK,EAAE,CAAC,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAc;QAC9B,GAAG,EAAE;QACL,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAC5D,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;KAC5D,CAAC;IACF,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC9C,CAAC,CAAC"}
1
+ {"version":3,"file":"zoom-pan.js","sourceRoot":"","sources":["../../../src/editor/public/zoom-pan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAkB3C;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,IAwc7C,CAAC"}
1
+ {"version":3,"file":"render-orchestrator.d.ts","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAc3C;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,IAqc7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getLink, getLinkPath, getLinkCurvePoints, getLinkWaypointMidpoints, getElement, getElementWorldBounds, getElementOutline, getWorldToScreen, getDropZonesWorld, strokeOutsideExtent, isImage, } from "@oh-just-another/scene";
1
+ import { getLink, getLinkPath, getLinkCurvePoints, getLinkWaypointMidpoints, getElement, getElementWorldBounds, getElementOutline, getWorldToScreen, getDropZonesWorld, strokeOutsideExtent, isFrame, isImage, } from "@oh-just-another/scene";
2
2
  import { DEFAULT_LOD, renderLinks, renderGrid, renderScene } from "@oh-just-another/renderer-core";
3
3
  import { renderOverlay, paintElementSelectionHalo, } from "../overlay.js";
4
4
  import { anchorOverlayPoints } from "./anchor-points.js";
@@ -13,12 +13,7 @@ import { ANCHOR_DOT_ACTIVE_RADIUS, ANCHOR_DOT_RADIUS, ANCHOR_DOT_HOVER_GROW_RADI
13
13
  const DRAW_PREVIEW_ELEMENT_ID = "__draw-preview__";
14
14
  /** Throwaway id for the live draw-edge connector preview link. */
15
15
  const DRAW_PREVIEW_LINK_ID = "__draw-preview-link__";
16
- /** Index-access helper: throws on out-of-range instead of returning `undefined`. */
17
- const req = (v) => {
18
- if (v === undefined)
19
- throw new Error("packages/state: index out of range");
20
- return v;
21
- };
16
+ import { req } from "../util.js";
22
17
  /**
23
18
  * Render orchestrator: background grid pass, tile-cache vs full renderScene
24
19
  * path, and the overlay options builder (drawing / lasso preview, edge
@@ -38,7 +33,7 @@ export const renderEditor = (editor) => {
38
33
  if (editor.backgroundTarget) {
39
34
  // Grid pass also clears the background layer each frame. When the grid is
40
35
  // toggled off, still clear it so no stale grid lingers under the halos.
41
- if (editor.gridVisible)
36
+ if (editor.gridEnabled)
42
37
  renderGrid(editor._scene, editor.backgroundTarget);
43
38
  else
44
39
  editor.backgroundTarget.clear();
@@ -285,8 +280,7 @@ export const renderEditor = (editor) => {
285
280
  // Group-handle overlay: a multi-object selection (elements + links) OR a
286
281
  // single group-typed shape. A lone link keeps its endpoint handles, not a
287
282
  // resize box. Aspect-locked groups flag the overlay for corner-only handles.
288
- if (editor._selection.size + editor._selectedLinks.size > 1 ||
289
- editor.selectionIsAspectLocked()) {
283
+ if (editor._selection.size + editor._selectedLinks.size > 1 || editor.selectionIsAspectLocked()) {
290
284
  const combined = editor.combinedSelectionBounds();
291
285
  if (combined)
292
286
  overlayOpts.groupBounds = combined;
@@ -442,7 +436,7 @@ export const renderEditor = (editor) => {
442
436
  for (const shape of editor._scene.elements.values()) {
443
437
  if (dragged?.has(shape.id))
444
438
  continue;
445
- if (shape.type === "frame") {
439
+ if (isFrame(shape)) {
446
440
  frames.push(getElementWorldBounds(shape));
447
441
  continue;
448
442
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-orchestrator.js","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-orchestrator.js","sourceRoot":"","sources":["../../src/editor/render-orchestrator.ts"],"names":[],"mappings":"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"}