@weasel-js/core 1.9.4 → 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 (1092) hide show
  1. package/CHANGELOG.md +750 -0
  2. package/README.md +5 -3
  3. package/dist/WeaselProvider.js +5 -7
  4. package/dist/WeaselProvider.js.map +1 -1
  5. package/dist/affordances/composeAffordanceLayer.js +91 -83
  6. package/dist/affordances/composeAffordanceLayer.js.map +1 -1
  7. package/dist/affordances/cornerResize.js +3 -2
  8. package/dist/affordances/cornerResize.js.map +1 -1
  9. package/dist/affordances/hitAffordanceRegions.js +54 -100
  10. package/dist/affordances/hitAffordanceRegions.js.map +1 -1
  11. package/dist/affordances/pathAnchors.js.map +1 -1
  12. package/dist/affordances/rotationHandle.js +5 -4
  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 +48 -136
  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 +8 -7
  44. package/dist/animation/wrappers/animateLifecycle.js.map +1 -1
  45. package/dist/animation/wrappers/animateOnSetPose.js +31 -31
  46. package/dist/animation/wrappers/animateOnSetPose.js.map +1 -1
  47. package/dist/animation/wrappers/instantPose.js.map +1 -1
  48. package/dist/animation/writtenPoseTarget.js +33 -0
  49. package/dist/animation/writtenPoseTarget.js.map +1 -0
  50. package/dist/autoPoseDescriptor-DHg5KqaJ.d.ts +27 -0
  51. package/dist/barrel/canvas.js +31 -0
  52. package/dist/barrel/chrome.js +10 -10
  53. package/dist/barrel/input.js +16 -17
  54. package/dist/barrel/interactions.js +35 -39
  55. package/dist/barrel/paint.js +11 -18
  56. package/dist/barrel/paths.js +12 -19
  57. package/dist/barrel/renderer.js +14 -20
  58. package/dist/barrel/routing.js +42 -36
  59. package/dist/barrel/scene.js +37 -0
  60. package/dist/barrel/text.js +9 -18
  61. package/dist/barrel/viewport.js +41 -51
  62. package/dist/canvas/Canvas.js +281 -475
  63. package/dist/canvas/Canvas.js.map +1 -1
  64. package/dist/canvas/CanvasView.js +169 -188
  65. package/dist/canvas/CanvasView.js.map +1 -1
  66. package/dist/canvas/CursorCoordsHud.js +22 -23
  67. package/dist/canvas/CursorCoordsHud.js.map +1 -1
  68. package/dist/canvas/DrawCanvas.js +39 -56
  69. package/dist/canvas/DrawCanvas.js.map +1 -1
  70. package/dist/canvas/ModalityHud.js.map +1 -1
  71. package/dist/canvas/NodeShape.js +28 -29
  72. package/dist/canvas/NodeShape.js.map +1 -1
  73. package/dist/canvas/PickHud.js.map +1 -1
  74. package/dist/canvas/SceneCanvas/DevHuds.js +40 -0
  75. package/dist/canvas/SceneCanvas/DevHuds.js.map +1 -0
  76. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js +66 -107
  77. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js.map +1 -1
  78. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +27 -31
  79. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
  80. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js +51 -54
  81. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js.map +1 -1
  82. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js +3 -3
  83. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js.map +1 -1
  84. package/dist/canvas/SceneCanvas/coordTrace.js +37 -1
  85. package/dist/canvas/SceneCanvas/coordTrace.js.map +1 -1
  86. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +40 -29
  87. package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
  88. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +1 -1
  89. package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -1
  90. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js.map +1 -1
  91. package/dist/canvas/SceneCanvas/features.js +73 -43
  92. package/dist/canvas/SceneCanvas/features.js.map +1 -1
  93. package/dist/canvas/SceneCanvas/isDev.js.map +1 -1
  94. package/dist/canvas/SceneCanvas/poseGeometry.js +33 -37
  95. package/dist/canvas/SceneCanvas/poseGeometry.js.map +1 -1
  96. package/dist/canvas/SceneCanvas/props.js +15 -14
  97. package/dist/canvas/SceneCanvas/props.js.map +1 -1
  98. package/dist/canvas/SceneCanvas/toolRegistry.js +23 -0
  99. package/dist/canvas/SceneCanvas/toolRegistry.js.map +1 -0
  100. package/dist/canvas/SceneCanvas/useActionsPropResolver.js +6 -1
  101. package/dist/canvas/SceneCanvas/useActionsPropResolver.js.map +1 -1
  102. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -1
  103. package/dist/canvas/SceneCanvas/useBuiltinTools.js +21 -0
  104. package/dist/canvas/SceneCanvas/useBuiltinTools.js.map +1 -0
  105. package/dist/canvas/SceneCanvas/useCanvasCamera.js +38 -0
  106. package/dist/canvas/SceneCanvas/useCanvasCamera.js.map +1 -0
  107. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +20 -0
  108. package/dist/canvas/SceneCanvas/useCanvasDispatcher.js.map +1 -0
  109. package/dist/canvas/SceneCanvas/useCanvasSelection.js +16 -0
  110. package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -0
  111. package/dist/canvas/SceneCanvas/useCanvasTools.js +67 -0
  112. package/dist/canvas/SceneCanvas/useCanvasTools.js.map +1 -0
  113. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +29 -29
  114. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js.map +1 -1
  115. package/dist/canvas/SceneCanvas/useHeldModifiers.js +20 -0
  116. package/dist/canvas/SceneCanvas/useHeldModifiers.js.map +1 -0
  117. package/dist/canvas/SceneCanvas/useNodeAtPoint.js +26 -0
  118. package/dist/canvas/SceneCanvas/useNodeAtPoint.js.map +1 -0
  119. package/dist/canvas/SceneCanvas/useNodeKinds.js +26 -0
  120. package/dist/canvas/SceneCanvas/useNodeKinds.js.map +1 -0
  121. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +39 -37
  122. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js.map +1 -1
  123. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +47 -0
  124. package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js.map +1 -0
  125. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +66 -0
  126. package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js.map +1 -0
  127. package/dist/canvas/SceneCanvas/useSceneChrome.js +59 -0
  128. package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -0
  129. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +23 -0
  130. package/dist/canvas/SceneCanvas/useSceneRedrawSources.js.map +1 -0
  131. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +76 -80
  132. package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
  133. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +37 -0
  134. package/dist/canvas/SceneCanvas/useSceneSlotLayers.js.map +1 -0
  135. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +38 -0
  136. package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js.map +1 -0
  137. package/dist/canvas/SceneCanvas/useViewLayerGate.js +20 -0
  138. package/dist/canvas/SceneCanvas/useViewLayerGate.js.map +1 -0
  139. package/dist/canvas/SceneCanvas/useViewportActions.js +9 -1
  140. package/dist/canvas/SceneCanvas/useViewportActions.js.map +1 -1
  141. package/dist/canvas/SceneCanvas/worldPointAt.js +9 -0
  142. package/dist/canvas/SceneCanvas/worldPointAt.js.map +1 -0
  143. package/dist/canvas/SceneCanvas.js +303 -707
  144. package/dist/canvas/SceneCanvas.js.map +1 -1
  145. package/dist/canvas/SceneViewCanvas.js +41 -47
  146. package/dist/canvas/SceneViewCanvas.js.map +1 -1
  147. package/dist/canvas/adapterDerivedPath.js +26 -0
  148. package/dist/canvas/adapterDerivedPath.js.map +1 -0
  149. package/dist/canvas/affordanceAt.js +11 -1
  150. package/dist/canvas/affordanceAt.js.map +1 -1
  151. package/dist/canvas/buildSceneLayer.js +81 -61
  152. package/dist/canvas/buildSceneLayer.js.map +1 -1
  153. package/dist/canvas/buildSceneTree.js.map +1 -1
  154. package/dist/canvas/canvasRenderer.js +40 -44
  155. package/dist/canvas/canvasRenderer.js.map +1 -1
  156. package/dist/canvas/colorOverrides.js.map +1 -1
  157. package/dist/canvas/defaultDrawOne.js +12 -12
  158. package/dist/canvas/defaultDrawOne.js.map +1 -1
  159. package/dist/canvas/deps/areaSelect.js +4 -4
  160. package/dist/canvas/deps/areaSelect.js.map +1 -1
  161. package/dist/canvas/deps/debug.js.map +1 -1
  162. package/dist/canvas/deps/editAnchors.js +49 -68
  163. package/dist/canvas/deps/editAnchors.js.map +1 -1
  164. package/dist/canvas/deps/geometryProjection.js.map +1 -1
  165. package/dist/canvas/deps/hitTestArea.js +31 -26
  166. package/dist/canvas/deps/hitTestArea.js.map +1 -1
  167. package/dist/canvas/deps/insert.js +65 -54
  168. package/dist/canvas/deps/insert.js.map +1 -1
  169. package/dist/canvas/deps/lassoSelect.js +5 -5
  170. package/dist/canvas/deps/lassoSelect.js.map +1 -1
  171. package/dist/canvas/deps/poseDescriptor.js +1 -1
  172. package/dist/canvas/deps/poseDescriptor.js.map +1 -1
  173. package/dist/canvas/deps/resizePolicy.js.map +1 -1
  174. package/dist/canvas/deps/slice.js +44 -45
  175. package/dist/canvas/deps/slice.js.map +1 -1
  176. package/dist/canvas/deps/textEdit.js +8 -8
  177. package/dist/canvas/deps/textEdit.js.map +1 -1
  178. package/dist/canvas/deps/view.js.map +1 -1
  179. package/dist/canvas/derivedPath.js +43 -41
  180. package/dist/canvas/derivedPath.js.map +1 -1
  181. package/dist/canvas/drawEnvelope.js +8 -4
  182. package/dist/canvas/drawEnvelope.js.map +1 -1
  183. package/dist/canvas/getNodeAtPoint.js +2 -6
  184. package/dist/canvas/getNodeAtPoint.js.map +1 -1
  185. package/dist/canvas/hud.module.js.map +1 -1
  186. package/dist/canvas/insertPreviewExtent.js.map +1 -1
  187. package/dist/canvas/layerOrder.js.map +1 -1
  188. package/dist/canvas/layerSlots.js +6 -1
  189. package/dist/canvas/layerSlots.js.map +1 -1
  190. package/dist/canvas/nodeShapes/derivedPainter.js +12 -12
  191. package/dist/canvas/nodeShapes/derivedPainter.js.map +1 -1
  192. package/dist/canvas/nodeShapes/imagePainter.js +10 -10
  193. package/dist/canvas/nodeShapes/imagePainter.js.map +1 -1
  194. package/dist/canvas/nodeShapes/memo.js.map +1 -1
  195. package/dist/canvas/nodeShapes/nodePaint.js +34 -23
  196. package/dist/canvas/nodeShapes/nodePaint.js.map +1 -1
  197. package/dist/canvas/nodeShapes/pathPainter.js +23 -22
  198. package/dist/canvas/nodeShapes/pathPainter.js.map +1 -1
  199. package/dist/canvas/nodeShapes/poseBox.js +6 -6
  200. package/dist/canvas/nodeShapes/poseBox.js.map +1 -1
  201. package/dist/canvas/nodeShapes/rectFallbackPainter.js +8 -8
  202. package/dist/canvas/nodeShapes/rectFallbackPainter.js.map +1 -1
  203. package/dist/canvas/nodeShapes/shapePainter.js +16 -16
  204. package/dist/canvas/nodeShapes/shapePainter.js.map +1 -1
  205. package/dist/canvas/nodeShapes/textPainter.js +1 -1
  206. package/dist/canvas/nodeShapes/textPainter.js.map +1 -1
  207. package/dist/canvas/overlayRoleStrokes.js.map +1 -1
  208. package/dist/canvas/paintCull.js +6 -8
  209. package/dist/canvas/paintCull.js.map +1 -1
  210. package/dist/{features/cursor → canvas}/paintedCursorLayer.js +2 -2
  211. package/dist/canvas/paintedCursorLayer.js.map +1 -0
  212. package/dist/canvas/pickWalk.js +52 -50
  213. package/dist/canvas/pickWalk.js.map +1 -1
  214. package/dist/canvas/planeClips.js +18 -19
  215. package/dist/canvas/planeClips.js.map +1 -1
  216. package/dist/canvas/poseCascade.js +41 -0
  217. package/dist/canvas/poseCascade.js.map +1 -0
  218. package/dist/canvas/poseRotation.js +1 -3
  219. package/dist/canvas/poseRotation.js.map +1 -1
  220. package/dist/canvas/rasterReadback.js +22 -0
  221. package/dist/canvas/rasterReadback.js.map +1 -0
  222. package/dist/canvas/renderDebugSnapshot.js +12 -12
  223. package/dist/canvas/renderDebugSnapshot.js.map +1 -1
  224. package/dist/canvas/renderNeeds.js +3 -3
  225. package/dist/canvas/renderNeeds.js.map +1 -1
  226. package/dist/canvas/renderSceneToPixels.js +64 -83
  227. package/dist/canvas/renderSceneToPixels.js.map +1 -1
  228. package/dist/canvas/sceneAdapter.js +68 -132
  229. package/dist/canvas/sceneAdapter.js.map +1 -1
  230. package/dist/canvas/sceneClipboard.js +1 -1
  231. package/dist/canvas/sceneClipboard.js.map +1 -1
  232. package/dist/canvas/sceneLayerPaint.js +4 -4
  233. package/dist/canvas/sceneLayerPaint.js.map +1 -1
  234. package/dist/canvas/sceneSlotWiring.js +4 -4
  235. package/dist/canvas/sceneSlotWiring.js.map +1 -1
  236. package/dist/canvas/sceneViewRender.js +36 -35
  237. package/dist/canvas/sceneViewRender.js.map +1 -1
  238. package/dist/canvas/slopsDebugLayer.js +4 -4
  239. package/dist/canvas/slopsDebugLayer.js.map +1 -1
  240. package/dist/canvas/surface.module.js +6 -0
  241. package/dist/canvas/surface.module.js.map +1 -0
  242. package/dist/canvas/surfaceBox.js +16 -0
  243. package/dist/canvas/surfaceBox.js.map +1 -0
  244. package/dist/canvas/useCanvasRenderer.js +23 -11
  245. package/dist/canvas/useCanvasRenderer.js.map +1 -1
  246. package/dist/canvas/useCanvasSurface.js +31 -0
  247. package/dist/canvas/useCanvasSurface.js.map +1 -0
  248. package/dist/canvas/useCanvasView.js +46 -37
  249. package/dist/canvas/useCanvasView.js.map +1 -1
  250. package/dist/canvas/useFrameLoop.js +11 -12
  251. package/dist/canvas/useFrameLoop.js.map +1 -1
  252. package/dist/canvas/useHostAnchor.js +35 -33
  253. package/dist/canvas/useHostAnchor.js.map +1 -1
  254. package/dist/canvas/useLateContentRedraw.js +8 -8
  255. package/dist/canvas/useLateContentRedraw.js.map +1 -1
  256. package/dist/canvas/useSceneLayerList.js +4 -14
  257. package/dist/canvas/useSceneLayerList.js.map +1 -1
  258. package/dist/canvas/useSurfaceInput.js +42 -0
  259. package/dist/canvas/useSurfaceInput.js.map +1 -0
  260. package/dist/canvas/useToolCursor.js +29 -0
  261. package/dist/canvas/useToolCursor.js.map +1 -0
  262. package/dist/canvas/useViewHelpers.js +46 -85
  263. package/dist/canvas/useViewHelpers.js.map +1 -1
  264. package/dist/canvas/viewInputs.js.map +1 -1
  265. package/dist/canvas/viewRegistry.js +25 -27
  266. package/dist/canvas/viewRegistry.js.map +1 -1
  267. package/dist/canvas/watchElementMove.js +43 -0
  268. package/dist/canvas/watchElementMove.js.map +1 -0
  269. package/dist/canvas/wrapNodeOutput.js.map +1 -1
  270. package/dist/clipboard.d.ts +7 -14
  271. package/dist/{types-B4iJRHC3.d.ts → clone-2a5hVbBd.d.ts} +122 -77
  272. package/dist/clone.d.ts +4 -8
  273. package/dist/clone.js +0 -2
  274. package/dist/core/device/targets.js.map +1 -1
  275. package/dist/core/device/useDeviceProfile.js +13 -13
  276. package/dist/core/device/useDeviceProfile.js.map +1 -1
  277. package/dist/{interactions/actions/resize → core/geometry}/autoPoseDescriptor.js +8 -7
  278. package/dist/core/geometry/autoPoseDescriptor.js.map +1 -0
  279. package/dist/core/geometry/pathPoseDescriptor.js +88 -0
  280. package/dist/core/geometry/pathPoseDescriptor.js.map +1 -0
  281. package/dist/core/geometry/poseDescriptor.js +61 -14
  282. package/dist/core/geometry/poseDescriptor.js.map +1 -1
  283. package/dist/core/geometry/regionHit.js +35 -37
  284. package/dist/core/geometry/regionHit.js.map +1 -1
  285. package/dist/core/geometry/targetFrame.js +94 -0
  286. package/dist/core/geometry/targetFrame.js.map +1 -0
  287. package/dist/core/geometry/unionBounds.js +4 -5
  288. package/dist/core/geometry/unionBounds.js.map +1 -1
  289. package/dist/core/layers/backgroundFill.js +31 -0
  290. package/dist/core/layers/backgroundFill.js.map +1 -0
  291. package/dist/{features/groups → core/layers}/children.js +1 -1
  292. package/dist/core/layers/children.js.map +1 -0
  293. package/dist/{features/focus → core/layers}/gateLayer.js +2 -2
  294. package/dist/core/layers/gateLayer.js.map +1 -0
  295. package/dist/core/layers/layerGroup.js +40 -0
  296. package/dist/core/layers/layerGroup.js.map +1 -0
  297. package/dist/core/layers/render.js +50 -76
  298. package/dist/core/layers/render.js.map +1 -1
  299. package/dist/core/ops/createHistory.js +9 -9
  300. package/dist/core/ops/createHistory.js.map +1 -1
  301. package/dist/core/ops/delete.js.map +1 -1
  302. package/dist/core/paint/meshKind.js +16 -0
  303. package/dist/core/paint/meshKind.js.map +1 -0
  304. package/dist/{features/meshPaint/lazyKind.js → core/paint/meshKindLazy.js} +103 -92
  305. package/dist/core/paint/meshKindLazy.js.map +1 -0
  306. package/dist/core/paint/paintKindEntry.js +8 -0
  307. package/dist/core/paint/paintKindEntry.js.map +1 -0
  308. package/dist/core/paint/paintKinds.js +144 -0
  309. package/dist/core/paint/paintKinds.js.map +1 -0
  310. package/dist/core/paint/registerMesh.js +7 -0
  311. package/dist/core/paint/registerMesh.js.map +1 -0
  312. package/dist/core/scene/NodeProperties.js.map +1 -1
  313. package/dist/core/scene/NodeRouting.js.map +1 -1
  314. package/dist/core/scene/arrivalWindow.js +65 -64
  315. package/dist/core/scene/arrivalWindow.js.map +1 -1
  316. package/dist/core/scene/boundOps.js +40 -0
  317. package/dist/core/scene/boundOps.js.map +1 -0
  318. package/dist/core/scene/composeFrame.js +9 -6
  319. package/dist/core/scene/composeFrame.js.map +1 -1
  320. package/dist/{features/groups → core/scene}/composePose.js +18 -18
  321. package/dist/core/scene/composePose.js.map +1 -0
  322. package/dist/core/scene/depMemo.js +31 -6
  323. package/dist/core/scene/depMemo.js.map +1 -1
  324. package/dist/core/scene/derivedPath.js +19 -20
  325. package/dist/core/scene/derivedPath.js.map +1 -1
  326. package/dist/core/scene/editMode.js +26 -0
  327. package/dist/core/scene/editMode.js.map +1 -0
  328. package/dist/core/scene/effectivePose.js +38 -39
  329. package/dist/core/scene/effectivePose.js.map +1 -1
  330. package/dist/core/scene/fieldEdits.js +98 -0
  331. package/dist/core/scene/fieldEdits.js.map +1 -0
  332. package/dist/core/scene/historyFacade.js +116 -70
  333. package/dist/core/scene/historyFacade.js.map +1 -1
  334. package/dist/core/scene/historyForm.js +6 -0
  335. package/dist/core/scene/historyForm.js.map +1 -0
  336. package/dist/core/scene/kitOps.js +83 -71
  337. package/dist/core/scene/kitOps.js.map +1 -1
  338. package/dist/core/scene/kitRegistry.js.map +1 -1
  339. package/dist/core/scene/layerStack.js +105 -12
  340. package/dist/core/scene/layerStack.js.map +1 -1
  341. package/dist/core/scene/layoutPass.js +58 -59
  342. package/dist/core/scene/layoutPass.js.map +1 -1
  343. package/dist/{features/groups → core/scene}/nestedHit.js +3 -3
  344. package/dist/core/scene/nestedHit.js.map +1 -0
  345. package/dist/core/scene/nodeFnFields.js +9 -9
  346. package/dist/core/scene/nodeFnFields.js.map +1 -1
  347. package/dist/core/scene/nodeMemo.js.map +1 -1
  348. package/dist/core/scene/nodeStore.js +72 -71
  349. package/dist/core/scene/nodeStore.js.map +1 -1
  350. package/dist/core/scene/notifier.js +37 -0
  351. package/dist/core/scene/notifier.js.map +1 -0
  352. package/dist/core/scene/opTable.js +50 -0
  353. package/dist/core/scene/opTable.js.map +1 -0
  354. package/dist/core/scene/outerOps.js +66 -0
  355. package/dist/core/scene/outerOps.js.map +1 -0
  356. package/dist/core/scene/poseHold.js +39 -0
  357. package/dist/core/scene/poseHold.js.map +1 -0
  358. package/dist/core/scene/poseOverrides.js +44 -36
  359. package/dist/core/scene/poseOverrides.js.map +1 -1
  360. package/dist/core/scene/poseSnapshot.js.map +1 -1
  361. package/dist/core/scene/reconcileSpecs.js +3 -2
  362. package/dist/core/scene/reconcileSpecs.js.map +1 -1
  363. package/dist/core/scene/recorder.js +86 -0
  364. package/dist/core/scene/recorder.js.map +1 -0
  365. package/dist/core/scene/renderOrder.js.map +1 -1
  366. package/dist/core/scene/scene.js +81 -690
  367. package/dist/core/scene/scene.js.map +1 -1
  368. package/dist/core/scene/sceneEdits.js +58 -0
  369. package/dist/core/scene/sceneEdits.js.map +1 -0
  370. package/dist/core/scene/sceneMutators.js +49 -0
  371. package/dist/core/scene/sceneMutators.js.map +1 -0
  372. package/dist/core/scene/scenePoseAdapter.js +16 -0
  373. package/dist/core/scene/scenePoseAdapter.js.map +1 -0
  374. package/dist/core/scene/sceneRecording.js +90 -0
  375. package/dist/core/scene/sceneRecording.js.map +1 -0
  376. package/dist/core/scene/sceneSelection.js +28 -0
  377. package/dist/core/scene/sceneSelection.js.map +1 -0
  378. package/dist/core/scene/sceneState.js +49 -0
  379. package/dist/core/scene/sceneState.js.map +1 -0
  380. package/dist/core/scene/serialization.js +8 -5
  381. package/dist/core/scene/serialization.js.map +1 -1
  382. package/dist/core/scene/staleReplay.js +51 -0
  383. package/dist/core/scene/staleReplay.js.map +1 -0
  384. package/dist/core/scene/statedFields.js +9 -0
  385. package/dist/core/scene/statedFields.js.map +1 -0
  386. package/dist/core/scene/treeEdits.js +127 -0
  387. package/dist/core/scene/treeEdits.js.map +1 -0
  388. package/dist/core/scene/treeReads.js +26 -0
  389. package/dist/core/scene/treeReads.js.map +1 -0
  390. package/dist/core/scene/types.js.map +1 -1
  391. package/dist/{features/groups → core/scene}/unionOfChildren.js +3 -3
  392. package/dist/core/scene/unionOfChildren.js.map +1 -0
  393. package/dist/core/scene/unitScopes.js +13 -0
  394. package/dist/core/scene/unitScopes.js.map +1 -0
  395. package/dist/core/scene/useScene.js.map +1 -1
  396. package/dist/core/selection/readOnlySelection.js +32 -0
  397. package/dist/core/selection/readOnlySelection.js.map +1 -0
  398. package/dist/core/selection/usePublishSceneSelection.js +26 -0
  399. package/dist/core/selection/usePublishSceneSelection.js.map +1 -0
  400. package/dist/core/selection/useSelection.js +34 -25
  401. package/dist/core/selection/useSelection.js.map +1 -1
  402. package/dist/core/shapeKinds.js.map +1 -1
  403. package/dist/core/stylus/stylus.js.map +1 -1
  404. package/dist/core/stylus/usePointerStylus.js.map +1 -1
  405. package/dist/core/usePaintKinds.js +1 -1
  406. package/dist/core/usePaintKinds.js.map +1 -1
  407. package/dist/core/viewport/clientToWorld.js.map +1 -1
  408. package/dist/core/viewport/fitViewToBounds.js.map +1 -1
  409. package/dist/core/viewport/parallax.js.map +1 -1
  410. package/dist/core/viewport/screenSlop.js +11 -11
  411. package/dist/core/viewport/screenSlop.js.map +1 -1
  412. package/dist/core/viewport/useCanvasSize.js.map +1 -1
  413. package/dist/core/viewport/useDecayLoop.js +8 -8
  414. package/dist/core/viewport/useDecayLoop.js.map +1 -1
  415. package/dist/core/viewport/useNodeOverlayFrame.js +84 -0
  416. package/dist/core/viewport/useNodeOverlayFrame.js.map +1 -0
  417. package/dist/core/viewport/useViewAnimation.js +102 -43
  418. package/dist/core/viewport/useViewAnimation.js.map +1 -1
  419. package/dist/core/viewport/view.js +7 -7
  420. package/dist/core/viewport/view.js.map +1 -1
  421. package/dist/core/viewport/wheelHandler.js.map +1 -1
  422. package/dist/{cornerHandles-CtCb8a3G.d.ts → cornerHandles-BEshc4z3.d.ts} +11 -24
  423. package/dist/debug/createDebugOverlayLayer.js +100 -100
  424. package/dist/debug/createDebugOverlayLayer.js.map +1 -1
  425. package/dist/debug/createDebugSink.js.map +1 -1
  426. package/dist/debug/frameStats.js.map +1 -1
  427. package/dist/debug/useDebugSink.js +52 -0
  428. package/dist/debug/useDebugSink.js.map +1 -0
  429. package/dist/features/chrome-caps/buildChromeCtx.js.map +1 -1
  430. package/dist/features/chrome-caps/conditions.js.map +1 -1
  431. package/dist/features/chrome-caps/defaults.js.map +1 -1
  432. package/dist/features/chrome-caps/resolve.js.map +1 -1
  433. package/dist/features/chrome-caps/useChromeCaps.js +54 -0
  434. package/dist/features/chrome-caps/useChromeCaps.js.map +1 -0
  435. package/dist/features/chrome-caps/useHoverTracking.js.map +1 -1
  436. package/dist/features/ingestion/contentHandlers.js +25 -19
  437. package/dist/features/ingestion/contentHandlers.js.map +1 -1
  438. package/dist/features/ingestion/imageHandler.js +21 -24
  439. package/dist/features/ingestion/imageHandler.js.map +1 -1
  440. package/dist/features/ingestion/openFilePicker.js.map +1 -1
  441. package/dist/features/ingestion/placement.js +16 -0
  442. package/dist/features/ingestion/placement.js.map +1 -0
  443. package/dist/features/ingestion/svgHandler.js +5 -0
  444. package/dist/features/ingestion/svgHandler.js.map +1 -1
  445. package/dist/features/ingestion/textHandler.js +28 -0
  446. package/dist/features/ingestion/textHandler.js.map +1 -0
  447. package/dist/features/ingestion/useCanvasIngestion.js +48 -0
  448. package/dist/features/ingestion/useCanvasIngestion.js.map +1 -0
  449. package/dist/features/ingestion/weaselJsonHandler.js +5 -0
  450. package/dist/features/ingestion/weaselJsonHandler.js.map +1 -1
  451. package/dist/features/longPress/longPressFeedback.js.map +1 -1
  452. package/dist/features/modes/modeLayers.js +7 -7
  453. package/dist/features/modes/modeLayers.js.map +1 -1
  454. package/dist/features/paths/editablePath.js +47 -0
  455. package/dist/features/paths/editablePath.js.map +1 -0
  456. package/dist/features/paths/index.js +9 -16
  457. package/dist/features/paths/pathEditState.js +41 -0
  458. package/dist/features/paths/pathEditState.js.map +1 -0
  459. package/dist/features/paths/pathEditingOverlayLayer.js +36 -38
  460. package/dist/features/paths/pathEditingOverlayLayer.js.map +1 -1
  461. package/dist/features/paths/pathLayer.js +3 -2
  462. package/dist/features/paths/pathLayer.js.map +1 -1
  463. package/dist/features/paths/penPreviewLayer.js +86 -88
  464. package/dist/features/paths/penPreviewLayer.js.map +1 -1
  465. package/dist/features/paths/usePathEdit.js +34 -0
  466. package/dist/features/paths/usePathEdit.js.map +1 -0
  467. package/dist/features/poseRun/usePoseRun.js +42 -55
  468. package/dist/features/poseRun/usePoseRun.js.map +1 -1
  469. package/dist/features/selection/overlay.js +170 -178
  470. package/dist/features/selection/overlay.js.map +1 -1
  471. package/dist/features/text/index.js +6 -0
  472. package/dist/features/text/textLayer.js +1 -1
  473. package/dist/features/text/textLayer.js.map +1 -1
  474. package/dist/features/text/useSceneTextEdit.js +95 -82
  475. package/dist/features/text/useSceneTextEdit.js.map +1 -1
  476. package/dist/features/viewports/viewportLayer.js +25 -36
  477. package/dist/features/viewports/viewportLayer.js.map +1 -1
  478. package/dist/index.d.ts +4507 -8459
  479. package/dist/index.js +275 -320
  480. package/dist/input/keyState.js +14 -14
  481. package/dist/interactions/actions/actionShortcuts.js.map +1 -1
  482. package/dist/interactions/actions/{defaults/align.js → align/action.js} +15 -16
  483. package/dist/interactions/actions/align/action.js.map +1 -0
  484. package/dist/interactions/actions/align/align.js +23 -23
  485. package/dist/interactions/actions/align/align.js.map +1 -1
  486. package/dist/interactions/actions/booleans/action.js +65 -0
  487. package/dist/interactions/actions/booleans/action.js.map +1 -0
  488. package/dist/interactions/actions/booleans/booleans.js +69 -78
  489. package/dist/interactions/actions/booleans/booleans.js.map +1 -1
  490. package/dist/interactions/actions/booleans/operands.js +40 -0
  491. package/dist/interactions/actions/booleans/operands.js.map +1 -0
  492. package/dist/interactions/actions/booleans/pieces.js +45 -0
  493. package/dist/interactions/actions/booleans/pieces.js.map +1 -0
  494. package/dist/interactions/actions/booleans/placement.js +24 -0
  495. package/dist/interactions/actions/booleans/placement.js.map +1 -0
  496. package/dist/interactions/actions/booleans/useBooleans.js +11 -9
  497. package/dist/interactions/actions/booleans/useBooleans.js.map +1 -1
  498. package/dist/interactions/actions/booleans/useBooleansAdapter.js.map +1 -1
  499. package/dist/interactions/actions/{defaults/clipboard.js → clipboard/action.js} +19 -19
  500. package/dist/interactions/actions/clipboard/action.js.map +1 -0
  501. package/dist/interactions/actions/clipboard/clipboardOps.js +15 -15
  502. package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -1
  503. package/dist/interactions/actions/clipboard/wireFormat.js.map +1 -1
  504. package/dist/interactions/actions/clone/action.js +98 -0
  505. package/dist/interactions/actions/clone/action.js.map +1 -0
  506. package/dist/interactions/actions/clone/behaviors.js +52 -0
  507. package/dist/interactions/actions/clone/behaviors.js.map +1 -0
  508. package/dist/interactions/actions/defaultCommitAdapter.js +10 -37
  509. package/dist/interactions/actions/defaultCommitAdapter.js.map +1 -1
  510. package/dist/interactions/actions/defaults/anchorEditing.js +41 -43
  511. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
  512. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
  513. package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -1
  514. package/dist/interactions/actions/defaults/clearSelection.js.map +1 -1
  515. package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -1
  516. package/dist/interactions/actions/defaults/delete.js.map +1 -1
  517. package/dist/interactions/actions/defaults/duplicate.js +19 -19
  518. package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
  519. package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -1
  520. package/dist/interactions/actions/defaults/group.js +35 -40
  521. package/dist/interactions/actions/defaults/group.js.map +1 -1
  522. package/dist/interactions/actions/defaults/icons/booleanIcons.js +24 -1
  523. package/dist/interactions/actions/defaults/icons/booleanIcons.js.map +1 -1
  524. package/dist/interactions/actions/defaults/icons/outlineIcons.js +39 -1
  525. package/dist/interactions/actions/defaults/icons/outlineIcons.js.map +1 -1
  526. package/dist/interactions/actions/defaults/ingest.js +19 -15
  527. package/dist/interactions/actions/defaults/ingest.js.map +1 -1
  528. package/dist/interactions/actions/defaults/insertPathAnchor.js +14 -15
  529. package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
  530. package/dist/interactions/actions/defaults/nudge.js +30 -31
  531. package/dist/interactions/actions/defaults/nudge.js.map +1 -1
  532. package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -1
  533. package/dist/interactions/actions/defaults/requiresSelection.js.map +1 -1
  534. package/dist/interactions/actions/defaults/setFill.js +9 -3
  535. package/dist/interactions/actions/defaults/setFill.js.map +1 -1
  536. package/dist/interactions/actions/defaults/setFillOpacity.js +4 -1
  537. package/dist/interactions/actions/defaults/setFillOpacity.js.map +1 -1
  538. package/dist/interactions/actions/defaults/setStroke.js.map +1 -1
  539. package/dist/interactions/actions/defaults/sliceOps.js +20 -22
  540. package/dist/interactions/actions/defaults/sliceOps.js.map +1 -1
  541. package/dist/interactions/actions/defaults/toolActivate.js.map +1 -1
  542. package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -1
  543. package/dist/interactions/actions/defaults/viewportDragPan.js +1 -1
  544. package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -1
  545. package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -1
  546. package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -1
  547. package/dist/interactions/actions/{defaults/distribute.js → distribute/action.js} +18 -19
  548. package/dist/interactions/actions/distribute/action.js.map +1 -0
  549. package/dist/interactions/actions/distribute/distribute.js +11 -11
  550. package/dist/interactions/actions/distribute/distribute.js.map +1 -1
  551. package/dist/interactions/actions/{defaults/editAnchors.js → edit-anchors/action.js} +19 -21
  552. package/dist/interactions/actions/edit-anchors/action.js.map +1 -0
  553. package/dist/interactions/actions/edit-anchors/geometry.js +2 -4
  554. package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -1
  555. package/dist/interactions/actions/flip/action.js +124 -0
  556. package/dist/interactions/actions/flip/action.js.map +1 -0
  557. package/dist/interactions/actions/flip/helpers.js +1 -1
  558. package/dist/interactions/actions/flip/helpers.js.map +1 -1
  559. package/dist/interactions/actions/gestureFrames.js +18 -0
  560. package/dist/interactions/actions/gestureFrames.js.map +1 -0
  561. package/dist/interactions/actions/gestureLifecycle.js +47 -20
  562. package/dist/interactions/actions/gestureLifecycle.js.map +1 -1
  563. package/dist/interactions/actions/insert/action.js +72 -0
  564. package/dist/interactions/actions/insert/action.js.map +1 -0
  565. package/dist/interactions/actions/insert/commit.js +28 -0
  566. package/dist/interactions/actions/insert/commit.js.map +1 -0
  567. package/dist/interactions/actions/insert/extras.js +65 -0
  568. package/dist/interactions/actions/insert/extras.js.map +1 -0
  569. package/dist/interactions/actions/insert/frame.js +48 -0
  570. package/dist/interactions/actions/insert/frame.js.map +1 -0
  571. package/dist/interactions/actions/insert/geometry.js +35 -0
  572. package/dist/interactions/actions/insert/geometry.js.map +1 -0
  573. package/dist/interactions/actions/insert/rotateAction.js +21 -0
  574. package/dist/interactions/actions/insert/rotateAction.js.map +1 -0
  575. package/dist/interactions/actions/insert/session.js +59 -0
  576. package/dist/interactions/actions/insert/session.js.map +1 -0
  577. package/dist/interactions/actions/insert/shape.js +34 -0
  578. package/dist/interactions/actions/insert/shape.js.map +1 -0
  579. package/dist/interactions/actions/lasso-select/action.js +143 -0
  580. package/dist/interactions/actions/lasso-select/action.js.map +1 -0
  581. package/dist/interactions/actions/move/action.js +87 -0
  582. package/dist/interactions/actions/move/action.js.map +1 -0
  583. package/dist/interactions/actions/move/behaviors/layoutDrop.js +51 -0
  584. package/dist/interactions/actions/move/behaviors/layoutDrop.js.map +1 -0
  585. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +15 -0
  586. package/dist/interactions/actions/move/behaviors/reparentOnDrop.js.map +1 -0
  587. package/dist/interactions/actions/move/behaviors/snapToContainer.js +24 -23
  588. package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -1
  589. package/dist/interactions/actions/move/capture.js +99 -0
  590. package/dist/interactions/actions/move/capture.js.map +1 -0
  591. package/dist/interactions/actions/move/commit/index.js +41 -0
  592. package/dist/interactions/actions/move/commit/index.js.map +1 -0
  593. package/dist/interactions/actions/move/commit/layoutDrop.js +44 -0
  594. package/dist/interactions/actions/move/commit/layoutDrop.js.map +1 -0
  595. package/dist/interactions/actions/move/commit/layoutRelease.js +100 -0
  596. package/dist/interactions/actions/move/commit/layoutRelease.js.map +1 -0
  597. package/dist/interactions/actions/move/commit/rebase.js +18 -0
  598. package/dist/interactions/actions/move/commit/rebase.js.map +1 -0
  599. package/dist/interactions/actions/move/commit/reparent.js +65 -0
  600. package/dist/interactions/actions/move/commit/reparent.js.map +1 -0
  601. package/dist/interactions/actions/move/delta.js +51 -0
  602. package/dist/interactions/actions/move/delta.js.map +1 -0
  603. package/dist/interactions/actions/move/frame.js +59 -0
  604. package/dist/interactions/actions/move/frame.js.map +1 -0
  605. package/dist/interactions/actions/move/gestureAdapter.js +15 -40
  606. package/dist/interactions/actions/move/gestureAdapter.js.map +1 -1
  607. package/dist/interactions/actions/move/landedDescendants.js +8 -8
  608. package/dist/interactions/actions/move/layout/container.js +94 -0
  609. package/dist/interactions/actions/move/layout/container.js.map +1 -0
  610. package/dist/interactions/actions/move/layout/dragged.js +58 -0
  611. package/dist/interactions/actions/move/layout/dragged.js.map +1 -0
  612. package/dist/interactions/actions/move/layout/dropPass.js +122 -0
  613. package/dist/interactions/actions/move/layout/dropPass.js.map +1 -0
  614. package/dist/interactions/actions/move/layout/exits.js +38 -0
  615. package/dist/interactions/actions/move/layout/exits.js.map +1 -0
  616. package/dist/interactions/actions/move/layout/glide.js +48 -0
  617. package/dist/interactions/actions/move/layout/glide.js.map +1 -0
  618. package/dist/interactions/actions/move/session.js +63 -0
  619. package/dist/interactions/actions/move/session.js.map +1 -0
  620. package/dist/interactions/actions/move/translate.js +61 -0
  621. package/dist/interactions/actions/move/translate.js.map +1 -0
  622. package/dist/interactions/actions/outlines/createOutlines.js +17 -64
  623. package/dist/interactions/actions/outlines/createOutlines.js.map +1 -1
  624. package/dist/interactions/actions/outlines/createOutlinesAction.js +51 -0
  625. package/dist/interactions/actions/outlines/createOutlinesAction.js.map +1 -0
  626. package/dist/interactions/actions/outlines/outlineStroke.js +72 -0
  627. package/dist/interactions/actions/outlines/outlineStroke.js.map +1 -0
  628. package/dist/interactions/actions/outlines/outlineStrokeAction.js +37 -0
  629. package/dist/interactions/actions/outlines/outlineStrokeAction.js.map +1 -0
  630. package/dist/interactions/actions/outlines/replaceWithPaths.js +54 -0
  631. package/dist/interactions/actions/outlines/replaceWithPaths.js.map +1 -0
  632. package/dist/interactions/actions/outlines/strokeRegion.js +27 -0
  633. package/dist/interactions/actions/outlines/strokeRegion.js.map +1 -0
  634. package/dist/interactions/actions/planeInput.js.map +1 -1
  635. package/dist/interactions/actions/pointerState.js +12 -0
  636. package/dist/interactions/actions/pointerState.js.map +1 -0
  637. package/dist/interactions/actions/poseDescriptorDep.js +1 -1
  638. package/dist/interactions/actions/poseDescriptorDep.js.map +1 -1
  639. package/dist/interactions/actions/poseFrame.js +26 -26
  640. package/dist/interactions/actions/poseFrame.js.map +1 -1
  641. package/dist/interactions/actions/resize/action.js +55 -0
  642. package/dist/interactions/actions/resize/action.js.map +1 -0
  643. package/dist/interactions/actions/resize/behaviors/lockAspect.js.map +1 -1
  644. package/dist/interactions/actions/resize/boxFrame.js +16 -0
  645. package/dist/interactions/actions/resize/boxFrame.js.map +1 -0
  646. package/dist/interactions/actions/resize/capture.js +85 -0
  647. package/dist/interactions/actions/resize/capture.js.map +1 -0
  648. package/dist/interactions/actions/resize/commit.js +69 -0
  649. package/dist/interactions/actions/resize/commit.js.map +1 -0
  650. package/dist/interactions/actions/resize/frame.js +74 -0
  651. package/dist/interactions/actions/resize/frame.js.map +1 -0
  652. package/dist/interactions/actions/resize/pointSnap.js +111 -0
  653. package/dist/interactions/actions/resize/pointSnap.js.map +1 -0
  654. package/dist/interactions/actions/resize/ruleBounds.js +9 -0
  655. package/dist/interactions/actions/resize/ruleBounds.js.map +1 -0
  656. package/dist/interactions/actions/resize/session.js +49 -0
  657. package/dist/interactions/actions/resize/session.js.map +1 -0
  658. package/dist/interactions/actions/resolveOverlays.js.map +1 -1
  659. package/dist/interactions/actions/resolvePreviews.js.map +1 -1
  660. package/dist/interactions/actions/rotate/action.js +56 -0
  661. package/dist/interactions/actions/rotate/action.js.map +1 -0
  662. package/dist/interactions/actions/rotate/behaviors/index.js +7 -0
  663. package/dist/interactions/actions/rotate/behaviors/index.js.map +1 -0
  664. package/dist/interactions/actions/rotate/behaviors/snapRotation.js +12 -0
  665. package/dist/interactions/actions/rotate/behaviors/snapRotation.js.map +1 -0
  666. package/dist/interactions/actions/rotate/commit.js +40 -0
  667. package/dist/interactions/actions/rotate/commit.js.map +1 -0
  668. package/dist/interactions/actions/rotate/frame.js +65 -0
  669. package/dist/interactions/actions/rotate/frame.js.map +1 -0
  670. package/dist/interactions/actions/rotate/handle.js +12 -12
  671. package/dist/interactions/actions/rotate/handle.js.map +1 -1
  672. package/dist/interactions/actions/rotate/session.js +92 -0
  673. package/dist/interactions/actions/rotate/session.js.map +1 -0
  674. package/dist/interactions/actions/spatialReference.js.map +1 -1
  675. package/dist/interactions/actions/useStandardActions.js +77 -72
  676. package/dist/interactions/actions/useStandardActions.js.map +1 -1
  677. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +61 -42
  678. package/dist/interactions/gestures/pointerDrag/pointerDrag.js.map +1 -1
  679. package/dist/interactions/gestures/shared/originProjection.js +1 -1
  680. package/dist/interactions/gestures/shared/originProjection.js.map +1 -1
  681. package/dist/interactions/gestures/shared/screenTolerance.js +8 -2
  682. package/dist/interactions/gestures/shared/screenTolerance.js.map +1 -1
  683. package/dist/interactions/gestures/shared/snap.js.map +1 -1
  684. package/dist/layout/arrivals.js +20 -23
  685. package/dist/layout/arrivals.js.map +1 -1
  686. package/dist/math-CYUjoyyU.d.ts +33 -0
  687. package/dist/math.d.ts +5 -2
  688. package/dist/math.js +6 -6
  689. package/dist/mesh.d.ts +4 -268
  690. package/dist/mesh.js +3 -7
  691. package/dist/move.d.ts +6 -4
  692. package/dist/{originProjection-gHnOup4e.d.ts → originProjection-PPT88jZv.d.ts} +1 -1
  693. package/dist/patterns-builtin.d.ts +1 -118
  694. package/dist/patterns-builtin.js +2 -3
  695. package/dist/poseDescriptor-Bqk-11Rl.d.ts +73 -0
  696. package/dist/renderer.d.ts +1 -92
  697. package/dist/renderer.js +2 -19
  698. package/dist/resize.d.ts +11 -22
  699. package/dist/resize.js +1 -1
  700. package/dist/style.css +1 -1
  701. package/dist/test-hook/install.js.map +1 -1
  702. package/dist/test-hook/useTestHook.js +22 -0
  703. package/dist/test-hook/useTestHook.js.map +1 -0
  704. package/dist/test-seams-D0pyV3pR.d.ts +149 -0
  705. package/dist/test-seams.d.ts +4 -4
  706. package/dist/test-seams.js +2 -2
  707. package/dist/tools/builtin/bone/boneActions.js +130 -0
  708. package/dist/tools/builtin/bone/boneActions.js.map +1 -0
  709. package/dist/tools/builtin/bone/boneOverlay.js +58 -0
  710. package/dist/tools/builtin/bone/boneOverlay.js.map +1 -0
  711. package/dist/tools/builtin/bone/placedRig.js +24 -0
  712. package/dist/tools/builtin/bone/placedRig.js.map +1 -0
  713. package/dist/tools/builtin/bone/rigEditState.js +21 -0
  714. package/dist/tools/builtin/bone/rigEditState.js.map +1 -0
  715. package/dist/tools/builtin/bone/useBoneTool.js +98 -0
  716. package/dist/tools/builtin/bone/useBoneTool.js.map +1 -0
  717. package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -1
  718. package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
  719. package/dist/tools/builtin/hand/useHandTool.js.map +1 -1
  720. package/dist/tools/builtin/image/useImageTool.js.map +1 -1
  721. package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -1
  722. package/dist/tools/builtin/line/useLineTool.js.map +1 -1
  723. package/dist/tools/builtin/pen/usePenTool.js +161 -163
  724. package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
  725. package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -1
  726. package/dist/tools/builtin/pickTopMostHit.js.map +1 -1
  727. package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
  728. package/dist/tools/builtin/rect/useRectTool.js.map +1 -1
  729. package/dist/tools/builtin/select/adapterPointQuery.js +36 -0
  730. package/dist/tools/builtin/select/adapterPointQuery.js.map +1 -0
  731. package/dist/tools/builtin/select/selectionContributions.js +4 -4
  732. package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
  733. package/dist/tools/builtin/select/useSelectTool.js +43 -71
  734. package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
  735. package/dist/tools/builtin/shared/pointerFollower.js.map +1 -1
  736. package/dist/tools/builtin/slice/useSliceTool.js +67 -72
  737. package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
  738. package/dist/tools/builtin/star/useStarTool.js.map +1 -1
  739. package/dist/tools/builtin/text/useTextTool.js +8 -0
  740. package/dist/tools/builtin/text/useTextTool.js.map +1 -1
  741. package/dist/tools/builtin/weight/useWeightTool.js +77 -0
  742. package/dist/tools/builtin/weight/useWeightTool.js.map +1 -0
  743. package/dist/tools/builtin/weight/weightActions.js +112 -0
  744. package/dist/tools/builtin/weight/weightActions.js.map +1 -0
  745. package/dist/tools/builtin/weight/weightOverlay.js +61 -0
  746. package/dist/tools/builtin/weight/weightOverlay.js.map +1 -0
  747. package/dist/tools/overlayBinding.js.map +1 -1
  748. package/dist/tools/useKeybindings.js +20 -14
  749. package/dist/tools/useKeybindings.js.map +1 -1
  750. package/dist/{types-k-5Oqh-U.d.ts → types-CIKDwlsP.d.ts} +84 -164
  751. package/dist/util/paint.js +1 -1
  752. package/dist/util/paint.js.map +1 -1
  753. package/dist/version.js +1 -1
  754. package/package.json +26 -21
  755. package/dist/animation/colorHelpers.js +0 -135
  756. package/dist/animation/colorHelpers.js.map +0 -1
  757. package/dist/animation/colorRegistry.js +0 -37
  758. package/dist/animation/colorRegistry.js.map +0 -1
  759. package/dist/animation/engine/axes.js +0 -36
  760. package/dist/animation/engine/axes.js.map +0 -1
  761. package/dist/animation/engine/codec.js +0 -170
  762. package/dist/animation/engine/codec.js.map +0 -1
  763. package/dist/animation/engine/integrator.js +0 -12
  764. package/dist/animation/engine/integrator.js.map +0 -1
  765. package/dist/animation/loop.js +0 -60
  766. package/dist/animation/loop.js.map +0 -1
  767. package/dist/animation/observe.js +0 -23
  768. package/dist/animation/observe.js.map +0 -1
  769. package/dist/animation/rig/blendPoses.js +0 -43
  770. package/dist/animation/rig/blendPoses.js.map +0 -1
  771. package/dist/animation/rig/mirrorPose.js +0 -19
  772. package/dist/animation/rig/mirrorPose.js.map +0 -1
  773. package/dist/animation/rig/resolveSkeleton.js +0 -33
  774. package/dist/animation/rig/resolveSkeleton.js.map +0 -1
  775. package/dist/animation/rig/solveIk.js +0 -103
  776. package/dist/animation/rig/solveIk.js.map +0 -1
  777. package/dist/animation/rig/types.js +0 -12
  778. package/dist/animation/rig/types.js.map +0 -1
  779. package/dist/animation/slew.js +0 -27
  780. package/dist/animation/slew.js.map +0 -1
  781. package/dist/animation/stagger.js +0 -146
  782. package/dist/animation/stagger.js.map +0 -1
  783. package/dist/animation/timeline/booking.js +0 -114
  784. package/dist/animation/timeline/booking.js.map +0 -1
  785. package/dist/animation/timeline/createTimeline.js +0 -125
  786. package/dist/animation/timeline/createTimeline.js.map +0 -1
  787. package/dist/animation/timeline/sampleTrack.js +0 -79
  788. package/dist/animation/timeline/sampleTrack.js.map +0 -1
  789. package/dist/animation/useAnimator.js +0 -388
  790. package/dist/animation/useAnimator.js.map +0 -1
  791. package/dist/autoPoseDescriptor-Ct7yqivU.d.ts +0 -108
  792. package/dist/builtins-DPcdghtB.d.ts +0 -1223
  793. package/dist/canvas/MinimapCanvas.js +0 -140
  794. package/dist/canvas/MinimapCanvas.js.map +0 -1
  795. package/dist/canvas/deps/poseComposition.js +0 -11
  796. package/dist/canvas/deps/poseComposition.js.map +0 -1
  797. package/dist/canvas/minimapMath.js +0 -82
  798. package/dist/canvas/minimapMath.js.map +0 -1
  799. package/dist/canvas/toolPreview.js +0 -39
  800. package/dist/canvas/toolPreview.js.map +0 -1
  801. package/dist/core/adapters/arrayAdapter.js +0 -94
  802. package/dist/core/adapters/arrayAdapter.js.map +0 -1
  803. package/dist/core/adapters/useArrayAdapter.js +0 -13
  804. package/dist/core/adapters/useArrayAdapter.js.map +0 -1
  805. package/dist/core/fillInPoseFrame.js +0 -102
  806. package/dist/core/fillInPoseFrame.js.map +0 -1
  807. package/dist/core/geometry/poseFrame.js +0 -44
  808. package/dist/core/geometry/poseFrame.js.map +0 -1
  809. package/dist/core/geometry/poseRotation.js +0 -58
  810. package/dist/core/geometry/poseRotation.js.map +0 -1
  811. package/dist/core/gradient.js +0 -136
  812. package/dist/core/gradient.js.map +0 -1
  813. package/dist/core/markerInset.js +0 -24
  814. package/dist/core/markerInset.js.map +0 -1
  815. package/dist/core/mixed.js +0 -6
  816. package/dist/core/mixed.js.map +0 -1
  817. package/dist/core/paintKinds.js +0 -156
  818. package/dist/core/paintKinds.js.map +0 -1
  819. package/dist/core/scene/pickability.js +0 -6
  820. package/dist/core/scene/pickability.js.map +0 -1
  821. package/dist/core/strokeMarkerShapes.js +0 -139
  822. package/dist/core/strokeMarkerShapes.js.map +0 -1
  823. package/dist/core/strokeMarkers.js +0 -28
  824. package/dist/core/strokeMarkers.js.map +0 -1
  825. package/dist/core/viewport/meanScale.js +0 -8
  826. package/dist/core/viewport/meanScale.js.map +0 -1
  827. package/dist/core/viewport/pxExtent.js +0 -42
  828. package/dist/core/viewport/pxExtent.js.map +0 -1
  829. package/dist/features/cursor/paintedCursorLayer.js.map +0 -1
  830. package/dist/features/focus/gateLayer.js.map +0 -1
  831. package/dist/features/focus/useCanvasFocus.js +0 -29
  832. package/dist/features/focus/useCanvasFocus.js.map +0 -1
  833. package/dist/features/groups/children.js.map +0 -1
  834. package/dist/features/groups/composePose.js.map +0 -1
  835. package/dist/features/groups/nestedHit.js.map +0 -1
  836. package/dist/features/groups/unionOfChildren.js.map +0 -1
  837. package/dist/features/images/imageCache.js +0 -104
  838. package/dist/features/images/imageCache.js.map +0 -1
  839. package/dist/features/ingestion/index.js +0 -8
  840. package/dist/features/meshPaint/bake.js +0 -79
  841. package/dist/features/meshPaint/bake.js.map +0 -1
  842. package/dist/features/meshPaint/bakeCache.js +0 -59
  843. package/dist/features/meshPaint/bakeCache.js.map +0 -1
  844. package/dist/features/meshPaint/handles.js +0 -86
  845. package/dist/features/meshPaint/handles.js.map +0 -1
  846. package/dist/features/meshPaint/lazyKind.js.map +0 -1
  847. package/dist/features/meshPaint/meshPaint.js +0 -239
  848. package/dist/features/meshPaint/meshPaint.js.map +0 -1
  849. package/dist/features/meshPaint/meshShader.js +0 -6
  850. package/dist/features/meshPaint/meshShader.js.map +0 -1
  851. package/dist/features/meshPaint/register.js +0 -7
  852. package/dist/features/meshPaint/register.js.map +0 -1
  853. package/dist/features/meshPaint/surface.js +0 -110
  854. package/dist/features/meshPaint/surface.js.map +0 -1
  855. package/dist/features/minimap/actions.js +0 -53
  856. package/dist/features/minimap/actions.js.map +0 -1
  857. package/dist/features/minimap/createMinimapContribution.js +0 -96
  858. package/dist/features/minimap/createMinimapContribution.js.map +0 -1
  859. package/dist/features/minimap/layers.js +0 -85
  860. package/dist/features/minimap/layers.js.map +0 -1
  861. package/dist/features/overlays/useNodeOverlayFrame.js +0 -103
  862. package/dist/features/overlays/useNodeOverlayFrame.js.map +0 -1
  863. package/dist/features/parallax/createParallaxLayer.js +0 -26
  864. package/dist/features/parallax/createParallaxLayer.js.map +0 -1
  865. package/dist/features/parallax/createParallaxPlane.js +0 -22
  866. package/dist/features/parallax/createParallaxPlane.js.map +0 -1
  867. package/dist/features/paths/anchorEdits.js +0 -167
  868. package/dist/features/paths/anchorEdits.js.map +0 -1
  869. package/dist/features/paths/anchors.js +0 -159
  870. package/dist/features/paths/anchors.js.map +0 -1
  871. package/dist/features/paths/booleans.js +0 -2
  872. package/dist/features/paths/markerCommands.js +0 -149
  873. package/dist/features/paths/markerCommands.js.map +0 -1
  874. package/dist/features/paths/markerSites.js +0 -59
  875. package/dist/features/paths/markerSites.js.map +0 -1
  876. package/dist/features/paths/markers.js +0 -95
  877. package/dist/features/paths/markers.js.map +0 -1
  878. package/dist/features/paths/nearestAnchor.js +0 -36
  879. package/dist/features/paths/nearestAnchor.js.map +0 -1
  880. package/dist/features/paths/pathInWorld.js +0 -41
  881. package/dist/features/paths/pathInWorld.js.map +0 -1
  882. package/dist/features/paths/poseDescriptor.js +0 -39
  883. package/dist/features/paths/poseDescriptor.js.map +0 -1
  884. package/dist/features/paths/strokeToPath.js +0 -40
  885. package/dist/features/paths/strokeToPath.js.map +0 -1
  886. package/dist/features/paths/tessellate/dash.js +0 -52
  887. package/dist/features/paths/tessellate/dash.js.map +0 -1
  888. package/dist/features/paths/tessellate/insets.js +0 -32
  889. package/dist/features/paths/tessellate/insets.js.map +0 -1
  890. package/dist/features/paths/tessellate/metric.js +0 -72
  891. package/dist/features/paths/tessellate/metric.js.map +0 -1
  892. package/dist/features/paths/tessellate/stroke.js +0 -170
  893. package/dist/features/paths/tessellate/stroke.js.map +0 -1
  894. package/dist/features/paths/tessellate/vertexWidths.js +0 -32
  895. package/dist/features/paths/tessellate/vertexWidths.js.map +0 -1
  896. package/dist/features/patterns/commandPaint.js +0 -18
  897. package/dist/features/patterns/commandPaint.js.map +0 -1
  898. package/dist/features/patterns/index.js +0 -11
  899. package/dist/features/patterns/index.js.map +0 -1
  900. package/dist/features/patterns/patterns-builtin.js +0 -38
  901. package/dist/features/patterns/patterns-builtin.js.map +0 -1
  902. package/dist/features/patterns/rasterizeTile.js +0 -17
  903. package/dist/features/patterns/rasterizeTile.js.map +0 -1
  904. package/dist/features/patterns/resolveSpec.js +0 -65
  905. package/dist/features/patterns/resolveSpec.js.map +0 -1
  906. package/dist/features/patterns/tileGeometry.js +0 -158
  907. package/dist/features/patterns/tileGeometry.js.map +0 -1
  908. package/dist/features/pointer/PointerContext.js +0 -45
  909. package/dist/features/pointer/PointerContext.js.map +0 -1
  910. package/dist/features/selection/SelectionContext.js +0 -51
  911. package/dist/features/selection/SelectionContext.js.map +0 -1
  912. package/dist/features/simulation/createSimulation.js +0 -61
  913. package/dist/features/simulation/createSimulation.js.map +0 -1
  914. package/dist/features/simulation/types.js +0 -6
  915. package/dist/features/simulation/types.js.map +0 -1
  916. package/dist/features/simulation/useSimulation.js +0 -74
  917. package/dist/features/simulation/useSimulation.js.map +0 -1
  918. package/dist/features/text/domOffsets.js +0 -82
  919. package/dist/features/text/domOffsets.js.map +0 -1
  920. package/dist/features/text/domRuns.js +0 -230
  921. package/dist/features/text/domRuns.js.map +0 -1
  922. package/dist/features/text/fitTextPose.js +0 -38
  923. package/dist/features/text/fitTextPose.js.map +0 -1
  924. package/dist/features/text/hitTest.js +0 -48
  925. package/dist/features/text/hitTest.js.map +0 -1
  926. package/dist/features/text/isTextData.js +0 -8
  927. package/dist/features/text/isTextData.js.map +0 -1
  928. package/dist/features/text/overlayDirection.js +0 -15
  929. package/dist/features/text/overlayDirection.js.map +0 -1
  930. package/dist/features/text/renderLabel.js +0 -14
  931. package/dist/features/text/renderLabel.js.map +0 -1
  932. package/dist/features/text/runs/effectiveRangeStyle.js +0 -66
  933. package/dist/features/text/runs/effectiveRangeStyle.js.map +0 -1
  934. package/dist/features/text/runs/flagRange.js +0 -53
  935. package/dist/features/text/runs/flagRange.js.map +0 -1
  936. package/dist/features/text/runs/rangeStyle.js +0 -133
  937. package/dist/features/text/runs/rangeStyle.js.map +0 -1
  938. package/dist/features/text/textCommand.js +0 -60
  939. package/dist/features/text/textCommand.js.map +0 -1
  940. package/dist/features/text/textToPath.js +0 -181
  941. package/dist/features/text/textToPath.js.map +0 -1
  942. package/dist/features/text/useTextEdit.js +0 -491
  943. package/dist/features/text/useTextEdit.js.map +0 -1
  944. package/dist/features/tiling/createTiledLayer.js +0 -65
  945. package/dist/features/tiling/createTiledLayer.js.map +0 -1
  946. package/dist/features/tiling/tiledProject.js +0 -14
  947. package/dist/features/tiling/tiledProject.js.map +0 -1
  948. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js +0 -26
  949. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js.map +0 -1
  950. package/dist/interactions/actions/defaults/align.js.map +0 -1
  951. package/dist/interactions/actions/defaults/booleans.js +0 -52
  952. package/dist/interactions/actions/defaults/booleans.js.map +0 -1
  953. package/dist/interactions/actions/defaults/clipboard.js.map +0 -1
  954. package/dist/interactions/actions/defaults/clone.js +0 -91
  955. package/dist/interactions/actions/defaults/clone.js.map +0 -1
  956. package/dist/interactions/actions/defaults/createOutlines.js +0 -47
  957. package/dist/interactions/actions/defaults/createOutlines.js.map +0 -1
  958. package/dist/interactions/actions/defaults/distribute.js.map +0 -1
  959. package/dist/interactions/actions/defaults/editAnchors.js.map +0 -1
  960. package/dist/interactions/actions/defaults/flip.js +0 -125
  961. package/dist/interactions/actions/defaults/flip.js.map +0 -1
  962. package/dist/interactions/actions/defaults/insert.js +0 -287
  963. package/dist/interactions/actions/defaults/insert.js.map +0 -1
  964. package/dist/interactions/actions/defaults/lassoSelect.js +0 -153
  965. package/dist/interactions/actions/defaults/lassoSelect.js.map +0 -1
  966. package/dist/interactions/actions/defaults/move.js +0 -778
  967. package/dist/interactions/actions/defaults/move.js.map +0 -1
  968. package/dist/interactions/actions/defaults/resize.js +0 -341
  969. package/dist/interactions/actions/defaults/resize.js.map +0 -1
  970. package/dist/interactions/actions/defaults/rotate.js +0 -185
  971. package/dist/interactions/actions/defaults/rotate.js.map +0 -1
  972. package/dist/interactions/actions/previewOverrides.js +0 -25
  973. package/dist/interactions/actions/previewOverrides.js.map +0 -1
  974. package/dist/interactions/actions/resize/autoPoseDescriptor.js.map +0 -1
  975. package/dist/math-J-ACHyEg.d.ts +0 -159
  976. package/dist/registerProgram-T9S_PfAX.d.ts +0 -208
  977. package/dist/renderer/DrawCommand.js +0 -6
  978. package/dist/renderer/DrawCommand.js.map +0 -1
  979. package/dist/renderer/WeaselRenderer.js +0 -333
  980. package/dist/renderer/WeaselRenderer.js.map +0 -1
  981. package/dist/renderer/batchClip.js +0 -46
  982. package/dist/renderer/batchClip.js.map +0 -1
  983. package/dist/renderer/cache/GLImageCache.js +0 -74
  984. package/dist/renderer/cache/GLImageCache.js.map +0 -1
  985. package/dist/renderer/cache/GLMeshCache.js +0 -102
  986. package/dist/renderer/cache/GLMeshCache.js.map +0 -1
  987. package/dist/renderer/cache/GLTextureCache.js +0 -68
  988. package/dist/renderer/cache/GLTextureCache.js.map +0 -1
  989. package/dist/renderer/cache/GradientRampAtlas.js +0 -82
  990. package/dist/renderer/cache/GradientRampAtlas.js.map +0 -1
  991. package/dist/renderer/cache/cache.js +0 -13
  992. package/dist/renderer/cache/cache.js.map +0 -1
  993. package/dist/renderer/cache/markerCommandCache.js +0 -63
  994. package/dist/renderer/cache/markerCommandCache.js.map +0 -1
  995. package/dist/renderer/cache/outlineMeshCache.js +0 -15
  996. package/dist/renderer/cache/outlineMeshCache.js.map +0 -1
  997. package/dist/renderer/cache/outlineStrokeMeshCache.js +0 -36
  998. package/dist/renderer/cache/outlineStrokeMeshCache.js.map +0 -1
  999. package/dist/renderer/cache/strokeMeshCache.js +0 -55
  1000. package/dist/renderer/cache/strokeMeshCache.js.map +0 -1
  1001. package/dist/renderer/cullDrawCommands.js +0 -90
  1002. package/dist/renderer/cullDrawCommands.js.map +0 -1
  1003. package/dist/renderer/draw/batch.js +0 -133
  1004. package/dist/renderer/draw/batch.js.map +0 -1
  1005. package/dist/renderer/draw/clip.js +0 -89
  1006. package/dist/renderer/draw/clip.js.map +0 -1
  1007. package/dist/renderer/draw/customShader.js +0 -230
  1008. package/dist/renderer/draw/customShader.js.map +0 -1
  1009. package/dist/renderer/draw/drawTriangles.js +0 -8
  1010. package/dist/renderer/draw/drawTriangles.js.map +0 -1
  1011. package/dist/renderer/draw/effects.js +0 -28
  1012. package/dist/renderer/draw/effects.js.map +0 -1
  1013. package/dist/renderer/draw/flushBatch.js +0 -35
  1014. package/dist/renderer/draw/flushBatch.js.map +0 -1
  1015. package/dist/renderer/draw/gradient.js +0 -90
  1016. package/dist/renderer/draw/gradient.js.map +0 -1
  1017. package/dist/renderer/draw/image.js +0 -38
  1018. package/dist/renderer/draw/image.js.map +0 -1
  1019. package/dist/renderer/draw/mesh.js +0 -16
  1020. package/dist/renderer/draw/mesh.js.map +0 -1
  1021. package/dist/renderer/draw/paintBind.js +0 -70
  1022. package/dist/renderer/draw/paintBind.js.map +0 -1
  1023. package/dist/renderer/draw/pathPaint.js +0 -142
  1024. package/dist/renderer/draw/pathPaint.js.map +0 -1
  1025. package/dist/renderer/draw/scratchPass.js +0 -83
  1026. package/dist/renderer/draw/scratchPass.js.map +0 -1
  1027. package/dist/renderer/draw/stencil.js +0 -28
  1028. package/dist/renderer/draw/stencil.js.map +0 -1
  1029. package/dist/renderer/draw/text.js +0 -167
  1030. package/dist/renderer/draw/text.js.map +0 -1
  1031. package/dist/renderer/draw/uniforms.js +0 -77
  1032. package/dist/renderer/draw/uniforms.js.map +0 -1
  1033. package/dist/renderer/draw.js +0 -79
  1034. package/dist/renderer/draw.js.map +0 -1
  1035. package/dist/renderer/drawBatch.js +0 -198
  1036. package/dist/renderer/drawBatch.js.map +0 -1
  1037. package/dist/renderer/effects/EffectTargets.js +0 -48
  1038. package/dist/renderer/effects/EffectTargets.js.map +0 -1
  1039. package/dist/renderer/effects/builtins.js +0 -31
  1040. package/dist/renderer/effects/builtins.js.map +0 -1
  1041. package/dist/renderer/effects/composite.js +0 -11
  1042. package/dist/renderer/effects/composite.js.map +0 -1
  1043. package/dist/renderer/effects/effectPrelude.js +0 -10
  1044. package/dist/renderer/effects/effectPrelude.js.map +0 -1
  1045. package/dist/renderer/effects/types.js +0 -10
  1046. package/dist/renderer/effects/types.js.map +0 -1
  1047. package/dist/renderer/glyphOutlineMesh.js +0 -67
  1048. package/dist/renderer/glyphOutlineMesh.js.map +0 -1
  1049. package/dist/renderer/index.js +0 -20
  1050. package/dist/renderer/math/color.js +0 -321
  1051. package/dist/renderer/math/color.js.map +0 -1
  1052. package/dist/renderer/math/mat3.js +0 -80
  1053. package/dist/renderer/math/mat3.js.map +0 -1
  1054. package/dist/renderer/math/patternSpace.js +0 -22
  1055. package/dist/renderer/math/patternSpace.js.map +0 -1
  1056. package/dist/renderer/math/viewToMat3.js +0 -19
  1057. package/dist/renderer/math/viewToMat3.js.map +0 -1
  1058. package/dist/renderer/paintResources.js +0 -18
  1059. package/dist/renderer/paintResources.js.map +0 -1
  1060. package/dist/renderer/paintScratch.js +0 -37
  1061. package/dist/renderer/paintScratch.js.map +0 -1
  1062. package/dist/renderer/shaders/ShaderProgram.js +0 -74
  1063. package/dist/renderer/shaders/ShaderProgram.js.map +0 -1
  1064. package/dist/renderer/shaders/batchFill.js +0 -119
  1065. package/dist/renderer/shaders/batchFill.js.map +0 -1
  1066. package/dist/renderer/shaders/customPrelude.js +0 -34
  1067. package/dist/renderer/shaders/customPrelude.js.map +0 -1
  1068. package/dist/renderer/shaders/extractUniformNames.js +0 -184
  1069. package/dist/renderer/shaders/extractUniformNames.js.map +0 -1
  1070. package/dist/renderer/shaders/glyphPaint.js +0 -61
  1071. package/dist/renderer/shaders/glyphPaint.js.map +0 -1
  1072. package/dist/renderer/shaders/gradFill.js +0 -31
  1073. package/dist/renderer/shaders/gradFill.js.map +0 -1
  1074. package/dist/renderer/shaders/pathFill.js +0 -14
  1075. package/dist/renderer/shaders/pathFill.js.map +0 -1
  1076. package/dist/renderer/shaders/patternFill.js +0 -25
  1077. package/dist/renderer/shaders/patternFill.js.map +0 -1
  1078. package/dist/renderer/shaders/registerProgram.js +0 -18
  1079. package/dist/renderer/shaders/registerProgram.js.map +0 -1
  1080. package/dist/renderer/spriteSheet.js +0 -14
  1081. package/dist/renderer/spriteSheet.js.map +0 -1
  1082. package/dist/renderer/state/GroupState.js +0 -77
  1083. package/dist/renderer/state/GroupState.js.map +0 -1
  1084. package/dist/renderer/strokeLengths.js +0 -50
  1085. package/dist/renderer/strokeLengths.js.map +0 -1
  1086. package/dist/renderer/syntheticItalic.js +0 -6
  1087. package/dist/renderer/syntheticItalic.js.map +0 -1
  1088. package/dist/renderer/textures/registerTexture.js +0 -34
  1089. package/dist/renderer/textures/registerTexture.js.map +0 -1
  1090. package/dist/scheduling/useVisibleRaf.js +0 -69
  1091. package/dist/scheduling/useVisibleRaf.js.map +0 -1
  1092. package/dist/test-seams-DM2B87-g.d.ts +0 -356
