@reekon-tools/boldr-cad 1.4.0 → 1.6.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 (311) hide show
  1. package/README.md +13 -3
  2. package/dist/app/edit.d.ts +3 -3
  3. package/dist/app/edit.js +26 -1
  4. package/dist/app/edit.js.map +1 -1
  5. package/dist/app/state.d.ts +6 -8
  6. package/dist/app/state.js +0 -1
  7. package/dist/app/state.js.map +1 -1
  8. package/dist/data/sync.d.ts +1 -1
  9. package/dist/data/sync.js +7 -2
  10. package/dist/data/sync.js.map +1 -1
  11. package/dist/editor/actions.d.ts +8 -0
  12. package/dist/editor/actions.js +255 -181
  13. package/dist/editor/actions.js.map +1 -1
  14. package/dist/editor/elevation.d.ts +4 -1
  15. package/dist/editor/elevation.js +16 -17
  16. package/dist/editor/elevation.js.map +1 -1
  17. package/dist/editor/gestures.d.ts +21 -0
  18. package/dist/editor/gestures.js +92 -14
  19. package/dist/editor/gestures.js.map +1 -1
  20. package/dist/editor/keys.js +4 -3
  21. package/dist/editor/keys.js.map +1 -1
  22. package/dist/editor/laser.d.ts +4 -2
  23. package/dist/editor/laser.js +4 -2
  24. package/dist/editor/laser.js.map +1 -1
  25. package/dist/editor/linkActions.d.ts +49 -12
  26. package/dist/editor/linkActions.js +164 -35
  27. package/dist/editor/linkActions.js.map +1 -1
  28. package/dist/editor/links.d.ts +13 -0
  29. package/dist/editor/links.js +7 -1
  30. package/dist/editor/links.js.map +1 -1
  31. package/dist/editor/mode.d.ts +2 -1
  32. package/dist/editor/mode.js +8 -5
  33. package/dist/editor/mode.js.map +1 -1
  34. package/dist/editor/project.js +1 -2
  35. package/dist/editor/project.js.map +1 -1
  36. package/dist/editor/scaleGate.d.ts +13 -0
  37. package/dist/editor/scaleGate.js +27 -0
  38. package/dist/editor/scaleGate.js.map +1 -0
  39. package/dist/editor/selection.js +13 -9
  40. package/dist/editor/selection.js.map +1 -1
  41. package/dist/editor/tooltips.js +10 -0
  42. package/dist/editor/tooltips.js.map +1 -1
  43. package/dist/editor/view3d.d.ts +4 -1
  44. package/dist/editor/view3d.js +6 -2
  45. package/dist/editor/view3d.js.map +1 -1
  46. package/dist/export/pdf.d.ts +5 -2
  47. package/dist/export/pdf.js +12 -8
  48. package/dist/export/pdf.js.map +1 -1
  49. package/dist/export/plan.d.ts +1 -1
  50. package/dist/export/plan.js +14 -9
  51. package/dist/export/plan.js.map +1 -1
  52. package/dist/index.d.ts +1 -0
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/model/constraints.js +2 -0
  56. package/dist/model/constraints.js.map +1 -1
  57. package/dist/model/demo.d.ts +1 -0
  58. package/dist/model/demo.js +2 -1
  59. package/dist/model/demo.js.map +1 -1
  60. package/dist/model/elevation.d.ts +1 -1
  61. package/dist/model/elevation.js +3 -3
  62. package/dist/model/elevation.js.map +1 -1
  63. package/dist/model/geom.d.ts +2 -0
  64. package/dist/model/geom.js +11 -0
  65. package/dist/model/geom.js.map +1 -1
  66. package/dist/model/history.js +4 -1
  67. package/dist/model/history.js.map +1 -1
  68. package/dist/model/links.d.ts +10 -2
  69. package/dist/model/links.js +15 -3
  70. package/dist/model/links.js.map +1 -1
  71. package/dist/model/measurement.d.ts +2 -2
  72. package/dist/model/measurement.js +3 -3
  73. package/dist/model/measurement.js.map +1 -1
  74. package/dist/model/openings.d.ts +10 -0
  75. package/dist/model/openings.js +18 -0
  76. package/dist/model/openings.js.map +1 -1
  77. package/dist/model/planGeom.d.ts +37 -2
  78. package/dist/model/planGeom.js +72 -9
  79. package/dist/model/planGeom.js.map +1 -1
  80. package/dist/model/project.js +5 -2
  81. package/dist/model/project.js.map +1 -1
  82. package/dist/model/rooms.d.ts +18 -5
  83. package/dist/model/rooms.js +178 -73
  84. package/dist/model/rooms.js.map +1 -1
  85. package/dist/model/scale.d.ts +30 -0
  86. package/dist/model/scale.js +123 -0
  87. package/dist/model/scale.js.map +1 -0
  88. package/dist/model/settings.d.ts +0 -1
  89. package/dist/model/settings.js +1 -1
  90. package/dist/model/settings.js.map +1 -1
  91. package/dist/model/sketch.d.ts +26 -2
  92. package/dist/model/sketch.js +77 -22
  93. package/dist/model/sketch.js.map +1 -1
  94. package/dist/model/stroke.js +2 -2
  95. package/dist/model/trim.d.ts +54 -0
  96. package/dist/model/trim.js +219 -0
  97. package/dist/model/trim.js.map +1 -0
  98. package/dist/model/types.d.ts +62 -9
  99. package/dist/react/BottomBar.d.ts +2 -1
  100. package/dist/react/BottomBar.js +144 -46
  101. package/dist/react/BottomBar.js.map +1 -1
  102. package/dist/react/CadEditor.js +18 -9
  103. package/dist/react/CadEditor.js.map +1 -1
  104. package/dist/react/Drawer.js +6 -4
  105. package/dist/react/Drawer.js.map +1 -1
  106. package/dist/react/Duck.js.map +1 -1
  107. package/dist/react/KeypadSheet.js.map +1 -1
  108. package/dist/react/MarkupPanel.js +1 -1
  109. package/dist/react/PlanCanvas.native.js +54 -7
  110. package/dist/react/PlanCanvas.native.js.map +1 -1
  111. package/dist/react/PlanCanvas.web.js +17 -5
  112. package/dist/react/PlanCanvas.web.js.map +1 -1
  113. package/dist/react/Popovers.js +14 -3
  114. package/dist/react/Popovers.js.map +1 -1
  115. package/dist/react/Rail.js +1 -1
  116. package/dist/react/ShapeMenu.js +3 -2
  117. package/dist/react/ShapeMenu.js.map +1 -1
  118. package/dist/react/Sheet.d.ts +2 -2
  119. package/dist/react/Sheet.js.map +1 -1
  120. package/dist/react/ToolTip.js +3 -2
  121. package/dist/react/ToolTip.js.map +1 -1
  122. package/dist/react/TopBar.js +4 -3
  123. package/dist/react/TopBar.js.map +1 -1
  124. package/dist/react/barScroll.d.ts +23 -0
  125. package/dist/react/barScroll.js +47 -0
  126. package/dist/react/barScroll.js.map +1 -0
  127. package/dist/react/corners.d.ts +6 -2
  128. package/dist/react/corners.js.map +1 -1
  129. package/dist/react/editorBox.d.ts +8 -0
  130. package/dist/react/editorBox.js +10 -0
  131. package/dist/react/editorBox.js.map +1 -0
  132. package/dist/react/host.d.ts +1 -1
  133. package/dist/react/host.js +1 -1
  134. package/dist/react/host.js.map +1 -1
  135. package/dist/react/motion.d.ts +1 -1
  136. package/dist/react/motion.js +1 -1
  137. package/dist/react/motion.js.map +1 -1
  138. package/dist/react/pageLock.native.d.ts +2 -0
  139. package/dist/react/pageLock.native.js +2 -0
  140. package/dist/react/pageLock.native.js.map +1 -1
  141. package/dist/react/pageLock.web.d.ts +6 -0
  142. package/dist/react/pageLock.web.js +12 -3
  143. package/dist/react/pageLock.web.js.map +1 -1
  144. package/dist/react/ports.js +8 -3
  145. package/dist/react/ports.js.map +1 -1
  146. package/dist/react/saving.d.ts +7 -1
  147. package/dist/react/saving.js +10 -2
  148. package/dist/react/saving.js.map +1 -1
  149. package/dist/react/store.d.ts +5 -2
  150. package/dist/react/store.js +4 -1
  151. package/dist/react/store.js.map +1 -1
  152. package/dist/render/draw.d.ts +21 -4
  153. package/dist/render/draw.js +203 -151
  154. package/dist/render/draw.js.map +1 -1
  155. package/dist/render/elevation.js +3 -3
  156. package/dist/render/elevation.js.map +1 -1
  157. package/dist/render/figmaIcons.d.ts +6 -0
  158. package/dist/render/figmaIcons.js +16 -1
  159. package/dist/render/figmaIcons.js.map +1 -1
  160. package/dist/render/hit.d.ts +8 -1
  161. package/dist/render/hit.js +23 -4
  162. package/dist/render/hit.js.map +1 -1
  163. package/dist/render/icons.js +27 -20
  164. package/dist/render/icons.js.map +1 -1
  165. package/dist/render/lens.d.ts +27 -0
  166. package/dist/render/lens.js +41 -0
  167. package/dist/render/lens.js.map +1 -0
  168. package/dist/render/linkTile.d.ts +20 -2
  169. package/dist/render/linkTile.js +476 -246
  170. package/dist/render/linkTile.js.map +1 -1
  171. package/dist/render/snap.d.ts +10 -1
  172. package/dist/render/snap.js +87 -15
  173. package/dist/render/snap.js.map +1 -1
  174. package/dist/render/svgPath.d.ts +29 -0
  175. package/dist/render/svgPath.js +114 -0
  176. package/dist/render/svgPath.js.map +1 -0
  177. package/dist/render/tileIcons.d.ts +18 -0
  178. package/dist/render/tileIcons.js +67 -0
  179. package/dist/render/tileIcons.js.map +1 -0
  180. package/dist/render/view.d.ts +18 -1
  181. package/dist/render/view.js +38 -6
  182. package/dist/render/view.js.map +1 -1
  183. package/dist/skia/SkiaDrawCtx.d.ts +8 -0
  184. package/dist/skia/SkiaDrawCtx.js +27 -5
  185. package/dist/skia/SkiaDrawCtx.js.map +1 -1
  186. package/dist/solver/equations.d.ts +6 -0
  187. package/dist/solver/equations.js +53 -22
  188. package/dist/solver/equations.js.map +1 -1
  189. package/dist/solver/gauss-newton.js +6 -1
  190. package/dist/solver/gauss-newton.js.map +1 -1
  191. package/dist/tools/annotate.d.ts +0 -2
  192. package/dist/tools/annotate.js +1 -22
  193. package/dist/tools/annotate.js.map +1 -1
  194. package/dist/tools/chamfer.js +4 -0
  195. package/dist/tools/chamfer.js.map +1 -1
  196. package/dist/tools/dim.d.ts +3 -3
  197. package/dist/tools/dim.js +26 -65
  198. package/dist/tools/dim.js.map +1 -1
  199. package/dist/tools/fillet.js +4 -0
  200. package/dist/tools/fillet.js.map +1 -1
  201. package/dist/tools/freehand.js +1 -4
  202. package/dist/tools/freehand.js.map +1 -1
  203. package/dist/tools/line.js +15 -11
  204. package/dist/tools/line.js.map +1 -1
  205. package/dist/tools/modify.d.ts +32 -4
  206. package/dist/tools/modify.js +253 -98
  207. package/dist/tools/modify.js.map +1 -1
  208. package/dist/tools/registry.d.ts +7 -0
  209. package/dist/tools/registry.js +14 -1
  210. package/dist/tools/registry.js.map +1 -1
  211. package/dist/tools/select.d.ts +30 -8
  212. package/dist/tools/select.js +165 -34
  213. package/dist/tools/select.js.map +1 -1
  214. package/dist/tools/shapes.d.ts +1 -1
  215. package/dist/tools/shapes.js +12 -5
  216. package/dist/tools/shapes.js.map +1 -1
  217. package/dist/view3d/build.js +9 -8
  218. package/dist/view3d/build.js.map +1 -1
  219. package/package.json +9 -9
  220. package/src/app/edit.ts +25 -1
  221. package/src/app/state.ts +6 -8
  222. package/src/data/sync.ts +7 -2
  223. package/src/editor/actions.ts +213 -122
  224. package/src/editor/elevation.ts +13 -16
  225. package/src/editor/gestures.ts +83 -13
  226. package/src/editor/keys.ts +3 -2
  227. package/src/editor/laser.ts +7 -4
  228. package/src/editor/linkActions.ts +169 -31
  229. package/src/editor/links.ts +17 -1
  230. package/src/editor/mode.ts +8 -5
  231. package/src/editor/project.ts +1 -2
  232. package/src/editor/scaleGate.ts +32 -0
  233. package/src/editor/selection.ts +13 -7
  234. package/src/editor/tooltips.ts +9 -0
  235. package/src/editor/view3d.ts +6 -2
  236. package/src/export/pdf.ts +7 -4
  237. package/src/export/plan.ts +14 -10
  238. package/src/index.ts +1 -0
  239. package/src/model/constraints.ts +1 -0
  240. package/src/model/demo.ts +2 -1
  241. package/src/model/elevation.ts +4 -4
  242. package/src/model/geom.ts +10 -0
  243. package/src/model/history.ts +4 -1
  244. package/src/model/links.ts +14 -3
  245. package/src/model/measurement.ts +3 -3
  246. package/src/model/openings.ts +18 -0
  247. package/src/model/planGeom.ts +70 -10
  248. package/src/model/project.ts +6 -2
  249. package/src/model/rooms.ts +151 -63
  250. package/src/model/scale.ts +107 -0
  251. package/src/model/settings.ts +1 -2
  252. package/src/model/sketch.ts +62 -11
  253. package/src/model/stroke.ts +2 -2
  254. package/src/model/trim.ts +188 -0
  255. package/src/model/types.ts +57 -9
  256. package/src/react/BottomBar.tsx +177 -52
  257. package/src/react/CadEditor.tsx +19 -9
  258. package/src/react/Drawer.tsx +17 -12
  259. package/src/react/Duck.tsx +3 -3
  260. package/src/react/KeypadSheet.tsx +2 -2
  261. package/src/react/MarkupPanel.tsx +1 -1
  262. package/src/react/PlanCanvas.native.tsx +60 -6
  263. package/src/react/PlanCanvas.web.tsx +17 -5
  264. package/src/react/Popovers.tsx +24 -9
  265. package/src/react/Rail.tsx +1 -1
  266. package/src/react/ShapeMenu.tsx +3 -2
  267. package/src/react/Sheet.tsx +3 -3
  268. package/src/react/ToolTip.tsx +3 -2
  269. package/src/react/TopBar.tsx +4 -3
  270. package/src/react/barScroll.ts +57 -0
  271. package/src/react/corners.ts +6 -3
  272. package/src/react/editorBox.ts +20 -0
  273. package/src/react/host.ts +1 -1
  274. package/src/react/motion.tsx +6 -6
  275. package/src/react/pageLock.native.ts +2 -0
  276. package/src/react/pageLock.web.ts +12 -3
  277. package/src/react/ports.ts +7 -2
  278. package/src/react/saving.ts +10 -2
  279. package/src/react/store.ts +5 -2
  280. package/src/render/draw.ts +169 -118
  281. package/src/render/elevation.ts +5 -4
  282. package/src/render/figmaIcons.ts +17 -1
  283. package/src/render/hit.ts +21 -4
  284. package/src/render/icons.ts +27 -20
  285. package/src/render/lens.ts +52 -0
  286. package/src/render/linkTile.ts +436 -190
  287. package/src/render/snap.ts +87 -17
  288. package/src/render/svgPath.ts +95 -0
  289. package/src/render/tileIcons.ts +75 -0
  290. package/src/render/view.ts +43 -7
  291. package/src/skia/SkiaDrawCtx.ts +26 -4
  292. package/src/solver/equations.ts +52 -22
  293. package/src/solver/gauss-newton.ts +4 -1
  294. package/src/styles.css +3 -2
  295. package/src/tools/annotate.ts +1 -18
  296. package/src/tools/chamfer.ts +3 -0
  297. package/src/tools/dim.ts +26 -52
  298. package/src/tools/fillet.ts +3 -0
  299. package/src/tools/freehand.ts +1 -3
  300. package/src/tools/line.ts +12 -11
  301. package/src/tools/modify.ts +210 -70
  302. package/src/tools/registry.ts +18 -1
  303. package/src/tools/select.ts +144 -36
  304. package/src/tools/shapes.ts +9 -4
  305. package/src/ui/ctx.ts +4 -3
  306. package/src/ui/drawer.ts +8 -2
  307. package/src/view3d/build.ts +11 -10
  308. package/dist/react/LaserTray.d.ts +0 -4
  309. package/dist/react/LaserTray.js +0 -26
  310. package/dist/react/LaserTray.js.map +0 -1
  311. package/src/react/LaserTray.tsx +0 -42
