@weasel-js/core 1.9.3 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1139) hide show
  1. package/CHANGELOG.md +1106 -0
  2. package/README.md +7 -5
  3. package/dist/WeaselProvider.js +5 -7
  4. package/dist/WeaselProvider.js.map +1 -1
  5. package/dist/affordances/composeAffordanceLayer.js +91 -93
  6. package/dist/affordances/composeAffordanceLayer.js.map +1 -1
  7. package/dist/affordances/cornerResize.js +27 -18
  8. package/dist/affordances/cornerResize.js.map +1 -1
  9. package/dist/affordances/hitAffordanceRegions.js +65 -104
  10. package/dist/affordances/hitAffordanceRegions.js.map +1 -1
  11. package/dist/affordances/pathAnchors.js.map +1 -1
  12. package/dist/affordances/rotationHandle.js +22 -21
  13. package/dist/affordances/rotationHandle.js.map +1 -1
  14. package/dist/animation/behaviors/coast.js +21 -0
  15. package/dist/animation/behaviors/coast.js.map +1 -0
  16. package/dist/animation/behaviors/coastByWrite.js +107 -0
  17. package/dist/animation/behaviors/coastByWrite.js.map +1 -0
  18. package/dist/animation/behaviors/coastOnTargets.js +94 -0
  19. package/dist/animation/behaviors/coastOnTargets.js.map +1 -0
  20. package/dist/animation/behaviors/momentum.js +38 -88
  21. package/dist/animation/behaviors/momentum.js.map +1 -1
  22. package/dist/animation/clipTargets.js +12 -0
  23. package/dist/animation/clipTargets.js.map +1 -0
  24. package/dist/animation/index.js +15 -20
  25. package/dist/animation/poseHelpers.js +112 -33
  26. package/dist/animation/poseHelpers.js.map +1 -1
  27. package/dist/animation/poseTarget.js +115 -0
  28. package/dist/animation/poseTarget.js.map +1 -0
  29. package/dist/animation/reflow.js +113 -83
  30. package/dist/animation/reflow.js.map +1 -1
  31. package/dist/animation/rewind.js +66 -0
  32. package/dist/animation/rewind.js.map +1 -0
  33. package/dist/animation/rig/bindRig.js +85 -53
  34. package/dist/animation/rig/bindRig.js.map +1 -1
  35. package/dist/animation/rig/rigNode.js +93 -0
  36. package/dist/animation/rig/rigNode.js.map +1 -0
  37. package/dist/animation/rig/rigSeat.js +26 -0
  38. package/dist/animation/rig/rigSeat.js.map +1 -0
  39. package/dist/animation/rig/skinBinding.js +56 -0
  40. package/dist/animation/rig/skinBinding.js.map +1 -0
  41. package/dist/animation/rig/useRig.js +31 -16
  42. package/dist/animation/rig/useRig.js.map +1 -1
  43. package/dist/animation/wrappers/animateLifecycle.js +32 -24
  44. package/dist/animation/wrappers/animateLifecycle.js.map +1 -1
  45. package/dist/animation/wrappers/animateOnSetPose.js +31 -29
  46. package/dist/animation/wrappers/animateOnSetPose.js.map +1 -1
  47. package/dist/animation/wrappers/instantPose.js +13 -0
  48. package/dist/animation/wrappers/instantPose.js.map +1 -0
  49. package/dist/animation/writtenPoseTarget.js +33 -0
  50. package/dist/animation/writtenPoseTarget.js.map +1 -0
  51. package/dist/{autoPoseDescriptor-vCdt55xm.d.ts → autoPoseDescriptor-DHg5KqaJ.d.ts} +1 -1
  52. package/dist/barrel/canvas.js +31 -0
  53. package/dist/barrel/chrome.js +16 -0
  54. package/dist/barrel/input.js +18 -0
  55. package/dist/barrel/interactions.js +38 -0
  56. package/dist/barrel/paint.js +11 -0
  57. package/dist/barrel/paths.js +12 -0
  58. package/dist/barrel/renderer.js +14 -0
  59. package/dist/barrel/routing.js +57 -0
  60. package/dist/barrel/scene.js +37 -0
  61. package/dist/barrel/text.js +9 -0
  62. package/dist/barrel/viewport.js +42 -0
  63. package/dist/canvas/Canvas.js +280 -559
  64. package/dist/canvas/Canvas.js.map +1 -1
  65. package/dist/canvas/CanvasView.js +147 -167
  66. package/dist/canvas/CanvasView.js.map +1 -1
  67. package/dist/canvas/CursorCoordsHud.js +53 -49
  68. package/dist/canvas/CursorCoordsHud.js.map +1 -1
  69. package/dist/canvas/DrawCanvas.js +40 -51
  70. package/dist/canvas/DrawCanvas.js.map +1 -1
  71. package/dist/canvas/ModalityHud.js.map +1 -1
  72. package/dist/canvas/NodeShape.js +55 -374
  73. package/dist/canvas/NodeShape.js.map +1 -1
  74. package/dist/canvas/PickHud.js +50 -47
  75. package/dist/canvas/PickHud.js.map +1 -1
  76. package/dist/canvas/SceneCanvas/DevHuds.js +40 -0
  77. package/dist/canvas/SceneCanvas/DevHuds.js.map +1 -0
  78. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js +126 -0
  79. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js.map +1 -0
  80. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +27 -31
  81. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
  82. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js +64 -0
  83. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js.map +1 -0
  84. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js +16 -0
  85. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js.map +1 -0
  86. package/dist/canvas/SceneCanvas/coordTrace.js +46 -0
  87. package/dist/canvas/SceneCanvas/coordTrace.js.map +1 -0
  88. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +138 -85
  89. package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
  90. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +9 -8
  91. package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -1
  92. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js.map +1 -1
  93. package/dist/canvas/SceneCanvas/features.js +74 -43
  94. package/dist/canvas/SceneCanvas/features.js.map +1 -1
  95. package/dist/canvas/SceneCanvas/isDev.js +12 -0
  96. package/dist/canvas/SceneCanvas/isDev.js.map +1 -0
  97. package/dist/canvas/SceneCanvas/poseGeometry.js +31 -34
  98. package/dist/canvas/SceneCanvas/poseGeometry.js.map +1 -1
  99. package/dist/canvas/SceneCanvas/poseRegistrars.js +13 -0
  100. package/dist/canvas/SceneCanvas/poseRegistrars.js.map +1 -0
  101. package/dist/canvas/SceneCanvas/props.js +39 -0
  102. package/dist/canvas/SceneCanvas/props.js.map +1 -0
  103. package/dist/canvas/SceneCanvas/toolRegistry.js +23 -0
  104. package/dist/canvas/SceneCanvas/toolRegistry.js.map +1 -0
  105. package/dist/canvas/SceneCanvas/useActionsPropResolver.js +6 -1
  106. package/dist/canvas/SceneCanvas/useActionsPropResolver.js.map +1 -1
  107. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +21 -62
  108. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -1
  109. package/dist/canvas/SceneCanvas/useBuiltinTools.js +21 -0
  110. package/dist/canvas/SceneCanvas/useBuiltinTools.js.map +1 -0
  111. package/dist/canvas/SceneCanvas/useCanvasCamera.js +38 -0
  112. package/dist/canvas/SceneCanvas/useCanvasCamera.js.map +1 -0
  113. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +20 -0
  114. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js.map +1 -0
  115. package/dist/canvas/SceneCanvas/useCanvasSelection.js +16 -0
  116. package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -0
  117. package/dist/canvas/SceneCanvas/useCanvasTools.js +67 -0
  118. package/dist/canvas/SceneCanvas/useCanvasTools.js.map +1 -0
  119. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +29 -29
  120. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js.map +1 -1
  121. package/dist/canvas/SceneCanvas/useHeldModifiers.js +20 -0
  122. package/dist/canvas/SceneCanvas/useHeldModifiers.js.map +1 -0
  123. package/dist/canvas/SceneCanvas/useNodeAtPoint.js +26 -0
  124. package/dist/canvas/SceneCanvas/useNodeAtPoint.js.map +1 -0
  125. package/dist/canvas/SceneCanvas/useNodeKinds.js +26 -0
  126. package/dist/canvas/SceneCanvas/useNodeKinds.js.map +1 -0
  127. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +48 -48
  128. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js.map +1 -1
  129. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +47 -0
  130. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js.map +1 -0
  131. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +66 -0
  132. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js.map +1 -0
  133. package/dist/canvas/SceneCanvas/useSceneChrome.js +59 -0
  134. package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -0
  135. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +23 -0
  136. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js.map +1 -0
  137. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +74 -78
  138. package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
  139. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +37 -0
  140. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js.map +1 -0
  141. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +38 -0
  142. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js.map +1 -0
  143. package/dist/canvas/SceneCanvas/useViewLayerGate.js +20 -0
  144. package/dist/canvas/SceneCanvas/useViewLayerGate.js.map +1 -0
  145. package/dist/canvas/SceneCanvas/useViewportActions.js +9 -1
  146. package/dist/canvas/SceneCanvas/useViewportActions.js.map +1 -1
  147. package/dist/canvas/SceneCanvas/worldPointAt.js +9 -0
  148. package/dist/canvas/SceneCanvas/worldPointAt.js.map +1 -0
  149. package/dist/canvas/SceneCanvas.js +311 -969
  150. package/dist/canvas/SceneCanvas.js.map +1 -1
  151. package/dist/canvas/SceneViewCanvas.js +42 -46
  152. package/dist/canvas/SceneViewCanvas.js.map +1 -1
  153. package/dist/canvas/adapterDerivedPath.js +26 -0
  154. package/dist/canvas/adapterDerivedPath.js.map +1 -0
  155. package/dist/canvas/affordanceAt.js +11 -1
  156. package/dist/canvas/affordanceAt.js.map +1 -1
  157. package/dist/canvas/buildSceneLayer.js +111 -0
  158. package/dist/canvas/buildSceneLayer.js.map +1 -0
  159. package/dist/canvas/buildSceneTree.js +16 -19
  160. package/dist/canvas/buildSceneTree.js.map +1 -1
  161. package/dist/canvas/canvasRenderer.js +67 -55
  162. package/dist/canvas/canvasRenderer.js.map +1 -1
  163. package/dist/canvas/colorOverrides.js.map +1 -1
  164. package/dist/canvas/defaultDrawOne.js +12 -12
  165. package/dist/canvas/defaultDrawOne.js.map +1 -1
  166. package/dist/canvas/deps/areaSelect.js +4 -4
  167. package/dist/canvas/deps/areaSelect.js.map +1 -1
  168. package/dist/canvas/deps/changes.js +13 -0
  169. package/dist/canvas/deps/changes.js.map +1 -0
  170. package/dist/canvas/deps/debug.js.map +1 -1
  171. package/dist/canvas/deps/editAnchors.js +38 -57
  172. package/dist/canvas/deps/editAnchors.js.map +1 -1
  173. package/dist/canvas/deps/geometryProjection.js.map +1 -1
  174. package/dist/canvas/deps/hitTestArea.js +31 -26
  175. package/dist/canvas/deps/hitTestArea.js.map +1 -1
  176. package/dist/canvas/deps/insert.js +130 -91
  177. package/dist/canvas/deps/insert.js.map +1 -1
  178. package/dist/canvas/deps/lassoSelect.js +5 -5
  179. package/dist/canvas/deps/lassoSelect.js.map +1 -1
  180. package/dist/canvas/deps/poseDescriptor.js +1 -1
  181. package/dist/canvas/deps/poseDescriptor.js.map +1 -1
  182. package/dist/canvas/deps/resizePolicy.js.map +1 -1
  183. package/dist/canvas/deps/slice.js +26 -26
  184. package/dist/canvas/deps/slice.js.map +1 -1
  185. package/dist/canvas/deps/textEdit.js +6 -5
  186. package/dist/canvas/deps/textEdit.js.map +1 -1
  187. package/dist/canvas/deps/view.js.map +1 -1
  188. package/dist/canvas/derivedPath.js +47 -22
  189. package/dist/canvas/derivedPath.js.map +1 -1
  190. package/dist/canvas/drawEnvelope.js +8 -4
  191. package/dist/canvas/drawEnvelope.js.map +1 -1
  192. package/dist/canvas/getNodeAtPoint.js +4 -8
  193. package/dist/canvas/getNodeAtPoint.js.map +1 -1
  194. package/dist/canvas/hud.module.js +1 -1
  195. package/dist/canvas/hud.module.js.map +1 -1
  196. package/dist/canvas/insertPreviewExtent.js.map +1 -1
  197. package/dist/canvas/kitRequirements.js +2 -2
  198. package/dist/canvas/kitRequirements.js.map +1 -1
  199. package/dist/canvas/layerOrder.js +13 -6
  200. package/dist/canvas/layerOrder.js.map +1 -1
  201. package/dist/canvas/layerSlots.js +6 -1
  202. package/dist/canvas/layerSlots.js.map +1 -1
  203. package/dist/canvas/nodeShapes/derivedPainter.js +34 -0
  204. package/dist/canvas/nodeShapes/derivedPainter.js.map +1 -0
  205. package/dist/canvas/nodeShapes/imagePainter.js +87 -0
  206. package/dist/canvas/nodeShapes/imagePainter.js.map +1 -0
  207. package/dist/canvas/nodeShapes/memo.js +9 -0
  208. package/dist/canvas/nodeShapes/memo.js.map +1 -0
  209. package/dist/canvas/nodeShapes/nodePaint.js +68 -0
  210. package/dist/canvas/nodeShapes/nodePaint.js.map +1 -0
  211. package/dist/canvas/nodeShapes/pathPainter.js +39 -0
  212. package/dist/canvas/nodeShapes/pathPainter.js.map +1 -0
  213. package/dist/canvas/nodeShapes/poseBox.js +20 -0
  214. package/dist/canvas/nodeShapes/poseBox.js.map +1 -0
  215. package/dist/canvas/nodeShapes/rectFallbackPainter.js +38 -0
  216. package/dist/canvas/nodeShapes/rectFallbackPainter.js.map +1 -0
  217. package/dist/canvas/nodeShapes/shapePainter.js +72 -0
  218. package/dist/canvas/nodeShapes/shapePainter.js.map +1 -0
  219. package/dist/canvas/nodeShapes/textPainter.js +55 -0
  220. package/dist/canvas/nodeShapes/textPainter.js.map +1 -0
  221. package/dist/canvas/overlayRoleStrokes.js.map +1 -1
  222. package/dist/canvas/paintCull.js +11 -14
  223. package/dist/canvas/paintCull.js.map +1 -1
  224. package/dist/{features/cursor → canvas}/paintedCursorLayer.js +2 -2
  225. package/dist/canvas/paintedCursorLayer.js.map +1 -0
  226. package/dist/canvas/pickWalk.js +59 -68
  227. package/dist/canvas/pickWalk.js.map +1 -1
  228. package/dist/canvas/planeClips.js +18 -19
  229. package/dist/canvas/planeClips.js.map +1 -1
  230. package/dist/canvas/poseCascade.js +41 -0
  231. package/dist/canvas/poseCascade.js.map +1 -0
  232. package/dist/canvas/poseRotation.js +9 -23
  233. package/dist/canvas/poseRotation.js.map +1 -1
  234. package/dist/canvas/rasterReadback.js +22 -0
  235. package/dist/canvas/rasterReadback.js.map +1 -0
  236. package/dist/canvas/renderDebugSnapshot.js +11 -11
  237. package/dist/canvas/renderDebugSnapshot.js.map +1 -1
  238. package/dist/canvas/renderNeeds.js +3 -3
  239. package/dist/canvas/renderNeeds.js.map +1 -1
  240. package/dist/canvas/renderSceneToPixels.js +64 -81
  241. package/dist/canvas/renderSceneToPixels.js.map +1 -1
  242. package/dist/canvas/sceneAdapter.js +68 -214
  243. package/dist/canvas/sceneAdapter.js.map +1 -1
  244. package/dist/canvas/sceneClipboard.js +112 -0
  245. package/dist/canvas/sceneClipboard.js.map +1 -0
  246. package/dist/canvas/sceneLayerPaint.js +4 -4
  247. package/dist/canvas/sceneLayerPaint.js.map +1 -1
  248. package/dist/canvas/sceneSlotWiring.js.map +1 -1
  249. package/dist/canvas/sceneViewRender.js +39 -39
  250. package/dist/canvas/sceneViewRender.js.map +1 -1
  251. package/dist/canvas/slopsDebugLayer.js +4 -4
  252. package/dist/canvas/slopsDebugLayer.js.map +1 -1
  253. package/dist/canvas/surface.module.js +6 -0
  254. package/dist/canvas/surface.module.js.map +1 -0
  255. package/dist/canvas/surfaceBox.js +16 -0
  256. package/dist/canvas/surfaceBox.js.map +1 -0
  257. package/dist/canvas/useCanvasRenderer.js +26 -6
  258. package/dist/canvas/useCanvasRenderer.js.map +1 -1
  259. package/dist/canvas/useCanvasSurface.js +31 -0
  260. package/dist/canvas/useCanvasSurface.js.map +1 -0
  261. package/dist/canvas/useCanvasView.js +67 -0
  262. package/dist/canvas/useCanvasView.js.map +1 -0
  263. package/dist/canvas/useFrameLoop.js +39 -31
  264. package/dist/canvas/useFrameLoop.js.map +1 -1
  265. package/dist/canvas/useHostAnchor.js +35 -33
  266. package/dist/canvas/useHostAnchor.js.map +1 -1
  267. package/dist/canvas/useLateContentRedraw.js +8 -8
  268. package/dist/canvas/useLateContentRedraw.js.map +1 -1
  269. package/dist/canvas/useSceneLayerList.js +11 -0
  270. package/dist/canvas/useSceneLayerList.js.map +1 -0
  271. package/dist/canvas/useSurfaceInput.js +42 -0
  272. package/dist/canvas/useSurfaceInput.js.map +1 -0
  273. package/dist/canvas/useToolCursor.js +29 -0
  274. package/dist/canvas/useToolCursor.js.map +1 -0
  275. package/dist/canvas/useViewHelpers.js +46 -85
  276. package/dist/canvas/useViewHelpers.js.map +1 -1
  277. package/dist/canvas/viewInputs.js.map +1 -1
  278. package/dist/canvas/viewRegistry.js +25 -27
  279. package/dist/canvas/viewRegistry.js.map +1 -1
  280. package/dist/canvas/watchElementMove.js +43 -0
  281. package/dist/canvas/watchElementMove.js.map +1 -0
  282. package/dist/canvas/wrapNodeOutput.js.map +1 -1
  283. package/dist/clipboard.d.ts +16 -19
  284. package/dist/{types-B_9g6hMM.d.ts → clone-2a5hVbBd.d.ts} +123 -74
  285. package/dist/clone.d.ts +4 -7
  286. package/dist/clone.js +0 -2
  287. package/dist/core/device/index.js +5 -4
  288. package/dist/core/device/targets.js.map +1 -1
  289. package/dist/core/device/useDeviceProfile.js +38 -44
  290. package/dist/core/device/useDeviceProfile.js.map +1 -1
  291. package/dist/core/device/watchDevicePixelRatio.js +17 -0
  292. package/dist/core/device/watchDevicePixelRatio.js.map +1 -0
  293. package/dist/{interactions/actions/resize → core/geometry}/autoPoseDescriptor.js +8 -7
  294. package/dist/core/geometry/autoPoseDescriptor.js.map +1 -0
  295. package/dist/core/geometry/pathPoseDescriptor.js +88 -0
  296. package/dist/core/geometry/pathPoseDescriptor.js.map +1 -0
  297. package/dist/core/geometry/poseDescriptor.js +68 -19
  298. package/dist/core/geometry/poseDescriptor.js.map +1 -1
  299. package/dist/core/geometry/regionHit.js +31 -34
  300. package/dist/core/geometry/regionHit.js.map +1 -1
  301. package/dist/core/geometry/targetFrame.js +94 -0
  302. package/dist/core/geometry/targetFrame.js.map +1 -0
  303. package/dist/core/geometry/unionBounds.js +30 -29
  304. package/dist/core/geometry/unionBounds.js.map +1 -1
  305. package/dist/core/isPlainObject.js +2 -11
  306. package/dist/core/layers/backgroundFill.js +31 -0
  307. package/dist/core/layers/backgroundFill.js.map +1 -0
  308. package/dist/{features/groups → core/layers}/children.js +1 -1
  309. package/dist/core/layers/children.js.map +1 -0
  310. package/dist/core/layers/gateLayer.js +13 -0
  311. package/dist/core/layers/gateLayer.js.map +1 -0
  312. package/dist/core/layers/layerGroup.js +40 -0
  313. package/dist/core/layers/layerGroup.js.map +1 -0
  314. package/dist/core/layers/render.js +50 -76
  315. package/dist/core/layers/render.js.map +1 -1
  316. package/dist/core/ops/arrange.js +1 -0
  317. package/dist/core/ops/arrange.js.map +1 -1
  318. package/dist/core/ops/create.js +10 -5
  319. package/dist/core/ops/create.js.map +1 -1
  320. package/dist/core/ops/createHistory.js +9 -9
  321. package/dist/core/ops/createHistory.js.map +1 -1
  322. package/dist/core/ops/delete.js +12 -24
  323. package/dist/core/ops/delete.js.map +1 -1
  324. package/dist/core/ops/reorder/index.js +43 -40
  325. package/dist/core/ops/reorder/index.js.map +1 -1
  326. package/dist/core/ops/reorder/setChildOrder.js +34 -0
  327. package/dist/core/ops/reorder/setChildOrder.js.map +1 -0
  328. package/dist/core/paint/meshKind.js +16 -0
  329. package/dist/core/paint/meshKind.js.map +1 -0
  330. package/dist/{features/meshPaint/lazyKind.js → core/paint/meshKindLazy.js} +282 -105
  331. package/dist/core/paint/meshKindLazy.js.map +1 -0
  332. package/dist/core/paint/paintKindEntry.js +8 -0
  333. package/dist/core/paint/paintKindEntry.js.map +1 -0
  334. package/dist/core/paint/paintKinds.js +144 -0
  335. package/dist/core/paint/paintKinds.js.map +1 -0
  336. package/dist/core/paint/registerMesh.js +7 -0
  337. package/dist/core/paint/registerMesh.js.map +1 -0
  338. package/dist/core/scene/NodeProperties.js.map +1 -1
  339. package/dist/core/scene/NodeRouting.js.map +1 -1
  340. package/dist/core/scene/appliedLog.js +37 -0
  341. package/dist/core/scene/appliedLog.js.map +1 -0
  342. package/dist/core/scene/arrivalWindow.js +102 -0
  343. package/dist/core/scene/arrivalWindow.js.map +1 -0
  344. package/dist/core/scene/boundOps.js +40 -0
  345. package/dist/core/scene/boundOps.js.map +1 -0
  346. package/dist/core/scene/composeFrame.js +9 -6
  347. package/dist/core/scene/composeFrame.js.map +1 -1
  348. package/dist/{features/groups → core/scene}/composePose.js +18 -18
  349. package/dist/core/scene/composePose.js.map +1 -0
  350. package/dist/core/scene/depMemo.js +31 -6
  351. package/dist/core/scene/depMemo.js.map +1 -1
  352. package/dist/core/scene/derivedPath.js +19 -20
  353. package/dist/core/scene/derivedPath.js.map +1 -1
  354. package/dist/core/scene/editMode.js +26 -0
  355. package/dist/core/scene/editMode.js.map +1 -0
  356. package/dist/core/scene/effectivePose.js +38 -39
  357. package/dist/core/scene/effectivePose.js.map +1 -1
  358. package/dist/core/scene/fieldEdits.js +98 -0
  359. package/dist/core/scene/fieldEdits.js.map +1 -0
  360. package/dist/core/scene/historyFacade.js +130 -0
  361. package/dist/core/scene/historyFacade.js.map +1 -0
  362. package/dist/core/scene/historyForm.js +6 -0
  363. package/dist/core/scene/historyForm.js.map +1 -0
  364. package/dist/core/scene/kitOps.js +185 -0
  365. package/dist/core/scene/kitOps.js.map +1 -0
  366. package/dist/core/scene/kitRegistry.js.map +1 -1
  367. package/dist/core/scene/layerStack.js +131 -0
  368. package/dist/core/scene/layerStack.js.map +1 -0
  369. package/dist/core/scene/layoutPass.js +58 -59
  370. package/dist/core/scene/layoutPass.js.map +1 -1
  371. package/dist/core/scene/lockGuard.js +37 -0
  372. package/dist/core/scene/lockGuard.js.map +1 -0
  373. package/dist/{features/groups → core/scene}/nestedHit.js +3 -3
  374. package/dist/core/scene/nestedHit.js.map +1 -0
  375. package/dist/core/scene/nodeFnFields.js +10 -11
  376. package/dist/core/scene/nodeFnFields.js.map +1 -1
  377. package/dist/core/scene/nodeMemo.js +45 -19
  378. package/dist/core/scene/nodeMemo.js.map +1 -1
  379. package/dist/core/scene/nodeStore.js +127 -0
  380. package/dist/core/scene/nodeStore.js.map +1 -0
  381. package/dist/core/scene/notifier.js +37 -0
  382. package/dist/core/scene/notifier.js.map +1 -0
  383. package/dist/core/scene/opTable.js +50 -0
  384. package/dist/core/scene/opTable.js.map +1 -0
  385. package/dist/core/scene/outerOps.js +66 -0
  386. package/dist/core/scene/outerOps.js.map +1 -0
  387. package/dist/core/scene/poseFeed.js +38 -38
  388. package/dist/core/scene/poseFeed.js.map +1 -1
  389. package/dist/core/scene/poseHold.js +39 -0
  390. package/dist/core/scene/poseHold.js.map +1 -0
  391. package/dist/core/scene/poseOverrides.js +44 -40
  392. package/dist/core/scene/poseOverrides.js.map +1 -1
  393. package/dist/core/scene/poseSnapshot.js.map +1 -1
  394. package/dist/core/scene/reconcileSpecs.js +3 -2
  395. package/dist/core/scene/reconcileSpecs.js.map +1 -1
  396. package/dist/core/scene/recorder.js +86 -0
  397. package/dist/core/scene/recorder.js.map +1 -0
  398. package/dist/core/scene/renderOrder.js +84 -0
  399. package/dist/core/scene/renderOrder.js.map +1 -0
  400. package/dist/core/scene/scene.js +80 -1266
  401. package/dist/core/scene/scene.js.map +1 -1
  402. package/dist/core/scene/sceneEdits.js +58 -0
  403. package/dist/core/scene/sceneEdits.js.map +1 -0
  404. package/dist/core/scene/sceneMutators.js +49 -0
  405. package/dist/core/scene/sceneMutators.js.map +1 -0
  406. package/dist/core/scene/scenePoseAdapter.js +16 -0
  407. package/dist/core/scene/scenePoseAdapter.js.map +1 -0
  408. package/dist/core/scene/sceneRecording.js +90 -0
  409. package/dist/core/scene/sceneRecording.js.map +1 -0
  410. package/dist/core/scene/sceneSelection.js +28 -0
  411. package/dist/core/scene/sceneSelection.js.map +1 -0
  412. package/dist/core/scene/sceneState.js +49 -0
  413. package/dist/core/scene/sceneState.js.map +1 -0
  414. package/dist/core/scene/serialization.js +71 -0
  415. package/dist/core/scene/serialization.js.map +1 -0
  416. package/dist/core/scene/staleReplay.js +51 -0
  417. package/dist/core/scene/staleReplay.js.map +1 -0
  418. package/dist/core/scene/statedFields.js +9 -0
  419. package/dist/core/scene/statedFields.js.map +1 -0
  420. package/dist/core/scene/treeEdits.js +127 -0
  421. package/dist/core/scene/treeEdits.js.map +1 -0
  422. package/dist/core/scene/treeOrder.js +13 -0
  423. package/dist/core/scene/treeOrder.js.map +1 -0
  424. package/dist/core/scene/treeReads.js +26 -0
  425. package/dist/core/scene/treeReads.js.map +1 -0
  426. package/dist/core/scene/types.js.map +1 -1
  427. package/dist/{features/groups → core/scene}/unionOfChildren.js +3 -3
  428. package/dist/core/scene/unionOfChildren.js.map +1 -0
  429. package/dist/core/scene/unitScopes.js +13 -0
  430. package/dist/core/scene/unitScopes.js.map +1 -0
  431. package/dist/core/scene/useScene.js.map +1 -1
  432. package/dist/core/selection/readOnlySelection.js +32 -0
  433. package/dist/core/selection/readOnlySelection.js.map +1 -0
  434. package/dist/core/selection/usePublishSceneSelection.js +26 -0
  435. package/dist/core/selection/usePublishSceneSelection.js.map +1 -0
  436. package/dist/core/selection/useSelection.js +34 -25
  437. package/dist/core/selection/useSelection.js.map +1 -1
  438. package/dist/core/shapeKinds.js.map +1 -1
  439. package/dist/core/stylus/stylus.js.map +1 -1
  440. package/dist/core/stylus/usePointerStylus.js.map +1 -1
  441. package/dist/core/usePaintKinds.js +1 -1
  442. package/dist/core/usePaintKinds.js.map +1 -1
  443. package/dist/core/viewport/clientToWorld.js.map +1 -1
  444. package/dist/core/viewport/fitViewToBounds.js.map +1 -1
  445. package/dist/core/viewport/parallax.js.map +1 -1
  446. package/dist/core/viewport/screenSlop.js +11 -11
  447. package/dist/core/viewport/screenSlop.js.map +1 -1
  448. package/dist/core/viewport/useCanvasSize.js.map +1 -1
  449. package/dist/core/viewport/useDecayLoop.js +8 -8
  450. package/dist/core/viewport/useDecayLoop.js.map +1 -1
  451. package/dist/core/viewport/useNodeOverlayFrame.js +84 -0
  452. package/dist/core/viewport/useNodeOverlayFrame.js.map +1 -0
  453. package/dist/core/viewport/useViewAnimation.js +102 -43
  454. package/dist/core/viewport/useViewAnimation.js.map +1 -1
  455. package/dist/core/viewport/view.js +9 -9
  456. package/dist/core/viewport/view.js.map +1 -1
  457. package/dist/core/viewport/wheelHandler.js.map +1 -1
  458. package/dist/core/viewport/zoomBounds.js +10 -8
  459. package/dist/core/viewport/zoomBounds.js.map +1 -1
  460. package/dist/{cornerHandles-BCrDp_mH.d.ts → cornerHandles-BEshc4z3.d.ts} +11 -24
  461. package/dist/debug/createDebugOverlayLayer.js +97 -97
  462. package/dist/debug/createDebugOverlayLayer.js.map +1 -1
  463. package/dist/debug/createDebugSink.js.map +1 -1
  464. package/dist/debug/flag.js +2 -41
  465. package/dist/debug/frameStats.js.map +1 -1
  466. package/dist/debug/useDebugSink.js +52 -0
  467. package/dist/debug/useDebugSink.js.map +1 -0
  468. package/dist/features/chrome-caps/buildChromeCtx.js.map +1 -1
  469. package/dist/features/chrome-caps/conditions.js.map +1 -1
  470. package/dist/features/chrome-caps/defaults.js.map +1 -1
  471. package/dist/features/chrome-caps/resolve.js.map +1 -1
  472. package/dist/features/chrome-caps/useChromeCaps.js +54 -0
  473. package/dist/features/chrome-caps/useChromeCaps.js.map +1 -0
  474. package/dist/features/chrome-caps/useHoverTracking.js +22 -17
  475. package/dist/features/chrome-caps/useHoverTracking.js.map +1 -1
  476. package/dist/features/ingestion/contentHandlers.js +28 -19
  477. package/dist/features/ingestion/contentHandlers.js.map +1 -1
  478. package/dist/features/ingestion/imageHandler.js +21 -24
  479. package/dist/features/ingestion/imageHandler.js.map +1 -1
  480. package/dist/features/ingestion/openFilePicker.js.map +1 -1
  481. package/dist/features/ingestion/placement.js +16 -0
  482. package/dist/features/ingestion/placement.js.map +1 -0
  483. package/dist/features/ingestion/registerKitHandlers.js +7 -7
  484. package/dist/features/ingestion/svgHandler.js +5 -0
  485. package/dist/features/ingestion/svgHandler.js.map +1 -1
  486. package/dist/features/ingestion/textHandler.js +28 -0
  487. package/dist/features/ingestion/textHandler.js.map +1 -0
  488. package/dist/features/ingestion/useCanvasIngestion.js +48 -0
  489. package/dist/features/ingestion/useCanvasIngestion.js.map +1 -0
  490. package/dist/features/ingestion/weaselJsonHandler.js +22 -14
  491. package/dist/features/ingestion/weaselJsonHandler.js.map +1 -1
  492. package/dist/features/longPress/longPressFeedback.js.map +1 -1
  493. package/dist/features/modes/modeLayers.js +7 -7
  494. package/dist/features/modes/modeLayers.js.map +1 -1
  495. package/dist/features/paths/editablePath.js +47 -0
  496. package/dist/features/paths/editablePath.js.map +1 -0
  497. package/dist/features/paths/index.js +9 -14
  498. package/dist/features/paths/pathEditState.js +41 -0
  499. package/dist/features/paths/pathEditState.js.map +1 -0
  500. package/dist/features/paths/pathEditingOverlayLayer.js +36 -38
  501. package/dist/features/paths/pathEditingOverlayLayer.js.map +1 -1
  502. package/dist/features/paths/pathLayer.js +3 -2
  503. package/dist/features/paths/pathLayer.js.map +1 -1
  504. package/dist/features/paths/penPreviewLayer.js +86 -88
  505. package/dist/features/paths/penPreviewLayer.js.map +1 -1
  506. package/dist/features/paths/usePathEdit.js +34 -0
  507. package/dist/features/paths/usePathEdit.js.map +1 -0
  508. package/dist/features/poseRun/usePoseRun.js +44 -52
  509. package/dist/features/poseRun/usePoseRun.js.map +1 -1
  510. package/dist/features/selection/overlay.js +171 -179
  511. package/dist/features/selection/overlay.js.map +1 -1
  512. package/dist/features/text/index.js +6 -0
  513. package/dist/features/text/textLayer.js +1 -1
  514. package/dist/features/text/textLayer.js.map +1 -1
  515. package/dist/features/text/useSceneTextEdit.js +100 -93
  516. package/dist/features/text/useSceneTextEdit.js.map +1 -1
  517. package/dist/features/viewports/viewportLayer.js +25 -36
  518. package/dist/features/viewports/viewportLayer.js.map +1 -1
  519. package/dist/index.d.ts +8473 -9141
  520. package/dist/index.js +269 -307
  521. package/dist/input/keyState.js +38 -39
  522. package/dist/input/keyState.js.map +1 -1
  523. package/dist/input/useKeyModifiers.js +11 -0
  524. package/dist/input/useKeyModifiers.js.map +1 -0
  525. package/dist/interactions/actions/actionShortcuts.js.map +1 -1
  526. package/dist/interactions/actions/{defaults/align.js → align/action.js} +18 -20
  527. package/dist/interactions/actions/align/action.js.map +1 -0
  528. package/dist/interactions/actions/align/align.js +20 -20
  529. package/dist/interactions/actions/align/align.js.map +1 -1
  530. package/dist/interactions/actions/booleans/action.js +65 -0
  531. package/dist/interactions/actions/booleans/action.js.map +1 -0
  532. package/dist/interactions/actions/booleans/booleans.js +69 -78
  533. package/dist/interactions/actions/booleans/booleans.js.map +1 -1
  534. package/dist/interactions/actions/booleans/operands.js +40 -0
  535. package/dist/interactions/actions/booleans/operands.js.map +1 -0
  536. package/dist/interactions/actions/booleans/pieces.js +45 -0
  537. package/dist/interactions/actions/booleans/pieces.js.map +1 -0
  538. package/dist/interactions/actions/booleans/placement.js +24 -0
  539. package/dist/interactions/actions/booleans/placement.js.map +1 -0
  540. package/dist/interactions/actions/booleans/useBooleans.js +11 -9
  541. package/dist/interactions/actions/booleans/useBooleans.js.map +1 -1
  542. package/dist/interactions/actions/booleans/useBooleansAdapter.js.map +1 -1
  543. package/dist/interactions/actions/{defaults/clipboard.js → clipboard/action.js} +31 -15
  544. package/dist/interactions/actions/clipboard/action.js.map +1 -0
  545. package/dist/interactions/actions/clipboard/clipboardOps.js +44 -42
  546. package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -1
  547. package/dist/interactions/actions/clipboard/materializePaste.js +10 -7
  548. package/dist/interactions/actions/clipboard/materializePaste.js.map +1 -1
  549. package/dist/interactions/actions/clipboard/wireFormat.js.map +1 -1
  550. package/dist/interactions/actions/clone/action.js +98 -0
  551. package/dist/interactions/actions/clone/action.js.map +1 -0
  552. package/dist/interactions/actions/clone/behaviors.js +52 -0
  553. package/dist/interactions/actions/clone/behaviors.js.map +1 -0
  554. package/dist/interactions/actions/defaultCommitAdapter.js +7 -32
  555. package/dist/interactions/actions/defaultCommitAdapter.js.map +1 -1
  556. package/dist/interactions/actions/defaults/anchorEditing.js +60 -84
  557. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
  558. package/dist/interactions/actions/defaults/areaSelect.js +35 -38
  559. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
  560. package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -1
  561. package/dist/interactions/actions/defaults/clearSelection.js.map +1 -1
  562. package/dist/interactions/actions/defaults/copySubtree.js +40 -0
  563. package/dist/interactions/actions/defaults/copySubtree.js.map +1 -0
  564. package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -1
  565. package/dist/interactions/actions/defaults/delete.js.map +1 -1
  566. package/dist/interactions/actions/defaults/duplicate.js +13 -53
  567. package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
  568. package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -1
  569. package/dist/interactions/actions/defaults/group.js +40 -50
  570. package/dist/interactions/actions/defaults/group.js.map +1 -1
  571. package/dist/interactions/actions/defaults/icons/booleanIcons.js +24 -1
  572. package/dist/interactions/actions/defaults/icons/booleanIcons.js.map +1 -1
  573. package/dist/interactions/actions/defaults/icons/outlineIcons.js +39 -1
  574. package/dist/interactions/actions/defaults/icons/outlineIcons.js.map +1 -1
  575. package/dist/interactions/actions/defaults/ingest.js +44 -38
  576. package/dist/interactions/actions/defaults/ingest.js.map +1 -1
  577. package/dist/interactions/actions/defaults/insertPathAnchor.js +11 -12
  578. package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
  579. package/dist/interactions/actions/defaults/nudge.js +40 -69
  580. package/dist/interactions/actions/defaults/nudge.js.map +1 -1
  581. package/dist/interactions/actions/defaults/nudgeSteps.js +37 -0
  582. package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -0
  583. package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -1
  584. package/dist/interactions/actions/defaults/reorder.js +2 -0
  585. package/dist/interactions/actions/defaults/reorder.js.map +1 -1
  586. package/dist/interactions/actions/defaults/requiresSelection.js.map +1 -1
  587. package/dist/interactions/actions/defaults/setFill.js +14 -8
  588. package/dist/interactions/actions/defaults/setFill.js.map +1 -1
  589. package/dist/interactions/actions/defaults/setFillOpacity.js +7 -4
  590. package/dist/interactions/actions/defaults/setFillOpacity.js.map +1 -1
  591. package/dist/interactions/actions/defaults/setStroke.js +12 -12
  592. package/dist/interactions/actions/defaults/setStroke.js.map +1 -1
  593. package/dist/interactions/actions/defaults/setStrokeOpacity.js +6 -6
  594. package/dist/interactions/actions/defaults/sliceOps.js +8 -10
  595. package/dist/interactions/actions/defaults/sliceOps.js.map +1 -1
  596. package/dist/interactions/actions/defaults/toolActivate.js.map +1 -1
  597. package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -1
  598. package/dist/interactions/actions/defaults/viewportDragPan.js +37 -26
  599. package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -1
  600. package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -1
  601. package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -1
  602. package/dist/interactions/actions/distribute/action.js +66 -0
  603. package/dist/interactions/actions/distribute/action.js.map +1 -0
  604. package/dist/interactions/actions/distribute/distribute.js +11 -11
  605. package/dist/interactions/actions/distribute/distribute.js.map +1 -1
  606. package/dist/interactions/actions/{defaults/editAnchors.js → edit-anchors/action.js} +7 -9
  607. package/dist/interactions/actions/edit-anchors/action.js.map +1 -0
  608. package/dist/interactions/actions/edit-anchors/geometry.js +30 -27
  609. package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -1
  610. package/dist/interactions/actions/flip/action.js +124 -0
  611. package/dist/interactions/actions/flip/action.js.map +1 -0
  612. package/dist/interactions/actions/flip/helpers.js +30 -17
  613. package/dist/interactions/actions/flip/helpers.js.map +1 -1
  614. package/dist/interactions/actions/gestureFrames.js +18 -0
  615. package/dist/interactions/actions/gestureFrames.js.map +1 -0
  616. package/dist/interactions/actions/gestureLifecycle.js +47 -20
  617. package/dist/interactions/actions/gestureLifecycle.js.map +1 -1
  618. package/dist/interactions/actions/hitSelection.js +8 -0
  619. package/dist/interactions/actions/hitSelection.js.map +1 -0
  620. package/dist/interactions/actions/insert/action.js +72 -0
  621. package/dist/interactions/actions/insert/action.js.map +1 -0
  622. package/dist/interactions/actions/insert/commit.js +28 -0
  623. package/dist/interactions/actions/insert/commit.js.map +1 -0
  624. package/dist/interactions/actions/insert/extras.js +65 -0
  625. package/dist/interactions/actions/insert/extras.js.map +1 -0
  626. package/dist/interactions/actions/insert/frame.js +48 -0
  627. package/dist/interactions/actions/insert/frame.js.map +1 -0
  628. package/dist/interactions/actions/insert/geometry.js +35 -0
  629. package/dist/interactions/actions/insert/geometry.js.map +1 -0
  630. package/dist/interactions/actions/insert/rotateAction.js +21 -0
  631. package/dist/interactions/actions/insert/rotateAction.js.map +1 -0
  632. package/dist/interactions/actions/insert/session.js +59 -0
  633. package/dist/interactions/actions/insert/session.js.map +1 -0
  634. package/dist/interactions/actions/insert/shape.js +34 -0
  635. package/dist/interactions/actions/insert/shape.js.map +1 -0
  636. package/dist/interactions/actions/lasso-select/action.js +143 -0
  637. package/dist/interactions/actions/lasso-select/action.js.map +1 -0
  638. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +14 -18
  639. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js.map +1 -1
  640. package/dist/interactions/actions/move/action.js +87 -0
  641. package/dist/interactions/actions/move/action.js.map +1 -0
  642. package/dist/interactions/actions/move/behaviors/layoutDrop.js +51 -0
  643. package/dist/interactions/actions/move/behaviors/layoutDrop.js.map +1 -0
  644. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +15 -0
  645. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js.map +1 -0
  646. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +5 -5
  647. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js.map +1 -1
  648. package/dist/interactions/actions/move/behaviors/snapToContainer.js +39 -27
  649. package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -1
  650. package/dist/interactions/actions/move/capture.js +99 -0
  651. package/dist/interactions/actions/move/capture.js.map +1 -0
  652. package/dist/interactions/actions/move/commit/index.js +41 -0
  653. package/dist/interactions/actions/move/commit/index.js.map +1 -0
  654. package/dist/interactions/actions/move/commit/layoutDrop.js +44 -0
  655. package/dist/interactions/actions/move/commit/layoutDrop.js.map +1 -0
  656. package/dist/interactions/actions/move/commit/layoutRelease.js +100 -0
  657. package/dist/interactions/actions/move/commit/layoutRelease.js.map +1 -0
  658. package/dist/interactions/actions/move/commit/rebase.js +18 -0
  659. package/dist/interactions/actions/move/commit/rebase.js.map +1 -0
  660. package/dist/interactions/actions/move/commit/reparent.js +65 -0
  661. package/dist/interactions/actions/move/commit/reparent.js.map +1 -0
  662. package/dist/interactions/actions/move/delta.js +51 -0
  663. package/dist/interactions/actions/move/delta.js.map +1 -0
  664. package/dist/interactions/actions/move/frame.js +59 -0
  665. package/dist/interactions/actions/move/frame.js.map +1 -0
  666. package/dist/interactions/actions/move/gestureAdapter.js +22 -30
  667. package/dist/interactions/actions/move/gestureAdapter.js.map +1 -1
  668. package/dist/interactions/actions/move/landedDescendants.js +33 -0
  669. package/dist/interactions/actions/move/landedDescendants.js.map +1 -0
  670. package/dist/interactions/actions/move/layout/container.js +94 -0
  671. package/dist/interactions/actions/move/layout/container.js.map +1 -0
  672. package/dist/interactions/actions/move/layout/dragged.js +58 -0
  673. package/dist/interactions/actions/move/layout/dragged.js.map +1 -0
  674. package/dist/interactions/actions/move/layout/dropPass.js +122 -0
  675. package/dist/interactions/actions/move/layout/dropPass.js.map +1 -0
  676. package/dist/interactions/actions/move/layout/exits.js +38 -0
  677. package/dist/interactions/actions/move/layout/exits.js.map +1 -0
  678. package/dist/interactions/actions/move/layout/glide.js +48 -0
  679. package/dist/interactions/actions/move/layout/glide.js.map +1 -0
  680. package/dist/interactions/actions/move/session.js +63 -0
  681. package/dist/interactions/actions/move/session.js.map +1 -0
  682. package/dist/interactions/actions/move/translate.js +61 -0
  683. package/dist/interactions/actions/move/translate.js.map +1 -0
  684. package/dist/interactions/actions/outlines/createOutlines.js +16 -63
  685. package/dist/interactions/actions/outlines/createOutlines.js.map +1 -1
  686. package/dist/interactions/actions/outlines/createOutlinesAction.js +51 -0
  687. package/dist/interactions/actions/outlines/createOutlinesAction.js.map +1 -0
  688. package/dist/interactions/actions/outlines/outlineStroke.js +72 -0
  689. package/dist/interactions/actions/outlines/outlineStroke.js.map +1 -0
  690. package/dist/interactions/actions/outlines/outlineStrokeAction.js +37 -0
  691. package/dist/interactions/actions/outlines/outlineStrokeAction.js.map +1 -0
  692. package/dist/interactions/actions/outlines/replaceWithPaths.js +54 -0
  693. package/dist/interactions/actions/outlines/replaceWithPaths.js.map +1 -0
  694. package/dist/interactions/actions/outlines/strokeRegion.js +27 -0
  695. package/dist/interactions/actions/outlines/strokeRegion.js.map +1 -0
  696. package/dist/interactions/actions/planeInput.js.map +1 -1
  697. package/dist/interactions/actions/pointerState.js +12 -0
  698. package/dist/interactions/actions/pointerState.js.map +1 -0
  699. package/dist/interactions/actions/poseDescriptorDep.js +16 -4
  700. package/dist/interactions/actions/poseDescriptorDep.js.map +1 -1
  701. package/dist/interactions/actions/poseFrame.js +25 -20
  702. package/dist/interactions/actions/poseFrame.js.map +1 -1
  703. package/dist/interactions/actions/resize/action.js +55 -0
  704. package/dist/interactions/actions/resize/action.js.map +1 -0
  705. package/dist/interactions/actions/resize/behaviors/lockAspect.js.map +1 -1
  706. package/dist/interactions/actions/resize/boxFrame.js +16 -0
  707. package/dist/interactions/actions/resize/boxFrame.js.map +1 -0
  708. package/dist/interactions/actions/resize/capture.js +85 -0
  709. package/dist/interactions/actions/resize/capture.js.map +1 -0
  710. package/dist/interactions/actions/resize/commit.js +69 -0
  711. package/dist/interactions/actions/resize/commit.js.map +1 -0
  712. package/dist/interactions/actions/resize/frame.js +74 -0
  713. package/dist/interactions/actions/resize/frame.js.map +1 -0
  714. package/dist/interactions/actions/resize/pointSnap.js +111 -0
  715. package/dist/interactions/actions/resize/pointSnap.js.map +1 -0
  716. package/dist/interactions/actions/resize/ruleBounds.js +9 -0
  717. package/dist/interactions/actions/resize/ruleBounds.js.map +1 -0
  718. package/dist/interactions/actions/resize/session.js +49 -0
  719. package/dist/interactions/actions/resize/session.js.map +1 -0
  720. package/dist/interactions/actions/resolveOverlays.js.map +1 -1
  721. package/dist/interactions/actions/resolvePreviews.js.map +1 -1
  722. package/dist/interactions/actions/rotate/action.js +56 -0
  723. package/dist/interactions/actions/rotate/action.js.map +1 -0
  724. package/dist/interactions/actions/rotate/behaviors/index.js +7 -0
  725. package/dist/interactions/actions/rotate/behaviors/index.js.map +1 -0
  726. package/dist/interactions/actions/rotate/behaviors/snapRotation.js +12 -0
  727. package/dist/interactions/actions/rotate/behaviors/snapRotation.js.map +1 -0
  728. package/dist/interactions/actions/rotate/commit.js +40 -0
  729. package/dist/interactions/actions/rotate/commit.js.map +1 -0
  730. package/dist/interactions/actions/rotate/frame.js +65 -0
  731. package/dist/interactions/actions/rotate/frame.js.map +1 -0
  732. package/dist/interactions/actions/rotate/handle.js +12 -12
  733. package/dist/interactions/actions/rotate/handle.js.map +1 -1
  734. package/dist/interactions/actions/rotate/session.js +92 -0
  735. package/dist/interactions/actions/rotate/session.js.map +1 -0
  736. package/dist/interactions/actions/selectionSubtree.js +69 -0
  737. package/dist/interactions/actions/selectionSubtree.js.map +1 -0
  738. package/dist/interactions/actions/spatialReference.js.map +1 -1
  739. package/dist/interactions/actions/useStandardActions.js +87 -78
  740. package/dist/interactions/actions/useStandardActions.js.map +1 -1
  741. package/dist/interactions/gestures/dragGesture/dragGesture.js +4 -7
  742. package/dist/interactions/gestures/dragGesture/dragGesture.js.map +1 -1
  743. package/dist/interactions/gestures/dragGesture/dragPointOf.js +23 -0
  744. package/dist/interactions/gestures/dragGesture/dragPointOf.js.map +1 -0
  745. package/dist/interactions/gestures/handleDrag/handleDrag.js +21 -26
  746. package/dist/interactions/gestures/handleDrag/handleDrag.js.map +1 -1
  747. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +62 -41
  748. package/dist/interactions/gestures/pointerDrag/pointerDrag.js.map +1 -1
  749. package/dist/interactions/gestures/shared/originProjection.js +1 -1
  750. package/dist/interactions/gestures/shared/originProjection.js.map +1 -1
  751. package/dist/interactions/gestures/shared/screenTolerance.js +8 -2
  752. package/dist/interactions/gestures/shared/screenTolerance.js.map +1 -1
  753. package/dist/interactions/gestures/shared/snap.js.map +1 -1
  754. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +8 -4
  755. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js.map +1 -1
  756. package/dist/layout/arrivals.js +20 -23
  757. package/dist/layout/arrivals.js.map +1 -1
  758. package/dist/math-CYUjoyyU.d.ts +33 -0
  759. package/dist/math.d.ts +5 -3
  760. package/dist/math.js +6 -6
  761. package/dist/mesh.d.ts +4 -268
  762. package/dist/mesh.js +3 -7
  763. package/dist/move.d.ts +14 -11
  764. package/dist/{originProjection-DEklpDc_.d.ts → originProjection-PPT88jZv.d.ts} +1 -1
  765. package/dist/patterns-builtin.d.ts +1 -118
  766. package/dist/patterns-builtin.js +2 -3
  767. package/dist/{poseDescriptor-D-OH-tu5.d.ts → poseDescriptor-Bqk-11Rl.d.ts} +26 -36
  768. package/dist/renderer.d.ts +1 -91
  769. package/dist/renderer.js +2 -18
  770. package/dist/resize.d.ts +10 -22
  771. package/dist/resize.js +6 -6
  772. package/dist/style.css +1 -1
  773. package/dist/test-hook/install.js +12 -6
  774. package/dist/test-hook/install.js.map +1 -1
  775. package/dist/test-hook/useTestHook.js +22 -0
  776. package/dist/test-hook/useTestHook.js.map +1 -0
  777. package/dist/test-seams-D0pyV3pR.d.ts +149 -0
  778. package/dist/test-seams.d.ts +4 -4
  779. package/dist/test-seams.js +2 -2
  780. package/dist/tools/builtin/bone/boneActions.js +130 -0
  781. package/dist/tools/builtin/bone/boneActions.js.map +1 -0
  782. package/dist/tools/builtin/bone/boneOverlay.js +58 -0
  783. package/dist/tools/builtin/bone/boneOverlay.js.map +1 -0
  784. package/dist/tools/builtin/bone/placedRig.js +24 -0
  785. package/dist/tools/builtin/bone/placedRig.js.map +1 -0
  786. package/dist/tools/builtin/bone/rigEditState.js +21 -0
  787. package/dist/tools/builtin/bone/rigEditState.js.map +1 -0
  788. package/dist/tools/builtin/bone/useBoneTool.js +98 -0
  789. package/dist/tools/builtin/bone/useBoneTool.js.map +1 -0
  790. package/dist/tools/builtin/ellipse/useEllipseTool.js +1 -0
  791. package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -1
  792. package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
  793. package/dist/tools/builtin/hand/useHandTool.js +1 -0
  794. package/dist/tools/builtin/hand/useHandTool.js.map +1 -1
  795. package/dist/tools/builtin/image/useImageTool.js.map +1 -1
  796. package/dist/tools/builtin/lasso/useLassoTool.js +11 -11
  797. package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -1
  798. package/dist/tools/builtin/line/useLineTool.js +1 -0
  799. package/dist/tools/builtin/line/useLineTool.js.map +1 -1
  800. package/dist/tools/builtin/pen/usePenTool.js +198 -150
  801. package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
  802. package/dist/tools/builtin/pencil/usePencilTool.js +1 -0
  803. package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -1
  804. package/dist/tools/builtin/pickTopMostHit.js.map +1 -1
  805. package/dist/tools/builtin/polygon/usePolygonTool.js +13 -8
  806. package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
  807. package/dist/tools/builtin/rect/useRectTool.js +1 -0
  808. package/dist/tools/builtin/rect/useRectTool.js.map +1 -1
  809. package/dist/tools/builtin/select/adapterPointQuery.js +36 -0
  810. package/dist/tools/builtin/select/adapterPointQuery.js.map +1 -0
  811. package/dist/tools/builtin/select/selectionContributions.js +25 -24
  812. package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
  813. package/dist/tools/builtin/select/useSelectTool.js +42 -67
  814. package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
  815. package/dist/tools/builtin/shared/pointerFollower.js +17 -0
  816. package/dist/tools/builtin/shared/pointerFollower.js.map +1 -0
  817. package/dist/tools/builtin/slice/useSliceTool.js +72 -82
  818. package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
  819. package/dist/tools/builtin/star/useStarTool.js +22 -16
  820. package/dist/tools/builtin/star/useStarTool.js.map +1 -1
  821. package/dist/tools/builtin/text/useTextTool.js +9 -0
  822. package/dist/tools/builtin/text/useTextTool.js.map +1 -1
  823. package/dist/tools/builtin/weight/useWeightTool.js +77 -0
  824. package/dist/tools/builtin/weight/useWeightTool.js.map +1 -0
  825. package/dist/tools/builtin/weight/weightActions.js +112 -0
  826. package/dist/tools/builtin/weight/weightActions.js.map +1 -0
  827. package/dist/tools/builtin/weight/weightOverlay.js +61 -0
  828. package/dist/tools/builtin/weight/weightOverlay.js.map +1 -0
  829. package/dist/tools/overlayBinding.js.map +1 -1
  830. package/dist/tools/useKeybindings.js +12 -22
  831. package/dist/tools/useKeybindings.js.map +1 -1
  832. package/dist/{types-A37hYkeR.d.ts → types-CIKDwlsP.d.ts} +113 -169
  833. package/dist/util/color.js +3 -3
  834. package/dist/util/color.js.map +1 -1
  835. package/dist/util/paint.js +1 -1
  836. package/dist/util/paint.js.map +1 -1
  837. package/dist/version.js +1 -1
  838. package/package.json +28 -21
  839. package/dist/animation/colorHelpers.js +0 -135
  840. package/dist/animation/colorHelpers.js.map +0 -1
  841. package/dist/animation/colorRegistry.js +0 -37
  842. package/dist/animation/colorRegistry.js.map +0 -1
  843. package/dist/animation/engine/axes.js +0 -36
  844. package/dist/animation/engine/axes.js.map +0 -1
  845. package/dist/animation/engine/codec.js +0 -170
  846. package/dist/animation/engine/codec.js.map +0 -1
  847. package/dist/animation/engine/integrator.js +0 -12
  848. package/dist/animation/engine/integrator.js.map +0 -1
  849. package/dist/animation/loop.js +0 -62
  850. package/dist/animation/loop.js.map +0 -1
  851. package/dist/animation/observe.js +0 -23
  852. package/dist/animation/observe.js.map +0 -1
  853. package/dist/animation/rig/blendPoses.js +0 -43
  854. package/dist/animation/rig/blendPoses.js.map +0 -1
  855. package/dist/animation/rig/mirrorPose.js +0 -19
  856. package/dist/animation/rig/mirrorPose.js.map +0 -1
  857. package/dist/animation/rig/resolveSkeleton.js +0 -33
  858. package/dist/animation/rig/resolveSkeleton.js.map +0 -1
  859. package/dist/animation/rig/solveIk.js +0 -103
  860. package/dist/animation/rig/solveIk.js.map +0 -1
  861. package/dist/animation/rig/types.js +0 -12
  862. package/dist/animation/rig/types.js.map +0 -1
  863. package/dist/animation/slew.js +0 -27
  864. package/dist/animation/slew.js.map +0 -1
  865. package/dist/animation/stagger.js +0 -138
  866. package/dist/animation/stagger.js.map +0 -1
  867. package/dist/animation/timeline/booking.js +0 -106
  868. package/dist/animation/timeline/booking.js.map +0 -1
  869. package/dist/animation/timeline/createTimeline.js +0 -116
  870. package/dist/animation/timeline/createTimeline.js.map +0 -1
  871. package/dist/animation/timeline/sampleTrack.js +0 -71
  872. package/dist/animation/timeline/sampleTrack.js.map +0 -1
  873. package/dist/animation/useAnimator.js +0 -378
  874. package/dist/animation/useAnimator.js.map +0 -1
  875. package/dist/builtins-C-VgUlWI.d.ts +0 -4514
  876. package/dist/canvas/MinimapCanvas.js +0 -139
  877. package/dist/canvas/MinimapCanvas.js.map +0 -1
  878. package/dist/canvas/deps/poseComposition.js +0 -11
  879. package/dist/canvas/deps/poseComposition.js.map +0 -1
  880. package/dist/canvas/minimapMath.js +0 -80
  881. package/dist/canvas/minimapMath.js.map +0 -1
  882. package/dist/canvas/toolPreview.js +0 -39
  883. package/dist/canvas/toolPreview.js.map +0 -1
  884. package/dist/core/adapters/arrayAdapter.js +0 -85
  885. package/dist/core/adapters/arrayAdapter.js.map +0 -1
  886. package/dist/core/adapters/useArrayAdapter.js +0 -13
  887. package/dist/core/adapters/useArrayAdapter.js.map +0 -1
  888. package/dist/core/fillInPoseFrame.js +0 -102
  889. package/dist/core/fillInPoseFrame.js.map +0 -1
  890. package/dist/core/geometry/poseRotation.js +0 -58
  891. package/dist/core/geometry/poseRotation.js.map +0 -1
  892. package/dist/core/gradient.js +0 -136
  893. package/dist/core/gradient.js.map +0 -1
  894. package/dist/core/isPlainObject.js.map +0 -1
  895. package/dist/core/markerInset.js +0 -24
  896. package/dist/core/markerInset.js.map +0 -1
  897. package/dist/core/mixed.js +0 -6
  898. package/dist/core/mixed.js.map +0 -1
  899. package/dist/core/paintKinds.js +0 -156
  900. package/dist/core/paintKinds.js.map +0 -1
  901. package/dist/core/strokeMarkerShapes.js +0 -139
  902. package/dist/core/strokeMarkerShapes.js.map +0 -1
  903. package/dist/core/strokeMarkers.js +0 -28
  904. package/dist/core/strokeMarkers.js.map +0 -1
  905. package/dist/core/viewport/meanScale.js +0 -8
  906. package/dist/core/viewport/meanScale.js.map +0 -1
  907. package/dist/core/viewport/pxExtent.js +0 -42
  908. package/dist/core/viewport/pxExtent.js.map +0 -1
  909. package/dist/debug/flag.js.map +0 -1
  910. package/dist/features/cursor/paintedCursorLayer.js.map +0 -1
  911. package/dist/features/focus/gateLayer.js +0 -14
  912. package/dist/features/focus/gateLayer.js.map +0 -1
  913. package/dist/features/focus/useCanvasFocus.js +0 -29
  914. package/dist/features/focus/useCanvasFocus.js.map +0 -1
  915. package/dist/features/groups/children.js.map +0 -1
  916. package/dist/features/groups/composePose.js.map +0 -1
  917. package/dist/features/groups/nestedHit.js.map +0 -1
  918. package/dist/features/groups/unionOfChildren.js.map +0 -1
  919. package/dist/features/images/imageCache.js +0 -94
  920. package/dist/features/images/imageCache.js.map +0 -1
  921. package/dist/features/ingestion/index.js +0 -8
  922. package/dist/features/meshPaint/bake.js +0 -79
  923. package/dist/features/meshPaint/bake.js.map +0 -1
  924. package/dist/features/meshPaint/bakeCache.js +0 -59
  925. package/dist/features/meshPaint/bakeCache.js.map +0 -1
  926. package/dist/features/meshPaint/handles.js +0 -86
  927. package/dist/features/meshPaint/handles.js.map +0 -1
  928. package/dist/features/meshPaint/lazyKind.js.map +0 -1
  929. package/dist/features/meshPaint/meshPaint.js +0 -236
  930. package/dist/features/meshPaint/meshPaint.js.map +0 -1
  931. package/dist/features/meshPaint/meshShader.js +0 -6
  932. package/dist/features/meshPaint/meshShader.js.map +0 -1
  933. package/dist/features/meshPaint/register.js +0 -7
  934. package/dist/features/meshPaint/register.js.map +0 -1
  935. package/dist/features/meshPaint/surface.js +0 -110
  936. package/dist/features/meshPaint/surface.js.map +0 -1
  937. package/dist/features/minimap/actions.js +0 -53
  938. package/dist/features/minimap/actions.js.map +0 -1
  939. package/dist/features/minimap/createMinimapContribution.js +0 -96
  940. package/dist/features/minimap/createMinimapContribution.js.map +0 -1
  941. package/dist/features/minimap/layers.js +0 -103
  942. package/dist/features/minimap/layers.js.map +0 -1
  943. package/dist/features/overlays/useNodeOverlayFrame.js +0 -103
  944. package/dist/features/overlays/useNodeOverlayFrame.js.map +0 -1
  945. package/dist/features/parallax/createParallaxLayer.js +0 -26
  946. package/dist/features/parallax/createParallaxLayer.js.map +0 -1
  947. package/dist/features/parallax/createParallaxPlane.js +0 -26
  948. package/dist/features/parallax/createParallaxPlane.js.map +0 -1
  949. package/dist/features/paths/anchorEdits.js +0 -156
  950. package/dist/features/paths/anchorEdits.js.map +0 -1
  951. package/dist/features/paths/anchors.js +0 -154
  952. package/dist/features/paths/anchors.js.map +0 -1
  953. package/dist/features/paths/booleans.js +0 -2
  954. package/dist/features/paths/markerCommands.js +0 -148
  955. package/dist/features/paths/markerCommands.js.map +0 -1
  956. package/dist/features/paths/markerSites.js +0 -59
  957. package/dist/features/paths/markerSites.js.map +0 -1
  958. package/dist/features/paths/markers.js +0 -95
  959. package/dist/features/paths/markers.js.map +0 -1
  960. package/dist/features/paths/nearestAnchor.js +0 -36
  961. package/dist/features/paths/nearestAnchor.js.map +0 -1
  962. package/dist/features/paths/pathInWorld.js +0 -41
  963. package/dist/features/paths/pathInWorld.js.map +0 -1
  964. package/dist/features/paths/poseDescriptor.js +0 -39
  965. package/dist/features/paths/poseDescriptor.js.map +0 -1
  966. package/dist/features/paths/tessellate/dash.js +0 -52
  967. package/dist/features/paths/tessellate/dash.js.map +0 -1
  968. package/dist/features/paths/tessellate/insets.js +0 -32
  969. package/dist/features/paths/tessellate/insets.js.map +0 -1
  970. package/dist/features/paths/tessellate/metric.js +0 -72
  971. package/dist/features/paths/tessellate/metric.js.map +0 -1
  972. package/dist/features/paths/tessellate/stroke.js +0 -170
  973. package/dist/features/paths/tessellate/stroke.js.map +0 -1
  974. package/dist/features/paths/tessellate/vertexWidths.js +0 -32
  975. package/dist/features/paths/tessellate/vertexWidths.js.map +0 -1
  976. package/dist/features/patterns/index.js +0 -23
  977. package/dist/features/patterns/index.js.map +0 -1
  978. package/dist/features/patterns/patterns-builtin.js +0 -38
  979. package/dist/features/patterns/patterns-builtin.js.map +0 -1
  980. package/dist/features/patterns/resolveSpec.js +0 -57
  981. package/dist/features/patterns/resolveSpec.js.map +0 -1
  982. package/dist/features/patterns/tileGeometry.js +0 -158
  983. package/dist/features/patterns/tileGeometry.js.map +0 -1
  984. package/dist/features/pointer/PointerContext.js +0 -45
  985. package/dist/features/pointer/PointerContext.js.map +0 -1
  986. package/dist/features/selection/SelectionContext.js +0 -46
  987. package/dist/features/selection/SelectionContext.js.map +0 -1
  988. package/dist/features/simulation/createSimulation.js +0 -61
  989. package/dist/features/simulation/createSimulation.js.map +0 -1
  990. package/dist/features/simulation/types.js +0 -6
  991. package/dist/features/simulation/types.js.map +0 -1
  992. package/dist/features/simulation/useSimulation.js +0 -74
  993. package/dist/features/simulation/useSimulation.js.map +0 -1
  994. package/dist/features/text/domRuns.js +0 -258
  995. package/dist/features/text/domRuns.js.map +0 -1
  996. package/dist/features/text/fitTextPose.js +0 -38
  997. package/dist/features/text/fitTextPose.js.map +0 -1
  998. package/dist/features/text/hitTest.js +0 -45
  999. package/dist/features/text/hitTest.js.map +0 -1
  1000. package/dist/features/text/renderLabel.js +0 -14
  1001. package/dist/features/text/renderLabel.js.map +0 -1
  1002. package/dist/features/text/runs/effectiveRangeStyle.js +0 -66
  1003. package/dist/features/text/runs/effectiveRangeStyle.js.map +0 -1
  1004. package/dist/features/text/runs/flagRange.js +0 -53
  1005. package/dist/features/text/runs/flagRange.js.map +0 -1
  1006. package/dist/features/text/runs/rangeStyle.js +0 -135
  1007. package/dist/features/text/runs/rangeStyle.js.map +0 -1
  1008. package/dist/features/text/textCommand.js +0 -59
  1009. package/dist/features/text/textCommand.js.map +0 -1
  1010. package/dist/features/text/textToPath.js +0 -181
  1011. package/dist/features/text/textToPath.js.map +0 -1
  1012. package/dist/features/text/useTextEdit.js +0 -467
  1013. package/dist/features/text/useTextEdit.js.map +0 -1
  1014. package/dist/features/tiling/createTiledLayer.js +0 -63
  1015. package/dist/features/tiling/createTiledLayer.js.map +0 -1
  1016. package/dist/features/tiling/tiledProject.js +0 -14
  1017. package/dist/features/tiling/tiledProject.js.map +0 -1
  1018. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js +0 -26
  1019. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js.map +0 -1
  1020. package/dist/interactions/actions/defaults/align.js.map +0 -1
  1021. package/dist/interactions/actions/defaults/booleans.js +0 -52
  1022. package/dist/interactions/actions/defaults/booleans.js.map +0 -1
  1023. package/dist/interactions/actions/defaults/clipboard.js.map +0 -1
  1024. package/dist/interactions/actions/defaults/clone.js +0 -107
  1025. package/dist/interactions/actions/defaults/clone.js.map +0 -1
  1026. package/dist/interactions/actions/defaults/createOutlines.js +0 -47
  1027. package/dist/interactions/actions/defaults/createOutlines.js.map +0 -1
  1028. package/dist/interactions/actions/defaults/distribute.js +0 -66
  1029. package/dist/interactions/actions/defaults/distribute.js.map +0 -1
  1030. package/dist/interactions/actions/defaults/editAnchors.js.map +0 -1
  1031. package/dist/interactions/actions/defaults/flip.js +0 -119
  1032. package/dist/interactions/actions/defaults/flip.js.map +0 -1
  1033. package/dist/interactions/actions/defaults/freshNodeId.js +0 -10
  1034. package/dist/interactions/actions/defaults/freshNodeId.js.map +0 -1
  1035. package/dist/interactions/actions/defaults/insert.js +0 -288
  1036. package/dist/interactions/actions/defaults/insert.js.map +0 -1
  1037. package/dist/interactions/actions/defaults/lassoSelect.js +0 -156
  1038. package/dist/interactions/actions/defaults/lassoSelect.js.map +0 -1
  1039. package/dist/interactions/actions/defaults/move.js +0 -760
  1040. package/dist/interactions/actions/defaults/move.js.map +0 -1
  1041. package/dist/interactions/actions/defaults/resize.js +0 -335
  1042. package/dist/interactions/actions/defaults/resize.js.map +0 -1
  1043. package/dist/interactions/actions/defaults/rotate.js +0 -184
  1044. package/dist/interactions/actions/defaults/rotate.js.map +0 -1
  1045. package/dist/interactions/actions/previewOverrides.js +0 -25
  1046. package/dist/interactions/actions/previewOverrides.js.map +0 -1
  1047. package/dist/interactions/actions/resize/autoPoseDescriptor.js.map +0 -1
  1048. package/dist/math-Drrw4ewZ.d.ts +0 -160
  1049. package/dist/registerProgram-BMZRDgrh.d.ts +0 -197
  1050. package/dist/renderer/DrawCommand.js +0 -6
  1051. package/dist/renderer/DrawCommand.js.map +0 -1
  1052. package/dist/renderer/WeaselRenderer.js +0 -331
  1053. package/dist/renderer/WeaselRenderer.js.map +0 -1
  1054. package/dist/renderer/batchClip.js +0 -46
  1055. package/dist/renderer/batchClip.js.map +0 -1
  1056. package/dist/renderer/cache/GLImageCache.js +0 -64
  1057. package/dist/renderer/cache/GLImageCache.js.map +0 -1
  1058. package/dist/renderer/cache/GLMeshCache.js +0 -102
  1059. package/dist/renderer/cache/GLMeshCache.js.map +0 -1
  1060. package/dist/renderer/cache/GLTextureCache.js +0 -51
  1061. package/dist/renderer/cache/GLTextureCache.js.map +0 -1
  1062. package/dist/renderer/cache/GradientRampAtlas.js +0 -82
  1063. package/dist/renderer/cache/GradientRampAtlas.js.map +0 -1
  1064. package/dist/renderer/cache/cache.js +0 -13
  1065. package/dist/renderer/cache/cache.js.map +0 -1
  1066. package/dist/renderer/cache/markerCommandCache.js +0 -63
  1067. package/dist/renderer/cache/markerCommandCache.js.map +0 -1
  1068. package/dist/renderer/cache/outlineMeshCache.js +0 -15
  1069. package/dist/renderer/cache/outlineMeshCache.js.map +0 -1
  1070. package/dist/renderer/cache/outlineStrokeMeshCache.js +0 -36
  1071. package/dist/renderer/cache/outlineStrokeMeshCache.js.map +0 -1
  1072. package/dist/renderer/cache/strokeMeshCache.js +0 -55
  1073. package/dist/renderer/cache/strokeMeshCache.js.map +0 -1
  1074. package/dist/renderer/cullDrawCommands.js +0 -90
  1075. package/dist/renderer/cullDrawCommands.js.map +0 -1
  1076. package/dist/renderer/draw.js +0 -1135
  1077. package/dist/renderer/draw.js.map +0 -1
  1078. package/dist/renderer/drawBatch.js +0 -198
  1079. package/dist/renderer/drawBatch.js.map +0 -1
  1080. package/dist/renderer/effects/EffectTargets.js +0 -45
  1081. package/dist/renderer/effects/EffectTargets.js.map +0 -1
  1082. package/dist/renderer/effects/builtins.js +0 -31
  1083. package/dist/renderer/effects/builtins.js.map +0 -1
  1084. package/dist/renderer/effects/composite.js +0 -9
  1085. package/dist/renderer/effects/composite.js.map +0 -1
  1086. package/dist/renderer/effects/effectPrelude.js +0 -10
  1087. package/dist/renderer/effects/effectPrelude.js.map +0 -1
  1088. package/dist/renderer/effects/types.js +0 -10
  1089. package/dist/renderer/effects/types.js.map +0 -1
  1090. package/dist/renderer/glyphOutlineMesh.js +0 -67
  1091. package/dist/renderer/glyphOutlineMesh.js.map +0 -1
  1092. package/dist/renderer/index.js +0 -19
  1093. package/dist/renderer/math/color.js +0 -341
  1094. package/dist/renderer/math/color.js.map +0 -1
  1095. package/dist/renderer/math/mat3.js +0 -76
  1096. package/dist/renderer/math/mat3.js.map +0 -1
  1097. package/dist/renderer/math/patternSpace.js +0 -22
  1098. package/dist/renderer/math/patternSpace.js.map +0 -1
  1099. package/dist/renderer/math/viewToMat3.js +0 -19
  1100. package/dist/renderer/math/viewToMat3.js.map +0 -1
  1101. package/dist/renderer/paintResources.js +0 -18
  1102. package/dist/renderer/paintResources.js.map +0 -1
  1103. package/dist/renderer/paintScratch.js +0 -37
  1104. package/dist/renderer/paintScratch.js.map +0 -1
  1105. package/dist/renderer/shaders/ShaderProgram.js +0 -74
  1106. package/dist/renderer/shaders/ShaderProgram.js.map +0 -1
  1107. package/dist/renderer/shaders/batchFill.js +0 -119
  1108. package/dist/renderer/shaders/batchFill.js.map +0 -1
  1109. package/dist/renderer/shaders/customPrelude.js +0 -34
  1110. package/dist/renderer/shaders/customPrelude.js.map +0 -1
  1111. package/dist/renderer/shaders/extractUniformNames.js +0 -184
  1112. package/dist/renderer/shaders/extractUniformNames.js.map +0 -1
  1113. package/dist/renderer/shaders/glyphPaint.js +0 -61
  1114. package/dist/renderer/shaders/glyphPaint.js.map +0 -1
  1115. package/dist/renderer/shaders/gradFill.js +0 -30
  1116. package/dist/renderer/shaders/gradFill.js.map +0 -1
  1117. package/dist/renderer/shaders/imageFill.js +0 -14
  1118. package/dist/renderer/shaders/imageFill.js.map +0 -1
  1119. package/dist/renderer/shaders/pathFill.js +0 -13
  1120. package/dist/renderer/shaders/pathFill.js.map +0 -1
  1121. package/dist/renderer/shaders/patternFill.js +0 -24
  1122. package/dist/renderer/shaders/patternFill.js.map +0 -1
  1123. package/dist/renderer/shaders/registerProgram.js +0 -18
  1124. package/dist/renderer/shaders/registerProgram.js.map +0 -1
  1125. package/dist/renderer/spriteSheet.js +0 -14
  1126. package/dist/renderer/spriteSheet.js.map +0 -1
  1127. package/dist/renderer/state/GroupState.js +0 -77
  1128. package/dist/renderer/state/GroupState.js.map +0 -1
  1129. package/dist/renderer/strokeLengths.js +0 -50
  1130. package/dist/renderer/strokeLengths.js.map +0 -1
  1131. package/dist/renderer/syntheticItalic.js +0 -6
  1132. package/dist/renderer/syntheticItalic.js.map +0 -1
  1133. package/dist/renderer/textures/registerTexture.js +0 -14
  1134. package/dist/renderer/textures/registerTexture.js.map +0 -1
  1135. package/dist/scheduling/useVisibleRaf.js +0 -69
  1136. package/dist/scheduling/useVisibleRaf.js.map +0 -1
  1137. package/dist/test-seams-CuIxe0xY.d.ts +0 -356
  1138. package/dist/tools/prefs.js +0 -62
  1139. package/dist/tools/prefs.js.map +0 -1
