@weasel-js/core 1.13.0-rc.0 → 1.14.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 (745) hide show
  1. package/CHANGELOG.md +408 -0
  2. package/README.md +8 -12
  3. package/dist/affordances/hitAffordanceRegions.js +1 -1
  4. package/dist/affordances/hitAffordanceRegions.js.map +1 -1
  5. package/dist/affordances/pathAnchors.js.map +1 -1
  6. package/dist/animation/clipTargets.js +1 -1
  7. package/dist/animation/clipTargets.js.map +1 -1
  8. package/dist/animation/poseTarget.js +5 -32
  9. package/dist/animation/poseTarget.js.map +1 -1
  10. package/dist/{autoPoseDescriptor-CZ1eXbzY.d.ts → autoPoseDescriptor-C25QVb0W.d.ts} +1 -1
  11. package/dist/barrel/canvas.js +8 -8
  12. package/dist/barrel/chrome.js +9 -9
  13. package/dist/barrel/input.js +1 -1
  14. package/dist/barrel/interactions.js +3 -3
  15. package/dist/barrel/paint.js +2 -2
  16. package/dist/barrel/paths.js +19 -17
  17. package/dist/barrel/renderer.js +11 -7
  18. package/dist/barrel/routing.js +4 -1
  19. package/dist/barrel/scene.js +16 -12
  20. package/dist/barrel/text.js +5 -5
  21. package/dist/barrel/viewport.js +8 -8
  22. package/dist/canvas/Canvas.js +2 -2
  23. package/dist/canvas/Canvas.js.map +1 -1
  24. package/dist/canvas/CanvasView.js +20 -14
  25. package/dist/canvas/CanvasView.js.map +1 -1
  26. package/dist/canvas/GestureReason.js +64 -0
  27. package/dist/canvas/GestureReason.js.map +1 -0
  28. package/dist/canvas/GestureReason.module.js +7 -0
  29. package/dist/canvas/GestureReason.module.js.map +1 -0
  30. package/dist/canvas/LeanSceneCanvas.js +3 -1
  31. package/dist/canvas/LeanSceneCanvas.js.map +1 -1
  32. package/dist/canvas/NodeShape.js +2 -0
  33. package/dist/canvas/NodeShape.js.map +1 -1
  34. package/dist/canvas/PickHud.js +7 -3
  35. package/dist/canvas/PickHud.js.map +1 -1
  36. package/dist/canvas/SceneCanvas/CanvasKitProviders.js +1 -1
  37. package/dist/canvas/SceneCanvas/CanvasKitProviders.js.map +1 -1
  38. package/dist/canvas/SceneCanvas/DevHuds.js +2 -2
  39. package/dist/canvas/SceneCanvas/DevHuds.js.map +1 -1
  40. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +4 -2
  41. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
  42. package/dist/canvas/SceneCanvas/SceneCanvasInput.js +3 -1
  43. package/dist/canvas/SceneCanvas/SceneCanvasInput.js.map +1 -1
  44. package/dist/canvas/SceneCanvas/brushOverlay.js.map +1 -1
  45. package/dist/canvas/SceneCanvas/builtinToolSets.js +17 -9
  46. package/dist/canvas/SceneCanvas/builtinToolSets.js.map +1 -1
  47. package/dist/canvas/SceneCanvas/canvasPassThrough.js +2 -1
  48. package/dist/canvas/SceneCanvas/canvasPassThrough.js.map +1 -1
  49. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +75 -19
  50. package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
  51. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +7 -1
  52. package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -1
  53. package/dist/canvas/SceneCanvas/defaultTextEditor.js +108 -0
  54. package/dist/canvas/SceneCanvas/defaultTextEditor.js.map +1 -0
  55. package/dist/canvas/SceneCanvas/describePresets.js +47 -0
  56. package/dist/canvas/SceneCanvas/describePresets.js.map +1 -0
  57. package/dist/canvas/SceneCanvas/features.js +57 -16
  58. package/dist/canvas/SceneCanvas/features.js.map +1 -1
  59. package/dist/canvas/SceneCanvas/mergeLayers.js +10 -1
  60. package/dist/canvas/SceneCanvas/mergeLayers.js.map +1 -1
  61. package/dist/canvas/SceneCanvas/namedPresets.js +52 -24
  62. package/dist/canvas/SceneCanvas/namedPresets.js.map +1 -1
  63. package/dist/canvas/SceneCanvas/presets/arrange.js +35 -10
  64. package/dist/canvas/SceneCanvas/presets/arrange.js.map +1 -1
  65. package/dist/canvas/SceneCanvas/presets/baseline.js +9 -0
  66. package/dist/canvas/SceneCanvas/presets/baseline.js.map +1 -0
  67. package/dist/canvas/SceneCanvas/presets/chrome.js.map +1 -1
  68. package/dist/canvas/SceneCanvas/presets/composites.js +43 -0
  69. package/dist/canvas/SceneCanvas/presets/composites.js.map +1 -0
  70. package/dist/canvas/SceneCanvas/presets/edit.js +79 -26
  71. package/dist/canvas/SceneCanvas/presets/edit.js.map +1 -1
  72. package/dist/canvas/SceneCanvas/presets/ingest.js +1 -0
  73. package/dist/canvas/SceneCanvas/presets/ingest.js.map +1 -1
  74. package/dist/canvas/SceneCanvas/presets/paths.js +58 -16
  75. package/dist/canvas/SceneCanvas/presets/paths.js.map +1 -1
  76. package/dist/canvas/SceneCanvas/presets/select.js +4 -2
  77. package/dist/canvas/SceneCanvas/presets/select.js.map +1 -1
  78. package/dist/canvas/SceneCanvas/presets/tools.js +24 -0
  79. package/dist/canvas/SceneCanvas/presets/tools.js.map +1 -0
  80. package/dist/canvas/SceneCanvas/presets/transform.js +4 -0
  81. package/dist/canvas/SceneCanvas/presets/transform.js.map +1 -1
  82. package/dist/canvas/SceneCanvas/presets/view.js +3 -1
  83. package/dist/canvas/SceneCanvas/presets/view.js.map +1 -1
  84. package/dist/canvas/SceneCanvas/props.js.map +1 -1
  85. package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js +1 -1
  86. package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js.map +1 -1
  87. package/dist/canvas/SceneCanvas/toolRegistry.js +5 -4
  88. package/dist/canvas/SceneCanvas/toolRegistry.js.map +1 -1
  89. package/dist/canvas/SceneCanvas/useCanvasTools.js +26 -10
  90. package/dist/canvas/SceneCanvas/useCanvasTools.js.map +1 -1
  91. package/dist/canvas/SceneCanvas/useContributionRoles.js +17 -2
  92. package/dist/canvas/SceneCanvas/useContributionRoles.js.map +1 -1
  93. package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js +5 -4
  94. package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js.map +1 -1
  95. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +1 -1
  96. package/dist/canvas/SceneCanvas/useNodeAtPoint.js.map +1 -1
  97. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +9 -8
  98. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js.map +1 -1
  99. package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js +2 -2
  100. package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js.map +1 -1
  101. package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +4 -1
  102. package/dist/canvas/SceneCanvas/useSceneCanvasTools.js.map +1 -1
  103. package/dist/canvas/SceneCanvas/useSceneChrome.js +7 -4
  104. package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -1
  105. package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +9 -9
  106. package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js.map +1 -1
  107. package/dist/canvas/SceneCanvas/useScenePicking.js +4 -7
  108. package/dist/canvas/SceneCanvas/useScenePicking.js.map +1 -1
  109. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +2 -1
  110. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js.map +1 -1
  111. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +6 -6
  112. package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
  113. package/dist/canvas/SceneCanvas/useSceneStandardActions.js +2 -2
  114. package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -1
  115. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +1 -1
  116. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js.map +1 -1
  117. package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js.map +1 -1
  118. package/dist/canvas/SceneCanvas/useToolKeybindings.js +2 -2
  119. package/dist/canvas/SceneCanvas/useToolKeybindings.js.map +1 -1
  120. package/dist/canvas/SceneCanvas/useViewportActions.js +5 -2
  121. package/dist/canvas/SceneCanvas/useViewportActions.js.map +1 -1
  122. package/dist/canvas/SceneCanvas/worldPointAt.js.map +1 -1
  123. package/dist/canvas/SceneCanvas.js +22 -11
  124. package/dist/canvas/SceneCanvas.js.map +1 -1
  125. package/dist/canvas/SceneViewCanvas.js +1 -0
  126. package/dist/canvas/SceneViewCanvas.js.map +1 -1
  127. package/dist/canvas/ViewMarker.js.map +1 -1
  128. package/dist/canvas/accentColor.js +14 -1
  129. package/dist/canvas/accentColor.js.map +1 -1
  130. package/dist/canvas/affordanceAt.js +2 -2
  131. package/dist/canvas/affordanceAt.js.map +1 -1
  132. package/dist/canvas/buildSceneLayer.js +1 -1
  133. package/dist/canvas/buildSceneLayer.js.map +1 -1
  134. package/dist/canvas/buildSceneTree.js +5 -3
  135. package/dist/canvas/buildSceneTree.js.map +1 -1
  136. package/dist/canvas/canvasRenderer.js +6 -2
  137. package/dist/canvas/canvasRenderer.js.map +1 -1
  138. package/dist/canvas/deps/editAnchors.js +4 -4
  139. package/dist/canvas/deps/editAnchors.js.map +1 -1
  140. package/dist/canvas/deps/enteredGroup.js +14 -5
  141. package/dist/canvas/deps/enteredGroup.js.map +1 -1
  142. package/dist/canvas/deps/ingestion.js +5 -1
  143. package/dist/canvas/deps/ingestion.js.map +1 -1
  144. package/dist/canvas/deps/insert.js.map +1 -1
  145. package/dist/canvas/deps/insertSite.js +5 -3
  146. package/dist/canvas/deps/insertSite.js.map +1 -1
  147. package/dist/canvas/deps/nodeAtPoint.js +1 -12
  148. package/dist/canvas/deps/nodeAtPoint.js.map +1 -1
  149. package/dist/canvas/deps/pathEditCommits.js +3 -3
  150. package/dist/canvas/deps/pathEditCommits.js.map +1 -1
  151. package/dist/canvas/deps/slice.js +16 -2
  152. package/dist/canvas/deps/slice.js.map +1 -1
  153. package/dist/canvas/deps/snap.js +5 -5
  154. package/dist/canvas/deps/snap.js.map +1 -1
  155. package/dist/canvas/deps/textEdit.js +5 -6
  156. package/dist/canvas/deps/textEdit.js.map +1 -1
  157. package/dist/canvas/derivedPath.js +8 -3
  158. package/dist/canvas/derivedPath.js.map +1 -1
  159. package/dist/canvas/getNodeAtPoint.js +2 -2
  160. package/dist/canvas/getNodeAtPoint.js.map +1 -1
  161. package/dist/canvas/insertPreviewExtent.js.map +1 -1
  162. package/dist/canvas/layerSlots.js.map +1 -1
  163. package/dist/canvas/nodeShapes/measurePainter.js +1 -1
  164. package/dist/canvas/nodeShapes/measurePainter.js.map +1 -1
  165. package/dist/canvas/nodeShapes/strokedBounds.js +5 -3
  166. package/dist/canvas/nodeShapes/strokedBounds.js.map +1 -1
  167. package/dist/canvas/overlayRoleStrokes.js +6 -0
  168. package/dist/canvas/overlayRoleStrokes.js.map +1 -1
  169. package/dist/canvas/pickIndex/scenePickIndex.js +10 -12
  170. package/dist/canvas/pickIndex/scenePickIndex.js.map +1 -1
  171. package/dist/canvas/sceneAdapter.js +10 -19
  172. package/dist/canvas/sceneAdapter.js.map +1 -1
  173. package/dist/canvas/sceneClipboard.js +17 -4
  174. package/dist/canvas/sceneClipboard.js.map +1 -1
  175. package/dist/canvas/sceneViewRender.js +7 -5
  176. package/dist/canvas/sceneViewRender.js.map +1 -1
  177. package/dist/canvas/surfaceContribution.js.map +1 -1
  178. package/dist/canvas/useCanvasPaint.js +12 -4
  179. package/dist/canvas/useCanvasPaint.js.map +1 -1
  180. package/dist/canvas/useHitObserver.js +1 -1
  181. package/dist/canvas/useHitObserver.js.map +1 -1
  182. package/dist/canvas/useViewAim.js +1 -1
  183. package/dist/canvas/useViewAim.js.map +1 -1
  184. package/dist/canvas/useViewHelpers.js +8 -5
  185. package/dist/canvas/useViewHelpers.js.map +1 -1
  186. package/dist/canvas/useViewNesting.js +39 -12
  187. package/dist/canvas/useViewNesting.js.map +1 -1
  188. package/dist/canvas/viewInputs.js.map +1 -1
  189. package/dist/canvas/viewMarkers.js +2 -2
  190. package/dist/canvas/viewMarkers.js.map +1 -1
  191. package/dist/canvas/viewRegistry.js +2 -2
  192. package/dist/canvas/viewRegistry.js.map +1 -1
  193. package/dist/canvas/viewSnap.js +67 -0
  194. package/dist/canvas/viewSnap.js.map +1 -0
  195. package/dist/clipboard.d.ts +6 -12
  196. package/dist/{clone-qb2e1F5p.d.ts → clone-Bz4iqGfE.d.ts} +10 -5
  197. package/dist/clone.d.ts +5 -5
  198. package/dist/core/geometry/booleanOfPaths.js +23 -0
  199. package/dist/core/geometry/booleanOfPaths.js.map +1 -0
  200. package/dist/core/geometry/pathPoseDescriptor.js +12 -9
  201. package/dist/core/geometry/pathPoseDescriptor.js.map +1 -1
  202. package/dist/core/geometry/poseDescriptor.js +12 -3
  203. package/dist/core/geometry/poseDescriptor.js.map +1 -1
  204. package/dist/core/geometry/targetFrame.js +2 -13
  205. package/dist/core/geometry/targetFrame.js.map +1 -1
  206. package/dist/core/layers/render.js +2 -1
  207. package/dist/core/layers/render.js.map +1 -1
  208. package/dist/core/layers/retain.js +5 -3
  209. package/dist/core/layers/retain.js.map +1 -1
  210. package/dist/core/ops/setPath.js +3 -0
  211. package/dist/core/ops/setPath.js.map +1 -1
  212. package/dist/core/paint/meshKindLazy.js.map +1 -1
  213. package/dist/core/paint/paintKindEntry.js.map +1 -1
  214. package/dist/core/paint/paintKinds.js +8 -1
  215. package/dist/core/paint/paintKinds.js.map +1 -1
  216. package/dist/core/scene/NodeProperties.js.map +1 -1
  217. package/dist/core/scene/NodeRouting.js.map +1 -1
  218. package/dist/core/scene/booleanGroup.js +33 -0
  219. package/dist/core/scene/booleanGroup.js.map +1 -0
  220. package/dist/core/scene/booleanOfChildren.js +53 -0
  221. package/dist/core/scene/booleanOfChildren.js.map +1 -0
  222. package/dist/core/scene/carryDescendants.js +18 -6
  223. package/dist/core/scene/carryDescendants.js.map +1 -1
  224. package/dist/core/scene/composeFrame.js +42 -5
  225. package/dist/core/scene/composeFrame.js.map +1 -1
  226. package/dist/core/scene/composePose.js +35 -16
  227. package/dist/core/scene/composePose.js.map +1 -1
  228. package/dist/core/scene/depMemo.js +36 -18
  229. package/dist/core/scene/depMemo.js.map +1 -1
  230. package/dist/core/scene/derivedParts.js +2 -23
  231. package/dist/core/scene/derivedParts.js.map +1 -1
  232. package/dist/core/scene/effectivePose.js +10 -0
  233. package/dist/core/scene/effectivePose.js.map +1 -1
  234. package/dist/core/scene/historyForm.js +5 -4
  235. package/dist/core/scene/historyForm.js.map +1 -1
  236. package/dist/core/scene/kitOps.js +5 -71
  237. package/dist/core/scene/kitOps.js.map +1 -1
  238. package/dist/core/scene/kitRegistry.js +5 -0
  239. package/dist/core/scene/kitRegistry.js.map +1 -1
  240. package/dist/core/scene/layerOps.js +82 -0
  241. package/dist/core/scene/layerOps.js.map +1 -0
  242. package/dist/core/scene/layoutPass.js +14 -12
  243. package/dist/core/scene/layoutPass.js.map +1 -1
  244. package/dist/core/scene/lockGuard.js +9 -3
  245. package/dist/core/scene/lockGuard.js.map +1 -1
  246. package/dist/core/scene/nestedHit.js +5 -5
  247. package/dist/core/scene/nestedHit.js.map +1 -1
  248. package/dist/core/scene/nodeFlags.js +8 -2
  249. package/dist/core/scene/nodeFlags.js.map +1 -1
  250. package/dist/core/scene/nodeGates.js +31 -2
  251. package/dist/core/scene/nodeGates.js.map +1 -1
  252. package/dist/core/scene/pathEffects/effects.js +22 -3
  253. package/dist/core/scene/pathEffects/effects.js.map +1 -1
  254. package/dist/core/scene/pathEffects/textAlong.js +16 -3
  255. package/dist/core/scene/pathEffects/textAlong.js.map +1 -1
  256. package/dist/core/scene/pathEffects/textAlongBands.js +65 -0
  257. package/dist/core/scene/pathEffects/textAlongBands.js.map +1 -0
  258. package/dist/core/scene/reconcileSpecs.js +1 -1
  259. package/dist/core/scene/reconcileSpecs.js.map +1 -1
  260. package/dist/core/scene/scene.js +11 -5
  261. package/dist/core/scene/scene.js.map +1 -1
  262. package/dist/core/scene/sceneEdits.js +5 -2
  263. package/dist/core/scene/sceneEdits.js.map +1 -1
  264. package/dist/core/scene/scenePoseAdapter.js +10 -1
  265. package/dist/core/scene/scenePoseAdapter.js.map +1 -1
  266. package/dist/core/scene/scrollOffsets.js +93 -0
  267. package/dist/core/scene/scrollOffsets.js.map +1 -0
  268. package/dist/core/scene/serialization.js +15 -5
  269. package/dist/core/scene/serialization.js.map +1 -1
  270. package/dist/core/scene/statedFields.js +2 -1
  271. package/dist/core/scene/statedFields.js.map +1 -1
  272. package/dist/core/scene/strategyView.js +35 -0
  273. package/dist/core/scene/strategyView.js.map +1 -0
  274. package/dist/core/scene/types.js.map +1 -1
  275. package/dist/core/scene/useScene.js +2 -0
  276. package/dist/core/scene/useScene.js.map +1 -1
  277. package/dist/core/scene/worldSave.js +87 -0
  278. package/dist/core/scene/worldSave.js.map +1 -0
  279. package/dist/core/selection/selectionTarget.js +1 -1
  280. package/dist/core/selection/selectionTarget.js.map +1 -1
  281. package/dist/{cornerHandles-CNCb7aTY.d.ts → cornerHandles-DpmQM_z5.d.ts} +1 -1
  282. package/dist/{depSchema-B1RS-IJx.d.ts → depSchema-C3BwxitB.d.ts} +130 -104
  283. package/dist/devtools-protocol.d.ts +2 -2
  284. package/dist/devtools.d.ts +2 -2
  285. package/dist/{features → domains}/chrome-caps/buildChromeCtx.js +1 -1
  286. package/dist/domains/chrome-caps/buildChromeCtx.js.map +1 -0
  287. package/dist/{features → domains}/chrome-caps/conditions.js +1 -1
  288. package/dist/domains/chrome-caps/conditions.js.map +1 -0
  289. package/dist/{features → domains}/chrome-caps/defaults.js +1 -1
  290. package/dist/domains/chrome-caps/defaults.js.map +1 -0
  291. package/dist/{features → domains}/chrome-caps/resolve.js +1 -1
  292. package/dist/domains/chrome-caps/resolve.js.map +1 -0
  293. package/dist/{features → domains}/chrome-caps/useChromeCaps.js +1 -1
  294. package/dist/domains/chrome-caps/useChromeCaps.js.map +1 -0
  295. package/dist/{features → domains}/chrome-caps/useHoverTracking.js +1 -1
  296. package/dist/domains/chrome-caps/useHoverTracking.js.map +1 -0
  297. package/dist/{features → domains}/ingestion/contentHandlers.js +20 -3
  298. package/dist/domains/ingestion/contentHandlers.js.map +1 -0
  299. package/dist/domains/ingestion/ghost.js +56 -0
  300. package/dist/domains/ingestion/ghost.js.map +1 -0
  301. package/dist/{features → domains}/ingestion/imageHandler.js +1 -1
  302. package/dist/domains/ingestion/imageHandler.js.map +1 -0
  303. package/dist/domains/ingestion/kitHandlers.js +22 -0
  304. package/dist/domains/ingestion/kitHandlers.js.map +1 -0
  305. package/dist/{features → domains}/ingestion/openFilePicker.js +1 -1
  306. package/dist/domains/ingestion/openFilePicker.js.map +1 -0
  307. package/dist/{features → domains}/ingestion/placement.js +1 -1
  308. package/dist/domains/ingestion/placement.js.map +1 -0
  309. package/dist/{features → domains}/ingestion/svgHandler.js +1 -1
  310. package/dist/domains/ingestion/svgHandler.js.map +1 -0
  311. package/dist/{features → domains}/ingestion/textHandler.js +9 -7
  312. package/dist/domains/ingestion/textHandler.js.map +1 -0
  313. package/dist/{features → domains}/ingestion/useCanvasIngestion.js +13 -15
  314. package/dist/domains/ingestion/useCanvasIngestion.js.map +1 -0
  315. package/dist/{features → domains}/ingestion/weaselJsonHandler.js +1 -1
  316. package/dist/domains/ingestion/weaselJsonHandler.js.map +1 -0
  317. package/dist/{features → domains}/longPress/longPressFeedback.js +1 -1
  318. package/dist/domains/longPress/longPressFeedback.js.map +1 -0
  319. package/dist/{features → domains}/measure/actionIds.js +1 -1
  320. package/dist/domains/measure/actionIds.js.map +1 -0
  321. package/dist/{features → domains}/measure/measureCommands.js +1 -1
  322. package/dist/domains/measure/measureCommands.js.map +1 -0
  323. package/dist/{features → domains}/measure/measureContribution.js +1 -1
  324. package/dist/domains/measure/measureContribution.js.map +1 -0
  325. package/dist/{features → domains}/measure/measureEdits.js +1 -1
  326. package/dist/domains/measure/measureEdits.js.map +1 -0
  327. package/dist/{features → domains}/measure/measureGestures.js +4 -7
  328. package/dist/domains/measure/measureGestures.js.map +1 -0
  329. package/dist/{features → domains}/measure/measureHit.js +1 -1
  330. package/dist/domains/measure/measureHit.js.map +1 -0
  331. package/dist/{features → domains}/measure/measureLayer.js +1 -1
  332. package/dist/domains/measure/measureLayer.js.map +1 -0
  333. package/dist/{features → domains}/measure/measurement.js +1 -1
  334. package/dist/domains/measure/measurement.js.map +1 -0
  335. package/dist/{features → domains}/measure/measurements.js +2 -2
  336. package/dist/domains/measure/measurements.js.map +1 -0
  337. package/dist/{features → domains}/modes/modeLayers.js +1 -1
  338. package/dist/domains/modes/modeLayers.js.map +1 -0
  339. package/dist/{features → domains}/modes/modeTriggers.js +3 -6
  340. package/dist/domains/modes/modeTriggers.js.map +1 -0
  341. package/dist/{features → domains}/pathEffects/effectSources.js +1 -1
  342. package/dist/domains/pathEffects/effectSources.js.map +1 -0
  343. package/dist/{features → domains}/pathEffects/index.js +1 -1
  344. package/dist/domains/pathEffects/index.js.map +1 -0
  345. package/dist/{features → domains}/pathEffects/readSource.js +1 -1
  346. package/dist/domains/pathEffects/readSource.js.map +1 -0
  347. package/dist/{features → domains}/pathEffects/textItems.js +11 -2
  348. package/dist/domains/pathEffects/textItems.js.map +1 -0
  349. package/dist/{features → domains}/pathEffects/useEffectSourcesLayer.js +1 -1
  350. package/dist/domains/pathEffects/useEffectSourcesLayer.js.map +1 -0
  351. package/dist/{features → domains}/paths/anchorData.js +1 -1
  352. package/dist/domains/paths/anchorData.js.map +1 -0
  353. package/dist/{features → domains}/paths/anchorMarkers.js +9 -7
  354. package/dist/domains/paths/anchorMarkers.js.map +1 -0
  355. package/dist/{features → domains}/paths/editablePath.js +1 -1
  356. package/dist/domains/paths/editablePath.js.map +1 -0
  357. package/dist/{features → domains}/paths/index.js +3 -3
  358. package/dist/{features → domains}/paths/originProjection.js +1 -1
  359. package/dist/domains/paths/originProjection.js.map +1 -0
  360. package/dist/{features → domains}/paths/pathEditExtension.js +1 -1
  361. package/dist/domains/paths/pathEditExtension.js.map +1 -0
  362. package/dist/{features → domains}/paths/pathEditState.js +1 -1
  363. package/dist/domains/paths/pathEditState.js.map +1 -0
  364. package/dist/{features → domains}/paths/pathEditingOverlayLayer.js +1 -1
  365. package/dist/domains/paths/pathEditingOverlayLayer.js.map +1 -0
  366. package/dist/{features → domains}/paths/pathLayer.js +1 -1
  367. package/dist/domains/paths/pathLayer.js.map +1 -0
  368. package/dist/{features → domains}/paths/pathRepresentation.js +1 -1
  369. package/dist/domains/paths/pathRepresentation.js.map +1 -0
  370. package/dist/{features → domains}/paths/pathSnap/glyphs.js +1 -1
  371. package/dist/domains/paths/pathSnap/glyphs.js.map +1 -0
  372. package/dist/{features → domains}/paths/pathSnap/pathSnapSource.js +1 -1
  373. package/dist/domains/paths/pathSnap/pathSnapSource.js.map +1 -0
  374. package/dist/{features → domains}/paths/pathSnap/sceneIndex.js +1 -1
  375. package/dist/domains/paths/pathSnap/sceneIndex.js.map +1 -0
  376. package/dist/{features → domains}/paths/pathSnap/snapGeometry.js +3 -2
  377. package/dist/domains/paths/pathSnap/snapGeometry.js.map +1 -0
  378. package/dist/{features → domains}/paths/penPreviewLayer.js +1 -1
  379. package/dist/domains/paths/penPreviewLayer.js.map +1 -0
  380. package/dist/{features → domains}/paths/shapeGenerator.js +6 -4
  381. package/dist/domains/paths/shapeGenerator.js.map +1 -0
  382. package/dist/{features → domains}/paths/strokeOutline.js +1 -1
  383. package/dist/domains/paths/strokeOutline.js.map +1 -0
  384. package/dist/{features → domains}/paths/useAnchorFields.js +1 -1
  385. package/dist/domains/paths/useAnchorFields.js.map +1 -0
  386. package/dist/{features → domains}/paths/usePathEdit.js +1 -1
  387. package/dist/domains/paths/usePathEdit.js.map +1 -0
  388. package/dist/{features → domains}/poseRun/usePoseRun.js +1 -1
  389. package/dist/domains/poseRun/usePoseRun.js.map +1 -0
  390. package/dist/{features → domains}/selection/enteredGroupFrame.js +49 -10
  391. package/dist/domains/selection/enteredGroupFrame.js.map +1 -0
  392. package/dist/{features → domains}/selection/enteredGroupScope.js +1 -1
  393. package/dist/domains/selection/enteredGroupScope.js.map +1 -0
  394. package/dist/domains/selection/enteredOperands.js +29 -0
  395. package/dist/domains/selection/enteredOperands.js.map +1 -0
  396. package/dist/{features → domains}/selection/handleCommands.js +1 -1
  397. package/dist/domains/selection/handleCommands.js.map +1 -0
  398. package/dist/{features → domains}/selection/overlay.js +1 -1
  399. package/dist/domains/selection/overlay.js.map +1 -0
  400. package/dist/{features → domains}/selection/selectionPose.js +1 -1
  401. package/dist/domains/selection/selectionPose.js.map +1 -0
  402. package/dist/{features → domains}/snap/angle2d.js +1 -1
  403. package/dist/domains/snap/angle2d.js.map +1 -0
  404. package/dist/{features → domains}/snap/debugCandidates.js +1 -1
  405. package/dist/domains/snap/debugCandidates.js.map +1 -0
  406. package/dist/{features → domains}/snap/gather.js +1 -1
  407. package/dist/domains/snap/gather.js.map +1 -0
  408. package/dist/{features → domains}/snap/inputSubspace.js +1 -1
  409. package/dist/domains/snap/inputSubspace.js.map +1 -0
  410. package/dist/{features → domains}/snap/lazySession.js +1 -1
  411. package/dist/domains/snap/lazySession.js.map +1 -0
  412. package/dist/{features → domains}/snap/marks.js +1 -1
  413. package/dist/domains/snap/marks.js.map +1 -0
  414. package/dist/{features → domains}/snap/outcomeStore.js +1 -1
  415. package/dist/domains/snap/outcomeStore.js.map +1 -0
  416. package/dist/{features → domains}/snap/pointSnap.js +1 -1
  417. package/dist/domains/snap/pointSnap.js.map +1 -0
  418. package/dist/{features → domains}/snap/probes2d.js +1 -1
  419. package/dist/domains/snap/probes2d.js.map +1 -0
  420. package/dist/{features → domains}/snap/readoutDraw.js +1 -1
  421. package/dist/domains/snap/readoutDraw.js.map +1 -0
  422. package/dist/{features → domains}/snap/readoutLayer.js +1 -1
  423. package/dist/domains/snap/readoutLayer.js.map +1 -0
  424. package/dist/{features → domains}/snap/registry.js +1 -1
  425. package/dist/domains/snap/registry.js.map +1 -0
  426. package/dist/{features → domains}/snap/resizeBox.js +1 -1
  427. package/dist/domains/snap/resizeBox.js.map +1 -0
  428. package/dist/{features → domains}/snap/roles.js +1 -1
  429. package/dist/domains/snap/roles.js.map +1 -0
  430. package/dist/{features → domains}/snap/rotationSource.js +1 -1
  431. package/dist/domains/snap/rotationSource.js.map +1 -0
  432. package/dist/{features → domains}/snap/sceneReads.js +24 -3
  433. package/dist/domains/snap/sceneReads.js.map +1 -0
  434. package/dist/{features → domains}/snap/sceneSession2d.js +3 -2
  435. package/dist/domains/snap/sceneSession2d.js.map +1 -0
  436. package/dist/{features → domains}/snap/screen.js +1 -1
  437. package/dist/domains/snap/screen.js.map +1 -0
  438. package/dist/{features → domains}/snap/session2d.js +3 -2
  439. package/dist/domains/snap/session2d.js.map +1 -0
  440. package/dist/{features → domains}/snap/spanSnap.js +1 -1
  441. package/dist/domains/snap/spanSnap.js.map +1 -0
  442. package/dist/{features → domains}/snap/stepAngles.js +1 -1
  443. package/dist/domains/snap/stepAngles.js.map +1 -0
  444. package/dist/{features → domains}/text/editingDrawOne.js +4 -4
  445. package/dist/domains/text/editingDrawOne.js.map +1 -0
  446. package/dist/domains/text/hostTextEditors.js +24 -0
  447. package/dist/domains/text/hostTextEditors.js.map +1 -0
  448. package/dist/{features → domains}/text/index.js +1 -1
  449. package/dist/{features → domains}/text/sceneTextDrafts.js +1 -1
  450. package/dist/domains/text/sceneTextDrafts.js.map +1 -0
  451. package/dist/{features → domains}/text/textHitAt.js +18 -2
  452. package/dist/domains/text/textHitAt.js.map +1 -0
  453. package/dist/{features → domains}/text/textLayer.js +1 -1
  454. package/dist/domains/text/textLayer.js.map +1 -0
  455. package/dist/{features → domains}/text/useSceneTextEdit.js +11 -3
  456. package/dist/domains/text/useSceneTextEdit.js.map +1 -0
  457. package/dist/{features → domains}/viewports/aim.js +1 -1
  458. package/dist/domains/viewports/aim.js.map +1 -0
  459. package/dist/{features → domains}/viewports/viewMarker.js +23 -5
  460. package/dist/domains/viewports/viewMarker.js.map +1 -0
  461. package/dist/{features → domains}/viewports/viewMarkerDrag.js +3 -3
  462. package/dist/domains/viewports/viewMarkerDrag.js.map +1 -0
  463. package/dist/{features → domains}/viewports/viewResolver.js +1 -1
  464. package/dist/domains/viewports/viewResolver.js.map +1 -0
  465. package/dist/{features → domains}/viewports/viewportLayer.js +3 -2
  466. package/dist/domains/viewports/viewportLayer.js.map +1 -0
  467. package/dist/icons.table.js +1 -1
  468. package/dist/icons.table.js.map +1 -1
  469. package/dist/icons.table.json +106 -6
  470. package/dist/index.d.ts +1445 -1053
  471. package/dist/index.js +90 -77
  472. package/dist/interactions/actions/admitsChild.js +6 -2
  473. package/dist/interactions/actions/admitsChild.js.map +1 -1
  474. package/dist/interactions/actions/align/align.js +1 -4
  475. package/dist/interactions/actions/align/align.js.map +1 -1
  476. package/dist/interactions/actions/booleans/booleanGroupAction.js +66 -0
  477. package/dist/interactions/actions/booleans/booleanGroupAction.js.map +1 -0
  478. package/dist/interactions/actions/booleans/keymap.js +52 -0
  479. package/dist/interactions/actions/booleans/keymap.js.map +1 -0
  480. package/dist/interactions/actions/booleans/operands.js +1 -1
  481. package/dist/interactions/actions/booleans/pieces.js +4 -11
  482. package/dist/interactions/actions/booleans/pieces.js.map +1 -1
  483. package/dist/interactions/actions/clipboard/action.js +3 -7
  484. package/dist/interactions/actions/clipboard/action.js.map +1 -1
  485. package/dist/interactions/actions/clipboard/clipboardOps.js +1 -1
  486. package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -1
  487. package/dist/interactions/actions/clipboard/materializePaste.js.map +1 -1
  488. package/dist/interactions/actions/defaults/anchorEditing.js +6 -6
  489. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
  490. package/dist/interactions/actions/defaults/bendSegment.js +1 -1
  491. package/dist/interactions/actions/defaults/bendSegment.js.map +1 -1
  492. package/dist/interactions/actions/defaults/containerScroll.js +170 -0
  493. package/dist/interactions/actions/defaults/containerScroll.js.map +1 -0
  494. package/dist/interactions/actions/defaults/contextMenu.js +2 -5
  495. package/dist/interactions/actions/defaults/contextMenu.js.map +1 -1
  496. package/dist/interactions/actions/defaults/delete.js +1 -1
  497. package/dist/interactions/actions/defaults/delete.js.map +1 -1
  498. package/dist/interactions/actions/defaults/duplicate.js +1 -3
  499. package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
  500. package/dist/interactions/actions/defaults/enterGroup.js +7 -12
  501. package/dist/interactions/actions/defaults/enterGroup.js.map +1 -1
  502. package/dist/interactions/actions/defaults/enterPathEdit.js +4 -8
  503. package/dist/interactions/actions/defaults/enterPathEdit.js.map +1 -1
  504. package/dist/interactions/actions/defaults/group.js +12 -24
  505. package/dist/interactions/actions/defaults/group.js.map +1 -1
  506. package/dist/interactions/actions/defaults/ingest.js +18 -10
  507. package/dist/interactions/actions/defaults/ingest.js.map +1 -1
  508. package/dist/interactions/actions/defaults/insertPathAnchor.js +3 -3
  509. package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
  510. package/dist/interactions/actions/defaults/nudgeSteps.js +3 -21
  511. package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -1
  512. package/dist/interactions/actions/defaults/pathEditMarks.js.map +1 -1
  513. package/dist/interactions/actions/defaults/selectDeep.js +2 -2
  514. package/dist/interactions/actions/defaults/selectDeep.js.map +1 -1
  515. package/dist/interactions/actions/distribute/distribute.js.map +1 -1
  516. package/dist/interactions/actions/dropVerdict.js +9 -0
  517. package/dist/interactions/actions/dropVerdict.js.map +1 -0
  518. package/dist/interactions/actions/edit-anchors/action.js +2 -2
  519. package/dist/interactions/actions/edit-anchors/action.js.map +1 -1
  520. package/dist/interactions/actions/edit-anchors/extensionDrags.js.map +1 -1
  521. package/dist/interactions/actions/edit-anchors/geometry.js +8 -6
  522. package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -1
  523. package/dist/interactions/actions/edit-anchors/handleDrag.js.map +1 -1
  524. package/dist/interactions/actions/edit-anchors/preview.js +1 -1
  525. package/dist/interactions/actions/edit-anchors/preview.js.map +1 -1
  526. package/dist/interactions/actions/flip/action.js +3 -2
  527. package/dist/interactions/actions/flip/action.js.map +1 -1
  528. package/dist/interactions/actions/geometryProjection.js +8 -3
  529. package/dist/interactions/actions/geometryProjection.js.map +1 -1
  530. package/dist/interactions/actions/gestureFrames.js +1 -0
  531. package/dist/interactions/actions/gestureFrames.js.map +1 -1
  532. package/dist/interactions/actions/insert/action.js +6 -2
  533. package/dist/interactions/actions/insert/action.js.map +1 -1
  534. package/dist/interactions/actions/insert/frame.js +1 -1
  535. package/dist/interactions/actions/insert/frame.js.map +1 -1
  536. package/dist/interactions/actions/insert/placeAction.js +6 -8
  537. package/dist/interactions/actions/insert/placeAction.js.map +1 -1
  538. package/dist/interactions/actions/insert/session.js +2 -2
  539. package/dist/interactions/actions/insert/session.js.map +1 -1
  540. package/dist/interactions/actions/move/action.js +6 -15
  541. package/dist/interactions/actions/move/action.js.map +1 -1
  542. package/dist/interactions/actions/move/behaviors/layoutDrop.js +12 -2
  543. package/dist/interactions/actions/move/behaviors/layoutDrop.js.map +1 -1
  544. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +29 -10
  545. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js.map +1 -1
  546. package/dist/interactions/actions/move/behaviors/snapToContainer.js +42 -6
  547. package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -1
  548. package/dist/interactions/actions/move/capture.js +4 -8
  549. package/dist/interactions/actions/move/capture.js.map +1 -1
  550. package/dist/interactions/actions/move/commit/index.js.map +1 -1
  551. package/dist/interactions/actions/move/commit/layoutDrop.js +4 -3
  552. package/dist/interactions/actions/move/commit/layoutDrop.js.map +1 -1
  553. package/dist/interactions/actions/move/commit/layoutRelease.js +15 -9
  554. package/dist/interactions/actions/move/commit/layoutRelease.js.map +1 -1
  555. package/dist/interactions/actions/move/commit/reparent.js +19 -13
  556. package/dist/interactions/actions/move/commit/reparent.js.map +1 -1
  557. package/dist/interactions/actions/move/delta.js +51 -5
  558. package/dist/interactions/actions/move/delta.js.map +1 -1
  559. package/dist/interactions/actions/move/frame.js +8 -4
  560. package/dist/interactions/actions/move/frame.js.map +1 -1
  561. package/dist/interactions/actions/move/layout/container.js +19 -9
  562. package/dist/interactions/actions/move/layout/container.js.map +1 -1
  563. package/dist/interactions/actions/move/layout/dragged.js +2 -2
  564. package/dist/interactions/actions/move/layout/dragged.js.map +1 -1
  565. package/dist/interactions/actions/move/layout/dropPass.js +36 -18
  566. package/dist/interactions/actions/move/layout/dropPass.js.map +1 -1
  567. package/dist/interactions/actions/move/layout/exits.js +2 -2
  568. package/dist/interactions/actions/move/layout/exits.js.map +1 -1
  569. package/dist/interactions/actions/move/layout/glide.js +5 -5
  570. package/dist/interactions/actions/move/layout/glide.js.map +1 -1
  571. package/dist/interactions/actions/move/layout/view.js +55 -0
  572. package/dist/interactions/actions/move/layout/view.js.map +1 -0
  573. package/dist/interactions/actions/move/refusal.js +52 -0
  574. package/dist/interactions/actions/move/refusal.js.map +1 -0
  575. package/dist/interactions/actions/move/session.js +9 -8
  576. package/dist/interactions/actions/move/session.js.map +1 -1
  577. package/dist/interactions/actions/move/translate.js +10 -4
  578. package/dist/interactions/actions/move/translate.js.map +1 -1
  579. package/dist/interactions/actions/moveNodes.js +21 -5
  580. package/dist/interactions/actions/moveNodes.js.map +1 -1
  581. package/dist/interactions/actions/pathCommands/pathNodes.js +3 -3
  582. package/dist/interactions/actions/pathCommands/pathNodes.js.map +1 -1
  583. package/dist/interactions/actions/planeInput.js +14 -13
  584. package/dist/interactions/actions/planeInput.js.map +1 -1
  585. package/dist/interactions/actions/poseFrame.js +21 -8
  586. package/dist/interactions/actions/poseFrame.js.map +1 -1
  587. package/dist/interactions/actions/resize/action.js +1 -1
  588. package/dist/interactions/actions/resize/action.js.map +1 -1
  589. package/dist/interactions/actions/resize/aspect.js +1 -1
  590. package/dist/interactions/actions/resize/aspect.js.map +1 -1
  591. package/dist/interactions/actions/resize/commit.js +10 -1
  592. package/dist/interactions/actions/resize/commit.js.map +1 -1
  593. package/dist/interactions/actions/resize/frame.js +3 -2
  594. package/dist/interactions/actions/resize/frame.js.map +1 -1
  595. package/dist/interactions/actions/resize/held.js +44 -0
  596. package/dist/interactions/actions/resize/held.js.map +1 -0
  597. package/dist/interactions/actions/resize/session.js +3 -1
  598. package/dist/interactions/actions/resize/session.js.map +1 -1
  599. package/dist/interactions/actions/resolveOverlays.js +9 -0
  600. package/dist/interactions/actions/resolveOverlays.js.map +1 -1
  601. package/dist/interactions/actions/resolvePreviews.js +23 -7
  602. package/dist/interactions/actions/resolvePreviews.js.map +1 -1
  603. package/dist/interactions/actions/rotate/action.js +1 -1
  604. package/dist/interactions/actions/rotate/action.js.map +1 -1
  605. package/dist/interactions/actions/rotate/frame.js +1 -1
  606. package/dist/interactions/actions/rotate/frame.js.map +1 -1
  607. package/dist/interactions/actions/rotate/session.js +2 -2
  608. package/dist/interactions/actions/rotate/session.js.map +1 -1
  609. package/dist/interactions/actions/selectionSubtree.js +2 -4
  610. package/dist/interactions/actions/selectionSubtree.js.map +1 -1
  611. package/dist/interactions/actions/spatialReference.js +4 -9
  612. package/dist/interactions/actions/spatialReference.js.map +1 -1
  613. package/dist/interactions/gestures/dragRadial/dragRadial.js.map +1 -1
  614. package/dist/interactions/gestures/dragRect/dragRect.js.map +1 -1
  615. package/dist/kitSettingsSchema.js +2 -2
  616. package/dist/kitSettingsSchema.js.map +1 -1
  617. package/dist/{math-C_elShP_.d.ts → math-B_unOnF4.d.ts} +2 -2
  618. package/dist/math.d.ts +3 -3
  619. package/dist/move.d.ts +6 -6
  620. package/dist/{options-ClEm3SEl.d.ts → options-DAjkhbcs.d.ts} +5 -5
  621. package/dist/{poseDescriptor-DN2yfnq_.d.ts → poseDescriptor-CvSxVhCd.d.ts} +17 -4
  622. package/dist/resize.d.ts +6 -6
  623. package/dist/style.css +14 -0
  624. package/dist/test-seams.d.ts +11 -15
  625. package/dist/test-seams.js +1 -1
  626. package/dist/tools/builtin/eyedropper/useEyedropperTool.js +3 -6
  627. package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
  628. package/dist/tools/builtin/line/useLineTool.js.map +1 -1
  629. package/dist/tools/builtin/measure/useMeasureTool.js +2 -2
  630. package/dist/tools/builtin/measure/useMeasureTool.js.map +1 -1
  631. package/dist/tools/builtin/pen/penHandle.js +2 -2
  632. package/dist/tools/builtin/pen/penHandle.js.map +1 -1
  633. package/dist/tools/builtin/pen/usePenTool.js +13 -19
  634. package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
  635. package/dist/tools/builtin/polygon/usePolygonTool.js +1 -1
  636. package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
  637. package/dist/tools/builtin/select/groupEntry.js +1 -1
  638. package/dist/tools/builtin/select/groupEntry.js.map +1 -1
  639. package/dist/tools/builtin/select/selectionContributions.js +1 -1
  640. package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
  641. package/dist/tools/builtin/select/useSelectTool.js +7 -7
  642. package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
  643. package/dist/tools/builtin/slice/useSliceTool.js +5 -8
  644. package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
  645. package/dist/tools/builtin/star/useStarTool.js +1 -1
  646. package/dist/tools/builtin/star/useStarTool.js.map +1 -1
  647. package/dist/tools/index.js +2 -1
  648. package/dist/{types-49uYJN3j.d.ts → types-A_sNJYRd.d.ts} +8 -0
  649. package/dist/{types-BEdRIhNc.d.ts → types-DW14eu9B.d.ts} +131 -36
  650. package/dist/{types-p2alu-R1.d.ts → types-VCtfchp-.d.ts} +4 -6
  651. package/dist/util/color.js +12 -14
  652. package/dist/util/color.js.map +1 -1
  653. package/dist/version.js +1 -1
  654. package/package.json +25 -24
  655. package/dist/canvas/poseCascade.js +0 -65
  656. package/dist/canvas/poseCascade.js.map +0 -1
  657. package/dist/features/chrome-caps/buildChromeCtx.js.map +0 -1
  658. package/dist/features/chrome-caps/conditions.js.map +0 -1
  659. package/dist/features/chrome-caps/defaults.js.map +0 -1
  660. package/dist/features/chrome-caps/resolve.js.map +0 -1
  661. package/dist/features/chrome-caps/useChromeCaps.js.map +0 -1
  662. package/dist/features/chrome-caps/useHoverTracking.js.map +0 -1
  663. package/dist/features/ingestion/contentHandlers.js.map +0 -1
  664. package/dist/features/ingestion/imageHandler.js.map +0 -1
  665. package/dist/features/ingestion/openFilePicker.js.map +0 -1
  666. package/dist/features/ingestion/placement.js.map +0 -1
  667. package/dist/features/ingestion/registerKitHandlers.js +0 -43
  668. package/dist/features/ingestion/registerKitHandlers.js.map +0 -1
  669. package/dist/features/ingestion/svgHandler.js.map +0 -1
  670. package/dist/features/ingestion/textHandler.js.map +0 -1
  671. package/dist/features/ingestion/useCanvasIngestion.js.map +0 -1
  672. package/dist/features/ingestion/weaselJsonHandler.js.map +0 -1
  673. package/dist/features/longPress/longPressFeedback.js.map +0 -1
  674. package/dist/features/measure/actionIds.js.map +0 -1
  675. package/dist/features/measure/measureCommands.js.map +0 -1
  676. package/dist/features/measure/measureContribution.js.map +0 -1
  677. package/dist/features/measure/measureEdits.js.map +0 -1
  678. package/dist/features/measure/measureGestures.js.map +0 -1
  679. package/dist/features/measure/measureHit.js.map +0 -1
  680. package/dist/features/measure/measureLayer.js.map +0 -1
  681. package/dist/features/measure/measurement.js.map +0 -1
  682. package/dist/features/measure/measurements.js.map +0 -1
  683. package/dist/features/modes/modeLayers.js.map +0 -1
  684. package/dist/features/modes/modeTriggers.js.map +0 -1
  685. package/dist/features/pathEffects/effectSources.js.map +0 -1
  686. package/dist/features/pathEffects/index.js.map +0 -1
  687. package/dist/features/pathEffects/readSource.js.map +0 -1
  688. package/dist/features/pathEffects/textItems.js.map +0 -1
  689. package/dist/features/pathEffects/useEffectSourcesLayer.js.map +0 -1
  690. package/dist/features/paths/anchorData.js.map +0 -1
  691. package/dist/features/paths/anchorMarkers.js.map +0 -1
  692. package/dist/features/paths/editablePath.js.map +0 -1
  693. package/dist/features/paths/originProjection.js.map +0 -1
  694. package/dist/features/paths/pathEditExtension.js.map +0 -1
  695. package/dist/features/paths/pathEditState.js.map +0 -1
  696. package/dist/features/paths/pathEditingOverlayLayer.js.map +0 -1
  697. package/dist/features/paths/pathLayer.js.map +0 -1
  698. package/dist/features/paths/pathRepresentation.js.map +0 -1
  699. package/dist/features/paths/pathSnap/glyphs.js.map +0 -1
  700. package/dist/features/paths/pathSnap/pathSnapSource.js.map +0 -1
  701. package/dist/features/paths/pathSnap/sceneIndex.js.map +0 -1
  702. package/dist/features/paths/pathSnap/snapGeometry.js.map +0 -1
  703. package/dist/features/paths/penPreviewLayer.js.map +0 -1
  704. package/dist/features/paths/shapeGenerator.js.map +0 -1
  705. package/dist/features/paths/strokeOutline.js.map +0 -1
  706. package/dist/features/paths/useAnchorFields.js.map +0 -1
  707. package/dist/features/paths/usePathEdit.js.map +0 -1
  708. package/dist/features/poseRun/usePoseRun.js.map +0 -1
  709. package/dist/features/selection/enteredGroupFrame.js.map +0 -1
  710. package/dist/features/selection/enteredGroupScope.js.map +0 -1
  711. package/dist/features/selection/handleCommands.js.map +0 -1
  712. package/dist/features/selection/overlay.js.map +0 -1
  713. package/dist/features/selection/selectionPose.js.map +0 -1
  714. package/dist/features/snap/angle2d.js.map +0 -1
  715. package/dist/features/snap/debugCandidates.js.map +0 -1
  716. package/dist/features/snap/gather.js.map +0 -1
  717. package/dist/features/snap/inputSubspace.js.map +0 -1
  718. package/dist/features/snap/lazySession.js.map +0 -1
  719. package/dist/features/snap/marks.js.map +0 -1
  720. package/dist/features/snap/outcomeStore.js.map +0 -1
  721. package/dist/features/snap/pointSnap.js.map +0 -1
  722. package/dist/features/snap/probes2d.js.map +0 -1
  723. package/dist/features/snap/readoutDraw.js.map +0 -1
  724. package/dist/features/snap/readoutLayer.js.map +0 -1
  725. package/dist/features/snap/registry.js.map +0 -1
  726. package/dist/features/snap/resizeBox.js.map +0 -1
  727. package/dist/features/snap/roles.js.map +0 -1
  728. package/dist/features/snap/rotationSource.js.map +0 -1
  729. package/dist/features/snap/sceneReads.js.map +0 -1
  730. package/dist/features/snap/sceneSession2d.js.map +0 -1
  731. package/dist/features/snap/screen.js.map +0 -1
  732. package/dist/features/snap/session2d.js.map +0 -1
  733. package/dist/features/snap/spanSnap.js.map +0 -1
  734. package/dist/features/snap/stepAngles.js.map +0 -1
  735. package/dist/features/text/editingDrawOne.js.map +0 -1
  736. package/dist/features/text/sceneTextDrafts.js.map +0 -1
  737. package/dist/features/text/textHitAt.js.map +0 -1
  738. package/dist/features/text/textLayer.js.map +0 -1
  739. package/dist/features/text/useSceneTextEdit.js.map +0 -1
  740. package/dist/features/viewports/aim.js.map +0 -1
  741. package/dist/features/viewports/viewMarker.js.map +0 -1
  742. package/dist/features/viewports/viewMarkerDrag.js.map +0 -1
  743. package/dist/features/viewports/viewResolver.js.map +0 -1
  744. package/dist/features/viewports/viewportLayer.js.map +0 -1
  745. /package/dist/{features → domains}/chrome-caps/index.js +0 -0
