@weasel-js/core 1.15.0 → 1.15.2

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 (838) hide show
  1. package/CHANGELOG.md +199 -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 -2
  7. package/dist/affordances/rotateCursor.js +1 -2
  8. package/dist/affordances/rotationHandle.js +2 -3
  9. package/dist/animation/behaviors/coast.js +1 -2
  10. package/dist/animation/behaviors/coastByWrite.js +2 -3
  11. package/dist/animation/behaviors/coastOnTargets.js +2 -3
  12. package/dist/animation/behaviors/momentum.js +1 -2
  13. package/dist/animation/clipTargets.js +1 -2
  14. package/dist/animation/departures.js +2 -3
  15. package/dist/animation/poseHelpers.js +2 -3
  16. package/dist/animation/poseTarget.js +5 -6
  17. package/dist/animation/poseTarget.js.map +1 -1
  18. package/dist/animation/poseTransition.js +1 -2
  19. package/dist/animation/reflow.js +9 -10
  20. package/dist/animation/reflow.js.map +1 -1
  21. package/dist/animation/rewind.js +1 -2
  22. package/dist/animation/rig/bindRig.js +2 -3
  23. package/dist/animation/rig/rigNode.js +3 -4
  24. package/dist/animation/rig/rigNode.js.map +1 -1
  25. package/dist/animation/rig/rigSeat.js +1 -2
  26. package/dist/animation/rig/skinBinding.js +1 -2
  27. package/dist/animation/rig/useRig.js +2 -3
  28. package/dist/animation/wrappers/animateLifecycle.js +1 -2
  29. package/dist/animation/wrappers/animateOnSetPose.js +1 -2
  30. package/dist/animation/wrappers/instantPose.js +1 -2
  31. package/dist/animation/writtenPoseTarget.js +1 -2
  32. package/dist/barrel/input.js +2 -1
  33. package/dist/barrel/interactions.js +2 -1
  34. package/dist/barrel/paint.js +2 -2
  35. package/dist/barrel/routing.js +2 -2
  36. package/dist/barrel/scene.js +2 -2
  37. package/dist/barrel/viewport.js +3 -3
  38. package/dist/canvas/Canvas.js +5 -6
  39. package/dist/canvas/CanvasView.js +6 -7
  40. package/dist/canvas/CursorCoordsHud.js +2 -3
  41. package/dist/canvas/DrawCanvas.js +3 -4
  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 +18 -66
  53. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
  54. package/dist/canvas/SceneCanvas/SceneCanvasInput.js +4 -5
  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 +1 -2
  58. package/dist/canvas/SceneCanvas/canvasPassThrough.js +1 -2
  59. package/dist/canvas/SceneCanvas/contributionFrameHooks.js +1 -2
  60. package/dist/canvas/SceneCanvas/coordTrace.js +1 -2
  61. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +3 -4
  62. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +1 -2
  63. package/dist/canvas/SceneCanvas/defaultTextEditor.js +4 -5
  64. package/dist/canvas/SceneCanvas/describePresets.js +1 -2
  65. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js +1 -2
  66. package/dist/canvas/SceneCanvas/features.js +1 -2
  67. package/dist/canvas/SceneCanvas/insertPreviewCommands.js +1 -2
  68. package/dist/canvas/SceneCanvas/mergeLayers.js +1 -2
  69. package/dist/canvas/SceneCanvas/namedPresets.js +5 -6
  70. package/dist/canvas/SceneCanvas/poseGeometry.js +1 -2
  71. package/dist/canvas/SceneCanvas/poseRegistrars.js +1 -2
  72. package/dist/canvas/SceneCanvas/presets/arrange.js +2 -3
  73. package/dist/canvas/SceneCanvas/presets/baseline.js +1 -2
  74. package/dist/canvas/SceneCanvas/presets/chrome.js +1 -2
  75. package/dist/canvas/SceneCanvas/presets/composites.js +1 -2
  76. package/dist/canvas/SceneCanvas/presets/edit.js +4 -5
  77. package/dist/canvas/SceneCanvas/presets/ingest.js +1 -2
  78. package/dist/canvas/SceneCanvas/presets/paths.js +3 -4
  79. package/dist/canvas/SceneCanvas/presets/select.js +1 -2
  80. package/dist/canvas/SceneCanvas/presets/toolDriven.js +2 -3
  81. package/dist/canvas/SceneCanvas/presets/tools.js +1 -2
  82. package/dist/canvas/SceneCanvas/presets/transform.js +2 -3
  83. package/dist/canvas/SceneCanvas/presets/view.js +2 -3
  84. package/dist/canvas/SceneCanvas/props.js +1 -2
  85. package/dist/canvas/SceneCanvas/scenePointQuery.js +2 -3
  86. package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js +1 -2
  87. package/dist/canvas/SceneCanvas/toolRegistry.js +2 -3
  88. package/dist/canvas/SceneCanvas/useActionTunings.js +1 -2
  89. package/dist/canvas/SceneCanvas/useActionsPropResolver.js +1 -2
  90. package/dist/canvas/SceneCanvas/useBakedScene.js +2 -3
  91. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +7 -8
  92. package/dist/canvas/SceneCanvas/useBuiltinTools.js +2 -3
  93. package/dist/canvas/SceneCanvas/useCanvasCamera.js +2 -3
  94. package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js +1 -2
  95. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +1 -2
  96. package/dist/canvas/SceneCanvas/useCanvasSelection.js +8 -6
  97. package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -1
  98. package/dist/canvas/SceneCanvas/useCanvasTools.js +2 -3
  99. package/dist/canvas/SceneCanvas/useChromeAffordances.js +2 -3
  100. package/dist/canvas/SceneCanvas/useContributionRoles.js +1 -2
  101. package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js +4 -5
  102. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +2 -3
  103. package/dist/canvas/SceneCanvas/useHeldModifiers.js +1 -2
  104. package/dist/canvas/SceneCanvas/useMagnificationCheck.js +41 -0
  105. package/dist/canvas/SceneCanvas/useMagnificationCheck.js.map +1 -0
  106. package/dist/canvas/SceneCanvas/useNodeAtPoint.js +1 -2
  107. package/dist/canvas/SceneCanvas/useNodeKinds.js +2 -3
  108. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +10 -11
  109. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +1 -2
  110. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +6 -7
  111. package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js +1 -2
  112. package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +1 -2
  113. package/dist/canvas/SceneCanvas/useSceneChrome.js +5 -6
  114. package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +6 -7
  115. package/dist/canvas/SceneCanvas/useScenePicking.js +5 -6
  116. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +1 -2
  117. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +7 -8
  118. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +2 -3
  119. package/dist/canvas/SceneCanvas/useSceneStandardActions.js +26 -18
  120. package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -1
  121. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +2 -3
  122. package/dist/canvas/SceneCanvas/useSurfaceRouting.js +1 -2
  123. package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js +1 -2
  124. package/dist/canvas/SceneCanvas/useToolKeybindings.js +1 -2
  125. package/dist/canvas/SceneCanvas/useViewportActions.js +3 -4
  126. package/dist/canvas/SceneCanvas/worldPointAt.js +1 -2
  127. package/dist/canvas/SceneCanvas.js +18 -17
  128. package/dist/canvas/SceneCanvas.js.map +1 -1
  129. package/dist/canvas/SceneViewCanvas.js +2 -3
  130. package/dist/canvas/SurfaceCanvas.js +1 -2
  131. package/dist/canvas/ViewMarker.js +1 -2
  132. package/dist/canvas/accentColor.js +4 -5
  133. package/dist/canvas/accentColor.js.map +1 -1
  134. package/dist/canvas/adapterDerivedPath.js +2 -3
  135. package/dist/canvas/adapterPickSource.js +1 -2
  136. package/dist/canvas/affordanceAt.js +2 -3
  137. package/dist/canvas/buildSceneLayer.js +4 -5
  138. package/dist/canvas/buildSceneTree.js +4 -5
  139. package/dist/canvas/canvasRenderer.js +1 -2
  140. package/dist/canvas/colorOverrides.js +1 -2
  141. package/dist/canvas/contextAttributes.js +1 -2
  142. package/dist/canvas/copiesAbove.js +1 -2
  143. package/dist/canvas/defaultDrawOne.js +1 -2
  144. package/dist/canvas/deps/areaSelect.js +5 -3
  145. package/dist/canvas/deps/areaSelect.js.map +1 -1
  146. package/dist/canvas/deps/booleans.js +5 -6
  147. package/dist/canvas/deps/changes.js +1 -2
  148. package/dist/canvas/deps/chromeRules.js +1 -2
  149. package/dist/canvas/deps/debug.js +1 -2
  150. package/dist/canvas/deps/dispatchSources.js +1 -2
  151. package/dist/canvas/deps/dispatcher.js +1 -2
  152. package/dist/canvas/deps/editAnchors.js +3 -4
  153. package/dist/canvas/deps/enteredGroup.js +6 -6
  154. package/dist/canvas/deps/enteredGroup.js.map +1 -1
  155. package/dist/canvas/deps/geometryProjection.js +1 -2
  156. package/dist/canvas/deps/hitTestArea.js +4 -5
  157. package/dist/canvas/deps/ingestion.js +1 -2
  158. package/dist/canvas/deps/insert.js +3 -4
  159. package/dist/canvas/deps/insertSite.js +3 -4
  160. package/dist/canvas/deps/kitSettings.js +1 -2
  161. package/dist/canvas/deps/lassoSelect.js +5 -3
  162. package/dist/canvas/deps/lassoSelect.js.map +1 -1
  163. package/dist/canvas/deps/layout.js +1 -2
  164. package/dist/canvas/deps/modeDefaultTool.js +1 -2
  165. package/dist/canvas/deps/nodeAtPoint.js +1 -2
  166. package/dist/canvas/deps/pathEditCommits.js +4 -5
  167. package/dist/canvas/deps/pathLeaf.js +1 -2
  168. package/dist/canvas/deps/pathLeafDeps.js +2 -3
  169. package/dist/canvas/deps/poseDescriptor.js +1 -2
  170. package/dist/canvas/deps/previewPaths.js +1 -2
  171. package/dist/canvas/deps/resizePolicy.js +1 -2
  172. package/dist/canvas/deps/selectionSnapshot.js +8 -4
  173. package/dist/canvas/deps/selectionSnapshot.js.map +1 -1
  174. package/dist/canvas/deps/slice.js +5 -6
  175. package/dist/canvas/deps/snap.js +3 -4
  176. package/dist/canvas/deps/surface.js +1 -2
  177. package/dist/canvas/deps/textEdit.js +1 -2
  178. package/dist/canvas/deps/transformFollowers.js +1 -2
  179. package/dist/canvas/deps/view.js +1 -2
  180. package/dist/canvas/derivedPath.js +6 -7
  181. package/dist/canvas/doubleClickTarget.js +1 -2
  182. package/dist/canvas/drawEnvelope.js +1 -2
  183. package/dist/canvas/drawnBounds.js +4 -5
  184. package/dist/canvas/getNodeAtPoint.js +1 -2
  185. package/dist/canvas/hostAnchor.js +1 -2
  186. package/dist/canvas/hud.module.js +1 -2
  187. package/dist/canvas/inheritedPaints.js +1 -2
  188. package/dist/canvas/insertPreviewExtent.js +1 -2
  189. package/dist/canvas/kitRequirements.js +1 -2
  190. package/dist/canvas/layerHover.js +1 -2
  191. package/dist/canvas/layerOrder.js +1 -2
  192. package/dist/canvas/layerSlots.js +1 -2
  193. package/dist/canvas/mountedCanvases.js +1 -2
  194. package/dist/canvas/nodeShapes/derivedPainter.js +2 -3
  195. package/dist/canvas/nodeShapes/imagePainter.js +1 -2
  196. package/dist/canvas/nodeShapes/measurePainter.js +2 -3
  197. package/dist/canvas/nodeShapes/memo.js +1 -2
  198. package/dist/canvas/nodeShapes/nodePaint.js +1 -2
  199. package/dist/canvas/nodeShapes/pathPainter.js +3 -4
  200. package/dist/canvas/nodeShapes/poseBox.js +1 -2
  201. package/dist/canvas/nodeShapes/rectFallbackPainter.js +1 -2
  202. package/dist/canvas/nodeShapes/shapePainter.js +2 -3
  203. package/dist/canvas/nodeShapes/strokedBounds.js +1 -2
  204. package/dist/canvas/nodeShapes/textPainter.js +1 -2
  205. package/dist/canvas/overChildren.js +1 -2
  206. package/dist/canvas/overlayRoleStrokes.js +1 -2
  207. package/dist/canvas/ownClip.js +1 -2
  208. package/dist/canvas/paintCull.js +1 -2
  209. package/dist/canvas/paintedCursorLayer.js +1 -2
  210. package/dist/canvas/pathOverlay.js +1 -2
  211. package/dist/canvas/pickIndex/nodeBroadBox.js +3 -4
  212. package/dist/canvas/pickIndex/scenePickIndex.js +3 -4
  213. package/dist/canvas/pickReach.js +1 -2
  214. package/dist/canvas/pickWalk.js +2 -3
  215. package/dist/canvas/planeClips.js +1 -2
  216. package/dist/canvas/poseRotation.js +1 -2
  217. package/dist/canvas/publishPreviews.js +1 -2
  218. package/dist/canvas/rasterReadback.js +1 -2
  219. package/dist/canvas/rasterToPng.js +1 -2
  220. package/dist/canvas/renderDebugSnapshot.js +1 -2
  221. package/dist/canvas/renderNeeds.js +1 -2
  222. package/dist/canvas/renderSceneToPixels.js +5 -6
  223. package/dist/canvas/sceneAdapter.js +37 -27
  224. package/dist/canvas/sceneAdapter.js.map +1 -1
  225. package/dist/canvas/sceneClipboard.js +19 -7
  226. package/dist/canvas/sceneClipboard.js.map +1 -1
  227. package/dist/canvas/sceneLayerPaint.js +1 -2
  228. package/dist/canvas/scenePickReads.js +1 -2
  229. package/dist/canvas/scenePickSource.js +5 -6
  230. package/dist/canvas/sceneSlotWiring.js +2 -3
  231. package/dist/canvas/sceneViewRender.js +5 -6
  232. package/dist/canvas/shownNodes.js +1 -2
  233. package/dist/canvas/slopsDebugLayer.js +9 -4
  234. package/dist/canvas/slopsDebugLayer.js.map +1 -1
  235. package/dist/canvas/surfaceContribution.js +1 -2
  236. package/dist/canvas/useCanvasElements.js +1 -2
  237. package/dist/canvas/useCanvasHandle.js +1 -2
  238. package/dist/canvas/useCanvasPaint.js +2 -3
  239. package/dist/canvas/useCanvasRenderer.js +1 -2
  240. package/dist/canvas/useCanvasSurface.js +1 -2
  241. package/dist/canvas/useCanvasView.js +2 -3
  242. package/dist/canvas/useClientToWorld.js +1 -2
  243. package/dist/canvas/useExtraLayers.js +1 -2
  244. package/dist/canvas/useFrameLoop.js +1 -2
  245. package/dist/canvas/useHitObserver.js +1 -2
  246. package/dist/canvas/useHostAnchor.js +1 -2
  247. package/dist/canvas/useInFlightBounds.js +6 -6
  248. package/dist/canvas/useInFlightBounds.js.map +1 -1
  249. package/dist/canvas/useLateContentRedraw.js +1 -2
  250. package/dist/canvas/useLayerStack.js +2 -3
  251. package/dist/canvas/usePaintedCursor.js +1 -2
  252. package/dist/canvas/useRedrawOn.js +1 -2
  253. package/dist/canvas/useSceneAdapter.js +1 -2
  254. package/dist/canvas/useSceneLayerList.js +1 -2
  255. package/dist/canvas/useSurfaceInput.js +1 -2
  256. package/dist/canvas/useSurfaceSize.js +1 -2
  257. package/dist/canvas/useToolCursor.js +1 -2
  258. package/dist/canvas/useViewAim.js +2 -3
  259. package/dist/canvas/useViewHelpers.js +5 -4
  260. package/dist/canvas/useViewHelpers.js.map +1 -1
  261. package/dist/canvas/useViewLayerGate.js +1 -2
  262. package/dist/canvas/useViewNesting.js +1 -2
  263. package/dist/canvas/useViewRegistrySurface.js +7 -5
  264. package/dist/canvas/useViewRegistrySurface.js.map +1 -1
  265. package/dist/canvas/viewInputs.js +1 -2
  266. package/dist/canvas/viewMarkers.js +1 -2
  267. package/dist/canvas/viewRegistry.js +6 -7
  268. package/dist/canvas/viewRegistry.js.map +1 -1
  269. package/dist/canvas/viewSnap.js +1 -2
  270. package/dist/canvas/watchElementMove.js +1 -2
  271. package/dist/canvas/wrapNodeOutput.js +1 -2
  272. package/dist/core/adapters/testing/rootsTree.js +1 -2
  273. package/dist/core/applyOps.js +1 -2
  274. package/dist/core/device/targets.js +1 -2
  275. package/dist/core/device/useDeviceProfile.js +1 -2
  276. package/dist/core/device/useTargetBasePx.js +1 -2
  277. package/dist/core/device/watchDevicePixelRatio.js +1 -2
  278. package/dist/core/geometry/autoPoseDescriptor.js +2 -3
  279. package/dist/core/geometry/booleanOfPaths.js +1 -2
  280. package/dist/core/geometry/inkExtents.js +1 -2
  281. package/dist/core/geometry/pathPoseDescriptor.js +1 -2
  282. package/dist/core/geometry/poseDescriptor.js +1 -2
  283. package/dist/core/geometry/regionHit.js +1 -2
  284. package/dist/core/geometry/targetFrame.js +1 -2
  285. package/dist/core/geometry/unionBounds.js +1 -2
  286. package/dist/core/layers/backgroundFill.js +1 -2
  287. package/dist/core/layers/children.js +1 -2
  288. package/dist/core/layers/gateLayer.js +1 -2
  289. package/dist/core/layers/layerGroup.js +1 -2
  290. package/dist/core/layers/redrawSource.js +1 -2
  291. package/dist/core/layers/render.js +1 -2
  292. package/dist/core/layers/retain.js +1 -2
  293. package/dist/core/ops/arrange.js +1 -2
  294. package/dist/core/ops/create.js +2 -3
  295. package/dist/core/ops/createHistory.js +2 -3
  296. package/dist/core/ops/delete.js +2 -3
  297. package/dist/core/ops/nodeFlags.js +1 -2
  298. package/dist/core/ops/registry.js +1 -2
  299. package/dist/core/ops/reorder/algorithms.js +1 -2
  300. package/dist/core/ops/reorder/index.js +3 -8
  301. package/dist/core/ops/reorder/index.js.map +1 -1
  302. package/dist/core/ops/reorder/setChildOrder.js +1 -2
  303. package/dist/core/ops/reparent.js +1 -2
  304. package/dist/core/ops/select.js +1 -2
  305. package/dist/core/ops/setData.js +1 -2
  306. package/dist/core/ops/setDependsOn.js +1 -2
  307. package/dist/core/ops/setLayer.js +1 -2
  308. package/dist/core/ops/setLayout.js +1 -2
  309. package/dist/core/ops/setPath.js +1 -2
  310. package/dist/core/ops/setText.js +1 -2
  311. package/dist/core/ops/slot.js +1 -2
  312. package/dist/core/ops/transform.js +1 -2
  313. package/dist/core/ops/writtenBy.js +1 -2
  314. package/dist/core/pages/fitViewToPage.js +3 -9
  315. package/dist/core/pages/fitViewToPage.js.map +1 -1
  316. package/dist/core/pages/pageEdits.js +3 -4
  317. package/dist/core/pages/pages.js +4 -11
  318. package/dist/core/pages/pages.js.map +1 -1
  319. package/dist/core/pages/pagesLayer.js +1 -2
  320. package/dist/core/paint/meshKind.js +1 -2
  321. package/dist/core/paint/meshKindLazy.js +18 -23
  322. package/dist/core/paint/meshKindLazy.js.map +1 -1
  323. package/dist/core/paint/paintKindEntry.js +1 -2
  324. package/dist/core/paint/paintKinds.js +1 -2
  325. package/dist/core/paint/registerMesh.js +1 -2
  326. package/dist/core/scene/NodeProperties.js +1 -2
  327. package/dist/core/scene/NodeRouting.js +1 -2
  328. package/dist/core/scene/annotation.js +1 -2
  329. package/dist/core/scene/appliedLog.js +1 -2
  330. package/dist/core/scene/arrivalWindow.js +2 -3
  331. package/dist/core/scene/arrivals.js +1 -2
  332. package/dist/core/scene/booleanGroup.js +1 -2
  333. package/dist/core/scene/booleanOfChildren.js +1 -2
  334. package/dist/core/scene/boundOps.js +1 -2
  335. package/dist/core/scene/carryDescendants.js +2 -3
  336. package/dist/core/scene/clipNothing.js +1 -2
  337. package/dist/core/scene/composeFrame.js +1 -2
  338. package/dist/core/scene/composePose.js +1 -2
  339. package/dist/core/scene/declaredFieldSetters.js +1 -2
  340. package/dist/core/scene/depFrame.js +1 -2
  341. package/dist/core/scene/depMemo.js +1 -2
  342. package/dist/core/scene/dependents.js +1 -2
  343. package/dist/core/scene/derivedParts.js +1 -2
  344. package/dist/core/scene/derivedPath.js +2 -3
  345. package/dist/core/scene/docValues.js +1 -2
  346. package/dist/core/scene/documentOf.js +1 -2
  347. package/dist/core/scene/editMode.js +1 -2
  348. package/dist/core/scene/editPass.js +1 -2
  349. package/dist/core/scene/effectivePose.js +3 -4
  350. package/dist/core/scene/fieldEdits.js +1 -2
  351. package/dist/core/scene/fontReads.js +1 -2
  352. package/dist/core/scene/historyFacade.js +1 -2
  353. package/dist/core/scene/historyForm.js +1 -2
  354. package/dist/core/scene/inheritedPaint.js +1 -2
  355. package/dist/core/scene/kitOps.js +16 -15
  356. package/dist/core/scene/kitOps.js.map +1 -1
  357. package/dist/core/scene/kitRegistry.js +2 -3
  358. package/dist/core/scene/layerOps.js +1 -2
  359. package/dist/core/scene/layerStack.js +1 -2
  360. package/dist/core/scene/layoutPass.js +4 -5
  361. package/dist/core/scene/lockGuard.js +1 -2
  362. package/dist/core/scene/minSize.js +1 -2
  363. package/dist/core/scene/nestedHit.js +1 -2
  364. package/dist/core/scene/nodeAsShown.js +1 -2
  365. package/dist/core/scene/nodeFlags.js +1 -2
  366. package/dist/core/scene/nodeFnFields.js +1 -2
  367. package/dist/core/scene/nodeGates.js +1 -2
  368. package/dist/core/scene/nodeMemo.js +1 -2
  369. package/dist/core/scene/nodeStore.js +2 -3
  370. package/dist/core/scene/notifier.js +1 -2
  371. package/dist/core/scene/opTable.js +1 -2
  372. package/dist/core/scene/outerOps.js +1 -2
  373. package/dist/core/scene/pathEffects/blend.js +3 -4
  374. package/dist/core/scene/pathEffects/blend.js.map +1 -1
  375. package/dist/core/scene/pathEffects/derive.js +2 -3
  376. package/dist/core/scene/pathEffects/effects.js +1 -2
  377. package/dist/core/scene/pathEffects/foundHidden.js +1 -2
  378. package/dist/core/scene/pathEffects/textAlong.js +6 -6
  379. package/dist/core/scene/pathEffects/textAlong.js.map +1 -1
  380. package/dist/core/scene/pathEffects/textAlongBands.js +1 -2
  381. package/dist/core/scene/plyStacks.js +1 -2
  382. package/dist/core/scene/poseFeed.js +1 -2
  383. package/dist/core/scene/poseHold.js +1 -2
  384. package/dist/core/scene/poseOverrides.js +1 -2
  385. package/dist/core/scene/posePlies.js +1 -2
  386. package/dist/core/scene/poseRemovals.js +1 -2
  387. package/dist/core/scene/poseSnapshot.js +1 -2
  388. package/dist/core/scene/poseWrites.js +1 -2
  389. package/dist/core/scene/reconcileSpecs.js +26 -3
  390. package/dist/core/scene/reconcileSpecs.js.map +1 -1
  391. package/dist/core/scene/recorder.js +1 -2
  392. package/dist/core/scene/renderOrder.js +1 -2
  393. package/dist/core/scene/sameValue.js +1 -2
  394. package/dist/core/scene/scene.js +23 -13
  395. package/dist/core/scene/scene.js.map +1 -1
  396. package/dist/core/scene/sceneChanges.js +1 -2
  397. package/dist/core/scene/sceneEdits.js +1 -2
  398. package/dist/core/scene/sceneJournals.js +1 -2
  399. package/dist/core/scene/sceneMutators.js +2 -3
  400. package/dist/core/scene/scenePoseAdapter.js +1 -2
  401. package/dist/core/scene/sceneRecording.js +1 -2
  402. package/dist/core/scene/sceneSelection.js +8 -5
  403. package/dist/core/scene/sceneSelection.js.map +1 -1
  404. package/dist/core/scene/sceneState.js +3 -4
  405. package/dist/core/scene/scrollOffsets.js +1 -2
  406. package/dist/core/scene/serialization.js +2 -3
  407. package/dist/core/scene/staleReplay.js +1 -2
  408. package/dist/core/scene/statedFields.js +1 -2
  409. package/dist/core/scene/strategyView.js +1 -2
  410. package/dist/core/scene/treeEdits.js +2 -3
  411. package/dist/core/scene/treeOrder.js +1 -2
  412. package/dist/core/scene/treeReads.js +1 -2
  413. package/dist/core/scene/treeShape.js +1 -2
  414. package/dist/core/scene/types.js +1 -2
  415. package/dist/core/scene/types.js.map +1 -1
  416. package/dist/core/scene/unionOfChildren.js +1 -2
  417. package/dist/core/scene/unitScopes.js +20 -4
  418. package/dist/core/scene/unitScopes.js.map +1 -1
  419. package/dist/core/scene/useScene.js +2 -3
  420. package/dist/core/scene/worldSave.js +2 -3
  421. package/dist/core/selection/chromeState.js +1 -2
  422. package/dist/core/selection/outermostSelection.js +56 -0
  423. package/dist/core/selection/outermostSelection.js.map +1 -0
  424. package/dist/core/selection/readOnlySelection.js +1 -2
  425. package/dist/core/selection/selectionTarget.js +1 -2
  426. package/dist/core/selection/usePublishSceneSelection.js +1 -2
  427. package/dist/core/selection/useSelection.js +1 -2
  428. package/dist/core/shapeKinds.js +1 -2
  429. package/dist/core/stableStringify.js +1 -2
  430. package/dist/core/stylus/stylus.js +1 -2
  431. package/dist/core/stylus/usePointerStylus.js +1 -2
  432. package/dist/core/usePaintKinds.js +1 -2
  433. package/dist/core/viewport/clampView.js +1 -2
  434. package/dist/core/viewport/clientToWorld.js +8 -3
  435. package/dist/core/viewport/clientToWorld.js.map +1 -1
  436. package/dist/core/viewport/createVelocityTracker.js +1 -2
  437. package/dist/core/viewport/fitToBounds.js +1 -2
  438. package/dist/core/viewport/fitViewToBounds.js +1 -2
  439. package/dist/core/viewport/interpolateView.js +1 -2
  440. package/dist/core/viewport/parallax.js +1 -2
  441. package/dist/core/viewport/sceneNodeClientRect.js +1 -2
  442. package/dist/core/viewport/screenSlop.js +1 -2
  443. package/dist/core/viewport/useAutoCenter.js +1 -2
  444. package/dist/core/viewport/useCanvasSize.js +1 -2
  445. package/dist/core/viewport/useDecayLoop.js +1 -2
  446. package/dist/core/viewport/useNodeOverlayFrame.js +1 -2
  447. package/dist/core/viewport/useVelocityTracker.js +1 -2
  448. package/dist/core/viewport/useViewAnimation.js +3 -4
  449. package/dist/core/viewport/view.js +1 -2
  450. package/dist/core/viewport/viewTransform.js +1 -2
  451. package/dist/core/viewport/viewportWorldRect.js +1 -2
  452. package/dist/core/viewport/wheelHandler.js +1 -2
  453. package/dist/core/viewport/zoomAt.js +7 -8
  454. package/dist/core/viewport/zoomAt.js.map +1 -1
  455. package/dist/core/viewport/zoomBounds.js +1 -2
  456. package/dist/debug/createDebugOverlayLayer.js +1 -2
  457. package/dist/debug/createDebugSink.js +1 -2
  458. package/dist/debug/defaultTheme.js +1 -2
  459. package/dist/debug/features.js +1 -2
  460. package/dist/debug/frameStats.js +1 -2
  461. package/dist/debug/overlayPanels.js +1 -2
  462. package/dist/debug/parseDebugFlags.js +1 -2
  463. package/dist/debug/useDebugSink.js +2 -3
  464. package/dist/{depSchema-ChQPzEkW.d.ts → depSchema-C7a_OMt-.d.ts} +61 -52
  465. package/dist/devtools/handlers.js +1 -2
  466. package/dist/devtools/history.js +1 -2
  467. package/dist/devtools/hook.js +1 -2
  468. package/dist/devtools/label.js +1 -2
  469. package/dist/devtools/notices.js +1 -2
  470. package/dist/devtools/protocol.js +1 -2
  471. package/dist/devtools/registry.js +1 -2
  472. package/dist/devtools/root.js +12 -6
  473. package/dist/devtools/root.js.map +1 -1
  474. package/dist/devtools/serialize.js +1 -2
  475. package/dist/devtools/session.js +2 -3
  476. package/dist/devtools/transport.js +13 -18
  477. package/dist/devtools/transport.js.map +1 -1
  478. package/dist/devtools/useDevtoolsRoot.js +1 -2
  479. package/dist/devtools-protocol.d.ts +1 -12
  480. package/dist/devtools-protocol.js +2 -2
  481. package/dist/devtools.d.ts +1 -1
  482. package/dist/devtools.js +1 -2
  483. package/dist/domains/chrome-caps/buildChromeCtx.js +1 -2
  484. package/dist/domains/chrome-caps/conditions.js +1 -2
  485. package/dist/domains/chrome-caps/defaults.js +1 -2
  486. package/dist/domains/chrome-caps/resolve.js +2 -3
  487. package/dist/domains/chrome-caps/useChromeCaps.js +1 -2
  488. package/dist/domains/chrome-caps/useHoverTracking.js +1 -2
  489. package/dist/domains/ingestion/contentHandlers.js +1 -2
  490. package/dist/domains/ingestion/ghost.js +2 -3
  491. package/dist/domains/ingestion/imageHandler.js +1 -2
  492. package/dist/domains/ingestion/kitHandlers.js +2 -3
  493. package/dist/domains/ingestion/openFilePicker.js +1 -2
  494. package/dist/domains/ingestion/placement.js +1 -2
  495. package/dist/domains/ingestion/svgHandler.js +1 -2
  496. package/dist/domains/ingestion/textHandler.js +1 -2
  497. package/dist/domains/ingestion/useCanvasIngestion.js +1 -2
  498. package/dist/domains/ingestion/weaselJsonHandler.js +2 -3
  499. package/dist/domains/longPress/longPressFeedback.js +1 -2
  500. package/dist/domains/measure/actionIds.js +1 -2
  501. package/dist/domains/measure/measureCommands.js +6 -7
  502. package/dist/domains/measure/measureContribution.js +3 -4
  503. package/dist/domains/measure/measureEdits.js +3 -4
  504. package/dist/domains/measure/measureGestures.js +2 -3
  505. package/dist/domains/measure/measureHit.js +5 -12
  506. package/dist/domains/measure/measureHit.js.map +1 -1
  507. package/dist/domains/measure/measureLayer.js +3 -4
  508. package/dist/domains/measure/measurement.js +1 -2
  509. package/dist/domains/measure/measurements.js +1 -2
  510. package/dist/domains/modes/modeLayers.js +1 -2
  511. package/dist/domains/modes/modeTriggers.js +1 -2
  512. package/dist/domains/pathEffects/effectSources.js +2 -3
  513. package/dist/domains/pathEffects/index.js +1 -2
  514. package/dist/domains/pathEffects/readSource.js +3 -4
  515. package/dist/domains/pathEffects/textItems.js +1 -2
  516. package/dist/domains/pathEffects/useEffectSourcesLayer.js +3 -4
  517. package/dist/domains/paths/anchorData.js +1 -2
  518. package/dist/domains/paths/anchorMarkers.js +6 -13
  519. package/dist/domains/paths/anchorMarkers.js.map +1 -1
  520. package/dist/domains/paths/editablePath.js +3 -4
  521. package/dist/domains/paths/originProjection.js +1 -2
  522. package/dist/domains/paths/pathEditExtension.js +1 -2
  523. package/dist/domains/paths/pathEditState.js +1 -2
  524. package/dist/domains/paths/pathEditingOverlayLayer.js +7 -12
  525. package/dist/domains/paths/pathEditingOverlayLayer.js.map +1 -1
  526. package/dist/domains/paths/pathLayer.js +1 -2
  527. package/dist/domains/paths/pathRepresentation.js +1 -2
  528. package/dist/domains/paths/pathSnap/glyphs.js +1 -2
  529. package/dist/domains/paths/pathSnap/pathSnapSource.js +1 -2
  530. package/dist/domains/paths/pathSnap/sceneIndex.js +1 -2
  531. package/dist/domains/paths/pathSnap/snapGeometry.js +2 -3
  532. package/dist/domains/paths/penPreviewLayer.js +10 -14
  533. package/dist/domains/paths/penPreviewLayer.js.map +1 -1
  534. package/dist/domains/paths/shapeGenerator.js +2 -4
  535. package/dist/domains/paths/shapeGenerator.js.map +1 -1
  536. package/dist/domains/paths/strokeOutline.js +2 -3
  537. package/dist/domains/paths/useAnchorFields.js +1 -2
  538. package/dist/domains/paths/usePathEdit.js +2 -3
  539. package/dist/domains/poseRun/usePoseRun.js +1 -2
  540. package/dist/domains/selection/enteredGroupFrame.js +1 -2
  541. package/dist/domains/selection/enteredGroupScope.js +1 -2
  542. package/dist/domains/selection/enteredOperands.js +1 -2
  543. package/dist/domains/selection/handleCommands.js +2 -3
  544. package/dist/domains/selection/overlay.js +6 -7
  545. package/dist/domains/selection/selectionPose.js +2 -3
  546. package/dist/domains/snap/angle2d.js +3 -3
  547. package/dist/domains/snap/angle2d.js.map +1 -1
  548. package/dist/domains/snap/debugCandidates.js +1 -2
  549. package/dist/domains/snap/gather.js +1 -2
  550. package/dist/domains/snap/inputSubspace.js +2 -3
  551. package/dist/domains/snap/lazySession.js +1 -2
  552. package/dist/domains/snap/marks.js +1 -2
  553. package/dist/domains/snap/outcomeStore.js +6 -10
  554. package/dist/domains/snap/outcomeStore.js.map +1 -1
  555. package/dist/domains/snap/pointSnap.js +1 -2
  556. package/dist/domains/snap/probes2d.js +1 -2
  557. package/dist/domains/snap/readoutDraw.js +1 -2
  558. package/dist/domains/snap/readoutLayer.js +1 -2
  559. package/dist/domains/snap/registry.js +1 -2
  560. package/dist/domains/snap/resizeBox.js +1 -2
  561. package/dist/domains/snap/roles.js +1 -2
  562. package/dist/domains/snap/rotationSource.js +1 -2
  563. package/dist/domains/snap/sceneReads.js +2 -3
  564. package/dist/domains/snap/sceneSession2d.js +2 -3
  565. package/dist/domains/snap/screen.js +2 -3
  566. package/dist/domains/snap/session2d.js +4 -5
  567. package/dist/domains/snap/spanSnap.js +1 -2
  568. package/dist/domains/snap/stepAngles.js +1 -2
  569. package/dist/domains/text/editingDrawOne.js +1 -2
  570. package/dist/domains/text/hostTextEditors.js +1 -2
  571. package/dist/domains/text/sceneTextDrafts.js +1 -2
  572. package/dist/domains/text/textHitAt.js +4 -5
  573. package/dist/domains/text/textLayer.js +12 -2
  574. package/dist/domains/text/textLayer.js.map +1 -1
  575. package/dist/domains/text/useSceneTextEdit.js +13 -9
  576. package/dist/domains/text/useSceneTextEdit.js.map +1 -1
  577. package/dist/domains/viewports/aim.js +6 -12
  578. package/dist/domains/viewports/aim.js.map +1 -1
  579. package/dist/domains/viewports/viewMarker.js +1 -2
  580. package/dist/domains/viewports/viewMarkerDrag.js +1 -2
  581. package/dist/domains/viewports/viewResolver.js +6 -5
  582. package/dist/domains/viewports/viewResolver.js.map +1 -1
  583. package/dist/domains/viewports/viewportLayer.js +1 -2
  584. package/dist/iconRegistry/IconRegistryProvider.js +1 -2
  585. package/dist/iconRegistry/useIconGlyph.js +1 -2
  586. package/dist/iconRegistry/useIconVariant.js +1 -2
  587. package/dist/icons.table.js +1 -2
  588. package/dist/icons2.table.js +1 -2
  589. package/dist/index.d.ts +70 -27
  590. package/dist/index.js +7 -5
  591. package/dist/input/keyState.js +1 -2
  592. package/dist/input/useKeyModifiers.js +1 -2
  593. package/dist/input/useKeyState.js +1 -2
  594. package/dist/input/usePublishPointer.js +59 -0
  595. package/dist/input/usePublishPointer.js.map +1 -0
  596. package/dist/interactions/actions/admitsChild.js +1 -2
  597. package/dist/interactions/actions/align/action.js +6 -7
  598. package/dist/interactions/actions/align/align.js +6 -7
  599. package/dist/interactions/actions/booleans/action.js +1 -2
  600. package/dist/interactions/actions/booleans/booleanGroupAction.js +2 -3
  601. package/dist/interactions/actions/booleans/booleans.js +1 -2
  602. package/dist/interactions/actions/booleans/commit.js +4 -5
  603. package/dist/interactions/actions/booleans/custom.js +2 -3
  604. package/dist/interactions/actions/booleans/keymap.js +1 -2
  605. package/dist/interactions/actions/booleans/operands.js +1 -2
  606. package/dist/interactions/actions/booleans/pieces.js +1 -2
  607. package/dist/interactions/actions/booleans/placement.js +1 -2
  608. package/dist/interactions/actions/booleans/useBooleans.js +1 -2
  609. package/dist/interactions/actions/booleans/useBooleansAdapter.js +1 -2
  610. package/dist/interactions/actions/clipboard/action.js +2 -3
  611. package/dist/interactions/actions/clipboard/clipboardOps.js +2 -3
  612. package/dist/interactions/actions/clipboard/materializePaste.js +1 -2
  613. package/dist/interactions/actions/clipboard/wireFormat.js +1 -2
  614. package/dist/interactions/actions/clone/action.js +7 -8
  615. package/dist/interactions/actions/clone/behaviors.js +4 -5
  616. package/dist/interactions/actions/defaultCommitAdapter.js +2 -3
  617. package/dist/interactions/actions/defaults/anchorEditing.js +3 -4
  618. package/dist/interactions/actions/defaults/anchorFields.js +1 -2
  619. package/dist/interactions/actions/defaults/anchorHandles.js +2 -3
  620. package/dist/interactions/actions/defaults/anchorJoin.js +2 -3
  621. package/dist/interactions/actions/defaults/areaSelect.js +6 -6
  622. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
  623. package/dist/interactions/actions/defaults/bendSegment.js +3 -4
  624. package/dist/interactions/actions/defaults/cancelGesture.js +1 -2
  625. package/dist/interactions/actions/defaults/clearSelection.js +1 -2
  626. package/dist/interactions/actions/defaults/containerScroll.js +13 -8
  627. package/dist/interactions/actions/defaults/containerScroll.js.map +1 -1
  628. package/dist/interactions/actions/defaults/contextMenu.js +6 -7
  629. package/dist/interactions/actions/defaults/copySubtree.js +2 -3
  630. package/dist/interactions/actions/defaults/createPaintAction.js +3 -4
  631. package/dist/interactions/actions/defaults/delete.js +2 -3
  632. package/dist/interactions/actions/defaults/duplicate.js +5 -6
  633. package/dist/interactions/actions/defaults/enterGroup.js +5 -6
  634. package/dist/interactions/actions/defaults/enterGroup.js.map +1 -1
  635. package/dist/interactions/actions/defaults/enterPathEdit.js +1 -2
  636. package/dist/interactions/actions/defaults/enterTextEdit.js +1 -2
  637. package/dist/interactions/actions/defaults/escape.js +1 -2
  638. package/dist/interactions/actions/defaults/exitPathEdit.js +1 -2
  639. package/dist/interactions/actions/defaults/group.js +6 -7
  640. package/dist/interactions/actions/defaults/ingest.js +3 -4
  641. package/dist/interactions/actions/defaults/insertPathAnchor.js +2 -3
  642. package/dist/interactions/actions/defaults/nudge.js +3 -4
  643. package/dist/interactions/actions/defaults/nudgeSteps.js +2 -3
  644. package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -1
  645. package/dist/interactions/actions/defaults/pathEditMarks.js +3 -7
  646. package/dist/interactions/actions/defaults/pathEditMarks.js.map +1 -1
  647. package/dist/interactions/actions/defaults/pinchZoom.js +3 -4
  648. package/dist/interactions/actions/defaults/reorder.js +2 -3
  649. package/dist/interactions/actions/defaults/requiresSelection.js +1 -2
  650. package/dist/interactions/actions/defaults/segmentUnder.js +1 -2
  651. package/dist/interactions/actions/defaults/selectAll.js +1 -2
  652. package/dist/interactions/actions/defaults/selectDeep.js +1 -2
  653. package/dist/interactions/actions/defaults/setFill.js +1 -2
  654. package/dist/interactions/actions/defaults/setFillOpacity.js +1 -2
  655. package/dist/interactions/actions/defaults/setStroke.js +1 -2
  656. package/dist/interactions/actions/defaults/setStrokeOpacity.js +1 -2
  657. package/dist/interactions/actions/defaults/slice.js +1 -2
  658. package/dist/interactions/actions/defaults/sliceOps.js +1 -2
  659. package/dist/interactions/actions/defaults/toolActivate.js +1 -2
  660. package/dist/interactions/actions/defaults/toolResetToDefault.js +1 -2
  661. package/dist/interactions/actions/defaults/undoRedo.js +1 -2
  662. package/dist/interactions/actions/defaults/viewportDragPan.js +1 -2
  663. package/dist/interactions/actions/defaults/viewportWheelPan.js +1 -2
  664. package/dist/interactions/actions/defaults/viewportZoom.js +3 -4
  665. package/dist/interactions/actions/distribute/action.js +4 -5
  666. package/dist/interactions/actions/distribute/distribute.js +5 -6
  667. package/dist/interactions/actions/distribute/plan.js +1 -2
  668. package/dist/interactions/actions/drawnBoxes.js +4 -5
  669. package/dist/interactions/actions/dropVerdict.js +1 -2
  670. package/dist/interactions/actions/edit-anchors/action.js +4 -5
  671. package/dist/interactions/actions/edit-anchors/extensionDrags.js +1 -2
  672. package/dist/interactions/actions/edit-anchors/geometry.js +1 -2
  673. package/dist/interactions/actions/edit-anchors/handleDrag.js +5 -9
  674. package/dist/interactions/actions/edit-anchors/handleDrag.js.map +1 -1
  675. package/dist/interactions/actions/edit-anchors/handles.js +1 -2
  676. package/dist/interactions/actions/edit-anchors/params.js +1 -2
  677. package/dist/interactions/actions/edit-anchors/preview.js +1 -2
  678. package/dist/interactions/actions/edit-anchors/symmetry.js +1 -2
  679. package/dist/interactions/actions/flip/action.js +8 -9
  680. package/dist/interactions/actions/flip/helpers.js +1 -2
  681. package/dist/interactions/actions/geometryProjection.js +1 -2
  682. package/dist/interactions/actions/gestureFrames.js +3 -4
  683. package/dist/interactions/actions/gestureLifecycle.js +1 -2
  684. package/dist/interactions/actions/hitSelection.js +7 -3
  685. package/dist/interactions/actions/hitSelection.js.map +1 -1
  686. package/dist/interactions/actions/insert/action.js +6 -7
  687. package/dist/interactions/actions/insert/commit.js +2 -3
  688. package/dist/interactions/actions/insert/extras.js +1 -2
  689. package/dist/interactions/actions/insert/frame.js +1 -2
  690. package/dist/interactions/actions/insert/geometry.js +1 -2
  691. package/dist/interactions/actions/insert/params.js +2 -3
  692. package/dist/interactions/actions/insert/parent.js +1 -2
  693. package/dist/interactions/actions/insert/placeAction.js +5 -6
  694. package/dist/interactions/actions/insert/repositionAction.js +1 -2
  695. package/dist/interactions/actions/insert/rotateAction.js +1 -2
  696. package/dist/interactions/actions/insert/session.js +5 -6
  697. package/dist/interactions/actions/insert/shape.js +2 -3
  698. package/dist/interactions/actions/lasso-select/action.js +9 -9
  699. package/dist/interactions/actions/lasso-select/action.js.map +1 -1
  700. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +2 -3
  701. package/dist/interactions/actions/magnification.js +37 -0
  702. package/dist/interactions/actions/magnification.js.map +1 -0
  703. package/dist/interactions/actions/move/action.js +2 -3
  704. package/dist/interactions/actions/move/behaviors/clampMove.js +42 -0
  705. package/dist/interactions/actions/move/behaviors/clampMove.js.map +1 -0
  706. package/dist/interactions/actions/move/behaviors/layoutDrop.js +2 -3
  707. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +2 -3
  708. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +1 -2
  709. package/dist/interactions/actions/move/behaviors/snapToContainer.js +2 -3
  710. package/dist/interactions/actions/move/capture.js +6 -7
  711. package/dist/interactions/actions/move/commit/index.js +2 -3
  712. package/dist/interactions/actions/move/commit/layoutDrop.js +4 -5
  713. package/dist/interactions/actions/move/commit/layoutRelease.js +7 -8
  714. package/dist/interactions/actions/move/commit/rebase.js +2 -3
  715. package/dist/interactions/actions/move/commit/reparent.js +5 -6
  716. package/dist/interactions/actions/move/delta.js +2 -3
  717. package/dist/interactions/actions/move/frame.js +2 -3
  718. package/dist/interactions/actions/move/gestureAdapter.js +1 -2
  719. package/dist/interactions/actions/move/landedDescendants.js +2 -3
  720. package/dist/interactions/actions/move/layout/container.js +6 -10
  721. package/dist/interactions/actions/move/layout/container.js.map +1 -1
  722. package/dist/interactions/actions/move/layout/dragged.js +2 -3
  723. package/dist/interactions/actions/move/layout/dropPass.js +5 -6
  724. package/dist/interactions/actions/move/layout/exits.js +4 -5
  725. package/dist/interactions/actions/move/layout/exits.js.map +1 -1
  726. package/dist/interactions/actions/move/layout/glide.js +2 -3
  727. package/dist/interactions/actions/move/layout/view.js +1 -2
  728. package/dist/interactions/actions/move/refusal.js +2 -3
  729. package/dist/interactions/actions/move/session.js +4 -5
  730. package/dist/interactions/actions/move/translate.js +2 -3
  731. package/dist/interactions/actions/moveNodes.js +5 -6
  732. package/dist/interactions/actions/notices.js +1 -2
  733. package/dist/interactions/actions/outlines/createOutlines.js +1 -2
  734. package/dist/interactions/actions/outlines/createOutlinesAction.js +2 -3
  735. package/dist/interactions/actions/outlines/outlineStroke.js +2 -3
  736. package/dist/interactions/actions/outlines/outlineStrokeAction.js +2 -3
  737. package/dist/interactions/actions/outlines/replaceWithPaths.js +5 -6
  738. package/dist/interactions/actions/outlines/strokeRegion.js +1 -2
  739. package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js +1 -2
  740. package/dist/interactions/actions/pathCommands/cutJoin.js +3 -4
  741. package/dist/interactions/actions/pathCommands/livePathEdit.js +3 -4
  742. package/dist/interactions/actions/pathCommands/pathNodes.js +3 -4
  743. package/dist/interactions/actions/pathCommands/simplifyOffset.js +2 -3
  744. package/dist/interactions/actions/pathGestureTags.js +1 -2
  745. package/dist/interactions/actions/planeInput.js +2 -3
  746. package/dist/interactions/actions/pointerState.js +1 -2
  747. package/dist/interactions/actions/poseDescriptorDep.js +1 -2
  748. package/dist/interactions/actions/poseFrame.js +3 -4
  749. package/dist/interactions/actions/resize/action.js +3 -4
  750. package/dist/interactions/actions/resize/aspect.js +1 -2
  751. package/dist/interactions/actions/resize/behaviors/clampMinSize.js +1 -2
  752. package/dist/interactions/actions/resize/boxFrame.js +1 -2
  753. package/dist/interactions/actions/resize/capture.js +7 -8
  754. package/dist/interactions/actions/resize/commit.js +3 -4
  755. package/dist/interactions/actions/resize/cornerHandles.js +1 -2
  756. package/dist/interactions/actions/resize/frame.js +7 -8
  757. package/dist/interactions/actions/resize/held.js +2 -3
  758. package/dist/interactions/actions/resize/minimum.js +1 -2
  759. package/dist/interactions/actions/resize/replay.js +1 -2
  760. package/dist/interactions/actions/resize/ruleBounds.js +1 -2
  761. package/dist/interactions/actions/resize/session.js +9 -10
  762. package/dist/interactions/actions/resolveOverlays.js +1 -2
  763. package/dist/interactions/actions/resolvePreviews.js +3 -4
  764. package/dist/interactions/actions/rotate/action.js +5 -6
  765. package/dist/interactions/actions/rotate/commit.js +2 -3
  766. package/dist/interactions/actions/rotate/frame.js +3 -4
  767. package/dist/interactions/actions/rotate/geometry.js +1 -2
  768. package/dist/interactions/actions/rotate/handle.js +2 -3
  769. package/dist/interactions/actions/rotate/replay.js +2 -3
  770. package/dist/interactions/actions/rotate/session.js +10 -11
  771. package/dist/interactions/actions/selectionSubtree.js +7 -22
  772. package/dist/interactions/actions/selectionSubtree.js.map +1 -1
  773. package/dist/interactions/actions/spatialReference.js +1 -2
  774. package/dist/interactions/actions/testUtils.js +1 -2
  775. package/dist/interactions/actions/transform-again/action.js +5 -6
  776. package/dist/interactions/actions/transform-again/memory.js +3 -4
  777. package/dist/interactions/actions/transform-again/memory.js.map +1 -1
  778. package/dist/interactions/actions/transformFinish.js +1 -2
  779. package/dist/interactions/actions/useActionSet.js +1 -2
  780. package/dist/interactions/actions/useNotices.js +1 -2
  781. package/dist/interactions/actions/useStandardActions.js +1 -2
  782. package/dist/interactions/gestures/dragGesture/dragGesture.js +1 -2
  783. package/dist/interactions/gestures/dragGesture/dragPointOf.js +1 -2
  784. package/dist/interactions/gestures/dragRadial/dragRadial.js +2 -3
  785. package/dist/interactions/gestures/dragRect/dragRect.js +2 -3
  786. package/dist/interactions/gestures/handleDrag/handleDrag.js +1 -2
  787. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +1 -2
  788. package/dist/interactions/gestures/shared/originProjection.js +1 -2
  789. package/dist/interactions/gestures/shared/screenTolerance.js +1 -2
  790. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +1 -2
  791. package/dist/kitSettingsSchema.js +4 -5
  792. package/dist/move.d.ts +18 -3
  793. package/dist/move.js +2 -1
  794. package/dist/test-hook/createTestHook.js +1 -2
  795. package/dist/test-hook/install.js +1 -2
  796. package/dist/test-hook/useTestHook.js +1 -2
  797. package/dist/test-seams.d.ts +4 -4
  798. package/dist/test-seams.js +2 -2
  799. package/dist/tools/builtin/anchors/anchorsTool.js +1 -2
  800. package/dist/tools/builtin/ellipse/useEllipseTool.js +2 -3
  801. package/dist/tools/builtin/eyedropper/useEyedropperTool.js +1 -2
  802. package/dist/tools/builtin/hand/dragPanContribution.js +1 -2
  803. package/dist/tools/builtin/hand/useHandTool.js +1 -2
  804. package/dist/tools/builtin/image/useImageTool.js +1 -2
  805. package/dist/tools/builtin/lasso/useLassoTool.js +1 -2
  806. package/dist/tools/builtin/line/useLineTool.js +2 -3
  807. package/dist/tools/builtin/measure/useMeasureTool.js +2 -3
  808. package/dist/tools/builtin/pen/penHandle.js +1 -2
  809. package/dist/tools/builtin/pen/usePenTool.js +6 -7
  810. package/dist/tools/builtin/pencil/usePencilTool.js +1 -2
  811. package/dist/tools/builtin/pickTopMostHit.js +1 -2
  812. package/dist/tools/builtin/polygon/usePolygonTool.js +3 -4
  813. package/dist/tools/builtin/pressTarget.js +1 -2
  814. package/dist/tools/builtin/rect/useRectTool.js +2 -3
  815. package/dist/tools/builtin/select/adapterPointQuery.js +3 -4
  816. package/dist/tools/builtin/select/collapseDeferred.js +1 -2
  817. package/dist/tools/builtin/select/groupEntry.js +2 -3
  818. package/dist/tools/builtin/select/pressDecision.js +3 -4
  819. package/dist/tools/builtin/select/pressDecision.js.map +1 -1
  820. package/dist/tools/builtin/select/selectionContributions.js +1 -2
  821. package/dist/tools/builtin/select/useSelectTool.js +5 -6
  822. package/dist/tools/builtin/shared/insertToolOptions.js +1 -2
  823. package/dist/tools/builtin/shared/pointerFollower.js +1 -2
  824. package/dist/tools/builtin/slice/useSliceTool.js +5 -6
  825. package/dist/tools/builtin/star/useStarTool.js +3 -4
  826. package/dist/tools/builtin/sticky/stickyNode.js +1 -2
  827. package/dist/tools/builtin/sticky/useStickyTool.js +2 -3
  828. package/dist/tools/builtin/text/useTextTool.js +1 -2
  829. package/dist/tools/index.js +2 -2
  830. package/dist/tools/overlayBinding.js +1 -2
  831. package/dist/tools/toolOptions.js +17 -4
  832. package/dist/tools/toolOptions.js.map +1 -1
  833. package/dist/tools/useKeybindings.js +1 -2
  834. package/dist/{types-DW14eu9B.d.ts → types-BUvUXZe5.d.ts} +3 -3
  835. package/dist/util/color.js +1 -2
  836. package/dist/util/paint.js +1 -2
  837. package/dist/version.js +2 -3
  838. package/package.json +27 -27