@@ -26,18 +26,34 @@ export function setHostNavigation(on) { hostNavigates = on; }
26
26
  * a tap.
27
27
  */
28
28
  const MOTION_PX = 14;
29
+ /**
30
+ * How long a finger's press waits before the tool hears of it (ms), unless it lifts or moves past a tap first: time
31
+ * for a second finger to land and make it a pan or pinch from the start. Then the first finger never pressed anything:
32
+ * nothing is picked, no bar or sheet shows for it, and nothing is drawn where it landed (the user's report, 2026-10-30:
33
+ * zooming, "there is a brief moment where my touch brings up a bottom sheet"). A pinch's fingers land a few tens of
34
+ * milliseconds apart; iOS holds a scroll view's touches 150 ms and Android a pressed look 100 ms, for the same reason.
35
+ * A second finger after the wait still undoes the press (cancelPrimary). A mouse and a Pencil press at once.
36
+ */
37
+ export const pressTiming = {
38
+ /** tests pin it (0: a finger presses at once) */
39
+ holdMs: 120,
40
+ };
29
41
  const ptrs = new Map();
30
42
  let penSeen = false, gesture = null, primary = null;
31
43
  /** close: a press under a sheet (see sheetUp) — a tap closes it; open: a view-only press — a tap opens a link's tile */
