@weasel-js/core 1.14.2 → 1.15.1

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 (856) hide show
  1. package/CHANGELOG.md +251 -0
  2. package/dist/WeaselProvider.js +4 -5
  3. package/dist/affordances/composeAffordanceLayer.js +1 -2
  4. package/dist/affordances/cornerResize.js +4 -5
  5. package/dist/affordances/hitAffordanceRegions.js +1 -2
  6. package/dist/affordances/pathAnchors.js +1 -3
  7. package/dist/affordances/pathAnchors.js.map +1 -1
  8. package/dist/affordances/rotateCursor.js +1 -2
  9. package/dist/affordances/rotationHandle.js +2 -3
  10. package/dist/animation/behaviors/coast.js +1 -2
  11. package/dist/animation/behaviors/coastByWrite.js +2 -3
  12. package/dist/animation/behaviors/coastOnTargets.js +2 -3
  13. package/dist/animation/behaviors/momentum.js +1 -2
  14. package/dist/animation/clipTargets.js +1 -2
  15. package/dist/animation/departures.js +2 -3
  16. package/dist/animation/poseHelpers.js +2 -3
  17. package/dist/animation/poseTarget.js +2 -3
  18. package/dist/animation/poseTransition.js +1 -2
  19. package/dist/animation/reflow.js +2 -3
  20. package/dist/animation/rewind.js +1 -2
  21. package/dist/animation/rig/bindRig.js +2 -3
  22. package/dist/animation/rig/rigNode.js +1 -2
  23. package/dist/animation/rig/rigSeat.js +1 -2
  24. package/dist/animation/rig/skinBinding.js +1 -2
  25. package/dist/animation/rig/useRig.js +2 -3
  26. package/dist/animation/wrappers/animateLifecycle.js +1 -2
  27. package/dist/animation/wrappers/animateOnSetPose.js +1 -2
  28. package/dist/animation/wrappers/instantPose.js +1 -2
  29. package/dist/animation/writtenPoseTarget.js +1 -2
  30. package/dist/barrel/interactions.js +2 -1
  31. package/dist/barrel/paths.js +1 -1
  32. package/dist/barrel/renderer.js +2 -2
  33. package/dist/barrel/routing.js +6 -4
  34. package/dist/barrel/scene.js +2 -2
  35. package/dist/barrel/text.js +5 -3
  36. package/dist/canvas/Canvas.js +10 -7
  37. package/dist/canvas/Canvas.js.map +1 -1
  38. package/dist/canvas/CanvasView.js +6 -7
  39. package/dist/canvas/CursorCoordsHud.js +2 -3
  40. package/dist/canvas/DrawCanvas.js +8 -5
  41. package/dist/canvas/DrawCanvas.js.map +1 -1
  42. package/dist/canvas/GestureReason.js +1 -2
  43. package/dist/canvas/GestureReason.module.js +1 -2
  44. package/dist/canvas/LeanSceneCanvas.js +2 -3
  45. package/dist/canvas/ModalityHud.js +2 -3
  46. package/dist/canvas/NodeShape.js +3 -4
  47. package/dist/canvas/PickHud.js +2 -3
  48. package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js +1 -2
  49. package/dist/canvas/SceneCanvas/CanvasKitProviders.js +3 -4
  50. package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js +1 -2
  51. package/dist/canvas/SceneCanvas/DevHuds.js +1 -2
  52. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +1 -2
  53. package/dist/canvas/SceneCanvas/SceneCanvasInput.js +8 -5
  54. package/dist/canvas/SceneCanvas/SceneCanvasInput.js.map +1 -1
  55. package/dist/canvas/SceneCanvas/SurfaceDeclarations.js +1 -2
  56. package/dist/canvas/SceneCanvas/brushOverlay.js +1 -2
  57. package/dist/canvas/SceneCanvas/builtinToolSets.js +7 -5
  58. package/dist/canvas/SceneCanvas/builtinToolSets.js.map +1 -1
  59. package/dist/canvas/SceneCanvas/canvasPassThrough.js +1 -2
  60. package/dist/canvas/SceneCanvas/contributionFrameHooks.js +1 -2
  61. package/dist/canvas/SceneCanvas/coordTrace.js +1 -2
  62. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +4 -5
  63. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +1 -2
  64. package/dist/canvas/SceneCanvas/defaultTextEditor.js +4 -5
  65. package/dist/canvas/SceneCanvas/describePresets.js +1 -2
  66. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js +1 -2
  67. package/dist/canvas/SceneCanvas/features.js +1 -2
  68. package/dist/canvas/SceneCanvas/insertPreviewCommands.js +1 -2
  69. package/dist/canvas/SceneCanvas/mergeLayers.js +1 -2
  70. package/dist/canvas/SceneCanvas/namedPresets.js +5 -6
  71. package/dist/canvas/SceneCanvas/poseGeometry.js +1 -2
  72. package/dist/canvas/SceneCanvas/poseRegistrars.js +1 -2
  73. package/dist/canvas/SceneCanvas/presets/arrange.js +2 -3
  74. package/dist/canvas/SceneCanvas/presets/baseline.js +1 -2
  75. package/dist/canvas/SceneCanvas/presets/chrome.js +1 -2
  76. package/dist/canvas/SceneCanvas/presets/composites.js +1 -2
  77. package/dist/canvas/SceneCanvas/presets/edit.js +4 -5
  78. package/dist/canvas/SceneCanvas/presets/ingest.js +1 -2
  79. package/dist/canvas/SceneCanvas/presets/paths.js +9 -10
  80. package/dist/canvas/SceneCanvas/presets/paths.js.map +1 -1
  81. package/dist/canvas/SceneCanvas/presets/select.js +1 -2
  82. package/dist/canvas/SceneCanvas/presets/toolDriven.js +2 -3
  83. package/dist/canvas/SceneCanvas/presets/tools.js +1 -2
  84. package/dist/canvas/SceneCanvas/presets/transform.js +2 -3
  85. package/dist/canvas/SceneCanvas/presets/view.js +2 -3
  86. package/dist/canvas/SceneCanvas/props.js +1 -2
  87. package/dist/canvas/SceneCanvas/scenePointQuery.js +2 -3
  88. package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js +2 -3
  89. package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js.map +1 -1
  90. package/dist/canvas/SceneCanvas/toolRegistry.js +2 -3
  91. package/dist/canvas/SceneCanvas/useActionTunings.js +1 -2
  92. package/dist/canvas/SceneCanvas/useActionsPropResolver.js +1 -2
  93. package/dist/canvas/SceneCanvas/useBakedScene.js +2 -3
  94. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +7 -8
  95. package/dist/canvas/SceneCanvas/useBuiltinTools.js +3 -2
  96. package/dist/canvas/SceneCanvas/useBuiltinTools.js.map +1 -1
  97. package/dist/canvas/SceneCanvas/useCanvasCamera.js +2 -3
  98. package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js +1 -2
  99. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +1 -2
  100. package/dist/canvas/SceneCanvas/useCanvasSelection.js +8 -6
  101. package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -1
  102. package/dist/canvas/SceneCanvas/useCanvasTools.js +2 -3
  103. package/dist/canvas/SceneCanvas/useChromeAffordances.js +2 -3
  104. package/dist/canvas/SceneCanvas/useContributionRoles.js +3 -2
  105. package/dist/canvas/SceneCanvas/useContributionRoles.js.map +1 -1
  106. package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js +4 -5
  107. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +2 -3
  108. package/dist/canvas/SceneCanvas/useHeldModifiers.js +1 -2
  109. package/dist/canvas/SceneCanvas/useMagnificationCheck.js +41 -0
  110. package/dist/canvas/SceneCanvas/useMagnificationCheck.js.map +1 -0
  111. package/dist/canvas/SceneCanvas/useNodeAtPoint.js +1 -2
  112. package/dist/canvas/SceneCanvas/useNodeKinds.js +2 -3
  113. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +10 -11
  114. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +1 -2
  115. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +6 -7
  116. package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js +1 -2
  117. package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +1 -2
  118. package/dist/canvas/SceneCanvas/useSceneChrome.js +22 -11
  119. package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -1
  120. package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +6 -7
  121. package/dist/canvas/SceneCanvas/useScenePicking.js +5 -6
  122. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +1 -2
  123. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +7 -8
  124. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +2 -3
  125. package/dist/canvas/SceneCanvas/useSceneStandardActions.js +28 -17
  126. package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -1
  127. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +2 -3
  128. package/dist/canvas/SceneCanvas/useSurfaceRouting.js +1 -2
  129. package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js +1 -2
  130. package/dist/canvas/SceneCanvas/useToolKeybindings.js +1 -2
  131. package/dist/canvas/SceneCanvas/useViewportActions.js +3 -4
  132. package/dist/canvas/SceneCanvas/worldPointAt.js +1 -2
  133. package/dist/canvas/SceneCanvas.js +22 -20
  134. package/dist/canvas/SceneCanvas.js.map +1 -1
  135. package/dist/canvas/SceneViewCanvas.js +7 -4
  136. package/dist/canvas/SceneViewCanvas.js.map +1 -1
  137. package/dist/canvas/SurfaceCanvas.js +1 -2
  138. package/dist/canvas/ViewMarker.js +1 -2
  139. package/dist/canvas/accentColor.js +1 -2
  140. package/dist/canvas/adapterDerivedPath.js +2 -3
  141. package/dist/canvas/adapterPickSource.js +1 -2
  142. package/dist/canvas/affordanceAt.js +2 -4
  143. package/dist/canvas/affordanceAt.js.map +1 -1
  144. package/dist/canvas/buildSceneLayer.js +4 -5
  145. package/dist/canvas/buildSceneTree.js +4 -5
  146. package/dist/canvas/canvasRenderer.js +1 -2
  147. package/dist/canvas/colorOverrides.js +1 -2
  148. package/dist/canvas/contextAttributes.js +1 -2
  149. package/dist/canvas/copiesAbove.js +1 -2
  150. package/dist/canvas/defaultDrawOne.js +1 -2
  151. package/dist/canvas/deps/areaSelect.js +5 -3
  152. package/dist/canvas/deps/areaSelect.js.map +1 -1
  153. package/dist/canvas/deps/booleans.js +5 -6
  154. package/dist/canvas/deps/changes.js +1 -2
  155. package/dist/canvas/deps/chromeRules.js +36 -0
  156. package/dist/canvas/deps/chromeRules.js.map +1 -0
  157. package/dist/canvas/deps/debug.js +1 -2
  158. package/dist/canvas/deps/dispatchSources.js +1 -2
  159. package/dist/canvas/deps/dispatcher.js +1 -2
  160. package/dist/canvas/deps/editAnchors.js +3 -10
  161. package/dist/canvas/deps/editAnchors.js.map +1 -1
  162. package/dist/canvas/deps/enteredGroup.js +1 -2
  163. package/dist/canvas/deps/geometryProjection.js +1 -2
  164. package/dist/canvas/deps/hitTestArea.js +6 -5
  165. package/dist/canvas/deps/hitTestArea.js.map +1 -1
  166. package/dist/canvas/deps/ingestion.js +1 -2
  167. package/dist/canvas/deps/insert.js +3 -4
  168. package/dist/canvas/deps/insertSite.js +3 -4
  169. package/dist/canvas/deps/kitSettings.js +1 -2
  170. package/dist/canvas/deps/lassoSelect.js +5 -3
  171. package/dist/canvas/deps/lassoSelect.js.map +1 -1
  172. package/dist/canvas/deps/layout.js +1 -2
  173. package/dist/canvas/deps/modeDefaultTool.js +22 -0
  174. package/dist/canvas/deps/modeDefaultTool.js.map +1 -0
  175. package/dist/canvas/deps/nodeAtPoint.js +1 -2
  176. package/dist/canvas/deps/pathEditCommits.js +3 -4
  177. package/dist/canvas/deps/pathLeaf.js +1 -2
  178. package/dist/canvas/deps/pathLeafDeps.js +2 -3
  179. package/dist/canvas/deps/poseDescriptor.js +1 -2
  180. package/dist/canvas/deps/previewPaths.js +1 -2
  181. package/dist/canvas/deps/resizePolicy.js +1 -2
  182. package/dist/canvas/deps/selectionSnapshot.js +22 -0
  183. package/dist/canvas/deps/selectionSnapshot.js.map +1 -0
  184. package/dist/canvas/deps/slice.js +5 -6
  185. package/dist/canvas/deps/snap.js +4 -4
  186. package/dist/canvas/deps/snap.js.map +1 -1
  187. package/dist/canvas/deps/surface.js +1 -2
  188. package/dist/canvas/deps/textEdit.js +1 -2
  189. package/dist/canvas/deps/transformFollowers.js +1 -2
  190. package/dist/canvas/deps/view.js +1 -2
  191. package/dist/canvas/derivedPath.js +6 -7
  192. package/dist/canvas/doubleClickTarget.js +1 -2
  193. package/dist/canvas/drawEnvelope.js +1 -2
  194. package/dist/canvas/drawnBounds.js +4 -5
  195. package/dist/canvas/getNodeAtPoint.js +1 -2
  196. package/dist/canvas/hostAnchor.js +1 -2
  197. package/dist/canvas/hud.module.js +1 -2
  198. package/dist/canvas/inheritedPaints.js +1 -2
  199. package/dist/canvas/insertPreviewExtent.js +1 -2
  200. package/dist/canvas/kitRequirements.js +1 -2
  201. package/dist/canvas/layerHover.js +1 -2
  202. package/dist/canvas/layerOrder.js +1 -2
  203. package/dist/canvas/layerSlots.js +1 -2
  204. package/dist/canvas/mountedCanvases.js +1 -2
  205. package/dist/canvas/nodeShapes/derivedPainter.js +2 -3
  206. package/dist/canvas/nodeShapes/imagePainter.js +1 -2
  207. package/dist/canvas/nodeShapes/measurePainter.js +2 -3
  208. package/dist/canvas/nodeShapes/memo.js +1 -2
  209. package/dist/canvas/nodeShapes/nodePaint.js +1 -2
  210. package/dist/canvas/nodeShapes/pathPainter.js +3 -4
  211. package/dist/canvas/nodeShapes/poseBox.js +1 -2
  212. package/dist/canvas/nodeShapes/rectFallbackPainter.js +1 -2
  213. package/dist/canvas/nodeShapes/shapePainter.js +2 -3
  214. package/dist/canvas/nodeShapes/strokedBounds.js +1 -2
  215. package/dist/canvas/nodeShapes/textPainter.js +1 -2
  216. package/dist/canvas/overChildren.js +1 -2
  217. package/dist/canvas/overlayRoleStrokes.js +1 -2
  218. package/dist/canvas/ownClip.js +1 -2
  219. package/dist/canvas/paintCull.js +1 -2
  220. package/dist/canvas/paintedCursorLayer.js +1 -2
  221. package/dist/canvas/pathOverlay.js +1 -2
  222. package/dist/canvas/pickIndex/nodeBroadBox.js +3 -4
  223. package/dist/canvas/pickIndex/scenePickIndex.js +3 -4
  224. package/dist/canvas/pickReach.js +13 -10
  225. package/dist/canvas/pickReach.js.map +1 -1
  226. package/dist/canvas/pickWalk.js +9 -8
  227. package/dist/canvas/pickWalk.js.map +1 -1
  228. package/dist/canvas/planeClips.js +1 -2
  229. package/dist/canvas/poseRotation.js +1 -2
  230. package/dist/canvas/publishPreviews.js +1 -2
  231. package/dist/canvas/rasterReadback.js +1 -2
  232. package/dist/canvas/rasterToPng.js +1 -2
  233. package/dist/canvas/renderDebugSnapshot.js +1 -2
  234. package/dist/canvas/renderNeeds.js +1 -2
  235. package/dist/canvas/renderSceneToPixels.js +5 -6
  236. package/dist/canvas/sceneAdapter.js +37 -27
  237. package/dist/canvas/sceneAdapter.js.map +1 -1
  238. package/dist/canvas/sceneClipboard.js +19 -7
  239. package/dist/canvas/sceneClipboard.js.map +1 -1
  240. package/dist/canvas/sceneLayerPaint.js +1 -2
  241. package/dist/canvas/scenePickReads.js +1 -2
  242. package/dist/canvas/scenePickSource.js +7 -8
  243. package/dist/canvas/scenePickSource.js.map +1 -1
  244. package/dist/canvas/sceneSlotWiring.js +2 -3
  245. package/dist/canvas/sceneViewRender.js +5 -6
  246. package/dist/canvas/shownNodes.js +1 -2
  247. package/dist/canvas/slopsDebugLayer.js +1 -2
  248. package/dist/canvas/surfaceContribution.js +1 -2
  249. package/dist/canvas/useCanvasElements.js +1 -2
  250. package/dist/canvas/useCanvasHandle.js +1 -2
  251. package/dist/canvas/useCanvasPaint.js +2 -3
  252. package/dist/canvas/useCanvasRenderer.js +1 -2
  253. package/dist/canvas/useCanvasSurface.js +22 -5
  254. package/dist/canvas/useCanvasSurface.js.map +1 -1
  255. package/dist/canvas/useCanvasView.js +2 -3
  256. package/dist/canvas/useClientToWorld.js +1 -2
  257. package/dist/canvas/useExtraLayers.js +1 -2
  258. package/dist/canvas/useFrameLoop.js +7 -9
  259. package/dist/canvas/useFrameLoop.js.map +1 -1
  260. package/dist/canvas/useHitObserver.js +1 -2
  261. package/dist/canvas/useHostAnchor.js +1 -2
  262. package/dist/canvas/useInFlightBounds.js +6 -6
  263. package/dist/canvas/useInFlightBounds.js.map +1 -1
  264. package/dist/canvas/useLateContentRedraw.js +1 -2
  265. package/dist/canvas/useLayerStack.js +2 -3
  266. package/dist/canvas/usePaintedCursor.js +1 -2
  267. package/dist/canvas/useRedrawOn.js +1 -2
  268. package/dist/canvas/useSceneAdapter.js +1 -2
  269. package/dist/canvas/useSceneLayerList.js +1 -2
  270. package/dist/canvas/useSurfaceInput.js +1 -2
  271. package/dist/canvas/useSurfaceSize.js +5 -5
  272. package/dist/canvas/useSurfaceSize.js.map +1 -1
  273. package/dist/canvas/useToolCursor.js +1 -2
  274. package/dist/canvas/useViewAim.js +2 -3
  275. package/dist/canvas/useViewHelpers.js +5 -4
  276. package/dist/canvas/useViewHelpers.js.map +1 -1
  277. package/dist/canvas/useViewLayerGate.js +1 -2
  278. package/dist/canvas/useViewNesting.js +1 -2
  279. package/dist/canvas/useViewRegistrySurface.js +1 -2
  280. package/dist/canvas/viewInputs.js +1 -2
  281. package/dist/canvas/viewMarkers.js +1 -2
  282. package/dist/canvas/viewRegistry.js +1 -2
  283. package/dist/canvas/viewSnap.js +1 -2
  284. package/dist/canvas/watchElementMove.js +1 -2
  285. package/dist/canvas/wrapNodeOutput.js +1 -2
  286. package/dist/core/adapters/testing/rootsTree.js +1 -2
  287. package/dist/core/applyOps.js +1 -2
  288. package/dist/core/device/targets.js +1 -2
  289. package/dist/core/device/useDeviceProfile.js +1 -2
  290. package/dist/core/device/useTargetBasePx.js +1 -2
  291. package/dist/core/device/watchDevicePixelRatio.js +1 -2
  292. package/dist/core/geometry/autoPoseDescriptor.js +2 -3
  293. package/dist/core/geometry/booleanOfPaths.js +1 -2
  294. package/dist/core/geometry/inkExtents.js +1 -2
  295. package/dist/core/geometry/pathPoseDescriptor.js +1 -2
  296. package/dist/core/geometry/poseDescriptor.js +1 -2
  297. package/dist/core/geometry/regionHit.js +36 -18
  298. package/dist/core/geometry/regionHit.js.map +1 -1
  299. package/dist/core/geometry/targetFrame.js +1 -2
  300. package/dist/core/geometry/unionBounds.js +1 -2
  301. package/dist/core/layers/backgroundFill.js +1 -2
  302. package/dist/core/layers/children.js +1 -2
  303. package/dist/core/layers/gateLayer.js +1 -2
  304. package/dist/core/layers/layerGroup.js +1 -2
  305. package/dist/core/layers/redrawSource.js +1 -2
  306. package/dist/core/layers/render.js +1 -2
  307. package/dist/core/layers/retain.js +1 -2
  308. package/dist/core/ops/arrange.js +1 -2
  309. package/dist/core/ops/create.js +2 -3
  310. package/dist/core/ops/createHistory.js +2 -3
  311. package/dist/core/ops/delete.js +2 -3
  312. package/dist/core/ops/nodeFlags.js +1 -2
  313. package/dist/core/ops/registry.js +1 -2
  314. package/dist/core/ops/reorder/algorithms.js +1 -2
  315. package/dist/core/ops/reorder/index.js +1 -2
  316. package/dist/core/ops/reorder/setChildOrder.js +1 -2
  317. package/dist/core/ops/reparent.js +1 -2
  318. package/dist/core/ops/select.js +1 -2
  319. package/dist/core/ops/setData.js +1 -2
  320. package/dist/core/ops/setDependsOn.js +1 -2
  321. package/dist/core/ops/setLayer.js +1 -2
  322. package/dist/core/ops/setLayout.js +1 -2
  323. package/dist/core/ops/setPath.js +1 -2
  324. package/dist/core/ops/setText.js +1 -2
  325. package/dist/core/ops/slot.js +1 -2
  326. package/dist/core/ops/transform.js +1 -2
  327. package/dist/core/ops/writtenBy.js +1 -2
  328. package/dist/core/pages/fitViewToPage.js +1 -2
  329. package/dist/core/pages/pageEdits.js +3 -4
  330. package/dist/core/pages/pages.js +1 -2
  331. package/dist/core/pages/pages.js.map +1 -1
  332. package/dist/core/pages/pagesLayer.js +1 -2
  333. package/dist/core/paint/meshKind.js +1 -2
  334. package/dist/core/paint/meshKindLazy.js +9 -18
  335. package/dist/core/paint/meshKindLazy.js.map +1 -1
  336. package/dist/core/paint/paintKindEntry.js +1 -2
  337. package/dist/core/paint/paintKinds.js +1 -2
  338. package/dist/core/paint/registerMesh.js +1 -2
  339. package/dist/core/scene/NodeProperties.js +1 -2
  340. package/dist/core/scene/NodeRouting.js +1 -2
  341. package/dist/core/scene/annotation.js +1 -2
  342. package/dist/core/scene/appliedLog.js +1 -2
  343. package/dist/core/scene/arrivalWindow.js +2 -3
  344. package/dist/core/scene/arrivals.js +1 -2
  345. package/dist/core/scene/booleanGroup.js +1 -2
  346. package/dist/core/scene/booleanOfChildren.js +1 -2
  347. package/dist/core/scene/boundOps.js +1 -2
  348. package/dist/core/scene/carryDescendants.js +2 -3
  349. package/dist/core/scene/clipNothing.js +1 -2
  350. package/dist/core/scene/composeFrame.js +1 -2
  351. package/dist/core/scene/composePose.js +1 -2
  352. package/dist/core/scene/declaredFieldSetters.js +1 -2
  353. package/dist/core/scene/depFrame.js +1 -2
  354. package/dist/core/scene/depMemo.js +1 -2
  355. package/dist/core/scene/dependents.js +1 -2
  356. package/dist/core/scene/derivedParts.js +1 -2
  357. package/dist/core/scene/derivedPath.js +2 -3
  358. package/dist/core/scene/docValues.js +1 -2
  359. package/dist/core/scene/documentOf.js +1 -2
  360. package/dist/core/scene/editMode.js +5 -3
  361. package/dist/core/scene/editMode.js.map +1 -1
  362. package/dist/core/scene/editPass.js +1 -2
  363. package/dist/core/scene/effectivePose.js +3 -4
  364. package/dist/core/scene/fieldEdits.js +1 -2
  365. package/dist/core/scene/fontReads.js +1 -2
  366. package/dist/core/scene/historyFacade.js +8 -52
  367. package/dist/core/scene/historyFacade.js.map +1 -1
  368. package/dist/core/scene/historyForm.js +1 -2
  369. package/dist/core/scene/inheritedPaint.js +1 -2
  370. package/dist/core/scene/kitOps.js +16 -15
  371. package/dist/core/scene/kitOps.js.map +1 -1
  372. package/dist/core/scene/kitRegistry.js +2 -3
  373. package/dist/core/scene/layerOps.js +1 -2
  374. package/dist/core/scene/layerStack.js +1 -2
  375. package/dist/core/scene/layoutPass.js +4 -5
  376. package/dist/core/scene/lockGuard.js +1 -2
  377. package/dist/core/scene/minSize.js +1 -2
  378. package/dist/core/scene/nestedHit.js +1 -2
  379. package/dist/core/scene/nodeAsShown.js +1 -2
  380. package/dist/core/scene/nodeFlags.js +1 -2
  381. package/dist/core/scene/nodeFnFields.js +1 -2
  382. package/dist/core/scene/nodeGates.js +3 -4
  383. package/dist/core/scene/nodeGates.js.map +1 -1
  384. package/dist/core/scene/nodeMemo.js +1 -2
  385. package/dist/core/scene/nodeStore.js +2 -3
  386. package/dist/core/scene/notifier.js +1 -2
  387. package/dist/core/scene/opTable.js +9 -10
  388. package/dist/core/scene/opTable.js.map +1 -1
  389. package/dist/core/scene/outerOps.js +3 -4
  390. package/dist/core/scene/outerOps.js.map +1 -1
  391. package/dist/core/scene/pathEffects/blend.js +1 -2
  392. package/dist/core/scene/pathEffects/derive.js +2 -3
  393. package/dist/core/scene/pathEffects/effects.js +1 -2
  394. package/dist/core/scene/pathEffects/foundHidden.js +1 -2
  395. package/dist/core/scene/pathEffects/textAlong.js +1 -2
  396. package/dist/core/scene/pathEffects/textAlongBands.js +1 -2
  397. package/dist/core/scene/plyStacks.js +1 -2
  398. package/dist/core/scene/poseFeed.js +1 -2
  399. package/dist/core/scene/poseHold.js +1 -2
  400. package/dist/core/scene/poseOverrides.js +1 -2
  401. package/dist/core/scene/posePlies.js +1 -2
  402. package/dist/core/scene/poseRemovals.js +1 -2
  403. package/dist/core/scene/poseSnapshot.js +1 -2
  404. package/dist/core/scene/poseWrites.js +17 -17
  405. package/dist/core/scene/poseWrites.js.map +1 -1
  406. package/dist/core/scene/reconcileSpecs.js +26 -3
  407. package/dist/core/scene/reconcileSpecs.js.map +1 -1
  408. package/dist/core/scene/recorder.js +1 -2
  409. package/dist/core/scene/renderOrder.js +1 -2
  410. package/dist/core/scene/sameValue.js +1 -2
  411. package/dist/core/scene/scene.js +11 -12
  412. package/dist/core/scene/scene.js.map +1 -1
  413. package/dist/core/scene/sceneChanges.js +1 -2
  414. package/dist/core/scene/sceneEdits.js +1 -2
  415. package/dist/core/scene/sceneJournals.js +77 -0
  416. package/dist/core/scene/sceneJournals.js.map +1 -0
  417. package/dist/core/scene/sceneMutators.js +2 -3
  418. package/dist/core/scene/scenePoseAdapter.js +1 -2
  419. package/dist/core/scene/sceneRecording.js +4 -4
  420. package/dist/core/scene/sceneRecording.js.map +1 -1
  421. package/dist/core/scene/sceneSelection.js +8 -5
  422. package/dist/core/scene/sceneSelection.js.map +1 -1
  423. package/dist/core/scene/sceneState.js +3 -4
  424. package/dist/core/scene/scrollOffsets.js +1 -2
  425. package/dist/core/scene/serialization.js +2 -3
  426. package/dist/core/scene/staleReplay.js +1 -2
  427. package/dist/core/scene/statedFields.js +1 -2
  428. package/dist/core/scene/strategyView.js +1 -2
  429. package/dist/core/scene/treeEdits.js +2 -3
  430. package/dist/core/scene/treeOrder.js +1 -2
  431. package/dist/core/scene/treeReads.js +1 -2
  432. package/dist/core/scene/treeShape.js +1 -2
  433. package/dist/core/scene/types.js +1 -2
  434. package/dist/core/scene/types.js.map +1 -1
  435. package/dist/core/scene/unionOfChildren.js +1 -2
  436. package/dist/core/scene/unitScopes.js +20 -4
  437. package/dist/core/scene/unitScopes.js.map +1 -1
  438. package/dist/core/scene/useScene.js +2 -3
  439. package/dist/core/scene/worldSave.js +2 -3
  440. package/dist/core/selection/chromeState.js +1 -2
  441. package/dist/core/selection/outermostSelection.js +56 -0
  442. package/dist/core/selection/outermostSelection.js.map +1 -0
  443. package/dist/core/selection/readOnlySelection.js +1 -2
  444. package/dist/core/selection/selectionTarget.js +1 -2
  445. package/dist/core/selection/usePublishSceneSelection.js +1 -2
  446. package/dist/core/selection/useSelection.js +1 -2
  447. package/dist/core/shapeKinds.js +1 -2
  448. package/dist/core/stableStringify.js +1 -2
  449. package/dist/core/stylus/stylus.js +1 -2
  450. package/dist/core/stylus/usePointerStylus.js +1 -2
  451. package/dist/core/usePaintKinds.js +1 -2
  452. package/dist/core/viewport/clampView.js +1 -2
  453. package/dist/core/viewport/clientToWorld.js +1 -2
  454. package/dist/core/viewport/createVelocityTracker.js +1 -2
  455. package/dist/core/viewport/fitToBounds.js +1 -2
  456. package/dist/core/viewport/fitViewToBounds.js +1 -2
  457. package/dist/core/viewport/interpolateView.js +1 -2
  458. package/dist/core/viewport/parallax.js +1 -2
  459. package/dist/core/viewport/sceneNodeClientRect.js +1 -2
  460. package/dist/core/viewport/screenSlop.js +1 -2
  461. package/dist/core/viewport/useAutoCenter.js +1 -2
  462. package/dist/core/viewport/useCanvasSize.js +48 -28
  463. package/dist/core/viewport/useCanvasSize.js.map +1 -1
  464. package/dist/core/viewport/useDecayLoop.js +1 -2
  465. package/dist/core/viewport/useNodeOverlayFrame.js +1 -2
  466. package/dist/core/viewport/useVelocityTracker.js +1 -2
  467. package/dist/core/viewport/useViewAnimation.js +3 -4
  468. package/dist/core/viewport/view.js +1 -2
  469. package/dist/core/viewport/viewTransform.js +1 -2
  470. package/dist/core/viewport/viewportWorldRect.js +1 -2
  471. package/dist/core/viewport/wheelHandler.js +1 -2
  472. package/dist/core/viewport/zoomAt.js +2 -3
  473. package/dist/core/viewport/zoomBounds.js +1 -2
  474. package/dist/debug/createDebugOverlayLayer.js +1 -2
  475. package/dist/debug/createDebugSink.js +1 -2
  476. package/dist/debug/defaultTheme.js +1 -2
  477. package/dist/debug/features.js +1 -2
  478. package/dist/debug/frameStats.js +1 -2
  479. package/dist/debug/overlayPanels.js +1 -2
  480. package/dist/debug/parseDebugFlags.js +1 -2
  481. package/dist/debug/useDebugSink.js +2 -3
  482. package/dist/{depSchema-DD9H89gX.d.ts → depSchema-C7a_OMt-.d.ts} +101 -65
  483. package/dist/devtools/handlers.js +1 -2
  484. package/dist/devtools/history.js +1 -2
  485. package/dist/devtools/hook.js +1 -2
  486. package/dist/devtools/label.js +1 -2
  487. package/dist/devtools/notices.js +1 -2
  488. package/dist/devtools/protocol.js +1 -2
  489. package/dist/devtools/registry.js +1 -2
  490. package/dist/devtools/root.js +1 -2
  491. package/dist/devtools/serialize.js +1 -2
  492. package/dist/devtools/session.js +2 -3
  493. package/dist/devtools/transport.js +1 -2
  494. package/dist/devtools/useDevtoolsRoot.js +1 -2
  495. package/dist/devtools-protocol.d.ts +1 -1
  496. package/dist/devtools-protocol.js +2 -2
  497. package/dist/devtools.d.ts +1 -1
  498. package/dist/devtools.js +1 -2
  499. package/dist/domains/chrome-caps/buildChromeCtx.js +1 -2
  500. package/dist/domains/chrome-caps/conditions.js +1 -2
  501. package/dist/domains/chrome-caps/defaults.js +1 -2
  502. package/dist/domains/chrome-caps/resolve.js +3 -3
  503. package/dist/domains/chrome-caps/resolve.js.map +1 -1
  504. package/dist/domains/chrome-caps/useChromeCaps.js +5 -4
  505. package/dist/domains/chrome-caps/useChromeCaps.js.map +1 -1
  506. package/dist/domains/chrome-caps/useHoverTracking.js +1 -2
  507. package/dist/domains/ingestion/contentHandlers.js +1 -2
  508. package/dist/domains/ingestion/ghost.js +2 -3
  509. package/dist/domains/ingestion/imageHandler.js +1 -2
  510. package/dist/domains/ingestion/kitHandlers.js +2 -3
  511. package/dist/domains/ingestion/openFilePicker.js +1 -2
  512. package/dist/domains/ingestion/placement.js +1 -2
  513. package/dist/domains/ingestion/svgHandler.js +1 -2
  514. package/dist/domains/ingestion/textHandler.js +1 -2
  515. package/dist/domains/ingestion/useCanvasIngestion.js +1 -2
  516. package/dist/domains/ingestion/weaselJsonHandler.js +2 -3
  517. package/dist/domains/longPress/longPressFeedback.js +1 -2
  518. package/dist/domains/measure/actionIds.js +1 -2
  519. package/dist/domains/measure/measureCommands.js +6 -7
  520. package/dist/domains/measure/measureContribution.js +3 -4
  521. package/dist/domains/measure/measureEdits.js +3 -4
  522. package/dist/domains/measure/measureGestures.js +2 -3
  523. package/dist/domains/measure/measureHit.js +3 -4
  524. package/dist/domains/measure/measureLayer.js +3 -4
  525. package/dist/domains/measure/measurement.js +1 -2
  526. package/dist/domains/measure/measurements.js +1 -2
  527. package/dist/domains/modes/modeLayers.js +1 -2
  528. package/dist/domains/modes/modeTriggers.js +1 -2
  529. package/dist/domains/pathEffects/effectSources.js +2 -3
  530. package/dist/domains/pathEffects/index.js +1 -2
  531. package/dist/domains/pathEffects/readSource.js +3 -4
  532. package/dist/domains/pathEffects/textItems.js +1 -2
  533. package/dist/domains/pathEffects/useEffectSourcesLayer.js +3 -4
  534. package/dist/domains/paths/anchorData.js +1 -2
  535. package/dist/domains/paths/anchorMarkers.js +1 -2
  536. package/dist/domains/paths/editablePath.js +3 -4
  537. package/dist/domains/paths/originProjection.js +1 -2
  538. package/dist/domains/paths/pathEditExtension.js +1 -2
  539. package/dist/domains/paths/pathEditState.js +1 -26
  540. package/dist/domains/paths/pathEditState.js.map +1 -1
  541. package/dist/domains/paths/pathEditingOverlayLayer.js +2 -3
  542. package/dist/domains/paths/pathLayer.js +1 -2
  543. package/dist/domains/paths/pathRepresentation.js +1 -2
  544. package/dist/domains/paths/pathSnap/glyphs.js +1 -2
  545. package/dist/domains/paths/pathSnap/pathSnapSource.js +1 -2
  546. package/dist/domains/paths/pathSnap/sceneIndex.js +1 -2
  547. package/dist/domains/paths/pathSnap/snapGeometry.js +2 -3
  548. package/dist/domains/paths/penPreviewLayer.js +1 -2
  549. package/dist/domains/paths/shapeGenerator.js +1 -2
  550. package/dist/domains/paths/strokeOutline.js +2 -3
  551. package/dist/domains/paths/useAnchorFields.js +1 -2
  552. package/dist/domains/paths/usePathEdit.js +2 -3
  553. package/dist/domains/poseRun/usePoseRun.js +1 -2
  554. package/dist/domains/selection/enteredGroupFrame.js +1 -2
  555. package/dist/domains/selection/enteredGroupScope.js +1 -2
  556. package/dist/domains/selection/enteredOperands.js +1 -2
  557. package/dist/domains/selection/handleCommands.js +2 -3
  558. package/dist/domains/selection/overlay.js +6 -7
  559. package/dist/domains/selection/selectionPose.js +2 -3
  560. package/dist/domains/snap/angle2d.js +1 -2
  561. package/dist/domains/snap/debugCandidates.js +1 -2
  562. package/dist/domains/snap/gather.js +1 -2
  563. package/dist/domains/snap/inputSubspace.js +2 -3
  564. package/dist/domains/snap/lazySession.js +1 -2
  565. package/dist/domains/snap/marks.js +1 -2
  566. package/dist/domains/snap/outcomeStore.js +1 -2
  567. package/dist/domains/snap/pointSnap.js +1 -2
  568. package/dist/domains/snap/probes2d.js +6 -2
  569. package/dist/domains/snap/probes2d.js.map +1 -1
  570. package/dist/domains/snap/readoutDraw.js +1 -2
  571. package/dist/domains/snap/readoutLayer.js +1 -2
  572. package/dist/domains/snap/registry.js +1 -2
  573. package/dist/domains/snap/resizeBox.js +1 -2
  574. package/dist/domains/snap/roles.js +1 -2
  575. package/dist/domains/snap/rotationSource.js +1 -2
  576. package/dist/domains/snap/sceneReads.js +13 -4
  577. package/dist/domains/snap/sceneReads.js.map +1 -1
  578. package/dist/domains/snap/sceneSession2d.js +6 -5
  579. package/dist/domains/snap/sceneSession2d.js.map +1 -1
  580. package/dist/domains/snap/screen.js +2 -3
  581. package/dist/domains/snap/session2d.js +4 -5
  582. package/dist/domains/snap/spanSnap.js +1 -2
  583. package/dist/domains/snap/stepAngles.js +1 -2
  584. package/dist/domains/text/editingDrawOne.js +1 -2
  585. package/dist/domains/text/hostTextEditors.js +1 -2
  586. package/dist/domains/text/index.js +2 -2
  587. package/dist/domains/text/sceneTextDrafts.js +1 -2
  588. package/dist/domains/text/textHitAt.js +4 -5
  589. package/dist/domains/text/textLayer.js +12 -2
  590. package/dist/domains/text/textLayer.js.map +1 -1
  591. package/dist/domains/text/useSceneTextEdit.js +4 -5
  592. package/dist/domains/viewports/aim.js +3 -4
  593. package/dist/domains/viewports/viewMarker.js +1 -2
  594. package/dist/domains/viewports/viewMarkerDrag.js +1 -2
  595. package/dist/domains/viewports/viewResolver.js +1 -2
  596. package/dist/domains/viewports/viewportLayer.js +1 -2
  597. package/dist/iconRegistry/IconRegistryProvider.js +1 -2
  598. package/dist/iconRegistry/useIconGlyph.js +1 -2
  599. package/dist/iconRegistry/useIconVariant.js +1 -2
  600. package/dist/icons.table.js +2 -3
  601. package/dist/icons.table.js.map +1 -1
  602. package/dist/icons.table.json +5 -0
  603. package/dist/icons2.table.js +1 -2
  604. package/dist/index.d.ts +160 -64
  605. package/dist/index.js +14 -9
  606. package/dist/input/keyState.js +1 -2
  607. package/dist/input/useKeyModifiers.js +1 -2
  608. package/dist/input/useKeyState.js +1 -2
  609. package/dist/interactions/actions/admitsChild.js +1 -2
  610. package/dist/interactions/actions/align/action.js +6 -7
  611. package/dist/interactions/actions/align/align.js +6 -7
  612. package/dist/interactions/actions/booleans/action.js +5 -4
  613. package/dist/interactions/actions/booleans/action.js.map +1 -1
  614. package/dist/interactions/actions/booleans/booleanGroupAction.js +2 -3
  615. package/dist/interactions/actions/booleans/booleans.js +1 -2
  616. package/dist/interactions/actions/booleans/commit.js +4 -5
  617. package/dist/interactions/actions/booleans/custom.js +2 -3
  618. package/dist/interactions/actions/booleans/keymap.js +1 -2
  619. package/dist/interactions/actions/booleans/operands.js +1 -2
  620. package/dist/interactions/actions/booleans/pieces.js +1 -2
  621. package/dist/interactions/actions/booleans/placement.js +1 -2
  622. package/dist/interactions/actions/booleans/useBooleans.js +1 -2
  623. package/dist/interactions/actions/booleans/useBooleansAdapter.js +1 -2
  624. package/dist/interactions/actions/clipboard/action.js +2 -3
  625. package/dist/interactions/actions/clipboard/clipboardOps.js +2 -3
  626. package/dist/interactions/actions/clipboard/materializePaste.js +1 -2
  627. package/dist/interactions/actions/clipboard/wireFormat.js +1 -2
  628. package/dist/interactions/actions/clone/action.js +7 -8
  629. package/dist/interactions/actions/clone/behaviors.js +4 -5
  630. package/dist/interactions/actions/defaultCommitAdapter.js +2 -3
  631. package/dist/interactions/actions/defaults/anchorEditing.js +6 -10
  632. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
  633. package/dist/interactions/actions/defaults/anchorFields.js +1 -2
  634. package/dist/interactions/actions/defaults/anchorHandles.js +2 -3
  635. package/dist/interactions/actions/defaults/anchorJoin.js +2 -3
  636. package/dist/interactions/actions/defaults/areaSelect.js +6 -6
  637. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
  638. package/dist/interactions/actions/defaults/bendSegment.js +4 -6
  639. package/dist/interactions/actions/defaults/bendSegment.js.map +1 -1
  640. package/dist/interactions/actions/defaults/cancelGesture.js +1 -2
  641. package/dist/interactions/actions/defaults/clearSelection.js +1 -2
  642. package/dist/interactions/actions/defaults/containerScroll.js +4 -5
  643. package/dist/interactions/actions/defaults/contextMenu.js +6 -7
  644. package/dist/interactions/actions/defaults/copySubtree.js +2 -3
  645. package/dist/interactions/actions/defaults/createPaintAction.js +3 -4
  646. package/dist/interactions/actions/defaults/delete.js +2 -3
  647. package/dist/interactions/actions/defaults/duplicate.js +5 -6
  648. package/dist/interactions/actions/defaults/enterGroup.js +2 -3
  649. package/dist/interactions/actions/defaults/enterPathEdit.js +1 -2
  650. package/dist/interactions/actions/defaults/enterTextEdit.js +1 -2
  651. package/dist/interactions/actions/defaults/escape.js +1 -2
  652. package/dist/interactions/actions/defaults/exitPathEdit.js +18 -3
  653. package/dist/interactions/actions/defaults/exitPathEdit.js.map +1 -1
  654. package/dist/interactions/actions/defaults/group.js +6 -7
  655. package/dist/interactions/actions/defaults/ingest.js +3 -4
  656. package/dist/interactions/actions/defaults/insertPathAnchor.js +2 -3
  657. package/dist/interactions/actions/defaults/nudge.js +3 -4
  658. package/dist/interactions/actions/defaults/nudgeSteps.js +2 -3
  659. package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -1
  660. package/dist/interactions/actions/defaults/pathEditMarks.js +1 -2
  661. package/dist/interactions/actions/defaults/pinchZoom.js +3 -4
  662. package/dist/interactions/actions/defaults/reorder.js +2 -3
  663. package/dist/interactions/actions/defaults/requiresSelection.js +1 -2
  664. package/dist/interactions/actions/defaults/segmentUnder.js +1 -2
  665. package/dist/interactions/actions/defaults/selectAll.js +1 -2
  666. package/dist/interactions/actions/defaults/selectDeep.js +1 -2
  667. package/dist/interactions/actions/defaults/setFill.js +1 -2
  668. package/dist/interactions/actions/defaults/setFillOpacity.js +1 -2
  669. package/dist/interactions/actions/defaults/setStroke.js +1 -2
  670. package/dist/interactions/actions/defaults/setStrokeOpacity.js +1 -2
  671. package/dist/interactions/actions/defaults/slice.js +1 -2
  672. package/dist/interactions/actions/defaults/sliceOps.js +1 -2
  673. package/dist/interactions/actions/defaults/toolActivate.js +1 -2
  674. package/dist/interactions/actions/defaults/toolResetToDefault.js +1 -2
  675. package/dist/interactions/actions/defaults/undoRedo.js +1 -2
  676. package/dist/interactions/actions/defaults/viewportDragPan.js +1 -2
  677. package/dist/interactions/actions/defaults/viewportWheelPan.js +1 -2
  678. package/dist/interactions/actions/defaults/viewportZoom.js +3 -4
  679. package/dist/interactions/actions/distribute/action.js +4 -5
  680. package/dist/interactions/actions/distribute/distribute.js +5 -6
  681. package/dist/interactions/actions/distribute/plan.js +1 -2
  682. package/dist/interactions/actions/drawnBoxes.js +4 -5
  683. package/dist/interactions/actions/dropVerdict.js +1 -2
  684. package/dist/interactions/actions/edit-anchors/action.js +7 -9
  685. package/dist/interactions/actions/edit-anchors/action.js.map +1 -1
  686. package/dist/interactions/actions/edit-anchors/extensionDrags.js +1 -2
  687. package/dist/interactions/actions/edit-anchors/geometry.js +1 -2
  688. package/dist/interactions/actions/edit-anchors/handleDrag.js +1 -2
  689. package/dist/interactions/actions/edit-anchors/handles.js +1 -2
  690. package/dist/interactions/actions/edit-anchors/params.js +1 -2
  691. package/dist/interactions/actions/edit-anchors/preview.js +1 -2
  692. package/dist/interactions/actions/edit-anchors/symmetry.js +1 -2
  693. package/dist/interactions/actions/flip/action.js +8 -9
  694. package/dist/interactions/actions/flip/helpers.js +1 -2
  695. package/dist/interactions/actions/geometryProjection.js +1 -2
  696. package/dist/interactions/actions/gestureFrames.js +3 -4
  697. package/dist/interactions/actions/gestureLifecycle.js +1 -2
  698. package/dist/interactions/actions/hitSelection.js +7 -3
  699. package/dist/interactions/actions/hitSelection.js.map +1 -1
  700. package/dist/interactions/actions/insert/action.js +27 -9
  701. package/dist/interactions/actions/insert/action.js.map +1 -1
  702. package/dist/interactions/actions/insert/commit.js +2 -3
  703. package/dist/interactions/actions/insert/extras.js +1 -2
  704. package/dist/interactions/actions/insert/frame.js +1 -2
  705. package/dist/interactions/actions/insert/geometry.js +1 -2
  706. package/dist/interactions/actions/insert/params.js +42 -0
  707. package/dist/interactions/actions/insert/params.js.map +1 -0
  708. package/dist/interactions/actions/insert/parent.js +1 -2
  709. package/dist/interactions/actions/insert/placeAction.js +5 -6
  710. package/dist/interactions/actions/insert/repositionAction.js +1 -2
  711. package/dist/interactions/actions/insert/rotateAction.js +1 -2
  712. package/dist/interactions/actions/insert/session.js +5 -6
  713. package/dist/interactions/actions/insert/shape.js +2 -3
  714. package/dist/interactions/actions/lasso-select/action.js +9 -9
  715. package/dist/interactions/actions/lasso-select/action.js.map +1 -1
  716. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +2 -3
  717. package/dist/interactions/actions/magnification.js +37 -0
  718. package/dist/interactions/actions/magnification.js.map +1 -0
  719. package/dist/interactions/actions/move/action.js +2 -3
  720. package/dist/interactions/actions/move/behaviors/layoutDrop.js +2 -3
  721. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +2 -3
  722. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +1 -2
  723. package/dist/interactions/actions/move/behaviors/snapToContainer.js +2 -3
  724. package/dist/interactions/actions/move/capture.js +6 -7
  725. package/dist/interactions/actions/move/commit/index.js +2 -3
  726. package/dist/interactions/actions/move/commit/layoutDrop.js +4 -5
  727. package/dist/interactions/actions/move/commit/layoutRelease.js +7 -8
  728. package/dist/interactions/actions/move/commit/rebase.js +2 -3
  729. package/dist/interactions/actions/move/commit/reparent.js +5 -6
  730. package/dist/interactions/actions/move/delta.js +2 -3
  731. package/dist/interactions/actions/move/frame.js +2 -3
  732. package/dist/interactions/actions/move/gestureAdapter.js +1 -2
  733. package/dist/interactions/actions/move/landedDescendants.js +2 -3
  734. package/dist/interactions/actions/move/layout/container.js +3 -4
  735. package/dist/interactions/actions/move/layout/dragged.js +2 -3
  736. package/dist/interactions/actions/move/layout/dropPass.js +5 -6
  737. package/dist/interactions/actions/move/layout/exits.js +2 -3
  738. package/dist/interactions/actions/move/layout/glide.js +2 -3
  739. package/dist/interactions/actions/move/layout/view.js +1 -2
  740. package/dist/interactions/actions/move/refusal.js +2 -3
  741. package/dist/interactions/actions/move/session.js +4 -5
  742. package/dist/interactions/actions/move/translate.js +2 -3
  743. package/dist/interactions/actions/moveNodes.js +5 -6
  744. package/dist/interactions/actions/notices.js +16 -0
  745. package/dist/interactions/actions/notices.js.map +1 -0
  746. package/dist/interactions/actions/outlines/createOutlines.js +9 -8
  747. package/dist/interactions/actions/outlines/createOutlines.js.map +1 -1
  748. package/dist/interactions/actions/outlines/createOutlinesAction.js +14 -10
  749. package/dist/interactions/actions/outlines/createOutlinesAction.js.map +1 -1
  750. package/dist/interactions/actions/outlines/outlineStroke.js +2 -3
  751. package/dist/interactions/actions/outlines/outlineStrokeAction.js +5 -5
  752. package/dist/interactions/actions/outlines/outlineStrokeAction.js.map +1 -1
  753. package/dist/interactions/actions/outlines/replaceWithPaths.js +5 -6
  754. package/dist/interactions/actions/outlines/strokeRegion.js +1 -2
  755. package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js +1 -2
  756. package/dist/interactions/actions/pathCommands/cutJoin.js +3 -4
  757. package/dist/interactions/actions/pathCommands/livePathEdit.js +3 -4
  758. package/dist/interactions/actions/pathCommands/pathNodes.js +2 -3
  759. package/dist/interactions/actions/pathCommands/simplifyOffset.js +2 -3
  760. package/dist/interactions/actions/pathGestureTags.js +1 -2
  761. package/dist/interactions/actions/planeInput.js +2 -3
  762. package/dist/interactions/actions/pointerState.js +1 -2
  763. package/dist/interactions/actions/poseDescriptorDep.js +1 -2
  764. package/dist/interactions/actions/poseFrame.js +3 -4
  765. package/dist/interactions/actions/resize/action.js +3 -4
  766. package/dist/interactions/actions/resize/aspect.js +1 -2
  767. package/dist/interactions/actions/resize/behaviors/clampMinSize.js +1 -2
  768. package/dist/interactions/actions/resize/boxFrame.js +1 -2
  769. package/dist/interactions/actions/resize/capture.js +7 -8
  770. package/dist/interactions/actions/resize/commit.js +3 -4
  771. package/dist/interactions/actions/resize/cornerHandles.js +1 -2
  772. package/dist/interactions/actions/resize/frame.js +7 -8
  773. package/dist/interactions/actions/resize/held.js +2 -3
  774. package/dist/interactions/actions/resize/minimum.js +1 -2
  775. package/dist/interactions/actions/resize/replay.js +1 -2
  776. package/dist/interactions/actions/resize/ruleBounds.js +1 -2
  777. package/dist/interactions/actions/resize/session.js +9 -10
  778. package/dist/interactions/actions/resolveOverlays.js +1 -2
  779. package/dist/interactions/actions/resolvePreviews.js +3 -4
  780. package/dist/interactions/actions/rotate/action.js +5 -6
  781. package/dist/interactions/actions/rotate/commit.js +2 -3
  782. package/dist/interactions/actions/rotate/frame.js +3 -4
  783. package/dist/interactions/actions/rotate/geometry.js +1 -2
  784. package/dist/interactions/actions/rotate/handle.js +2 -3
  785. package/dist/interactions/actions/rotate/replay.js +2 -3
  786. package/dist/interactions/actions/rotate/session.js +10 -11
  787. package/dist/interactions/actions/selectionSubtree.js +7 -22
  788. package/dist/interactions/actions/selectionSubtree.js.map +1 -1
  789. package/dist/interactions/actions/spatialReference.js +1 -2
  790. package/dist/interactions/actions/testUtils.js +1 -9
  791. package/dist/interactions/actions/testUtils.js.map +1 -1
  792. package/dist/interactions/actions/transform-again/action.js +5 -6
  793. package/dist/interactions/actions/transform-again/memory.js +1 -2
  794. package/dist/interactions/actions/transformFinish.js +1 -2
  795. package/dist/interactions/actions/useActionSet.js +1 -2
  796. package/dist/interactions/actions/useNotices.js +12 -0
  797. package/dist/interactions/actions/useNotices.js.map +1 -0
  798. package/dist/interactions/actions/useStandardActions.js +1 -2
  799. package/dist/interactions/gestures/dragGesture/dragGesture.js +1 -2
  800. package/dist/interactions/gestures/dragGesture/dragPointOf.js +1 -2
  801. package/dist/interactions/gestures/dragRadial/dragRadial.js +2 -3
  802. package/dist/interactions/gestures/dragRect/dragRect.js +2 -3
  803. package/dist/interactions/gestures/handleDrag/handleDrag.js +1 -2
  804. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +1 -2
  805. package/dist/interactions/gestures/shared/originProjection.js +1 -2
  806. package/dist/interactions/gestures/shared/screenTolerance.js +1 -2
  807. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +1 -2
  808. package/dist/kitSettingsSchema.js +4 -5
  809. package/dist/test-hook/createTestHook.js +1 -2
  810. package/dist/test-hook/install.js +1 -2
  811. package/dist/test-hook/useTestHook.js +1 -2
  812. package/dist/test-seams.d.ts +7 -14
  813. package/dist/test-seams.js +2 -2
  814. package/dist/tools/builtin/anchors/anchorsTool.js +30 -0
  815. package/dist/tools/builtin/anchors/anchorsTool.js.map +1 -0
  816. package/dist/tools/builtin/ellipse/useEllipseTool.js +2 -3
  817. package/dist/tools/builtin/eyedropper/useEyedropperTool.js +1 -2
  818. package/dist/tools/builtin/hand/dragPanContribution.js +1 -2
  819. package/dist/tools/builtin/hand/useHandTool.js +1 -2
  820. package/dist/tools/builtin/image/useImageTool.js +1 -2
  821. package/dist/tools/builtin/lasso/useLassoTool.js +1 -2
  822. package/dist/tools/builtin/line/useLineTool.js +2 -3
  823. package/dist/tools/builtin/measure/useMeasureTool.js +2 -3
  824. package/dist/tools/builtin/pen/penHandle.js +1 -2
  825. package/dist/tools/builtin/pen/usePenTool.js +6 -7
  826. package/dist/tools/builtin/pencil/usePencilTool.js +1 -2
  827. package/dist/tools/builtin/pickTopMostHit.js +1 -2
  828. package/dist/tools/builtin/polygon/usePolygonTool.js +2 -3
  829. package/dist/tools/builtin/pressTarget.js +1 -2
  830. package/dist/tools/builtin/rect/useRectTool.js +2 -3
  831. package/dist/tools/builtin/select/adapterPointQuery.js +3 -4
  832. package/dist/tools/builtin/select/collapseDeferred.js +1 -2
  833. package/dist/tools/builtin/select/groupEntry.js +2 -3
  834. package/dist/tools/builtin/select/pressDecision.js +3 -4
  835. package/dist/tools/builtin/select/pressDecision.js.map +1 -1
  836. package/dist/tools/builtin/select/selectionContributions.js +1 -2
  837. package/dist/tools/builtin/select/useSelectTool.js +5 -6
  838. package/dist/tools/builtin/shared/insertToolOptions.js +1 -2
  839. package/dist/tools/builtin/shared/pointerFollower.js +1 -2
  840. package/dist/tools/builtin/slice/useSliceTool.js +5 -6
  841. package/dist/tools/builtin/star/useStarTool.js +2 -3
  842. package/dist/tools/builtin/sticky/stickyNode.js +1 -2
  843. package/dist/tools/builtin/sticky/useStickyTool.js +2 -3
  844. package/dist/tools/builtin/text/useTextTool.js +1 -2
  845. package/dist/tools/index.js +4 -2
  846. package/dist/tools/overlayBinding.js +1 -2
  847. package/dist/tools/toolOptions.js +60 -0
  848. package/dist/tools/toolOptions.js.map +1 -0
  849. package/dist/tools/useKeybindings.js +1 -2
  850. package/dist/{types-DW14eu9B.d.ts → types-BUvUXZe5.d.ts} +3 -3
  851. package/dist/util/color.js +1 -2
  852. package/dist/util/paint.js +1 -2
  853. package/dist/version.js +2 -3
  854. package/package.json +27 -27
  855. package/dist/interactions/actions/defaults/pathEditTools.js +0 -60
  856. package/dist/interactions/actions/defaults/pathEditTools.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { pressTarget } from "../tools/builtin/pressTarget.js";