@@ -1,44 +1,46 @@
1
- import { springPose as e, tweenPose as t } from "../poseHelpers.js";
1
+ import { poseKey as e, springPose as t, tweenPose as n } from "../poseHelpers.js";
2
+ import { instantPoseWrite as r } from "./instantPose.js";
2
3
  //#region src/animation/wrappers/animateOnSetPose.ts
3
- function n(n, r, i = {}) {
4
- let a = i.ms ?? 200, o = (e, t, n) => i.shouldAnimate ? !i.shouldAnimate(e, t, n) : !!(i.skipDuringGesture && i.gestureScope?.has(e));
4
+ function i(i, a, o = {}) {
5
+ let s = o.ms ?? 200, c = (e, t, n) => o.shouldAnimate ? !o.shouldAnimate(e, t, n) : !!(o.skipDuringGesture && o.gestureScope?.has(e));
5
6
  return {
6
- ...n,
7
- setPose(s, c) {
8
- let l = n.getPose(s);
9
- if (o(s, l, c)) {
10
- n.setPose(s, c);
7
+ ...i,
8
+ ...r(i),
9
+ setPose(r, l) {
10
+ let u = i.getPose(r);
11
+ if (c(r, u, l)) {
12
+ i.setPose(r, l);
11
13
  return;
12
14
  }
13
- if (r.isTicking()) {
14
- n.setPose(s, c);
15
+ if (a.isTicking()) {
16
+ i.setPose(r, l);
15
17
  return;
16
18
  }
17
- if (r.isActive("pose:" + s)) {
18
- n.setPose(s, c);
19
+ if (!i.poseTarget?.(r, o.geometry) && a.isActive(e(r))) {
20
+ a.cancelKey(e(r)), i.setPose(r, l);
19
21
  return;
20
22
  }
21
- i.spring ? e(r, n, {
22
- id: s,
23
- to: c,
24
- preset: i.spring.preset,
25
- stiffness: i.spring.stiffness,
26
- damping: i.spring.damping,
27
- mass: i.spring.mass,
28
- geometry: i.geometry,
29
- opLabel: i.opLabel
30
- }) : t(r, n, {
31
- id: s,
32
- to: c,
33
- ms: a,
34
- easing: i.easing,
35
- geometry: i.geometry,
36
- opLabel: i.opLabel
23
+ o.spring ? t(a, i, {
24
+ id: r,
25
+ to: l,
26
+ preset: o.spring.preset,
27
+ stiffness: o.spring.stiffness,
28
+ damping: o.spring.damping,
29
+ mass: o.spring.mass,
30
+ geometry: o.geometry,
31
+ opLabel: o.opLabel
32
+ }) : n(a, i, {
33
+ id: r,
34
+ to: l,
35
+ ms: s,
36
+ easing: o.easing,
37
+ geometry: o.geometry,
38
+ opLabel: o.opLabel
37
39
  });
38
40
  }
39
41
  };
40
42
  }
41
43
  //#endregion
42
- export { n as animateOnSetPose };
44
+ export { i as animateOnSetPose };
43
45
 
44
46
  //# sourceMappingURL=animateOnSetPose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animateOnSetPose.js","names":["animateOnSetPose","ms","opts","skipPredicate","id","from","to","adapter","pose","animator","springPose","tweenPose"],"sources":["../../../src/animation/wrappers/animateOnSetPose.ts"],"sourcesContent":["import { tweenPose, springPose } from '../poseHelpers';\nimport type { PoseDescriptor } from 'interactions/actions/resize/geometry';\nimport type { SceneAdapter } from 'core/adapters/types';\nimport type { Animator, EasingSpec, SpringPresetName } from '../types';\n\n/** Options for `animateOnSetPose`. */\nexport interface AnimateOnSetPoseOptions<TPose> {\n /** Default: 200ms tween with easeOut. */\n ms?: number;\n easing?: EasingSpec;\n /** Use a spring instead of a duration tween. Mutually exclusive with ms/easing. */\n spring?: {\n preset?: SpringPresetName;\n stiffness?: number;\n damping?: number;\n mass?: number;\n };\n geometry?: PoseDescriptor<TPose>;\n /** Predicate: return false to skip animation and write through immediately. */\n shouldAnimate?: (id: string, from: TPose, to: TPose) => boolean;\n /** Convenience: when true, auto-skip animation if the id is currently being\n * manipulated by an active gesture. Implementation: see `gestureScope` —\n * the wrapper consults a shared \"in-flight ids\" Set if one is provided,\n * otherwise this option is a no-op (treat as `shouldAnimate` returning true).\n * Mutually exclusive with `shouldAnimate`. */\n skipDuringGesture?: boolean;\n /** Optional: a Set the kit (or app) populates with ids currently being\n * manipulated by a gesture. When `skipDuringGesture` is true and the id\n * is in this Set, the wrapper writes through immediately. */\n gestureScope?: ReadonlySet<string>;\n /** Op label for the recorded transform op. Default: `'animate'`. */\n opLabel?: string;\n}\n\n/**\n * Wrap an adapter so every `setPose` animates to the new pose instead of\n * jumping to it. Anything that moves a node — a layout strategy, an action, a\n * consumer's own code — is animated without knowing it, since the adapter is\n * the single write path.\n *\n * Poses written from inside another animation's tick, and (optionally) poses\n * written for a node currently under a gesture, are passed straight through:\n * animating those would fight whatever is already driving the node.\n */\nexport function animateOnSetPose<TNode extends { id: string }, TPose>(\n adapter: SceneAdapter<TNode, TPose>,\n animator: Animator,\n opts: AnimateOnSetPoseOptions<TPose> = {},\n): SceneAdapter<TNode, TPose> {\n const ms = opts.ms ?? 200;\n const skipPredicate = (id: string, from: TPose, to: TPose): boolean => {\n if (opts.shouldAnimate) return !opts.shouldAnimate(id, from, to);\n if (opts.skipDuringGesture && opts.gestureScope?.has(id)) return true;\n return false;\n };\n\n return {\n ...adapter,\n setPose(id: string, pose: TPose): void {\n const from = adapter.getPose(id);\n if (skipPredicate(id, from, pose)) {\n adapter.setPose(id, pose);\n return;\n }\n // Re-entrant short-circuit (a): the caller IS another animation's tick\n // (momentum decay, in-flight tween, spring) writing setPose ~60×/sec.\n // Wrapping each call in a fresh 250ms tween fights the caller — the\n // new tween's t=0 sample writes back the previous `from`, undoing\n // this onTick — and when each wrap-tween settles, the very next\n // caller-tick spawns another, looping visibly forever (cards never\n // stop after a flick). Detect via animator.isTicking() and write\n // through.\n if (animator.isTicking()) {\n adapter.setPose(id, pose);\n return;\n }\n // Re-entrant short-circuit (b): a prior wrap-tween for this id is\n // still in flight. Let it finish rather than registering a competing\n // tween. (Earlier guard from 3af4ed8; kept alongside (a) for the case\n // where setPose is called from outside the animator's own tick loop\n // but a pose:<id> tween is still mid-transition.)\n if (animator.isActive('pose:' + id)) {\n adapter.setPose(id, pose);\n return;\n }\n if (opts.spring) {\n springPose(animator, adapter as never, {\n id,\n to: pose,\n preset: opts.spring.preset,\n stiffness: opts.spring.stiffness,\n damping: opts.spring.damping,\n mass: opts.spring.mass,\n geometry: opts.geometry,\n opLabel: opts.opLabel,\n });\n } else {\n tweenPose(animator, adapter as never, {\n id,\n to: pose,\n ms,\n easing: opts.easing,\n geometry: opts.geometry,\n opLabel: opts.opLabel,\n });\n }\n },\n };\n}\n"],"mappings":";;AA4CA,SAAgBA,EACd,GACA,GACA,IAAuC,CAAC,GACZ;CAC5B,IAAMC,IAAKC,EAAK,MAAM,KAChBC,KAAiB,GAAY,GAAa,MAC1CD,EAAK,gBAAsB,CAACA,EAAK,cAAcE,GAAIC,GAAMC,CAAE,IAC/D,GAAIJ,EAAK,qBAAqBA,EAAK,cAAc,IAAIE,CAAE;CAIzD,OAAO;EACL,GAAGG;EACH,QAAQ,GAAY,GAAmB;GACrC,IAAMF,IAAOE,EAAQ,QAAQH,CAAE;GAC/B,IAAID,EAAcC,GAAIC,GAAMG,CAAI,GAAG;IACjC,EAAQ,QAAQJ,GAAII,CAAI;IACxB;GACF;GASA,IAAIC,EAAS,UAAU,GAAG;IACxB,EAAQ,QAAQL,GAAII,CAAI;IACxB;GACF;GAMA,IAAIC,EAAS,SAAS,UAAUL,CAAE,GAAG;IACnC,EAAQ,QAAQA,GAAII,CAAI;IACxB;GACF;GACA,AAAIN,EAAK,SACPQ,EAAWD,GAAUF,GAAkB;IACrC;IACA,IAAIC;IACJ,QAAQN,EAAK,OAAO;IACpB,WAAWA,EAAK,OAAO;IACvB,SAASA,EAAK,OAAO;IACrB,MAAMA,EAAK,OAAO;IAClB,UAAUA,EAAK;IACf,SAASA,EAAK;GAChB,CAAC,IAEDS,EAAUF,GAAUF,GAAkB;IACpC;IACA,IAAIC;IACJ;IACA,QAAQN,EAAK;IACb,UAAUA,EAAK;IACf,SAASA,EAAK;GAChB,CAAC;EAEL;CACF;AACF"}
1
+ {"version":3,"file":"animateOnSetPose.js","names":["animateOnSetPose","ms","opts","skipPredicate","id","from","to","adapter","instantPoseWrite","pose","animator","poseKey","springPose","tweenPose"],"sources":["../../../src/animation/wrappers/animateOnSetPose.ts"],"sourcesContent":["import { poseKey, tweenPose, springPose, type PoseAnimationAdapter } from '../poseHelpers';\nimport { instantPoseWrite } from './instantPose';\nimport type { PoseDescriptor } from 'interactions/actions/resize/geometry';\nimport type { Animator, EasingSpec, SpringPresetName } from '@weasel-js/animator';\n\n/** Options for `animateOnSetPose`. */\nexport interface AnimateOnSetPoseOptions<TPose> {\n /** Default: 200ms tween with easeOut. */\n ms?: number;\n easing?: EasingSpec;\n /** Use a spring instead of a duration tween. Mutually exclusive with ms/easing. */\n spring?: {\n preset?: SpringPresetName;\n stiffness?: number;\n damping?: number;\n mass?: number;\n };\n geometry?: PoseDescriptor<TPose>;\n /** Predicate: return false to skip animation and write through immediately. */\n shouldAnimate?: (id: string, from: TPose, to: TPose) => boolean;\n /** When true, write through immediately for an id in `gestureScope`. A no-op\n * without `gestureScope`, and ignored when `shouldAnimate` is set. */\n skipDuringGesture?: boolean;\n /** The ids currently being manipulated by a gesture, for `skipDuringGesture`. */\n gestureScope?: ReadonlySet<string>;\n /** Op label for the recorded transform op. Default: `'animate'`. */\n opLabel?: string;\n}\n\n/**\n * Wrap an adapter so every `setPose` animates to the new pose instead of\n * jumping to it. The result is the adapter it was given, with that one method\n * replaced.\n *\n * Poses written from inside another animation's tick, and (optionally) poses\n * written for a node currently under a gesture, are passed straight through.\n *\n * Over a scene-backed adapter the document takes each pose as it is written\n * and only the node on screen glides; a store behind `createWrittenPoseTarget`\n * holds the pose on screen, and takes the written one as the glide ends. Writing a node again while it glides\n * bends the glide toward the new pose, or under `spring` carries its velocity\n * into the new one. Over an adapter with no `poseTarget`, a second write ends\n * the glide: the new pose is written at once and stands.\n */\nexport function animateOnSetPose<TPose, A extends PoseAnimationAdapter<TPose> = PoseAnimationAdapter<TPose>>(\n adapter: A & PoseAnimationAdapter<TPose>,\n animator: Animator,\n opts: AnimateOnSetPoseOptions<TPose> = {},\n): A {\n const ms = opts.ms ?? 200;\n const skipPredicate = (id: string, from: TPose, to: TPose): boolean => {\n if (opts.shouldAnimate) return !opts.shouldAnimate(id, from, to);\n if (opts.skipDuringGesture && opts.gestureScope?.has(id)) return true;\n return false;\n };\n\n return {\n ...adapter,\n ...instantPoseWrite(adapter),\n setPose(id: string, pose: TPose): void {\n const from = adapter.getPose(id);\n if (skipPredicate(id, from, pose)) {\n adapter.setPose(id, pose);\n return;\n }\n // The caller is another animation's tick writing setPose every frame.\n // Wrapping each call in a fresh tween fights it — the new tween's t=0\n // sample writes back the previous `from` — and never settles.\n if (animator.isTicking()) {\n adapter.setPose(id, pose);\n return;\n }\n // Without a pose target a second glide would fight the first, so the write ends it.\n if (!adapter.poseTarget?.(id, opts.geometry) && animator.isActive(poseKey(id))) {\n animator.cancelKey(poseKey(id));\n adapter.setPose(id, pose);\n return;\n }\n if (opts.spring) {\n springPose(animator, adapter, {\n id,\n to: pose,\n preset: opts.spring.preset,\n stiffness: opts.spring.stiffness,\n damping: opts.spring.damping,\n mass: opts.spring.mass,\n geometry: opts.geometry,\n opLabel: opts.opLabel,\n });\n } else {\n tweenPose(animator, adapter, {\n id,\n to: pose,\n ms,\n easing: opts.easing,\n geometry: opts.geometry,\n opLabel: opts.opLabel,\n });\n }\n },\n } as A;\n}\n"],"mappings":";;;AA4CA,SAAgBA,EACd,GACA,GACA,IAAuC,CAAC,GACrC;CACH,IAAMC,IAAKC,EAAK,MAAM,KAChBC,KAAiB,GAAY,GAAa,MAC1CD,EAAK,gBAAsB,CAACA,EAAK,cAAcE,GAAIC,GAAMC,CAAE,IAC/D,GAAIJ,EAAK,qBAAqBA,EAAK,cAAc,IAAIE,CAAE;CAIzD,OAAO;EACL,GAAGG;EACH,GAAGC,EAAiBD,CAAO;EAC3B,QAAQ,GAAY,GAAmB;GACrC,IAAMF,IAAOE,EAAQ,QAAQH,CAAE;GAC/B,IAAID,EAAcC,GAAIC,GAAMI,CAAI,GAAG;IACjC,EAAQ,QAAQL,GAAIK,CAAI;IACxB;GACF;GAIA,IAAIC,EAAS,UAAU,GAAG;IACxB,EAAQ,QAAQN,GAAIK,CAAI;IACxB;GACF;GAEA,IAAI,CAACF,EAAQ,aAAaH,GAAIF,EAAK,QAAQ,KAAKQ,EAAS,SAASC,EAAQP,CAAE,CAAC,GAAG;IAE9E,AADAM,EAAS,UAAUC,EAAQP,CAAE,CAAC,GAC9BG,EAAQ,QAAQH,GAAIK,CAAI;IACxB;GACF;GACA,AAAIP,EAAK,SACPU,EAAWF,GAAUH,GAAS;IAC5B;IACA,IAAIE;IACJ,QAAQP,EAAK,OAAO;IACpB,WAAWA,EAAK,OAAO;IACvB,SAASA,EAAK,OAAO;IACrB,MAAMA,EAAK,OAAO;IAClB,UAAUA,EAAK;IACf,SAASA,EAAK;GAChB,CAAC,IAEDW,EAAUH,GAAUH,GAAS;IAC3B;IACA,IAAIE;IACJ;IACA,QAAQP,EAAK;IACb,UAAUA,EAAK;IACf,SAASA,EAAK;GAChB,CAAC;EAEL;CACF;AACF"}
@@ -0,0 +1,13 @@
1
+ //#region src/animation/wrappers/instantPose.ts
2
+ var e = Symbol("weasel.setPoseInstant");
3
+ function t(t) {
4
+ return { [e]: (e, r) => n(t, e, r) };
5
+ }
6
+ function n(t, n, r) {
7
+ let i = t[e];
8
+ i ? i(n, r) : t.setPose(n, r);
9
+ }
10
+ //#endregion
11
+ export { t as instantPoseWrite, n as setPoseInstant };
12
+
13
+ //# sourceMappingURL=instantPose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instantPose.js","names":["INSTANT","instantPoseWrite","setPoseInstant","inner","id","pose","instant","adapter"],"sources":["../../../src/animation/wrappers/instantPose.ts"],"sourcesContent":["const INSTANT = Symbol('weasel.setPoseInstant');\n\ntype PoseWrite<TPose> = (id: string, pose: TPose) => void;\ntype WithInstant<TPose> = { [INSTANT]?: PoseWrite<TPose> };\n\n/** The member an adapter wrapper that animates `setPose` spreads into what it\n * returns, so the write that does not animate survives any wrapper above it\n * that copies the adapter. */\nexport function instantPoseWrite<TPose>(inner: { setPose: PoseWrite<TPose> }): object {\n return { [INSTANT]: (id: string, pose: TPose) => setPoseInstant(inner, id, pose) };\n}\n\n/** Write a pose at once, past every wrapper that would animate it. */\nexport function setPoseInstant<TPose>(adapter: { setPose: PoseWrite<TPose> }, id: string, pose: TPose): void {\n const instant = (adapter as WithInstant<TPose>)[INSTANT];\n if (instant) instant(id, pose);\n else adapter.setPose(id, pose);\n}\n"],"mappings":";AAAA,IAAMA,IAAU,OAAO,uBAAuB;AAQ9C,SAAgBC,EAAwB,GAA8C;CACpF,OAAO,GAAGD,KAAW,GAAY,MAAgBE,EAAeC,GAAOC,GAAIC,CAAI,EAAE;AACnF;AAGA,SAAgBH,EAAsB,GAAwC,GAAY,GAAmB;CAC3G,IAAMI,IAAWC,EAA+BP;CAChD,AAAIM,IAASA,EAAQF,GAAIC,CAAI,IACxBE,EAAQ,QAAQH,GAAIC,CAAI;AAC/B"}
@@ -0,0 +1,33 @@
1
+ import { liveAxes as e } from "./poseTarget.js";
2
+ import { createTarget as t } from "@weasel-js/animator";
3
+ //#region src/animation/writtenPoseTarget.ts
4
+ function n(n) {
5
+ let r = n.read();
6
+ if (r === void 0) return null;
7
+ let i = r, a = null, o = () => a === null ? (i = n.read() ?? i, i) : a, s = e(n.descriptor, o);
8
+ if (!s) return null;
9
+ let c = t({
10
+ axes: s,
11
+ get: o,
12
+ set(e) {
13
+ if (c.active) {
14
+ a = e;
15
+ return;
16
+ }
17
+ a = null, n.write(e);
18
+ },
19
+ show(e) {
20
+ if (c.active) {
21
+ a === null && (a = o()), n.write(e);
22
+ return;
23
+ }
24
+ let t = a;
25
+ a = null, t !== null && n.write(t), n.onRest?.();
26
+ }
27
+ });
28
+ return c;
29
+ }
30
+ //#endregion
31
+ export { n as createWrittenPoseTarget };
32
+
33
+ //# sourceMappingURL=writtenPoseTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writtenPoseTarget.js","names":["createWrittenPoseTarget","first","opts","last","committed","get","axes","liveAxes","target","createTarget","pose","landed"],"sources":["../../src/animation/writtenPoseTarget.ts"],"sourcesContent":["import type { PoseDescriptor } from '../core/geometry/poseDescriptor';\nimport { liveAxes } from './poseTarget';\nimport { createTarget, type Target } from '@weasel-js/animator';\n\n/** What {@link createWrittenPoseTarget} takes. */\nexport interface WrittenPoseTargetOptions<TPose> {\n /** The pose the store holds for the node, or undefined once the node is gone. */\n read(): TPose | undefined;\n /** Writes the node's pose to the store. */\n write(pose: TPose): void;\n /** Supplies the pose's axes, as for `createPoseTarget`. */\n descriptor?: PoseDescriptor<TPose>;\n /** Called each time the node comes to rest. */\n onRest?(): void;\n}\n\n/**\n * A {@link Target} over a pose whose store holds one value and has no overrides table to show a\n * moving pose through: an array in React state, a plain record. While the node moves, the\n * committed pose is kept here and the store is written the pose on screen each frame; at rest\n * the store holds the committed pose again.\n *\n * Something else writing the store mid-flight is not seen, and the next frame writes over it.\n * Null for a node the store does not hold, or a pose with no axes.\n */\nexport function createWrittenPoseTarget<TPose>(opts: WrittenPoseTargetOptions<TPose>): Target<TPose> | null {\n const first = opts.read();\n if (first === undefined) return null;\n let last = first;\n /** The committed pose while it is apart from the store's; null while the store holds it. */\n let committed: TPose | null = null;\n const get = (): TPose => {\n if (committed !== null) return committed;\n last = opts.read() ?? last;\n return last;\n };\n const axes = liveAxes(opts.descriptor, get);\n if (!axes) return null;\n const target: Target<TPose> = createTarget<TPose>({\n axes,\n get,\n set(pose) {\n if (target.active) {\n committed = pose;\n return;\n }\n committed = null;\n opts.write(pose);\n },\n show(pose) {\n if (target.active) {\n if (committed === null) committed = get();\n opts.write(pose);\n return;\n }\n const landed = committed;\n committed = null;\n if (landed !== null) opts.write(landed);\n opts.onRest?.();\n },\n });\n return target;\n}\n"],"mappings":";;;AAyBA,SAAgBA,EAA+B,GAA6D;CAC1G,IAAMC,IAAQC,EAAK,KAAK;CACxB,IAAID,MAAU,KAAA,GAAW,OAAO;CAChC,IAAIE,IAAOF,GAEPG,IAA0B,MACxBC,UACAD,MAAc,QAClB,IAAOF,EAAK,KAAK,KAAKC,GACfA,KAFwBC,GAI3BE,IAAOC,EAASL,EAAK,YAAYG,CAAG;CAC1C,IAAI,CAACC,GAAM,OAAO;CAClB,IAAME,IAAwBC,EAAoB;EAChD;EACA;EACA,IAAI,GAAM;GACR,IAAID,EAAO,QAAQ;IACjB,IAAYE;IACZ;GACF;GAEA,AADA,IAAY,MACZR,EAAK,MAAMQ,CAAI;EACjB;EACA,KAAK,GAAM;GACT,IAAIF,EAAO,QAAQ;IAEjB,AADIJ,MAAc,SAAM,IAAYC,EAAI,IACxCH,EAAK,MAAMQ,CAAI;IACf;GACF;GACA,IAAMC,IAASP;GAGf,AAFA,IAAY,MACRO,MAAW,QAAMT,EAAK,MAAMS,CAAM,GACtCT,EAAK,SAAS;EAChB;CACF,CAAC;CACD,OAAOM;AACT"}
@@ -1,5 +1,5 @@
1
1
  import { Path } from '@weasel-js/geom';
2
- import { P as PoseDescriptor } from './poseDescriptor-D-OH-tu5.js';
2
+ import { P as PoseDescriptor } from './poseDescriptor-Bqk-11Rl.js';
3
3
 
4
4
  /** True for Path-shaped poses (`{kind: 'polygon' | 'rect'}`). Useful for
5
5
  * callers that need to fork between `pathPoseDescriptor` and
@@ -0,0 +1,31 @@
1
+ import { depsUnchanged as e, drawLayers as t, drawOneLayer as n, isLayerPainted as r, isLayerVisible as i, paintedLayers as a, subscribeToSources as o } from "../core/layers/render.js";
2
+ import { dlog as s, dwarn as c, isDebugEnabled as l } from "../debug/flag.js";
3
+ import { insertPreviewExtent as u } from "../canvas/insertPreviewExtent.js";
4
+ import { DEFAULT_INK as d, findNodeShape as f, findShapeBounds as p, findShapeInk as m, findShapeSilhouette as h, getNodeShapes as g, registerNodeShape as _, shapeCoversPoint as v } from "../canvas/NodeShape.js";
5
+ import { defaultDrawOne as y, defaultPaintBounds as b } from "../canvas/defaultDrawOne.js";
6
+ import { DEFAULT_DEBUG_STROKES as x, DEFAULT_DEBUG_THEME as S } from "../debug/defaultTheme.js";
7
+ import { buildDebugOverlayCommands as C, createDebugOverlayLayer as w } from "../debug/createDebugOverlayLayer.js";
8
+ import { parseDebugFlags as T } from "../debug/parseDebugFlags.js";
9
+ import { createDebugSink as E } from "../debug/createDebugSink.js";
10
+ import { registerContentHandler as D } from "../features/ingestion/contentHandlers.js";
11
+ import { hostAnchorCss as O, hostAnchorRect as k } from "../canvas/hostAnchor.js";
12
+ import { useHostAnchor as A } from "../canvas/useHostAnchor.js";
13
+ import { CursorCoordsHud as j } from "../canvas/CursorCoordsHud.js";
14
+ import { PickHud as M } from "../canvas/PickHud.js";
15
+ import { layoutArrivalHandler as N, useLayoutArrivals as P } from "../layout/arrivals.js";
16
+ import { DEFAULT_HANDLE_SIZE as F } from "../canvas/SceneCanvas/props.js";
17
+ import { createNodeRouting as I } from "../core/scene/NodeRouting.js";
18
+ import { defaultNodeRouting as L, inferredNodeRouting as R } from "../canvas/SceneCanvas/defaultNodeRouting.js";
19
+ import { resolveOverlays as z } from "../interactions/actions/resolveOverlays.js";
20
+ import { flattenPreviews as B, resolvePreviews as V } from "../interactions/actions/resolvePreviews.js";
21
+ import { sceneToAdapter as H, useSceneAdapter as U } from "../canvas/sceneAdapter.js";
22
+ import { SceneCanvas as W } from "../canvas/SceneCanvas.js";
23
+ import { createNodeProperties as G } from "../core/scene/NodeProperties.js";
24
+ import { defaultNodeProperties as K, inferredNodeProperties as q, rotationDegreesUnit as J } from "../canvas/SceneCanvas/defaultNodeProperties.js";
25
+ import { kitTextHandler as Y } from "../features/ingestion/textHandler.js";
26
+ import { openFilePicker as X } from "../features/ingestion/openFilePicker.js";
27
+ import { WeaselProvider as Z } from "../WeaselProvider.js";
28
+ import { modeDecorationLayer as Q, workspaceTintLayer as $ } from "../features/modes/modeLayers.js";
29
+ import { createChildrenLayer as ee } from "../core/layers/children.js";
30
+ import { getImageBitmap as te, imageStatus as ne, isVectorImageSrc as re, releaseImage as ie, retryImage as ae, setImageCacheBudget as oe, subscribeImageReady as se } from "@weasel-js/renderer";
31
+ export { j as CursorCoordsHud, x as DEFAULT_DEBUG_STROKES, S as DEFAULT_DEBUG_THEME, F as DEFAULT_HANDLE_SIZE, d as DEFAULT_INK, M as PickHud, W as SceneCanvas, Z as WeaselProvider, C as buildDebugOverlayCommands, ee as createChildrenLayer, w as createDebugOverlayLayer, E as createDebugSink, G as createNodeProperties, I as createNodeRouting, y as defaultDrawOne, K as defaultNodeProperties, L as defaultNodeRouting, b as defaultPaintBounds, e as depsUnchanged, s as dlog, t as drawLayers, n as drawOneLayer, c as dwarn, f as findNodeShape, p as findShapeBounds, m as findShapeInk, h as findShapeSilhouette, B as flattenPreviews, te as getImageBitmap, g as getNodeShapes, O as hostAnchorCss, k as hostAnchorRect, ne as imageStatus, q as inferredNodeProperties, R as inferredNodeRouting, u as insertPreviewExtent, l as isDebugEnabled, r as isLayerPainted, i as isLayerVisible, re as isVectorImageSrc, Y as kitTextHandler, N as layoutArrivalHandler, Q as modeDecorationLayer, X as openFilePicker, a as paintedLayers, T as parseDebugFlags, D as registerContentHandler, _ as registerNodeShape, ie as releaseImage, z as resolveOverlays, V as resolvePreviews, ae as retryImage, J as rotationDegreesUnit, H as sceneToAdapter, oe as setImageCacheBudget, v as shapeCoversPoint, se as subscribeImageReady, o as subscribeToSources, A as useHostAnchor, P as useLayoutArrivals, U as useSceneAdapter, $ as workspaceTintLayer };
@@ -0,0 +1,16 @@
1
+ import { useSelection as e } from "../core/selection/useSelection.js";
2
+ import { annulusSemiAxes as t, hitAffordanceRegions as n, pointRegionFrame as r } from "../affordances/hitAffordanceRegions.js";
3
+ import { createCornerResizeAffordance as i } from "../affordances/cornerResize.js";
4
+ import { createRotationAffordance as a } from "../affordances/rotationHandle.js";
5
+ import { PATH_ANCHOR_CHROME_ID as o, createPathAnchorAffordances as s } from "../affordances/pathAnchors.js";
6
+ import { actionIs as c, always as l, and as u, canHover as d, capabilityAll as f, capabilityIn as p, capabilityIs as m, capabilityNot as h, coarsePointer as g, cond as _, focused as v, gesturing as y, hovering as b, hoveringSelected as x, modeIn as S, modeIs as C, modeNot as w, modifierHeld as T, multiActive as E, never as D, not as O, or as k, selectionAtLeast as A, selectionEmpty as j, selectionIs as M, when as N, zoomAtLeast as P } from "../features/chrome-caps/conditions.js";
7
+ import { composeSelectionPose as F, createSelectionHandlesLayer as I, createSelectionOutlineLayer as L, createSelectionOverlayLayer as R } from "../features/selection/overlay.js";
8
+ import { defaultVisibilityRules as z } from "../features/chrome-caps/defaults.js";
9
+ import { resolveVisibility as B } from "../features/chrome-caps/resolve.js";
10
+ import { buildChromeCtx as V } from "../features/chrome-caps/buildChromeCtx.js";
11
+ import { useHoverTracking as H } from "../features/chrome-caps/useHoverTracking.js";
12
+ import { ALWAYS as U, DEFAULT_ALLOWED_CAPABILITIES as W, NEVER as G, buildRuleCtx as K, describeRule as q, evaluate as J } from "../features/chrome-caps/index.js";
13
+ import { composeAffordanceLayer as Y } from "../affordances/composeAffordanceLayer.js";
14
+ import { SelectionContextProvider as X, SelectionContextProviderIfRoot as Z, usePublishSelection as Q, useSelectionContext as $ } from "@weasel-js/routing/react";
15
+ import { ANGLE_RADIANS as ee, IMPERIAL_INCHES as te, METRIC_MM as ne, PIXELS as re, axisUnits as ie, formatAxes as ae, formatScoped as oe, formatUnit as se, fromRoot as ce, parseUnitExpr as le, resolveAxes as ue, resolveScoped as de, resolveUnit as fe, resolveUnitExpr as pe, scopesOf as me, toRoot as he, unitScale as ge } from "@weasel-js/quantity";
16
+ export { U as ALWAYS, ee as ANGLE_RADIANS, W as DEFAULT_ALLOWED_CAPABILITIES, te as IMPERIAL_INCHES, ne as METRIC_MM, G as NEVER, o as PATH_ANCHOR_CHROME_ID, re as PIXELS, X as SelectionContextProvider, Z as SelectionContextProviderIfRoot, c as actionIs, l as always, u as and, t as annulusSemiAxes, ie as axisUnits, V as buildChromeCtx, K as buildRuleCtx, d as canHover, f as capabilityAll, p as capabilityIn, m as capabilityIs, h as capabilityNot, g as coarsePointer, Y as composeAffordanceLayer, F as composeSelectionPose, _ as cond, i as createCornerResizeAffordance, s as createPathAnchorAffordances, a as createRotationAffordance, I as createSelectionHandlesLayer, L as createSelectionOutlineLayer, R as createSelectionOverlayLayer, z as defaultVisibilityRules, q as describeRule, J as evaluate, v as focused, ae as formatAxes, oe as formatScoped, se as formatUnit, ce as fromRoot, y as gesturing, n as hitAffordanceRegions, b as hovering, x as hoveringSelected, S as modeIn, C as modeIs, w as modeNot, T as modifierHeld, E as multiActive, D as never, O as not, k as or, le as parseUnitExpr, r as pointRegionFrame, ue as resolveAxes, de as resolveScoped, fe as resolveUnit, pe as resolveUnitExpr, B as resolveVisibility, me as scopesOf, A as selectionAtLeast, j as selectionEmpty, M as selectionIs, he as toRoot, ge as unitScale, H as useHoverTracking, Q as usePublishSelection, e as useSelection, $ as useSelectionContext, N as when, P as zoomAtLeast };
@@ -0,0 +1,18 @@
1
+ import { releaseCanvasRenderer as e } from "../canvas/canvasRenderer.js";
2
+ import { buildSceneViewCommands as t, renderSceneToCanvas as n } from "../canvas/sceneViewRender.js";
3
+ import { forEachCoalesced as r, getStylusData as i, pressureToWidth as a } from "../core/stylus/stylus.js";
4
+ import { usePointerStylus as o } from "../core/stylus/usePointerStylus.js";
5
+ import { createKeyState as s } from "../input/keyState.js";
6
+ import { useKeyState as c } from "../input/useKeyState.js";
7
+ import { useKeyModifiers as l } from "../input/useKeyModifiers.js";
8
+ import { LONG_PRESS_FEEDBACK_ID as u, createLongPressFeedbackContribution as d } from "../features/longPress/longPressFeedback.js";
9
+ import { renderNeeds as f } from "../canvas/renderNeeds.js";
10
+ import { createRasterSession as p, planPixelRender as m, renderSceneToPixels as h, warmRender as g } from "../canvas/renderSceneToPixels.js";
11
+ import { debugSnapshotArgs as _, renderDebugSnapshot as v } from "../canvas/renderDebugSnapshot.js";
12
+ import { rasterToPng as y } from "../canvas/rasterToPng.js";
13
+ import { PointerProviderIfRoot as b } from "../canvas/SceneCanvas/PointerProviderIfRoot.js";
14
+ import { ActionsProviderIfRoot as x } from "../canvas/SceneCanvas/ActionsProviderIfRoot.js";
15
+ import { DepRegistryProviderIfRoot as S } from "../canvas/SceneCanvas/DepRegistryProviderIfRoot.js";
16
+ import { LONG_PRESS_MS as C, activatesFocusedControl as w, createLongPressStore as T, focusedControlOwnsKey as E, historyKey as D, isEditableTarget as O, matchesKeyBinding as k } from "@weasel-js/routing";
17
+ import { PointerContextProvider as A, createPointerStore as j, usePointerContext as M, usePointerPosition as N } from "@weasel-js/routing/react";
18
+ export { x as ActionsProviderIfRoot, S as DepRegistryProviderIfRoot, u as LONG_PRESS_FEEDBACK_ID, C as LONG_PRESS_MS, A as PointerContextProvider, b as PointerProviderIfRoot, w as activatesFocusedControl, t as buildSceneViewCommands, s as createKeyState, d as createLongPressFeedbackContribution, T as createLongPressStore, j as createPointerStore, p as createRasterSession, _ as debugSnapshotArgs, E as focusedControlOwnsKey, r as forEachCoalesced, i as getStylusData, D as historyKey, O as isEditableTarget, k as matchesKeyBinding, m as planPixelRender, a as pressureToWidth, y as rasterToPng, e as releaseCanvasRenderer, v as renderDebugSnapshot, f as renderNeeds, n as renderSceneToCanvas, h as renderSceneToPixels, l as useKeyModifiers, c as useKeyState, M as usePointerContext, N as usePointerPosition, o as usePointerStylus, g as warmRender };
@@ -0,0 +1,38 @@
1
+ import "../interactions/gestures/handleDrag/handleDrag.js";
2
+ import "../interactions/gestures/thresholdDrag/thresholdDrag.js";
3
+ import { RECT_POSE_DESCRIPTOR as e, ROTATED_POSE_DESCRIPTOR as t, poseDescriptorForNode as n, translatePoseViaDescriptor as r, visualBoundsViaDescriptor as i } from "../core/geometry/poseDescriptor.js";
4
+ import { AUTO_POSE_DESCRIPTOR as a, isPathLike as o, isRectPose as s } from "../core/geometry/autoPoseDescriptor.js";
5
+ import { cornerResizeHandles as c, fixedCornerOf as l, hitCornerHandle as u } from "../interactions/actions/resize/cornerHandles.js";
6
+ import { enumerateAnchors as d, withCoord as f } from "../interactions/actions/edit-anchors/geometry.js";
7
+ import { aabbCenter as p, pointInRotatedRect as m, rectCorners as h, rotatePoint as g, rotatedRectCorners as _ } from "../interactions/actions/rotate/geometry.js";
8
+ import { gesturePlaneReader as v, gestureViewReader as y, screenTolerance as b } from "../interactions/gestures/shared/screenTolerance.js";
9
+ import { createPoseTarget as x, poseAxes as S, scenePoseTarget as C } from "../animation/poseTarget.js";
10
+ import { DEFAULT_ROTATION_SNAP_STEP as w, snapRotationWithModifier as T } from "../interactions/actions/rotate/behaviors/snapRotation.js";
11
+ import { DEFAULT_ROTATE_BEHAVIORS as E } from "../interactions/actions/rotate/behaviors/index.js";
12
+ import { WEASEL_CLIPBOARD_MIME as D, WEASEL_CLIPBOARD_MIME_WEB as O, buildWeaselClipboardText as k, embedWeaselMetadataInSvg as A, extractWeaselClipboardFromSvg as j, parseWeaselClipboardText as M, sniffWeaselClipboardText as N } from "../interactions/actions/clipboard/wireFormat.js";
13
+ import { resolveSpatialReference as P } from "../interactions/actions/spatialReference.js";
14
+ import { alignDeltaFor as F, alignTargetBounds as I, useAlign as L } from "../interactions/actions/align/align.js";
15
+ import { dataRestPath as R } from "../animation/rig/skinBinding.js";
16
+ import { bindRig as z, rigidRigApply as B } from "../animation/rig/bindRig.js";
17
+ import { useRig as V } from "../animation/rig/useRig.js";
18
+ import { placeSkeleton as H, rigFromNode as U, unplaceSkeleton as W, useRigNode as G } from "../animation/rig/rigNode.js";
19
+ import { DEFAULT_ROTATION_HANDLE_DISTANCE as K, hitRotationHandle as q, rotationHandle as J } from "../interactions/actions/rotate/handle.js";
20
+ import { AUTO_ORIGIN_PROJECTION as Y, RECT_ORIGIN_PROJECTION as X } from "../interactions/gestures/shared/originProjection.js";
21
+ import { snap as Z } from "../interactions/gestures/shared/snap.js";
22
+ import { useDragGesture as Q } from "../interactions/gestures/dragGesture/dragGesture.js";
23
+ import { dragPointOf as $ } from "../interactions/gestures/dragGesture/dragPointOf.js";
24
+ import { useDragRect as ee } from "../interactions/gestures/dragRect/dragRect.js";
25
+ import { useDragRadial as te } from "../interactions/gestures/dragRadial/dragRadial.js";
26
+ import { hitAnchor as ne } from "../interactions/actions/edit-anchors/handles.js";
27
+ import { useClipboardOps as re } from "../interactions/actions/clipboard/clipboardOps.js";
28
+ import { useDistribute as ie } from "../interactions/actions/distribute/distribute.js";
29
+ import { createWrittenPoseTarget as ae } from "../animation/writtenPoseTarget.js";
30
+ import { sceneClipTargets as oe } from "../animation/clipTargets.js";
31
+ import { springPose as se, staggerSpringPose as ce, tweenPose as le } from "../animation/poseHelpers.js";
32
+ import { animateOnSetPose as ue } from "../animation/wrappers/animateOnSetPose.js";
33
+ import { animateLifecycle as de } from "../animation/wrappers/animateLifecycle.js";
34
+ import { createReflowTransition as fe, useAnimatedReflow as pe } from "../animation/reflow.js";
35
+ import { momentum as me } from "../animation/behaviors/momentum.js";
36
+ import { EASINGS as he, SPRING_PRESETS as ge, cubicBezierEasing as _e, easeIn as ve, easeInBack as ye, easeInBounce as be, easeInCirc as xe, easeInCubic as Se, easeInElastic as Ce, easeInExpo as we, easeInOut as Te, easeInOutBack as Ee, easeInOutBounce as De, easeInOutCirc as Oe, easeInOutCubic as ke, easeInOutElastic as Ae, easeInOutExpo as je, easeInOutQuad as Me, easeInOutQuart as Ne, easeInOutQuint as Pe, easeInOutSine as Fe, easeInQuad as Ie, easeInQuart as Le, easeInQuint as Re, easeInSine as ze, easeOut as Be, easeOutBack as Ve, easeOutBounce as He, easeOutCirc as Ue, easeOutCubic as We, easeOutElastic as Ge, easeOutExpo as Ke, easeOutQuad as qe, easeOutQuart as Je, easeOutQuint as Ye, easeOutSine as Xe, hexToOklchDeg as Ze, hslToSrgb as Qe, interpolateSrgb as $e, lerpColorArray as et, lerpOklab as tt, lerpOklch as nt, linear as rt, linearSrgbToOklab as it, linearToSrgb as at, oklabToLinearSrgb as ot, oklabToOklch as st, oklabToSrgbU8 as ct, oklchDegToHex as lt, oklchToOklab as ut, resolveEasing as dt, srgbFloatToOklab as ft, srgbToHsl as pt, srgbToLinear as mt, srgbU8ToOklab as ht } from "../animation/index.js";
37
+ import { CONTROL_SELECTOR as gt, DRAG_THRESHOLD_PX as _t, isInControlWithin as vt, openPointerSession as yt, pastDragThreshold as bt } from "@weasel-js/routing";
38
+ export { Y as AUTO_ORIGIN_PROJECTION, a as AUTO_POSE_DESCRIPTOR, gt as CONTROL_SELECTOR, E as DEFAULT_ROTATE_BEHAVIORS, K as DEFAULT_ROTATION_HANDLE_DISTANCE, w as DEFAULT_ROTATION_SNAP_STEP, _t as DRAG_THRESHOLD_PX, he as EASINGS, X as RECT_ORIGIN_PROJECTION, e as RECT_POSE_DESCRIPTOR, t as ROTATED_POSE_DESCRIPTOR, ge as SPRING_PRESETS, D as WEASEL_CLIPBOARD_MIME, O as WEASEL_CLIPBOARD_MIME_WEB, p as aabbCenter, F as alignDeltaFor, I as alignTargetBounds, de as animateLifecycle, ue as animateOnSetPose, z as bindRig, k as buildWeaselClipboardText, c as cornerResizeHandles, x as createPoseTarget, fe as createReflowTransition, ae as createWrittenPoseTarget, _e as cubicBezierEasing, R as dataRestPath, $ as dragPointOf, ve as easeIn, ye as easeInBack, be as easeInBounce, xe as easeInCirc, Se as easeInCubic, Ce as easeInElastic, we as easeInExpo, Te as easeInOut, Ee as easeInOutBack, De as easeInOutBounce, Oe as easeInOutCirc, ke as easeInOutCubic, Ae as easeInOutElastic, je as easeInOutExpo, Me as easeInOutQuad, Ne as easeInOutQuart, Pe as easeInOutQuint, Fe as easeInOutSine, Ie as easeInQuad, Le as easeInQuart, Re as easeInQuint, ze as easeInSine, Be as easeOut, Ve as easeOutBack, He as easeOutBounce, Ue as easeOutCirc, We as easeOutCubic, Ge as easeOutElastic, Ke as easeOutExpo, qe as easeOutQuad, Je as easeOutQuart, Ye as easeOutQuint, Xe as easeOutSine, A as embedWeaselMetadataInSvg, d as enumerateAnchors, j as extractWeaselClipboardFromSvg, l as fixedCornerOf, v as gesturePlaneReader, y as gestureViewReader, Ze as hexToOklchDeg, ne as hitAnchor, u as hitCornerHandle, q as hitRotationHandle, Qe as hslToSrgb, $e as interpolateSrgb, vt as isInControlWithin, o as isPathLike, s as isRectPose, et as lerpColorArray, tt as lerpOklab, nt as lerpOklch, rt as linear, it as linearSrgbToOklab, at as linearToSrgb, me as momentum, ot as oklabToLinearSrgb, st as oklabToOklch, ct as oklabToSrgbU8, lt as oklchDegToHex, ut as oklchToOklab, yt as openPointerSession, M as parseWeaselClipboardText, bt as pastDragThreshold, H as placeSkeleton, m as pointInRotatedRect, S as poseAxes, n as poseDescriptorForNode, h as rectCorners, dt as resolveEasing, P as resolveSpatialReference, U as rigFromNode, B as rigidRigApply, g as rotatePoint, _ as rotatedRectCorners, J as rotationHandle, oe as sceneClipTargets, C as scenePoseTarget, b as screenTolerance, Z as snap, T as snapRotationWithModifier, N as sniffWeaselClipboardText, se as springPose, ft as srgbFloatToOklab, pt as srgbToHsl, mt as srgbToLinear, ht as srgbU8ToOklab, ce as staggerSpringPose, r as translatePoseViaDescriptor, le as tweenPose, W as unplaceSkeleton, L as useAlign, pe as useAnimatedReflow, re as useClipboardOps, ie as useDistribute, Q as useDragGesture, te as useDragRadial, ee as useDragRect, V as useRig, G as useRigNode, i as visualBoundsViaDescriptor, f as withCoord };
@@ -0,0 +1,11 @@
1
+ import { getPaintKind as e, listGradientKinds as t, listPaintKinds as n, paintKindOf as r, paintKindRegistry as i, patternFamily as a, registerPaintKind as o, registerPaintKindLoader as s, seedTile as c, switchGradientKind as l } from "../core/paint/paintKinds.js";
2
+ import { getAlpha01 as u, mergeAlphaFromPrev as d, toHex8 as f, withAlpha01 as p } from "../util/color.js";
3
+ import { DEFAULT_FILL_COLOR as m, DEFAULT_PALETTE as h, DEFAULT_SHAPE_FILL as g, DEFAULT_STROKE_COLOR as _, GHOST_STROKE as v, cycleFill as y, paintAlpha as b, paintWithAlpha as x, paintWithColor as S, solid as C, strokeOf as w, strokeWith as T } from "../util/paint.js";
4
+ import { pathPaintOf as E } from "../canvas/nodeShapes/nodePaint.js";
5
+ import { asPaint as D } from "../core/paint/paintKindEntry.js";
6
+ import { useGradientKinds as O, usePaintKind as k, usePaintKinds as A } from "../core/usePaintKinds.js";
7
+ import { commandFill as j, commandPaint as M, commandStroke as N, createTilePattern as P, fillInPoseFrame as F, fillToBoundsFrame as I, isPaintKindKnown as L, resolveFillPattern as R, resolvePatternSpec as z, warmPaintKinds as B } from "@weasel-js/renderer";
8
+ import { STROKE_DASH_RATIOS as V, TILE_KINDS as H, alignedStrokeRect as U, composePatternTransform as W, contrastLineColor as G, dashForStrokeStyle as K, decomposePatternTransform as q, gradientForBounds as J, gradientGeometry as Y, hexToRgbBytes as X, hexToRgba as Z, isGradientPaint as Q, isPatternPaint as $, isSolidPaint as ee, isTileKind as te, isTilePaint as ne, normalizeHex as re, parseColor as ie, parseColorToRgba255 as ae, parseHexBytes as oe, patternPlacementOf as se, resolveColor as ce, resolveScreenLength as le, rgbaToHex as ue, sampleGradientStops as de, strokeDashStyleOf as fe, tileSpecOf as pe, withGradientKind as me } from "@weasel-js/paint";
9
+ import { BUILTIN_MARKERS as he, getMarker as ge, listMarkers as _e, markerInset as ve, markerKeyOf as ye, markerRegistry as be, markerSites as xe, registerMarker as Se, resolveMarkerSize as Ce, resolveStrokeWidth as we, strokeInsets as Te } from "@weasel-js/stroke";
10
+ import { trimPolyline as Ee } from "@weasel-js/geom/tessellate";
11
+ export { he as BUILTIN_MARKERS, m as DEFAULT_FILL_COLOR, h as DEFAULT_PALETTE, g as DEFAULT_SHAPE_FILL, _ as DEFAULT_STROKE_COLOR, v as GHOST_STROKE, V as STROKE_DASH_RATIOS, H as TILE_KINDS, U as alignedStrokeRect, D as asPaint, j as commandFill, M as commandPaint, N as commandStroke, W as composePatternTransform, G as contrastLineColor, P as createTilePattern, y as cycleFill, K as dashForStrokeStyle, q as decomposePatternTransform, F as fillInPoseFrame, I as fillToBoundsFrame, u as getAlpha01, ge as getMarker, e as getPaintKind, J as gradientForBounds, Y as gradientGeometry, X as hexToRgbBytes, Z as hexToRgba, Q as isGradientPaint, L as isPaintKindKnown, $ as isPatternPaint, ee as isSolidPaint, te as isTileKind, ne as isTilePaint, t as listGradientKinds, _e as listMarkers, n as listPaintKinds, ve as markerInset, ye as markerKeyOf, be as markerRegistry, xe as markerSites, d as mergeAlphaFromPrev, re as normalizeHex, b as paintAlpha, r as paintKindOf, i as paintKindRegistry, x as paintWithAlpha, S as paintWithColor, ie as parseColor, ae as parseColorToRgba255, oe as parseHexBytes, E as pathPaintOf, a as patternFamily, se as patternPlacementOf, Se as registerMarker, o as registerPaintKind, s as registerPaintKindLoader, ce as resolveColor, R as resolveFillPattern, Ce as resolveMarkerSize, z as resolvePatternSpec, le as resolveScreenLength, we as resolveStrokeWidth, ue as rgbaToHex, de as sampleGradientStops, c as seedTile, C as solid, fe as strokeDashStyleOf, Te as strokeInsets, w as strokeOf, T as strokeWith, l as switchGradientKind, pe as tileSpecOf, f as toHex8, Ee as trimPolyline, O as useGradientKinds, k as usePaintKind, A as usePaintKinds, B as warmPaintKinds, p as withAlpha01, me as withGradientKind };
@@ -0,0 +1,12 @@
1
+ import { pathPoseDescriptor as e } from "../core/geometry/pathPoseDescriptor.js";
2
+ import { applyBooleanOp as t, previewBooleanOp as n } from "../interactions/actions/booleans/booleans.js";
3
+ import { createPenPreviewLayer as r } from "../features/paths/penPreviewLayer.js";
4
+ import { constrainTo45 as i } from "../util/constrainTo45.js";
5
+ import { createPathEditingOverlayLayer as a } from "../features/paths/pathEditingOverlayLayer.js";
6
+ import { createPathLayer as o } from "../features/paths/pathLayer.js";
7
+ import { pathOriginProjection as s } from "../features/paths/originProjection.js";
8
+ import { DEFAULT_FLATTEN_TOLERANCE as c, PATH_C as l, PATH_CMD_LENGTHS as u, PATH_L as d, PATH_M as f, PATH_Q as p, PATH_Z as m, PathBuilder as h, boundsOfPath as g, circlePath as _, composePath as v, countPathAnchors as y, decomposePath as b, ellipsePath as x, flattenCubic as S, flattenCubicWithArcLen as C, flattenQuadratic as w, flattenQuadraticWithArcLen as T, hasOpenSubpath as E, linePath as D, pathCommandCoordCount as O, pathContainsPoint as k, pathContainsPolygon as A, pathContainsRect as j, pathDistanceToPoint as M, pathDivide as N, pathExclude as P, pathFromD as F, pathInPoseFrame as I, pathInWorld as L, pathIntersect as R, pathIntersectsPolygon as z, pathIntersectsRect as B, pathSignedArea as V, pathSubtract as H, pathThroughPoseFrame as U, pathToAnchors as W, pathUnion as G, pointAlongPath as K, pointInPath as q, polygonFromPoints as J, polylineFromPoints as Y, poseFrameInverseOf as X, poseFrameOf as Z, poseLinearOf as Q, poseRotationOf as $, rectMarkerPath as ee, rectPath as te, regularPolygonPath as ne, reversePath as re, rotatePathAround as ie, roundRectPath as ae, scalePathToBounds as oe, snipPathByPolyline as se, splitByClosure as ce, splitPathByPolyline as le, splitPathBySegment as ue, splitSubpaths as de, squarePath as fe, starPath as pe, strokeToPath as me, transformPath as he, translatePath as ge, trianglesToPath as _e, unionBoundsPath as ve, worldEditToStorage as ye } from "../features/paths/index.js";
9
+ import { useBooleans as be } from "../interactions/actions/booleans/useBooleans.js";
10
+ import { useBooleansAdapter as xe } from "../interactions/actions/booleans/useBooleansAdapter.js";
11
+ import { CURVE_REPS as Se, bezierCubic as Ce, bezierQuadratic as we, nurbs as Te, spiro as Ee } from "@weasel-js/geom/curves";
12
+ export { Se as CURVE_REPS, c as DEFAULT_FLATTEN_TOLERANCE, l as PATH_C, u as PATH_CMD_LENGTHS, d as PATH_L, f as PATH_M, p as PATH_Q, m as PATH_Z, h as PathBuilder, t as applyBooleanOp, Ce as bezierCubic, we as bezierQuadratic, g as boundsOfPath, _ as circlePath, v as composePath, i as constrainTo45, y as countPathAnchors, a as createPathEditingOverlayLayer, o as createPathLayer, r as createPenPreviewLayer, b as decomposePath, x as ellipsePath, S as flattenCubic, C as flattenCubicWithArcLen, w as flattenQuadratic, T as flattenQuadraticWithArcLen, E as hasOpenSubpath, D as linePath, Te as nurbs, O as pathCommandCoordCount, k as pathContainsPoint, A as pathContainsPolygon, j as pathContainsRect, M as pathDistanceToPoint, N as pathDivide, P as pathExclude, F as pathFromD, I as pathInPoseFrame, L as pathInWorld, R as pathIntersect, z as pathIntersectsPolygon, B as pathIntersectsRect, s as pathOriginProjection, e as pathPoseDescriptor, V as pathSignedArea, H as pathSubtract, U as pathThroughPoseFrame, W as pathToAnchors, G as pathUnion, K as pointAlongPath, q as pointInPath, J as polygonFromPoints, Y as polylineFromPoints, X as poseFrameInverseOf, Z as poseFrameOf, Q as poseLinearOf, $ as poseRotationOf, n as previewBooleanOp, ee as rectMarkerPath, te as rectPath, ne as regularPolygonPath, re as reversePath, ie as rotatePathAround, ae as roundRectPath, oe as scalePathToBounds, se as snipPathByPolyline, Ee as spiro, ce as splitByClosure, le as splitPathByPolyline, ue as splitPathBySegment, de as splitSubpaths, fe as squarePath, pe as starPath, me as strokeToPath, he as transformPath, ge as translatePath, _e as trianglesToPath, ve as unionBoundsPath, be as useBooleans, xe as useBooleansAdapter, ye as worldEditToStorage };
@@ -0,0 +1,14 @@
1
+ import { rotateAroundAABBCenter as e } from "../canvas/poseRotation.js";
2
+ import { KIT_SHAPE_KINDS as t, SHAPE_KINDS as n } from "../core/shapeKinds.js";
3
+ import { PAINTED_CURSOR_LAYER_ID as r, createPaintedCursorLayer as i } from "../canvas/paintedCursorLayer.js";
4
+ import { paletteInsertPaint as a } from "../canvas/deps/insert.js";
5
+ import { KIT_VERSIONS as o, checkRequirements as s, satisfiesRange as c } from "../canvas/kitRequirements.js";
6
+ import { COMPOSITE_FEATURES as l, FEATURE_ACTION_IDS as u, SCENE_CANVAS_FEATURES as d, TOOL_DRIVEN_ACTION_IDS as f } from "../canvas/SceneCanvas/features.js";
7
+ import { BUILTIN_TOOL_IDS as p } from "../canvas/SceneCanvas/props.js";
8
+ import { mergeContributions as m } from "../canvas/surfaceContribution.js";
9
+ import { SPRITE_STRIDE as h, blur as g, cullDrawCommands as _, frameRect as v, mat3 as y, registerEffect as b, viewToMat3 as x, vignette as S } from "@weasel-js/renderer";
10
+ import { assembleEntries as C, liveScope as w, modeShortcutSpec as T, modeShortcuts as E, scopeBindings as D } from "@weasel-js/routing";
11
+ import { createReflectable as O } from "@weasel-js/registry";
12
+ import { canQueryLocalFonts as k, cssFamilyName as A, cssFontFamily as j, cssFontFamilyLoading as M, enableLocalFontOutlines as N, fontOutlineRegistry as P, fontRegistry as F, hasFontOutlines as I, isCanvasFont as L, listFontOutlines as R, loadFontOutlines as z, outlineStatus as B, refreshCanvasFont as V, registerCanvasFont as H, registerFont as U, registerFontOutlines as W, subscribeGlyphReady as G, unregisterCanvasFont as K, unregisterFontOutlines as q, warmFonts as J } from "@weasel-js/font";
13
+ import { CURSOR_ANGLE_STEPS as Y, CURSOR_MAX_CSS_PX as X, bakeCursor as Z, createCursorSink as Q, createPaintedCursorState as $, cursorFor as ee, resolveCursor as te, resolveCursorTier as ne } from "@weasel-js/cursor";
14
+ export { p as BUILTIN_TOOL_IDS, l as COMPOSITE_FEATURES, Y as CURSOR_ANGLE_STEPS, X as CURSOR_MAX_CSS_PX, u as FEATURE_ACTION_IDS, t as KIT_SHAPE_KINDS, o as KIT_VERSIONS, r as PAINTED_CURSOR_LAYER_ID, d as SCENE_CANVAS_FEATURES, n as SHAPE_KINDS, h as SPRITE_STRIDE, f as TOOL_DRIVEN_ACTION_IDS, C as assembleEntries, Z as bakeCursor, g as blur, k as canQueryLocalFonts, s as checkRequirements, Q as createCursorSink, i as createPaintedCursorLayer, $ as createPaintedCursorState, O as createReflectable, A as cssFamilyName, j as cssFontFamily, M as cssFontFamilyLoading, _ as cullDrawCommands, ee as cursorFor, N as enableLocalFontOutlines, P as fontOutlineRegistry, F as fontRegistry, v as frameRect, I as hasFontOutlines, L as isCanvasFont, R as listFontOutlines, w as liveScope, z as loadFontOutlines, y as mat3, m as mergeContributions, T as modeShortcutSpec, E as modeShortcuts, B as outlineStatus, a as paletteInsertPaint, V as refreshCanvasFont, H as registerCanvasFont, b as registerEffect, U as registerFont, W as registerFontOutlines, te as resolveCursor, ne as resolveCursorTier, e as rotateAroundAABBCenter, c as satisfiesRange, D as scopeBindings, G as subscribeGlyphReady, K as unregisterCanvasFont, q as unregisterFontOutlines, x as viewToMat3, S as vignette, J as warmFonts };
@@ -0,0 +1,57 @@
1
+ import { CORNER_ANCHORS as e, cornerPoint as t } from "../interactions/actions/resize/cornerHandles.js";
2
+ import { actionShortcuts as n, keySpecShortcut as r } from "../interactions/actions/actionShortcuts.js";
3
+ import { editingLayer as i, inPlane as a, insertLayer as o, selectionLayer as s } from "../interactions/actions/planeInput.js";
4
+ import { defaultCommitAdapter as c } from "../interactions/actions/defaultCommitAdapter.js";
5
+ import { moveAction as l } from "../interactions/actions/move/action.js";
6
+ import { resizeAction as u } from "../interactions/actions/resize/action.js";
7
+ import { rotateAction as d } from "../interactions/actions/rotate/action.js";
8
+ import { areaSelectAction as f } from "../interactions/actions/defaults/areaSelect.js";
9
+ import { insertAction as p } from "../interactions/actions/insert/action.js";
10
+ import { clearSelectionAction as m } from "../interactions/actions/defaults/clearSelection.js";
11
+ import { cloneAction as h } from "../interactions/actions/clone/action.js";
12
+ import { viewportDragPanAction as g } from "../interactions/actions/defaults/viewportDragPan.js";
13
+ import { makeViewportZoomAction as _, viewportZoomAction as v } from "../interactions/actions/defaults/viewportZoom.js";
14
+ import { makeViewportWheelPanAction as y, viewportWheelPanAction as b } from "../interactions/actions/defaults/viewportWheelPan.js";
15
+ import { editAnchorsAction as x } from "../interactions/actions/edit-anchors/action.js";
16
+ import { selectFromLasso as S } from "../interactions/actions/lasso-select/behaviors/selectFromLasso.js";
17
+ import { lassoSelectAction as C } from "../interactions/actions/lasso-select/action.js";
18
+ import { sliceAction as w } from "../interactions/actions/defaults/slice.js";
19
+ import { makePinchZoomAction as T, pinchZoomAction as E } from "../interactions/actions/defaults/pinchZoom.js";
20
+ import { clipboardCopyAction as D, clipboardCutAction as O, clipboardPasteAction as k, clipboardPasteEventAction as A } from "../interactions/actions/clipboard/action.js";
21
+ import { enterTextEditAction as j } from "../interactions/actions/defaults/enterTextEdit.js";
22
+ import { KIT_STANDARD_ACTION_IDS as M, useStandardActions as N } from "../interactions/actions/useStandardActions.js";
23
+ import { useResizePolicy as P } from "../canvas/deps/resizePolicy.js";
24
+ import { usePoseDescriptorDepSource as F } from "../canvas/deps/poseDescriptor.js";
25
+ import { computeSliceOps as I } from "../interactions/actions/defaults/sliceOps.js";
26
+ import { useSliceDep as L, useSliceDepSource as R } from "../canvas/deps/slice.js";
27
+ import { defineTool as z, useTools as B } from "../tools/overlayBinding.js";
28
+ import { useKeybindings as V } from "../tools/useKeybindings.js";
29
+ import { pickTopMostHit as H } from "../tools/builtin/pickTopMostHit.js";
30
+ import { AREA_SELECT_ID as U, SELECTION_MOVE_ID as W, SELECTION_RESIZE_ID as G, SELECTION_ROTATE_ID as K, SELECTION_TRANSFORM_ID as q, areaSelectContribution as J, onEmptyCanvas as Y, selectionMoveBindings as X, selectionMoveContribution as Z, selectionResizeBindings as Q, selectionResizeContribution as $, selectionRotateBindings as ee, selectionRotateContribution as te, selectionTransformBindings as ne, selectionTransformContribution as re } from "../tools/builtin/select/selectionContributions.js";
31
+ import { useSelectTool as ie } from "../tools/builtin/select/useSelectTool.js";
32
+ import { useHandTool as ae } from "../tools/builtin/hand/useHandTool.js";
33
+ import { DRAG_PAN_ID as oe, dragPanContribution as se } from "../tools/builtin/hand/dragPanContribution.js";
34
+ import { useTextTool as ce } from "../tools/builtin/text/useTextTool.js";
35
+ import { placedRig as le } from "../tools/builtin/bone/placedRig.js";
36
+ import { createBoneOverlay as ue } from "../tools/builtin/bone/boneOverlay.js";
37
+ import { createRigEditState as de } from "../tools/builtin/bone/rigEditState.js";
38
+ import { useBoneTool as fe } from "../tools/builtin/bone/useBoneTool.js";
39
+ import { weighedPaths as pe } from "../tools/builtin/weight/weightActions.js";
40
+ import { createWeightOverlay as me } from "../tools/builtin/weight/weightOverlay.js";
41
+ import { useWeightTool as he } from "../tools/builtin/weight/useWeightTool.js";
42
+ import { usePenTool as ge } from "../tools/builtin/pen/usePenTool.js";
43
+ import { useRectTool as _e } from "../tools/builtin/rect/useRectTool.js";
44
+ import { useEllipseTool as ve } from "../tools/builtin/ellipse/useEllipseTool.js";
45
+ import { useImageTool as ye } from "../tools/builtin/image/useImageTool.js";
46
+ import { useEyedropperTool as be } from "../tools/builtin/eyedropper/useEyedropperTool.js";
47
+ import { useLineTool as xe } from "../tools/builtin/line/useLineTool.js";
48
+ import { useLassoTool as Se } from "../tools/builtin/lasso/useLassoTool.js";
49
+ import { usePolygonTool as Ce } from "../tools/builtin/polygon/usePolygonTool.js";
50
+ import { useStarTool as we } from "../tools/builtin/star/useStarTool.js";
51
+ import { usePencilTool as Te } from "../tools/builtin/pencil/usePencilTool.js";
52
+ import { useSliceTool as Ee } from "../tools/builtin/slice/useSliceTool.js";
53
+ import { useLatest as De } from "@weasel-js/react";
54
+ import { ActionDisabledReason as Oe, actionBindings as ke, actionItems as Ae, buildDepsFromRequires as je, createDepRegistry as Me, createDispatcher as Ne, deleteScratch as Pe, evaluateActive as Fe, evaluateEnabled as Ie, getScratch as Le, heldKeySpec as Re, resolveParams as ze, scratchKey as Be, setScratch as Ve, specificity as He } from "@weasel-js/routing";
55
+ import { bodyPredicate as Ue, hitPredicate as We } from "@weasel-js/gestures";
56
+ import { ActionsProvider as Ge, ActiveToolContextProvider as Ke, ActiveToolContextProviderIfRoot as qe, DepRegistryProvider as Je, InputScope as Ye, Yoke as Xe, useAction as Ze, useActionsRegistry as Qe, useActiveToolContext as $e, useDepRegistry as et, useDepSource as tt, useGestureDispatcher as nt, useOngoingAction as rt, useOptionalActiveToolContext as it, useOptionalDepRegistry as at, useYoke as ot } from "@weasel-js/routing/react";
57
+ export { U as AREA_SELECT_ID, Oe as ActionDisabledReason, Ge as ActionsProvider, Ke as ActiveToolContextProvider, qe as ActiveToolContextProviderIfRoot, e as CORNER_ANCHORS, oe as DRAG_PAN_ID, Je as DepRegistryProvider, Ye as InputScope, M as KIT_STANDARD_ACTION_IDS, W as SELECTION_MOVE_ID, G as SELECTION_RESIZE_ID, K as SELECTION_ROTATE_ID, q as SELECTION_TRANSFORM_ID, Xe as Yoke, ke as actionBindings, Ae as actionItems, n as actionShortcuts, f as areaSelectAction, J as areaSelectContribution, Ue as bodyPredicate, je as buildDepsFromRequires, m as clearSelectionAction, D as clipboardCopyAction, O as clipboardCutAction, k as clipboardPasteAction, A as clipboardPasteEventAction, h as cloneAction, I as computeSliceOps, t as cornerPoint, ue as createBoneOverlay, Me as createDepRegistry, Ne as createDispatcher, de as createRigEditState, me as createWeightOverlay, c as defaultCommitAdapter, z as defineTool, Pe as deleteScratch, se as dragPanContribution, x as editAnchorsAction, i as editingLayer, j as enterTextEditAction, Fe as evaluateActive, Ie as evaluateEnabled, Le as getScratch, Re as heldKeySpec, We as hitPredicate, a as inPlane, p as insertAction, o as insertLayer, r as keySpecShortcut, C as lassoSelectAction, T as makePinchZoomAction, y as makeViewportWheelPanAction, _ as makeViewportZoomAction, l as moveAction, Y as onEmptyCanvas, H as pickTopMostHit, E as pinchZoomAction, le as placedRig, u as resizeAction, ze as resolveParams, d as rotateAction, Be as scratchKey, S as selectFromLasso, s as selectionLayer, X as selectionMoveBindings, Z as selectionMoveContribution, Q as selectionResizeBindings, $ as selectionResizeContribution, ee as selectionRotateBindings, te as selectionRotateContribution, ne as selectionTransformBindings, re as selectionTransformContribution, Ve as setScratch, w as sliceAction, He as specificity, Ze as useAction, Qe as useActionsRegistry, $e as useActiveToolContext, fe as useBoneTool, et as useDepRegistry, tt as useDepSource, ve as useEllipseTool, be as useEyedropperTool, nt as useGestureDispatcher, ae as useHandTool, ye as useImageTool, V as useKeybindings, Se as useLassoTool, De as useLatest, xe as useLineTool, rt as useOngoingAction, it as useOptionalActiveToolContext, at as useOptionalDepRegistry, ge as usePenTool, Te as usePencilTool, Ce as usePolygonTool, F as usePoseDescriptorDepSource, _e as useRectTool, P as useResizePolicy, ie as useSelectTool, L as useSliceDep, R as useSliceDepSource, Ee as useSliceTool, N as useStandardActions, we as useStarTool, ce as useTextTool, B as useTools, he as useWeightTool, ot as useYoke, g as viewportDragPanAction, b as viewportWheelPanAction, v as viewportZoomAction, pe as weighedPaths };
@@ -0,0 +1,37 @@
1
+ import { IDENTITY_POSE_COMPOSITION as e, composeWorldPose as t, composesFrames as n, rebaseLocalPose as r } from "../core/scene/composeFrame.js";
2
+ import { RECT_POSE_COMPOSITION as i, RIGID_POSE_COMPOSITION as a, composeRectPose as o, composeRigidPose as s, decomposeRectPose as c, decomposeRigidPose as l, translateRectPose as u, worldPoseLookup as d } from "../core/scene/composePose.js";
3
+ import { definesFrame as f, derivedDepOf as p, derivedPose as m, documentPose as h, effectivePose as g } from "../core/scene/effectivePose.js";
4
+ import { axisAlignedBounds as _, unionAABB as v, unionBounds as y } from "../core/geometry/unionBounds.js";
5
+ import { asNodeId as b } from "../core/scene/types.js";
6
+ import { SceneArrivalRefused as x } from "../core/scene/arrivals.js";
7
+ import { opFactoryRegistry as S, rebuildOp as C, registerOpFactory as w, registeredOpNames as T } from "../core/ops/registry.js";
8
+ import { createReparentOp as E } from "../core/ops/reparent.js";
9
+ import { createTransformOp as D } from "../core/ops/transform.js";
10
+ import { createSetDataOp as O } from "../core/ops/setData.js";
11
+ import { createSetLayerOp as k } from "../core/ops/setLayer.js";
12
+ import { createDeleteOp as A } from "../core/ops/delete.js";
13
+ import { createInsertOp as j } from "../core/ops/create.js";
14
+ import { applyOpsTo as M, dispatchApplyBatch as N } from "../core/applyOps.js";
15
+ import { createSetSelectionOp as P } from "../core/ops/select.js";
16
+ import { UNION_OF_CHILDREN as F, unionOfChildren as I } from "../core/scene/kitRegistry.js";
17
+ import { canBringForward as L, canSendBackward as R } from "../core/ops/reorder/algorithms.js";
18
+ import { createSetChildOrderOp as z } from "../core/ops/reorder/setChildOrder.js";
19
+ import { createMoveToIndexOp as B, createReorderOp as V } from "../core/ops/reorder/index.js";
20
+ import { createPoseOverrides as H } from "../core/scene/poseOverrides.js";
21
+ import { createArrangeOp as U } from "../core/ops/arrange.js";
22
+ import { createHistory as W } from "../core/ops/createHistory.js";
23
+ import { SCENE_HISTORY_FORM as G } from "../core/scene/historyForm.js";
24
+ import { sceneSelectionStore as K } from "../core/scene/sceneSelection.js";
25
+ import { createScene as q, sceneFromJSON as J } from "../core/scene/scene.js";
26
+ import { createSetTextOp as Y } from "../core/ops/setText.js";
27
+ import { createSetLayoutOp as X } from "../core/ops/setLayout.js";
28
+ import { createSetPathOp as Z } from "../core/ops/setPath.js";
29
+ import { nestedHitTester as Q } from "../core/scene/nestedHit.js";
30
+ import { unionOfChildrenVia as $ } from "../core/scene/unionOfChildren.js";
31
+ import { useScene as ee } from "../core/scene/useScene.js";
32
+ import { reconcileSpecs as te } from "../core/scene/reconcileSpecs.js";
33
+ import { sceneUnitScopes as ne } from "../core/scene/unitScopes.js";
34
+ import { createPoseFeed as re } from "../core/scene/poseFeed.js";
35
+ import { MIXED as ie } from "@weasel-js/registry";
36
+ import { swapOp as ae } from "@weasel-js/history";
37
+ export { e as IDENTITY_POSE_COMPOSITION, ie as MIXED, i as RECT_POSE_COMPOSITION, a as RIGID_POSE_COMPOSITION, G as SCENE_HISTORY_FORM, x as SceneArrivalRefused, F as UNION_OF_CHILDREN, M as applyOpsTo, b as asNodeId, _ as axisAlignedBounds, L as canBringForward, R as canSendBackward, o as composeRectPose, s as composeRigidPose, t as composeWorldPose, n as composesFrames, U as createArrangeOp, A as createDeleteOp, W as createHistory, j as createInsertOp, B as createMoveToIndexOp, re as createPoseFeed, H as createPoseOverrides, V as createReorderOp, E as createReparentOp, q as createScene, z as createSetChildOrderOp, O as createSetDataOp, k as createSetLayerOp, X as createSetLayoutOp, Z as createSetPathOp, P as createSetSelectionOp, Y as createSetTextOp, D as createTransformOp, c as decomposeRectPose, l as decomposeRigidPose, f as definesFrame, p as derivedDepOf, m as derivedPose, N as dispatchApplyBatch, h as documentPose, g as effectivePose, Q as nestedHitTester, S as opFactoryRegistry, r as rebaseLocalPose, C as rebuildOp, te as reconcileSpecs, w as registerOpFactory, T as registeredOpNames, J as sceneFromJSON, K as sceneSelectionStore, ne as sceneUnitScopes, ae as swapOp, u as translateRectPose, v as unionAABB, y as unionBounds, I as unionOfChildren, $ as unionOfChildrenVia, ee as useScene, d as worldPoseLookup };
@@ -0,0 +1,9 @@
1
+ import { strokeRegion as e } from "../interactions/actions/outlines/strokeRegion.js";
2
+ import { applyCreateOutlines as t } from "../interactions/actions/outlines/createOutlines.js";
3
+ import { applyOutlineStroke as n } from "../interactions/actions/outlines/outlineStroke.js";
4
+ import { createTextLayer as r } from "../features/text/textLayer.js";
5
+ import { useSceneTextEdit as i } from "../features/text/useSceneTextEdit.js";
6
+ import { TEXT_EDIT_FONT_HOLD as a, TextOutlinesError as o, charOffsetToDomPosition as s, domPositionToCharOffset as c, domToRuns as l, loadTextOutlines as u, runsToDom as d, textCommand as f, textCommandFromPose as p, textCommandFromRuns as m, textToPath as h, textToPathsByPaint as g, useTextEdit as _ } from "../features/text/index.js";
7
+ import { useCreateOutlinesAdapter as v } from "../interactions/actions/outlines/useCreateOutlinesAdapter.js";
8
+ import { DEFAULT_DECORATION_METRICS as y, DEFAULT_TEXT_STYLE as b, MARKDOWN_RUN_GRAMMAR as x, SCRIPT_METRICS as S, SMALL_CAPS_SCALE as C, applyStyleToRange as w, cachedLayoutRuns as T, cachedPaintRuns as E, caretIndexAt as D, createMarkdownRenderer as O, decorationMetrics as k, defaultLabelTextRenderer as A, effectiveRangeStyle as j, fitTextPose as M, fontString as N, isBoldWeight as P, isSmallCapsLetter as F, isTextData as I, layoutMarkdown as L, layoutRuns as R, layoutTextPose as z, markdownToRuns as B, measureText as V, measureTextBounds as H, measuredWidth as U, nodeHasFlag as W, numericWeight as G, paintRuns as K, paragraphDirection as q, patchRangeStyle as J, pointInTextPose as Y, rangeWeight as X, registerBidi as Z, renderLabel as Q, resolveAlign as $, resolveRunFace as ee, resolveRuns as te, resolveTextStyle as ne, runsToMarkdown as re, runsToPlainText as ie, scriptMetrics as ae, scriptMetricsFor as oe, setFlagOverRange as se, smallCapsScale as ce, smallCapsScaleFor as le, smallCapsText as ue, styleAtRange as de, textLineBoxes as fe, textPoseLayoutInput as pe, toRuns as me, transformRunTexts as he, unboldPatch as ge, verticalAlignOffset as _e } from "@weasel-js/text";
9
+ export { y as DEFAULT_DECORATION_METRICS, b as DEFAULT_TEXT_STYLE, x as MARKDOWN_RUN_GRAMMAR, S as SCRIPT_METRICS, C as SMALL_CAPS_SCALE, a as TEXT_EDIT_FONT_HOLD, o as TextOutlinesError, t as applyCreateOutlines, n as applyOutlineStroke, w as applyStyleToRange, T as cachedLayoutRuns, E as cachedPaintRuns, D as caretIndexAt, s as charOffsetToDomPosition, O as createMarkdownRenderer, r as createTextLayer, k as decorationMetrics, A as defaultLabelTextRenderer, c as domPositionToCharOffset, l as domToRuns, j as effectiveRangeStyle, M as fitTextPose, N as fontString, P as isBoldWeight, F as isSmallCapsLetter, I as isTextData, L as layoutMarkdown, R as layoutRuns, z as layoutTextPose, u as loadTextOutlines, B as markdownToRuns, V as measureText, H as measureTextBounds, U as measuredWidth, W as nodeHasFlag, G as numericWeight, K as paintRuns, q as paragraphDirection, J as patchRangeStyle, Y as pointInTextPose, X as rangeWeight, Z as registerBidi, Q as renderLabel, $ as resolveAlign, ee as resolveRunFace, te as resolveRuns, ne as resolveTextStyle, d as runsToDom, re as runsToMarkdown, ie as runsToPlainText, ae as scriptMetrics, oe as scriptMetricsFor, se as setFlagOverRange, ce as smallCapsScale, le as smallCapsScaleFor, ue as smallCapsText, e as strokeRegion, de as styleAtRange, f as textCommand, p as textCommandFromPose, m as textCommandFromRuns, fe as textLineBoxes, pe as textPoseLayoutInput, h as textToPath, g as textToPathsByPaint, me as toRuns, he as transformRunTexts, ge as unboldPatch, v as useCreateOutlinesAdapter, i as useSceneTextEdit, _ as useTextEdit, _e as verticalAlignOffset };
@@ -0,0 +1,42 @@
1
+ import { VERSION as e } from "../version.js";
2
+ import { DEFAULT_MAX_ZOOM as t, DEFAULT_MIN_ZOOM as n, ZOOM_FLOOR as r, normalizeZoom as i } from "../core/viewport/zoomBounds.js";
3
+ import { normalizeView as a, viewToTransform as o, viewZoom as s } from "../core/viewport/view.js";
4
+ import { createViewportLayer as c } from "../features/viewports/viewportLayer.js";
5
+ import { createViewResolver as l } from "../features/viewports/viewResolver.js";
6
+ import { deriveParallaxView as u, fromPlane as d, planeMap as f, planeMatrix as p, planeToPlane as m, rectFromPlane as h, rectToPlane as g, toPlane as _ } from "../core/viewport/parallax.js";
7
+ import { usePoseRun as v } from "../features/poseRun/usePoseRun.js";
8
+ import { watchDevicePixelRatio as y } from "../core/device/watchDevicePixelRatio.js";
9
+ import { DeviceProfileProvider as b, useDeviceProfile as x } from "../core/device/useDeviceProfile.js";
10
+ import { useCanvasSize as S } from "../core/viewport/useCanvasSize.js";
11
+ import { isPlainObject as C } from "../core/isPlainObject.js";
12
+ import { useNodeOverlayFrame as w } from "../core/viewport/useNodeOverlayFrame.js";
13
+ import { screenToWorld as T, worldToScreen as E } from "../core/viewport/viewTransform.js";
14
+ import { stableStringify as D } from "../core/stableStringify.js";
15
+ import { useHandleDrag as O } from "../interactions/gestures/handleDrag/handleDrag.js";
16
+ import { useDragHandle as k, useDropZone as A } from "../interactions/gestures/pointerDrag/pointerDrag.js";
17
+ import { startThresholdDrag as j } from "../interactions/gestures/thresholdDrag/thresholdDrag.js";
18
+ import { ANCHOR_HIT_BASE_PX as M, HANDLE_BASE_PX as N, ROTATION_HANDLE_BASE_PX as P } from "../core/device/targets.js";
19
+ import { COARSE_TARGET_SCALE as F, DEFAULT_DEVICE_PROFILE as I, resolveDeviceProfile as L } from "../core/device/index.js";
20
+ import { fitToBounds as R, fitZoom as z } from "../core/viewport/fitToBounds.js";
21
+ import { fitViewToBounds as B } from "../core/viewport/fitViewToBounds.js";
22
+ import { zoomAt as V } from "../core/viewport/zoomAt.js";
23
+ import { clampView as H } from "../core/viewport/clampView.js";
24
+ import { sceneNodeClientRect as U } from "../core/viewport/sceneNodeClientRect.js";
25
+ import { computeFitViewport as W, useAutoCenter as G } from "../core/viewport/useAutoCenter.js";
26
+ import { WHEEL_ZOOM_STEP as K, computeWheelAction as q, wheelPan as J, wheelZoom as Y, wheelZoomFactor as X } from "../core/viewport/wheelHandler.js";
27
+ import { createVelocityTracker as Z } from "../core/viewport/createVelocityTracker.js";
28
+ import { useVelocityTracker as Q } from "../core/viewport/useVelocityTracker.js";
29
+ import { useDecayLoop as $ } from "../core/viewport/useDecayLoop.js";
30
+ import { interpolateView as ee } from "../core/viewport/interpolateView.js";
31
+ import { VIEW_ANIMATION_KEY as te, useViewAnimation as ne, useViewAnimationOn as re, viewAxes as ie } from "../core/viewport/useViewAnimation.js";
32
+ import { CanvasView as ae } from "../canvas/CanvasView.js";
33
+ import { SceneViewCanvas as oe } from "../canvas/SceneViewCanvas.js";
34
+ import { DrawCanvas as se } from "../canvas/DrawCanvas.js";
35
+ import { FALLBACK_ACCENT as ce, accentColorOf as le } from "../canvas/accentColor.js";
36
+ import { gateLayer as ue } from "../core/layers/gateLayer.js";
37
+ import { meanScale as de, pxExtent as fe, scaleDelta as pe, screenAngleOf as me, standoff as he, withinPxBox as ge, withinPxRadius as _e } from "@weasel-js/geom";
38
+ import { DEFAULT_ALPHA_DECAY as ve, DEFAULT_ALPHA_MIN as ye, DEFAULT_VELOCITY_DECAY as be, createSimulation as xe } from "@weasel-js/simulation";
39
+ import { useSimulation as Se } from "@weasel-js/simulation/react";
40
+ import { useCanvasFocus as Ce, useFrameClock as we, useVisibleRaf as Te } from "@weasel-js/react";
41
+ import { clientToCanvas as Ee } from "@weasel-js/routing";
42
+ export { M as ANCHOR_HIT_BASE_PX, F as COARSE_TARGET_SCALE, ae as CanvasView, ve as DEFAULT_ALPHA_DECAY, ye as DEFAULT_ALPHA_MIN, I as DEFAULT_DEVICE_PROFILE, t as DEFAULT_MAX_ZOOM, n as DEFAULT_MIN_ZOOM, be as DEFAULT_VELOCITY_DECAY, b as DeviceProfileProvider, se as DrawCanvas, ce as FALLBACK_ACCENT, N as HANDLE_BASE_PX, P as ROTATION_HANDLE_BASE_PX, oe as SceneViewCanvas, e as VERSION, te as VIEW_ANIMATION_KEY, K as WHEEL_ZOOM_STEP, r as ZOOM_FLOOR, le as accentColorOf, H as clampView, Ee as clientToCanvas, W as computeFitViewport, q as computeWheelAction, xe as createSimulation, Z as createVelocityTracker, l as createViewResolver, c as createViewportLayer, u as deriveParallaxView, R as fitToBounds, B as fitViewToBounds, z as fitZoom, d as fromPlane, ue as gateLayer, ee as interpolateView, C as isPlainObject, de as meanScale, a as normalizeView, i as normalizeZoom, f as planeMap, p as planeMatrix, m as planeToPlane, fe as pxExtent, h as rectFromPlane, g as rectToPlane, L as resolveDeviceProfile, pe as scaleDelta, U as sceneNodeClientRect, me as screenAngleOf, T as screenToWorld, D as stableStringify, he as standoff, j as startThresholdDrag, _ as toPlane, G as useAutoCenter, Ce as useCanvasFocus, S as useCanvasSize, $ as useDecayLoop, x as useDeviceProfile, k as useDragHandle, A as useDropZone, we as useFrameClock, O as useHandleDrag, w as useNodeOverlayFrame, v as usePoseRun, Se as useSimulation, Q as useVelocityTracker, ne as useViewAnimation, re as useViewAnimationOn, Te as useVisibleRaf, ie as viewAxes, o as viewToTransform, s as viewZoom, y as watchDevicePixelRatio, J as wheelPan, Y as wheelZoom, X as wheelZoomFactor, ge as withinPxBox, _e as withinPxRadius, E as worldToScreen, V as zoomAt };