@weasel-js/core 1.9.3 → 1.9.4

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 (542) hide show
  1. package/CHANGELOG.md +356 -0
  2. package/README.md +2 -2
  3. package/dist/WeaselProvider.js +5 -5
  4. package/dist/affordances/composeAffordanceLayer.js +10 -20
  5. package/dist/affordances/composeAffordanceLayer.js.map +1 -1
  6. package/dist/affordances/cornerResize.js +25 -17
  7. package/dist/affordances/cornerResize.js.map +1 -1
  8. package/dist/affordances/hitAffordanceRegions.js +27 -20
  9. package/dist/affordances/hitAffordanceRegions.js.map +1 -1
  10. package/dist/affordances/rotationHandle.js +18 -18
  11. package/dist/affordances/rotationHandle.js.map +1 -1
  12. package/dist/animation/behaviors/momentum.js +93 -55
  13. package/dist/animation/behaviors/momentum.js.map +1 -1
  14. package/dist/animation/loop.js +10 -12
  15. package/dist/animation/loop.js.map +1 -1
  16. package/dist/animation/reflow.js +8 -8
  17. package/dist/animation/reflow.js.map +1 -1
  18. package/dist/animation/stagger.js +64 -56
  19. package/dist/animation/stagger.js.map +1 -1
  20. package/dist/animation/timeline/booking.js +62 -54
  21. package/dist/animation/timeline/booking.js.map +1 -1
  22. package/dist/animation/timeline/createTimeline.js +85 -76
  23. package/dist/animation/timeline/createTimeline.js.map +1 -1
  24. package/dist/animation/timeline/sampleTrack.js +13 -5
  25. package/dist/animation/timeline/sampleTrack.js.map +1 -1
  26. package/dist/animation/useAnimator.js +45 -35
  27. package/dist/animation/useAnimator.js.map +1 -1
  28. package/dist/animation/wrappers/animateLifecycle.js +31 -24
  29. package/dist/animation/wrappers/animateLifecycle.js.map +1 -1
  30. package/dist/animation/wrappers/animateOnSetPose.js +28 -26
  31. package/dist/animation/wrappers/animateOnSetPose.js.map +1 -1
  32. package/dist/animation/wrappers/instantPose.js +13 -0
  33. package/dist/animation/wrappers/instantPose.js.map +1 -0
  34. package/dist/{poseDescriptor-D-OH-tu5.d.ts → autoPoseDescriptor-Ct7yqivU.d.ts} +28 -3
  35. package/dist/barrel/chrome.js +16 -0
  36. package/dist/barrel/input.js +19 -0
  37. package/dist/barrel/interactions.js +42 -0
  38. package/dist/barrel/paint.js +18 -0
  39. package/dist/barrel/paths.js +19 -0
  40. package/dist/barrel/renderer.js +20 -0
  41. package/dist/barrel/routing.js +51 -0
  42. package/dist/barrel/text.js +18 -0
  43. package/dist/barrel/viewport.js +52 -0
  44. package/dist/builtins-DPcdghtB.d.ts +1223 -0
  45. package/dist/canvas/Canvas.js +363 -448
  46. package/dist/canvas/Canvas.js.map +1 -1
  47. package/dist/canvas/CanvasView.js +164 -165
  48. package/dist/canvas/CanvasView.js.map +1 -1
  49. package/dist/canvas/CursorCoordsHud.js +37 -32
  50. package/dist/canvas/CursorCoordsHud.js.map +1 -1
  51. package/dist/canvas/DrawCanvas.js +49 -43
  52. package/dist/canvas/DrawCanvas.js.map +1 -1
  53. package/dist/canvas/MinimapCanvas.js +26 -25
  54. package/dist/canvas/MinimapCanvas.js.map +1 -1
  55. package/dist/canvas/NodeShape.js +59 -377
  56. package/dist/canvas/NodeShape.js.map +1 -1
  57. package/dist/canvas/PickHud.js +50 -47
  58. package/dist/canvas/PickHud.js.map +1 -1
  59. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js +167 -0
  60. package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js.map +1 -0
  61. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +13 -13
  62. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js +67 -0
  63. package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js.map +1 -0
  64. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js +16 -0
  65. package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js.map +1 -0
  66. package/dist/canvas/SceneCanvas/coordTrace.js +10 -0
  67. package/dist/canvas/SceneCanvas/coordTrace.js.map +1 -0
  68. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +112 -70
  69. package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
  70. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +9 -8
  71. package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -1
  72. package/dist/canvas/SceneCanvas/features.js +1 -0
  73. package/dist/canvas/SceneCanvas/features.js.map +1 -1
  74. package/dist/canvas/SceneCanvas/isDev.js +12 -0
  75. package/dist/canvas/SceneCanvas/isDev.js.map +1 -0
  76. package/dist/canvas/SceneCanvas/poseGeometry.js +29 -28
  77. package/dist/canvas/SceneCanvas/poseGeometry.js.map +1 -1
  78. package/dist/canvas/SceneCanvas/poseRegistrars.js +13 -0
  79. package/dist/canvas/SceneCanvas/poseRegistrars.js.map +1 -0
  80. package/dist/canvas/SceneCanvas/props.js +38 -0
  81. package/dist/canvas/SceneCanvas/props.js.map +1 -0
  82. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +21 -62
  83. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -1
  84. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js.map +1 -1
  85. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +46 -48
  86. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js.map +1 -1
  87. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +33 -33
  88. package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
  89. package/dist/canvas/SceneCanvas.js +534 -788
  90. package/dist/canvas/SceneCanvas.js.map +1 -1
  91. package/dist/canvas/SceneViewCanvas.js +45 -43
  92. package/dist/canvas/SceneViewCanvas.js.map +1 -1
  93. package/dist/canvas/buildSceneLayer.js +91 -0
  94. package/dist/canvas/buildSceneLayer.js.map +1 -0
  95. package/dist/canvas/buildSceneTree.js +16 -19
  96. package/dist/canvas/buildSceneTree.js.map +1 -1
  97. package/dist/canvas/canvasRenderer.js +68 -52
  98. package/dist/canvas/canvasRenderer.js.map +1 -1
  99. package/dist/canvas/deps/changes.js +13 -0
  100. package/dist/canvas/deps/changes.js.map +1 -0
  101. package/dist/canvas/deps/editAnchors.js +28 -28
  102. package/dist/canvas/deps/insert.js +119 -91
  103. package/dist/canvas/deps/insert.js.map +1 -1
  104. package/dist/canvas/deps/slice.js +46 -45
  105. package/dist/canvas/deps/slice.js.map +1 -1
  106. package/dist/canvas/deps/textEdit.js +10 -9
  107. package/dist/canvas/deps/textEdit.js.map +1 -1
  108. package/dist/canvas/derivedPath.js +46 -23
  109. package/dist/canvas/derivedPath.js.map +1 -1
  110. package/dist/canvas/getNodeAtPoint.js +7 -7
  111. package/dist/canvas/getNodeAtPoint.js.map +1 -1
  112. package/dist/canvas/hud.module.js +1 -1
  113. package/dist/canvas/hud.module.js.map +1 -1
  114. package/dist/canvas/kitRequirements.js +2 -2
  115. package/dist/canvas/kitRequirements.js.map +1 -1
  116. package/dist/canvas/layerOrder.js +13 -6
  117. package/dist/canvas/layerOrder.js.map +1 -1
  118. package/dist/canvas/minimapMath.js +12 -10
  119. package/dist/canvas/minimapMath.js.map +1 -1
  120. package/dist/canvas/nodeShapes/derivedPainter.js +34 -0
  121. package/dist/canvas/nodeShapes/derivedPainter.js.map +1 -0
  122. package/dist/canvas/nodeShapes/imagePainter.js +87 -0
  123. package/dist/canvas/nodeShapes/imagePainter.js.map +1 -0
  124. package/dist/canvas/nodeShapes/memo.js +9 -0
  125. package/dist/canvas/nodeShapes/memo.js.map +1 -0
  126. package/dist/canvas/nodeShapes/nodePaint.js +57 -0
  127. package/dist/canvas/nodeShapes/nodePaint.js.map +1 -0
  128. package/dist/canvas/nodeShapes/pathPainter.js +38 -0
  129. package/dist/canvas/nodeShapes/pathPainter.js.map +1 -0
  130. package/dist/canvas/nodeShapes/poseBox.js +20 -0
  131. package/dist/canvas/nodeShapes/poseBox.js.map +1 -0
  132. package/dist/canvas/nodeShapes/rectFallbackPainter.js +38 -0
  133. package/dist/canvas/nodeShapes/rectFallbackPainter.js.map +1 -0
  134. package/dist/canvas/nodeShapes/shapePainter.js +72 -0
  135. package/dist/canvas/nodeShapes/shapePainter.js.map +1 -0
  136. package/dist/canvas/nodeShapes/textPainter.js +55 -0
  137. package/dist/canvas/nodeShapes/textPainter.js.map +1 -0
  138. package/dist/canvas/overlayRoleStrokes.js.map +1 -1
  139. package/dist/canvas/paintCull.js +10 -11
  140. package/dist/canvas/paintCull.js.map +1 -1
  141. package/dist/canvas/pickWalk.js +52 -63
  142. package/dist/canvas/pickWalk.js.map +1 -1
  143. package/dist/canvas/poseRotation.js +11 -23
  144. package/dist/canvas/poseRotation.js.map +1 -1
  145. package/dist/canvas/renderDebugSnapshot.js +5 -5
  146. package/dist/canvas/renderSceneToPixels.js +3 -1
  147. package/dist/canvas/renderSceneToPixels.js.map +1 -1
  148. package/dist/canvas/sceneAdapter.js +66 -148
  149. package/dist/canvas/sceneAdapter.js.map +1 -1
  150. package/dist/canvas/sceneClipboard.js +112 -0
  151. package/dist/canvas/sceneClipboard.js.map +1 -0
  152. package/dist/canvas/sceneSlotWiring.js +4 -4
  153. package/dist/canvas/sceneSlotWiring.js.map +1 -1
  154. package/dist/canvas/sceneViewRender.js +39 -40
  155. package/dist/canvas/sceneViewRender.js.map +1 -1
  156. package/dist/canvas/useCanvasRenderer.js +14 -6
  157. package/dist/canvas/useCanvasRenderer.js.map +1 -1
  158. package/dist/canvas/useCanvasView.js +58 -0
  159. package/dist/canvas/useCanvasView.js.map +1 -0
  160. package/dist/canvas/useFrameLoop.js +35 -26
  161. package/dist/canvas/useFrameLoop.js.map +1 -1
  162. package/dist/canvas/useSceneLayerList.js +21 -0
  163. package/dist/canvas/useSceneLayerList.js.map +1 -0
  164. package/dist/clipboard.d.ts +10 -6
  165. package/dist/clone.d.ts +4 -3
  166. package/dist/core/adapters/arrayAdapter.js +48 -39
  167. package/dist/core/adapters/arrayAdapter.js.map +1 -1
  168. package/dist/core/device/index.js +5 -4
  169. package/dist/core/device/useDeviceProfile.js +38 -44
  170. package/dist/core/device/useDeviceProfile.js.map +1 -1
  171. package/dist/core/device/watchDevicePixelRatio.js +17 -0
  172. package/dist/core/device/watchDevicePixelRatio.js.map +1 -0
  173. package/dist/core/fillInPoseFrame.js.map +1 -1
  174. package/dist/core/geometry/poseDescriptor.js +21 -19
  175. package/dist/core/geometry/poseDescriptor.js.map +1 -1
  176. package/dist/core/geometry/poseFrame.js +44 -0
  177. package/dist/core/geometry/poseFrame.js.map +1 -0
  178. package/dist/core/geometry/poseRotation.js.map +1 -1
  179. package/dist/core/geometry/regionHit.js +9 -10
  180. package/dist/core/geometry/regionHit.js.map +1 -1
  181. package/dist/core/geometry/unionBounds.js +31 -29
  182. package/dist/core/geometry/unionBounds.js.map +1 -1
  183. package/dist/core/isPlainObject.js +2 -11
  184. package/dist/core/ops/arrange.js +1 -0
  185. package/dist/core/ops/arrange.js.map +1 -1
  186. package/dist/core/ops/create.js +10 -5
  187. package/dist/core/ops/create.js.map +1 -1
  188. package/dist/core/ops/delete.js +12 -24
  189. package/dist/core/ops/delete.js.map +1 -1
  190. package/dist/core/ops/reorder/index.js +43 -40
  191. package/dist/core/ops/reorder/index.js.map +1 -1
  192. package/dist/core/ops/reorder/setChildOrder.js +34 -0
  193. package/dist/core/ops/reorder/setChildOrder.js.map +1 -0
  194. package/dist/core/paintKinds.js +5 -5
  195. package/dist/core/paintKinds.js.map +1 -1
  196. package/dist/core/scene/NodeProperties.js.map +1 -1
  197. package/dist/core/scene/appliedLog.js +37 -0
  198. package/dist/core/scene/appliedLog.js.map +1 -0
  199. package/dist/core/scene/arrivalWindow.js +101 -0
  200. package/dist/core/scene/arrivalWindow.js.map +1 -0
  201. package/dist/core/scene/derivedPath.js.map +1 -1
  202. package/dist/core/scene/historyFacade.js +84 -0
  203. package/dist/core/scene/historyFacade.js.map +1 -0
  204. package/dist/core/scene/kitOps.js +173 -0
  205. package/dist/core/scene/kitOps.js.map +1 -0
  206. package/dist/core/scene/layerStack.js +38 -0
  207. package/dist/core/scene/layerStack.js.map +1 -0
  208. package/dist/core/scene/lockGuard.js +37 -0
  209. package/dist/core/scene/lockGuard.js.map +1 -0
  210. package/dist/core/scene/nodeFnFields.js +5 -6
  211. package/dist/core/scene/nodeFnFields.js.map +1 -1
  212. package/dist/core/scene/nodeMemo.js +45 -19
  213. package/dist/core/scene/nodeMemo.js.map +1 -1
  214. package/dist/core/scene/nodeStore.js +126 -0
  215. package/dist/core/scene/nodeStore.js.map +1 -0
  216. package/dist/core/scene/pickability.js +6 -0
  217. package/dist/core/scene/pickability.js.map +1 -0
  218. package/dist/core/scene/poseFeed.js +38 -38
  219. package/dist/core/scene/poseFeed.js.map +1 -1
  220. package/dist/core/scene/poseOverrides.js +34 -38
  221. package/dist/core/scene/poseOverrides.js.map +1 -1
  222. package/dist/core/scene/renderOrder.js +84 -0
  223. package/dist/core/scene/renderOrder.js.map +1 -0
  224. package/dist/core/scene/scene.js +289 -866
  225. package/dist/core/scene/scene.js.map +1 -1
  226. package/dist/core/scene/serialization.js +68 -0
  227. package/dist/core/scene/serialization.js.map +1 -0
  228. package/dist/core/scene/treeOrder.js +13 -0
  229. package/dist/core/scene/treeOrder.js.map +1 -0
  230. package/dist/core/scene/types.js.map +1 -1
  231. package/dist/core/viewport/meanScale.js +1 -1
  232. package/dist/core/viewport/meanScale.js.map +1 -1
  233. package/dist/core/viewport/view.js +12 -12
  234. package/dist/core/viewport/view.js.map +1 -1
  235. package/dist/core/viewport/zoomBounds.js +10 -8
  236. package/dist/core/viewport/zoomBounds.js.map +1 -1
  237. package/dist/{cornerHandles-BCrDp_mH.d.ts → cornerHandles-CtCb8a3G.d.ts} +1 -1
  238. package/dist/debug/createDebugOverlayLayer.js +14 -14
  239. package/dist/debug/createDebugOverlayLayer.js.map +1 -1
  240. package/dist/debug/flag.js +2 -41
  241. package/dist/features/chrome-caps/useHoverTracking.js +22 -17
  242. package/dist/features/chrome-caps/useHoverTracking.js.map +1 -1
  243. package/dist/features/focus/gateLayer.js +3 -4
  244. package/dist/features/focus/gateLayer.js.map +1 -1
  245. package/dist/features/images/imageCache.js +19 -9
  246. package/dist/features/images/imageCache.js.map +1 -1
  247. package/dist/features/ingestion/contentHandlers.js +14 -11
  248. package/dist/features/ingestion/contentHandlers.js.map +1 -1
  249. package/dist/features/ingestion/index.js +1 -1
  250. package/dist/features/ingestion/registerKitHandlers.js +7 -7
  251. package/dist/features/ingestion/weaselJsonHandler.js +17 -14
  252. package/dist/features/ingestion/weaselJsonHandler.js.map +1 -1
  253. package/dist/features/meshPaint/lazyKind.js +201 -35
  254. package/dist/features/meshPaint/lazyKind.js.map +1 -1
  255. package/dist/features/meshPaint/meshPaint.js +82 -79
  256. package/dist/features/meshPaint/meshPaint.js.map +1 -1
  257. package/dist/features/minimap/createMinimapContribution.js +42 -42
  258. package/dist/features/minimap/layers.js +44 -62
  259. package/dist/features/minimap/layers.js.map +1 -1
  260. package/dist/features/parallax/createParallaxPlane.js +10 -14
  261. package/dist/features/parallax/createParallaxPlane.js.map +1 -1
  262. package/dist/features/paths/anchorEdits.js +19 -8
  263. package/dist/features/paths/anchorEdits.js.map +1 -1
  264. package/dist/features/paths/anchors.js +31 -26
  265. package/dist/features/paths/anchors.js.map +1 -1
  266. package/dist/features/paths/booleans.js +2 -2
  267. package/dist/features/paths/index.js +13 -11
  268. package/dist/features/paths/markerCommands.js +37 -36
  269. package/dist/features/paths/markerCommands.js.map +1 -1
  270. package/dist/features/paths/pathInWorld.js +19 -19
  271. package/dist/features/paths/pathInWorld.js.map +1 -1
  272. package/dist/features/paths/pathLayer.js.map +1 -1
  273. package/dist/features/paths/strokeToPath.js +40 -0
  274. package/dist/features/paths/strokeToPath.js.map +1 -0
  275. package/dist/features/paths/tessellate/stroke.js.map +1 -1
  276. package/dist/features/patterns/commandPaint.js +18 -0
  277. package/dist/features/patterns/commandPaint.js.map +1 -0
  278. package/dist/features/patterns/index.js +5 -17
  279. package/dist/features/patterns/index.js.map +1 -1
  280. package/dist/features/patterns/rasterizeTile.js +17 -0
  281. package/dist/features/patterns/rasterizeTile.js.map +1 -0
  282. package/dist/features/patterns/resolveSpec.js +52 -44
  283. package/dist/features/patterns/resolveSpec.js.map +1 -1
  284. package/dist/features/poseRun/usePoseRun.js +8 -3
  285. package/dist/features/poseRun/usePoseRun.js.map +1 -1
  286. package/dist/features/selection/SelectionContext.js +5 -0
  287. package/dist/features/selection/SelectionContext.js.map +1 -1
  288. package/dist/features/selection/overlay.js +18 -18
  289. package/dist/features/selection/overlay.js.map +1 -1
  290. package/dist/features/text/domOffsets.js +82 -0
  291. package/dist/features/text/domOffsets.js.map +1 -0
  292. package/dist/features/text/domRuns.js +103 -131
  293. package/dist/features/text/domRuns.js.map +1 -1
  294. package/dist/features/text/hitTest.js +5 -2
  295. package/dist/features/text/hitTest.js.map +1 -1
  296. package/dist/features/text/isTextData.js +8 -0
  297. package/dist/features/text/isTextData.js.map +1 -0
  298. package/dist/features/text/overlayDirection.js +15 -0
  299. package/dist/features/text/overlayDirection.js.map +1 -0
  300. package/dist/features/text/runs/rangeStyle.js +32 -34
  301. package/dist/features/text/runs/rangeStyle.js.map +1 -1
  302. package/dist/features/text/textCommand.js +34 -33
  303. package/dist/features/text/textCommand.js.map +1 -1
  304. package/dist/features/text/textToPath.js +40 -40
  305. package/dist/features/text/textToPath.js.map +1 -1
  306. package/dist/features/text/useSceneTextEdit.js +76 -82
  307. package/dist/features/text/useSceneTextEdit.js.map +1 -1
  308. package/dist/features/text/useTextEdit.js +184 -160
  309. package/dist/features/text/useTextEdit.js.map +1 -1
  310. package/dist/features/tiling/createTiledLayer.js +24 -22
  311. package/dist/features/tiling/createTiledLayer.js.map +1 -1
  312. package/dist/index.d.ts +11033 -7749
  313. package/dist/index.js +316 -309
  314. package/dist/input/keyState.js +42 -43
  315. package/dist/input/keyState.js.map +1 -1
  316. package/dist/input/useKeyModifiers.js +11 -0
  317. package/dist/input/useKeyModifiers.js.map +1 -0
  318. package/dist/interactions/actions/align/align.js +8 -8
  319. package/dist/interactions/actions/clipboard/clipboardOps.js +34 -32
  320. package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -1
  321. package/dist/interactions/actions/clipboard/materializePaste.js +10 -7
  322. package/dist/interactions/actions/clipboard/materializePaste.js.map +1 -1
  323. package/dist/interactions/actions/clipboard/wireFormat.js.map +1 -1
  324. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js.map +1 -1
  325. package/dist/interactions/actions/defaultCommitAdapter.js +20 -18
  326. package/dist/interactions/actions/defaultCommitAdapter.js.map +1 -1
  327. package/dist/interactions/actions/defaults/align.js +9 -10
  328. package/dist/interactions/actions/defaults/align.js.map +1 -1
  329. package/dist/interactions/actions/defaults/anchorEditing.js +59 -81
  330. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
  331. package/dist/interactions/actions/defaults/areaSelect.js +35 -38
  332. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
  333. package/dist/interactions/actions/defaults/clipboard.js +26 -10
  334. package/dist/interactions/actions/defaults/clipboard.js.map +1 -1
  335. package/dist/interactions/actions/defaults/clone.js +44 -60
  336. package/dist/interactions/actions/defaults/clone.js.map +1 -1
  337. package/dist/interactions/actions/defaults/copySubtree.js +40 -0
  338. package/dist/interactions/actions/defaults/copySubtree.js.map +1 -0
  339. package/dist/interactions/actions/defaults/distribute.js +14 -13
  340. package/dist/interactions/actions/defaults/distribute.js.map +1 -1
  341. package/dist/interactions/actions/defaults/duplicate.js +17 -57
  342. package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
  343. package/dist/interactions/actions/defaults/editAnchors.js +18 -18
  344. package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -1
  345. package/dist/interactions/actions/defaults/flip.js +52 -46
  346. package/dist/interactions/actions/defaults/flip.js.map +1 -1
  347. package/dist/interactions/actions/defaults/group.js +43 -48
  348. package/dist/interactions/actions/defaults/group.js.map +1 -1
  349. package/dist/interactions/actions/defaults/ingest.js +35 -33
  350. package/dist/interactions/actions/defaults/ingest.js.map +1 -1
  351. package/dist/interactions/actions/defaults/insert.js +50 -51
  352. package/dist/interactions/actions/defaults/insert.js.map +1 -1
  353. package/dist/interactions/actions/defaults/insertPathAnchor.js +7 -7
  354. package/dist/interactions/actions/defaults/lassoSelect.js +67 -70
  355. package/dist/interactions/actions/defaults/lassoSelect.js.map +1 -1
  356. package/dist/interactions/actions/defaults/move.js +267 -249
  357. package/dist/interactions/actions/defaults/move.js.map +1 -1
  358. package/dist/interactions/actions/defaults/nudge.js +40 -68
  359. package/dist/interactions/actions/defaults/nudge.js.map +1 -1
  360. package/dist/interactions/actions/defaults/nudgeSteps.js +37 -0
  361. package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -0
  362. package/dist/interactions/actions/defaults/reorder.js +2 -0
  363. package/dist/interactions/actions/defaults/reorder.js.map +1 -1
  364. package/dist/interactions/actions/defaults/resize.js +104 -98
  365. package/dist/interactions/actions/defaults/resize.js.map +1 -1
  366. package/dist/interactions/actions/defaults/rotate.js +111 -110
  367. package/dist/interactions/actions/defaults/rotate.js.map +1 -1
  368. package/dist/interactions/actions/defaults/setFill.js +7 -7
  369. package/dist/interactions/actions/defaults/setFillOpacity.js +4 -4
  370. package/dist/interactions/actions/defaults/setStroke.js +12 -12
  371. package/dist/interactions/actions/defaults/setStrokeOpacity.js +6 -6
  372. package/dist/interactions/actions/defaults/sliceOps.js +19 -19
  373. package/dist/interactions/actions/defaults/viewportDragPan.js +37 -26
  374. package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -1
  375. package/dist/interactions/actions/edit-anchors/geometry.js +28 -23
  376. package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -1
  377. package/dist/interactions/actions/flip/helpers.js +30 -17
  378. package/dist/interactions/actions/flip/helpers.js.map +1 -1
  379. package/dist/interactions/actions/hitSelection.js +8 -0
  380. package/dist/interactions/actions/hitSelection.js.map +1 -0
  381. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +14 -18
  382. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js.map +1 -1
  383. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +5 -5
  384. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js.map +1 -1
  385. package/dist/interactions/actions/move/behaviors/snapToContainer.js +32 -21
  386. package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -1
  387. package/dist/interactions/actions/move/gestureAdapter.js +32 -15
  388. package/dist/interactions/actions/move/gestureAdapter.js.map +1 -1
  389. package/dist/interactions/actions/move/landedDescendants.js +33 -0
  390. package/dist/interactions/actions/move/landedDescendants.js.map +1 -0
  391. package/dist/interactions/actions/outlines/createOutlines.js +18 -18
  392. package/dist/interactions/actions/poseDescriptorDep.js +16 -4
  393. package/dist/interactions/actions/poseDescriptorDep.js.map +1 -1
  394. package/dist/interactions/actions/poseFrame.js +11 -6
  395. package/dist/interactions/actions/poseFrame.js.map +1 -1
  396. package/dist/interactions/actions/previewOverrides.js +5 -5
  397. package/dist/interactions/actions/previewOverrides.js.map +1 -1
  398. package/dist/interactions/actions/selectionSubtree.js +69 -0
  399. package/dist/interactions/actions/selectionSubtree.js.map +1 -0
  400. package/dist/interactions/actions/useStandardActions.js +66 -62
  401. package/dist/interactions/actions/useStandardActions.js.map +1 -1
  402. package/dist/interactions/gestures/dragGesture/dragGesture.js +4 -7
  403. package/dist/interactions/gestures/dragGesture/dragGesture.js.map +1 -1
  404. package/dist/interactions/gestures/dragGesture/dragPointOf.js +23 -0
  405. package/dist/interactions/gestures/dragGesture/dragPointOf.js.map +1 -0
  406. package/dist/interactions/gestures/handleDrag/handleDrag.js +21 -26
  407. package/dist/interactions/gestures/handleDrag/handleDrag.js.map +1 -1
  408. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +8 -6
  409. package/dist/interactions/gestures/pointerDrag/pointerDrag.js.map +1 -1
  410. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +8 -4
  411. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js.map +1 -1
  412. package/dist/{math-Drrw4ewZ.d.ts → math-J-ACHyEg.d.ts} +1 -2
  413. package/dist/math.d.ts +2 -3
  414. package/dist/move.d.ts +12 -11
  415. package/dist/{originProjection-DEklpDc_.d.ts → originProjection-gHnOup4e.d.ts} +1 -1
  416. package/dist/{registerProgram-BMZRDgrh.d.ts → registerProgram-T9S_PfAX.d.ts} +18 -7
  417. package/dist/renderer/DrawCommand.js.map +1 -1
  418. package/dist/renderer/WeaselRenderer.js +75 -73
  419. package/dist/renderer/WeaselRenderer.js.map +1 -1
  420. package/dist/renderer/cache/GLImageCache.js +15 -5
  421. package/dist/renderer/cache/GLImageCache.js.map +1 -1
  422. package/dist/renderer/cache/GLMeshCache.js +23 -23
  423. package/dist/renderer/cache/GLMeshCache.js.map +1 -1
  424. package/dist/renderer/cache/GLTextureCache.js +18 -1
  425. package/dist/renderer/cache/GLTextureCache.js.map +1 -1
  426. package/dist/renderer/cache/cache.js.map +1 -1
  427. package/dist/renderer/cache/markerCommandCache.js.map +1 -1
  428. package/dist/renderer/cache/strokeMeshCache.js.map +1 -1
  429. package/dist/renderer/cullDrawCommands.js +11 -11
  430. package/dist/renderer/draw/batch.js +133 -0
  431. package/dist/renderer/draw/batch.js.map +1 -0
  432. package/dist/renderer/draw/clip.js +89 -0
  433. package/dist/renderer/draw/clip.js.map +1 -0
  434. package/dist/renderer/draw/customShader.js +230 -0
  435. package/dist/renderer/draw/customShader.js.map +1 -0
  436. package/dist/renderer/draw/drawTriangles.js +8 -0
  437. package/dist/renderer/draw/drawTriangles.js.map +1 -0
  438. package/dist/renderer/draw/effects.js +28 -0
  439. package/dist/renderer/draw/effects.js.map +1 -0
  440. package/dist/renderer/draw/flushBatch.js +35 -0
  441. package/dist/renderer/draw/flushBatch.js.map +1 -0
  442. package/dist/renderer/draw/gradient.js +90 -0
  443. package/dist/renderer/draw/gradient.js.map +1 -0
  444. package/dist/renderer/draw/image.js +38 -0
  445. package/dist/renderer/draw/image.js.map +1 -0
  446. package/dist/renderer/draw/mesh.js +16 -0
  447. package/dist/renderer/draw/mesh.js.map +1 -0
  448. package/dist/renderer/draw/paintBind.js +70 -0
  449. package/dist/renderer/draw/paintBind.js.map +1 -0
  450. package/dist/renderer/draw/pathPaint.js +142 -0
  451. package/dist/renderer/draw/pathPaint.js.map +1 -0
  452. package/dist/renderer/draw/scratchPass.js +83 -0
  453. package/dist/renderer/draw/scratchPass.js.map +1 -0
  454. package/dist/renderer/draw/stencil.js +28 -0
  455. package/dist/renderer/draw/stencil.js.map +1 -0
  456. package/dist/renderer/draw/text.js +167 -0
  457. package/dist/renderer/draw/text.js.map +1 -0
  458. package/dist/renderer/draw/uniforms.js +77 -0
  459. package/dist/renderer/draw/uniforms.js.map +1 -0
  460. package/dist/renderer/draw.js +60 -1116
  461. package/dist/renderer/draw.js.map +1 -1
  462. package/dist/renderer/effects/EffectTargets.js +3 -0
  463. package/dist/renderer/effects/EffectTargets.js.map +1 -1
  464. package/dist/renderer/effects/composite.js +7 -5
  465. package/dist/renderer/effects/composite.js.map +1 -1
  466. package/dist/renderer/index.js +18 -17
  467. package/dist/renderer/math/color.js +63 -83
  468. package/dist/renderer/math/color.js.map +1 -1
  469. package/dist/renderer/math/mat3.js +15 -11
  470. package/dist/renderer/math/mat3.js.map +1 -1
  471. package/dist/renderer/math/viewToMat3.js +1 -1
  472. package/dist/renderer/math/viewToMat3.js.map +1 -1
  473. package/dist/renderer/shaders/ShaderProgram.js +13 -13
  474. package/dist/renderer/shaders/ShaderProgram.js.map +1 -1
  475. package/dist/renderer/shaders/glyphPaint.js +3 -3
  476. package/dist/renderer/shaders/glyphPaint.js.map +1 -1
  477. package/dist/renderer/shaders/gradFill.js +2 -1
  478. package/dist/renderer/shaders/gradFill.js.map +1 -1
  479. package/dist/renderer/shaders/pathFill.js +2 -1
  480. package/dist/renderer/shaders/pathFill.js.map +1 -1
  481. package/dist/renderer/shaders/patternFill.js +2 -1
  482. package/dist/renderer/shaders/patternFill.js.map +1 -1
  483. package/dist/renderer/shaders/registerProgram.js.map +1 -1
  484. package/dist/renderer/strokeLengths.js.map +1 -1
  485. package/dist/renderer/textures/registerTexture.js +25 -5
  486. package/dist/renderer/textures/registerTexture.js.map +1 -1
  487. package/dist/renderer.d.ts +16 -15
  488. package/dist/renderer.js +17 -16
  489. package/dist/resize.d.ts +5 -6
  490. package/dist/resize.js +5 -5
  491. package/dist/style.css +1 -1
  492. package/dist/test-hook/install.js +12 -6
  493. package/dist/test-hook/install.js.map +1 -1
  494. package/dist/{test-seams-CuIxe0xY.d.ts → test-seams-DM2B87-g.d.ts} +4 -4
  495. package/dist/test-seams.d.ts +2 -2
  496. package/dist/tools/builtin/ellipse/useEllipseTool.js +1 -0
  497. package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -1
  498. package/dist/tools/builtin/hand/useHandTool.js +1 -0
  499. package/dist/tools/builtin/hand/useHandTool.js.map +1 -1
  500. package/dist/tools/builtin/lasso/useLassoTool.js +11 -11
  501. package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -1
  502. package/dist/tools/builtin/line/useLineTool.js +1 -0
  503. package/dist/tools/builtin/line/useLineTool.js.map +1 -1
  504. package/dist/tools/builtin/pen/usePenTool.js +153 -103
  505. package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
  506. package/dist/tools/builtin/pencil/usePencilTool.js +1 -0
  507. package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -1
  508. package/dist/tools/builtin/polygon/usePolygonTool.js +13 -8
  509. package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
  510. package/dist/tools/builtin/rect/useRectTool.js +1 -0
  511. package/dist/tools/builtin/rect/useRectTool.js.map +1 -1
  512. package/dist/tools/builtin/select/selectionContributions.js +24 -23
  513. package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
  514. package/dist/tools/builtin/select/useSelectTool.js +51 -48
  515. package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
  516. package/dist/tools/builtin/shared/pointerFollower.js +17 -0
  517. package/dist/tools/builtin/shared/pointerFollower.js.map +1 -0
  518. package/dist/tools/builtin/slice/useSliceTool.js +49 -54
  519. package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
  520. package/dist/tools/builtin/star/useStarTool.js +22 -16
  521. package/dist/tools/builtin/star/useStarTool.js.map +1 -1
  522. package/dist/tools/builtin/text/useTextTool.js +1 -0
  523. package/dist/tools/builtin/text/useTextTool.js.map +1 -1
  524. package/dist/tools/useKeybindings.js +14 -30
  525. package/dist/tools/useKeybindings.js.map +1 -1
  526. package/dist/{types-B_9g6hMM.d.ts → types-B4iJRHC3.d.ts} +5 -1
  527. package/dist/{types-A37hYkeR.d.ts → types-k-5Oqh-U.d.ts} +31 -7
  528. package/dist/util/color.js +3 -3
  529. package/dist/util/color.js.map +1 -1
  530. package/dist/util/paint.js.map +1 -1
  531. package/dist/version.js +1 -1
  532. package/package.json +20 -18
  533. package/dist/autoPoseDescriptor-vCdt55xm.d.ts +0 -27
  534. package/dist/builtins-C-VgUlWI.d.ts +0 -4514
  535. package/dist/core/isPlainObject.js.map +0 -1
  536. package/dist/debug/flag.js.map +0 -1
  537. package/dist/interactions/actions/defaults/freshNodeId.js +0 -10
  538. package/dist/interactions/actions/defaults/freshNodeId.js.map +0 -1
  539. package/dist/renderer/shaders/imageFill.js +0 -14
  540. package/dist/renderer/shaders/imageFill.js.map +0 -1
  541. package/dist/tools/prefs.js +0 -62
  542. package/dist/tools/prefs.js.map +0 -1