@@ -1,4 +1,11 @@
1
- //#region src/devtools/root.ts
1
+ import { createEmitter } from "@weasel-js/registry";
2
+
3
+ // src/devtools/root.ts
4
+ /**
5
+ * A root: what one mounted `<SceneCanvas>` exposes to the devtools hook and to
6
+ * the test hook. The canvas supplies live getters; the root adds change
7
+ * versions and the probe registry.
8
+ */
2
9
  var nextId = 1;
3
10
  /** A root over `source`, with a fresh page-unique id. */
4
11
  function createDevtoolsRoot(source) {
@@ -12,10 +19,10 @@ function createDevtoolsRoot(source) {
12
19
  registry: 0,
13
20
  history: 0
14
21
  };
15
- const listeners = /* @__PURE__ */ new Set();
22
+ const listeners = createEmitter();
16
23
  const notify = (area) => {
17
24
  versions[area]++;
18
- for (const l of [...listeners]) l(area);
25
+ listeners.emit(area);
19
26
  };
20
27
  let detach = null;
21
28
  let watchedScene = null;
@@ -65,16 +72,15 @@ function createDevtoolsRoot(source) {
65
72
  notify(area);
66
73
  },
67
74
  subscribe(listener) {
68
- listeners.add(listener);
75
+ const off = listeners.subscribe(listener);
69
76
  if (!detach) attach();
70
77
  return () => {
71
- listeners.delete(listener);
78
+ off();
72
79
  if (listeners.size === 0) detach?.();
73
80
  };
74
81
  }
75
82
  };