@@ -1,46 +1,46 @@
1
- import { springPose as e, tweenPose as t } from "../poseHelpers.js";
2
- import { instantPoseWrite as n } from "./instantPose.js";
1
+ import { poseKey as e, springPose as t, tweenPose as n } from "../poseHelpers.js";
2
+ import { instantPoseWrite as r } from "./instantPose.js";
3
3
  //#region src/animation/wrappers/animateOnSetPose.ts
4
- function r(r, i, a = {}) {
5
- let o = a.ms ?? 200, s = (e, t, n) => a.shouldAnimate ? !a.shouldAnimate(e, t, n) : !!(a.skipDuringGesture && a.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));
6
6
  return {
7
- ...r,
8
- ...n(r),
9
- setPose(n, c) {
10
- let l = r.getPose(n);
11
- if (s(n, l, c)) {
12
- r.setPose(n, 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);
13
13
  return;
14
14
  }
15
- if (i.isTicking()) {
16
- r.setPose(n, c);
15
+ if (a.isTicking()) {
16
+ i.setPose(r, l);
17
17
  return;
18
18
  }
19
- if (i.isActive("pose:" + n)) {
20
- i.cancelKey("pose:" + n), r.setPose(n, c);
19
+ if (!i.poseTarget?.(r, o.geometry) && a.isActive(e(r))) {
20
+ a.cancelKey(e(r)), i.setPose(r, l);
21
21
  return;
22
22
  }
23
- a.spring ? e(i, r, {
24
- id: n,
25
- to: c,
26
- preset: a.spring.preset,
27
- stiffness: a.spring.stiffness,
28
- damping: a.spring.damping,
29
- mass: a.spring.mass,
30
- geometry: a.geometry,
31
- opLabel: a.opLabel
32
- }) : t(i, r, {
33
- id: n,
34
- to: c,
35
- ms: o,
36
- easing: a.easing,
37
- geometry: a.geometry,
38
- opLabel: a.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
39
39
  });
40
40
  }
41
41
  };
42
42
  }
43
43
  //#endregion
44
- export { r as animateOnSetPose };
44
+ export { i as animateOnSetPose };
45
45
 
46
46
  //# sourceMappingURL=animateOnSetPose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animateOnSetPose.js","names":["animateOnSetPose","ms","opts","skipPredicate","id","from","to","adapter","instantPoseWrite","pose","animator","springPose","tweenPose"],"sources":["../../../src/animation/wrappers/animateOnSetPose.ts"],"sourcesContent":["import { tweenPose, springPose } from '../poseHelpers';\nimport { instantPoseWrite } from './instantPose';\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 *\n * Writing a node again while its glide is still running ends the glide: the\n * new pose is written at once and stands.\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 ...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 // 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 if (animator.isActive('pose:' + id)) {\n animator.cancelKey('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":";;;AAgDA,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,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;GASA,IAAIC,EAAS,UAAU,GAAG;IACxB,EAAQ,QAAQN,GAAIK,CAAI;IACxB;GACF;GACA,IAAIC,EAAS,SAAS,UAAUN,CAAE,GAAG;IAEnC,AADAM,EAAS,UAAU,UAAUN,CAAE,GAC/BG,EAAQ,QAAQH,GAAIK,CAAI;IACxB;GACF;GACA,AAAIP,EAAK,SACPS,EAAWD,GAAUH,GAAkB;IACrC;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,IAEDU,EAAUF,GAAUH,GAAkB;IACpC;IACA,IAAIE;IACJ;IACA,QAAQP,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"instantPose.js","names":["INSTANT","instantPoseWrite","setPoseInstant","inner","id","pose","instant","adapter"],"sources":["../../../src/animation/wrappers/instantPose.ts"],"sourcesContent":["import type { SceneAdapter } from 'core/adapters/types';\n\nconst 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<TNode extends { id: string }, TPose>(\n inner: SceneAdapter<TNode, TPose>,\n): 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<TNode extends { id: string }, TPose>(\n adapter: SceneAdapter<TNode, TPose>,\n id: string,\n pose: TPose,\n): void {\n const instant = (adapter as WithInstant<TPose>)[INSTANT];\n if (instant) instant(id, pose);\n else adapter.setPose(id, pose);\n}\n"],"mappings":";AAEA,IAAMA,IAAU,OAAO,uBAAuB;AAQ9C,SAAgBC,EACd,GACQ;CACR,OAAO,GAAGD,KAAW,GAAY,MAAgBE,EAAeC,GAAOC,GAAIC,CAAI,EAAE;AACnF;AAGA,SAAgBH,EACd,GACA,GACA,GACM;CACN,IAAMI,IAAWC,EAA+BP;CAChD,AAAIM,IAASA,EAAQF,GAAIC,CAAI,IACxBE,EAAQ,QAAQH,GAAIC,CAAI;AAC/B"}
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"}
@@ -0,0 +1,27 @@
1
+ import { Path } from '@weasel-js/geom';
2
+ import { P as PoseDescriptor } from './poseDescriptor-Bqk-11Rl.js';
3
+
4
+ /** True for Path-shaped poses (`{kind: 'polygon' | 'rect'}`). Useful for
5
+ * callers that need to fork between `pathPoseDescriptor` and
6
+ * `RECT_POSE_DESCRIPTOR` without forcing the consumer to wire
7
+ * `poseDescriptor` explicitly. */
8
+ declare function isPathLike(p: unknown): p is Path;
9
+ /** True for a pose with numeric top-level `x`/`y`/`width`/`height` — the only
10
+ * shape the rect descriptor and the kit's built-in painters can read. */
11
+ declare function isRectPose(p: unknown): p is {
12
+ x: number;
13
+ y: number;
14
+ width: number;
15
+ height: number;
16
+ rotation?: number;
17
+ };
18
+ /** Per-call dispatch: if the pose looks like a Path, route to
19
+ * `pathPoseDescriptor`; otherwise treat as a plain rect pose. Avoids forcing
20
+ * demos with Path TPose to wire `poseDescriptor={pathPoseDescriptor}`
21
+ * explicitly. `getRotation` surfaces a `pose.rotation` field on non-Path poses
22
+ * so demos using rect-with-rotation shapes (e.g. `RotatedPose`) don't have to
23
+ * wire `poseDescriptor={ROTATED_POSE_DESCRIPTOR}` just to get rotated
24
+ * selection chrome and rotation-aware corner hit-tests. */
25
+ declare const AUTO_POSE_DESCRIPTOR: PoseDescriptor<unknown>;
26
+
27
+ export { AUTO_POSE_DESCRIPTOR as A, isRectPose as a, isPathLike as i };
@@ -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 };
@@ -4,13 +4,13 @@ import { createCornerResizeAffordance as i } from "../affordances/cornerResize.j
4
4
  import { createRotationAffordance as a } from "../affordances/rotationHandle.js";
