@oh-just-another/state 0.58.0 → 0.60.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 (272) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +78 -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 +32 -1
  11. package/dist/actions/actionClipboard.js.map +1 -1
  12. package/dist/actions/actionKeyboard.d.ts.map +1 -1
  13. package/dist/actions/actionKeyboard.js +77 -9
  14. package/dist/actions/actionKeyboard.js.map +1 -1
  15. package/dist/actions/actionMode.d.ts +4 -0
  16. package/dist/actions/actionMode.d.ts.map +1 -1
  17. package/dist/actions/actionMode.js +54 -0
  18. package/dist/actions/actionMode.js.map +1 -1
  19. package/dist/actions/actionSelection.d.ts.map +1 -1
  20. package/dist/actions/actionSelection.js +1 -0
  21. package/dist/actions/actionSelection.js.map +1 -1
  22. package/dist/actions/actionText.d.ts +5 -0
  23. package/dist/actions/actionText.d.ts.map +1 -0
  24. package/dist/actions/actionText.js +37 -0
  25. package/dist/actions/actionText.js.map +1 -0
  26. package/dist/actions/actionView.d.ts +6 -0
  27. package/dist/actions/actionView.d.ts.map +1 -1
  28. package/dist/actions/actionView.js +20 -2
  29. package/dist/actions/actionView.js.map +1 -1
  30. package/dist/actions/actionZoom.d.ts.map +1 -1
  31. package/dist/actions/actionZoom.js +5 -0
  32. package/dist/actions/actionZoom.js.map +1 -1
  33. package/dist/actions/index.d.ts +6 -4
  34. package/dist/actions/index.d.ts.map +1 -1
  35. package/dist/actions/index.js +6 -4
  36. package/dist/actions/index.js.map +1 -1
  37. package/dist/actions/registry.d.ts.map +1 -1
  38. package/dist/actions/registry.js +17 -0
  39. package/dist/actions/registry.js.map +1 -1
  40. package/dist/actions/types.d.ts +10 -1
  41. package/dist/actions/types.d.ts.map +1 -1
  42. package/dist/actions/types.js.map +1 -1
  43. package/dist/auto-layout-scheduler.d.ts +1 -3
  44. package/dist/auto-layout-scheduler.d.ts.map +1 -1
  45. package/dist/auto-layout-scheduler.js +1 -2
  46. package/dist/auto-layout-scheduler.js.map +1 -1
  47. package/dist/built-in-handlers.d.ts.map +1 -1
  48. package/dist/built-in-handlers.js +14 -1
  49. package/dist/built-in-handlers.js.map +1 -1
  50. package/dist/clipboard.d.ts +0 -14
  51. package/dist/clipboard.d.ts.map +1 -1
  52. package/dist/clipboard.js +1 -1
  53. package/dist/clipboard.js.map +1 -1
  54. package/dist/constants.d.ts +208 -41
  55. package/dist/constants.d.ts.map +1 -1
  56. package/dist/constants.js +210 -25
  57. package/dist/constants.js.map +1 -1
  58. package/dist/dom-events.d.ts +8 -2
  59. package/dist/dom-events.d.ts.map +1 -1
  60. package/dist/dom-events.js +12 -0
  61. package/dist/dom-events.js.map +1 -1
  62. package/dist/editor/animation-scene.d.ts +36 -0
  63. package/dist/editor/animation-scene.d.ts.map +1 -0
  64. package/dist/editor/animation-scene.js +194 -0
  65. package/dist/editor/animation-scene.js.map +1 -0
  66. package/dist/editor/animation.d.ts +43 -0
  67. package/dist/editor/animation.d.ts.map +1 -0
  68. package/dist/editor/animation.js +80 -0
  69. package/dist/editor/animation.js.map +1 -0
  70. package/dist/editor/applies/arrange.d.ts +46 -0
  71. package/dist/editor/applies/arrange.d.ts.map +1 -0
  72. package/dist/editor/applies/arrange.js +162 -0
  73. package/dist/editor/applies/arrange.js.map +1 -0
  74. package/dist/editor/applies/create.d.ts +0 -6
  75. package/dist/editor/applies/create.d.ts.map +1 -1
  76. package/dist/editor/applies/create.js +1 -1
  77. package/dist/editor/applies/create.js.map +1 -1
  78. package/dist/editor/applies/edge.d.ts +8 -1
  79. package/dist/editor/applies/edge.d.ts.map +1 -1
  80. package/dist/editor/applies/edge.js +31 -1
  81. package/dist/editor/applies/edge.js.map +1 -1
  82. package/dist/editor/applies/link-move.d.ts +0 -8
  83. package/dist/editor/applies/link-move.d.ts.map +1 -1
  84. package/dist/editor/applies/link-move.js +1 -1
  85. package/dist/editor/applies/link-move.js.map +1 -1
  86. package/dist/editor/applies/move.d.ts +6 -0
  87. package/dist/editor/applies/move.d.ts.map +1 -1
  88. package/dist/editor/applies/move.js +6 -0
  89. package/dist/editor/applies/move.js.map +1 -1
  90. package/dist/editor/applies/resize.d.ts +26 -5
  91. package/dist/editor/applies/resize.d.ts.map +1 -1
  92. package/dist/editor/applies/resize.js +91 -13
  93. package/dist/editor/applies/resize.js.map +1 -1
  94. package/dist/editor/caret-blink.d.ts +18 -0
  95. package/dist/editor/caret-blink.d.ts.map +1 -0
  96. package/dist/editor/caret-blink.js +42 -0
  97. package/dist/editor/caret-blink.js.map +1 -0
  98. package/dist/editor/container-ops.d.ts.map +1 -1
  99. package/dist/editor/container-ops.js +2 -2
  100. package/dist/editor/container-ops.js.map +1 -1
  101. package/dist/editor/dirty-rect.d.ts +23 -0
  102. package/dist/editor/dirty-rect.d.ts.map +1 -0
  103. package/dist/editor/dirty-rect.js +115 -0
  104. package/dist/editor/dirty-rect.js.map +1 -0
  105. package/dist/editor/gif-playback.d.ts +45 -0
  106. package/dist/editor/gif-playback.d.ts.map +1 -0
  107. package/dist/editor/gif-playback.js +125 -0
  108. package/dist/editor/gif-playback.js.map +1 -0
  109. package/dist/editor/hit-test.d.ts +3 -3
  110. package/dist/editor/hit-test.d.ts.map +1 -1
  111. package/dist/editor/hit-test.js +40 -15
  112. package/dist/editor/hit-test.js.map +1 -1
  113. package/dist/editor/interaction-state.d.ts +184 -0
  114. package/dist/editor/interaction-state.d.ts.map +1 -0
  115. package/dist/editor/interaction-state.js +139 -0
  116. package/dist/editor/interaction-state.js.map +1 -0
  117. package/dist/editor/link-handle-drag.d.ts +152 -0
  118. package/dist/editor/link-handle-drag.d.ts.map +1 -0
  119. package/dist/editor/link-handle-drag.js +300 -0
  120. package/dist/editor/link-handle-drag.js.map +1 -0
  121. package/dist/editor/long-press.d.ts.map +1 -1
  122. package/dist/editor/long-press.js +2 -2
  123. package/dist/editor/long-press.js.map +1 -1
  124. package/dist/editor/pinch.d.ts.map +1 -1
  125. package/dist/editor/pinch.js +6 -6
  126. package/dist/editor/pinch.js.map +1 -1
  127. package/dist/editor/pointer-binding.d.ts +9 -11
  128. package/dist/editor/pointer-binding.d.ts.map +1 -1
  129. package/dist/editor/pointer-binding.js +1191 -890
  130. package/dist/editor/pointer-binding.js.map +1 -1
  131. package/dist/editor/public/arrange-group.d.ts +3 -9
  132. package/dist/editor/public/arrange-group.d.ts.map +1 -1
  133. package/dist/editor/public/arrange-group.js +4 -6
  134. package/dist/editor/public/arrange-group.js.map +1 -1
  135. package/dist/editor/public/brush.d.ts +31 -12
  136. package/dist/editor/public/brush.d.ts.map +1 -1
  137. package/dist/editor/public/brush.js +66 -17
  138. package/dist/editor/public/brush.js.map +1 -1
  139. package/dist/editor/public/clipboard.d.ts +2 -4
  140. package/dist/editor/public/clipboard.d.ts.map +1 -1
  141. package/dist/editor/public/clipboard.js +2 -4
  142. package/dist/editor/public/clipboard.js.map +1 -1
  143. package/dist/editor/public/cursor.d.ts +29 -0
  144. package/dist/editor/public/cursor.d.ts.map +1 -0
  145. package/dist/editor/public/cursor.js +146 -0
  146. package/dist/editor/public/cursor.js.map +1 -0
  147. package/dist/editor/public/eraser.d.ts +55 -0
  148. package/dist/editor/public/eraser.d.ts.map +1 -0
  149. package/dist/editor/public/eraser.js +65 -0
  150. package/dist/editor/public/eraser.js.map +1 -0
  151. package/dist/editor/public/frame-name.d.ts +20 -0
  152. package/dist/editor/public/frame-name.d.ts.map +1 -0
  153. package/dist/editor/public/frame-name.js +54 -0
  154. package/dist/editor/public/frame-name.js.map +1 -0
  155. package/dist/editor/public/image-insert.d.ts +1 -1
  156. package/dist/editor/public/image-insert.d.ts.map +1 -1
  157. package/dist/editor/public/laser.d.ts +38 -0
  158. package/dist/editor/public/laser.d.ts.map +1 -0
  159. package/dist/editor/public/laser.js +42 -0
  160. package/dist/editor/public/laser.js.map +1 -0
  161. package/dist/editor/public/layers.d.ts.map +1 -1
  162. package/dist/editor/public/layers.js +2 -2
  163. package/dist/editor/public/layers.js.map +1 -1
  164. package/dist/editor/public/link.d.ts +11 -2
  165. package/dist/editor/public/link.d.ts.map +1 -1
  166. package/dist/editor/public/link.js +70 -2
  167. package/dist/editor/public/link.js.map +1 -1
  168. package/dist/editor/public/placement.d.ts +60 -2
  169. package/dist/editor/public/placement.d.ts.map +1 -1
  170. package/dist/editor/public/placement.js +193 -2
  171. package/dist/editor/public/placement.js.map +1 -1
  172. package/dist/editor/public/selection-ops.d.ts +35 -1
  173. package/dist/editor/public/selection-ops.d.ts.map +1 -1
  174. package/dist/editor/public/selection-ops.js +97 -2
  175. package/dist/editor/public/selection-ops.js.map +1 -1
  176. package/dist/editor/public/stroke-eraser-coverage.d.ts +37 -0
  177. package/dist/editor/public/stroke-eraser-coverage.d.ts.map +1 -0
  178. package/dist/editor/public/stroke-eraser-coverage.js +168 -0
  179. package/dist/editor/public/stroke-eraser-coverage.js.map +1 -0
  180. package/dist/editor/public/stroke-eraser.d.ts +50 -0
  181. package/dist/editor/public/stroke-eraser.d.ts.map +1 -0
  182. package/dist/editor/public/stroke-eraser.js +176 -0
  183. package/dist/editor/public/stroke-eraser.js.map +1 -0
  184. package/dist/editor/public/stroke-smoothing.d.ts +21 -0
  185. package/dist/editor/public/stroke-smoothing.d.ts.map +1 -0
  186. package/dist/editor/public/stroke-smoothing.js +37 -0
  187. package/dist/editor/public/stroke-smoothing.js.map +1 -0
  188. package/dist/editor/public/text-edit.d.ts +1 -10
  189. package/dist/editor/public/text-edit.d.ts.map +1 -1
  190. package/dist/editor/public/text-edit.js +2 -16
  191. package/dist/editor/public/text-edit.js.map +1 -1
  192. package/dist/editor/public/tool-ops.d.ts +130 -0
  193. package/dist/editor/public/tool-ops.d.ts.map +1 -0
  194. package/dist/editor/public/tool-ops.js +392 -0
  195. package/dist/editor/public/tool-ops.js.map +1 -0
  196. package/dist/editor/public/z-order.d.ts +1 -12
  197. package/dist/editor/public/z-order.d.ts.map +1 -1
  198. package/dist/editor/public/z-order.js +5 -5
  199. package/dist/editor/public/z-order.js.map +1 -1
  200. package/dist/editor/public/zoom-pan.d.ts +15 -4
  201. package/dist/editor/public/zoom-pan.d.ts.map +1 -1
  202. package/dist/editor/public/zoom-pan.js +39 -7
  203. package/dist/editor/public/zoom-pan.js.map +1 -1
  204. package/dist/editor/render-orchestrator.d.ts +177 -5
  205. package/dist/editor/render-orchestrator.d.ts.map +1 -1
  206. package/dist/editor/render-orchestrator.js +519 -358
  207. package/dist/editor/render-orchestrator.js.map +1 -1
  208. package/dist/editor/resize-helpers.d.ts +21 -5
  209. package/dist/editor/resize-helpers.d.ts.map +1 -1
  210. package/dist/editor/resize-helpers.js +59 -19
  211. package/dist/editor/resize-helpers.js.map +1 -1
  212. package/dist/editor/text-edit.d.ts +136 -0
  213. package/dist/editor/text-edit.d.ts.map +1 -0
  214. package/dist/editor/text-edit.js +328 -0
  215. package/dist/editor/text-edit.js.map +1 -0
  216. package/dist/editor/viewport-helpers.d.ts.map +1 -1
  217. package/dist/editor/viewport-helpers.js +3 -3
  218. package/dist/editor/viewport-helpers.js.map +1 -1
  219. package/dist/editor-events.d.ts +1 -1
  220. package/dist/editor-events.d.ts.map +1 -1
  221. package/dist/editor.d.ts +603 -346
  222. package/dist/editor.d.ts.map +1 -1
  223. package/dist/editor.js +1843 -1630
  224. package/dist/editor.js.map +1 -1
  225. package/dist/file-drop.d.ts.map +1 -1
  226. package/dist/file-drop.js +1 -2
  227. package/dist/file-drop.js.map +1 -1
  228. package/dist/frame-helpers.d.ts.map +1 -1
  229. package/dist/frame-helpers.js +5 -5
  230. package/dist/frame-helpers.js.map +1 -1
  231. package/dist/group-helpers.d.ts.map +1 -1
  232. package/dist/group-helpers.js +4 -4
  233. package/dist/group-helpers.js.map +1 -1
  234. package/dist/handle.d.ts +59 -6
  235. package/dist/handle.d.ts.map +1 -1
  236. package/dist/handle.js +99 -7
  237. package/dist/handle.js.map +1 -1
  238. package/dist/hotkeys-binding.d.ts +26 -0
  239. package/dist/hotkeys-binding.d.ts.map +1 -0
  240. package/dist/hotkeys-binding.js +35 -0
  241. package/dist/hotkeys-binding.js.map +1 -0
  242. package/dist/index.d.ts +9 -3
  243. package/dist/index.d.ts.map +1 -1
  244. package/dist/index.js +10 -3
  245. package/dist/index.js.map +1 -1
  246. package/dist/link-selection.d.ts +3 -5
  247. package/dist/link-selection.d.ts.map +1 -1
  248. package/dist/link-selection.js +3 -12
  249. package/dist/link-selection.js.map +1 -1
  250. package/dist/machine.d.ts +27 -1
  251. package/dist/machine.d.ts.map +1 -1
  252. package/dist/machine.js +38 -0
  253. package/dist/machine.js.map +1 -1
  254. package/dist/modes.d.ts +15 -1
  255. package/dist/modes.d.ts.map +1 -1
  256. package/dist/modes.js.map +1 -1
  257. package/dist/overlay.d.ts +92 -6
  258. package/dist/overlay.d.ts.map +1 -1
  259. package/dist/overlay.js +582 -125
  260. package/dist/overlay.js.map +1 -1
  261. package/dist/search.d.ts +37 -0
  262. package/dist/search.d.ts.map +1 -0
  263. package/dist/search.js +45 -0
  264. package/dist/search.js.map +1 -0
  265. package/dist/selection.d.ts.map +1 -1
  266. package/dist/selection.js +2 -10
  267. package/dist/selection.js.map +1 -1
  268. package/dist/util.d.ts +8 -0
  269. package/dist/util.d.ts.map +1 -0
  270. package/dist/util.js +17 -0
  271. package/dist/util.js.map +1 -0
  272. package/package.json +7 -7