@@ -6,20 +6,20 @@ import { IconRef } from '@weasel-js/icons';
6
6
  import { PaintDrawKind, DrawCommand, Effect, CompositeOp, BlendFactors } from '@weasel-js/renderer';
7
7
  import * as _weasel_js_routing_react from '@weasel-js/routing/react';
8
8
  import * as _weasel_js_geom from '@weasel-js/geom';
9
- import { FramedBox, View, Path, Affine, Rect, Scale2, PolygonPath, PathFillRule, AnchorSet, PointOrigin } from '@weasel-js/geom';
10
- import { I as InheritedPaint, S as Scene, R as RectPose } from './types-BEdRIhNc.js';
9
+ import { FramedBox, View, Path, Affine, Rect, Scale2, PolygonPath, Point, PathFillRule, AnchorSet, PointOrigin } from '@weasel-js/geom';
10
+ import { I as InheritedPaint, S as Scene, R as RectPose } from './types-DW14eu9B.js';
11
11
  import { Op, History } from '@weasel-js/history';
12
- import { NodeId, ModifierState, OverlayRole, ResizeAnchor, ActionDeps, OngoingHandle, OngoingOverlay, SelectionApi, IngestItem, Point2, DragSample, DebugSink, LongPressState } from '@weasel-js/routing';
12
+ import { NodeId, ModifierState, OverlayRole, WorldPoint, ResizeAnchor, ActionDeps, OngoingHandle, OngoingOverlay, IngestItem, SelectionApi, Point2, DragSample, DebugSink, LongPressState } from '@weasel-js/routing';
13
13
  import { TextNodeSource, TextOutlinesError, TextStyle, StyledRun, TextVerticalAlign } from '@weasel-js/text';