5
5
  import { PATH_ANCHOR_CHROME_ID as o, createPathAnchorAffordances as s } from "../affordances/pathAnchors.js";
6
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 { defaultVisibilityRules as F } from "../features/chrome-caps/defaults.js";
8
- import { resolveVisibility as I } from "../features/chrome-caps/resolve.js";
9
- import { buildChromeCtx as L } from "../features/chrome-caps/buildChromeCtx.js";
10
- import { useHoverTracking as R } from "../features/chrome-caps/useHoverTracking.js";
11
- import { ALWAYS as z, DEFAULT_ALLOWED_CAPABILITIES as B, NEVER as V, buildRuleCtx as H, describeRule as U, evaluate as W } from "../features/chrome-caps/index.js";
12
- import { SelectionContextProvider as G, SelectionContextProviderIfRoot as K, usePublishSelection as q, useSelectionContext as J } from "../features/selection/SelectionContext.js";
13
- import { composeSelectionPose as Y, createSelectionHandlesLayer as X, createSelectionOutlineLayer as Z, createSelectionOverlayLayer as Q } from "../features/selection/overlay.js";
14
- import { composeAffordanceLayer as $ } from "../affordances/composeAffordanceLayer.js";
15
- import { ANGLE_RADIANS as ee, IMPERIAL_INCHES as te, METRIC_MM as ne, PIXELS as re, formatUnit as ie, resolveUnit as ae, unitScale as oe } from "@weasel-js/quantity";
16
- export { z as ALWAYS, ee as ANGLE_RADIANS, B as DEFAULT_ALLOWED_CAPABILITIES, te as IMPERIAL_INCHES, ne as METRIC_MM, V as NEVER, o as PATH_ANCHOR_CHROME_ID, re as PIXELS, G as SelectionContextProvider, K as SelectionContextProviderIfRoot, c as actionIs, l as always, u as and, t as annulusSemiAxes, L as buildChromeCtx, H as buildRuleCtx, d as canHover, f as capabilityAll, p as capabilityIn, m as capabilityIs, h as capabilityNot, g as coarsePointer, $ as composeAffordanceLayer, Y as composeSelectionPose, _ as cond, i as createCornerResizeAffordance, s as createPathAnchorAffordances, a as createRotationAffordance, X as createSelectionHandlesLayer, Z as createSelectionOutlineLayer, Q as createSelectionOverlayLayer, F as defaultVisibilityRules, U as describeRule, W as evaluate, v as focused, ie as formatUnit, 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, r as pointRegionFrame, ae as resolveUnit, I as resolveVisibility, A as selectionAtLeast, j as selectionEmpty, M as selectionIs, oe as unitScale, R as useHoverTracking, q as usePublishSelection, e as useSelection, J as useSelectionContext, N as when, P as zoomAtLeast };
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 };
@@ -1,19 +1,18 @@
1
1
  import { releaseCanvasRenderer as e } from "../canvas/canvasRenderer.js";