2
2
 
3
- //#region src/canvas/doubleClickTarget.ts
3
+ // src/canvas/doubleClickTarget.ts
4
4
  /**
5
5
  * The node a double-click on `hitId` names: what a press there would select, taken inside
6
6
  * `scope` (`pressTarget`). So a double-click on a grouped member names the outermost group
@@ -13,6 +13,5 @@ function doubleClickTarget(hitId, tree) {
13
13
  }, hitId, tree.scope);
14
14
  }
15
15
 
16
- //#endregion
17
16
  export { doubleClickTarget };
18
17
  //# sourceMappingURL=doubleClickTarget.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/drawEnvelope.ts
1
+ // src/canvas/drawEnvelope.ts
2
2
  function thunk(data, key) {
3
3
  const maybe = data;
4
4
  return typeof maybe?.[key] === "function" ? maybe[key] : void 0;
@@ -30,6 +30,5 @@ function debugSinkFrom(data) {
30
30
  var EMPTY_SOURCES = [];
31
31
  var EMPTY_OVERLAYS = [];
32
32
 
33
- //#endregion
34
33
  export { chromeStateFrom, debugSinkFrom, gestureOverlaysFrom, isVisibleFrom, previewSourcesFrom };
35
34
  //# sourceMappingURL=drawEnvelope.js.map
@@ -1,13 +1,13 @@
1
1
  import { inheritedPaintIn } from "../core/scene/inheritedPaint.js";
2
- import { axisAlignedBounds, unionBounds } from "../core/geometry/unionBounds.js";
3
2
  import { framedBounds, poseDescriptorForNode } from "../core/geometry/poseDescriptor.js";
4
- import { AUTO_POSE_DESCRIPTOR } from "../core/geometry/autoPoseDescriptor.js";
5
- import { targetCorners, targetTransformOf, worldToLocal } from "../core/geometry/targetFrame.js";
6
3
  import { NO_INK_EXTENTS, inkExtentsBetween, outsetBox } from "../core/geometry/inkExtents.js";
4
+ import { targetCorners, targetTransformOf, worldToLocal } from "../core/geometry/targetFrame.js";
5
+ import { axisAlignedBounds, unionBounds } from "../core/geometry/unionBounds.js";
6
+ import { AUTO_POSE_DESCRIPTOR } from "../core/geometry/autoPoseDescriptor.js";
7
7
  import { findNodeShape } from "./NodeShape.js";
8
8
  import { boundsOfPath, meanScale } from "@weasel-js/geom";
9
9
 
10
- //#region src/canvas/drawnBounds.ts
10
+ // src/canvas/drawnBounds.ts
11
11
  /**
12
12
  * The box of a node as drawn — its pose box with the stroke included — which
13
13
  * is what selection chrome, resize, rotate, and alignment sit on. Places that
@@ -154,6 +154,5 @@ function normalized(b) {
154
154
  };
155
155
  }
156
156
 
157
- //#endregion
158
157
  export { drawnAABBOf, drawnBoundsOf, findShapeDrawnBounds, inkExtentsOf };
159
158
  //# sourceMappingURL=drawnBounds.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/getNodeAtPoint.ts
1
+ // src/canvas/getNodeAtPoint.ts
2
2
  /** The node a single-hit picker names under a world point, with its kind:
3
3
  * `'unknown'` when `nodeResolver` is absent or returns null. */