76
83
  }
77
84
 
78
- //#endregion
79
85
  export { createDevtoolsRoot };
80
86
  //# sourceMappingURL=root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","names":[],"sources":["../../src/devtools/root.ts"],"sourcesContent":["/**\n * A root: what one mounted `<SceneCanvas>` exposes to the devtools hook and to\n * the test hook. The canvas supplies live getters; the root adds change\n * versions and the probe registry.\n */\nimport type { DispatchTrace, TraceRing } from '@weasel-js/routing';\nimport type { Scene } from 'core/scene/types';\nimport type { CoordTraceEntry } from '../canvas/SceneCanvas/coordTrace';\nimport type { DebugConfig } from '../debug/types';\nimport type {\n DevtoolsArea, DevtoolsHistoryRecord, DevtoolsOverlays, DevtoolsRegistry, DevtoolsRootInfo,\n} from './protocol';\n\n/** What a canvas hands {@link createDevtoolsRoot}. Every getter reads the latest committed value. */\nexport interface DevtoolsRootSource {\n label(): string;\n readonly dimension: '2d' | '3d';\n scene(): Scene<unknown, string, unknown> | null;\n selection(): readonly string[];\n select(ids: readonly string[]): void;\n view(): unknown;\n activeTool(): string | null;\n tools(): readonly string[];\n setTool(id: string | null): void;\n trace: DispatchTrace;\n coords: TraceRing<CoordTraceEntry>;\n /** The debug sink's stats for the last paint, or null while the frame panel is off. */\n frame(): unknown;\n /** The debug overlay config in effect, or null when the overlay is off. */\n overlays(): DebugConfig | null;\n /** Lay the panel's overlay flags and highlight over the canvas's own `debug`; null drops them. */\n setOverride(override: { overlays: DevtoolsOverlays; highlight: readonly string[] } | null): void;\n /** What the canvas has registered, described when asked. Absent, `get-registry` is refused. */\n registry?(): DevtoolsRegistry;\n /** Hear that what {@link DevtoolsRootSource.registry} describes may have changed. Returns the unsubscribe. */\n subscribeRegistry?(listener: () => void): () => void;\n /** The scene's history steps. Absent, `get-history` is refused. */\n history?: TraceRing<DevtoolsHistoryRecord>;\n}\n\n/** One canvas as the devtools hook holds it. */\nexport interface DevtoolsRoot {\n readonly id: string;\n readonly source: DevtoolsRootSource;\n info(): DevtoolsRootInfo;\n /** Name-keyed probes; the test hook's `registerProbe` writes here. */\n readonly probes: Map<string, () => unknown>;\n version(area: DevtoolsArea): number;\n /** Say that `area` changed. The scene and the trace say so themselves while anything listens. */\n notify(area: DevtoolsArea): void;\n /** Hear each change, with the area. Returns the unsubscribe. */\n subscribe(listener: (area: DevtoolsArea) => void): () => void;\n}\n\nlet nextId = 1;\n\n/** A root over `source`, with a fresh page-unique id. */\nexport function createDevtoolsRoot(source: DevtoolsRootSource): DevtoolsRoot {\n const id = `root-${nextId++}`;\n const versions: Record<DevtoolsArea, number> = {\n scene: 0, selection: 0, view: 0, tool: 0, trace: 0, registry: 0, history: 0,\n };\n const listeners = new Set<(area: DevtoolsArea) => void>();\n const notify = (area: DevtoolsArea): void => {\n versions[area]++;\n for (const l of [...listeners]) l(area);\n };\n\n // Attached only while something listens, so a root nobody inspects holds no\n // subscription on a scene that may outlive its canvas.\n let detach: (() => void) | null = null;\n let watchedScene: Scene<unknown, string, unknown> | null = null;\n let offScene: (() => void) | null = null;\n const followScene = (): void => {\n const s = detach ? source.scene() : null;\n if (s === watchedScene) return;\n offScene?.();\n watchedScene = s;\n if (!s) {\n offScene = null;\n return;\n }\n // A selection change notifies the scene's subscribers too; the canvas reports it as `selection`.\n let content = s.getContentVersion();\n offScene = s.subscribe(() => {\n const next = s.getContentVersion();\n if (next === content) return;\n content = next;\n notify('scene');\n });\n };\n const attach = (): void => {\n const offs = [\n source.trace.subscribe(() => notify('trace')),\n source.history?.subscribe(() => notify('history')),\n source.subscribeRegistry?.(() => notify('registry')),\n ];\n detach = () => {\n for (const off of offs) off?.();\n detach = null;\n followScene();\n };\n followScene();\n };\n\n return {\n id,\n source,\n info: () => ({ id, label: source.label() || id, dimension: source.dimension }),\n probes: new Map(),\n version: (area) => versions[area],\n notify(area) {\n if (area === 'scene') followScene();\n notify(area);\n },\n subscribe(listener) {\n listeners.add(listener);\n if (!detach) attach();\n return () => {\n listeners.delete(listener);\n if (listeners.size === 0) detach?.();\n };\n },\n };\n}\n"],"mappings":";AAsDA,IAAI,SAAS;;AAGb,SAAgB,mBAAmB,QAA0C;CAC3E,MAAM,KAAK,QAAQ;CACnB,MAAM,WAAyC;EAC7C,OAAO;EAAG,WAAW;EAAG,MAAM;EAAG,MAAM;EAAG,OAAO;EAAG,UAAU;EAAG,SAAS;CAC5E;CACA,MAAM,4BAAY,IAAI,IAAkC;CACxD,MAAM,UAAU,SAA6B;EAC3C,SAAS,KAAK;EACd,KAAK,MAAM,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,IAAI;CACxC;CAIA,IAAI,SAA8B;CAClC,IAAI,eAAuD;CAC3D,IAAI,WAAgC;CACpC,MAAM,oBAA0B;EAC9B,MAAM,IAAI,SAAS,OAAO,MAAM,IAAI;EACpC,IAAI,MAAM,cAAc;EACxB,WAAW;EACX,eAAe;EACf,IAAI,CAAC,GAAG;GACN,WAAW;GACX;EACF;EAEA,IAAI,UAAU,EAAE,kBAAkB;EAClC,WAAW,EAAE,gBAAgB;GAC3B,MAAM,OAAO,EAAE,kBAAkB;GACjC,IAAI,SAAS,SAAS;GACtB,UAAU;GACV,OAAO,OAAO;EAChB,CAAC;CACH;CACA,MAAM,eAAqB;EACzB,MAAM,OAAO;GACX,OAAO,MAAM,gBAAgB,OAAO,OAAO,CAAC;GAC5C,OAAO,SAAS,gBAAgB,OAAO,SAAS,CAAC;GACjD,OAAO,0BAA0B,OAAO,UAAU,CAAC;EACrD;EACA,eAAe;GACb,KAAK,MAAM,OAAO,MAAM,MAAM;GAC9B,SAAS;GACT,YAAY;EACd;EACA,YAAY;CACd;CAEA,OAAO;EACL;EACA;EACA,aAAa;GAAE;GAAI,OAAO,OAAO,MAAM,KAAK;GAAI,WAAW,OAAO;EAAU;EAC5E,wBAAQ,IAAI,IAAI;EAChB,UAAU,SAAS,SAAS;EAC5B,OAAO,MAAM;GACX,IAAI,SAAS,SAAS,YAAY;GAClC,OAAO,IAAI;EACb;EACA,UAAU,UAAU;GAClB,UAAU,IAAI,QAAQ;GACtB,IAAI,CAAC,QAAQ,OAAO;GACpB,aAAa;IACX,UAAU,OAAO,QAAQ;IACzB,IAAI,UAAU,SAAS,GAAG,SAAS;GACrC;EACF;CACF;AACF"}