2
2
  import { buildSceneViewCommands as t, renderSceneToCanvas as n } from "../canvas/sceneViewRender.js";
3
- import { PointerContextProvider as r, createPointerStore as i, usePointerContext as a, usePointerPosition as o } from "../features/pointer/PointerContext.js";
4
- import { PointerProviderIfRoot as s } from "../canvas/SceneCanvas/PointerProviderIfRoot.js";
5
- import { FALLBACK_FIT_VIEW as c, computeFitView as l, computeIndicatorCommand as u } from "../canvas/minimapMath.js";
6
- import { forEachCoalesced as d, getStylusData as f, pressureToWidth as p } from "../core/stylus/stylus.js";
7
- import { usePointerStylus as m } from "../core/stylus/usePointerStylus.js";
8
- import { createKeyState as h } from "../input/keyState.js";
9
- import { useKeyState as g } from "../input/useKeyState.js";
10
- import { useKeyModifiers as _ } from "../input/useKeyModifiers.js";
11
- import { LONG_PRESS_FEEDBACK_ID as v, createLongPressFeedbackContribution as y } from "../features/longPress/longPressFeedback.js";
12
- import { renderNeeds as b } from "../canvas/renderNeeds.js";
13
- import { createRasterSession as x, planPixelRender as S, renderSceneToPixels as C, warmRender as w } from "../canvas/renderSceneToPixels.js";
14
- import { debugSnapshotArgs as T, renderDebugSnapshot as E } from "../canvas/renderDebugSnapshot.js";
15
- import { rasterToPng as D } from "../canvas/rasterToPng.js";
16
- import { ActionsProviderIfRoot as O } from "../canvas/SceneCanvas/ActionsProviderIfRoot.js";
17
- import { DepRegistryProviderIfRoot as k } from "../canvas/SceneCanvas/DepRegistryProviderIfRoot.js";
18
- import { LONG_PRESS_MS as A, activatesFocusedControl as j, createLongPressStore as M, historyKey as N, isEditableTarget as P, matchesKeyBinding as F } from "@weasel-js/routing";
19
- export { O as ActionsProviderIfRoot, k as DepRegistryProviderIfRoot, c as FALLBACK_FIT_VIEW, v as LONG_PRESS_FEEDBACK_ID, A as LONG_PRESS_MS, r as PointerContextProvider, s as PointerProviderIfRoot, j as activatesFocusedControl, t as buildSceneViewCommands, l as computeFitView, u as computeIndicatorCommand, h as createKeyState, y as createLongPressFeedbackContribution, M as createLongPressStore, i as createPointerStore, x as createRasterSession, T as debugSnapshotArgs, d as forEachCoalesced, f as getStylusData, N as historyKey, P as isEditableTarget, F as matchesKeyBinding, S as planPixelRender, p as pressureToWidth, D as rasterToPng, e as releaseCanvasRenderer, E as renderDebugSnapshot, b as renderNeeds, n as renderSceneToCanvas, C as renderSceneToPixels, _ as useKeyModifiers, g as useKeyState, a as usePointerContext, o as usePointerPosition, m as usePointerStylus, w as warmRender };
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 };
@@ -1,42 +1,38 @@
1
1
  import "../interactions/gestures/handleDrag/handleDrag.js";