@@ -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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"}
@@ -1,12 +1,28 @@
1
1
  import type { Bounds, Vec2 } from "@oh-just-another/types";
2
2
  import type { HandleId } from "../handle.js";
3
3
  /**
4
- * Equivalent to `handle.resizeBounds` for the case where the shape's local
5
- * AABB starts at (0, 0) — applies the delta directly to the world bounds
6
- * captured at press-down. Duplicated from `handle.ts` to avoid a circular
7
- * import.
4
+ * Resize a world-space AABB by applying the handle delta directly, for the
5
+ * case where the shape's local AABB starts at (0, 0) — operating on the world
6
+ * bounds captured at press-down. Kept here, separate from the handle module,
7
+ * to avoid a circular import.
8
8
  */
9
9
  export declare const resizeFromHandle: (b: Bounds, handle: HandleId, delta: Vec2) => Bounds;
10
+ /**
11
+ * Re-anchor a freshly-resized AABB to grow symmetrically about the original
12
+ * centre: the size change from the dragged handle is mirrored to the opposite
13
+ * side (so the single-side delta doubles), keeping the centre fixed.
14
+ * Handle-agnostic — an edge drag expands only its axis, a corner drag both.
15
+ */
16
+ export declare const resizeFromCenter: (original: Bounds, raw: Bounds) => Bounds;
17
+ /**
18
+ * Adjust a freshly-resized AABB so it keeps the original's aspect ratio: the
19
+ * axis with the larger relative change drives a uniform scale, the other
20
+ * follows. Position is left untouched — the caller's anchor pass re-pins the
21
+ * edge opposite the dragged handle. Signs are preserved so a drag past the
22
+ * anchor still mirrors uniformly. A degenerate original (zero side) is
23
+ * returned unchanged.
24
+ */
25
+ export declare const lockAspectRatio: (original: Bounds, raw: Bounds) => Bounds;
10
26
  export interface ResizeConstraints {
11
27
  readonly minWidth?: number;
12
28
  readonly minHeight?: number;
@@ -26,5 +42,5 @@ export interface ResizeConstraints {
26
42
  * `minHeight` if set). Without it, dragging past the opposite edge mirrors
27
43
  * the shape, which `bounds.normalize` then resolves.
28
44
  */
29
- export declare const applyResizeConstraints: (original: Bounds, raw: Bounds, handle: HandleId, constraints: ResizeConstraints) => Bounds;
45
+ export declare const applyResizeConstraints: (original: Bounds, raw: Bounds, handle: HandleId, constraints: ResizeConstraints, fromCenter?: boolean) => Bounds;
30
46
  //# sourceMappingURL=resize-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-helpers.d.ts","sourceRoot":"","sources":["../../src/editor/resize-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,EAAE,QAAQ,QAAQ,EAAE,OAAO,IAAI,KAAG,MA0C3E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAOD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,KAAK,MAAM,EACX,QAAQ,QAAQ,EAChB,aAAa,iBAAiB,KAC7B,MAkDF,CAAC"}
1
+ {"version":3,"file":"resize-helpers.d.ts","sourceRoot":"","sources":["../../src/editor/resize-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,EAAE,QAAQ,QAAQ,EAAE,OAAO,IAAI,KAAG,MA0C3E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM,KAAG,MAMhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM,KAAG,MAW/D,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAOD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,KAAK,MAAM,EACX,QAAQ,QAAQ,EAChB,aAAa,iBAAiB,EAC9B,oBAAkB,KACjB,MAyDF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { bounds as B } from "@oh-just-another/math";
2
2
  /**
3
- * Equivalent to `handle.resizeBounds` for the case where the shape's local
4
- * AABB starts at (0, 0) — applies the delta directly to the world bounds
5
- * captured at press-down. Duplicated from `handle.ts` to avoid a circular
6
- * import.
3
+ * Resize a world-space AABB by applying the handle delta directly, for the
4
+ * case where the shape's local AABB starts at (0, 0) — operating on the world
5
+ * bounds captured at press-down. Kept here, separate from the handle module,
6
+ * to avoid a circular import.
7
7
  */
8
8
  export const resizeFromHandle = (b, handle, delta) => {
9
9
  let x = b.x;
@@ -48,6 +48,40 @@ export const resizeFromHandle = (b, handle, delta) => {
48
48
  }
49
49
  return { x, y, width, height };
50
50
  };
51
+ /**
52
+ * Re-anchor a freshly-resized AABB to grow symmetrically about the original
53
+ * centre: the size change from the dragged handle is mirrored to the opposite
54
+ * side (so the single-side delta doubles), keeping the centre fixed.
55
+ * Handle-agnostic — an edge drag expands only its axis, a corner drag both.
56
+ */
57
+ export const resizeFromCenter = (original, raw) => {
58
+ const cx = original.x + original.width / 2;
59
+ const cy = original.y + original.height / 2;
60
+ const width = original.width + 2 * (raw.width - original.width);
61
+ const height = original.height + 2 * (raw.height - original.height);
62
+ return { x: cx - width / 2, y: cy - height / 2, width, height };
63
+ };
64
+ /**
65
+ * Adjust a freshly-resized AABB so it keeps the original's aspect ratio: the
66
+ * axis with the larger relative change drives a uniform scale, the other
67
+ * follows. Position is left untouched — the caller's anchor pass re-pins the
68
+ * edge opposite the dragged handle. Signs are preserved so a drag past the
69
+ * anchor still mirrors uniformly. A degenerate original (zero side) is
70
+ * returned unchanged.
71
+ */
72
+ export const lockAspectRatio = (original, raw) => {
73
+ if (original.width === 0 || original.height === 0)
74
+ return raw;
75
+ const sx = raw.width / original.width;
76
+ const sy = raw.height / original.height;
77
+ const factor = Math.abs(sx - 1) >= Math.abs(sy - 1) ? sx : sy;
78
+ return {
79
+ x: raw.x,
80
+ y: raw.y,
81
+ width: original.width * factor,
82
+ height: original.height * factor,
83
+ };
84
+ };
51
85
  const handleAffectsLeft = (h) => h === "nw" || h === "w" || h === "sw";
52
86
  const handleAffectsRight = (h) => h === "ne" || h === "e" || h === "se";
53
87
  const handleAffectsTop = (h) => h === "nw" || h === "n" || h === "ne";
@@ -64,7 +98,7 @@ const handleAffectsBottom = (h) => h === "sw" || h === "s" || h === "se";
64
98
  * `minHeight` if set). Without it, dragging past the opposite edge mirrors
65
99
  * the shape, which `bounds.normalize` then resolves.
66
100
  */
67
- export const applyResizeConstraints = (original, raw, handle, constraints) => {
101
+ export const applyResizeConstraints = (original, raw, handle, constraints, fromCenter = false) => {
68
102
  const minW = constraints.noFlip ? (constraints.minWidth ?? 0) : constraints.minWidth;
69
103
  const minH = constraints.noFlip ? (constraints.minHeight ?? 0) : constraints.minHeight;
70
104
  const maxW = constraints.maxWidth;
@@ -77,11 +111,6 @@ export const applyResizeConstraints = (original, raw, handle, constraints) => {
77
111
  r = hi;
78
112
  return r;
79
113
  };
80
- const left = handleAffectsLeft(handle);
81
- const right = handleAffectsRight(handle);
82
- const top = handleAffectsTop(handle);
83
- const bottom = handleAffectsBottom(handle);
84
- let x = raw.x;
85
114
  let width = raw.width;
86
115
  if (constraints.noFlip) {
87
116
  width = clamp(width, minW, maxW);
@@ -92,13 +121,6 @@ export const applyResizeConstraints = (original, raw, handle, constraints) => {
92
121
  else if (minW !== undefined && Math.abs(width) < minW && width !== 0) {
93
122
  width = width < 0 ? -minW : minW;
94
123
  }
95
- if (left && !right) {
96
- x = original.x + original.width - width;
97
- }
98
- else if (right && !left) {
99
- x = original.x;
100
- }
101
- let y = raw.y;
102
124
  let height = raw.height;
103
125
  if (constraints.noFlip) {
104
126
  height = clamp(height, minH, maxH);
@@ -109,10 +131,28 @@ export const applyResizeConstraints = (original, raw, handle, constraints) => {
109
131
  else if (minH !== undefined && Math.abs(height) < minH && height !== 0) {
110
132
  height = height < 0 ? -minH : minH;
111
133
  }
112
- if (top && !bottom) {
134
+ // Centre-anchored resize: pin the original centre, so the clamped box grows
135
+ // symmetrically. Magnitudes only — a centred box never mirrors.
136
+ if (fromCenter) {
137
+ const w = constraints.noFlip ? width : Math.abs(width);
138
+ const h = constraints.noFlip ? height : Math.abs(height);
139
+ const cx = original.x + original.width / 2;
140
+ const cy = original.y + original.height / 2;
141
+ return { x: cx - w / 2, y: cy - h / 2, width: w, height: h };
142
+ }
143
+ // Default: the edge opposite the dragged handle stays put.
144
+ let x = raw.x;
145
+ if (handleAffectsLeft(handle) && !handleAffectsRight(handle)) {
146
+ x = original.x + original.width - width;
147
+ }
148
+ else if (handleAffectsRight(handle) && !handleAffectsLeft(handle)) {
149
+ x = original.x;
150
+ }
151
+ let y = raw.y;
152
+ if (handleAffectsTop(handle) && !handleAffectsBottom(handle)) {
113
153
  y = original.y + original.height - height;
114
154
  }
115
- else if (bottom && !top) {
155
+ else if (handleAffectsBottom(handle) && !handleAffectsTop(handle)) {
116
156
  y = original.y;
117
157
  }
118
158
  const out = { x, y, width, height };
@@ -1 +1 @@
1
- {"version":3,"file":"resize-helpers.js","sourceRoot":"","sources":["../../src/editor/resize-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resize-helpers.js","sourceRoot":"","sources":["../../src/editor/resize-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import { type RenderTarget } from "@oh-just-another/renderer-core";
2
+ import { type Patch, type Scene } from "@oh-just-another/scene";
3
+ import type { Bounds, ElementId, LayerId, Vec2 } from "@oh-just-another/types";
4
+ /** Live selection inside the edited text (source offsets; `dir` is the anchored end). */
5
+ export interface TextSelection {
6
+ start: number;
7
+ end: number;
8
+ dir: "forward" | "backward";
9
+ }
10
+ /**
11
+ * Editor capabilities the inline text-edit flow needs. Keeps the controller
12
+ * off the god-class: scene access, history, selection clearing and text
13
+ * measurement are delegated back to the Editor through this narrow interface.
14
+ */
15
+ export interface TextEditHost {
16
+ /** Current scene (read + replace — live edits mutate without history). */
17
+ scene: Scene;
18
+ /** Record a patch as one undo step. */
19
+ pushHistory(patch: Patch): void;
20
+ /** Repaint + listener fan-out. */
21
+ notify(): void;
22
+ /** True when the layer is locked (blocks starting an edit). */
23
+ isLayerLocked(id: LayerId): boolean;
24
+ /** Clear the selection when it holds the removed shape. */
25
+ clearSelectionFor(id: ElementId): void;
26
+ /** Main render target — the SAME `measureText` source the renderer draws with. */
27
+ readonly mainTarget: Pick<RenderTarget, "setFont" | "measureText">;
28
+ }
29
+ /**
30
+ * Owns the inline text-edit session state (edited shape, pending creation,
31
+ * origin snapshot, live selection, canvas drag-select anchor and caret blink).
32
+ * Extracted from the Editor god-class; the Editor keeps thin delegate wrappers
33
+ * so its public API is unchanged.
34
+ */
35
+ export declare class TextEditController {
36
+ private readonly host;
37
+ /**
38
+ * Currently edited text shape (or null). Set by `begin`; cleared by
39
+ * `commit` / `cancel`. The host overlay (`<TextEditorOverlay>` in
40
+ * `@react-ui`) subscribes via `editor` and renders a `<textarea>`
41
+ * positioned over the shape.
42
+ */
43
+ private _editingElement;
44
+ /**
45
+ * When the `draw-text` tool just placed a shape and opened its
46
+ * editor, this holds that shape's id until the first commit. A
47
+ * pending creation isn't in history yet: committing non-empty text
48
+ * records a single add patch (whole shape = one undo); committing
49
+ * empty / cancelling removes it with no history entry at all.
50
+ */
51
+ private _pendingCreate;
52
+ /**
53
+ * Snapshot of the shape at edit start. Used to revert on cancel and
54
+ * as the `before` of the single commit patch. `null` for a pending
55
+ * creation (the shape didn't exist yet).
56
+ */
57
+ private _origin;
58
+ /**
59
+ * Live selection inside the edited text, mirrored from the hidden
60
+ * `<textarea>` (`start`/`end` are source offsets, `dir` is the
61
+ * anchored end). The caret is `dir === "backward" ? start : end`.
62
+ */
63
+ private _sel;
64
+ /** Anchor offset for a canvas drag-select inside the edited text. */
65
+ private _dragAnchor;
66
+ private readonly caretBlink;
67
+ constructor(host: TextEditHost);
68
+ get editingElement(): ElementId | null;
69
+ get selection(): TextSelection | null;
70
+ /** Caret offset = the moving end of the selection. */
71
+ get caret(): number | null;
72
+ get caretBlinkOn(): boolean;
73
+ /** `true` while a canvas drag-select inside the edited text is active. */
74
+ get isDragging(): boolean;
75
+ /** Mark a freshly-placed `draw-text` shape as pending until the first commit. */
76
+ markPendingCreate(id: ElementId): void;
77
+ /**
78
+ * Begin editing a text shape's body. No-op when the shape doesn't
79
+ * exist or isn't a text shape. Concurrent edits commit themselves
80
+ * (only one shape at a time). Caret defaults to the end of the text.
81
+ */
82
+ begin(id: ElementId): void;
83
+ /**
84
+ * Live edit transport from the hidden `<textarea>`: replace the
85
+ * shape's text + selection as the user types / pastes / composes.
86
+ * Mutates the scene WITHOUT a history entry — history is recorded
87
+ * once on commit. No-op when not editing.
88
+ */
89
+ setText(value: string, selStart: number, selEnd: number, dir?: "forward" | "backward"): void;
90
+ /** Selection-only update (arrows / shift-select / click) — no text change. */
91
+ setSelection(selStart: number, selEnd: number, dir?: "forward" | "backward"): void;
92
+ /**
93
+ * Map a world-space point to a caret offset in the edited text. Used
94
+ * to place / extend the caret from canvas clicks. Returns `null` when
95
+ * not editing or the shape is gone.
96
+ */
97
+ caretIndexAtWorldPoint(worldPoint: Vec2): number | null;
98
+ /**
99
+ * `true` when a point is inside the currently-edited text shape's
100
+ * world bounds. Used by the pointer binding to decide between
101
+ * repositioning the caret (inside) and committing (outside).
102
+ */
103
+ editedElementContainsPoint(worldPoint: Vec2): boolean;
104
+ /** Place a collapsed caret at the clicked point and start a drag-select. */
105
+ setCaretFromPoint(worldPoint: Vec2): void;
106
+ /** Extend the selection from the drag anchor to the current point. */
107
+ extendSelectionToPoint(worldPoint: Vec2): void;
108
+ /** End a canvas drag-select (clears the drag anchor). */
109
+ endDragSelect(): void;
110
+ /** Build the editable layout for a text shape using the main target's metrics. */
111
+ private editingTextLayout;
112
+ /**
113
+ * A measure callback bound to a shape's font, using the main target's
114
+ * `measureText` — the SAME source the renderer draws with (WebGL2
115
+ * reports MSDF advances) and the bounder measures with. Caret /
116
+ * selection geometry therefore lines up exactly with the glyphs.
117
+ */
118
+ private measureFor;
119
+ /**
120
+ * World-space caret + selection geometry for the overlay pass.
121
+ * Returns `null` when not editing. The caret is `null` while blinked
122
+ * off so the overlay can simply skip drawing it.
123
+ */
124
+ overlay(): {
125
+ caret: {
126
+ x: number;
127
+ y: number;
128
+ height: number;
129
+ } | null;
130
+ caretColor: string;
131
+ selectionRects: readonly Bounds[];
132
+ } | null;
133
+ commit(next?: string): void;
134
+ cancel(): void;
135
+ }
136
+ //# sourceMappingURL=text-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-edit.d.ts","sourceRoot":"","sources":["../../src/editor/text-edit.ts"],"names":[],"mappings":"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"}