14
14
  import { CursorSpec } from '@weasel-js/cursor';
15
15
  import { ClaimableGesture } from '@weasel-js/gestures';
16
16
  import { SnapTier, ProbeRole } from '@weasel-js/geom/nd';
17
- import { a as PlaneMap, L as LayoutStrategy, b as LayoutDropTargetMode, R as ReflowTransition } from './types-49uYJN3j.js';
17
+ import { a as PlaneMap, L as LayoutStrategy, b as LayoutDropTargetMode, R as ReflowTransition } from './types-A_sNJYRd.js';
18
18
  import { O as OriginProjection } from './originProjection-gY0jb4Wb.js';
19
19
  import { EasingSpec, InterpolatorFactory, Target, Animator, TargetAxes } from '@weasel-js/animator';
20
- import { I as InsertAdapter, P as PasteOmission, R as RegionPickView } from './types-p2alu-R1.js';
21
- import { B as BoundsConstraint } from './clone-qb2e1F5p.js';
22
- import { P as PoseDescriptor } from './poseDescriptor-DN2yfnq_.js';
20
+ import { I as InsertAdapter, P as PasteOmission, R as RegionPickView } from './types-VCtfchp-.js';
21
+ import { B as BoundsConstraint } from './clone-Bz4iqGfE.js';
22
+ import { P as PoseDescriptor } from './poseDescriptor-CvSxVhCd.js';
23
23
 