@@ -2,114 +2,116 @@ import { planeToPlane as e, toPlane as t } from "../../../core/viewport/parallax
2
2
  import { dropPreviewOverrides as n, syncPreviewOverrides as r } from "../previewOverrides.js";
3
3
  import { IDENTITY_POSE_COMPOSITION as i, composeWorldPose as a, frameAtOrAbove as o, rebaseLocalPose as s } from "../../../core/scene/composeFrame.js";
4
4
  import { definesFrame as c, documentPose as l, effectivePose as u } from "../../../core/scene/effectivePose.js";
5
- import { gesturePlaneReader as d, gestureViewReader as f } from "../../gestures/shared/screenTolerance.js";
6
- import { commitGestureOps as p, readGestureLifecycle as m, reduceBehaviorEnd as h, runBehaviorCancel as g } from "../gestureLifecycle.js";
7
- import { asNodeId as _ } from "../../../core/scene/types.js";
8
- import { SceneArrivalRefused as v } from "../../../core/scene/arrivals.js";
9
- import { createTransformOp as y } from "../../../core/ops/transform.js";
10
- import { createReparentOp as b } from "../../../core/ops/reparent.js";
11
- import { geometryDataOp as x } from "../geometryProjection.js";
12
- import { poseDescriptorForNode as S, translatePoseViaDescriptor as C } from "../../../core/geometry/poseDescriptor.js";
13
- import { poseDescriptorOf as w } from "../poseDescriptorDep.js";
14
- import { moveGestureAdapter as T } from "../move/gestureAdapter.js";
15
- import { carryPose as E, inPlane as D, invertPlane as ee, planeOf as O, selectionLayer as k } from "../planeInput.js";
16
- import { pointInPath as A } from "@weasel-js/geom";
17
- import { DRAG_THRESHOLD_PX as te, isAnchorOrControl as j, pastDragThreshold as M, resolveParams as N } from "@weasel-js/routing";
5
+ import { createTransformOp as d } from "../../../core/ops/transform.js";
6
+ import { poseDescriptorForNode as f, translatePoseViaDescriptor as p } from "../../../core/geometry/poseDescriptor.js";
7
+ import { asNodeId as m } from "../../../core/scene/types.js";
8
+ import { SceneArrivalRefused as h } from "../../../core/scene/arrivals.js";
9
+ import { gesturePlaneReader as g, gestureViewReader as _ } from "../../gestures/shared/screenTolerance.js";
10
+ import { commitGestureOps as v, readGestureLifecycle as y, reduceBehaviorEnd as b, runBehaviorCancel as x } from "../gestureLifecycle.js";
11
+ import { moveSources as S } from "../selectionSubtree.js";
12
+ import { createReparentOp as C } from "../../../core/ops/reparent.js";
13
+ import { geometryDataOp as w } from "../geometryProjection.js";
14
+ import { nodeDescriptors as T, poseDescriptorOf as E } from "../poseDescriptorDep.js";
15
+ import { moveGestureAdapter as D } from "../move/gestureAdapter.js";
16
+ import { landedDescendantOps as ee } from "../move/landedDescendants.js";
17
+ import { carryPose as O, inPlane as k, invertPlane as te, planeOf as A, selectionLayer as j } from "../planeInput.js";
18
+ import { pointInPath as M } from "@weasel-js/geom";
19
+ import { DRAG_THRESHOLD_PX as N, isAnchorOrControl as P, pastDragThreshold as F, resolveParams as I } from "@weasel-js/routing";
18
20
  //#region src/interactions/actions/defaults/move.ts