1
+ {"version":3,"file":"root.js","names":[],"sources":["../../src/devtools/root.ts"],"sourcesContent":["/**\n * A root: what one mounted `<SceneCanvas>` exposes to the devtools hook and to\n * the test hook. The canvas supplies live getters; the root adds change\n * versions and the probe registry.\n */\nimport { createEmitter } from '@weasel-js/registry';\nimport type { DispatchTrace, TraceRing } from '@weasel-js/routing';\nimport type { Scene } from 'core/scene/types';\nimport type { CoordTraceEntry } from '../canvas/SceneCanvas/coordTrace';\nimport type { DebugConfig } from '../debug/types';\nimport type {\n DevtoolsArea, DevtoolsHistoryRecord, DevtoolsOverlays, DevtoolsRegistry, DevtoolsRootInfo,\n} from './protocol';\n\n/** What a canvas hands {@link createDevtoolsRoot}. Every getter reads the latest committed value. */\nexport interface DevtoolsRootSource {\n label(): string;\n readonly dimension: '2d' | '3d';\n scene(): Scene<unknown, string, unknown> | null;\n selection(): readonly string[];\n select(ids: readonly string[]): void;\n view(): unknown;\n activeTool(): string | null;\n tools(): readonly string[];\n setTool(id: string | null): void;\n trace: DispatchTrace;\n coords: TraceRing<CoordTraceEntry>;\n /** The debug sink's stats for the last paint, or null while the frame panel is off. */\n frame(): unknown;\n /** The debug overlay config in effect, or null when the overlay is off. */\n overlays(): DebugConfig | null;\n /** Lay the panel's overlay flags and highlight over the canvas's own `debug`; null drops them. */\n setOverride(override: { overlays: DevtoolsOverlays; highlight: readonly string[] } | null): void;\n /** What the canvas has registered, described when asked. Absent, `get-registry` is refused. */\n registry?(): DevtoolsRegistry;\n /** Hear that what {@link DevtoolsRootSource.registry} describes may have changed. Returns the unsubscribe. */\n subscribeRegistry?(listener: () => void): () => void;\n /** The scene's history steps. Absent, `get-history` is refused. */\n history?: TraceRing<DevtoolsHistoryRecord>;\n}\n\n/** One canvas as the devtools hook holds it. */\nexport interface DevtoolsRoot {\n readonly id: string;\n readonly source: DevtoolsRootSource;\n info(): DevtoolsRootInfo;\n /** Name-keyed probes; the test hook's `registerProbe` writes here. */\n readonly probes: Map<string, () => unknown>;\n version(area: DevtoolsArea): number;\n /** Say that `area` changed. The scene and the trace say so themselves while anything listens. */\n notify(area: DevtoolsArea): void;\n /** Hear each change, with the area. Returns the unsubscribe. */\n subscribe(listener: (area: DevtoolsArea) => void): () => void;\n}\n\nlet nextId = 1;\n\n/** A root over `source`, with a fresh page-unique id. */\nexport function createDevtoolsRoot(source: DevtoolsRootSource): DevtoolsRoot {\n const id = `root-${nextId++}`;\n const versions: Record<DevtoolsArea, number> = {\n scene: 0, selection: 0, view: 0, tool: 0, trace: 0, registry: 0, history: 0,\n };\n const listeners = createEmitter<[area: DevtoolsArea]>();\n const notify = (area: DevtoolsArea): void => {\n versions[area]++;\n listeners.emit(area);\n };\n\n // Attached only while something listens, so a root nobody inspects holds no\n // subscription on a scene that may outlive its canvas.\n let detach: (() => void) | null = null;\n let watchedScene: Scene<unknown, string, unknown> | null = null;\n let offScene: (() => void) | null = null;\n const followScene = (): void => {\n const s = detach ? source.scene() : null;\n if (s === watchedScene) return;\n offScene?.();\n watchedScene = s;\n if (!s) {\n offScene = null;\n return;\n }\n // A selection change notifies the scene's subscribers too; the canvas reports it as `selection`.\n let content = s.getContentVersion();\n offScene = s.subscribe(() => {\n const next = s.getContentVersion();\n if (next === content) return;\n content = next;\n notify('scene');\n });\n };\n const attach = (): void => {\n const offs = [\n source.trace.subscribe(() => notify('trace')),\n source.history?.subscribe(() => notify('history')),\n source.subscribeRegistry?.(() => notify('registry')),\n ];\n detach = () => {\n for (const off of offs) off?.();\n detach = null;\n followScene();\n };\n followScene();\n };\n\n return {\n id,\n source,\n info: () => ({ id, label: source.label() || id, dimension: source.dimension }),\n probes: new Map(),\n version: (area) => versions[area],\n notify(area) {\n if (area === 'scene') followScene();\n notify(area);\n },\n subscribe(listener) {\n const off = listeners.subscribe(listener);\n if (!detach) attach();\n return () => {\n off();\n if (listeners.size === 0) detach?.();\n };\n },\n };\n}\n"],"mappings":";;;;;;;;AAuDA,IAAI,SAAS;;AAGb,SAAgB,mBAAmB,QAA0C;CAC3E,MAAM,KAAK,QAAQ;CACnB,MAAM,WAAyC;EAC7C,OAAO;EAAG,WAAW;EAAG,MAAM;EAAG,MAAM;EAAG,OAAO;EAAG,UAAU;EAAG,SAAS;CAC5E;CACA,MAAM,YAAY,cAAoC;CACtD,MAAM,UAAU,SAA6B;EAC3C,SAAS,KAAK;EACd,UAAU,KAAK,IAAI;CACrB;CAIA,IAAI,SAA8B;CAClC,IAAI,eAAuD;CAC3D,IAAI,WAAgC;CACpC,MAAM,oBAA0B;EAC9B,MAAM,IAAI,SAAS,OAAO,MAAM,IAAI;EACpC,IAAI,MAAM,cAAc;EACxB,WAAW;EACX,eAAe;EACf,IAAI,CAAC,GAAG;GACN,WAAW;GACX;EACF;EAEA,IAAI,UAAU,EAAE,kBAAkB;EAClC,WAAW,EAAE,gBAAgB;GAC3B,MAAM,OAAO,EAAE,kBAAkB;GACjC,IAAI,SAAS,SAAS;GACtB,UAAU;GACV,OAAO,OAAO;EAChB,CAAC;CACH;CACA,MAAM,eAAqB;EACzB,MAAM,OAAO;GACX,OAAO,MAAM,gBAAgB,OAAO,OAAO,CAAC;GAC5C,OAAO,SAAS,gBAAgB,OAAO,SAAS,CAAC;GACjD,OAAO,0BAA0B,OAAO,UAAU,CAAC;EACrD;EACA,eAAe;GACb,KAAK,MAAM,OAAO,MAAM,MAAM;GAC9B,SAAS;GACT,YAAY;EACd;EACA,YAAY;CACd;CAEA,OAAO;EACL;EACA;EACA,aAAa;GAAE;GAAI,OAAO,OAAO,MAAM,KAAK;GAAI,WAAW,OAAO;EAAU;EAC5E,wBAAQ,IAAI,IAAI;EAChB,UAAU,SAAS,SAAS;EAC5B,OAAO,MAAM;GACX,IAAI,SAAS,SAAS,YAAY;GAClC,OAAO,IAAI;EACb;EACA,UAAU,UAAU;GAClB,MAAM,MAAM,UAAU,UAAU,QAAQ;GACxC,IAAI,CAAC,QAAQ,OAAO;GACpB,aAAa;IACX,IAAI;IACJ,IAAI,UAAU,SAAS,GAAG,SAAS;GACrC;EACF;CACF;AACF"}
@@ -1,4 +1,4 @@
1
- //#region src/devtools/serialize.ts
1
+ // src/devtools/serialize.ts
2
2
  var TYPED = [
3
3
  Int8Array,
4
4
  Uint8Array,
@@ -81,6 +81,5 @@ function serialize(value, limits = {}) {
81
81
  return walk(value, 0);
82
82
  }
83
83
 
84
- //#endregion
85
84
  export { serialize };
86
85
  //# sourceMappingURL=serialize.js.map
@@ -1,9 +1,9 @@
1
1
  import { VERSION } from "../version.js";
2
- import { DEVTOOLS_PROTOCOL } from "./protocol.js";
3
2
  import { answer } from "./handlers.js";
4
3
  import { createNotices } from "./notices.js";
4
+ import { DEVTOOLS_PROTOCOL } from "./protocol.js";
5
5
 
6
- //#region src/devtools/session.ts
6
+ // src/devtools/session.ts
7
7
  /**
8
8
  * One panel's connection to the page: the handshake, every request, the
9
9
  * change notices, and the overrides the panel holds, which go when it does.
@@ -106,6 +106,5 @@ function openSession(host, transport) {
106
106
  };
107
107
  }
108
108
 
109
- //#endregion
110
109
  export { openSession };
111
110
  //# sourceMappingURL=session.js.map
@@ -1,4 +1,10 @@
1
- //#region src/devtools/transport.ts
1
+ import { createEmitter } from "@weasel-js/registry";
2
+
3
+ // src/devtools/transport.ts
4
+ /**
5
+ * How devtools messages travel. A transport sends one side's messages and
6
+ * hears the other side's; the session neither knows nor cares which kind it has.
7
+ */
2
8
  /** Marks devtools traffic among whatever else a page posts to its window. */
3
9
  var DEVTOOLS_ENVELOPE = "weasel-devtools";
4
10
  /** Whether a posted message's `data` is devtools traffic. */
@@ -6,24 +12,14 @@ function isDevtoolsEnvelope(data) {
6
12
  return typeof data === "object" && data !== null && data.source === DEVTOOLS_ENVELOPE;
7
13
  }
8
14
  function pair() {
9
- const toA = /* @__PURE__ */ new Set();
10
- const toB = /* @__PURE__ */ new Set();
11
- const listen = (set) => (listener) => {
12
- set.add(listener);
13
- return () => {
14
- set.delete(listener);
15
- };
16
- };
15
+ const toA = createEmitter();
16
+ const toB = createEmitter();
17
17
  return [{
18
- send: (m) => {
19
- for (const l of [...toB]) l(m);
20
- },
21
- onMessage: listen(toA)
18
+ send: (m) => toB.emit(m),
19
+ onMessage: toA.subscribe
22
20
  }, {
23
- send: (m) => {
24
- for (const l of [...toA]) l(m);
25
- },
26
- onMessage: listen(toB)
21
+ send: (m) => toA.emit(m),
22
+ onMessage: toB.subscribe
27
23
  }];
28
24
  }
29
25
  /** Both ends of a connection within one page: delivery is a direct, synchronous call. */
@@ -62,6 +58,5 @@ function createWindowPanelTransport(target = window) {
62
58
  return windowTransport("panel", target);
63
59
  }
64
60
 
65
- //#endregion
66
61
  export { DEVTOOLS_ENVELOPE, createInPageTransports, createWindowPageTransport, createWindowPanelTransport, isDevtoolsEnvelope };
67
62
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","names":[],"sources":["../../src/devtools/transport.ts"],"sourcesContent":["/**\n * How devtools messages travel. A transport sends one side's messages and\n * hears the other side's; the session neither knows nor cares which kind it has.\n */\nimport type { PageMessage, PanelMessage } from './protocol';\n\n/** One end of a connection: it sends `Out` and hears `In`. */\nexport interface DevtoolsTransport<Out, In> {\n send(message: Out): void;\n /** Hear the other side. Returns the unsubscribe. */\n onMessage(listener: (message: In) => void): () => void;\n}\n\n/** The page's end of a connection. */\nexport type PageTransport = DevtoolsTransport<PageMessage, PanelMessage>;\n/** The panel's end of a connection. */\nexport type PanelTransport = DevtoolsTransport<PanelMessage, PageMessage>;\n\n/** Marks devtools traffic among whatever else a page posts to its window. */\nexport const DEVTOOLS_ENVELOPE = 'weasel-devtools';\n\n/** A devtools message as posted to a window. */\nexport interface DevtoolsEnvelope {\n source: typeof DEVTOOLS_ENVELOPE;\n side: 'page' | 'panel';\n message: PageMessage | PanelMessage;\n}\n\n/** Whether a posted message's `data` is devtools traffic. */\nexport function isDevtoolsEnvelope(data: unknown): data is DevtoolsEnvelope {\n return typeof data === 'object' && data !== null\n && (data as { source?: unknown }).source === DEVTOOLS_ENVELOPE;\n}\n\nfunction pair<A, B>(): [DevtoolsTransport<A, B>, DevtoolsTransport<B, A>] {\n const toA = new Set<(m: B) => void>();\n const toB = new Set<(m: A) => void>();\n const listen = <M>(set: Set<(m: M) => void>) => (listener: (m: M) => void) => {\n set.add(listener);\n return () => { set.delete(listener); };\n };\n return [\n { send: (m) => { for (const l of [...toB]) l(m); }, onMessage: listen(toA) },\n { send: (m) => { for (const l of [...toA]) l(m); }, onMessage: listen(toB) },\n ];\n}\n\n/** Both ends of a connection within one page: delivery is a direct, synchronous call. */\nexport function createInPageTransports(): { page: PageTransport; panel: PanelTransport } {\n const [page, panel] = pair<PageMessage, PanelMessage>();\n return { page, panel };\n}\n\nfunction windowTransport<Out extends PageMessage | PanelMessage, In>(\n side: 'page' | 'panel',\n target: Window,\n): DevtoolsTransport<Out, In> {\n return {\n send(message) {\n const envelope: DevtoolsEnvelope = { source: DEVTOOLS_ENVELOPE, side, message };\n target.postMessage(envelope, '*');\n },\n onMessage(listener) {\n const onEvent = (e: MessageEvent): void => {\n if (isDevtoolsEnvelope(e.data) && e.data.side !== side) listener(e.data.message as In);\n };\n target.addEventListener('message', onEvent);\n return () => target.removeEventListener('message', onEvent);\n },\n };\n}\n\n/** The page's end over `window.postMessage`, for an extension's content script. */\nexport function createWindowPageTransport(target: Window = window): PageTransport {\n return windowTransport<PageMessage, PanelMessage>('page', target);\n}\n\n/** The panel's end over `window.postMessage`: what a content script uses to reach the page. */\nexport function createWindowPanelTransport(target: Window = window): PanelTransport {\n return windowTransport<PanelMessage, PageMessage>('panel', target);\n}\n"],"mappings":";;AAmBA,IAAa,oBAAoB;;AAUjC,SAAgB,mBAAmB,MAAyC;CAC1E,OAAO,OAAO,SAAS,YAAY,SAAS,QACtC,KAA8B,WAAW;AACjD;AAEA,SAAS,OAAiE;CACxE,MAAM,sBAAM,IAAI,IAAoB;CACpC,MAAM,sBAAM,IAAI,IAAoB;CACpC,MAAM,UAAa,SAA8B,aAA6B;EAC5E,IAAI,IAAI,QAAQ;EAChB,aAAa;GAAE,IAAI,OAAO,QAAQ;EAAG;CACvC;CACA,OAAO,CACL;EAAE,OAAO,MAAM;GAAE,KAAK,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;EAAG;EAAG,WAAW,OAAO,GAAG;CAAE,GAC3E;EAAE,OAAO,MAAM;GAAE,KAAK,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;EAAG;EAAG,WAAW,OAAO,GAAG;CAAE,CAC7E;AACF;;AAGA,SAAgB,yBAAyE;CACvF,MAAM,CAAC,MAAM,SAAS,KAAgC;CACtD,OAAO;EAAE;EAAM;CAAM;AACvB;AAEA,SAAS,gBACP,MACA,QAC4B;CAC5B,OAAO;EACL,KAAK,SAAS;GACZ,MAAM,WAA6B;IAAE,QAAQ;IAAmB;IAAM;GAAQ;GAC9E,OAAO,YAAY,UAAU,GAAG;EAClC;EACA,UAAU,UAAU;GAClB,MAAM,WAAW,MAA0B;IACzC,IAAI,mBAAmB,EAAE,IAAI,KAAK,EAAE,KAAK,SAAS,MAAM,SAAS,EAAE,KAAK,OAAa;GACvF;GACA,OAAO,iBAAiB,WAAW,OAAO;GAC1C,aAAa,OAAO,oBAAoB,WAAW,OAAO;EAC5D;CACF;AACF;;AAGA,SAAgB,0BAA0B,SAAiB,QAAuB;CAChF,OAAO,gBAA2C,QAAQ,MAAM;AAClE;;AAGA,SAAgB,2BAA2B,SAAiB,QAAwB;CAClF,OAAO,gBAA2C,SAAS,MAAM;AACnE"}
1
+ {"version":3,"file":"transport.js","names":[],"sources":["../../src/devtools/transport.ts"],"sourcesContent":["/**\n * How devtools messages travel. A transport sends one side's messages and\n * hears the other side's; the session neither knows nor cares which kind it has.\n */\nimport { createEmitter } from '@weasel-js/registry';\nimport type { PageMessage, PanelMessage } from './protocol';\n\n/** One end of a connection: it sends `Out` and hears `In`. */\nexport interface DevtoolsTransport<Out, In> {\n send(message: Out): void;\n /** Hear the other side. Returns the unsubscribe. */\n onMessage(listener: (message: In) => void): () => void;\n}\n\n/** The page's end of a connection. */\nexport type PageTransport = DevtoolsTransport<PageMessage, PanelMessage>;\n/** The panel's end of a connection. */\nexport type PanelTransport = DevtoolsTransport<PanelMessage, PageMessage>;\n\n/** Marks devtools traffic among whatever else a page posts to its window. */\nexport const DEVTOOLS_ENVELOPE = 'weasel-devtools';\n\n/** A devtools message as posted to a window. */\nexport interface DevtoolsEnvelope {\n source: typeof DEVTOOLS_ENVELOPE;\n side: 'page' | 'panel';\n message: PageMessage | PanelMessage;\n}\n\n/** Whether a posted message's `data` is devtools traffic. */\nexport function isDevtoolsEnvelope(data: unknown): data is DevtoolsEnvelope {\n return typeof data === 'object' && data !== null\n && (data as { source?: unknown }).source === DEVTOOLS_ENVELOPE;\n}\n\nfunction pair<A, B>(): [DevtoolsTransport<A, B>, DevtoolsTransport<B, A>] {\n const toA = createEmitter<[m: B]>();\n const toB = createEmitter<[m: A]>();\n return [\n { send: (m) => toB.emit(m), onMessage: toA.subscribe },\n { send: (m) => toA.emit(m), onMessage: toB.subscribe },\n ];\n}\n\n/** Both ends of a connection within one page: delivery is a direct, synchronous call. */\nexport function createInPageTransports(): { page: PageTransport; panel: PanelTransport } {\n const [page, panel] = pair<PageMessage, PanelMessage>();\n return { page, panel };\n}\n\nfunction windowTransport<Out extends PageMessage | PanelMessage, In>(\n side: 'page' | 'panel',\n target: Window,\n): DevtoolsTransport<Out, In> {\n return {\n send(message) {\n const envelope: DevtoolsEnvelope = { source: DEVTOOLS_ENVELOPE, side, message };\n target.postMessage(envelope, '*');\n },\n onMessage(listener) {\n const onEvent = (e: MessageEvent): void => {\n if (isDevtoolsEnvelope(e.data) && e.data.side !== side) listener(e.data.message as In);\n };\n target.addEventListener('message', onEvent);\n return () => target.removeEventListener('message', onEvent);\n },\n };\n}\n\n/** The page's end over `window.postMessage`, for an extension's content script. */\nexport function createWindowPageTransport(target: Window = window): PageTransport {\n return windowTransport<PageMessage, PanelMessage>('page', target);\n}\n\n/** The panel's end over `window.postMessage`: what a content script uses to reach the page. */\nexport function createWindowPanelTransport(target: Window = window): PanelTransport {\n return windowTransport<PanelMessage, PageMessage>('panel', target);\n}\n"],"mappings":";;;;;;;;AAoBA,IAAa,oBAAoB;;AAUjC,SAAgB,mBAAmB,MAAyC;CAC1E,OAAO,OAAO,SAAS,YAAY,SAAS,QACtC,KAA8B,WAAW;AACjD;AAEA,SAAS,OAAiE;CACxE,MAAM,MAAM,cAAsB;CAClC,MAAM,MAAM,cAAsB;CAClC,OAAO,CACL;EAAE,OAAO,MAAM,IAAI,KAAK,CAAC;EAAG,WAAW,IAAI;CAAU,GACrD;EAAE,OAAO,MAAM,IAAI,KAAK,CAAC;EAAG,WAAW,IAAI;CAAU,CACvD;AACF;;AAGA,SAAgB,yBAAyE;CACvF,MAAM,CAAC,MAAM,SAAS,KAAgC;CACtD,OAAO;EAAE;EAAM;CAAM;AACvB;AAEA,SAAS,gBACP,MACA,QAC4B;CAC5B,OAAO;EACL,KAAK,SAAS;GACZ,MAAM,WAA6B;IAAE,QAAQ;IAAmB;IAAM;GAAQ;GAC9E,OAAO,YAAY,UAAU,GAAG;EAClC;EACA,UAAU,UAAU;GAClB,MAAM,WAAW,MAA0B;IACzC,IAAI,mBAAmB,EAAE,IAAI,KAAK,EAAE,KAAK,SAAS,MAAM,SAAS,EAAE,KAAK,OAAa;GACvF;GACA,OAAO,iBAAiB,WAAW,OAAO;GAC1C,aAAa,OAAO,oBAAoB,WAAW,OAAO;EAC5D;CACF;AACF;;AAGA,SAAgB,0BAA0B,SAAiB,QAAuB;CAChF,OAAO,gBAA2C,QAAQ,MAAM;AAClE;;AAGA,SAAgB,2BAA2B,SAAiB,QAAwB;CAClF,OAAO,gBAA2C,SAAS,MAAM;AACnE"}
@@ -4,7 +4,7 @@ import { createDevtoolsRoot } from "./root.js";
4
4
  import { useEffect, useMemo, useState } from "react";
5
5
  import { isDev, useLatest } from "@weasel-js/react";
6
6
 
7
- //#region src/devtools/useDevtoolsRoot.ts
7
+ // src/devtools/useDevtoolsRoot.ts
8
8
  /** `debug` as the canvas resolves it, with `override` over it. Absent `debug` reads `?debug=` from the URL. */
9
9
  function withOverride(debug, override) {
10
10
  if (!override) return debug;
@@ -76,6 +76,5 @@ function useDevtoolsRoot(inputs, changes) {
76
76
  return root;
77
77
  }
78
78
 
79
- //#endregion
80
79
  export { useDevtoolsOverride, useDevtoolsRoot, withOverride };
81
80
  //# sourceMappingURL=useDevtoolsRoot.js.map
@@ -1,6 +1,6 @@
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-DW14eu9B.js';
3
+ import { S as Scene } from './types-BUvUXZe5.js';
4
4
  import '@weasel-js/history';
5
5
  import './types-A_sNJYRd.js';
6
6
  import '@weasel-js/geom';
@@ -316,12 +316,6 @@ interface CoordTraceEntry {
316
316
  fallback: boolean;
317
317
  }
318
318
 
319
- /**
320
- * A root: what one mounted `<SceneCanvas>` exposes to the devtools hook and to
321
- * the test hook. The canvas supplies live getters; the root adds change
322
- * versions and the probe registry.
323
- */
324
-
325
319
  /** What a canvas hands {@link createDevtoolsRoot}. Every getter reads the latest committed value. */
326
320
  interface DevtoolsRootSource {
327
321
  label(): string;
@@ -372,11 +366,6 @@ declare function createDevtoolsRoot(source: DevtoolsRootSource): DevtoolsRoot;
372
366
  /** Run `flush` once, soon. The hook's default waits for the next animation frame. */
373
367
  type DevtoolsSchedule = (flush: () => void) => void;
374
368
 
375
- /**
376
- * How devtools messages travel. A transport sends one side's messages and
377
- * hears the other side's; the session neither knows nor cares which kind it has.
378
- */
379
-
380
369
  /** One end of a connection: it sends `Out` and hears `In`. */
381
370
  interface DevtoolsTransport<Out, In> {
382
371
  send(message: Out): void;
@@ -1,7 +1,7 @@
1
- import { serialize } from "./devtools/serialize.js";
1
+ import { createDevtoolsHook, installDevtoolsHook } from "./devtools/hook.js";
2
2
  import { DEVTOOLS_PROTOCOL } from "./devtools/protocol.js";
3
3
  import { DEVTOOLS_ENVELOPE, createInPageTransports, createWindowPageTransport, createWindowPanelTransport, isDevtoolsEnvelope } from "./devtools/transport.js";
4
- import { createDevtoolsHook, installDevtoolsHook } from "./devtools/hook.js";
4
+ import { serialize } from "./devtools/serialize.js";
5
5
  import { createDevtoolsRoot } from "./devtools/root.js";
6
6
 
7
7
  export { DEVTOOLS_ENVELOPE, DEVTOOLS_PROTOCOL, createDevtoolsHook, createDevtoolsRoot, createInPageTransports, createWindowPageTransport, createWindowPanelTransport, installDevtoolsHook, isDevtoolsEnvelope, serialize };
@@ -1,7 +1,7 @@
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-DW14eu9B.js';
4
+ import './types-BUvUXZe5.js';
5
5
  import '@weasel-js/history';
6
6
  import './types-A_sNJYRd.js';
7
7
  import '@weasel-js/geom';
package/dist/devtools.js CHANGED
@@ -4,9 +4,8 @@ import { DEVTOOLS_ENVELOPE, createInPageTransports, createWindowPageTransport, c
4
4
  import { createDevtoolsHook, installDevtoolsHook } from "./devtools/hook.js";
5
5
  import { createDevtoolsRoot } from "./devtools/root.js";
6
6
 
7
- //#region src/import-shims/devtools.ts
7
+ // src/import-shims/devtools.ts
8
8
  installDevtoolsHook();
9
9
 
10
- //#endregion
11
10
  export { DEVTOOLS_ENVELOPE, DEVTOOLS_PROTOCOL, createDevtoolsHook, createDevtoolsRoot, createInPageTransports, createWindowPageTransport, createWindowPanelTransport, installDevtoolsHook, isDevtoolsEnvelope, serialize };
12
11
  //# sourceMappingURL=devtools.js.map
@@ -1,4 +1,4 @@
1
- //#region src/domains/chrome-caps/buildChromeCtx.ts
1
+ // 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) {
@@ -13,6 +13,5 @@ function buildChromeCtx(args) {
13
13
  };
14
14
  }
15
15
 
16
- //#endregion
17
16
  export { buildChromeCtx };
18
17
  //# sourceMappingURL=buildChromeCtx.js.map
@@ -1,6 +1,6 @@
1
1
  import { ALWAYS, NEVER, evaluate } from "@weasel-js/routing";
2
2
 
3
- //#region src/domains/chrome-caps/conditions.ts
3
+ // src/domains/chrome-caps/conditions.ts
4
4
  /**
5
5
  * Promote a Rule tree to a fluent Condition.
6
6
  *
@@ -109,6 +109,5 @@ var coarsePointer = cond({ coarsePointer: true });
109
109
  /** Primary pointer can hover. Absent device profile → true. */
110
110
  var canHover = cond({ canHover: true });
111
111
 
112
- //#endregion
113
112
  export { actionIs, always, and, canHover, capabilityAll, capabilityIn, capabilityIs, capabilityNot, coarsePointer, cond, editingAnchors, focused, gesturing, hovering, hoveringSelected, modeIn, modeIs, modeNot, modifierHeld, multiActive, never, not, or, selectionAtLeast, selectionEmpty, selectionIs, when, zoomAtLeast };
114
113
  //# sourceMappingURL=conditions.js.map
@@ -1,4 +1,4 @@
1
- //#region src/domains/chrome-caps/defaults.ts
1
+ // src/domains/chrome-caps/defaults.ts
2
2
  /**
3
3
  * Kit-shipped defaults. Merged with the consumer's `chromeVisibility` map
4
4
  * at resolve time; consumer entries take precedence per id.
@@ -29,6 +29,5 @@ var defaultVisibilityRules = {
29
29
  "snap.guides": { gesturing: true }
30
30
  };
31
31
 
32
- //#endregion
33
32
  export { defaultVisibilityRules };
34
33
  //# sourceMappingURL=defaults.js.map
@@ -1,8 +1,8 @@
1
- import { viewZoom } from "../../core/viewport/view.js";
2
1
  import { defaultVisibilityRules } from "./defaults.js";
2
+ import { viewZoom } from "../../core/viewport/view.js";
3
3
  import { DEFAULT_ALLOWED_CAPABILITIES, evaluate } from "@weasel-js/routing";
4
4
 
5
- //#region src/domains/chrome-caps/resolve.ts
5
+ // src/domains/chrome-caps/resolve.ts
6
6
  /**
7
7
  * Build the per-frame visibility check: consumer rules merged on top of
8
8
  * the kit defaults, evaluated against `ctx`.
@@ -31,6 +31,5 @@ function resolveVisibility(consumer, ctx) {
31
31
  };
32
32
  }
33
33
 
34
- //#endregion
35
34
  export { resolveVisibility };
36
35
  //# sourceMappingURL=resolve.js.map
@@ -4,7 +4,7 @@ import { useMemo } from "react";
4
4
  import { useLatest } from "@weasel-js/react";
5
5
  import { DEFAULT_ALLOWED_CAPABILITIES, buildRuleCtx } from "@weasel-js/routing";
6
6
 
7
- //#region src/domains/chrome-caps/useChromeCaps.ts
7
+ // src/domains/chrome-caps/useChromeCaps.ts
8
8
  /**
9
9
  * The rule context a surface's chrome-visibility rules and action eligibility
10
10
  * are evaluated against, and the hook that keeps one for `<SceneCanvas>`.
@@ -59,6 +59,5 @@ function useChromeCaps(source) {
59
59
  }, [live]);
60
60
  }
61
61
 
62
- //#endregion
63
62
  export { surfaceRuleCtx, useChromeCaps };
64
63
  //# sourceMappingURL=useChromeCaps.js.map
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useEffect, useMemo, useRef } from "react";
2
2
  import { useLatest } from "@weasel-js/react";
3
3
 
4
- //#region src/domains/chrome-caps/useHoverTracking.ts
4
+ // src/domains/chrome-caps/useHoverTracking.ts
5
5
  /** Last-hovered NodeId for chrome-caps rules. */
6
6
  /** Track which node the pointer is over. Returns a getter rather than state,
7
7
  * so a pointer move does not re-render the component. Cleared on
@@ -59,6 +59,5 @@ function useHoverTracking(args) {
59
59
  }), [getHover, canvasRef]);
60
60
  }
61
61
 
62
- //#endregion
63
62
  export { useHoverTracking };
64
63
  //# sourceMappingURL=useHoverTracking.js.map
@@ -2,7 +2,7 @@ import { dwarn } from "../../debug/flag.js";
2
2
  import { admitIngestMime } from "@weasel-js/routing";
3
3
  import { UNKNOWN_MIME, mimeMatchesGlob } from "@weasel-js/gestures";
4
4
 
5
- //#region src/domains/ingestion/contentHandlers.ts
5
+ // src/domains/ingestion/contentHandlers.ts
6
6
  /**
7
7
  * Content-handler registry for external-content ingestion.
8
8
  *
@@ -127,6 +127,5 @@ async function runIngest(items, ctx, opts = {}) {
127
127
  await Promise.all(runs);
128
128
  }
129
129
 
130
- //#endregion
131
130
  export { admitHandlerMimes, couldClaim, getContentHandlers, handlersFor, registerContentHandler, runIngest };
132
131
  //# sourceMappingURL=contentHandlers.js.map
@@ -1,9 +1,9 @@
1
- import { arrivalBounds } from "./placement.js";
2
1
  import { couldClaim } from "./contentHandlers.js";
2
+ import { arrivalBounds } from "./placement.js";
3
3
  import { rectPath } from "@weasel-js/geom";
4
4
  import { pendingKindOf } from "@weasel-js/routing";
5
5
 
6
- //#region src/domains/ingestion/ghost.ts
6
+ // src/domains/ingestion/ghost.ts
7
7
  /**
8
8
  * What a drag still in flight would land as. A browser shows a hovering drag's
9
9
  * kinds and MIMEs and nothing else — no contents, no size — so the ghost is a
@@ -51,6 +51,5 @@ function previewIngest(deps, params, handlers) {
51
51
  return previewPaths.show(boxes.map((b) => ({ path: rectPath(b.x, b.y, b.width, b.height) })));
52
52
  }
53
53
 
54
- //#endregion
55
54
  export { ghostBounds, previewIngest };
56
55
  //# sourceMappingURL=ghost.js.map
@@ -1,6 +1,6 @@
1
1
  import { arrivalBounds } from "./placement.js";
2
2
 
3
- //#region src/domains/ingestion/imageHandler.ts
3
+ // src/domains/ingestion/imageHandler.ts
4
4
  var VIEWPORT_FIT = .9;
5
5
  var defaultMeasure = async (file) => {
6
6
  const bitmap = await createImageBitmap(file);
@@ -57,6 +57,5 @@ var kitImageHandler = {
57
57
  }
58
58
  };
59
59
 
60
- //#endregion
61
60
  export { embedFilesAsImageNodes, kitImageHandler };
62
61
  //# sourceMappingURL=imageHandler.js.map
@@ -1,9 +1,9 @@
1
1
  import { kitImageHandler } from "./imageHandler.js";
2
2
  import { kitSvgHandler } from "./svgHandler.js";
3
- import { kitWeaselJsonHandler } from "./weaselJsonHandler.js";
4
3
  import { kitTextHandler } from "./textHandler.js";
4
+ import { kitWeaselJsonHandler } from "./weaselJsonHandler.js";
5
5
 
6
- //#region src/domains/ingestion/kitHandlers.ts
6
+ // src/domains/ingestion/kitHandlers.ts
7
7
  var KIT_CONTENT_HANDLERS = [
8
8
  kitImageHandler,
9
9
  kitSvgHandler,
@@ -17,6 +17,5 @@ function kitHandlersFor(option = true) {
17
17
  return KIT_CONTENT_HANDLERS.filter((h) => !option.omit.includes(h.id));
18
18
  }
19
19
 
20
- //#endregion
21
20
  export { KIT_CONTENT_HANDLERS, kitHandlersFor };
22
21
  //# sourceMappingURL=kitHandlers.js.map
@@ -1,4 +1,4 @@
1
- //#region src/domains/ingestion/openFilePicker.ts
1
+ // src/domains/ingestion/openFilePicker.ts
2
2
  /**
3
3
  * Show the browser's file picker and resolve with what the user chose —
4
4
  * empty when they cancel. Must be called from a user gesture (a click
@@ -28,6 +28,5 @@ function openFilePicker(opts = {}) {
28
28
  });
29
29
  }
30
30
 
31
- //#endregion
32
31
  export { openFilePicker };
33
32
  //# sourceMappingURL=openFilePicker.js.map
@@ -1,4 +1,4 @@
1
- //#region src/domains/ingestion/placement.ts
1
+ // src/domains/ingestion/placement.ts
2
2
  var CASCADE_OFFSET_PX = 24;
3
3
  /**
4
4
  * Where the kit's handlers put arriving content of a given size: centered on
@@ -20,6 +20,5 @@ function arrivalBounds(ctx, size, index) {
20
20
  };
21
21
  }
22
22
 
23
- //#endregion
24
23
  export { arrivalBounds };
25
24
  //# sourceMappingURL=placement.js.map
@@ -1,6 +1,6 @@
1
1
  import { embedFilesAsImageNodes } from "./imageHandler.js";
2
2
 
3
- //#region src/domains/ingestion/svgHandler.ts
3
+ // src/domains/ingestion/svgHandler.ts
4
4
  var SVG_MIME = "image/svg+xml";
5
5
  var FALLBACK_WIDTH = 300;
6
6
  var FALLBACK_HEIGHT = 150;
@@ -84,6 +84,5 @@ var kitSvgHandler = {
84
84
  }
85
85
  };
86
86
 
87
- //#endregion
88
87
  export { SVG_MIME, isSvgFileItem, kitSvgHandler, sniffSvgText };
89
88
  //# sourceMappingURL=svgHandler.js.map
@@ -1,7 +1,7 @@
1
1
  import { arrivalBounds } from "./placement.js";
2
2
  import { measureTextBounds } from "@weasel-js/text";
3
3
 
4
- //#region src/domains/ingestion/textHandler.ts
4
+ // src/domains/ingestion/textHandler.ts
5
5
  /**
6
6
  * The kit's `text/plain` content handler: a pasted or dropped string becomes
7
7
  * a text node. Registered by default with the other kit handlers.
@@ -46,6 +46,5 @@ function createTextHandler(opts = {}) {
46
46
  * canvas with the `ingest` feature takes text unless its `ingestion.kitHandlers` omits it. */
47
47
  var kitTextHandler = createTextHandler();
48
48
 
49
- //#endregion
50
49
  export { createTextHandler, kitTextHandler };
51
50
  //# sourceMappingURL=textHandler.js.map
@@ -5,7 +5,7 @@ import { useCallback, useEffect, useMemo } from "react";
5
5
  import { useLatest } from "@weasel-js/react";
6
6
  import { itemsFromFiles } from "@weasel-js/routing";
7
7
 
8
- //#region src/domains/ingestion/useCanvasIngestion.ts
8
+ // src/domains/ingestion/useCanvasIngestion.ts
9
9
  /**
10
10
  * One canvas's share of ingestion: its content handlers and the kit's it keeps, which run on
11
11
  * it alone and admit the string flavors they name while it is mounted, the
@@ -59,6 +59,5 @@ function useCanvasIngestion(adapter, getRegistry, options) {
59
59
  };
60
60
  }
61
61
 
62
- //#endregion
63
62
  export { useCanvasIngestion };
64
63
  //# sourceMappingURL=useCanvasIngestion.js.map
@@ -1,9 +1,9 @@
1
- import { dwarn } from "../../debug/flag.js";
2
1
  import { materializePaste } from "../../interactions/actions/clipboard/materializePaste.js";
3
2
  import { WEASEL_CLIPBOARD_MIME, WEASEL_CLIPBOARD_MIME_WEB, extractWeaselClipboardFromSvg, parseWeaselClipboardText, sniffWeaselClipboardText } from "../../interactions/actions/clipboard/wireFormat.js";
3
+ import { dwarn } from "../../debug/flag.js";
4
4
  import { sniffSvgText } from "./svgHandler.js";
5
5
 
6
- //#region src/domains/ingestion/weaselJsonHandler.ts
6
+ // src/domains/ingestion/weaselJsonHandler.ts
7
7
  /** text/plain SVG whose `<metadata>` carries a verified weasel payload —
8
8
  * the draw→draw DOM-paste flavor (Chromium exposes only text/plain there).
9
9
  * The `"weaselClipboard"` substring guard keeps match cheap on arbitrary
@@ -52,6 +52,5 @@ var kitWeaselJsonHandler = {
52
52
  }
53
53
  };
54
54
 
55
- //#endregion
56
55
  export { kitWeaselJsonHandler };
57
56
  //# sourceMappingURL=weaselJsonHandler.js.map
@@ -2,7 +2,7 @@ import { accentColorOf } from "../../canvas/accentColor.js";
2
2
  import { ellipsePath, polylineFromPoints } from "@weasel-js/geom";
3
3
  import { prefersReducedMotion } from "@weasel-js/react";
4
4
 
5
- //#region src/domains/longPress/longPressFeedback.ts
5
+ // src/domains/longPress/longPressFeedback.ts
6
6
  /** Entry and layer id of the default feedback, so a host can find or order it. */
7
7
  var LONG_PRESS_FEEDBACK_ID = "long-press-feedback";
8
8
  var RING_SEGMENTS = 64;
@@ -120,6 +120,5 @@ function createLongPressFeedbackContribution(opts = {}) {
120
120
  };
121
121
  }
122
122
 
123
- //#endregion
124
123
  export { LONG_PRESS_FEEDBACK_ID, createLongPressFeedbackContribution };
125
124
  //# sourceMappingURL=longPressFeedback.js.map
@@ -1,4 +1,4 @@
1
- //#region src/domains/measure/actionIds.ts
1
+ // src/domains/measure/actionIds.ts
2
2
  /** The ids of the measure feature's actions. */
3
3
  var MEASURE_ACTION_IDS = {
4
4
  /** The measure tool's drag, which adds a measurement. */
@@ -17,6 +17,5 @@ var MEASURE_ACTION_IDS = {
17
17
  unpick: "measure.unpick"
18
18
  };
19
19
 
20
- //#endregion
21
20
  export { MEASURE_ACTION_IDS };
22
21
  //# sourceMappingURL=actionIds.js.map
@@ -1,17 +1,17 @@
1
- import { measurementOf } from "./measurement.js";
2
- import { poseDescriptorOf } from "../../interactions/actions/poseDescriptorDep.js";
1
+ import { translateSelection } from "../../interactions/actions/defaults/nudge.js";
2
+ import { requiresSelection } from "../../interactions/actions/defaults/requiresSelection.js";
3
3
  import { commitOps } from "../../interactions/actions/defaultCommitAdapter.js";
4
4
  import { commitTransformOps, transformApplyOps } from "../../interactions/actions/transformFinish.js";
5
- import { recordTransform } from "../../interactions/actions/transform-again/memory.js";
6
- import { requiresSelection } from "../../interactions/actions/defaults/requiresSelection.js";
7
- import { translateSelection } from "../../interactions/actions/defaults/nudge.js";
5
+ import { poseDescriptorOf } from "../../interactions/actions/poseDescriptorDep.js";
8
6
  import { rotateSelectionOps } from "../../interactions/actions/rotate/replay.js";
7
+ import { recordTransform } from "../../interactions/actions/transform-again/memory.js";
8
+ import { measurementOf } from "./measurement.js";
9
9
  import { currentMeasureId, measureIds } from "./measurements.js";
10
10
  import { MEASURE_LABELS, deleteMeasureOps } from "./measureEdits.js";
11
11
  import { MEASURE_ACTION_IDS } from "./actionIds.js";
12
12
  import { ActionDisabledReason } from "@weasel-js/routing";
13
13
 
14
- //#region src/domains/measure/measureCommands.ts
14
+ // src/domains/measure/measureCommands.ts
15
15
  var MOVE_LABEL = "Move by Measurement";
16
16
  var ROTATE_LABEL = "Rotate by Measurement";
17
17
  function current(deps, ms) {
@@ -175,6 +175,5 @@ function measureCommands(ms) {
175
175
  ];
176
176
  }
177
177
 
178
- //#endregion
179
178
  export { measureCommands };
180
179
  //# sourceMappingURL=measureCommands.js.map
@@ -1,10 +1,10 @@
1
- import { MEASURE_ACTION_IDS } from "./actionIds.js";
2
- import { measureDragAction, measurePickAction } from "./measureGestures.js";
3
1
  import { measureCommands } from "./measureCommands.js";
2
+ import { measureDragAction, measurePickAction } from "./measureGestures.js";
4
3
  import { MEASURE_AFFORDANCE_KIND, measurementsLayer } from "./measureLayer.js";
4
+ import { MEASURE_ACTION_IDS } from "./actionIds.js";
5
5
  import { hitPredicate } from "@weasel-js/gestures";
6
6
 
7
- //#region src/domains/measure/measureContribution.ts
7
+ // src/domains/measure/measureContribution.ts
8
8
  var onMeasurement = hitPredicate((hit) => hit?.kind === MEASURE_AFFORDANCE_KIND);
9
9
  var MODS_ANY = {
10
10
  shift: "optional",
@@ -54,6 +54,5 @@ function measurementsContribution(scene, ms) {
54
54
  };
55
55
  }
56
56
 
57
- //#endregion
58
57
  export { measurementsContribution };
59
58
  //# sourceMappingURL=measureContribution.js.map
@@ -1,9 +1,9 @@
1
- import { measureEndsOf, measureNode, measurePose, withMeasureEnd } from "./measurement.js";
2
- import { createTransformOp } from "../../core/ops/transform.js";
3
1
  import { createSetDataOp } from "../../core/ops/setData.js";
2
+ import { createTransformOp } from "../../core/ops/transform.js";
4
3
  import { deleteNode, insertAt } from "../../interactions/actions/pathCommands/pathNodes.js";
4
+ import { measureEndsOf, measureNode, measurePose, withMeasureEnd } from "./measurement.js";
5
5
 
6
- //#region src/domains/measure/measureEdits.ts
6
+ // src/domains/measure/measureEdits.ts
7
7
  /** The labels measurement edits land in history under. */
8
8
  var MEASURE_LABELS = {
9
9
  add: "Measure",
@@ -77,6 +77,5 @@ function deleteMeasureOps(scene, ids, label) {
77
77
  return ops;
78
78
  }
79
79
 
80
- //#endregion
81
80
  export { MEASURE_LABELS, addMeasureOp, deleteMeasureOps, moveEndOps, moveMeasureOps, translatedMeasure };
82
81
  //# sourceMappingURL=measureEdits.js.map