24
24
  /** Pixel dimensions of the canvas viewport. */
25
25
  interface ViewportDims {
@@ -64,11 +64,11 @@ declare function fitViewToBounds(bounds: FramedBox, viewportDims: ViewportDims,
64
64
  * `Paint`'s discriminant, open on the string the way `ChromeId` is: the
65
65
  * kinds the kit ships, plus whatever a consumer registers.
66
66
  */
67
- type PaintKind = 'solid' | 'linear-gradient' | 'radial-gradient' | 'conic-gradient' | TileKind | 'texture' | (string & {});
67
+ type PaintKind = 'solid' | 'linear-gradient' | 'radial-gradient' | 'conic-gradient' | TileKind | 'image' | 'texture' | (string & {});
68
68
  /**
69
69
  * A set of kinds an editor offers as one choice. Kinds sharing a family show
70
70
  * as a single segment in a kind bar, named by the family, and the member is
71
- * picked inside that segment's body. The built-in tiles and `texture` are the
71
+ * picked inside that segment's body. The built-in tiles, `image` and `texture` are the
72
72
  * `patternFamily`.
73
73
  */
74
74
  interface PaintKindFamily {
@@ -149,7 +149,7 @@ declare function asPaint<T extends {
149
149
  * GL renderer and its serialize slot lives in `@weasel-js/svg`.
150
150
  */
151
151
 
152
- /** The family the built-in tiles and `texture` are offered under. A consumer's
152
+ /** The family the built-in tiles, `image` and `texture` are offered under. A consumer's
153
153
  * own pattern kind joins it by naming this as its `family`. */
154
154
  declare const patternFamily: PaintKindFamily;
155
155
  /** A tile paint seeded from a color. `units: 'bounds'` anchors the tile to the
@@ -519,6 +519,10 @@ interface Affordance {
519
519
  /** This affordance's interactive regions. Each lives in some target id's local frame (or
520
520
  * the world frame when `targetId` is `null`). `[]` means no chrome for this state. */
521
521
  regions(state: ChromeState): readonly AffordanceRegion[];
522
+ /** The regions a press at world `(wx, wy)` can hit, in the order `regions` lists them: a hit
523
+ * test reads these in place of `regions`, so one that leaves out a region the point is in
524
+ * changes which region wins. For an affordance with many regions, narrowed by an index. */
525
+ regionsAt?(state: ChromeState, wx: number, wy: number, view: View): readonly AffordanceRegion[];
522
526
  /** Optional non-interactive decoration (e.g., a leader line from a bounds edge to a
523
527
  * handle). Receives raw state + view because it may live outside any single target's
524
528
  * local frame. */
@@ -778,9 +782,10 @@ interface LayerGroup {
778
782
  * When `drawLayers` asks the renderer to keep a layer's pixels between frames
779
783
  * (`GroupDrawCommand.retain`) rather than submit its commands again.
780
784
  *
781
- * A layer is retained once its `deps` have held for a frame, the view has held
782
- * since the frame before (for a world-space layer, whose pixels move with
783
- * it), and it holds at least `minCommands` drawing commands. A layer changing
785
+ * A layer is retained once its `deps` have held for a frame, the view's zoom
786
+ * has held since the frame before (for a world-space layer, whose pixels move
787
+ * with it; the renderer moves a kept surface with a pan where it can), and it
788
+ * holds at least `minCommands` drawing commands. A layer changing
784
789
  * every frame is never retained: drawing it into its surface and compositing
785
790
  * that costs more than drawing it.
786
791
  */
@@ -805,11 +810,17 @@ declare function subscribeToSources(sources: readonly {
805
810
  subscribe?: RedrawSource['subscribe'];
806
811
  }[])): RedrawSource['subscribe'];
807
812
 
808
- /** Canvas size in CSS pixels, so layers don't have to know about DPR. */
813
+ /** Canvas size in CSS pixels. */
809
814
  interface Dims {
810
815
  width: number;
811
816
  height: number;
812
817
  }
818
+ /** What a layer draws into: its size, and the device pixels to the CSS pixel
819
+ * the frame is painted at, which is what an effect's reach is measured in. */
820
+ interface LayerDims extends Dims {
821
+ dpr: number;
822
+ }
823
+
813
824
  /**
814
825
  * What a layer's `draw` threw, and which layer threw it. A throw that escaped
815
826
  * the frame loop would take the whole frame with it, every other layer
@@ -846,7 +857,7 @@ interface RenderLayer<TData> {
846
857
  * Emit a DrawCommand tree, in the coordinates `space` names. A world-space
847
858
  * layer must NOT apply the view transform itself.
848
859
  */
849
- draw: (data: TData, view: View, dims: Dims) => DrawCommand[];
860
+ draw: (data: TData, view: View, dims: LayerDims) => DrawCommand[];
850
861
  /**
851
862
  * Optional cache key. When present and a `LayerCommandCache` is supplied to
852
863
  * `drawLayers`, the layer's previous `DrawCommand[]` is reused as long as
@@ -861,7 +872,7 @@ interface RenderLayer<TData> {
861
872
  * the way world-space layers are** (see `space` below) — include them in
862
873
  * `deps` if `draw` reads them.
863
874
  */
864
- deps?: (data: TData, view: View, dims: Dims) => readonly unknown[];
875
+ deps?: (data: TData, view: View, dims: LayerDims) => readonly unknown[];
865
876
  /** Whether the layer is shown when no explicit visibility entry exists.
866
877
  * Defaults to `true` when absent. */
867
878
  defaultVisible?: boolean;
@@ -948,7 +959,7 @@ interface LayerDrawSpan {
948
959
  * layer drawn. `retain` decides which unchanged layers the renderer keeps
949
960
  * as pixels between frames; `false` keeps none.
950
961
  */
951
- declare function drawLayers<TData>(layers: RenderLayer<TData>[], data: TData, visibility: Record<string, boolean>, order: string[] | undefined, view: View | undefined, dims: Dims, cache?: LayerCommandCache, onLayerError?: (failure: LayerDrawFailure) => void, groups?: readonly LayerGroup[], spans?: LayerDrawSpan[], retain?: LayerRetainPolicy | false): DrawCommand[];
962
+ declare function drawLayers<TData>(layers: RenderLayer<TData>[], data: TData, visibility: Record<string, boolean>, order: string[] | undefined, view: View | undefined, dims: LayerDims, cache?: LayerCommandCache, onLayerError?: (failure: LayerDrawFailure) => void, groups?: readonly LayerGroup[], spans?: LayerDrawSpan[], retain?: LayerRetainPolicy | false): DrawCommand[];
952
963
  /**
953
964
  * Resolve one layer's visibility: `alwaysOn` wins, then an explicit entry in
954
965
  * `visibility`, then `defaultVisible`, defaulting to shown.
@@ -980,7 +991,7 @@ declare function paintedLayers<TData>(layers: readonly RenderLayer<TData>[], vis
980
991
  * layer it was. The layer's cache entry goes with it, so the next frame is a
981
992
  * real re-attempt.
982
993
  */
983
- declare function drawOneLayer<TData>(layer: RenderLayer<TData>, data: TData, view: View, dims: Dims, cache?: LayerCommandCache, onLayerError?: (failure: LayerDrawFailure) => void): DrawCommand[];
994
+ declare function drawOneLayer<TData>(layer: RenderLayer<TData>, data: TData, view: View, dims: LayerDims, cache?: LayerCommandCache, onLayerError?: (failure: LayerDrawFailure) => void): DrawCommand[];
984
995
  /** Whether `b` matches `a` entry for entry under `Object.is` — how
985
996
  * `RenderLayer.deps` is compared, and any cache keyed the same way. */
986
997
  declare function depsUnchanged(a: readonly unknown[], b: readonly unknown[]): boolean;
@@ -1107,16 +1118,12 @@ interface PreviewPathsDep {
1107
1118
 
1108
1119
  /** The `snap` dep: what a drawn or dragged point locks to. */
1109
1120
 
1110
- type Point$4 = {
1111
- x: number;
1112
- y: number;
1113
- };
1114
1121
  /** Geometry a gesture brings to snap to that is in no scene node: what stays
1115
1122
  * put of a path whose anchors it is dragging. World coords. */
1116
1123
  interface SnapGeometry {
1117
1124
  paths?: readonly Path[];
1118
1125
  /** Points to snap to as anchors. */
1119
- anchors?: readonly Point$4[];
1126
+ anchors?: readonly WorldPoint[];
1120
1127
  }
1121
1128
  /** What builds a gesture's input subspace while `snap.constrain` is held:
1122
1129
  * an angle step in radians about `origin` (a rotate's every multiple of
@@ -1129,13 +1136,13 @@ type SnapConstrain = {
1129
1136
  interface SnapResizeBox {
1130
1137
  bounds: FramedBox;
1131
1138
  /** Its frame into ctx coordinates, an affine map. Default: the identity. */
1132
- toWorld?: (p: Point$4) => Point$4;
1139
+ toWorld?: (p: WorldPoint) => WorldPoint;
1133
1140
  }
1134
1141
  /** What a gesture tells the snap dep when it starts. Points are ctx
1135
1142
  * coordinates: world in 2D. */
1136
1143
  interface SnapBegin {
1137
1144
  gesture: SnapGesture;
1138
- press: Point$4;
1145
+ press: WorldPoint;
1139
1146
  /** The subject, whose geometry offers no targets. */
1140
1147
  ids?: readonly string[];
1141
1148
  /** The container a subject not yet in the scene lands in: an insert's
@@ -1147,7 +1154,7 @@ interface SnapBegin {
1147
1154
  * axis-aligned. */
1148
1155
  box?: SnapResizeBox;
1149
1156
  /** Rotate, handle: the point the angle turns about. Default `press`. */
1150
- pivot?: Point$4;
1157
+ pivot?: WorldPoint;
1151
1158
  /** Rotate: the subject's angle at press, radians. Default 0. */
1152
1159
  theta0?: number;
1153
1160
  /** Angle gestures: the reach as an angle, radians, in place of screen px
@@ -1158,7 +1165,7 @@ interface SnapBegin {
1158
1165
  * start, the previous anchor, the anchor a handle pulls from. Tangent and
1159
1166
  * perpendicular targets are measured from it, a `constrain` step turns
1160
1167
  * about it, and no point target on it is offered. */
1161
- origin?: Point$4;
1168
+ origin?: WorldPoint;
1162
1169
  also?: SnapGeometry;
1163
1170
  constrain?: SnapConstrain;
1164
1171
  /** How the camera's world maps into the parallax plane the gesture's points
@@ -1183,7 +1190,7 @@ interface SnapMods {
1183
1190
  }
1184
1191
  /** Where a session put one frame's point, and the marks to draw for it. */
1185
1192
  interface SnapOutcome {
1186
- point: Point$4;
1193
+ point: WorldPoint;
1187
1194
  /** Whether some target holds the point. */
1188
1195
  held: boolean;
1189
1196
  marks: readonly SnapMark[];
@@ -1191,7 +1198,7 @@ interface SnapOutcome {
1191
1198
  /** One gesture's snapping, from press to release. */
1192
1199
  interface SnapSession {
1193
1200
  /** Where `p` lands. */
1194
- at(p: Point$4, mods: SnapMods): SnapOutcome;
1201
+ at(p: WorldPoint, mods: SnapMods): SnapOutcome;
1195
1202
  /** Where the angle `theta` (radians, about `pivot`) lands. */
1196
1203
  angle(theta: number, mods: SnapMods): {
1197
1204
  theta: number;
@@ -1213,20 +1220,23 @@ interface SnapDep {
1213
1220
  /** The snap source contract: what a target set offers a snap session, and
1214
1221
  * the marks a session draws for what it met. */
1215
1222
 
1216
- type Point$3 = {
1217
- x: number;
1218
- y: number;
1219
- };
1220
1223
  /** The positions a target allows: `at` plus any combination of `dirs`. No
1221
1224
  * dirs is a point, one a line, two a plane. */
1222
- interface Locus<P = Point$3> {
1225
+ interface Locus<P = Point> {
1223
1226
  at: P;
1224
1227
  dirs: readonly P[];
1225
1228
  /** One interval per dir, in multiples of it: a segment or a bounded face. */
1226
1229
  span?: readonly (readonly [number, number])[];
1227
1230
  }
1231
+ /** An affine map between a frame and world, in a host's point type. */
1232
+ interface SnapFrame<P = Point> {
1233
+ /** A point given in the frame, in world. */
1234
+ toWorld(p: P): P;
1235
+ /** A world point in the frame; null where nothing maps back. */
1236
+ toLocal(p: P): P | null;
1237
+ }
1228
1238
  /** One locus a source offers one probe. */
1229
- interface SourceCandidate<P = Point$3> {
1239
+ interface SourceCandidate<P = Point> {
1230
1240
  /** The id of a probe the source was offered. */
1231
1241
  probe: string;
1232
1242
  locus: Locus<P>;
@@ -1247,13 +1257,13 @@ interface SnapEdges {
1247
1257
  y: SnapEdge;
1248
1258
  }
1249
1259
  /** A point on the subject that should land on a locus. */
1250
- interface SnapProbeAt<P = Point$3> {
1260
+ interface SnapProbeAt<P = Point> {
1251
1261
  id: string;
1252
1262
  at: P;
1253
1263
  role: ProbeRole;
1254
1264
  }
1255
1265
  /** What a session asks a source for, once per frame. */
1256
- interface SnapCollect<P = Point$3> {
1266
+ interface SnapCollect<P = Point> {
1257
1267
  gesture: SnapGesture;
1258
1268
  /** The probes this source matches, where the unsnapped gesture puts them. */
1259
1269
  probes: readonly SnapProbeAt<P>[];
@@ -1291,6 +1301,11 @@ interface SnapCollect<P = Point$3> {
1291
1301
  reachPx: number;
1292
1302
  /** Absent in a host with no 2D scene. */
1293
1303
  scene?: Scene<unknown, string, unknown>;
1304
+ /** `id`'s own frame: the coordinates its box is laid out in, from its
1305
+ * corner along its own axes, turned and transformed as it is drawn. A
1306
+ * container whose pose is a frame stores its children's poses in it.
1307
+ * Undefined for a node with no box; absent in a host that has none. */
1308
+ frameOf?(id: string): SnapFrame<P> | undefined;
1294
1309
  /** How the camera's world maps into the parallax plane the probes are in.
1295
1310
  * Absent in the camera's own world. A target the camera draws, a grid or
1296
1311
  * a ruler guide, is carried through it. */
@@ -1299,10 +1314,10 @@ interface SnapCollect<P = Point$3> {
1299
1314
  /** What a rotate or handle drag asks a source for, once per frame. Angles
1300
1315
  * are radians about `pivot`, in the frame `rotationOf` reads. */
1301
1316
  interface AngleCollect {
1302
- pivot: Point$3;
1317
+ pivot: WorldPoint;
1303
1318
  /** Where the gesture was pressed: its distance from `pivot` is the radius
1304
1319
  * the default marks are drawn at. */
1305
- press: Point$3;
1320
+ press: WorldPoint;
1306
1321
  /** The angle at press. */
1307
1322
  theta0: number;
1308
1323
  /** The unsnapped angle now. */
@@ -1330,7 +1345,7 @@ interface AngleCandidate {
1330
1345
  mark?: SnapMarks;
1331
1346
  }
1332
1347
  /** A set of snap targets. */
1333
- interface SnapSource<P = Point$3> {
1348
+ interface SnapSource<P = Point> {
1334
1349
  id: string;
1335
1350
  /** Default `'target'`. A fallback never displaces a target in reach. */
1336
1351
  tier?: SnapTier;
@@ -1345,9 +1360,9 @@ interface SnapSource<P = Point$3> {
1345
1360
  angles?(q: AngleCollect): Iterable<AngleCandidate>;
1346
1361
  }
1347
1362
  /** One mark, or several, for one candidate. */
1348
- type SnapMarks<P = Point$3> = SnapMark<P> | readonly SnapMark<P>[];
1363
+ type SnapMarks<P = Point> = SnapMark<P> | readonly SnapMark<P>[];
1349
1364
  /** What a session draws for a candidate the result meets. World coords. */
1350
- type SnapMark<P = Point$3> = {
1365
+ type SnapMark<P = Point> = {
1351
1366
  kind: 'point';
1352
1367
  at: P;
1353
1368
  glyph: string;
@@ -1408,18 +1423,14 @@ interface SnapReadoutStyle {
1408
1423
  lineWidth?: number;
1409
1424
  }
1410
1425
 
1411
- type Point$2 = {
1412
- x: number;
1413
- y: number;
1414
- };
1415
1426
  /** The marks of the snap in flight, for the readout to draw. */
1416
- interface SnapOutcomeStore<P = Point$2> {
1427
+ interface SnapOutcomeStore<P = Point> {
1417
1428
  get(): readonly SnapMark<P>[];
1418
1429
  set(marks: readonly SnapMark<P>[]): void;
1419
1430
  subscribe(listener: () => void): () => void;
1420
1431
  }
1421
1432
  /** An empty outcome store, which notifies only when the marks change. */
1422
- declare function createSnapOutcomeStore<P = Point$2>(): SnapOutcomeStore<P>;
1433
+ declare function createSnapOutcomeStore<P = Point>(): SnapOutcomeStore<P>;
1423
1434
 
1424
1435
  /** The `snapReadout` dep: where marks go to be drawn. */
1425
1436
  interface SnapReadoutDep {
@@ -1672,16 +1683,31 @@ interface GestureLifecycleOptions {
1672
1683
  onGestureEnd?(committed: boolean): void;
1673
1684
  }
1674
1685
 
1675
- /** Optional consumer seam: given a node and the affine `m` that a pose-transform
1686
+ /** The pose a node is stored with before one pose-transform action, and the
1687
+ * pose the action moved it to. A resize whose data took a mirror commits that
1688
+ * pose with its box normalized. */
1689
+ interface PoseChange<TPose = unknown> {
1690
+ readonly from: TPose;
1691
+ readonly to: TPose;
1692
+ }
1693
+ /** Optional consumer seam: given a node and the transform that a pose-transform
1676
1694
  * action applied to the node's POSE, return updated `data` with the node's
1677
- * data-held geometry transformed by `m`, or `null` if this node has no
1678
- * data-held geometry (the kit leaves `data` alone). */
1679
- interface GeometryProjection {
1695
+ * data-held geometry transformed the same way, or `null` if this node has no
1696
+ * data-held geometry (the kit leaves `data` alone).
1697
+ *
1698
+ * `m` is that transform as a plane affine, in the node's stored frame and the
1699
+ * coordinates gesture points arrive in: world on a 2D canvas, screen under the
1700
+ * identity `clientToWorld` a camera-bearing host passes. A host whose poses
1701
+ * are not planar reads the transform from `change` instead, which carries the
1702
+ * stored pose before and after in the pose's own terms. For a flip of a pose
1703
+ * that is only a box, `change` holds the same box twice and only `m` says
1704
+ * which way the content mirrored. */
1705
+ interface GeometryProjection<TPose = unknown> {
1680
1706
  transform(node: {
1681
1707
  id?: string;
1682
1708
  data: unknown;
1683
- pose: unknown;
1684
- }, m: Affine): unknown | null;
1709
+ pose: TPose;
1710
+ }, m: Affine, change: PoseChange<TPose>): unknown | null;
1685
1711
  }
1686
1712
 
1687
1713
  /** What a handle drag holds fixed: its direction from the anchor, or its length. */
@@ -1720,14 +1746,10 @@ interface PathForm {
1720
1746
  readonly kind: string;
1721
1747
  readonly [field: string]: unknown;
1722
1748
  }
1723
- type Point$1 = {
1724
- x: number;
1725
- y: number;
1726
- };
1727
1749
  /** The outline of an anchor's marker, in screen space: `size` px across at
1728
1750
  * `at`, with the anchor's neighbors along its subpath, null past an open
1729
1751
  * end. */
1730
- type AnchorMarkerShape = (at: Point$1, size: number, prev: Point$1 | null, next: Point$1 | null) => PolygonPath;
1752
+ type AnchorMarkerShape = (at: Point, size: number, prev: Point | null, next: Point | null) => PolygonPath;
1731
1753
  /** How path edit reads and writes one kind of {@link PathForm}. */
1732
1754
  interface PathRepresentation {
1733
1755
  /** The `kind` of the forms it reads. */
@@ -1756,7 +1778,7 @@ interface PathRepresentation {
1756
1778
  * representation that has this takes every segment press, in place of
1757
1779
  * Bend segment.
1758
1780
  */
1759
- segmentPress?(deps: ActionDeps, at: Point$1): (() => OngoingHandle) | null;
1781
+ segmentPress?(deps: ActionDeps, at: WorldPoint): (() => OngoingHandle) | null;
1760
1782
  }
1761
1783
 
1762
1784
  /**
@@ -1826,10 +1848,6 @@ interface PathEditPart {
1826
1848
  };
1827
1849
  };
1828
1850
  }
1829
- type Point = {
1830
- x: number;
1831
- y: number;
1832
- };
1833
1851
  /** An anchor or handle drag on the open path, as it starts. */
1834
1852
  interface PathEditDragStart extends Omit<PathEditTarget, 'node'> {
1835
1853
  /** The node's committed pose and data; null when it cannot be read. */
@@ -1867,7 +1885,7 @@ interface PathEditDrag {
1867
1885
  /** For a handle drag, where the handle goes, given `to`: where the pointer
1868
1886
  * and the locks in force put it. Extensions answer in turn, each from the
1869
1887
  * last one's answer. */
1870
- handle?(to: Point, move: PathEditHandleMove): Point;
1888
+ handle?(to: WorldPoint, move: PathEditHandleMove): WorldPoint;
1871
1889
  /** A wheel turned while the drag is in flight. Return true to claim it;
1872
1890
  * the drag then redoes its last move. */
1873
1891
  wheel?(wheel: {
@@ -2138,6 +2156,10 @@ interface IngestCtx {
2138
2156
  x: number;
2139
2157
  y: number;
2140
2158
  } | null;
2159
+ /** Every item the arrival carried, the ones other handlers took included:
2160
+ * a handler can tell that the string it was given rides beside a file.
2161
+ * Absent reads as the items the handler was handed. */
2162
+ items?: readonly IngestItem[];
2141
2163
  /** Visible canvas area in world coordinates. */
2142
2164
  viewportWorldRect(): {
2143
2165
  x: number;
@@ -2201,7 +2223,8 @@ interface ContentHandlerEntry {
2201
2223
  priority?: number;
2202
2224
  handle(items: IngestItem[], ctx: IngestCtx): void | Promise<void>;
2203
2225
  }
2204
- /** Register a content handler. Returns a disposer that removes it. */
2226
+ /** Register a content handler for every canvas on the page. Returns a disposer that removes
2227
+ * it. A handler for one canvas goes in that canvas's `ingestion.handlers` instead. */
2205
2228
  declare function registerContentHandler(entry: ContentHandlerEntry): () => void;
2206
2229
 
2207
2230
  /**
@@ -2270,6 +2293,11 @@ interface IngestionDep {
2270
2293
  /** Clipboard-paste seam for the kit weasel-JSON handler.
2271
2294
  * Live accessor, same caveat as `resolveSrc`. */
2272
2295
  clipboard?: ClipboardIngestCtx;
2296
+ /** The canvas's own content handlers and the kit's it keeps (SceneCanvas's
2297
+ * `ingestion.handlers` and `ingestion.kitHandlers`). An arrival routes
2298
+ * through these and the page-wide registry's. Absent reads as none.
2299
+ * Live accessor, same caveat as `resolveSrc`. */
2300
+ handlers?: readonly ContentHandlerEntry[];
2273
2301
  }
2274
2302
 
2275
2303
  /** The gesture an insert's bounds came from, in the same coordinates: `bounds`
@@ -2348,6 +2376,20 @@ interface InsertLive {
2348
2376
  gesture: unknown;
2349
2377
  }
2350
2378
 
2379
+ /** A no with a reason: words for the user, shown beside the pointer while a drag is over what refuses it. */
2380
+ interface DropRefusal {
2381
+ refuse: string;
2382
+ }
2383
+ /**
2384
+ * The answer to "may this land here?": `true` lands, `false` is a silent no,
2385
+ * and a {@link DropRefusal} is a no the user is told about. A drag over a
2386
+ * refusal draws its target refused and the reason beside the pointer, and a
2387
+ * release there lands nothing.
2388
+ */
2389
+ type DropVerdict = boolean | DropRefusal;
2390
+ /** The reason `verdict` gives, or `null` when it lands or says no silently. */
2391
+ declare function refusalOf(verdict: DropVerdict | undefined): string | null;
2392
+
2351
2393
  /**
2352
2394
  * Layout-strategy lookup by container id, consumed by `moveAction` to run
2353
2395
  * the drag-time reflow pass. Sourced by `<SceneCanvas>` from the layout each
@@ -2364,19 +2406,23 @@ interface LayoutDep {
2364
2406
  }
2365
2407
  /**
2366
2408
  * Whether the nodes `ids` may be dropped into the container `parent`. A move
2367
- * consults it before reparenting anything: reparent-on-drop passes over a
2368
- * refused container to the nearest one around it that admits them, and the
2369
- * layout drop treats a refused layout container as if it were not there.
2370
- * Absent, every container takes any drop.
2409
+ * consults it before reparenting anything. Where it answers `false`,
2410
+ * reparent-on-drop passes over the container to the nearest one around it
2411
+ * that admits them, and the layout drop treats a layout container as if it
2412
+ * were not there. Where it answers a `DropRefusal`, a drag over the container
2413
+ * draws it refused with the reason beside the pointer, and a release there
2414
+ * moves nothing. Absent, every container takes any drop.
2371
2415
  */
2372
- type CanDropIntoDep = (parent: string, ids: readonly string[]) => boolean;
2416
+ type CanDropIntoDep = (parent: string, ids: readonly string[]) => DropVerdict;
2373
2417
 
2374
2418
  /**
2375
2419
  * The deps behind text editing, the clipboard, and Slice.
2376
2420
  */
2377
2421
 
2378
2422
  /**
2379
- * Dep for `enterTextEditAction`.
2423
+ * Dep for `enterTextEditAction`. `<SceneCanvas>` answers it with its own
2424
+ * editor (its `textEditor` prop); a host with an editor of its own, one
2425
+ * driving character controls, publishes it instead.
2380
2426
  *
2381
2427
  * Wrap the return value of `useTextEdit` / `useSceneTextEdit` to source this
2382
2428
  * dep. The `isTextNode` predicate is optional — when absent the action fires
@@ -2413,10 +2459,7 @@ interface TextEditDep {
2413
2459
  */
2414
2460
  interface ClipboardDep {
2415
2461
  copy(): void;
2416
- paste(at?: {
2417
- worldX: number;
2418
- worldY: number;
2419
- }): void;
2462
+ paste(at?: WorldPoint): void;
2420
2463
  isEmpty(): boolean;
2421
2464
  }
2422
2465
  /**
@@ -2483,10 +2526,7 @@ type HitTestView = RegionPickView;
2483
2526
  * `exclude`. Pass moving-node roots + their descendants when the caller
2484
2527
  * wants to ignore the nodes it's manipulating.
2485
2528
  */
2486
- type NodeAtPointDep = (point: {
2487
- x: number;
2488
- y: number;
2489
- }, exclude?: Iterable<NodeId>) => NodeId | null;
2529
+ type NodeAtPointDep = (point: WorldPoint, exclude?: Iterable<NodeId>) => NodeId | null;
2490
2530
  /** What an area-selecting action needs: a way to ask what a region covers,
2491
2531
  * and a way to read and replace the selection. */
2492
2532
  interface AreaSelectDep {
@@ -2514,10 +2554,7 @@ interface LassoSelectDep {
2514
2554
  * Optional — when absent, `lassoSelectAction` falls back to AABB via
2515
2555
  * `hitTestArea`.
2516
2556
  */
2517
- hitTestLasso?(polygon: ReadonlyArray<{
2518
- x: number;
2519
- y: number;
2520
- }>, mode: 'centers' | 'intersect' | 'enclosed', view?: HitTestView): string[];
2557
+ hitTestLasso?(polygon: ReadonlyArray<WorldPoint>, mode: 'centers' | 'intersect' | 'enclosed', view?: HitTestView): string[];
2521
2558
  /** Return ids of nodes whose AABB overlaps the given rect (fallback). */
2522
2559
  hitTestArea(bounds: {
2523
2560
  x: number;
@@ -2550,32 +2587,20 @@ type InsertExtras = {
2550
2587
  kind: 'ellipse';
2551
2588
  } | {
2552
2589
  kind: 'line';
2553
- a: {
2554
- x: number;
2555
- y: number;
2556
- };
2557
- b: {
2558
- x: number;
2559
- y: number;
2560
- };
2590
+ a: WorldPoint;
2591
+ b: WorldPoint;
2561
2592
  } | {
2562
2593
  kind: 'polygon';
2563
2594
  sides: number;
2564
2595
  rotation: number;
2565
- center?: {
2566
- x: number;
2567
- y: number;
2568
- };
2596
+ center?: WorldPoint;
2569
2597
  radius?: number;
2570
2598
  } | {
2571
2599
  kind: 'star';
2572
2600
  points: number;
2573
2601
  innerRadiusRatio: number;
2574
2602
  rotation: number;
2575
- center?: {
2576
- x: number;
2577
- y: number;
2578
- };
2603
+ center?: WorldPoint;
2579
2604
  outerRadius?: number;
2580
2605
  } | {
2581
2606
  kind: 'pencil';
@@ -2792,9 +2817,10 @@ declare module '@weasel-js/routing' {
2792
2817
  /**
2793
2818
  * Optional consumer seam for the eager-sync layer: lets pose-transform
2794
2819
  * actions (resize/move/nudge/flip — NOT rotate) ALSO rewrite a node's
2795
- * data-held geometry. Given a node and the affine `m` applied to its pose,
2796
- * `transform(node, m)` returns updated `data` (geometry mapped by `m`) or
2797
- * `null` for nodes with no data-held geometry.
2820
+ * data-held geometry. Given a node, the affine `m` applied to its pose,
2821
+ * and the pose change itself, `transform(node, m, change)` returns updated
2822
+ * `data` (geometry mapped the same way) or `null` for nodes with no
2823
+ * data-held geometry. A host whose poses are not planar reads `change`.
2798
2824
  *
2799
2825
  * Strictly opt-in: when absent (or when `transform` returns null), the kit
2800
2826
  * emits only the pose op and leaves `data` untouched. Rotate intentionally
@@ -2821,4 +2847,4 @@ declare module '@weasel-js/routing' {
2821
2847
  }
2822
2848
  }
2823
2849
 
2824
- export { type SnapProbeAt as $, type AnchorMarkerShape as A, type PaintKindEntry as B, type ContentHandlerEntry as C, type Dims as D, type EditAnchorsDep as E, type FitViewToBoundsOptions as F, type GestureLifecycleOptions as G, type HandleLocks as H, type InertiaConfig as I, type PathEditTarget as J, type FinishedEditFrame as K, type LayerHit as L, type PathSymmetryDep as M, type BooleanOpOptions as N, type BooleansAdapter as O, type PathEditMark as P, type BooleanOp as Q, type RenderLayer as R, type SnapSource as S, type TransformFollower as T, type PathPaint as U, type ViewAnimationOptions as V, type BooleanOpResult as W, type BooleanStrokes as X, type SnapMods as Y, type SourceCandidate as Z, _resetPaintKindsForTests as _, type PathEditExtension as a, type SnapEdge as a$, type SnapCollect as a0, type SnapMark as a1, type SnapDep as a2, type SnapOutcome as a3, type SnapReadoutStyle as a4, type AngleCandidate as a5, type AngleCollect as a6, type AnimateToBoundsOptions as a7, type AreaSelectDep as a8, type BooleanOpPreview as a9, type MinSize as aA, type NodeAtPointDep as aB, type OutlinePathSpec as aC, PATH_OVERLAY_ROLES as aD, type PaintKind as aE, type PaintKindEditorProps as aF, type PaintKindFamily as aG, type PaintKindLoader as aH, type PanBounds as aI, type PathEditDrag as aJ, type PathEditDragStart as aK, type PathEditFinishCtx as aL, type PathEditHandleMove as aM, type PathEditMarksCtx as aN, type PathEditOther as aO, type PathEditPart as aP, type PathEditStore as aQ, type PathForm as aR, type PathOverlay as aS, type PathOverlayOptions as aT, type PathOverlayStyle as aU, type PathRepresentation as aV, type PathTransformFinishCtx as aW, type PreviewPathsDep as aX, type ResizePolicy as aY, STICKY_DEFAULTS as aZ, type SnapBegin as a_, type BooleanPreviewPiece as aa, type CanDropIntoDep as ab, type ClipboardDep as ac, type ClipboardIngestCtx as ad, type CreateOutlinesResult as ae, type CustomPaintContext as af, DEFAULT_LAYER_RETAIN as ag, type DecayLoopConfig as ah, type FinishedPathEdit as ai, GEOMETRY_BOUND_DATA as aj, type HandleLock as ak, type HitTestView as al, type IngestCtx as am, type IngestionDep as an, type InsertDep as ao, type InsertEnds as ap, type InsertExtras as aq, type InsertIntoDep as ar, type InsertLive as as, type LassoSelectDep as at, type LayerCommandCache as au, type LayerDrawFailure as av, type LayerDrawSpan as aw, type LayerRetainPolicy as ax, type LayoutDep as ay, type Locus as az, type SnapGesture as b, type SnapEdges as b0, type SnapMarks as b1, type SnapReadoutDep as b2, type SvgUnpacker as b3, type TextEditDep as b4, type TextNodeData as b5, type TransformPreviewNode as b6, type TransientPath as b7, VIEW_ANIMATION_KEY as b8, type ViewAnimationApi as b9, registerContentHandler as bA, registerPaintKind as bB, registerPaintKindLoader as bC, seedTile as bD, stickyData as bE, stickyNodeFactory as bF, subscribeToSources as bG, switchGradientKind as bH, textBoxOf as bI, useDecayLoop as bJ, useEnteredGroup as bK, useViewAnimation as bL, useViewAnimationOn as bM, viewAxes as bN, withoutGeometryBoundData as bO, type ViewApi as ba, type ViewChannel as bb, applyBooleanOp as bc, applyCreateOutlines as bd, asPaint as be, createEnteredGroup as bf, createPathOverlay as bg, createSnapOutcomeStore as bh, depsUnchanged as bi, drawLayers as bj, drawOneLayer as bk, fitViewToBounds as bl, getPaintKind as bm, isLayerPainted as bn, isLayerVisible as bo, listGradientKinds as bp, listPaintKinds as bq, minSizeOf as br, paintKindOf as bs, paintKindRegistry as bt, paintedLayers as bu, paintsLayer as bv, paletteInsertPaint as bw, pathPaintOf as bx, patternFamily as by, previewBooleanOp as bz, type SnapConstrain as c, type SnapResizeBox as d, type SnapGeometry as e, type SnapOutcomeStore as f, type SnapSession as g, type ViewportDims as h, type RedrawSource as i, type EditAnchorsParams as j, type SliceDep as k, type StickyStyle as l, type EnteredGroupApi as m, type ChromeState as n, type LayerGroup as o, type GeometryProjection as p, type InsertNodeFactory as q, type InsertPaint as r, type SvgIngestOptions as s, type SceneCanvasSnap as t, type Affordance as u, type AffordanceRegion as v, type AffordanceBinding as w, type CommonAffordanceScratch as x, type TextOverflow as y, type CreateOutlinesAdapter as z };
2850
+ export { type SourceCandidate as $, type AnchorMarkerShape as A, type CreateOutlinesAdapter as B, type ContentHandlerEntry as C, type Dims as D, type EditAnchorsDep as E, type FitViewToBoundsOptions as F, type GestureLifecycleOptions as G, type HandleLocks as H, type InertiaConfig as I, type PaintKindEntry as J, type PathEditTarget as K, type LayerHit as L, type FinishedEditFrame as M, type PathSymmetryDep as N, type BooleanOpOptions as O, type PathEditMark as P, type BooleansAdapter as Q, type RenderLayer as R, type SnapSource as S, type TextOverflow as T, type BooleanOp as U, type ViewAnimationOptions as V, type PathPaint as W, type BooleanOpResult as X, type BooleanStrokes as Y, type SnapMods as Z, _resetPaintKindsForTests as _, type PathEditExtension as a, type PreviewPathsDep as a$, type SnapProbeAt as a0, type SnapCollect as a1, type SnapMark as a2, type SnapDep as a3, type SnapOutcome as a4, type SnapReadoutStyle as a5, type AngleCandidate as a6, type AngleCollect as a7, type AnimateToBoundsOptions as a8, type AreaSelectDep as a9, type LayerRetainPolicy as aA, type LayoutDep as aB, type Locus as aC, type MinSize as aD, type NodeAtPointDep as aE, type OutlinePathSpec as aF, PATH_OVERLAY_ROLES as aG, type PaintKind as aH, type PaintKindEditorProps as aI, type PaintKindFamily as aJ, type PaintKindLoader as aK, type PanBounds as aL, type PathEditDrag as aM, type PathEditDragStart as aN, type PathEditFinishCtx as aO, type PathEditHandleMove as aP, type PathEditMarksCtx as aQ, type PathEditOther as aR, type PathEditPart as aS, type PathEditStore as aT, type PathForm as aU, type PathOverlay as aV, type PathOverlayOptions as aW, type PathOverlayStyle as aX, type PathRepresentation as aY, type PathTransformFinishCtx as aZ, type PoseChange as a_, type BooleanOpPreview as aa, type BooleanPreviewPiece as ab, type CanDropIntoDep as ac, type ClipboardDep as ad, type ClipboardIngestCtx as ae, type CreateOutlinesResult as af, type CustomPaintContext as ag, DEFAULT_LAYER_RETAIN as ah, type DecayLoopConfig as ai, type DropRefusal as aj, type DropVerdict as ak, type FinishedPathEdit as al, GEOMETRY_BOUND_DATA as am, type HandleLock as an, type HitTestView as ao, type IngestCtx as ap, type IngestionDep as aq, type InsertDep as ar, type InsertEnds as as, type InsertExtras as at, type InsertIntoDep as au, type InsertLive as av, type LassoSelectDep as aw, type LayerCommandCache as ax, type LayerDrawFailure as ay, type LayerDrawSpan as az, type SnapGesture as b, type ResizePolicy as b0, STICKY_DEFAULTS as b1, type SnapBegin as b2, type SnapEdge as b3, type SnapEdges as b4, type SnapFrame as b5, type SnapMarks as b6, type SnapReadoutDep as b7, type SvgUnpacker as b8, type TextEditDep as b9, paintsLayer as bA, paletteInsertPaint as bB, pathPaintOf as bC, patternFamily as bD, previewBooleanOp as bE, refusalOf as bF, registerContentHandler as bG, registerPaintKind as bH, registerPaintKindLoader as bI, seedTile as bJ, stickyData as bK, stickyNodeFactory as bL, subscribeToSources as bM, switchGradientKind as bN, textBoxOf as bO, useDecayLoop as bP, useEnteredGroup as bQ, useViewAnimation as bR, useViewAnimationOn as bS, viewAxes as bT, withoutGeometryBoundData as bU, type TextNodeData as ba, type TransformPreviewNode as bb, type TransientPath as bc, VIEW_ANIMATION_KEY as bd, type ViewAnimationApi as be, type ViewApi as bf, type ViewChannel as bg, applyBooleanOp as bh, applyCreateOutlines as bi, asPaint as bj, createEnteredGroup as bk, createPathOverlay as bl, createSnapOutcomeStore as bm, depsUnchanged as bn, drawLayers as bo, drawOneLayer as bp, fitViewToBounds as bq, getPaintKind as br, isLayerPainted as bs, isLayerVisible as bt, listGradientKinds as bu, listPaintKinds as bv, minSizeOf as bw, paintKindOf as bx, paintKindRegistry as by, paintedLayers as bz, type SnapConstrain as c, type SnapResizeBox as d, type SnapGeometry as e, type SnapOutcomeStore as f, type SnapSession as g, type LayerDims as h, type ViewportDims as i, type RedrawSource as j, type EditAnchorsParams as k, type SliceDep as l, type StickyStyle as m, type EnteredGroupApi as n, type ChromeState as o, type LayerGroup as p, type TransformFollower as q, type GeometryProjection as r, type InsertNodeFactory as s, type InsertPaint as t, type SvgIngestOptions as u, type SceneCanvasSnap as v, type Affordance as w, type AffordanceRegion as x, type AffordanceBinding as y, type CommonAffordanceScratch as z };
@@ -1,8 +1,8 @@
1
1
  import { e as DebugFeature, a as DebugConfig } from './types-BN9hbdMI.js';
2
2
  import { DispatchTrace, TraceRing } from '@weasel-js/routing';
3
- import { S as Scene } from './types-BEdRIhNc.js';
3
+ import { S as Scene } from './types-DW14eu9B.js';
4
4
  import '@weasel-js/history';
5
- import './types-49uYJN3j.js';
5
+ import './types-A_sNJYRd.js';
6
6
  import '@weasel-js/geom';
7
7
  import '@weasel-js/quantity';
8
8
  import '@weasel-js/paint';
@@ -1,9 +1,9 @@
1
1
  export { DEVTOOLS_ENVELOPE, DEVTOOLS_PROTOCOL, DevtoolsActionEntry, DevtoolsArea, DevtoolsBinding, DevtoolsDepEntry, DevtoolsEnvelope, DevtoolsHistoryOp, DevtoolsHistoryRecord, DevtoolsHistorySlice, DevtoolsNodeDetail, DevtoolsNodeSummary, DevtoolsOverlays, DevtoolsRegistry, DevtoolsRequest, DevtoolsResult, DevtoolsRoot, DevtoolsRootInfo, DevtoolsRootSource, DevtoolsRootState, DevtoolsSchedule, DevtoolsToolEntry, DevtoolsTraceSlice, DevtoolsTransport, PageMessage, PageTransport, PanelMessage, PanelTransport, SerializeLimits, SerializedValue, WeaselDevtoolsHook, createDevtoolsHook, createDevtoolsRoot, createInPageTransports, createWindowPageTransport, createWindowPanelTransport, installDevtoolsHook, isDevtoolsEnvelope, serialize } from './devtools-protocol.js';
2
2
  import './types-BN9hbdMI.js';
3
3
  import '@weasel-js/routing';
4
- import './types-BEdRIhNc.js';
4
+ import './types-DW14eu9B.js';
5
5
  import '@weasel-js/history';
6
- import './types-49uYJN3j.js';
6
+ import './types-A_sNJYRd.js';
7
7
  import '@weasel-js/geom';
8
8
  import '@weasel-js/quantity';
9
9
  import '@weasel-js/paint';
@@ -1,4 +1,4 @@
1
- //#region src/features/chrome-caps/buildChromeCtx.ts
1
+ //#region src/domains/chrome-caps/buildChromeCtx.ts
2
2
  /** Gather the current canvas state into the context that chrome-visibility
3
3
  * rules are evaluated against. Rebuilt per frame. */
4
4
  function buildChromeCtx(args) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildChromeCtx.js","names":[],"sources":["../../../src/domains/chrome-caps/buildChromeCtx.ts"],"sourcesContent":["/**\n * Pure assembler for {@link ChromeCtx}. Sources are passed as plain values\n * rather than the live objects they come from, which keeps `chrome-caps`\n * from depending on React or the dispatcher's concrete type.\n */\n\nimport type { NodeId } from '../../core/scene/types';\nimport type { ModifierState } from '../../interactions/gestures/types';\nimport type { View } from '../../core/viewport/view';\nimport type { ChromeCtx } from './types';\n\n/** The pieces of live canvas state a `ChromeCtx` is assembled from. */\nexport interface BuildChromeCtxArgs {\n focused: boolean;\n selection: readonly NodeId[];\n multiActive: boolean;\n modifiers: ModifierState;\n action: { kind: string | null; id: string | null };\n hover: NodeId | null;\n view: View;\n}\n\n/** Gather the current canvas state into the context that chrome-visibility\n * rules are evaluated against. Rebuilt per frame. */\nexport function buildChromeCtx(args: BuildChromeCtxArgs): ChromeCtx {\n return {\n focused: args.focused,\n selection: args.selection,\n multiActive: args.multiActive,\n modifiers: args.modifiers,\n action: args.action,\n hover: args.hover,\n view: args.view,\n };\n}\n"],"mappings":";;;AAwBA,SAAgB,eAAe,MAAqC;CAClE,OAAO;EACL,SAAS,KAAK;EACd,WAAW,KAAK;EAChB,aAAa,KAAK;EAClB,WAAW,KAAK;EAChB,QAAQ,KAAK;EACb,OAAO,KAAK;EACZ,MAAM,KAAK;CACb;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { ALWAYS, NEVER, evaluate } from "@weasel-js/routing";
2
2
 
3
- //#region src/features/chrome-caps/conditions.ts
3
+ //#region src/domains/chrome-caps/conditions.ts
4
4
  /**
5
5
  * Promote a Rule tree to a fluent Condition.
6
6
  *