32
44
  let panDrag = null;
33
45
  /** where the primary pointer went down, and whether a gesture on the drawing is in motion */
34
46
  let primaryAt = null, inMotion = false;
47
+ /** the primary pointer has moved past a tap since it went down (see lensPointer) */
48
+ let primaryMoved = false;
35
49
  /**
36
50
  * What a press can change, as it was before the primary pointer went down: if a second finger turns the press into a
37
51
  * pan or pinch, it's put back (see cancelPrimary). A tool's own state is kept a level deep — its presses set its fields,
38
52
  * they don't change what's in them.
39
53
  */
40
54
  let beforePress = null;
55
+ /** A finger down whose press is waiting (pressTiming): the pointer, where it landed, and each move it's made since. */
56
+ let held = null;
41
57
  let wheelT;
42
58
  export const keys = { spaceDown: false };
43
59
  onSessionReset(() => {
@@ -49,6 +65,8 @@ onSessionReset(() => {
49
65
  keys.spaceDown = false;
50
66
  primaryAt = null;
51
67
  beforePress = null;
68
+ primaryMoved = false;
69
+ dropHeld();
52
70
  setMotion(false);
53
71
  clearTimeout(wheelT);
54
72
  });
@@ -165,6 +183,44 @@ function cancelPrimary() {
165
183
  updateHint();
166
184
  requestDraw();
167
185
  }
186
+ /** The primary pointer's press: the tool hears it land where `at` says (its pointer `p` may have moved on since). */
187
+ function press(p, at) {
188
+ primary = p;
189
+ primaryMoved = false;
190
+ primaryAt = { x: at.x, y: at.y };
191
+ // (what it lands on is picked from the drawing as it is now, not as the last frame painted it)
192
+ paintPending();
193
+ const t = curTool();
194
+ beforePress = { tool: ed.tool, st: t && t.st && typeof t.st === 'object' ? { ...t.st } : t?.st, sel: [...ed.sel], preview: ed.preview, snap: ed.snapState };
195
+ if (t && t.down)
196
+ t.down(evOf(at));
197
+ }
198
+ /** The primary pointer moved: past a tap, a gesture is in motion (and the lens may show); the tool follows it. */
199
+ function movePrimary(e) {
200
+ if (primaryAt && hyp(e.x - primaryAt.x, e.y - primaryAt.y) >= MOTION_PX) {
201
+ setMotion(true);
202
+ primaryMoved = true;
203
+ }
204
+ const t = curTool();
205
+ if (t && t.move)
206
+ t.move(evOf(e));
207
+ }
208
+ function dropHeld() {
209
+ if (held)
210
+ clearTimeout(held.timer);
211
+ held = null;
212
+ }
213
+ /** A finger's waiting press goes ahead: the tool hears it land where it did, then each move it's made since. */
214
+ function releaseHeld() {
215
+ const h = held;
216
+ dropHeld();
217
+ // (something else took the drawing meanwhile: a mouse or Pencil press, a sheet, view only)
218
+ if (!h || primary || navigationOnly())
219
+ return;
220
+ press(h.p, h.at);
221
+ for (const m of h.moves)
222
+ movePrimary(m);
223
+ }
168
224
  function endPtr(e, cancel) {
169
225
  const p = ptrs.get(e.id);
170
226
  ptrs.delete(e.id);
@@ -184,6 +240,13 @@ function endPtr(e, cancel) {
184
240
  endGesture(e.t);
185
241
  return;
186
242
  }
243
+ // (a finger let go while its press waited: a tap, pressed and let go now; lost, it did nothing)
244
+ if (held && e.id === held.at.id) {
245
+ if (cancel)
246
+ dropHeld();
247
+ else
248
+ releaseHeld();
249
+ }
187
250
  if (primary && e.id === primary.id) {
188
251
  primary = null;
189
252
  const t = curTool();
@@ -212,6 +275,8 @@ export function pointerDown(e) {
212
275
  if (e.kind === 'touch') {
213
276
  const touches = touchList();
214
277
  if (penSeen || touches.length >= 2 || navOnly) {
278
+ // (a second finger while the first one's press waited: that never pressed anything)
279
+ dropHeld();
215
280
  if (primary && primary.kind === 'touch')
216
281
  cancelPrimary();
217
282
  // (a finger joining one already moving the view: the pinch is measured from here, none of its first move lost)
@@ -226,14 +291,13 @@ export function pointerDown(e) {
226
291
  }
227
292
  if (primary || navOnly)
228
293
  return;
229
- primary = p;
230
- primaryAt = { x: e.x, y: e.y };
231
- // (what it lands on is picked from the drawing as it is now, not as the last frame painted it)
232
- paintPending();
233
- const t = curTool();
234
- beforePress = { tool: ed.tool, st: t && t.st && typeof t.st === 'object' ? { ...t.st } : t?.st, sel: [...ed.sel], preview: ed.preview, snap: ed.snapState };
235
- if (t && t.down)
236
- t.down(evOf(e));
294
+ // a finger's press waits a moment, in case another finger lands (pressTiming)
295
+ if (e.kind === 'touch' && pressTiming.holdMs > 0) {
296
+ dropHeld();
297
+ held = { p, at: { ...e }, moves: [], timer: setTimeout(releaseHeld, pressTiming.holdMs) };
298
+ return;
299
+ }
300
+ press(p, e);
237
301
  }
238
302
  export function pointerMove(e) {
239
303
  const p = ptrs.get(e.id);
@@ -254,21 +318,35 @@ export function pointerMove(e) {
254
318
  updateGesture();
255
319
  return;
256
320
  }
321
+ // (a finger whose press is waiting: its moves wait with it, and one past a tap sends them all now — a drag)
322
+ if (held && e.id === held.at.id) {
323
+ held.moves.push({ ...e });
324
+ if (hyp(e.x - held.at.x, e.y - held.at.y) >= MOTION_PX)
325
+ releaseHeld();
326
+ return;
327
+ }
257
328
  const t = curTool();
258
329
  if (!t)
259
330
  return;
260
- if (primary && e.id === primary.id) {
261
- if (primaryAt && hyp(e.x - primaryAt.x, e.y - primaryAt.y) >= MOTION_PX)
262
- setMotion(true);
263
- if (t.move)
264
- t.move(evOf(e));
265
- }
331
+ if (primary && e.id === primary.id)
332
+ movePrimary(e);
266
333
  else if (!primary && e.kind !== 'touch' && !navigationOnly()) {
267
334
  ed.lastPointerTouch = false;
268
335
  if (t.hover)
269
336
  t.hover(evOf(e));
270
337
  }
271
338
  }
339
+ /**
340
+ * The finger or Apple Pencil working the drawing, where it is on the canvas, once it's moved past a tap placing or
341
+ * dragging something (Tool.magnify): what a device's magnifier is centred on (render/lens.ts). Null for a mouse, a tap,
342
+ * a pan or a pinch, and a drawing that can't be edited or has a sheet up.
343
+ */
344
+ export function lensPointer() {
345
+ if (!primary || primary.kind === 'mouse' || !primaryMoved || navigationOnly())
346
+ return null;
347
+ const t = curTool();
348
+ return t && (!t.magnify || t.magnify()) ? { x: primary.x, y: primary.y } : null;
349
+ }
272
350
  export function pointerUp(e) { endPtr(e, false); settle(); }
273
351
  export function pointerCancel(e) { endPtr(e, true); settle(); }
274
352
  /** The last pointer lifted: nothing on the drawing is moving any more. */
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../src/editor/gestures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,EAA2B,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyB5C;;;;GAIG;AACH,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,MAAM,UAAU,iBAAiB,CAAC,EAAW,IAAU,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;AAC1C,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,GAAmB,IAAI,EAAE,OAAO,GAAqB,IAAI,CAAC;AACtF,wHAAwH;AACxH,IAAI,OAAO,GAAgG,IAAI,CAAC;AAChH,6FAA6F;AAC7F,IAAI,SAAS,GAAoC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;AACxE;;;;GAIG;AACH,IAAI,WAAW,GAAqG,IAAI,CAAC;AACzH,IAAI,MAAiD,CAAC;AACtD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACzC,cAAc,CAAC,GAAG,EAAE;IAClB,IAAI,CAAC,KAAK,EAAE,CAAC;IAAC,OAAO,GAAG,KAAK,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAAC,SAAS,GAAG,IAAI,CAAC;IAAC,WAAW,GAAG,IAAI,CAAC;IAC5I,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,YAAY,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAC1E,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,YAAY,EAAE,IAAI,WAAW,EAAE,CAAC;AAEtI,mGAAmG;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;AAEtE,SAAS,UAAU;IACjB,IAAI,UAAU,EAAE;QAAE,WAAW,EAAE,CAAC;SAAM,IAAI,WAAW,EAAE;QAAE,aAAa,EAAE,CAAC;;QAAM,eAAe,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,SAAS,CAAC,EAAW;IAC5B,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO;IAC5B,QAAQ,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,IAAI,CAAC,CAAY;IACxB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAE3E,SAAS,MAAM,CAAC,EAAe;IAC7B,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAAC,CAAC;IAClJ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,OAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,oGAAoG;IACpG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,KAAK;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC;IAClB,OAAO,GAAG,IAAI,CAAC;IACf,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,oFAAoF;IACpF,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,OAAO,EAAE;QAAE,UAAU,EAAE,CAAC;IACnD,iFAAiF;SAC5E,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG;QAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACzH,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAAE,IAAI,EAAE,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;IAAC,CAAC;IACzH,YAAY,EAAE,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,GAAG,WAAW,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;QAAE,UAAU,EAAE,CAAC;IAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACd,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAAC,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IACtE,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACnC,WAAW,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,IAAI,CAAC;IACf,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,SAAS,EAAE,CAAC;IAAC,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,MAAM,CAAC,CAAY,EAAE,MAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QACrH,OAAO,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,KAAK,IAAI,OAAO,EAAE;YAAE,UAAU,EAAE,CAAC;aAChC,IAAI,IAAI;YAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC7F,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,WAAW,EAAE,CAAC;QAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC;IACrC,EAAE,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClB,gHAAgH;IAChH,MAAM,KAAK,GAAG,OAAO,EAAE,EAAE,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC;IACxD,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5I,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzI,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,aAAa,EAAE,CAAC;YACzD,+GAA+G;YAC/G,IAAI,CAAC,OAAO;gBAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAAM,CAAC;gBAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAC9H,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO;IAC/B,OAAO,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,+FAA+F;IAC/F,YAAY,EAAE,CAAC;IACf,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;IAC5J,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,IAAI,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAChC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,aAAa,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACpE,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC,IAAI;YAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;SACI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAAC,EAAE,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAAC,IAAI,CAAC,CAAC,KAAK;YAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AAC/H,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAY,IAAU,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7E,MAAM,UAAU,aAAa,CAAC,CAAY,IAAU,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,0EAA0E;AAC1E,SAAS,MAAM;IACb,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa;IACzC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5C,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,KAAc,EAAE,KAAc;IACxF,IAAI,KAAK;QAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;;QACzC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../src/editor/gestures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,EAA2B,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0B5C;;;;GAIG;AACH,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,MAAM,UAAU,iBAAiB,CAAC,EAAW,IAAU,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iDAAiD;IACjD,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;AAC1C,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,GAAmB,IAAI,EAAE,OAAO,GAAqB,IAAI,CAAC;AACtF,wHAAwH;AACxH,IAAI,OAAO,GAAgG,IAAI,CAAC;AAChH,6FAA6F;AAC7F,IAAI,SAAS,GAAoC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;AACxE,oFAAoF;AACpF,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB;;;;GAIG;AACH,IAAI,WAAW,GAAqG,IAAI,CAAC;AACzH,uHAAuH;AACvH,IAAI,IAAI,GAAqG,IAAI,CAAC;AAClH,IAAI,MAAiD,CAAC;AACtD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACzC,cAAc,CAAC,GAAG,EAAE;IAClB,IAAI,CAAC,KAAK,EAAE,CAAC;IAAC,OAAO,GAAG,KAAK,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAAC,SAAS,GAAG,IAAI,CAAC;IAAC,WAAW,GAAG,IAAI,CAAC;IAAC,YAAY,GAAG,KAAK,CAAC;IAClK,QAAQ,EAAE,CAAC;IACX,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,YAAY,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAC1E,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,YAAY,EAAE,IAAI,WAAW,EAAE,CAAC;AAEtI,mGAAmG;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;AAEtE,SAAS,UAAU;IACjB,IAAI,UAAU,EAAE;QAAE,WAAW,EAAE,CAAC;SAAM,IAAI,WAAW,EAAE;QAAE,aAAa,EAAE,CAAC;;QAAM,eAAe,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,SAAS,CAAC,EAAW;IAC5B,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO;IAC5B,QAAQ,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,IAAI,CAAC,CAAY;IACxB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAE3E,SAAS,MAAM,CAAC,EAAe;IAC7B,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAAC,CAAC;IAClJ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,OAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACrC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,oGAAoG;IACpG,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,KAAK;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC;IAClB,OAAO,GAAG,IAAI,CAAC;IACf,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,oFAAoF;IACpF,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,OAAO,EAAE;QAAE,UAAU,EAAE,CAAC;IACnD,iFAAiF;SAC5E,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG;QAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACzH,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAAE,IAAI,EAAE,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;IAAC,CAAC;IACzH,YAAY,EAAE,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa;IACpB,MAAM,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,GAAG,WAAW,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;QAAE,UAAU,EAAE,CAAC;IAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACd,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAAC,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;IACtE,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACnC,WAAW,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,IAAI,CAAC;IACf,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACjB,SAAS,EAAE,CAAC;IAAC,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,qHAAqH;AACrH,SAAS,KAAK,CAAC,CAAY,EAAE,EAAa;IACxC,OAAO,GAAG,CAAC,CAAC;IAAC,YAAY,GAAG,KAAK,CAAC;IAClC,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IACjC,+FAA+F;IAC/F,YAAY,EAAE,CAAC;IACf,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;IAC5J,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,kHAAkH;AAClH,SAAS,WAAW,CAAC,CAAY;IAC/B,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAAC,CAAC;IAClH,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ;IACf,IAAI,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,CAAC;AACd,CAAC;AAED,gHAAgH;AAChH,SAAS,WAAW;IAClB,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,QAAQ,EAAE,CAAC;IACX,2FAA2F;IAC3F,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,cAAc,EAAE;QAAE,OAAO;IAC9C,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,MAAM,CAAC,CAAY,EAAE,MAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QACrH,OAAO,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,KAAK,IAAI,OAAO,EAAE;YAAE,UAAU,EAAE,CAAC;aAChC,IAAI,IAAI;YAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC7F,gGAAgG;IAChG,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAAC,IAAI,MAAM;YAAE,QAAQ,EAAE,CAAC;;YAAM,WAAW,EAAE,CAAC;IAAC,CAAC;IAChF,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,WAAW,EAAE,CAAC;QAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC;IACrC,EAAE,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClB,gHAAgH;IAChH,MAAM,KAAK,GAAG,OAAO,EAAE,EAAE,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC;IACxD,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5I,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzI,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC9C,oFAAoF;YACpF,QAAQ,EAAE,CAAC;YACX,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,aAAa,EAAE,CAAC;YACzD,+GAA+G;YAC/G,IAAI,CAAC,OAAO;gBAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAAM,CAAC;gBAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAC9H,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO;IAC/B,8EAA8E;IAC9E,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,QAAQ,EAAE,CAAC;QACX,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1F,OAAO;IACT,CAAC;IACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,IAAI,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAChC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAAC,aAAa,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACpE,4GAA4G;IAC5G,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS;YAAE,WAAW,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,CAAC,CAAC,CAAC;SAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAAC,EAAE,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAAC,IAAI,CAAC,CAAC,KAAK;YAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;AAC/H,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAY,IAAU,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7E,MAAM,UAAU,aAAa,CAAC,CAAY,IAAU,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,0EAA0E;AAC1E,SAAS,MAAM;IACb,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa;IACzC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5C,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,KAAc,EAAE,KAAc;IACxF,IAAI,KAAK;QAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;;QACzC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC"}
@@ -5,7 +5,7 @@ import { saveSoon } from '../model/store';
5
5
  import { fitView, requestDraw } from '../render/view';
6
6
  import { cancelTool, setTool, tools } from '../tools/registry';
7
7
  import { applyCtxAction, deleteSelection } from './actions';
8
- import { addLinks, linkPlusVisible, openSelectedLink, selectedLink } from './linkActions';
8
+ import { addLinks, linkPlusVisible, openSelectedLink, selectedLink, selectedLinkedImage } from './linkActions';
9
9
  import { keys } from './gestures';
10
10
  import { keypadApply, keypadDeleteLast, keypadInsert, keypadOpen } from './keypad';
11
11
  import { confirmCancel, confirmChoose, confirmOpen } from './confirm';
@@ -117,8 +117,9 @@ export function keyDown(e) {
117
117
  void addLinks();
118
118
  return true;
119
119
  }
120
- if (e.key === 'Enter' && ed.mode === 'annotate' && selectedLink()) {
121
- openSelectedLink();
120
+ // (⇧Enter: beside the drawing, where the host can show it there)
121
+ if (e.key === 'Enter' && ed.mode === 'annotate' && (selectedLink() || selectedLinkedImage())) {
122
+ openSelectedLink(e.shift ? 'beside' : 'auto');
122
123
  return true;
123
124
  }
124
125
  if (e.shift) {
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/editor/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/editor/keys.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type DimValueOpts } from '../tools/dim';
2
- /** A reading, and the host's record of it (laserReading's `capture`), kept with it in the tray. */
2
+ /** A reading, and the host's record of it (laserReading's `capture`), kept with it until it's used. */
3
3
  export interface Reading {
4
4
  id: string;
5
5
  v: number;
@@ -23,7 +23,9 @@ export declare function setLineLength(lid: string, v: number, side?: 1 | -1, opt
23
23
  */
24
24
  export declare function setCurveDiameter(id: string, v: number, side?: 1 | -1, opts?: DimValueOpts): boolean;
25
25
  /**
26
- * A reading arrived: into the keypad, onto the selected line or curve, or into the tray (newest first, at most 8).
26
+ * A reading arrived: into the keypad, onto the selected line or curve, or — with nowhere to go — kept for a keypad's
27
+ * Laser key (newest first, at most 8) and said so. The hosts show no tray of them (the user's call, 2026-11-03: "get rid
28
+ * of the long laser reading pop up … it is not needed"); the harness's own still lists them (ui/laser.ts).
27
29
  * `capture` is the host's record of it (its device, its number), kept with the dimension it sets until that's saved
28
30
  * to the group — or handed to the job with it, for one linked to a measurement there.
29
31
  */
@@ -94,7 +94,9 @@ function appliedTo(id) {
94
94
  return l ? 'the ' + lower + ' of the ' + kind : 'the ' + kind + ' across its ' + lower;
95
95
  }
96
96
  /**
97
- * A reading arrived: into the keypad, onto the selected line or curve, or into the tray (newest first, at most 8).
97
+ * A reading arrived: into the keypad, onto the selected line or curve, or — with nowhere to go — kept for a keypad's
98
+ * Laser key (newest first, at most 8) and said so. The hosts show no tray of them (the user's call, 2026-11-03: "get rid
99
+ * of the long laser reading pop up … it is not needed"); the harness's own still lists them (ui/laser.ts).
98
100
  * `capture` is the host's record of it (its device, its number), kept with the dimension it sets until that's saved
99
101
  * to the group — or handed to the job with it, for one linked to a measurement there.
100
102
  */
@@ -114,7 +116,7 @@ export function applyReading(v, capture) {
114
116
  laser.readings.unshift({ id: uid('m'), v, ...(capture !== undefined ? { capture } : {}) });
115
117
  laser.readings = laser.readings.slice(0, 8);
116
118
  refreshTray();
117
- toast('Reading ' + fmtLen(v) + ' saved to the tray');
119
+ toast('Select a line, then take the reading.', { warn: true });
118
120
  }
119
121
  /**
120
122
  * Use a reading from the tray: `dropOn` is the line it was dragged onto (null: dropped off any line); without it
@@ -1 +1 @@
1
- {"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/editor/laser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/editor/laser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LinkTarget, Note } from '../model/types';
1
+ import type { LinkTarget, Note, Sketch, Underlay } from '../model/types';
2
2
  /** Whether the + shows: Annotate's plan (not the wall view or 3D), for someone who can edit, with a host that links. */
3
3
  export declare const linkPlusVisible: () => boolean;
4
4
  export declare const LINK_PLUS_LABEL = "Add a file";
@@ -15,28 +15,65 @@ export declare function canOpenLink(t: LinkTarget): boolean;
15
15
  */
16
16
  export declare function addLinks(): Promise<void>;
17
17
  /** The size of the page's tiles, inches on the drawing (null: it has none). */
18
- export declare function pageLinkSize(sk?: import("../core").Sketch): number | null;
18
+ export declare function pageLinkSize(sk?: Sketch): number | null;
19
19
  /** Whether the Tile size slider shows: Annotate's plan, for someone who can edit, with a tile among what's selected. */
20
20
  export declare function linkSizeVisible(): boolean;
21
+ /** How big the page's tiles are, in percent of the size they were first placed at (null: it has none). */
22
+ export declare function pageTilePct(sk?: Sketch): number | null;
23
+ /** The slider's range, percent. */
24
+ export declare const TILE_PCT_MIN = 10, TILE_PCT_MAX = 1000;
21
25
  /**
22
- * Size every tile on the page (inches, to the quarter, from LINK_MIN_IN to LINK_MAX_IN), drawn at once — for the slider
23
- * as it moves. The caller makes the undo step before, and finishes the edit after.
26
+ * Size every tile on the page to `pct` percent (TILE_PCT_MIN to TILE_PCT_MAX; and never past LINK_HARD_MIN_IN to
27
+ * LINK_HARD_MAX_IN on the drawing — placing's 6"–40' bounds would cut the range short), drawn at once — for the slider as
28
+ * it moves. The caller makes the undo step before, and finishes the edit after. (A page from before keeps its 100% from
29
+ * here on.)
30
+ */
31
+ export declare function setTilePct(pct: number): void;
32
+ /**
33
+ * The slider runs along a log scale (each step as noticeable as the last), 0 to SIZE_STEPS, 100% in the middle; it
34
+ * catches at 100%, so the size they came in at is easy to find again, and says round numbers: whole percents to 200%,
35
+ * then fives, then tens from 500%.
24
36
  */
25
- export declare function setLinkSize(inches: number): void;
26
- /** The slider runs along a log scale (a few inches to many feet, each step as noticeable as the last): 0 to SIZE_STEPS. */
27
37
  export declare const SIZE_STEPS = 1000;
28
- export declare const sizeToStep: (inches: number) => number;
29
- export declare const stepToSize: (step: number) => number;
38
+ export declare const pctToStep: (pct: number) => number;
39
+ export declare function stepToPct(step: number): number;
30
40
  /** A tile's leader on or off. On, it points out beside the tile (to the right, or the left near the screen's edge). */
31
41
  export declare function toggleLeader(id: string): void;
32
- /** Open what the selected tile is for. */
33
- export declare function openSelectedLink(): void;
34
- /** A view-only tap on the plan: on a link's tile, the person is asked, then what it's for opens. */
42
+ /** How Open opens: `here`, the host's own way; `beside`, in a pane beside the drawing; `auto`, beside if one's open. */
43
+ export type OpenHow = 'auto' | 'here' | 'beside';
44
+ /** Open what the selected tile, or the selected expanded photo, is for. */
45
+ export declare function openSelectedLink(how?: OpenHow): void;
46
+ /** What the bar's Open is for: the selected tile's or expanded photo's link, or the selected linked dimension's. */
47
+ export declare function selectedOpenTarget(): LinkTarget | null;
48
+ /** Whether Open asks how to open `t`: the host can show it beside the drawing, and no pane's open yet. */
49
+ export declare function opensWithChoice(t: LinkTarget): boolean;
50
+ /** Open what `t` is for, `how` it's asked to (see OpenHow); one that's gone, or can't be, says so instead. */
51
+ export declare function openLinkTarget(t: LinkTarget, how?: OpenHow): void;
52
+ /** An expanded photo's badge, tapped: what it's for opens (beside the drawing, if a pane's open there). */
53
+ export declare function openImageLink(id: string): void;
54
+ /** The one selected image, if it's a photo expanded from its tile and all that's selected. */
55
+ export declare function selectedLinkedImage(): (Underlay & {
56
+ link: LinkTarget;
57
+ }) | null;
58
+ /** Whether a tile can expand: a photo's (not a sketch's, a document's or a measurement's), and the photo still there. */
59
+ export declare function canExpand(n: Note & {
60
+ link: LinkTarget;
61
+ }): boolean;
62
+ /**
63
+ * A photo's tile, expanded: the photo whole where the tile was, as big as it fits in 60% of the screen across and 80%
64
+ * down (an image from the computer is placed 60% across), at full strength, free to move.
65
+ */
66
+ export declare function expandLink(id: string): void;
67
+ /** An expanded photo, folded back into its tile: where the photo's middle is, the page's tiles' size, its leader back. */
68
+ export declare function collapseLink(id: string): void;
69
+ /** Expand in the bar: the selected photo's tile expanded, or the selected expanded photo folded back. */
70
+ export declare function toggleExpand(): void;
71
+ /** A view-only tap on the plan: on a link's tile or an expanded photo's badge, the person is asked, then what it's for opens. */
35
72
  export declare function readOnlyTap(sx: number, sy: number, touch: boolean): void;
36
73
  /** Let go of a dimension's link: its value stays, the drawing's alone now. */
37
74
  export declare function unlinkDim(id: string): void;
38
75
  /** Open the measurement a dimension is linked to. */
39
- export declare function openDimLink(id: string): void;
76
+ export declare function openDimLink(id: string, how?: OpenHow): void;
40
77
  /**
41
78
  * Whether a dimension can be saved to the drawing's group: one of the drawing's own driving dimensions with a value,
42
79
  * on the plan, with a host that can save one there.