19
- function P(e, n) {
21
+ function L(e, n) {
20
22
  let r = e.layout;
21
23
  if (!r || !n.drag) return;
22
- let i = e.scene, o = e.pc, c = V(i), { dx: l, dy: u } = e.currentDelta, d = (t, n) => {
24
+ let i = e.scene, o = e.pc, c = U(i), { dx: l, dy: u } = e.currentDelta, d = (t, n) => {
23
25
  r.reflow ? e.reflowTargets.set(t, n) : e.previews.set(t, n);
24
- }, f = e.projection, p = H(e, c), m = [];
26
+ }, h = e.projection, g = W(e, c), _ = [];
25
27
  for (let t of e.ids) {
26
28
  let n = i.get(t);
27
29
  if (!n) continue;
28
- let r = a(p, t, o.compose), s = S(f, n), c = z(e, t, l, u), d = ee(O(e.view, n.layer)), h = E(s, C(r, c.dx, c.dy, s), d), g = s.getBounds(h);
29
- m.push({
30
+ let r = a(g, t, o.compose), s = f(h, n), c = V(e, t, l, u), d = te(A(e.view, n.layer)), m = O(s, p(r, c.dx, c.dy, s), d), v = s.getBounds(m);
31
+ _.push({
30
32
  id: t,
31
33
  arg: {
32
34
  id: t,
33
- originPose: E(s, r, d),
34
- pose: h,
35
+ originPose: O(s, r, d),
36
+ pose: m,
35
37
  sourceContainerId: n.parent ?? null
36
38
  },
37
39
  center: {
38
- x: g.x + g.width / 2,
39
- y: g.y + g.height / 2
40
+ x: v.x + v.width / 2,
41
+ y: v.y + v.height / 2
40
42
  }
41
43
  });
42
44
  }
43
- let h = (e, n) => {
45
+ let v = (e, n) => {
44
46
  if (n === null) return e;
45
- let r = S(f, i.get(e.id));
47
+ let r = f(h, i.get(e.id));
46
48
  return {
47
49
  id: e.id,
48
50
  arg: {
49
51
  ...e.arg,
50
- originPose: E(r, e.arg.originPose, n),
51
- pose: E(r, e.arg.pose, n)
52
+ originPose: O(r, e.arg.originPose, n),
53
+ pose: O(r, e.arg.pose, n)
52
54
  },
53
55
  center: t(n, e.center)
54
56
  };
55
57
  };
56
- if (m.length === 0) return;
57
- let g = new Set(m.map((e) => e.id)), v = Infinity, y = Infinity, b = -Infinity, x = -Infinity;
58
- for (let e of m) {
59
- let t = f.getBounds(e.arg.pose);
60
- v = Math.min(v, t.x), y = Math.min(y, t.y), b = Math.max(b, t.x + t.width), x = Math.max(x, t.y + t.height);
58
+ if (_.length === 0) return;
59
+ let y = new Set(_.map((e) => e.id)), b = Infinity, x = Infinity, S = -Infinity, C = -Infinity;
60
+ for (let e of _) {
61
+ let t = h.getBounds(e.arg.pose);
62
+ b = Math.min(b, t.x), x = Math.min(x, t.y), S = Math.max(S, t.x + t.width), C = Math.max(C, t.y + t.height);
61
63
  }
62
64
  let w = {
63
- x: (v + b) / 2,
64
- y: (y + x) / 2
65
+ x: (b + S) / 2,
66
+ y: (x + C) / 2
65
67
  };
66
68
  e.dropCenter = w;
67
69
  let T = {
68
70
  x: n.drag.current.x - w.x,
69
71
  y: n.drag.current.y - w.y
70
- }, D = [], k = r.dropTarget ?? "innermost", A = (e, t, n, r, i) => {
72
+ }, E = [], D = r.dropTarget ?? "innermost", ee = (e, t, n, r, i) => {
71
73
  let a = r.dropRegion?.({
72
74
  id: e,
73
75
  bounds: n
74
76
  }) ?? null;
75
- return a ? F(a, n, i) : k === "region" ? !1 : r.contains ? r.contains(t, i) : i.x >= n.x && i.x < n.x + n.width && i.y >= n.y && i.y < n.y + n.height;
76
- }, te = (n, s) => {
77
- if (g.has(n)) return;
77
+ return a ? R(a, n, i) : D === "region" ? !1 : r.contains ? r.contains(t, i) : i.x >= n.x && i.x < n.x + n.width && i.y >= n.y && i.y < n.y + n.height;
78
+ }, k = (n, s) => {
79
+ if (y.has(n)) return;
78
80
  let l = r.getLayout(n);
79
81
  if (!l) return;
80
82
  let u = i.get(n);
81
83
  if (!u) return;
82
- let d = a(c, n, o.compose), p = S(f, u).getBounds(d), _ = O(e.view, u.layer), v = _ ? t(_, w) : w;
83
- if (A(n, d, p, l, v)) {
84
+ let d = a(c, n, o.compose), p = f(h, u).getBounds(d), m = A(e.view, u.layer), g = m ? t(m, w) : w;
85
+ if (ee(n, d, p, l, g)) {
84
86
  if (l.acceptsDrop) {
85
87
  let e = {
86
88
  id: n,
87
89
  bounds: p
88
90
  };
89
- for (let t of m) if (!l.acceptsDrop(e, h(t, _).arg)) return;
91
+ for (let t of _) if (!l.acceptsDrop(e, v(t, m).arg)) return;
90
92
  }
91
- D.push({
93
+ E.push({
92
94
  id: n,
93
95
  bounds: p,
94
96
  layout: l,
95
97
  zPath: s,
96
98
  depth: s.length,
97
- plane: _
99
+ plane: m
98
100
  });
99
101
  }
100
102
  }, j = (e, t) => {
101
103
  let n = e === null ? i.roots : i.childrenOf(e);
102
104
  for (let e = 0; e < n.length; e++) {
103
105
  let r = [...t, e];
104
- te(n[e], r), j(n[e], r);
106
+ k(n[e], r), j(n[e], r);
105
107
  }
106
108
  };
107
109
  j(null, []);
108
110
  let M = null;
109
- if (k === "topmost") {
110
- let e = new Map(D.map((e) => [e.id, e]));
111
+ if (D === "topmost") {
112
+ let e = new Map(E.map((e) => [e.id, e]));
111
113
  for (let t of i.renderOrder()) M = e.get(t) ?? M;
112
- } else for (let e of D) {
114
+ } else for (let e of E) {
113
115
  if (M === null) {
114
116
  M = e;
115
117
  continue;
@@ -136,75 +138,75 @@ function P(e, n) {
136
138
  let N = M.layout, P = {
137
139
  id: M.id,
138
140
  bounds: M.bounds
139
- }, I = i.childrenOf(M.id).map((e) => ({
141
+ }, F = i.childrenOf(M.id).map((e) => ({
140
142
  id: e,
141
143
  pose: a(c, e, o.compose)
142
- })), L = (e, t) => {
143
- let n = I.findIndex((t) => t.id === e);
144
- n >= 0 ? I[n] = {
144
+ })), I = (e, t) => {
145
+ let n = F.findIndex((t) => t.id === e);
146
+ n >= 0 ? F[n] = {
145
147
  id: e,
146
148
  pose: t
147
- } : I.push({
149
+ } : F.push({
148
150
  id: e,
149
151
  pose: t
150
152
  });
151
- }, R = [], B = /* @__PURE__ */ new Map(), U = M.plane;
152
- for (let e of m) {
153
- let n = h(e, U), r = I.map((e) => ({ ...e })), i = N.getDropTargets(P, r, n.arg), a = {
153
+ }, L = [], re = /* @__PURE__ */ new Map(), z = M.plane;
154
+ for (let e of _) {
155
+ let n = v(e, z), r = F.map((e) => ({ ...e })), i = N.getDropTargets(P, r, n.arg), a = {
154
156
  x: e.center.x + T.x,
155
157
  y: e.center.y + T.y
156
- }, o = N.snap.pickTarget(i, U ? t(U, a) : a);
158
+ }, o = N.snap.pickTarget(i, z ? t(z, a) : a);
157
159
  if (!o) return;
158
- R.push({
160
+ L.push({
159
161
  dragged: n.arg,
160
162
  children: r,
161
163
  target: o
162
164
  });
163
165
  let s = N.reflowPoses(P, r, n.arg, o);
164
- for (let [e, t] of s) L(e, t), g.has(_(e)) || B.set(_(e), t);
165
- L(n.arg.id, s.get(n.arg.id) ?? o.pose);
166
+ for (let [e, t] of s) I(e, t), y.has(m(e)) || re.set(m(e), t);
167
+ I(n.arg.id, s.get(n.arg.id) ?? o.pose);
166
168
  }
167
- let W = /* @__PURE__ */ new Set();
168
- for (let [e, t] of B) {
169
+ let B = /* @__PURE__ */ new Set();
170
+ for (let [e, t] of re) {
169
171
  let n = i.get(e)?.parent ?? null;
170
- d(e, s(c, t, n, o.compose, o.decompose)), W.add(e);
172
+ d(e, s(c, t, n, o.compose, o.decompose)), B.add(e);
171
173
  }
172
- let G = /* @__PURE__ */ new Map();
173
- for (let [e, t] of ne(m.map((e) => ({
174
+ let H = /* @__PURE__ */ new Map();
175
+ for (let [e, t] of ne(_.map((e) => ({
174
176
  id: e.id,
175
177
  sourceContainerId: e.arg.sourceContainerId
176
178
  })), P.id)) {
177
- let n = r.getLayout(e), l = i.get(_(e));
179
+ let n = r.getLayout(e), l = i.get(m(e));
178
180
  if (!n || !l) continue;
179
181
  let u = {
180
182
  id: e,
181
- bounds: f.getBounds(a(c, e, o.compose))
182
- }, p = i.childrenOf(_(e)).filter((e) => !t.has(e)).map((e) => ({
183
+ bounds: h.getBounds(a(c, e, o.compose))
184
+ }, f = i.childrenOf(m(e)).filter((e) => !t.has(e)).map((e) => ({
183
185
  id: e,
184
186
  pose: a(c, e, o.compose)
185
187
  }));
186
- for (let [e, t] of n.childPoses(u, p)) {
187
- let n = f.getBounds(a(c, e, o.compose)), r = f.getBounds(t);
188
+ for (let [e, t] of n.childPoses(u, f)) {
189
+ let n = h.getBounds(a(c, e, o.compose)), r = h.getBounds(t);
188
190
  if (n.x === r.x && n.y === r.y && n.width === r.width && n.height === r.height) continue;
189
- G.set(e, t);
190
- let l = i.get(_(e))?.parent ?? null;
191
- d(_(e), s(c, t, l, o.compose, o.decompose)), W.add(_(e));
191
+ H.set(e, t);
192
+ let l = i.get(m(e))?.parent ?? null;
193
+ d(m(e), s(c, t, l, o.compose, o.decompose)), B.add(m(e));
192
194
  }
193
195
  }
194
196
  e.layoutPass = {
195
197
  layout: N,
196
198
  container: P,
197
- placements: R,
198
- sourceReflow: G,
199
- reflowIds: W
199
+ placements: L,
200
+ sourceReflow: H,
201
+ reflowIds: B
200
202
  };
201
203
  }
202
- function F(e, t, n) {
204
+ function R(e, t, n) {
203
205
  let r = {
204
206
  x: n.x - t.x,
205
207
  y: n.y - t.y
206
208
  };
207
- return typeof e == "function" ? e(r) : A(e, r.x, r.y);
209
+ return typeof e == "function" ? e(r) : M(e, r.x, r.y);
208
210
  }
209
211
  function ne(e, t) {
210
212
  let n = /* @__PURE__ */ new Map();
@@ -216,40 +218,40 @@ function ne(e, t) {
216
218
  }
217
219
  return n;
218
220
  }
219
- function I(e, n) {
221
+ function re(e, n) {
220
222
  let r = /* @__PURE__ */ new Map(), i = e.layout, o = e.dropCenter;
221
223
  if (!i || !o) return r;
222
- let { scene: s, pc: c, projection: l } = e, u = V(s), d = /* @__PURE__ */ new Set([...e.ids, ...e.cascadeIds]), f = (n, r) => {
223
- let i = s.get(n), d = O(e.view, i.layer), f = d ? t(d, o) : o, p = a(u, n, c.compose);
224
- if (r?.contains) return r.contains(p, f);
225
- let m = S(l, i).getBounds(p);
226
- return f.x >= m.x && f.x < m.x + m.width && f.y >= m.y && f.y < m.y + m.height;
227
- }, p = /* @__PURE__ */ new Map(), m = (e) => {
228
- if (p.has(e)) return p.get(e);
224
+ let { scene: s, pc: c, projection: l } = e, u = U(s), d = /* @__PURE__ */ new Set([...e.ids, ...e.cascadeIds]), p = (n, r) => {
225
+ let i = s.get(n), d = A(e.view, i.layer), p = d ? t(d, o) : o, m = a(u, n, c.compose);
226
+ if (r?.contains) return r.contains(m, p);
227
+ let h = f(l, i).getBounds(m);
228
+ return p.x >= h.x && p.x < h.x + h.width && p.y >= h.y && p.y < h.y + h.height;
229
+ }, m = /* @__PURE__ */ new Map(), h = (e) => {
230
+ if (m.has(e)) return m.get(e);
229
231
  let t = null, n = -1, r = (a, o) => {
230
232
  for (let c of a === null ? s.roots : s.childrenOf(a)) {
231
233
  if (d.has(c)) continue;
232
234
  let a = s.get(c);
233
- a && a.kind === "container" && (a.layer === e && o >= n && i.getLayout(c) === null && f(c, null) && (t = c, n = o), r(c, o + 1));
235
+ a && a.kind === "container" && (a.layer === e && o >= n && i.getLayout(c) === null && p(c, null) && (t = c, n = o), r(c, o + 1));
234
236
  }
235
237
  };
236
- return r(null, 0), p.set(e, t), t;
238
+ return r(null, 0), m.set(e, t), t;
237
239
  };
238
240
  for (let e of n) {
239
241
  let t = s.get(e), n = t?.parent ?? null;
240
242
  if (!t || n === null) continue;
241
243
  let a = i.getLayout(n);
242
- a && !f(n, a) && r.set(e, m(t.layer));
244
+ a && !p(n, a) && r.set(e, h(t.layer));
243
245
  }
244
246
  return r;
245
247
  }
246
- function L(e, t, n, r) {
248
+ function z(e, t, n, r) {
247
249
  let i = [];
248
250
  for (let a of t) {
249
251
  if (!e.startPoses.has(a) || e.carried.has(a)) continue;
250
252
  let t = e.scene.get(a);
251
253
  if (!t) continue;
252
- let o = R(e, a, n, r), s = e.caught.get(a);
254
+ let o = B(e, a, n, r), s = e.caught.get(a);
253
255
  s && (o.dx += s.dx, o.dy += s.dy);
254
256
  let c = [
255
257
  1,
@@ -259,13 +261,13 @@ function L(e, t, n, r) {
259
261
  o.dx,
260
262
  o.dy
261
263
  ], l = t.pose;
262
- if (i.push(y({
264
+ if (i.push(d({
263
265
  id: a,
264
266
  from: l,
265
- to: C(l, o.dx, o.dy, e.projection),
267
+ to: p(l, o.dx, o.dy, e.descriptorOf(a)),
266
268
  label: e.lifecycle.label
267
269
  })), e.geometryProjection) {
268
- let n = x(e.geometryProjection, {
270
+ let n = w(e.geometryProjection, {
269
271
  id: a,
270
272
  data: t.data,
271
273
  pose: l
@@ -275,25 +277,25 @@ function L(e, t, n, r) {
275
277
  }
276
278
  return i;
277
279
  }
278
- function R(e, t, n, r) {
279
- let { dx: i, dy: a } = z(e, t, n, r), o = e.frames.get(t);
280
+ function B(e, t, n, r) {
281
+ let { dx: i, dy: a } = V(e, t, n, r), o = e.frames.get(t);
280
282
  if (o === void 0) return {
281
283
  dx: i,
282
284
  dy: a
283
285
  };
284
- let { pc: s, projection: c } = e, l = c.getBounds(s.decompose(o.frameWorld, o.world)), u = c.getBounds(s.decompose(o.frameWorld, C(o.world, i, a, c)));
286
+ let { pc: s } = e, c = e.descriptorOf(t), l = c.getBounds(s.decompose(o.frameWorld, o.world)), u = c.getBounds(s.decompose(o.frameWorld, p(o.world, i, a, c)));
285
287
  return {
286
288
  dx: u.x - l.x,
287
289
  dy: u.y - l.y
288
290
  };
289
291
  }
290
- function z(e, n, r, i) {
292
+ function V(e, n, r, i) {
291
293
  let a = e.scene.get(n)?.layer, o = a === void 0 ? void 0 : e.planeRefs.get(a);
292
294
  if (!o) return {
293
295
  dx: r,
294
296
  dy: i
295
297
  };
296
- let s = O(e.view, a), c = {
298
+ let s = A(e.view, a), c = {
297
299
  x: o.edited.x + r,
298
300
  y: o.edited.y + i
299
301
  }, l = s ? t(s, c) : c;
@@ -302,7 +304,7 @@ function z(e, n, r, i) {
302
304
  dy: l.y - o.own.y
303
305
  };
304
306
  }
305
- function B(e, t) {
307
+ function H(e, t) {
306
308
  let n = new Set(e.ids), r = e.ids.filter((e) => !t.has(e));
307
309
  for (let i of e.cascadeIds) {
308
310
  let a = e.scene.get(i)?.parent ?? null, o = !1;
@@ -318,7 +320,7 @@ function B(e, t) {
318
320
  }
319
321
  return r;
320
322
  }
321
- function V(e) {
323
+ function U(e) {
322
324
  return {
323
325
  getPose: (t) => l(e, e.get(t)),
324
326
  getParent: (t) => e.get(t)?.parent ?? null,
@@ -328,14 +330,14 @@ function V(e) {
328
330
  }
329
331
  };
330
332
  }
331
- function H(e, t) {
333
+ function W(e, t) {
332
334
  return e.caught.size === 0 ? t : {
333
335
  ...t,
334
336
  getPose: (n) => e.caught.has(n) ? e.startPoses.get(n) : t.getPose(n)
335
337
  };
336
338
  }
337
- function U(e) {
338
- let t = /* @__PURE__ */ new Map(), { scene: n, pc: r } = e, i = V(n);
339
+ function ie(e) {
340
+ let t = /* @__PURE__ */ new Map(), { scene: n, pc: r } = e, i = U(n);
339
341
  for (let s of e.startPoses.keys()) {
340
342
  let c = e.previews.get(s);
341
343
  if (c === void 0) continue;
@@ -348,8 +350,8 @@ function U(e) {
348
350
  }
349
351
  return t;
350
352
  }
351
- function W(e, t, n) {
352
- let { scene: r, pc: i } = e, a = V(r);
353
+ function ae(e, t, n) {
354
+ let { scene: r, pc: i } = e, a = U(r);
353
355
  for (let o of e.startPoses.keys()) {
354
356
  let c = n.get(o);
355
357
  if (!c) {
@@ -360,10 +362,12 @@ function W(e, t, n) {
360
362
  t.settle(o, { from: u });
361
363
  }
362
364
  }
363
- function G(e, t) {
364
- let n = e.deps.nodeAtPoint;
365
+ function oe(e, t) {
366
+ let n = t.nodeAtPoint;
365
367
  if (!n) return null;
366
- let r = /* @__PURE__ */ new Set([...t.ids, ...t.cascadeIds]), i = n(e.world, r);
368
+ let r = e.drag ? e.world : t.lastWorld;
369
+ if (!r) return null;
370
+ let i = n(r, /* @__PURE__ */ new Set([...t.ids, ...t.cascadeIds]));
367
371
  if (!i) return null;
368
372
  let a = t.scene.get(i);
369
373
  return a ? a.kind === "container" ? {
@@ -376,21 +380,22 @@ function G(e, t) {
376
380
  hitSibling: i
377
381
  } : null;
378
382
  }
379
- function re(t, n, r, i, o, c) {
380
- let l = t.scene, u = V(l);
383
+ function se(t, n, r, i, o, c) {
384
+ let l = t.scene, u = U(l), d = z(t, t.cascadeIds, i, o);
381
385
  for (let d of t.ids) {
382
386
  if (!t.startPoses.has(d)) continue;
383
- let f = a(u, d, c.compose), p = z(t, d, i, o), m = l.get(d).layer, h = E(t.projection, C(f, p.dx, p.dy, t.projection), m === n.newLayer ? null : e(O(t.view, m), O(t.view, n.newLayer))), g = s(u, h, n.newParent, c.compose, c.decompose), _ = l.get(d);
384
- _.layer !== n.newLayer && (_.parent !== null && l.move(d, null), l.setLayer(d, n.newLayer));
385
- let v;
387
+ let f = a(u, d, c.compose), m = V(t, d, i, o), h = l.get(d).layer, g = O(t.descriptorOf(d), p(f, m.dx, m.dy, t.descriptorOf(d)), h === n.newLayer ? null : e(A(t.view, h), A(t.view, n.newLayer))), _ = s(u, g, n.newParent, c.compose, c.decompose), v = l.get(d);
388
+ v.layer !== n.newLayer && (v.parent !== null && l.move(d, null), l.setLayer(d, n.newLayer));
389
+ let y;
386
390
  if (r === "above" && n.hitSibling) {
387
391
  let e = (n.newParent === null ? l.roots : l.childrenOf(n.newParent)).filter((e) => e !== d).indexOf(n.hitSibling);
388
- e >= 0 && (v = e + 1);
392
+ e >= 0 && (y = e + 1);
389
393
  }
390
- l.move(d, n.newParent, v), l.setPose(d, g);
394
+ l.move(d, n.newParent, y), l.setPose(d, _);
391
395
  }
396
+ for (let e of d) e.apply(t.adapter);
392
397
  }
393
- var K = D({
398
+ var G = k({
394
399
  id: "move",
395
400
  label: "Move",
396
401
  activeCursor: "move",
@@ -413,56 +418,60 @@ var K = D({
413
418
  invoker: {
414
419
  timing: "ongoing",
415
420
  start(e, c) {
416
- let x = e.deps.selection, S = e.deps.scene, E = w(e.deps.poseDescriptor), D = e.deps.layout, k = e.deps.applyOps, A = e.deps.geometryProjection, F = e.deps.poseComposition ?? i;
417
- if (!x || !S || j(e.drag?.affordance)) return {};
418
- let K = N(c?.params), ie = K?.expandIds, ae = [...x.get()], q = ie ? ie(ae) : ae;
419
- if (q.length === 0) return {};
420
- let J = /* @__PURE__ */ new Map(), oe = [], Y = /* @__PURE__ */ new Set(), X = [], Z = D?.reflow ?? null, se = /* @__PURE__ */ new Map(), ce = (e, t) => {
421
- let n = Z?.poseOf(e);
422
- if (!Z || n === void 0) return;
423
- Z.glide(e, n, { from: n });
424
- let r = E.getBounds(n), i = E.getBounds(l(S, t));
425
- se.set(e, {
421
+ let f = e.deps.selection, w = e.deps.scene, O = E(e.deps.poseDescriptor), k = e.deps.layout, j = e.deps.applyOps, M = e.deps.geometryProjection, R = e.deps.poseComposition ?? i;
422
+ if (!f || !w || P(e.drag?.affordance)) return {};
423
+ let G = I(c?.params), ce = G?.expandIds, le = [...f.get()], K = S(w, ce ? ce(le) : le);
424
+ if (K.length === 0) return {};
425
+ let q = /* @__PURE__ */ new Map(), ue = [], J = /* @__PURE__ */ new Set(), Y = [], X = k?.reflow ?? null, de = /* @__PURE__ */ new Map(), fe = (e, t) => {
426
+ let n = X?.poseOf(e);
427
+ if (!X || n === void 0) return;
428
+ X.glide(e, n, { from: n });
429
+ let r = O.getBounds(n), i = O.getBounds(l(w, t));
430
+ de.set(e, {
426
431
  dx: r.x - i.x,
427
432
  dy: r.y - i.y
428
433
  });
429
434
  };
430
- for (let e of q) {
431
- let t = S.get(e);
432
- t && (ce(e, t), J.set(e, u(S, t)), Y.add(e), X.push(e));
435
+ for (let e of K) {
436
+ let t = w.get(e);
437
+ t && (fe(e, t), q.set(e, u(w, t)), J.add(e), Y.push(e));
433
438
  }
434
- for (; X.length > 0;) {
435
- let e = X.shift();
436
- for (let t of S.childrenOf(e)) {
437
- if (Y.has(t)) continue;
438
- Y.add(t);
439
- let e = S.get(t);
440
- e && (ce(t, e), J.set(t, u(S, e)), oe.push(t), X.push(t));
439
+ for (; Y.length > 0;) {
440
+ let e = Y.shift();
441
+ for (let t of w.childrenOf(e)) {
442
+ if (J.has(t)) continue;
443
+ J.add(t);
444
+ let e = w.get(t);
445
+ e && (fe(t, e), q.set(t, u(w, e)), ue.push(t), Y.push(t));
441
446
  }
442
447
  }
443
- let le = /* @__PURE__ */ new Set(), ue = /* @__PURE__ */ new Map();
444
- if (F.closure !== "identity") {
445
- let e = V(S);
446
- for (let t of J.keys()) {
447
- let n = o(e, S.get(t)?.parent ?? null);
448
+ let pe = /* @__PURE__ */ new Set(), Z = /* @__PURE__ */ new Map();
449
+ if (R.closure !== "identity") {
450
+ let e = U(w);
451
+ for (let t of q.keys()) {
452
+ let n = o(e, w.get(t)?.parent ?? null);
448
453
  if (n !== null) {
449
- if (J.has(_(n))) {
450
- le.add(t);
454
+ if (q.has(m(n))) {
455
+ pe.add(t);
451
456
  continue;
452
457
  }
453
- ue.set(t, {
454
- world: a(e, t, F.compose),
455
- frameWorld: a(e, n, F.compose)
458
+ Z.set(t, {
459
+ world: a(e, t, R.compose),
460
+ frameWorld: a(e, n, R.compose)
456
461
  });
457
462
  }
458
463
  }
459
464
  }
460
- let de = c?.behaviors ?? [], fe = K?.dragThresholdPx ?? te, Q = m(K, "Move", de), pe = !1, me = T(S), he = /* @__PURE__ */ new Map();
461
- for (let [e, t] of J) he.set(e, t);
462
- let ge = f(e.deps), _e = d(e.deps), ve = {
463
- draggedIds: q,
464
- origin: he,
465
- current: new Map(he),
465
+ let me = c?.behaviors ?? [], he = G?.dragThresholdPx ?? N, Q = y(G, "Move", me), ge = !1, _e = D(w, (e, t, n) => v({
466
+ scene: w,
467
+ applyOps: j,
468
+ adapter: n
469
+ }, Q, e)), ve = /* @__PURE__ */ new Map();
470
+ for (let [e, t] of q) ve.set(e, t);
471
+ let ye = _(e.deps), be = g(e.deps), xe = {
472
+ draggedIds: K,
473
+ origin: ve,
474
+ current: new Map(ve),
466
475
  snap: null,
467
476
  modifiers: { ...e.modifiers },
468
477
  pointer: {
@@ -471,19 +480,19 @@ var K = D({
471
480
  clientX: 0,
472
481
  clientY: 0
473
482
  },
474
- view: ge(),
475
- plane: _e(),
476
- adapter: me,
483
+ view: ye(),
484
+ plane: be(),
485
+ adapter: _e,
477
486
  scratch: {}
478
487
  };
479
- for (let e of de) e.onStart?.(ve);
488
+ for (let e of me) e.onStart?.(xe);
480
489
  let $ = {
481
- startPoses: J,
482
- ids: q,
483
- cascadeIds: oe,
484
- carried: le,
485
- frames: ue,
486
- scene: S,
490
+ startPoses: q,
491
+ ids: K,
492
+ cascadeIds: ue,
493
+ carried: pe,
494
+ frames: Z,
495
+ scene: w,
487
496
  currentDelta: {
488
497
  dx: 0,
489
498
  dy: 0
@@ -494,55 +503,63 @@ var K = D({
494
503
  overrideEntries: /* @__PURE__ */ new Map(),
495
504
  reflowTargets: /* @__PURE__ */ new Map(),
496
505
  gliding: /* @__PURE__ */ new Set(),
497
- caught: se,
498
- projection: E,
499
- behaviors: de,
500
- gestureCtx: ve,
501
- adapter: me,
502
- layout: D,
506
+ caught: de,
507
+ projection: O,
508
+ descriptorOf: T(w, O),
509
+ behaviors: me,
510
+ gestureCtx: xe,
511
+ adapter: _e,
512
+ layout: k,
503
513
  layoutPass: null,
504
514
  dropCenter: null,
505
- pc: F,
506
- applyOps: k,
507
- geometryProjection: A,
508
- lifecycle: Q
515
+ pc: R,
516
+ applyOps: j,
517
+ geometryProjection: M,
518
+ lifecycle: Q,
519
+ nodeAtPoint: e.deps.nodeAtPoint,
520
+ lastWorld: null
509
521
  };
510
- for (let e of q) {
511
- let n = S.get(e)?.layer;
522
+ for (let e of K) {
523
+ let n = w.get(e)?.layer;
512
524
  if (n === void 0 || $.planeRefs.has(n)) continue;
513
- let r = O($.view, n);
525
+ let r = A($.view, n);
514
526
  if (r === null) continue;
515
- let i = ue.get(e)?.world ?? J.get(e);
527
+ let i = Z.get(e)?.world ?? q.get(e);
516
528
  if (i === void 0) continue;
517
- let a = E.getBounds(i), o = {
529
+ let a = O.getBounds(i), o = {
518
530
  x: a.x,
519
531
  y: a.y
520
532
  };
521
533
  $.planeRefs.set(n, {
522
534
  own: o,
523
- edited: t(ee(r), o)
535
+ edited: t(te(r), o)
524
536
  });
525
537
  }
526
- let ye = (e) => {
538
+ let Se = (e) => {
527
539
  let { dx: t, dy: n } = $.currentDelta, r = !1, i = (e) => {
528
- p($, Q, e), r = !0;
540
+ let t = ee({
541
+ ...$,
542
+ roots: $.ids,
543
+ label: Q.label
544
+ }, e);
545
+ v($, Q, [...e, ...t]), r = !0;
529
546
  };
530
547
  if ($.behaviors.length > 0) {
531
548
  let e = $.gestureCtx;
532
549
  for (let [r, i] of $.startPoses) {
533
- let a = z($, r, t, n);
534
- e.current.set(r, C(i, a.dx, a.dy, $.projection));
550
+ let a = V($, r, t, n);
551
+ e.current.set(r, p(i, a.dx, a.dy, $.descriptorOf(r)));
535
552
  }
536
- let r = h($.behaviors, e);
553
+ let r = b($.behaviors, e);
537
554
  if (r === null) return !1;
538
555
  if (r !== void 0) return i(r), !0;
539
556
  }
540
557
  if (t === 0 && n === 0) return !1;
541
558
  if ($.layout && $.layoutPass) {
542
- let e = $.layoutPass, t = $.pc, n = V($.scene), a = e.container.id, o = new Set($.ids.map((e) => e)), c = (e) => {
559
+ let e = $.layoutPass, t = $.pc, n = U($.scene), a = e.container.id, o = new Set($.ids.map((e) => e)), c = (e) => {
543
560
  if (e.name !== "transform") return e;
544
- let r = e.args, i = $.scene.get(_(r.id))?.parent ?? null, c = o.has(r.id) ? a : i;
545
- return y({
561
+ let r = e.args, i = $.scene.get(m(r.id))?.parent ?? null, c = o.has(r.id) ? a : i;
562
+ return d({
546
563
  id: r.id,
547
564
  from: s(n, r.from, i, t.compose, t.decompose),
548
565
  to: s(n, r.to, c, t.compose, t.decompose),
@@ -551,7 +568,7 @@ var K = D({
551
568
  });
552
569
  }, l = [], u = [];
553
570
  for (let t of e.placements) {
554
- t.dragged.sourceContainerId !== a && l.push(b({
571
+ t.dragged.sourceContainerId !== a && l.push(C({
555
572
  id: t.dragged.id,
556
573
  fromParentId: t.dragged.sourceContainerId,
557
574
  toParentId: a,
@@ -560,29 +577,29 @@ var K = D({
560
577
  let n = e.layout.commitDrop(e.container, t.children, t.dragged, t.target);
561
578
  for (let e of n) u.push(c(e));
562
579
  }
563
- let d = [];
580
+ let f = [];
564
581
  for (let [r, i] of e.sourceReflow) {
565
- let e = $.scene.get(_(r))?.parent ?? null;
566
- d.push(y({
582
+ let e = $.scene.get(m(r))?.parent ?? null;
583
+ f.push(d({
567
584
  id: r,
568
- from: $.scene.get(_(r)).pose,
585
+ from: $.scene.get(m(r)).pose,
569
586
  to: s(n, i, e, t.compose, t.decompose),
570
587
  label: "Source reflow"
571
588
  }));
572
589
  }
573
- let f = [
590
+ let p = [
574
591
  ...l,
575
592
  ...u,
576
- ...d
593
+ ...f
577
594
  ];
578
- return f.length > 0 && i(f), r;
595
+ return p.length > 0 && i(p), r;
579
596
  }
580
- let o = /* @__PURE__ */ new Set(), l = [], u = /* @__PURE__ */ new Map(), d = [];
597
+ let o = /* @__PURE__ */ new Set(), l = [], u = /* @__PURE__ */ new Map(), f = [];
581
598
  if ($.layout && !$.layoutPass) {
582
- let e = $.pc, r = V($.scene), i = (t) => {
599
+ let e = $.pc, r = U($.scene), i = (t) => {
583
600
  if (t.name !== "transform") return t;
584
- let n = t.args, i = $.scene.get(_(n.id))?.parent ?? null;
585
- return y({
601
+ let n = t.args, i = $.scene.get(m(n.id))?.parent ?? null;
602
+ return d({
586
603
  id: n.id,
587
604
  from: s(r, n.from, i, e.compose, e.decompose),
588
605
  to: s(r, n.to, i, e.compose, e.decompose),
@@ -599,42 +616,42 @@ var K = D({
599
616
  let d = {
600
617
  id: s,
601
618
  bounds: $.projection.getBounds(a(r, s, e.compose))
602
- }, f = $.scene.childrenOf(_(s)).filter((e) => !u.has(e)).map((t) => ({
619
+ }, f = $.scene.childrenOf(m(s)).filter((e) => !u.has(e)).map((t) => ({
603
620
  id: t,
604
621
  pose: a(r, t, e.compose)
605
622
  }));
606
- for (let p of u) {
607
- let u = a(H($, r), p, e.compose), m = z($, p, t, n), h = c.releaseDrop(d, f, {
608
- id: p,
623
+ for (let m of u) {
624
+ let u = a(W($, r), m, e.compose), h = V($, m, t, n), g = c.releaseDrop(d, f, {
625
+ id: m,
609
626
  originPose: u,
610
- pose: C(u, m.dx, m.dy, $.projection),
627
+ pose: p(u, h.dx, h.dy, $.descriptorOf(m)),
611
628
  sourceContainerId: s
612
629
  });
613
- if (h === null) continue;
614
- o.add(p);
615
- let g = u;
616
- for (let e of h) {
630
+ if (g === null) continue;
631
+ o.add(m);
632
+ let _ = u;
633
+ for (let e of g) {
617
634
  let t = e.args;
618
- e.name === "transform" && t.id === p && (g = t.to), l.push(i(e));
635
+ e.name === "transform" && t.id === m && (_ = t.to), l.push(i(e));
619
636
  }
620
637
  f = [...f, {
621
- id: p,
622
- pose: g
638
+ id: m,
639
+ pose: _
623
640
  }];
624
641
  }
625
642
  }
626
- u = I($, $.ids.filter((e) => !o.has(e)));
643
+ u = re($, $.ids.filter((e) => !o.has(e)));
627
644
  for (let [i, o] of u) {
628
- let c = $.scene.get(i), l = a(H($, r), i, e.compose), u = z($, i, t, n), f = C(l, u.dx, u.dy, $.projection);
629
- d.push(b({
645
+ let c = $.scene.get(i), l = a(W($, r), i, e.compose), u = V($, i, t, n), m = p(l, u.dx, u.dy, $.descriptorOf(i));
646
+ f.push(C({
630
647
  id: i,
631
648
  fromParentId: c.parent,
632
649
  toParentId: o,
633
650
  label: "Reparent"
634
- })), d.push(y({
651
+ })), f.push(d({
635
652
  id: i,
636
653
  from: c.pose,
637
- to: s(r, f, o, e.compose, e.decompose),
654
+ to: s(r, m, o, e.compose, e.decompose),
638
655
  label: Q.label
639
656
  }));
640
657
  }
@@ -642,21 +659,21 @@ var K = D({
642
659
  if (o.size > 0 || u.size > 0) {
643
660
  let e = [
644
661
  ...l,
645
- ...d,
646
- ...L($, B($, o).filter((e) => !u.has(e)), t, n)
662
+ ...f,
663
+ ...z($, H($, o).filter((e) => !u.has(e)), t, n)
647
664
  ];
648
665
  return e.length > 0 && i(e), r;
649
666
  }
650
- let f = N(c?.params)?.reparentOnDrop ?? "off", m = f === "off" ? null : G(e, $);
651
- if (m) {
652
- let e = () => re($, m, f, t, n, $.pc);
667
+ let g = I(c?.params)?.reparentOnDrop ?? "off", _ = g === "off" ? null : oe(e, $);
668
+ if (_) {
669
+ let e = () => se($, _, g, t, n, $.pc);
653
670
  try {
654
671
  Q.transient ? $.scene.untracked(e) : $.scene.batch(Q.label, e), r = !0;
655
672
  } catch (e) {
656
- if (!(e instanceof v)) throw e;
673
+ if (!(e instanceof h)) throw e;
657
674
  }
658
675
  } else {
659
- let e = L($, [...$.ids, ...$.cascadeIds], t, n);
676
+ let e = z($, [...$.ids, ...$.cascadeIds], t, n);
660
677
  e.length > 0 && i(e);
661
678
  }
662
679
  return r;
@@ -665,18 +682,18 @@ var K = D({
665
682
  kind: "move",
666
683
  onMove(e) {
667
684
  if (!e.drag) return;
668
- if (!pe) {
685
+ if ($.lastWorld = e.world, !ge) {
669
686
  let t = e.drag.screenDelta;
670
- if (t && !M({
687
+ if (t && !F({
671
688
  clientX: 0,
672
689
  clientY: 0
673
690
  }, {
674
691
  clientX: t.x,
675
692
  clientY: t.y
676
- }, fe)) return;
677
- pe = !0, Q.start($.ids);
693
+ }, he)) return;
694
+ ge = !0, Q.start($.ids);
678
695
  }
679
- let t = e.drag.delta.x, n = e.drag.delta.y;
696
+ let t = e.drag.delta.x, n = e.drag.delta.y, i = /* @__PURE__ */ new Map();
680
697
  if ($.behaviors.length > 0) {
681
698
  let r = $.gestureCtx;
682
699
  r.modifiers = { ...e.modifiers }, r.pointer = {
@@ -684,25 +701,26 @@ var K = D({
684
701
  worldY: e.drag.current.y,
685
702
  clientX: 0,
686
703
  clientY: 0
687
- }, r.view = ge(), r.plane = _e();
704
+ }, r.view = ye(), r.plane = be();
688
705
  for (let [e, i] of $.startPoses) {
689
- let a = z($, e, t, n);
690
- r.current.set(e, C(i, a.dx, a.dy, $.projection));
706
+ let a = V($, e, t, n);
707
+ r.current.set(e, p(i, a.dx, a.dy, $.descriptorOf(e)));
691
708
  }
692
- let i = {
709
+ let a = {
693
710
  kind: "translate",
694
711
  dx: t,
695
712
  dy: n
696
- }, a = $.ids[0];
713
+ }, o = $.ids[0];
697
714
  for (let e of $.behaviors) {
698
- let t = e.onMove?.(r, i);
715
+ let t = e.onMove?.(r, a);
699
716
  if (t) {
700
- if (t.transform && t.transform.kind === "translate") i = t.transform;
701
- else if (t.pose !== void 0 && a !== void 0) {
702
- let e = $.startPoses.get(a);
717
+ if (t.poses) for (let [e, n] of t.poses) i.set(e, n);
718
+ if (t.transform && t.transform.kind === "translate") a = t.transform;
719
+ else if (t.pose !== void 0 && o !== void 0) {
720
+ let e = $.startPoses.get(o);
703
721
  if (e !== void 0) {
704
722
  let n = $.projection.getBounds(e), r = $.projection.getBounds(t.pose);
705
- i = {
723
+ a = {
706
724
  kind: "translate",
707
725
  dx: r.x - n.x,
708
726
  dy: r.y - n.y
@@ -712,7 +730,7 @@ var K = D({
712
730
  t.snap !== void 0 && (r.snap = t.snap);
713
731
  }
714
732
  }
715
- i.kind === "translate" && (t = i.dx, n = i.dy);
733
+ a.kind === "translate" && (t = a.dx, n = a.dy);
716
734
  }
717
735
  $.currentDelta = {
718
736
  dx: t,
@@ -723,25 +741,25 @@ var K = D({
723
741
  $.previews.set(e, r);
724
742
  continue;
725
743
  }
726
- let i = R($, e, t, n);
727
- $.previews.set(e, C(r, i.dx, i.dy, $.projection));
744
+ let a = B($, e, t, n);
745
+ $.previews.set(e, i.get(e) ?? p(r, a.dx, a.dy, $.descriptorOf(e)));
728
746
  }
729
- $.layoutPass = null, $.dropCenter = null, $.reflowTargets.clear(), P($, e);
730
- let i = $.layout?.reflow;
731
- if (i) {
732
- for (let [e, t] of $.reflowTargets) i.glide(e, t), $.gliding.add(e);
733
- for (let e of $.gliding) $.reflowTargets.has(e) || (i.settle(e), $.gliding.delete(e));
747
+ $.layoutPass = null, $.dropCenter = null, $.reflowTargets.clear(), L($, e);
748
+ let a = $.layout?.reflow;
749
+ if (a) {
750
+ for (let [e, t] of $.reflowTargets) a.glide(e, t), $.gliding.add(e);
751
+ for (let e of $.gliding) $.reflowTargets.has(e) || (a.settle(e), $.gliding.delete(e));
734
752
  }
735
753
  r($);
736
754
  },
737
755
  onEnd(e, t) {
738
- let r = !1, i = $.layout?.reflow ?? null, a = i ? U($) : null;
756
+ let r = !1, i = $.layout?.reflow ?? null, a = i ? ie($) : null;
739
757
  try {
740
- t === "commit" ? r = ye(e) : g($.behaviors, $.gestureCtx);
758
+ t === "commit" && ge ? r = Se(e) : x($.behaviors, $.gestureCtx);
741
759
  } finally {
742
760
  if (n($), $.previews.clear(), i && a) {
743
761
  for (let e of $.gliding) i.settle(e);
744
- W($, i, a);
762
+ ae($, i, a);
745
763
  }
746
764
  $.gliding.clear(), Q.end(r);
747
765
  }
@@ -753,8 +771,8 @@ var K = D({
753
771
  }
754
772
  },
755
773
  enabled: () => !0
756
- }, k);
774
+ }, j);
757
775
  //#endregion
758
- export { K as moveAction };
776
+ export { G as moveAction };
759
777
 
760
778
  //# sourceMappingURL=move.js.map