2
2
  import "../interactions/gestures/thresholdDrag/thresholdDrag.js";
3
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 { springPose as a, tweenPose as o } from "../animation/poseHelpers.js";
5
- import { sampleTrack as s } from "../animation/timeline/sampleTrack.js";
6
- import { ColorOverrideRegistry as c } from "../animation/colorRegistry.js";
7
- import { useAnimator as l } from "../animation/useAnimator.js";
8
- import { AUTO_POSE_DESCRIPTOR as u, isPathLike as d, isRectPose as f } from "../interactions/actions/resize/autoPoseDescriptor.js";
9
- import { cornerResizeHandles as p, fixedCornerOf as m, hitCornerHandle as h } from "../interactions/actions/resize/cornerHandles.js";
10
- import { enumerateAnchors as g, withCoord as _ } from "../interactions/actions/edit-anchors/geometry.js";
11
- import { aabbCenter as v, pointInRotatedRect as y, rectCorners as b, rotatePoint as x, rotatedRectCorners as S } from "../interactions/actions/rotate/geometry.js";
12
- import { gesturePlaneReader as C, gestureViewReader as w, screenTolerance as T } from "../interactions/gestures/shared/screenTolerance.js";
13
- import { WEASEL_CLIPBOARD_MIME as E, WEASEL_CLIPBOARD_MIME_WEB as D, buildWeaselClipboardText as O, embedWeaselMetadataInSvg as k, extractWeaselClipboardFromSvg as A, parseWeaselClipboardText as j, sniffWeaselClipboardText as M } from "../interactions/actions/clipboard/wireFormat.js";
14
- import { resolveSpatialReference as N } from "../interactions/actions/spatialReference.js";
15
- import { alignDeltaFor as P, alignTargetBounds as F, useAlign as I } from "../interactions/actions/align/align.js";
16
- import { DEFAULT_ROTATION_HANDLE_DISTANCE as L, hitRotationHandle as R, rotationHandle as z } from "../interactions/actions/rotate/handle.js";
17
- import { AUTO_ORIGIN_PROJECTION as B, RECT_ORIGIN_PROJECTION as V } from "../interactions/gestures/shared/originProjection.js";
18
- import { snap as H } from "../interactions/gestures/shared/snap.js";
19
- import { useDragGesture as U } from "../interactions/gestures/dragGesture/dragGesture.js";
20
- import { dragPointOf as W } from "../interactions/gestures/dragGesture/dragPointOf.js";
21
- import { useDragRect as G } from "../interactions/gestures/dragRect/dragRect.js";
22
- import { useDragRadial as K } from "../interactions/gestures/dragRadial/dragRadial.js";
23
- import { hitAnchor as q } from "../interactions/actions/edit-anchors/handles.js";
24
- import { useClipboardOps as J } from "../interactions/actions/clipboard/clipboardOps.js";
25
- import { useDistribute as Y } from "../interactions/actions/distribute/distribute.js";
26
- import { cloneByAltDrag as X } from "../interactions/actions/clone/behaviors/cloneByAltDrag.js";
27
- import { animateOnSetPose as Z } from "../animation/wrappers/animateOnSetPose.js";
28
- import { animateLifecycle as Q } from "../animation/wrappers/animateLifecycle.js";
29
- import { createReflowTransition as $, useAnimatedReflow as ee } from "../animation/reflow.js";
30
- import { momentum as te } from "../animation/behaviors/momentum.js";
31
- import { createSlew as ne, slewToward as re } from "../animation/slew.js";
32
- import { cycleVertexColors as ie, rainbowVertexColors as ae, solidVertexColors as oe, springVertexColors as se, staggerVertexColors as ce, tweenVertexColors as le } from "../animation/colorHelpers.js";
33
- import { IDENTITY_JOINT as ue } from "../animation/rig/types.js";
34
- import { blendPoses as de } from "../animation/rig/blendPoses.js";
35
- import { mirrorPose as fe } from "../animation/rig/mirrorPose.js";
36
- import { resolveSkeleton as pe } from "../animation/rig/resolveSkeleton.js";
37
- import { bindRig as me, rigidRigApply as he } from "../animation/rig/bindRig.js";
38
- import { solveIk as ge } from "../animation/rig/solveIk.js";
39
- import { useRig as _e } from "../animation/rig/useRig.js";
40
- import { EASINGS as ve, SPRING_PRESETS as ye, cubicBezierEasing as be, easeIn as xe, easeInBack as Se, easeInBounce as Ce, easeInCirc as we, easeInCubic as Te, easeInElastic as Ee, easeInExpo as De, easeInOut as Oe, easeInOutBack as ke, easeInOutBounce as Ae, easeInOutCirc as je, easeInOutCubic as Me, easeInOutElastic as Ne, easeInOutExpo as Pe, easeInOutQuad as Fe, easeInOutQuart as Ie, easeInOutQuint as Le, easeInOutSine as Re, easeInQuad as ze, easeInQuart as Be, easeInQuint as Ve, easeInSine as He, easeOut as Ue, easeOutBack as We, easeOutBounce as Ge, easeOutCirc as Ke, easeOutCubic as qe, easeOutElastic as Je, easeOutExpo as Ye, easeOutQuad as Xe, easeOutQuart as Ze, easeOutQuint as Qe, easeOutSine as $e, hexToOklchDeg as et, hslToSrgb as tt, interpolateSrgb as nt, lerpColorArray as rt, lerpOklab as it, lerpOklch as at, linear as ot, linearSrgbToOklab as st, linearToSrgb as ct, oklabToLinearSrgb as lt, oklabToOklch as ut, oklabToSrgbU8 as dt, oklchDegToHex as ft, oklchToOklab as pt, resolveEasing as mt, srgbFloatToOklab as ht, srgbToHsl as gt, srgbToLinear as _t, srgbU8ToOklab as vt } from "../animation/index.js";
41
- import { CONTROL_SELECTOR as yt, DRAG_THRESHOLD_PX as bt, isInControlWithin as xt, openPointerSession as St, pastDragThreshold as Ct } from "@weasel-js/routing";
42
- export { B as AUTO_ORIGIN_PROJECTION, u as AUTO_POSE_DESCRIPTOR, yt as CONTROL_SELECTOR, c as ColorOverrideRegistry, L as DEFAULT_ROTATION_HANDLE_DISTANCE, bt as DRAG_THRESHOLD_PX, ve as EASINGS, ue as IDENTITY_JOINT, V as RECT_ORIGIN_PROJECTION, e as RECT_POSE_DESCRIPTOR, t as ROTATED_POSE_DESCRIPTOR, ye as SPRING_PRESETS, E as WEASEL_CLIPBOARD_MIME, D as WEASEL_CLIPBOARD_MIME_WEB, v as aabbCenter, P as alignDeltaFor, F as alignTargetBounds, Q as animateLifecycle, Z as animateOnSetPose, me as bindRig, de as blendPoses, O as buildWeaselClipboardText, X as cloneByAltDrag, p as cornerResizeHandles, $ as createReflowTransition, ne as createSlew, be as cubicBezierEasing, ie as cycleVertexColors, W as dragPointOf, xe as easeIn, Se as easeInBack, Ce as easeInBounce, we as easeInCirc, Te as easeInCubic, Ee as easeInElastic, De as easeInExpo, Oe as easeInOut, ke as easeInOutBack, Ae as easeInOutBounce, je as easeInOutCirc, Me as easeInOutCubic, Ne as easeInOutElastic, Pe as easeInOutExpo, Fe as easeInOutQuad, Ie as easeInOutQuart, Le as easeInOutQuint, Re as easeInOutSine, ze as easeInQuad, Be as easeInQuart, Ve as easeInQuint, He as easeInSine, Ue as easeOut, We as easeOutBack, Ge as easeOutBounce, Ke as easeOutCirc, qe as easeOutCubic, Je as easeOutElastic, Ye as easeOutExpo, Xe as easeOutQuad, Ze as easeOutQuart, Qe as easeOutQuint, $e as easeOutSine, k as embedWeaselMetadataInSvg, g as enumerateAnchors, A as extractWeaselClipboardFromSvg, m as fixedCornerOf, C as gesturePlaneReader, w as gestureViewReader, et as hexToOklchDeg, q as hitAnchor, h as hitCornerHandle, R as hitRotationHandle, tt as hslToSrgb, nt as interpolateSrgb, xt as isInControlWithin, d as isPathLike, f as isRectPose, rt as lerpColorArray, it as lerpOklab, at as lerpOklch, ot as linear, st as linearSrgbToOklab, ct as linearToSrgb, fe as mirrorPose, te as momentum, lt as oklabToLinearSrgb, ut as oklabToOklch, dt as oklabToSrgbU8, ft as oklchDegToHex, pt as oklchToOklab, St as openPointerSession, j as parseWeaselClipboardText, Ct as pastDragThreshold, y as pointInRotatedRect, n as poseDescriptorForNode, ae as rainbowVertexColors, b as rectCorners, mt as resolveEasing, pe as resolveSkeleton, N as resolveSpatialReference, he as rigidRigApply, x as rotatePoint, S as rotatedRectCorners, z as rotationHandle, s as sampleTrack, T as screenTolerance, re as slewToward, H as snap, M as sniffWeaselClipboardText, oe as solidVertexColors, ge as solveIk, a as springPose, se as springVertexColors, ht as srgbFloatToOklab, gt as srgbToHsl, _t as srgbToLinear, vt as srgbU8ToOklab, ce as staggerVertexColors, r as translatePoseViaDescriptor, o as tweenPose, le as tweenVertexColors, I as useAlign, ee as useAnimatedReflow, l as useAnimator, J as useClipboardOps, Y as useDistribute, U as useDragGesture, K as useDragRadial, G as useDragRect, _e as useRig, i as visualBoundsViaDescriptor, _ as withCoord };
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 };
@@ -1,18 +1,11 @@
1
- import { hexToRgba as e, normalizeHex as t, parseColor as n, parseColorToRgba255 as r, resolveColor as i, rgbaToHex as a } from "../renderer/math/color.js";
2
- import { gradientForBounds as o, gradientGeometry as s, isGradientFill as c, sampleGradientStops as l, withGradientKind as u } from "../core/gradient.js";
3
- import { asPaint as d, getPaintKind as f, isPaintKindKnown as p, listGradientKinds as m, listPaintKinds as h, paintKindOf as g, paintKindRegistry as _, registerPaintKind as v, registerPaintKindLoader as y, switchGradientKind as b, warmPaintKinds as x } from "../core/paintKinds.js";
4
- import { resolveStrokeWidth as S } from "../features/paths/tessellate/stroke.js";
5
- import { BUILTIN_MARKERS as C } from "../core/strokeMarkerShapes.js";
6
- import { getMarker as w, listMarkers as T, markerRegistry as E, registerMarker as D } from "../core/strokeMarkers.js";
7
- import { markerInset as O, markerKeyOf as k, resolveMarkerSize as A, strokeInsets as j } from "../core/markerInset.js";
8
- import { markerSites as M } from "../features/paths/markerSites.js";
9
- import { fillInPoseFrame as N, fillToBoundsFrame as P } from "../core/fillInPoseFrame.js";
10
- import { isPatternSpec as F, resolveFillPattern as I, resolvePatternSpec as L } from "../features/patterns/resolveSpec.js";
11
- import { commandFill as R, commandStroke as z } from "../features/patterns/commandPaint.js";
12
- import { getAlpha01 as B, mergeAlphaFromPrev as V, toHex8 as H, withAlpha01 as U } from "../util/color.js";
13
- import { DEFAULT_FILL_COLOR as W, DEFAULT_PALETTE as G, DEFAULT_SHAPE_FILL as K, DEFAULT_STROKE_COLOR as q, GHOST_STROKE as J, cycleFill as Y, paintAlpha as X, paintWithAlpha as Z, paintWithColor as Q, solid as $, strokeOf as ee, strokeWith as te } from "../util/paint.js";
14
- import { createTilePattern as ne } from "../features/patterns/index.js";
15
- import { useGradientKinds as re, usePaintKind as ie, usePaintKinds as ae } from "../core/usePaintKinds.js";
16
- import { STROKE_DASH_RATIOS as oe, alignedStrokeRect as se, composePatternTransform as ce, contrastLineColor as le, dashForStrokeStyle as ue, decomposePatternTransform as de, hexToRgbBytes as fe, parseHexBytes as pe, resolveScreenLength as me, strokeDashStyleOf as he } from "@weasel-js/paint";
17
- import { trimPolyline as ge } from "@weasel-js/geom/tessellate";
18
- export { C as BUILTIN_MARKERS, W as DEFAULT_FILL_COLOR, G as DEFAULT_PALETTE, K as DEFAULT_SHAPE_FILL, q as DEFAULT_STROKE_COLOR, J as GHOST_STROKE, oe as STROKE_DASH_RATIOS, se as alignedStrokeRect, d as asPaint, R as commandFill, z as commandStroke, ce as composePatternTransform, le as contrastLineColor, ne as createTilePattern, Y as cycleFill, ue as dashForStrokeStyle, de as decomposePatternTransform, N as fillInPoseFrame, P as fillToBoundsFrame, B as getAlpha01, w as getMarker, f as getPaintKind, o as gradientForBounds, s as gradientGeometry, fe as hexToRgbBytes, e as hexToRgba, c as isGradientFill, p as isPaintKindKnown, F as isPatternSpec, m as listGradientKinds, T as listMarkers, h as listPaintKinds, O as markerInset, k as markerKeyOf, E as markerRegistry, M as markerSites, V as mergeAlphaFromPrev, t as normalizeHex, X as paintAlpha, g as paintKindOf, _ as paintKindRegistry, Z as paintWithAlpha, Q as paintWithColor, n as parseColor, r as parseColorToRgba255, pe as parseHexBytes, D as registerMarker, v as registerPaintKind, y as registerPaintKindLoader, i as resolveColor, I as resolveFillPattern, A as resolveMarkerSize, L as resolvePatternSpec, me as resolveScreenLength, S as resolveStrokeWidth, a as rgbaToHex, l as sampleGradientStops, $ as solid, he as strokeDashStyleOf, j as strokeInsets, ee as strokeOf, te as strokeWith, b as switchGradientKind, H as toHex8, ge as trimPolyline, re as useGradientKinds, ie as usePaintKind, ae as usePaintKinds, x as warmPaintKinds, U as withAlpha01, u as withGradientKind };
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 };
@@ -1,19 +1,12 @@
1
- import { poseRotationOf as e, rotatePathAround as t } from "../core/geometry/poseRotation.js";
2
- import { pathThroughPoseFrame as n, poseFrameInverseOf as r, poseFrameOf as i, poseLinearOf as a } from "../core/geometry/poseFrame.js";
3
- import { pathPoseDescriptor as o } from "../features/paths/poseDescriptor.js";
4
- import { countPathAnchors as s, pathToAnchors as c } from "../features/paths/anchors.js";
5
- import { pathInPoseFrame as l, pathInWorld as u, worldEditToStorage as d } from "../features/paths/pathInWorld.js";
6
- import { pathDivide as f, pathExclude as p, pathIntersect as m, pathSubtract as h, pathUnion as g, trianglesToPath as _ } from "../features/paths/booleans.js";
7
- import { applyBooleanOp as v } from "../interactions/actions/booleans/booleans.js";
8
- import { constrainTo45 as y } from "../util/constrainTo45.js";
9
- import { circlePath as b, rectMarkerPath as x, roundRectPath as S, squarePath as C } from "../features/paths/markers.js";
10
- import { createPathEditingOverlayLayer as w } from "../features/paths/pathEditingOverlayLayer.js";
11
- import { createPenPreviewLayer as T } from "../features/paths/penPreviewLayer.js";
12
- import { createPathLayer as E } from "../features/paths/pathLayer.js";
13
- import { pathOriginProjection as D } from "../features/paths/originProjection.js";
14
- import { strokeToPath as O } from "../features/paths/strokeToPath.js";
15
- import { DEFAULT_FLATTEN_TOLERANCE as k, PATH_C as A, PATH_CMD_LENGTHS as j, PATH_L as M, PATH_M as N, PATH_Q as P, PATH_Z as F, PathBuilder as I, boundsOfPath as L, composePath as R, decomposePath as z, ellipsePath as B, flattenCubic as V, flattenCubicWithArcLen as H, flattenQuadratic as U, flattenQuadraticWithArcLen as W, linePath as G, pathCommandCoordCount as K, pathContainsPoint as q, pathContainsPolygon as J, pathContainsRect as Y, pathDistanceToPoint as X, pathFromD as Z, pathIntersectsPolygon as Q, pathIntersectsRect as $, pathSignedArea as ee, pointAlongPath as te, pointInPath as ne, polygonFromPoints as re, polylineFromPoints as ie, rectPath as ae, regularPolygonPath as oe, reversePath as se, scalePathToBounds as ce, snipPathByPolyline as le, splitPathByPolyline as ue, splitPathBySegment as de, splitSubpaths as fe, starPath as pe, transformPath as me, translatePath as he, unionBoundsPath as ge } from "../features/paths/index.js";
16
- import { useBooleans as _e } from "../interactions/actions/booleans/useBooleans.js";
17
- import { useBooleansAdapter as ve } from "../interactions/actions/booleans/useBooleansAdapter.js";
18
- import { CURVE_REPS as ye, bezierCubic as be, bezierQuadratic as xe, nurbs as Se, spiro as Ce } from "@weasel-js/geom/curves";
19
- export { ye as CURVE_REPS, k as DEFAULT_FLATTEN_TOLERANCE, A as PATH_C, j as PATH_CMD_LENGTHS, M as PATH_L, N as PATH_M, P as PATH_Q, F as PATH_Z, I as PathBuilder, v as applyBooleanOp, be as bezierCubic, xe as bezierQuadratic, L as boundsOfPath, b as circlePath, R as composePath, y as constrainTo45, s as countPathAnchors, w as createPathEditingOverlayLayer, E as createPathLayer, T as createPenPreviewLayer, z as decomposePath, B as ellipsePath, V as flattenCubic, H as flattenCubicWithArcLen, U as flattenQuadratic, W as flattenQuadraticWithArcLen, G as linePath, Se as nurbs, K as pathCommandCoordCount, q as pathContainsPoint, J as pathContainsPolygon, Y as pathContainsRect, X as pathDistanceToPoint, f as pathDivide, p as pathExclude, Z as pathFromD, l as pathInPoseFrame, u as pathInWorld, m as pathIntersect, Q as pathIntersectsPolygon, $ as pathIntersectsRect, D as pathOriginProjection, o as pathPoseDescriptor, ee as pathSignedArea, h as pathSubtract, n as pathThroughPoseFrame, c as pathToAnchors, g as pathUnion, te as pointAlongPath, ne as pointInPath, re as polygonFromPoints, ie as polylineFromPoints, r as poseFrameInverseOf, i as poseFrameOf, a as poseLinearOf, e as poseRotationOf, x as rectMarkerPath, ae as rectPath, oe as regularPolygonPath, se as reversePath, t as rotatePathAround, S as roundRectPath, ce as scalePathToBounds, le as snipPathByPolyline, Ce as spiro, ue as splitPathByPolyline, de as splitPathBySegment, fe as splitSubpaths, C as squarePath, pe as starPath, O as strokeToPath, me as transformPath, he as translatePath, _ as trianglesToPath, ge as unionBoundsPath, _e as useBooleans, ve as useBooleansAdapter, d as worldEditToStorage };
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 };
@@ -1,20 +1,14 @@
1
- import { mat3 as e } from "../renderer/math/mat3.js";
2
- import { SPRITE_STRIDE as t } from "../renderer/DrawCommand.js";
3
- import { frameRect as n } from "../renderer/spriteSheet.js";
4
- import { viewToMat3 as r } from "../renderer/math/viewToMat3.js";
5
- import { cullDrawCommands as i } from "../renderer/cullDrawCommands.js";
6
- import { registerEffect as a } from "../renderer/effects/types.js";
7
- import { blur as o, vignette as s } from "../renderer/effects/builtins.js";
8
- import { rotateAroundAABBCenter as c } from "../canvas/poseRotation.js";
9
- import { KIT_SHAPE_KINDS as l, SHAPE_KINDS as u } from "../core/shapeKinds.js";
10
- import { PAINTED_CURSOR_LAYER_ID as d, createPaintedCursorLayer as f } from "../features/cursor/paintedCursorLayer.js";
11
- import { paletteInsertPaint as p } from "../canvas/deps/insert.js";
12
- import { KIT_VERSIONS as m, checkRequirements as h, satisfiesRange as g } from "../canvas/kitRequirements.js";
13
- import { COMPOSITE_FEATURES as _, FEATURE_ACTION_IDS as v, SCENE_CANVAS_FEATURES as y, TOOL_DRIVEN_ACTION_IDS as b } from "../canvas/SceneCanvas/features.js";
14
- import { BUILTIN_TOOL_IDS as x } from "../canvas/SceneCanvas/props.js";
15
- import { mergeContributions as S } from "../canvas/surfaceContribution.js";
16
- import { canQueryLocalFonts as C, cssFamilyName as w, cssFontFamily as T, cssFontFamilyLoading as E, enableLocalFontOutlines as D, fontOutlineRegistry as O, fontRegistry as k, hasFontOutlines as A, isCanvasFont as j, listFontOutlines as M, loadFontOutlines as N, outlineStatus as P, registerCanvasFont as F, registerFont as I, registerFontOutlines as L, subscribeGlyphReady as R, unregisterCanvasFont as z, unregisterFontOutlines as B, warmFonts as V } from "@weasel-js/font";
17
- import { createReflectable as H } from "@weasel-js/registry";
18
- import { assembleEntries as U, liveScope as W, modeShortcutSpec as G, modeShortcuts as K, scopeBindings as q } from "@weasel-js/routing";
19
- import { CURSOR_ANGLE_STEPS as J, CURSOR_MAX_CSS_PX as Y, bakeCursor as X, createPaintedCursorState as Z, cursorFor as Q, resolveCursor as $, resolveCursorTier as ee } from "@weasel-js/cursor";
20
- export { x as BUILTIN_TOOL_IDS, _ as COMPOSITE_FEATURES, J as CURSOR_ANGLE_STEPS, Y as CURSOR_MAX_CSS_PX, v as FEATURE_ACTION_IDS, l as KIT_SHAPE_KINDS, m as KIT_VERSIONS, d as PAINTED_CURSOR_LAYER_ID, y as SCENE_CANVAS_FEATURES, u as SHAPE_KINDS, t as SPRITE_STRIDE, b as TOOL_DRIVEN_ACTION_IDS, U as assembleEntries, X as bakeCursor, o as blur, C as canQueryLocalFonts, h as checkRequirements, f as createPaintedCursorLayer, Z as createPaintedCursorState, H as createReflectable, w as cssFamilyName, T as cssFontFamily, E as cssFontFamilyLoading, i as cullDrawCommands, Q as cursorFor, D as enableLocalFontOutlines, O as fontOutlineRegistry, k as fontRegistry, n as frameRect, A as hasFontOutlines, j as isCanvasFont, M as listFontOutlines, W as liveScope, N as loadFontOutlines, e as mat3, S as mergeContributions, G as modeShortcutSpec, K as modeShortcuts, P as outlineStatus, p as paletteInsertPaint, F as registerCanvasFont, a as registerEffect, I as registerFont, L as registerFontOutlines, $ as resolveCursor, ee as resolveCursorTier, c as rotateAroundAABBCenter, g as satisfiesRange, q as scopeBindings, R as subscribeGlyphReady, z as unregisterCanvasFont, B as unregisterFontOutlines, r as viewToMat3, s as vignette, V as warmFonts };
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 };