4
4
  function makeGetNodeAtPoint(pickBest, nodeResolver) {
@@ -12,6 +12,5 @@ function makeGetNodeAtPoint(pickBest, nodeResolver) {
12
12
  };
13
13
  }
14
14
 
15
- //#endregion
16
15
  export { makeGetNodeAtPoint };
17
16
  //# sourceMappingURL=getNodeAtPoint.js.map
@@ -1,6 +1,6 @@
1
1
  import { clampRectWithin } from "@weasel-js/geom";
2
2
 
3
- //#region src/canvas/hostAnchor.ts
3
+ // src/canvas/hostAnchor.ts
4
4
  function insetAlong(start, extent, size, align, by) {
5
5
  if (align === "start") return start + by;
6
6
  if (align === "end") return start + extent - size - by;
@@ -41,6 +41,5 @@ function hostAnchorCss(rect, align, viewport) {
41
41
  };
42
42
  }
43
43
 
44
- //#endregion
45
44
  export { hostAnchorCss, hostAnchorRect };
46
45
  //# sourceMappingURL=hostAnchor.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/hud.module.css
1
+ // src/canvas/hud.module.css
2
2
  var hud = "_hud_4467cb";
3
3
  var sized = "_sized_4467cb";
4
4
  var readings = "_readings_4467cb _numeric_25fd0b";
@@ -24,6 +24,5 @@ var hud_module_default = {
24
24
  stack
25
25
  };
26
26
 
27
- //#endregion
28
27
  export { absent, hud_module_default as default, header, hud, item, itemBest, list, muted, readings, row, sized, stack };
29
28
  //# sourceMappingURL=hud.module.js.map
@@ -1,7 +1,7 @@
1
1
  import { inheritedPaintIn, inheritedPaintOf, sceneAncestors } from "../core/scene/inheritedPaint.js";
2
2
  import { INHERIT } from "@weasel-js/paint";
3
3
 
4
- //#region src/canvas/inheritedPaints.ts
4
+ // src/canvas/inheritedPaints.ts
5
5
  var INHERITS_BOTH = { data: {
6
6
  fill: INHERIT,
7
7
  stroke: INHERIT
@@ -50,6 +50,5 @@ function withInheritedPaintBounds(scene, paintBounds) {
50
50
  };
51
51
  }
52
52
 
53
- //#endregion
54
53
  export { inheritedPaintIn, paintAbove, sceneInheritedPaintOf, withInheritedPaintBounds, withInheritedPaints };
55
54
  //# sourceMappingURL=inheritedPaints.js.map
@@ -1,6 +1,6 @@
1
1
  import { boundsOfPath, regularPolygonPath, starPath } from "@weasel-js/geom";
2
2
 
3
- //#region src/canvas/insertPreviewExtent.ts
3
+ // src/canvas/insertPreviewExtent.ts
4
4
  /** Resolve an in-flight insert's geometry and world AABB. Uses the geometry in
5
5
  * `extras` where the shape carries it; an unknown shape falls back to its drag rect. */
6
6
  function insertPreviewExtent(ov) {
@@ -121,6 +121,5 @@ function aabbOf(pts) {
121
121
  };
122
122
  }
123
123
 
124
- //#endregion
125
124
  export { insertPreviewExtent };
126
125
  //# sourceMappingURL=insertPreviewExtent.js.map
@@ -1,6 +1,6 @@
1
1
  import { VERSION } from "../version.js";
2
2
 
3
- //#region src/canvas/kitRequirements.ts
3
+ // src/canvas/kitRequirements.ts
4
4
  /**
5
5
  * Version negotiation for contributions: a `requires` map of semver ranges,
6
6
  * matched against the versions the running kit packages report.
@@ -211,6 +211,5 @@ function checkRequirements(requires, running = KIT_VERSIONS) {
211
211
  return out;
212
212
  }
213
213
 
214
- //#endregion
215
214
  export { KIT_VERSIONS, checkRequirements, satisfiesRange };
216
215
  //# sourceMappingURL=kitRequirements.js.map
@@ -1,7 +1,7 @@
1
1
  import { isLayerPainted } from "../core/layers/render.js";
2
2
  import { NO_LAYER_VISIBILITY } from "./useExtraLayers.js";
3
3
 
4
- //#region src/canvas/layerHover.ts
4
+ // src/canvas/layerHover.ts
5
5
  /** Deliver an uncaptured hover, and the pointer leaving, to every painted layer that asks. */
6
6
  function layerHover(layers, frame) {
7
7
  return {
@@ -23,6 +23,5 @@ function layerHover(layers, frame) {
23
23
  };
24
24
  }
25
25
 
26
- //#endregion
27
26
  export { layerHover };
28
27
  //# sourceMappingURL=layerHover.js.map
@@ -1,6 +1,6 @@
1
1
  import { STANDARD_SLOTS, isCustomEntry } from "./layerSlots.js";
2
2
 
3
- //#region src/canvas/layerOrder.ts
3
+ // src/canvas/layerOrder.ts
4
4
  var STANDARD_SLOT_SET = new Set(STANDARD_SLOTS);
5
5
  /**
6
6
  * Compose the final ordered layer list from a layersMap and the resolved
@@ -118,6 +118,5 @@ function placeToolOverlays(ordered, selectionOverlay, overlays) {
118
118
  return ordered;
119
119
  }
120
120
 
121
- //#endregion
122
121
  export { composeOrderedLayers, placeToolOverlays };
123
122
  //# sourceMappingURL=layerOrder.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/layerSlots.ts
1
+ // src/canvas/layerSlots.ts
2
2
  /** Standard slot names — render in this canonical order.
3
3
  * `cellHighlight` is not an anchor for custom layers: it sits between the
4
4
  * grid and the scene, so anchor to one of those. */
@@ -21,6 +21,5 @@ function builtLayersOf(map) {
21
21
  return out;
22
22
  }
23
23
 
24
- //#endregion
25
24
  export { STANDARD_SLOTS, builtLayersOf, isCustomEntry };
26
25
  //# sourceMappingURL=layerSlots.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/mountedCanvases.ts
1
+ // src/canvas/mountedCanvases.ts
2
2
  var mounted = /* @__PURE__ */ new Map();
3
3
  /** Register `entry` until the returned disposer runs. */
4
4
  function registerMountedCanvas(entry) {
@@ -25,6 +25,5 @@ function findMountedCanvas(root, hint) {
25
25
  return first;
26
26
  }
27
27
 
28
- //#endregion
29
28
  export { findMountedCanvas, registerMountedCanvas };
30
29
  //# sourceMappingURL=mountedCanvases.js.map
@@ -1,12 +1,12 @@
1
1
  import { derivedPartsOf, resolvePartPaint } from "../../core/scene/derivedParts.js";
2
2
  import { derivesPath } from "./memo.js";
3
- import { inkReach, withAnimatedVertexColors } from "./nodePaint.js";
4
3
  import { strokedBounds } from "./strokedBounds.js";
4
+ import { inkReach, withAnimatedVertexColors } from "./nodePaint.js";
5
5
  import { commandFill, commandStroke } from "@weasel-js/renderer";
6
6
  import { boundsOfPath } from "@weasel-js/geom";
7
7
  import { resolveFill, resolveStroke } from "@weasel-js/paint";
8
8
 
9
- //#region src/canvas/nodeShapes/derivedPainter.ts
9
+ // src/canvas/nodeShapes/derivedPainter.ts
10
10
  function pathCommand(path, declared, strokeSpec, vertexColors) {
11
11
  const box = boundsOfPath(path);
12
12
  const fill = declared && commandFill(declared, box);
@@ -76,6 +76,5 @@ var DERIVED_PAINTER = {
76
76
  }
77
77
  };
78
78
 
79
- //#endregion
80
79
  export { DERIVED_PAINTER, derivedDrawnBounds };
81
80
  //# sourceMappingURL=derivedPainter.js.map
@@ -2,7 +2,7 @@ import { paintsPose, poseBoxBounds } from "./poseBox.js";
2
2
  import { getImageBitmap, imageStatus } from "@weasel-js/renderer";
3
3
  import { linePath } from "@weasel-js/geom";
4
4
 
5
- //#region src/canvas/nodeShapes/imagePainter.ts
5
+ // src/canvas/nodeShapes/imagePainter.ts
6
6
  function sourceInPixels(s, bmp) {
7
7
  return {
8
8
  x: s.x * bmp.width,
@@ -98,6 +98,5 @@ var IMAGE_PLACEHOLDER_STROKE = {
98
98
  width: 1
99
99
  };
100
100
 
101
- //#endregion
102
101
  export { IMAGE_PAINTER, IMAGE_PLACEHOLDER_STROKE, drawnSize, sourceInPixels };
103
102
  //# sourceMappingURL=imagePainter.js.map
@@ -1,9 +1,9 @@
1
- import { paintsPose } from "./poseBox.js";
2
1
  import { OVERLAY_ROLE_STROKES } from "../overlayRoleStrokes.js";
3
2
  import { measureEndsOf } from "../../domains/measure/measurement.js";
3
+ import { paintsPose } from "./poseBox.js";
4
4
  import { polylineFromPoints } from "@weasel-js/geom";
5
5
 
6
- //#region src/canvas/nodeShapes/measurePainter.ts
6
+ // src/canvas/nodeShapes/measurePainter.ts
7
7
  /** Screen-px half-length of the tick across each end of a measurement. */
8
8
  var MEASURE_TICK_PX = 5;
9
9
  /**
@@ -53,6 +53,5 @@ var MEASURE_PAINTER = {
53
53
  }
54
54
  };
55
55
 
56
- //#endregion
57
56
  export { MEASURE_PAINTER, MEASURE_TICK_PX, measureCommands };
58
57
  //# sourceMappingURL=measurePainter.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/nodeShapes/memo.ts
1
+ // src/canvas/nodeShapes/memo.ts
2
2
  /**
3
3
  * Slot for a painter's memoized `paint` output.
4
4
  *
@@ -15,6 +15,5 @@ function derivesPath(node) {
15
15
  return (node.dependsOn?.length ?? 0) > 0 && node.derivePath !== void 0;
16
16
  }
17
17
 
18
- //#endregion
19
18
  export { PAINT_SLOT, derivesPath };
20
19
  //# sourceMappingURL=memo.js.map
@@ -4,7 +4,7 @@ import { countPathAnchors } from "@weasel-js/geom";
4
4
  import { resolveFill, resolveStroke } from "@weasel-js/paint";
5
5
  import { markerReach, resolveStrokeWidth, widestStrokeWidth } from "@weasel-js/stroke";
6
6
 
7
- //#region src/canvas/nodeShapes/nodePaint.ts
7
+ // src/canvas/nodeShapes/nodePaint.ts
8
8
  paintDrawKindRegistry.subscribe(bumpNodeMemoGeneration);
9
9
  /** Per-side grab reach for a resolved stroke: world units for what the
10
10
  * renderer builds in world, screen pixels for what it builds on screen — a
@@ -115,6 +115,5 @@ function pathPaintOf(data, inherited) {
115
115
  } : { fill };
116
116
  }
117
117
 
118
- //#endregion
119
118
  export { inkReach, pathPaintOf, strokeOutset, strokeOutsetPerAxis, withAnimatedVertexColors };
120
119
  //# sourceMappingURL=nodePaint.js.map
@@ -1,14 +1,14 @@
1
1
  import { nodeMemo } from "../../core/scene/nodeMemo.js";
2
+ import { DERIVED_PAINTER, derivedDrawnBounds } from "./derivedPainter.js";
2
3
  import { PAINT_SLOT } from "./memo.js";
3
4
  import { inkReach, pathPaintOf, withAnimatedVertexColors } from "./nodePaint.js";
4
- import { strokedPoseBox } from "./strokedBounds.js";
5
- import { DERIVED_PAINTER, derivedDrawnBounds } from "./derivedPainter.js";
6
5
  import { paintsPose, poseBoxBounds } from "./poseBox.js";
6
+ import { strokedPoseBox } from "./strokedBounds.js";
7
7
  import { commandFill, commandStroke } from "@weasel-js/renderer";
8
8
  import { pathInPoseFrame } from "@weasel-js/geom";
9
9
  import { resolveStroke } from "@weasel-js/paint";
10
10
 
11
- //#region src/canvas/nodeShapes/pathPainter.ts
11
+ // src/canvas/nodeShapes/pathPainter.ts
12
12
  var PATH_PAINTER = {
13
13
  id: "kit:path",
14
14
  matches: (node) => {
@@ -49,6 +49,5 @@ var PATH_PAINTER = {
49
49
  }
50
50
  };
51
51
 
52
- //#endregion
53
52
  export { PATH_PAINTER };
54
53
  //# sourceMappingURL=pathPainter.js.map
@@ -1,7 +1,7 @@
1
1
  import { isRectPose } from "../../core/geometry/autoPoseDescriptor.js";
2
2
  import { strokeReachAt } from "@weasel-js/renderer";
3
3
 
4
- //#region src/canvas/nodeShapes/poseBox.ts
4
+ // src/canvas/nodeShapes/poseBox.ts
5
5
  /** Whether a built-in painter can read this pose. A node that declares none
6
6
  * passes: the pose is then the caller's argument, not the node's. */
7
7
  function paintsPose(pose) {
@@ -22,6 +22,5 @@ function poseBoxBounds(pose, stroke, ctx) {
22
22
  };
23
23
  }
24
24
 
25
- //#endregion
26
25
  export { paintsPose, poseBoxBounds };
27
26
  //# sourceMappingURL=poseBox.js.map
@@ -2,7 +2,7 @@ import { paintsPose, poseBoxBounds } from "./poseBox.js";
2
2
  import { commandFill } from "@weasel-js/renderer";
3
3
  import { resolveFill } from "@weasel-js/paint";
4
4
 
5
- //#region src/canvas/nodeShapes/rectFallbackPainter.ts
5
+ // src/canvas/nodeShapes/rectFallbackPainter.ts
6
6
  var RECT_FALLBACK_PAINTER = {
7
7
  id: "kit:rect-fallback",
8
8
  matches: (node) => node.kind !== "group" && paintsPose(node.pose),
@@ -36,6 +36,5 @@ var RECT_FALLBACK_PAINTER = {
36
36
  bounds: (_node, pose) => poseBoxBounds(pose, null, void 0)
37
37
  };
38
38
 
39
- //#endregion
40
39
  export { RECT_FALLBACK_PAINTER };
41
40
  //# sourceMappingURL=rectFallbackPainter.js.map
@@ -1,13 +1,13 @@
1
1
  import { nodeMemo } from "../../core/scene/nodeMemo.js";
2
2
  import { PAINT_SLOT } from "./memo.js";
3
3
  import { inkReach, withAnimatedVertexColors } from "./nodePaint.js";
4
- import { outsetPoseBox, strokedPoseBox } from "./strokedBounds.js";
5
4
  import { paintsPose, poseBoxBounds } from "./poseBox.js";
5
+ import { outsetPoseBox, strokedPoseBox } from "./strokedBounds.js";
6
6
  import { commandFill, commandStroke } from "@weasel-js/renderer";
7
7
  import { ellipsePath, regularPolygonPath, starPath } from "@weasel-js/geom";
8
8
  import { resolveFill, resolveStroke } from "@weasel-js/paint";
9
9
 
10
- //#region src/canvas/nodeShapes/shapePainter.ts
10
+ // src/canvas/nodeShapes/shapePainter.ts
11
11
  /** Built-in shape dispatcher — matches when `data.shape` names a kit-known
12
12
  * shape kind. Computes both paint and silhouette from the pose so consumer
13
13
  * scenes can declare clipping/rendering directly in JSON without
@@ -88,6 +88,5 @@ function pathForShape(d, p) {
88
88
  }
89
89
  }
90
90
 
91
- //#endregion
92
91
  export { SHAPE_KINDS, SHAPE_PAINTER, pathForShape };
93
92
  //# sourceMappingURL=shapePainter.js.map
@@ -5,7 +5,7 @@ import { boundsOfPath } from "@weasel-js/geom";
5
5
  import { scaleVertexWidth } from "@weasel-js/paint";
6
6
  import { markerHeads, resolveStrokeWidth, strokeInsets, tessellateStroke } from "@weasel-js/stroke";
7
7
 
8
- //#region src/canvas/nodeShapes/strokedBounds.ts
8
+ // src/canvas/nodeShapes/strokedBounds.ts
9
9
  /**
10
10
  * The box `stroke` covers along `path`, from the ribbon the renderer draws:
11
11
  * joins, caps, dashes, and per-vertex widths as tessellated, and marker heads.
@@ -174,6 +174,5 @@ function normalized(pose) {
174
174
  };
175
175
  }
176
176
 
177
- //#endregion
178
177
  export { outsetPoseBox, strokedBounds, strokedPoseBox };
179
178
  //# sourceMappingURL=strokedBounds.js.map
@@ -7,7 +7,7 @@ import { PATH_L, PATH_M, PATH_Z } from "@weasel-js/geom";
7
7
  import { INHERIT, resolveFill, resolveStroke } from "@weasel-js/paint";
8
8
  import { textLineBoxes } from "@weasel-js/text";
9
9
 
10
- //#region src/canvas/nodeShapes/textPainter.ts
10
+ // src/canvas/nodeShapes/textPainter.ts
11
11
  /** `cmd` cut to `box`: a group whose clip is the box as a rect, which the
12
12
  * renderer cuts on the CPU when the frame keeps it axis-aligned. */
13
13
  function clippedToBox(cmd, box) {
@@ -184,6 +184,5 @@ function rectsToPath(rects) {
184
184
  };
185
185
  }
186
186
 
187
- //#endregion
188
187
  export { TEXT_PAINTER, clippedToBox, rectsToPath, textBoxOf, textPoseOf };
189
188
  //# sourceMappingURL=textPainter.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/overChildren.ts
1
+ // src/canvas/overChildren.ts
2
2
  var OVER = /* @__PURE__ */ new WeakSet();
3
3
  /**
4
4
  * `cmds` as one command a scene walk paints after the node's children. Return
@@ -35,6 +35,5 @@ function splitOverChildren(cmds) {
35
35
  };
36
36
  }
37
37
 
38
- //#endregion
39
38
  export { isOverChildren, overChildren, splitOverChildren };
40
39
  //# sourceMappingURL=overChildren.js.map
@@ -1,4 +1,4 @@
1
- //#region src/canvas/overlayRoleStrokes.ts
1
+ // src/canvas/overlayRoleStrokes.ts
2
2
  /** How each `polyline` overlay role reads. An action publishes the run and
3
3
  * the word; this table is the whole of the paint, for the dispatcher overlay
4
4
  * and for any tool previewing the same kind of run between gestures. */
@@ -47,6 +47,5 @@ var OVERLAY_ROLE_STROKES = {
47
47
  }
48
48
  };
49
49
 
50
- //#endregion
51
50
  export { OVERLAY_ROLE_STROKES };
52
51
  //# sourceMappingURL=overlayRoleStrokes.js.map
@@ -1,6 +1,6 @@
1
1
  import { findShapeSilhouette } from "./NodeShape.js";
2
2
 
3
- //#region src/canvas/ownClip.ts
3
+ // src/canvas/ownClip.ts
4
4
  /**
5
5
  * What a node declaring `clip: 'outline'` clips its children to, in world
6
6
  * coordinates: the silhouette of whichever painter claims it, the rect
@@ -19,6 +19,5 @@ function ownClipOf(node, pose, derived) {
19
19
  return clipOutline(node, pose, derived);
20
20
  }
21
21
 
22
- //#endregion
23
22
  export { clipOutline, ownClipOf };
24
23
  //# sourceMappingURL=ownClip.js.map
@@ -1,7 +1,7 @@
1
1
  import { boundsMissRect } from "@weasel-js/renderer";
2
2
  import { mat3 as mat3$1, poseFrameOf, viewToMat3 as viewToMat3$1 } from "@weasel-js/geom";
3
3
 
4
- //#region src/canvas/paintCull.ts
4
+ // src/canvas/paintCull.ts
5
5
  /**
6
6
  * A predicate true for the nodes whose paint cannot reach `rect` (screen
7
7
  * pixels) under `view`, by `paintBounds` taken through the pose frame
@@ -24,6 +24,5 @@ function paintMissesView(paintBounds, view, rect) {
24
24
  };
25
25
  }
26
26
 
27
- //#endregion
28
27
  export { paintMissesView };
29
28
  //# sourceMappingURL=paintCull.js.map
@@ -1,7 +1,7 @@
1
1
  import { pathFromD } from "@weasel-js/geom";
2
2
  import { GLYPHS, chromeLineWidthScale, cursorPaintMatrix, cursorPaintOps, cursorWorldSize } from "@weasel-js/cursor";
3
3
 
4
- //#region src/canvas/paintedCursorLayer.ts
4
+ // src/canvas/paintedCursorLayer.ts
5
5
  /**
6
6
  * The painted tier: draws a cursor glyph into the scene when it is too big,
7
7
  * or too tied to the view, to be a CSS `url()` cursor.
@@ -79,6 +79,5 @@ function createPaintedCursorLayer(state) {
79
79
  };
80
80
  }
81
81
 
82
- //#endregion
83
82
  export { PAINTED_CURSOR_LAYER_ID, createPaintedCursorLayer };
84
83
  //# sourceMappingURL=paintedCursorLayer.js.map
@@ -2,7 +2,7 @@ import { commandFill, commandStroke } from "@weasel-js/renderer";
2
2
  import { boundsOfPath } from "@weasel-js/geom";
3
3
  import { createEmitter } from "@weasel-js/registry";
4
4
 
5
- //#region src/canvas/pathOverlay.ts
5
+ // src/canvas/pathOverlay.ts
6
6
  /**
7
7
  * Paths that are no node, drawn over the scene: a region a tool would take,
8
8
  * the result an operation would make before it is applied.
@@ -78,6 +78,5 @@ function createPathOverlay({ id, label = "Transient paths", roles }) {
78
78
  };
79
79
  }
80
80
 
81
- //#endregion
82
81
  export { PATH_OVERLAY_ROLES, createPathOverlay };
83
82
  //# sourceMappingURL=pathOverlay.js.map
@@ -1,10 +1,10 @@
1
- import { framedBounds, poseDescriptorForNode } from "../../core/geometry/poseDescriptor.js";
2
- import { AUTO_POSE_DESCRIPTOR, isPathLike, isRectPose } from "../../core/geometry/autoPoseDescriptor.js";
3
1
  import { findShapeInk } from "../NodeShape.js";
2
+ import { AUTO_POSE_DESCRIPTOR, isPathLike, isRectPose } from "../../core/geometry/autoPoseDescriptor.js";
3
+ import { framedBounds, poseDescriptorForNode } from "../../core/geometry/poseDescriptor.js";
4
4
  import { regionBoundsOf } from "../../core/geometry/regionHit.js";
5
5
  import { applyToPoint, boundsOfPath, poseFrameOf } from "@weasel-js/geom";
6
6
 
7
- //#region src/canvas/pickIndex/nodeBroadBox.ts
7
+ // src/canvas/pickIndex/nodeBroadBox.ts
8
8
  /**
9
9
  * One node's box in the pick index: a world box that every query's `hits`
10
10
  * accepts only inside of, before that query's own screen-pixel slop.
@@ -81,6 +81,5 @@ function nodeBroadBox(node, pose, derived, inherited, descriptor, out) {
81
81
  return Math.max(0, ink?.outsetPx ?? 0);
82
82
  }
83
83
 
84
- //#endregion
85
84
  export { nodeBroadBox };
86
85
  //# sourceMappingURL=nodeBroadBox.js.map
@@ -1,14 +1,14 @@
1
- import { nodeMemoGeneration } from "../../core/scene/nodeMemo.js";
1
+ import { getNodeShapes } from "../NodeShape.js";
2
2
  import { inheritedPaintOf, inheritsPaint } from "../../core/scene/inheritedPaint.js";
3
3
  import { nodesAsShown } from "../../core/scene/nodeAsShown.js";
4
- import { getNodeShapes } from "../NodeShape.js";
4
+ import { nodeMemoGeneration } from "../../core/scene/nodeMemo.js";
5
5
  import { scenePaintedPoseOf } from "../derivedPath.js";
6
6
  import { sceneParentsOf, sceneShownPathOf } from "../scenePickReads.js";
7
7
  import { nodeBroadBox } from "./nodeBroadBox.js";
8
8
  import { markerGeneration } from "@weasel-js/stroke";
9
9
  import { createBvh, createSettledCache } from "@weasel-js/geom/nd";
10
10
 
11
- //#region src/canvas/pickIndex/scenePickIndex.ts
11
+ // src/canvas/pickIndex/scenePickIndex.ts
12
12
  /**
13
13
  * The per-scene pick index: one BVH per scene layer over every node's broad
14
14
  * box (`nodeBroadBox`), keyed by the node's place in the render order it was
@@ -201,6 +201,5 @@ function indexedCandidates(scene, descriptor, broadFor) {
201
201
  return index.candidates(broads);
202
202
  }
203
203
 
204
- //#endregion
205
204
  export { indexedCandidates };
206
205
  //# sourceMappingURL=scenePickIndex.js.map
@@ -1,26 +1,25 @@
1
- //#region src/canvas/pickReach.ts
1
+ // src/canvas/pickReach.ts
2
2
  /**
3
3
  * Whether `q` lands on `node` anywhere it is painted: as authored, or in any
4
- * copy an ancestor draws of it. `parents` is innermost first.
4
+ * copy an ancestor draws of it. `parentsOf` answers innermost first.
5
5
  *
6
6
  * A copy is the clipped content transformed, so the query is carried into the
7
7
  * copy's source frame before the copying container's own clip is asked, and
8
8
  * every clip below it is asked in that frame too.
9
9
  *
10
- * `parents` is called only when the answer needs it — always when
10
+ * `parentsOf` is called only when the answer needs it — always when
11
11
  * `copying` says some container in the walk draws copies, otherwise only
12
12
  * after the node hits as authored.
13
13
  */
14
14
  function reaches(node, pose, derived, inherited, q, parentsOf, copying, look) {
15
- const admits = (query, ancestor) => {
16
- const clip = look.clipOf(ancestor);
17
- return clip === null || query.clipAdmits(look.carry(clip, ancestor.layer, node.layer), node, pose, derived);
18
- };
19
- const parents = copying && q.inCopy !== void 0 ? parentsOf() : null;
15
+ const parents = copying && q.inCopy !== void 0 ? parentsOf(node) : null;
20
16
  if (parents === null || !parents.some((a) => look.copiesOf(a).length > 0)) {
21
17
  if (!q.hits(node, pose, derived, inherited)) return false;
22
- return (parents ?? parentsOf()).every((a) => admits(q, a));
18
+ const all = parents ?? parentsOf(node);
19
+ for (let i = 0; i < all.length; i++) if (!admitsIn(look, q, all[i], node, pose, derived)) return false;
20
+ return true;
23
21
  }
22
+ const admits = (query, ancestor) => admitsIn(look, query, ancestor, node, pose, derived);
24
23
  const outermostFirst = [...parents].reverse();
25
24
  const from = (i, query) => {
26
25
  if (i === outermostFirst.length) return query.hits(node, pose, derived, inherited);
@@ -34,7 +33,11 @@ function reaches(node, pose, derived, inherited, q, parentsOf, copying, look) {
34
33
  };
35
34
  return from(0, q);
36
35
  }
36
+ /** Whether `ancestor`'s clip, carried into `node`'s plane, leaves `query` anything of it. */
37
+ function admitsIn(look, query, ancestor, node, pose, derived) {
38
+ const clip = look.clipOf(ancestor);
39
+ return clip === null || query.clipAdmits(look.carry(clip, ancestor.layer, node.layer), node, pose, derived);
40
+ }
37
41
 
38
- //#endregion
39
42
  export { reaches };
40
43
  //# sourceMappingURL=pickReach.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pickReach.js","names":[],"sources":["../../src/canvas/pickReach.ts"],"sourcesContent":["import type { Affine, Path } from '@weasel-js/geom';\nimport type { PickCandidate, PickQuery } from './pickWalk';\nimport type { InheritedPaint } from 'core/scene/inheritedPaint';\n\n/** What {@link reaches} needs from the walk, each memoized per walk there. */\nexport interface ReachLookups<TPose> {\n /** An ancestor's own clip, or null. */\n clipOf(ancestor: PickCandidate<TPose>): Path | null;\n /** The maps from world into the source frame of each copy `ancestor` draws:\n * the inverses of its `copiesFromPose`. Empty when it draws none. */\n copiesOf(ancestor: PickCandidate<TPose>): readonly Affine[];\n /** A clip carried from its container's plane into the node's. */\n carry(clip: Path, fromLayer: string | undefined, toLayer: string | undefined): Path;\n}\n\n/**\n * Whether `q` lands on `node` anywhere it is painted: as authored, or in any\n * copy an ancestor draws of it. `parents` is innermost first.\n *\n * A copy is the clipped content transformed, so the query is carried into the\n * copy's source frame before the copying container's own clip is asked, and\n * every clip below it is asked in that frame too.\n *\n * `parents` is called only when the answer needs it — always when\n * `copying` says some container in the walk draws copies, otherwise only\n * after the node hits as authored.\n */\nexport function reaches<TPose>(\n node: PickCandidate<TPose>,\n pose: TPose,\n derived: Path | null | undefined,\n inherited: InheritedPaint | undefined,\n q: PickQuery<TPose>,\n parentsOf: () => readonly PickCandidate<TPose>[],\n copying: boolean,\n look: ReachLookups<TPose>,\n): boolean {\n const admits = (query: PickQuery<TPose>, ancestor: PickCandidate<TPose>): boolean => {\n const clip = look.clipOf(ancestor);\n return clip === null\n || query.clipAdmits(look.carry(clip, ancestor.layer, node.layer), node, pose, derived);\n };\n\n const parents = copying && q.inCopy !== undefined ? parentsOf() : null;\n if (parents === null || !parents.some((a) => look.copiesOf(a).length > 0)) {\n if (!q.hits(node, pose, derived, inherited)) return false;\n return (parents ?? parentsOf()).every((a) => admits(q, a));\n }\n\n const outermostFirst = [...parents].reverse();\n const from = (i: number, query: PickQuery<TPose>): boolean => {\n if (i === outermostFirst.length) return query.hits(node, pose, derived, inherited);\n const ancestor = outermostFirst[i];\n if (admits(query, ancestor) && from(i + 1, query)) return true;\n for (const m of look.copiesOf(ancestor)) {\n const inCopy = query.inCopy?.(m);\n if (inCopy !== undefined && admits(inCopy, ancestor) && from(i + 1, inCopy)) return true;\n }\n return false;\n };\n return from(0, q);\n}\n"],"mappings":";;;;;;;;;;;;;AA2BA,SAAgB,QACd,MACA,MACA,SACA,WACA,GACA,WACA,SACA,MACS;CACT,MAAM,UAAU,OAAyB,aAA4C;EACnF,MAAM,OAAO,KAAK,OAAO,QAAQ;EACjC,OAAO,SAAS,QACX,MAAM,WAAW,KAAK,MAAM,MAAM,SAAS,OAAO,KAAK,KAAK,GAAG,MAAM,MAAM,OAAO;CACzF;CAEA,MAAM,UAAU,WAAW,EAAE,WAAW,SAAY,UAAU,IAAI;CAClE,IAAI,YAAY,QAAQ,CAAC,QAAQ,MAAM,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;EACzE,IAAI,CAAC,EAAE,KAAK,MAAM,MAAM,SAAS,SAAS,GAAG,OAAO;EACpD,QAAQ,WAAW,UAAU,EAAA,CAAG,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC;CAC3D;CAEA,MAAM,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ;CAC5C,MAAM,QAAQ,GAAW,UAAqC;EAC5D,IAAI,MAAM,eAAe,QAAQ,OAAO,MAAM,KAAK,MAAM,MAAM,SAAS,SAAS;EACjF,MAAM,WAAW,eAAe;EAChC,IAAI,OAAO,OAAO,QAAQ,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,OAAO;EAC1D,KAAK,MAAM,KAAK,KAAK,SAAS,QAAQ,GAAG;GACvC,MAAM,SAAS,MAAM,SAAS,CAAC;GAC/B,IAAI,WAAW,UAAa,OAAO,QAAQ,QAAQ,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO;EACtF;EACA,OAAO;CACT;CACA,OAAO,KAAK,GAAG,CAAC;AAClB"}
1
+ {"version":3,"file":"pickReach.js","names":[],"sources":["../../src/canvas/pickReach.ts"],"sourcesContent":["import type { Affine, Path } from '@weasel-js/geom';\nimport type { PickCandidate, PickQuery } from './pickWalk';\nimport type { InheritedPaint } from 'core/scene/inheritedPaint';\n\n/** What {@link reaches} needs from the walk, each memoized per walk there. */\nexport interface ReachLookups<TPose> {\n /** An ancestor's own clip, or null. */\n clipOf(ancestor: PickCandidate<TPose>): Path | null;\n /** The maps from world into the source frame of each copy `ancestor` draws:\n * the inverses of its `copiesFromPose`. Empty when it draws none. */\n copiesOf(ancestor: PickCandidate<TPose>): readonly Affine[];\n /** A clip carried from its container's plane into the node's. */\n carry(clip: Path, fromLayer: string | undefined, toLayer: string | undefined): Path;\n}\n\n/**\n * Whether `q` lands on `node` anywhere it is painted: as authored, or in any\n * copy an ancestor draws of it. `parentsOf` answers innermost first.\n *\n * A copy is the clipped content transformed, so the query is carried into the\n * copy's source frame before the copying container's own clip is asked, and\n * every clip below it is asked in that frame too.\n *\n * `parentsOf` is called only when the answer needs it — always when\n * `copying` says some container in the walk draws copies, otherwise only\n * after the node hits as authored.\n */\nexport function reaches<TPose>(\n node: PickCandidate<TPose>,\n pose: TPose,\n derived: Path | null | undefined,\n inherited: InheritedPaint | undefined,\n q: PickQuery<TPose>,\n parentsOf: (node: PickCandidate<TPose>) => readonly PickCandidate<TPose>[],\n copying: boolean,\n look: ReachLookups<TPose>,\n): boolean {\n const parents = copying && q.inCopy !== undefined ? parentsOf(node) : null;\n if (parents === null || !parents.some((a) => look.copiesOf(a).length > 0)) {\n if (!q.hits(node, pose, derived, inherited)) return false;\n const all = parents ?? parentsOf(node);\n for (let i = 0; i < all.length; i++) if (!admitsIn(look, q, all[i]!, node, pose, derived)) return false;\n return true;\n }\n\n const admits = (query: PickQuery<TPose>, ancestor: PickCandidate<TPose>): boolean =>\n admitsIn(look, query, ancestor, node, pose, derived);\n const outermostFirst = [...parents].reverse();\n const from = (i: number, query: PickQuery<TPose>): boolean => {\n if (i === outermostFirst.length) return query.hits(node, pose, derived, inherited);\n const ancestor = outermostFirst[i];\n if (admits(query, ancestor) && from(i + 1, query)) return true;\n for (const m of look.copiesOf(ancestor)) {\n const inCopy = query.inCopy?.(m);\n if (inCopy !== undefined && admits(inCopy, ancestor) && from(i + 1, inCopy)) return true;\n }\n return false;\n };\n return from(0, q);\n}\n\n/** Whether `ancestor`'s clip, carried into `node`'s plane, leaves `query` anything of it. */\nfunction admitsIn<TPose>(\n look: ReachLookups<TPose>,\n query: PickQuery<TPose>,\n ancestor: PickCandidate<TPose>,\n node: PickCandidate<TPose>,\n pose: TPose,\n derived: Path | null | undefined,\n): boolean {\n const clip = look.clipOf(ancestor);\n return clip === null\n || query.clipAdmits(look.carry(clip, ancestor.layer, node.layer), node, pose, derived);\n}\n"],"mappings":";;;;;;;;;;;;;AA2BA,SAAgB,QACd,MACA,MACA,SACA,WACA,GACA,WACA,SACA,MACS;CACT,MAAM,UAAU,WAAW,EAAE,WAAW,SAAY,UAAU,IAAI,IAAI;CACtE,IAAI,YAAY,QAAQ,CAAC,QAAQ,MAAM,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;EACzE,IAAI,CAAC,EAAE,KAAK,MAAM,MAAM,SAAS,SAAS,GAAG,OAAO;EACpD,MAAM,MAAM,WAAW,UAAU,IAAI;EACrC,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,MAAM,GAAG,IAAI,IAAK,MAAM,MAAM,OAAO,GAAG,OAAO;EAClG,OAAO;CACT;CAEA,MAAM,UAAU,OAAyB,aACvC,SAAS,MAAM,OAAO,UAAU,MAAM,MAAM,OAAO;CACrD,MAAM,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ;CAC5C,MAAM,QAAQ,GAAW,UAAqC;EAC5D,IAAI,MAAM,eAAe,QAAQ,OAAO,MAAM,KAAK,MAAM,MAAM,SAAS,SAAS;EACjF,MAAM,WAAW,eAAe;EAChC,IAAI,OAAO,OAAO,QAAQ,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,OAAO;EAC1D,KAAK,MAAM,KAAK,KAAK,SAAS,QAAQ,GAAG;GACvC,MAAM,SAAS,MAAM,SAAS,CAAC;GAC/B,IAAI,WAAW,UAAa,OAAO,QAAQ,QAAQ,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO;EACtF;EACA,OAAO;CACT;CACA,OAAO,KAAK,GAAG,CAAC;AAClB;;AAGA,SAAS,SACP,MACA,OACA,UACA,MACA,MACA,SACS;CACT,MAAM,OAAO,KAAK,OAAO,QAAQ;CACjC,OAAO,SAAS,QACX,MAAM,WAAW,KAAK,MAAM,MAAM,SAAS,OAAO,KAAK,KAAK,GAAG,MAAM,MAAM,OAAO;AACzF"}