@weasel-js/core 1.6.1 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/CHANGELOG.md +1006 -0
  2. package/README.md +28 -9
  3. package/dist/WeaselProvider.js +15 -0
  4. package/dist/WeaselProvider.js.map +1 -0
  5. package/dist/affordances/composeAffordanceLayer.js +224 -0
  6. package/dist/affordances/composeAffordanceLayer.js.map +1 -0
  7. package/dist/affordances/cornerResize.js +69 -0
  8. package/dist/affordances/cornerResize.js.map +1 -0
  9. package/dist/affordances/hitAffordanceRegions.js +138 -0
  10. package/dist/affordances/hitAffordanceRegions.js.map +1 -0
  11. package/dist/affordances/pathAnchors.js +66 -0
  12. package/dist/affordances/pathAnchors.js.map +1 -0
  13. package/dist/affordances/rotationHandle.js +103 -0
  14. package/dist/affordances/rotationHandle.js.map +1 -0
  15. package/dist/animation/behaviors/momentum.js +118 -0
  16. package/dist/animation/behaviors/momentum.js.map +1 -0
  17. package/dist/animation/colorHelpers.js +135 -0
  18. package/dist/animation/colorHelpers.js.map +1 -0
  19. package/dist/animation/colorRegistry.js +37 -0
  20. package/dist/animation/colorRegistry.js.map +1 -0
  21. package/dist/animation/index.js +20 -0
  22. package/dist/animation/loop.js +62 -0
  23. package/dist/animation/loop.js.map +1 -0
  24. package/dist/animation/observe.js +23 -0
  25. package/dist/animation/observe.js.map +1 -0
  26. package/dist/animation/poseHelpers.js +50 -0
  27. package/dist/animation/poseHelpers.js.map +1 -0
  28. package/dist/animation/reflow.js +121 -0
  29. package/dist/animation/reflow.js.map +1 -0
  30. package/dist/animation/rig/bindRig.js +74 -0
  31. package/dist/animation/rig/bindRig.js.map +1 -0
  32. package/dist/animation/rig/blendPoses.js +43 -0
  33. package/dist/animation/rig/blendPoses.js.map +1 -0
  34. package/dist/animation/rig/mirrorPose.js +19 -0
  35. package/dist/animation/rig/mirrorPose.js.map +1 -0
  36. package/dist/animation/rig/resolveSkeleton.js +33 -0
  37. package/dist/animation/rig/resolveSkeleton.js.map +1 -0
  38. package/dist/animation/rig/solveIk.js +103 -0
  39. package/dist/animation/rig/solveIk.js.map +1 -0
  40. package/dist/animation/rig/types.js +12 -0
  41. package/dist/animation/rig/types.js.map +1 -0
  42. package/dist/animation/rig/useRig.js +23 -0
  43. package/dist/animation/rig/useRig.js.map +1 -0
  44. package/dist/animation/slew.js +27 -0
  45. package/dist/animation/slew.js.map +1 -0
  46. package/dist/animation/stagger.js +138 -0
  47. package/dist/animation/stagger.js.map +1 -0
  48. package/dist/animation/timeline/booking.js +106 -0
  49. package/dist/animation/timeline/booking.js.map +1 -0
  50. package/dist/animation/timeline/createTimeline.js +116 -0
  51. package/dist/animation/timeline/createTimeline.js.map +1 -0
  52. package/dist/animation/timeline/sampleTrack.js +29 -0
  53. package/dist/animation/timeline/sampleTrack.js.map +1 -0
  54. package/dist/animation/useAnimator.js +329 -0
  55. package/dist/animation/useAnimator.js.map +1 -0
  56. package/dist/animation/wrappers/animateLifecycle.js +40 -0
  57. package/dist/animation/wrappers/animateLifecycle.js.map +1 -0
  58. package/dist/animation/wrappers/animateOnSetPose.js +44 -0
  59. package/dist/animation/wrappers/animateOnSetPose.js.map +1 -0
  60. package/dist/{autoPoseDescriptor-_XOyF7t4.d.ts → autoPoseDescriptor-BT_vp9FO.d.ts} +2 -2
  61. package/dist/{builtins-HWyuLzE-.d.ts → builtins-BSUfH8nU.d.ts} +1301 -508
  62. package/dist/canvas/Canvas.js +608 -0
  63. package/dist/canvas/Canvas.js.map +1 -0
  64. package/dist/canvas/CanvasView.js +255 -0
  65. package/dist/canvas/CanvasView.js.map +1 -0
  66. package/dist/canvas/CursorCoordsHud.js +75 -0
  67. package/dist/canvas/CursorCoordsHud.js.map +1 -0
  68. package/dist/canvas/DrawCanvas.js +67 -0
  69. package/dist/canvas/DrawCanvas.js.map +1 -0
  70. package/dist/canvas/MinimapCanvas.js +139 -0
  71. package/dist/canvas/MinimapCanvas.js.map +1 -0
  72. package/dist/canvas/ModalityHud.js +66 -0
  73. package/dist/canvas/ModalityHud.js.map +1 -0
  74. package/dist/canvas/NodeShape.js +391 -0
  75. package/dist/canvas/NodeShape.js.map +1 -0
  76. package/dist/canvas/PickHud.js +93 -0
  77. package/dist/canvas/PickHud.js.map +1 -0
  78. package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js +10 -0
  79. package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js.map +1 -0
  80. package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js +10 -0
  81. package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js.map +1 -0
  82. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +51 -0
  83. package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -0
  84. package/dist/canvas/SceneCanvas/contributionFrameHooks.js +42 -0
  85. package/dist/canvas/SceneCanvas/contributionFrameHooks.js.map +1 -0
  86. package/dist/canvas/SceneCanvas/defaultNodeProperties.js +549 -0
  87. package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -0
  88. package/dist/canvas/SceneCanvas/defaultNodeRouting.js +26 -0
  89. package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -0
  90. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js +69 -0
  91. package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js.map +1 -0
  92. package/dist/canvas/SceneCanvas/features.js +97 -0
  93. package/dist/canvas/SceneCanvas/features.js.map +1 -0
  94. package/dist/canvas/SceneCanvas/poseGeometry.js +46 -0
  95. package/dist/canvas/SceneCanvas/poseGeometry.js.map +1 -0
  96. package/dist/canvas/SceneCanvas/useActionsPropResolver.js +48 -0
  97. package/dist/canvas/SceneCanvas/useActionsPropResolver.js.map +1 -0
  98. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +70 -0
  99. package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -0
  100. package/dist/canvas/SceneCanvas/useContributionRoles.js +75 -0
  101. package/dist/canvas/SceneCanvas/useContributionRoles.js.map +1 -0
  102. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +172 -0
  103. package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js.map +1 -0
  104. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +69 -0
  105. package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js.map +1 -0
  106. package/dist/canvas/SceneCanvas/useSceneSelectTool.js +127 -0
  107. package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -0
  108. package/dist/canvas/SceneCanvas/useViewportActions.js +30 -0
  109. package/dist/canvas/SceneCanvas/useViewportActions.js.map +1 -0
  110. package/dist/canvas/SceneCanvas.js +992 -0
  111. package/dist/canvas/SceneCanvas.js.map +1 -0
  112. package/dist/canvas/SceneViewCanvas.js +54 -0
  113. package/dist/canvas/SceneViewCanvas.js.map +1 -0
  114. package/dist/canvas/accentColor.js +9 -0
  115. package/dist/canvas/accentColor.js.map +1 -0
  116. package/dist/canvas/affordanceAt.js +63 -0
  117. package/dist/canvas/affordanceAt.js.map +1 -0
  118. package/dist/canvas/buildSceneTree.js +65 -0
  119. package/dist/canvas/buildSceneTree.js.map +1 -0
  120. package/dist/canvas/canvasRenderer.js +89 -0
  121. package/dist/canvas/canvasRenderer.js.map +1 -0
  122. package/dist/canvas/colorOverrides.js +16 -0
  123. package/dist/canvas/colorOverrides.js.map +1 -0
  124. package/dist/canvas/defaultDrawOne.js +43 -0
  125. package/dist/canvas/defaultDrawOne.js.map +1 -0
  126. package/dist/canvas/deps/areaSelect.js +19 -0
  127. package/dist/canvas/deps/areaSelect.js.map +1 -0
  128. package/dist/canvas/deps/debug.js +9 -0
  129. package/dist/canvas/deps/debug.js.map +1 -0
  130. package/dist/canvas/deps/dispatcher.js +11 -0
  131. package/dist/canvas/deps/dispatcher.js.map +1 -0
  132. package/dist/canvas/deps/editAnchors.js +101 -0
  133. package/dist/canvas/deps/editAnchors.js.map +1 -0
  134. package/dist/canvas/deps/geometryProjection.js +11 -0
  135. package/dist/canvas/deps/geometryProjection.js.map +1 -0
  136. package/dist/canvas/deps/hitTestArea.js +51 -0
  137. package/dist/canvas/deps/hitTestArea.js.map +1 -0
  138. package/dist/canvas/deps/ingestion.js +31 -0
  139. package/dist/canvas/deps/ingestion.js.map +1 -0
  140. package/dist/canvas/deps/insert.js +116 -0
  141. package/dist/canvas/deps/insert.js.map +1 -0
  142. package/dist/canvas/deps/lassoSelect.js +20 -0
  143. package/dist/canvas/deps/lassoSelect.js.map +1 -0
  144. package/dist/canvas/deps/layout.js +34 -0
  145. package/dist/canvas/deps/layout.js.map +1 -0
  146. package/dist/canvas/deps/nodeAtPoint.js +19 -0
  147. package/dist/canvas/deps/nodeAtPoint.js.map +1 -0
  148. package/dist/canvas/deps/poseComposition.js +11 -0
  149. package/dist/canvas/deps/poseComposition.js.map +1 -0
  150. package/dist/canvas/deps/poseDescriptor.js +12 -0
  151. package/dist/canvas/deps/poseDescriptor.js.map +1 -0
  152. package/dist/canvas/deps/resizePolicy.js +35 -0
  153. package/dist/canvas/deps/resizePolicy.js.map +1 -0
  154. package/dist/canvas/deps/slice.js +99 -0
  155. package/dist/canvas/deps/slice.js.map +1 -0
  156. package/dist/canvas/deps/snap.js +11 -0
  157. package/dist/canvas/deps/snap.js.map +1 -0
  158. package/dist/canvas/deps/textEdit.js +21 -0
  159. package/dist/canvas/deps/textEdit.js.map +1 -0
  160. package/dist/canvas/deps/view.js +43 -0
  161. package/dist/canvas/deps/view.js.map +1 -0
  162. package/dist/canvas/derivedPath.js +47 -0
  163. package/dist/canvas/derivedPath.js.map +1 -0
  164. package/dist/canvas/drawEnvelope.js +22 -0
  165. package/dist/canvas/drawEnvelope.js.map +1 -0
  166. package/dist/canvas/getNodeAtPoint.js +18 -0
  167. package/dist/canvas/getNodeAtPoint.js.map +1 -0
  168. package/dist/canvas/hostAnchor.js +29 -0
  169. package/dist/canvas/hostAnchor.js.map +1 -0
  170. package/dist/canvas/hud.module.js +18 -0
  171. package/dist/canvas/hud.module.js.map +1 -0
  172. package/dist/canvas/insertPreviewExtent.js +103 -0
  173. package/dist/canvas/insertPreviewExtent.js.map +1 -0
  174. package/dist/canvas/kitRequirements.js +177 -0
  175. package/dist/canvas/kitRequirements.js.map +1 -0
  176. package/dist/canvas/layerOrder.js +66 -0
  177. package/dist/canvas/layerOrder.js.map +1 -0
  178. package/dist/canvas/layerSlots.js +14 -0
  179. package/dist/canvas/layerSlots.js.map +1 -0
  180. package/dist/canvas/minimapMath.js +80 -0
  181. package/dist/canvas/minimapMath.js.map +1 -0
  182. package/dist/canvas/mountedCanvases.js +20 -0
  183. package/dist/canvas/mountedCanvases.js.map +1 -0
  184. package/dist/canvas/overlayRoleStrokes.js +17 -0
  185. package/dist/canvas/overlayRoleStrokes.js.map +1 -0
  186. package/dist/canvas/paintCull.js +20 -0
  187. package/dist/canvas/paintCull.js.map +1 -0
  188. package/dist/canvas/pickWalk.js +158 -0
  189. package/dist/canvas/pickWalk.js.map +1 -0
  190. package/dist/canvas/planeClips.js +30 -0
  191. package/dist/canvas/planeClips.js.map +1 -0
  192. package/dist/canvas/poseRotation.js +35 -0
  193. package/dist/canvas/poseRotation.js.map +1 -0
  194. package/dist/canvas/rasterToPng.js +21 -0
  195. package/dist/canvas/rasterToPng.js.map +1 -0
  196. package/dist/canvas/renderDebugSnapshot.js +32 -0
  197. package/dist/canvas/renderDebugSnapshot.js.map +1 -0
  198. package/dist/canvas/renderNeeds.js +25 -0
  199. package/dist/canvas/renderNeeds.js.map +1 -0
  200. package/dist/canvas/renderSceneToPixels.js +143 -0
  201. package/dist/canvas/renderSceneToPixels.js.map +1 -0
  202. package/dist/canvas/sceneAdapter.js +270 -0
  203. package/dist/canvas/sceneAdapter.js.map +1 -0
  204. package/dist/canvas/sceneLayerPaint.js +37 -0
  205. package/dist/canvas/sceneLayerPaint.js.map +1 -0
  206. package/dist/canvas/sceneSlotWiring.js +20 -0
  207. package/dist/canvas/sceneSlotWiring.js.map +1 -0
  208. package/dist/canvas/sceneViewRender.js +72 -0
  209. package/dist/canvas/sceneViewRender.js.map +1 -0
  210. package/dist/canvas/slopsDebugLayer.js +61 -0
  211. package/dist/canvas/slopsDebugLayer.js.map +1 -0
  212. package/dist/canvas/surfaceContribution.js +15 -0
  213. package/dist/canvas/surfaceContribution.js.map +1 -0
  214. package/dist/canvas/toolPreview.js +39 -0
  215. package/dist/canvas/toolPreview.js.map +1 -0
  216. package/dist/canvas/useCanvasRenderer.js +11 -0
  217. package/dist/canvas/useCanvasRenderer.js.map +1 -0
  218. package/dist/canvas/useFrameLoop.js +60 -0
  219. package/dist/canvas/useFrameLoop.js.map +1 -0
  220. package/dist/canvas/useHostAnchor.js +71 -0
  221. package/dist/canvas/useHostAnchor.js.map +1 -0
  222. package/dist/canvas/useLateContentRedraw.js +21 -0
  223. package/dist/canvas/useLateContentRedraw.js.map +1 -0
  224. package/dist/canvas/useRedrawOn.js +21 -0
  225. package/dist/canvas/useRedrawOn.js.map +1 -0
  226. package/dist/canvas/useViewHelpers.js +120 -0
  227. package/dist/canvas/useViewHelpers.js.map +1 -0
  228. package/dist/canvas/viewInputs.js +17 -0
  229. package/dist/canvas/viewInputs.js.map +1 -0
  230. package/dist/canvas/viewRegistry.js +61 -0
  231. package/dist/canvas/viewRegistry.js.map +1 -0
  232. package/dist/canvas/wrapNodeOutput.js +14 -0
  233. package/dist/canvas/wrapNodeOutput.js.map +1 -0
  234. package/dist/clipboard.d.ts +10 -5
  235. package/dist/clipboard.js +3 -5
  236. package/dist/clone.d.ts +3 -3
  237. package/dist/clone.js +2 -5
  238. package/dist/core/adapters/arrayAdapter.js +85 -0
  239. package/dist/core/adapters/arrayAdapter.js.map +1 -0
  240. package/dist/core/adapters/useArrayAdapter.js +13 -0
  241. package/dist/core/adapters/useArrayAdapter.js.map +1 -0
  242. package/dist/core/applyOps.js +12 -0
  243. package/dist/core/applyOps.js.map +1 -0
  244. package/dist/core/device/index.js +4 -0
  245. package/dist/core/device/targets.js +17 -0
  246. package/dist/core/device/targets.js.map +1 -0
  247. package/dist/core/device/useDeviceProfile.js +75 -0
  248. package/dist/core/device/useDeviceProfile.js.map +1 -0
  249. package/dist/core/fillInPoseFrame.js +102 -0
  250. package/dist/core/fillInPoseFrame.js.map +1 -0
  251. package/dist/core/geometry/poseDescriptor.js +98 -0
  252. package/dist/core/geometry/poseDescriptor.js.map +1 -0
  253. package/dist/core/geometry/poseRotation.js +58 -0
  254. package/dist/core/geometry/poseRotation.js.map +1 -0
  255. package/dist/core/geometry/regionHit.js +102 -0
  256. package/dist/core/geometry/regionHit.js.map +1 -0
  257. package/dist/core/geometry/unionBounds.js +60 -0
  258. package/dist/core/geometry/unionBounds.js.map +1 -0
  259. package/dist/core/gradient.js +136 -0
  260. package/dist/core/gradient.js.map +1 -0
  261. package/dist/core/isPlainObject.js +11 -0
  262. package/dist/core/isPlainObject.js.map +1 -0
  263. package/dist/core/layers/render.js +150 -0
  264. package/dist/core/layers/render.js.map +1 -0
  265. package/dist/core/markerInset.js +24 -0
  266. package/dist/core/markerInset.js.map +1 -0
  267. package/dist/core/mixed.js +6 -0
  268. package/dist/core/mixed.js.map +1 -0
  269. package/dist/core/ops/arrange.js +31 -0
  270. package/dist/core/ops/arrange.js.map +1 -0
  271. package/dist/core/ops/create.js +32 -0
  272. package/dist/core/ops/create.js.map +1 -0
  273. package/dist/core/ops/createHistory.js +20 -0
  274. package/dist/core/ops/createHistory.js.map +1 -0
  275. package/dist/core/ops/delete.js +89 -0
  276. package/dist/core/ops/delete.js.map +1 -0
  277. package/dist/core/ops/registry.js +17 -0
  278. package/dist/core/ops/registry.js.map +1 -0
  279. package/dist/core/ops/reorder/algorithms.js +55 -0
  280. package/dist/core/ops/reorder/algorithms.js.map +1 -0
  281. package/dist/core/ops/reorder/index.js +140 -0
  282. package/dist/core/ops/reorder/index.js.map +1 -0
  283. package/dist/core/ops/reparent.js +52 -0
  284. package/dist/core/ops/reparent.js.map +1 -0
  285. package/dist/core/ops/select.js +34 -0
  286. package/dist/core/ops/select.js.map +1 -0
  287. package/dist/core/ops/setData.js +34 -0
  288. package/dist/core/ops/setData.js.map +1 -0
  289. package/dist/core/ops/setLayer.js +34 -0
  290. package/dist/core/ops/setLayer.js.map +1 -0
  291. package/dist/core/ops/setLayout.js +31 -0
  292. package/dist/core/ops/setLayout.js.map +1 -0
  293. package/dist/core/ops/setPath.js +57 -0
  294. package/dist/core/ops/setPath.js.map +1 -0
  295. package/dist/core/ops/setText.js +34 -0
  296. package/dist/core/ops/setText.js.map +1 -0
  297. package/dist/core/ops/slot.js +37 -0
  298. package/dist/core/ops/slot.js.map +1 -0
  299. package/dist/core/ops/transform.js +42 -0
  300. package/dist/core/ops/transform.js.map +1 -0
  301. package/dist/core/paintKinds.js +156 -0
  302. package/dist/core/paintKinds.js.map +1 -0
  303. package/dist/core/scene/NodeProperties.js +20 -0
  304. package/dist/core/scene/NodeProperties.js.map +1 -0
  305. package/dist/core/scene/NodeRouting.js +24 -0
  306. package/dist/core/scene/NodeRouting.js.map +1 -0
  307. package/dist/core/scene/arrivals.js +12 -0
  308. package/dist/core/scene/arrivals.js.map +1 -0
  309. package/dist/core/scene/composeFrame.js +29 -0
  310. package/dist/core/scene/composeFrame.js.map +1 -0
  311. package/dist/core/scene/depMemo.js +18 -0
  312. package/dist/core/scene/depMemo.js.map +1 -0
  313. package/dist/core/scene/dependents.js +66 -0
  314. package/dist/core/scene/dependents.js.map +1 -0
  315. package/dist/core/scene/derivedPath.js +31 -0
  316. package/dist/core/scene/derivedPath.js.map +1 -0
  317. package/dist/core/scene/effectivePose.js +78 -0
  318. package/dist/core/scene/effectivePose.js.map +1 -0
  319. package/dist/core/scene/kitRegistry.js +33 -0
  320. package/dist/core/scene/kitRegistry.js.map +1 -0
  321. package/dist/core/scene/layoutPass.js +96 -0
  322. package/dist/core/scene/layoutPass.js.map +1 -0
  323. package/dist/core/scene/nodeFnFields.js +83 -0
  324. package/dist/core/scene/nodeFnFields.js.map +1 -0
  325. package/dist/core/scene/nodeMemo.js +28 -0
  326. package/dist/core/scene/nodeMemo.js.map +1 -0
  327. package/dist/core/scene/poseFeed.js +87 -0
  328. package/dist/core/scene/poseFeed.js.map +1 -0
  329. package/dist/core/scene/poseOverrides.js +52 -0
  330. package/dist/core/scene/poseOverrides.js.map +1 -0
  331. package/dist/core/scene/poseSnapshot.js +54 -0
  332. package/dist/core/scene/poseSnapshot.js.map +1 -0
  333. package/dist/core/scene/scene.js +1271 -0
  334. package/dist/core/scene/scene.js.map +1 -0
  335. package/dist/core/scene/types.js +6 -0
  336. package/dist/core/scene/types.js.map +1 -0
  337. package/dist/core/scene/useScene.js +32 -0
  338. package/dist/core/scene/useScene.js.map +1 -0
  339. package/dist/core/selection/chromeState.js +31 -0
  340. package/dist/core/selection/chromeState.js.map +1 -0
  341. package/dist/core/selection/selectionTarget.js +6 -0
  342. package/dist/core/selection/selectionTarget.js.map +1 -0
  343. package/dist/core/selection/useSelection.js +71 -0
  344. package/dist/core/selection/useSelection.js.map +1 -0
  345. package/dist/core/shapeKinds.js +54 -0
  346. package/dist/core/shapeKinds.js.map +1 -0
  347. package/dist/core/strokeMarkerShapes.js +139 -0
  348. package/dist/core/strokeMarkerShapes.js.map +1 -0
  349. package/dist/core/strokeMarkers.js +28 -0
  350. package/dist/core/strokeMarkers.js.map +1 -0
  351. package/dist/core/stylus/stylus.js +39 -0
  352. package/dist/core/stylus/stylus.js.map +1 -0
  353. package/dist/core/stylus/usePointerStylus.js +51 -0
  354. package/dist/core/stylus/usePointerStylus.js.map +1 -0
  355. package/dist/core/usePaintKinds.js +17 -0
  356. package/dist/core/usePaintKinds.js.map +1 -0
  357. package/dist/core/viewport/clampView.js +24 -0
  358. package/dist/core/viewport/clampView.js.map +1 -0
  359. package/dist/core/viewport/clientToWorld.js +8 -0
  360. package/dist/core/viewport/clientToWorld.js.map +1 -0
  361. package/dist/core/viewport/createVelocityTracker.js +39 -0
  362. package/dist/core/viewport/createVelocityTracker.js.map +1 -0
  363. package/dist/core/viewport/fitToBounds.js +18 -0
  364. package/dist/core/viewport/fitToBounds.js.map +1 -0
  365. package/dist/core/viewport/fitViewToBounds.js +36 -0
  366. package/dist/core/viewport/fitViewToBounds.js.map +1 -0
  367. package/dist/core/viewport/interpolateView.js +34 -0
  368. package/dist/core/viewport/interpolateView.js.map +1 -0
  369. package/dist/core/viewport/meanScale.js +8 -0
  370. package/dist/core/viewport/meanScale.js.map +1 -0
  371. package/dist/core/viewport/parallax.js +111 -0
  372. package/dist/core/viewport/parallax.js.map +1 -0
  373. package/dist/core/viewport/pxExtent.js +42 -0
  374. package/dist/core/viewport/pxExtent.js.map +1 -0
  375. package/dist/core/viewport/sceneNodeClientRect.js +18 -0
  376. package/dist/core/viewport/sceneNodeClientRect.js.map +1 -0
  377. package/dist/core/viewport/screenSlop.js +27 -0
  378. package/dist/core/viewport/screenSlop.js.map +1 -0
  379. package/dist/core/viewport/useAutoCenter.js +32 -0
  380. package/dist/core/viewport/useAutoCenter.js.map +1 -0
  381. package/dist/core/viewport/useCanvasSize.js +29 -0
  382. package/dist/core/viewport/useCanvasSize.js.map +1 -0
  383. package/dist/core/viewport/useDecayLoop.js +63 -0
  384. package/dist/core/viewport/useDecayLoop.js.map +1 -0
  385. package/dist/core/viewport/useVelocityTracker.js +10 -0
  386. package/dist/core/viewport/useVelocityTracker.js.map +1 -0
  387. package/dist/core/viewport/useViewAnimation.js +63 -0
  388. package/dist/core/viewport/useViewAnimation.js.map +1 -0
  389. package/dist/core/viewport/view.js +37 -0
  390. package/dist/core/viewport/view.js.map +1 -0
  391. package/dist/core/viewport/viewTransform.js +11 -0
  392. package/dist/core/viewport/viewTransform.js.map +1 -0
  393. package/dist/core/viewport/viewportWorldRect.js +13 -0
  394. package/dist/core/viewport/viewportWorldRect.js.map +1 -0
  395. package/dist/core/viewport/wheelHandler.js +30 -0
  396. package/dist/core/viewport/wheelHandler.js.map +1 -0
  397. package/dist/core/viewport/zoomAt.js +22 -0
  398. package/dist/core/viewport/zoomAt.js.map +1 -0
  399. package/dist/core/viewport/zoomBounds.js +20 -0
  400. package/dist/core/viewport/zoomBounds.js.map +1 -0
  401. package/dist/{pointSnapToGrid-7mCcm6qG.d.ts → cornerHandles-CDcZOV8h.d.ts} +54 -71
  402. package/dist/debug/createDebugOverlayLayer.js +358 -0
  403. package/dist/debug/createDebugOverlayLayer.js.map +1 -0
  404. package/dist/debug/createDebugSink.js +83 -0
  405. package/dist/debug/createDebugSink.js.map +1 -0
  406. package/dist/debug/defaultTheme.js +31 -0
  407. package/dist/debug/defaultTheme.js.map +1 -0
  408. package/dist/debug/flag.js +41 -0
  409. package/dist/debug/flag.js.map +1 -0
  410. package/dist/debug/frameStats.js +16 -0
  411. package/dist/debug/frameStats.js.map +1 -0
  412. package/dist/debug/parseDebugFlags.js +32 -0
  413. package/dist/debug/parseDebugFlags.js.map +1 -0
  414. package/dist/features/chrome-caps/buildChromeCtx.js +16 -0
  415. package/dist/features/chrome-caps/buildChromeCtx.js.map +1 -0
  416. package/dist/features/chrome-caps/conditions.js +36 -0
  417. package/dist/features/chrome-caps/conditions.js.map +1 -0
  418. package/dist/features/chrome-caps/defaults.js +26 -0
  419. package/dist/features/chrome-caps/defaults.js.map +1 -0
  420. package/dist/features/chrome-caps/index.js +7 -0
  421. package/dist/features/chrome-caps/resolve.js +23 -0
  422. package/dist/features/chrome-caps/resolve.js.map +1 -0
  423. package/dist/features/chrome-caps/useHoverTracking.js +27 -0
  424. package/dist/features/chrome-caps/useHoverTracking.js.map +1 -0
  425. package/dist/features/cursor/paintedCursorLayer.js +60 -0
  426. package/dist/features/cursor/paintedCursorLayer.js.map +1 -0
  427. package/dist/features/focus/gateLayer.js +14 -0
  428. package/dist/features/focus/gateLayer.js.map +1 -0
  429. package/dist/features/focus/useCanvasFocus.js +29 -0
  430. package/dist/features/focus/useCanvasFocus.js.map +1 -0
  431. package/dist/features/groups/children.js +23 -0
  432. package/dist/features/groups/children.js.map +1 -0
  433. package/dist/features/groups/composePose.js +67 -0
  434. package/dist/features/groups/composePose.js.map +1 -0
  435. package/dist/features/groups/nestedHit.js +40 -0
  436. package/dist/features/groups/nestedHit.js.map +1 -0
  437. package/dist/features/groups/unionOfChildren.js +15 -0
  438. package/dist/features/groups/unionOfChildren.js.map +1 -0
  439. package/dist/features/images/imageCache.js +94 -0
  440. package/dist/features/images/imageCache.js.map +1 -0
  441. package/dist/features/ingestion/contentHandlers.js +37 -0
  442. package/dist/features/ingestion/contentHandlers.js.map +1 -0
  443. package/dist/features/ingestion/imageHandler.js +45 -0
  444. package/dist/features/ingestion/imageHandler.js.map +1 -0
  445. package/dist/features/ingestion/index.js +8 -0
  446. package/dist/features/ingestion/openFilePicker.js +15 -0
  447. package/dist/features/ingestion/openFilePicker.js.map +1 -0
  448. package/dist/features/ingestion/registerKitHandlers.js +26 -0
  449. package/dist/features/ingestion/registerKitHandlers.js.map +1 -0
  450. package/dist/features/ingestion/svgHandler.js +58 -0
  451. package/dist/features/ingestion/svgHandler.js.map +1 -0
  452. package/dist/features/ingestion/weaselJsonHandler.js +39 -0
  453. package/dist/features/ingestion/weaselJsonHandler.js.map +1 -0
  454. package/dist/features/longPress/longPressFeedback.js +96 -0
  455. package/dist/features/longPress/longPressFeedback.js.map +1 -0
  456. package/dist/features/meshPaint/bake.js +79 -0
  457. package/dist/features/meshPaint/bake.js.map +1 -0
  458. package/dist/features/meshPaint/bakeCache.js +59 -0
  459. package/dist/features/meshPaint/bakeCache.js.map +1 -0
  460. package/dist/features/meshPaint/handles.js +86 -0
  461. package/dist/features/meshPaint/handles.js.map +1 -0
  462. package/dist/features/meshPaint/lazyKind.js +1298 -0
  463. package/dist/features/meshPaint/lazyKind.js.map +1 -0
  464. package/dist/features/meshPaint/meshPaint.js +236 -0
  465. package/dist/features/meshPaint/meshPaint.js.map +1 -0
  466. package/dist/features/meshPaint/meshShader.js +6 -0
  467. package/dist/features/meshPaint/meshShader.js.map +1 -0
  468. package/dist/features/meshPaint/register.js +7 -0
  469. package/dist/features/meshPaint/register.js.map +1 -0
  470. package/dist/features/meshPaint/surface.js +110 -0
  471. package/dist/features/meshPaint/surface.js.map +1 -0
  472. package/dist/features/minimap/actions.js +53 -0
  473. package/dist/features/minimap/actions.js.map +1 -0
  474. package/dist/features/minimap/createMinimapContribution.js +96 -0
  475. package/dist/features/minimap/createMinimapContribution.js.map +1 -0
  476. package/dist/features/minimap/layers.js +103 -0
  477. package/dist/features/minimap/layers.js.map +1 -0
  478. package/dist/features/modes/modeLayers.js +113 -0
  479. package/dist/features/modes/modeLayers.js.map +1 -0
  480. package/dist/features/overlays/useNodeOverlayFrame.js +103 -0
  481. package/dist/features/overlays/useNodeOverlayFrame.js.map +1 -0
  482. package/dist/features/parallax/createParallaxLayer.js +26 -0
  483. package/dist/features/parallax/createParallaxLayer.js.map +1 -0
  484. package/dist/features/parallax/createParallaxPlane.js +26 -0
  485. package/dist/features/parallax/createParallaxPlane.js.map +1 -0
  486. package/dist/features/paths/anchorEdits.js +156 -0
  487. package/dist/features/paths/anchorEdits.js.map +1 -0
  488. package/dist/features/paths/anchors.js +154 -0
  489. package/dist/features/paths/anchors.js.map +1 -0
  490. package/dist/features/paths/booleans.js +2 -0
  491. package/dist/features/paths/index.js +15 -0
  492. package/dist/features/paths/markerCommands.js +116 -0
  493. package/dist/features/paths/markerCommands.js.map +1 -0
  494. package/dist/features/paths/markerSites.js +59 -0
  495. package/dist/features/paths/markerSites.js.map +1 -0
  496. package/dist/features/paths/markers.js +95 -0
  497. package/dist/features/paths/markers.js.map +1 -0
  498. package/dist/features/paths/nearestAnchor.js +36 -0
  499. package/dist/features/paths/nearestAnchor.js.map +1 -0
  500. package/dist/features/paths/originProjection.js +16 -0
  501. package/dist/features/paths/originProjection.js.map +1 -0
  502. package/dist/features/paths/pathEditingOverlayLayer.js +137 -0
  503. package/dist/features/paths/pathEditingOverlayLayer.js.map +1 -0
  504. package/dist/features/paths/pathInWorld.js +41 -0
  505. package/dist/features/paths/pathInWorld.js.map +1 -0
  506. package/dist/features/paths/pathLayer.js +44 -0
  507. package/dist/features/paths/pathLayer.js.map +1 -0
  508. package/dist/features/paths/penPreviewLayer.js +220 -0
  509. package/dist/features/paths/penPreviewLayer.js.map +1 -0
  510. package/dist/features/paths/poseDescriptor.js +44 -0
  511. package/dist/features/paths/poseDescriptor.js.map +1 -0
  512. package/dist/features/paths/tessellate/stroke.js +230 -0
  513. package/dist/features/paths/tessellate/stroke.js.map +1 -0
  514. package/dist/features/patterns/index.js +23 -0
  515. package/dist/features/patterns/index.js.map +1 -0
  516. package/dist/features/patterns/patterns-builtin.js +38 -0
  517. package/dist/features/patterns/patterns-builtin.js.map +1 -0
  518. package/dist/features/patterns/resolveSpec.js +57 -0
  519. package/dist/features/patterns/resolveSpec.js.map +1 -0
  520. package/dist/features/patterns/tileGeometry.js +158 -0
  521. package/dist/features/patterns/tileGeometry.js.map +1 -0
  522. package/dist/features/pointer/PointerContext.js +45 -0
  523. package/dist/features/pointer/PointerContext.js.map +1 -0
  524. package/dist/features/poseRun/usePoseRun.js +70 -0
  525. package/dist/features/poseRun/usePoseRun.js.map +1 -0
  526. package/dist/features/selection/SelectionContext.js +46 -0
  527. package/dist/features/selection/SelectionContext.js.map +1 -0
  528. package/dist/features/selection/overlay.js +442 -0
  529. package/dist/features/selection/overlay.js.map +1 -0
  530. package/dist/features/simulation/createSimulation.js +61 -0
  531. package/dist/features/simulation/createSimulation.js.map +1 -0
  532. package/dist/features/simulation/types.js +6 -0
  533. package/dist/features/simulation/types.js.map +1 -0
  534. package/dist/features/simulation/useSimulation.js +74 -0
  535. package/dist/features/simulation/useSimulation.js.map +1 -0
  536. package/dist/features/text/domRuns.js +258 -0
  537. package/dist/features/text/domRuns.js.map +1 -0
  538. package/dist/features/text/fitTextPose.js +38 -0
  539. package/dist/features/text/fitTextPose.js.map +1 -0
  540. package/dist/features/text/hitTest.js +45 -0
  541. package/dist/features/text/hitTest.js.map +1 -0
  542. package/dist/features/text/renderLabel.js +14 -0
  543. package/dist/features/text/renderLabel.js.map +1 -0
  544. package/dist/features/text/runs/effectiveRangeStyle.js +66 -0
  545. package/dist/features/text/runs/effectiveRangeStyle.js.map +1 -0
  546. package/dist/features/text/runs/flagRange.js +53 -0
  547. package/dist/features/text/runs/flagRange.js.map +1 -0
  548. package/dist/features/text/runs/rangeStyle.js +135 -0
  549. package/dist/features/text/runs/rangeStyle.js.map +1 -0
  550. package/dist/features/text/textCommand.js +59 -0
  551. package/dist/features/text/textCommand.js.map +1 -0
  552. package/dist/features/text/textLayer.js +35 -0
  553. package/dist/features/text/textLayer.js.map +1 -0
  554. package/dist/features/text/textToPath.js +181 -0
  555. package/dist/features/text/textToPath.js.map +1 -0
  556. package/dist/features/text/useSceneTextEdit.js +138 -0
  557. package/dist/features/text/useSceneTextEdit.js.map +1 -0
  558. package/dist/features/text/useTextEdit.js +465 -0
  559. package/dist/features/text/useTextEdit.js.map +1 -0
  560. package/dist/features/tiling/createTiledLayer.js +63 -0
  561. package/dist/features/tiling/createTiledLayer.js.map +1 -0
  562. package/dist/features/tiling/tiledProject.js +14 -0
  563. package/dist/features/tiling/tiledProject.js.map +1 -0
  564. package/dist/features/viewports/viewResolver.js +59 -0
  565. package/dist/features/viewports/viewResolver.js.map +1 -0
  566. package/dist/features/viewports/viewportLayer.js +58 -0
  567. package/dist/features/viewports/viewportLayer.js.map +1 -0
  568. package/dist/icons/ArrowIcon.js +23 -0
  569. package/dist/icons/ArrowIcon.js.map +1 -0
  570. package/dist/icons/EllipseIcon.js +21 -0
  571. package/dist/icons/EllipseIcon.js.map +1 -0
  572. package/dist/icons/EyedropperIcon.js +49 -0
  573. package/dist/icons/EyedropperIcon.js.map +1 -0
  574. package/dist/icons/HandIcon.js +59 -0
  575. package/dist/icons/HandIcon.js.map +1 -0
  576. package/dist/icons/ImageIcon.js +34 -0
  577. package/dist/icons/ImageIcon.js.map +1 -0
  578. package/dist/icons/LassoIcon.js +22 -0
  579. package/dist/icons/LassoIcon.js.map +1 -0
  580. package/dist/icons/LineIcon.js +22 -0
  581. package/dist/icons/LineIcon.js.map +1 -0
  582. package/dist/icons/PenIcon.js +36 -0
  583. package/dist/icons/PenIcon.js.map +1 -0
  584. package/dist/icons/PencilIcon.js +25 -0
  585. package/dist/icons/PencilIcon.js.map +1 -0
  586. package/dist/icons/PolygonIcon.js +19 -0
  587. package/dist/icons/PolygonIcon.js.map +1 -0
  588. package/dist/icons/RectIcon.js +37 -0
  589. package/dist/icons/RectIcon.js.map +1 -0
  590. package/dist/icons/SelectIcon.js +20 -0
  591. package/dist/icons/SelectIcon.js.map +1 -0
  592. package/dist/icons/StarIcon.js +19 -0
  593. package/dist/icons/StarIcon.js.map +1 -0
  594. package/dist/icons/TextIcon.js +19 -0
  595. package/dist/icons/TextIcon.js.map +1 -0
  596. package/dist/icons/UnknownIcon.js +33 -0
  597. package/dist/icons/UnknownIcon.js.map +1 -0
  598. package/dist/icons/_base.js +12 -0
  599. package/dist/icons/_base.js.map +1 -0
  600. package/dist/index.css +2 -86
  601. package/dist/index.d.ts +2349 -2609
  602. package/dist/index.js +312 -13
  603. package/dist/input/keyState.js +76 -0
  604. package/dist/input/keyState.js.map +1 -0
  605. package/dist/input/useKeyState.js +22 -0
  606. package/dist/input/useKeyState.js.map +1 -0
  607. package/dist/interactions/actions/actionShortcuts.js +32 -0
  608. package/dist/interactions/actions/actionShortcuts.js.map +1 -0
  609. package/dist/interactions/actions/align/align.js +81 -0
  610. package/dist/interactions/actions/align/align.js.map +1 -0
  611. package/dist/interactions/actions/booleans/booleans.js +120 -0
  612. package/dist/interactions/actions/booleans/booleans.js.map +1 -0
  613. package/dist/interactions/actions/booleans/useBooleans.js +20 -0
  614. package/dist/interactions/actions/booleans/useBooleans.js.map +1 -0
  615. package/dist/interactions/actions/booleans/useBooleansAdapter.js +9 -0
  616. package/dist/interactions/actions/booleans/useBooleansAdapter.js.map +1 -0
  617. package/dist/interactions/actions/clipboard/clipboardOps.js +94 -0
  618. package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -0
  619. package/dist/interactions/actions/clipboard/materializePaste.js +25 -0
  620. package/dist/interactions/actions/clipboard/materializePaste.js.map +1 -0
  621. package/dist/interactions/actions/clipboard/wireFormat.js +43 -0
  622. package/dist/interactions/actions/clipboard/wireFormat.js.map +1 -0
  623. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js +26 -0
  624. package/dist/interactions/actions/clone/behaviors/cloneByAltDrag.js.map +1 -0
  625. package/dist/interactions/actions/defaultCommitAdapter.js +42 -0
  626. package/dist/interactions/actions/defaultCommitAdapter.js.map +1 -0
  627. package/dist/interactions/actions/defaults/align.js +71 -0
  628. package/dist/interactions/actions/defaults/align.js.map +1 -0
  629. package/dist/interactions/actions/defaults/anchorEditing.js +235 -0
  630. package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -0
  631. package/dist/interactions/actions/defaults/areaSelect.js +75 -0
  632. package/dist/interactions/actions/defaults/areaSelect.js.map +1 -0
  633. package/dist/interactions/actions/defaults/booleans.js +52 -0
  634. package/dist/interactions/actions/defaults/booleans.js.map +1 -0
  635. package/dist/interactions/actions/defaults/cancelGesture.js +24 -0
  636. package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -0
  637. package/dist/interactions/actions/defaults/clearSelection.js +19 -0
  638. package/dist/interactions/actions/defaults/clearSelection.js.map +1 -0
  639. package/dist/interactions/actions/defaults/clipboard.js +78 -0
  640. package/dist/interactions/actions/defaults/clipboard.js.map +1 -0
  641. package/dist/interactions/actions/defaults/clone.js +96 -0
  642. package/dist/interactions/actions/defaults/clone.js.map +1 -0
  643. package/dist/interactions/actions/defaults/createOutlines.js +47 -0
  644. package/dist/interactions/actions/defaults/createOutlines.js.map +1 -0
  645. package/dist/interactions/actions/defaults/createPaintAction.js +85 -0
  646. package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -0
  647. package/dist/interactions/actions/defaults/delete.js +61 -0
  648. package/dist/interactions/actions/defaults/delete.js.map +1 -0
  649. package/dist/interactions/actions/defaults/distribute.js +66 -0
  650. package/dist/interactions/actions/defaults/distribute.js.map +1 -0
  651. package/dist/interactions/actions/defaults/duplicate.js +83 -0
  652. package/dist/interactions/actions/defaults/duplicate.js.map +1 -0
  653. package/dist/interactions/actions/defaults/editAnchors.js +100 -0
  654. package/dist/interactions/actions/defaults/editAnchors.js.map +1 -0
  655. package/dist/interactions/actions/defaults/enterPathEdit.js +29 -0
  656. package/dist/interactions/actions/defaults/enterPathEdit.js.map +1 -0
  657. package/dist/interactions/actions/defaults/enterTextEdit.js +20 -0
  658. package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -0
  659. package/dist/interactions/actions/defaults/escape.js +26 -0
  660. package/dist/interactions/actions/defaults/escape.js.map +1 -0
  661. package/dist/interactions/actions/defaults/exitPathEdit.js +22 -0
  662. package/dist/interactions/actions/defaults/exitPathEdit.js.map +1 -0
  663. package/dist/interactions/actions/defaults/flip.js +119 -0
  664. package/dist/interactions/actions/defaults/flip.js.map +1 -0
  665. package/dist/interactions/actions/defaults/freshNodeId.js +10 -0
  666. package/dist/interactions/actions/defaults/freshNodeId.js.map +1 -0
  667. package/dist/interactions/actions/defaults/group.js +131 -0
  668. package/dist/interactions/actions/defaults/group.js.map +1 -0
  669. package/dist/interactions/actions/defaults/icons/actionGlyphIcons.js +40 -0
  670. package/dist/interactions/actions/defaults/icons/actionGlyphIcons.js.map +1 -0
  671. package/dist/interactions/actions/defaults/icons/actionGlyphs.js +10 -0
  672. package/dist/interactions/actions/defaults/icons/actionGlyphs.js.map +1 -0
  673. package/dist/interactions/actions/defaults/icons/alignIcons.js +173 -0
  674. package/dist/interactions/actions/defaults/icons/alignIcons.js.map +1 -0
  675. package/dist/interactions/actions/defaults/icons/booleanIcons.js +171 -0
  676. package/dist/interactions/actions/defaults/icons/booleanIcons.js.map +1 -0
  677. package/dist/interactions/actions/defaults/icons/distributeIcons.js +63 -0
  678. package/dist/interactions/actions/defaults/icons/distributeIcons.js.map +1 -0
  679. package/dist/interactions/actions/defaults/icons/editIcons.js +280 -0
  680. package/dist/interactions/actions/defaults/icons/editIcons.js.map +1 -0
  681. package/dist/interactions/actions/defaults/icons/outlineIcons.js +53 -0
  682. package/dist/interactions/actions/defaults/icons/outlineIcons.js.map +1 -0
  683. package/dist/interactions/actions/defaults/ingest.js +58 -0
  684. package/dist/interactions/actions/defaults/ingest.js.map +1 -0
  685. package/dist/interactions/actions/defaults/insert.js +288 -0
  686. package/dist/interactions/actions/defaults/insert.js.map +1 -0
  687. package/dist/interactions/actions/defaults/insertPathAnchor.js +50 -0
  688. package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -0
  689. package/dist/interactions/actions/defaults/lassoSelect.js +156 -0
  690. package/dist/interactions/actions/defaults/lassoSelect.js.map +1 -0
  691. package/dist/interactions/actions/defaults/move.js +656 -0
  692. package/dist/interactions/actions/defaults/move.js.map +1 -0
  693. package/dist/interactions/actions/defaults/nudge.js +110 -0
  694. package/dist/interactions/actions/defaults/nudge.js.map +1 -0
  695. package/dist/interactions/actions/defaults/pinchZoom.js +63 -0
  696. package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -0
  697. package/dist/interactions/actions/defaults/reorder.js +143 -0
  698. package/dist/interactions/actions/defaults/reorder.js.map +1 -0
  699. package/dist/interactions/actions/defaults/requiresSelection.js +10 -0
  700. package/dist/interactions/actions/defaults/requiresSelection.js.map +1 -0
  701. package/dist/interactions/actions/defaults/resize.js +332 -0
  702. package/dist/interactions/actions/defaults/resize.js.map +1 -0
  703. package/dist/interactions/actions/defaults/rotate.js +181 -0
  704. package/dist/interactions/actions/defaults/rotate.js.map +1 -0
  705. package/dist/interactions/actions/defaults/selectAll.js +27 -0
  706. package/dist/interactions/actions/defaults/selectAll.js.map +1 -0
  707. package/dist/interactions/actions/defaults/setFill.js +27 -0
  708. package/dist/interactions/actions/defaults/setFill.js.map +1 -0
  709. package/dist/interactions/actions/defaults/setFillOpacity.js +15 -0
  710. package/dist/interactions/actions/defaults/setFillOpacity.js.map +1 -0
  711. package/dist/interactions/actions/defaults/setStroke.js +36 -0
  712. package/dist/interactions/actions/defaults/setStroke.js.map +1 -0
  713. package/dist/interactions/actions/defaults/setStrokeOpacity.js +21 -0
  714. package/dist/interactions/actions/defaults/setStrokeOpacity.js.map +1 -0
  715. package/dist/interactions/actions/defaults/slice.js +39 -0
  716. package/dist/interactions/actions/defaults/slice.js.map +1 -0
  717. package/dist/interactions/actions/defaults/sliceOps.js +60 -0
  718. package/dist/interactions/actions/defaults/sliceOps.js.map +1 -0
  719. package/dist/interactions/actions/defaults/toolActivate.js +35 -0
  720. package/dist/interactions/actions/defaults/toolActivate.js.map +1 -0
  721. package/dist/interactions/actions/defaults/toolResetToDefault.js +26 -0
  722. package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -0
  723. package/dist/interactions/actions/defaults/undoRedo.js +51 -0
  724. package/dist/interactions/actions/defaults/undoRedo.js.map +1 -0
  725. package/dist/interactions/actions/defaults/viewportDragPan.js +88 -0
  726. package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -0
  727. package/dist/interactions/actions/defaults/viewportWheelPan.js +57 -0
  728. package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -0
  729. package/dist/interactions/actions/defaults/viewportZoom.js +143 -0
  730. package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -0
  731. package/dist/interactions/actions/distribute/distribute.js +42 -0
  732. package/dist/interactions/actions/distribute/distribute.js.map +1 -0
  733. package/dist/interactions/actions/distribute/plan.js +29 -0
  734. package/dist/interactions/actions/distribute/plan.js.map +1 -0
  735. package/dist/interactions/actions/edit-anchors/geometry.js +61 -0
  736. package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -0
  737. package/dist/interactions/actions/edit-anchors/handles.js +43 -0
  738. package/dist/interactions/actions/edit-anchors/handles.js.map +1 -0
  739. package/dist/interactions/actions/flip/helpers.js +35 -0
  740. package/dist/interactions/actions/flip/helpers.js.map +1 -0
  741. package/dist/interactions/actions/geometryProjection.js +18 -0
  742. package/dist/interactions/actions/geometryProjection.js.map +1 -0
  743. package/dist/interactions/actions/gestureLifecycle.js +44 -0
  744. package/dist/interactions/actions/gestureLifecycle.js.map +1 -0
  745. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +39 -0
  746. package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js.map +1 -0
  747. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +36 -0
  748. package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js.map +1 -0
  749. package/dist/interactions/actions/move/behaviors/snapToContainer.js +67 -0
  750. package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -0
  751. package/dist/interactions/actions/move/gestureAdapter.js +37 -0
  752. package/dist/interactions/actions/move/gestureAdapter.js.map +1 -0
  753. package/dist/interactions/actions/outlines/createOutlines.js +84 -0
  754. package/dist/interactions/actions/outlines/createOutlines.js.map +1 -0
  755. package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js +9 -0
  756. package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js.map +1 -0
  757. package/dist/interactions/actions/planeInput.js +168 -0
  758. package/dist/interactions/actions/planeInput.js.map +1 -0
  759. package/dist/interactions/actions/poseDescriptorDep.js +9 -0
  760. package/dist/interactions/actions/poseDescriptorDep.js.map +1 -0
  761. package/dist/interactions/actions/poseFrame.js +38 -0
  762. package/dist/interactions/actions/poseFrame.js.map +1 -0
  763. package/dist/interactions/actions/previewOverrides.js +25 -0
  764. package/dist/interactions/actions/previewOverrides.js.map +1 -0
  765. package/dist/interactions/actions/resize/autoPoseDescriptor.js +32 -0
  766. package/dist/interactions/actions/resize/autoPoseDescriptor.js.map +1 -0
  767. package/dist/interactions/actions/resize/behaviors/clampMinSize.js +18 -0
  768. package/dist/interactions/actions/resize/behaviors/clampMinSize.js.map +1 -0
  769. package/dist/interactions/actions/resize/behaviors/index.js +8 -0
  770. package/dist/interactions/actions/resize/behaviors/index.js.map +1 -0
  771. package/dist/interactions/actions/resize/behaviors/lockAspect.js +24 -0
  772. package/dist/interactions/actions/resize/behaviors/lockAspect.js.map +1 -0
  773. package/dist/interactions/actions/resize/cornerHandles.js +72 -0
  774. package/dist/interactions/actions/resize/cornerHandles.js.map +1 -0
  775. package/dist/interactions/actions/resolveOverlays.js +60 -0
  776. package/dist/interactions/actions/resolveOverlays.js.map +1 -0
  777. package/dist/interactions/actions/resolvePreviews.js +61 -0
  778. package/dist/interactions/actions/resolvePreviews.js.map +1 -0
  779. package/dist/interactions/actions/rotate/geometry.js +46 -0
  780. package/dist/interactions/actions/rotate/geometry.js.map +1 -0
  781. package/dist/interactions/actions/rotate/handle.js +27 -0
  782. package/dist/interactions/actions/rotate/handle.js.map +1 -0
  783. package/dist/interactions/actions/spatialReference.js +42 -0
  784. package/dist/interactions/actions/spatialReference.js.map +1 -0
  785. package/dist/interactions/actions/useStandardActions.js +142 -0
  786. package/dist/interactions/actions/useStandardActions.js.map +1 -0
  787. package/dist/interactions/gestures/dragGesture/dragGesture.js +111 -0
  788. package/dist/interactions/gestures/dragGesture/dragGesture.js.map +1 -0
  789. package/dist/interactions/gestures/dragRadial/dragRadial.js +117 -0
  790. package/dist/interactions/gestures/dragRadial/dragRadial.js.map +1 -0
  791. package/dist/interactions/gestures/dragRect/dragRect.js +164 -0
  792. package/dist/interactions/gestures/dragRect/dragRect.js.map +1 -0
  793. package/dist/interactions/gestures/handleDrag/handleDrag.js +46 -0
  794. package/dist/interactions/gestures/handleDrag/handleDrag.js.map +1 -0
  795. package/dist/interactions/gestures/pointerDrag/pointerDrag.js +118 -0
  796. package/dist/interactions/gestures/pointerDrag/pointerDrag.js.map +1 -0
  797. package/dist/interactions/gestures/shared/originProjection.js +42 -0
  798. package/dist/interactions/gestures/shared/originProjection.js.map +1 -0
  799. package/dist/interactions/gestures/shared/screenTolerance.js +21 -0
  800. package/dist/interactions/gestures/shared/screenTolerance.js.map +1 -0
  801. package/dist/interactions/gestures/shared/snap.js +24 -0
  802. package/dist/interactions/gestures/shared/snap.js.map +1 -0
  803. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +30 -0
  804. package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js.map +1 -0
  805. package/dist/layout/arrivals.js +36 -0
  806. package/dist/layout/arrivals.js.map +1 -0
  807. package/dist/{math-MCQcf_gc.d.ts → math-CUMxmZzn.d.ts} +8 -116
  808. package/dist/math.d.ts +4 -5
  809. package/dist/math.js +6 -4
  810. package/dist/mesh.d.ts +268 -0
  811. package/dist/mesh.js +7 -0
  812. package/dist/move.d.ts +7 -48
  813. package/dist/move.js +3 -142
  814. package/dist/originProjection-BSn4xiEy.d.ts +57 -0
  815. package/dist/patterns-builtin.js +3 -3
  816. package/dist/{poseDescriptor-rZa9W5hJ.d.ts → poseDescriptor-CjSXMf8X.d.ts} +3 -3
  817. package/dist/registerProgram-ateHDGjw.d.ts +193 -0
  818. package/dist/renderer/DrawCommand.js +6 -0
  819. package/dist/renderer/DrawCommand.js.map +1 -0
  820. package/dist/renderer/WeaselRenderer.js +328 -0
  821. package/dist/renderer/WeaselRenderer.js.map +1 -0
  822. package/dist/renderer/cache/GLImageCache.js +64 -0
  823. package/dist/renderer/cache/GLImageCache.js.map +1 -0
  824. package/dist/renderer/cache/GLMeshCache.js +102 -0
  825. package/dist/renderer/cache/GLMeshCache.js.map +1 -0
  826. package/dist/renderer/cache/GLTextureCache.js +51 -0
  827. package/dist/renderer/cache/GLTextureCache.js.map +1 -0
  828. package/dist/renderer/cache/GradientRampAtlas.js +82 -0
  829. package/dist/renderer/cache/GradientRampAtlas.js.map +1 -0
  830. package/dist/renderer/cache/cache.js +13 -0
  831. package/dist/renderer/cache/cache.js.map +1 -0
  832. package/dist/renderer/cache/markerCommandCache.js +59 -0
  833. package/dist/renderer/cache/markerCommandCache.js.map +1 -0
  834. package/dist/renderer/cache/outlineMeshCache.js +15 -0
  835. package/dist/renderer/cache/outlineMeshCache.js.map +1 -0
  836. package/dist/renderer/cache/outlineStrokeMeshCache.js +31 -0
  837. package/dist/renderer/cache/outlineStrokeMeshCache.js.map +1 -0
  838. package/dist/renderer/cache/strokeMeshCache.js +44 -0
  839. package/dist/renderer/cache/strokeMeshCache.js.map +1 -0
  840. package/dist/renderer/cullDrawCommands.js +89 -0
  841. package/dist/renderer/cullDrawCommands.js.map +1 -0
  842. package/dist/renderer/draw.js +1109 -0
  843. package/dist/renderer/draw.js.map +1 -0
  844. package/dist/renderer/drawBatch.js +168 -0
  845. package/dist/renderer/drawBatch.js.map +1 -0
  846. package/dist/renderer/effects/EffectTargets.js +45 -0
  847. package/dist/renderer/effects/EffectTargets.js.map +1 -0
  848. package/dist/renderer/effects/builtins.js +31 -0
  849. package/dist/renderer/effects/builtins.js.map +1 -0
  850. package/dist/renderer/effects/composite.js +9 -0
  851. package/dist/renderer/effects/composite.js.map +1 -0
  852. package/dist/renderer/effects/effectPrelude.js +10 -0
  853. package/dist/renderer/effects/effectPrelude.js.map +1 -0
  854. package/dist/renderer/effects/types.js +10 -0
  855. package/dist/renderer/effects/types.js.map +1 -0
  856. package/dist/renderer/index.js +19 -0
  857. package/dist/renderer/math/color.js +341 -0
  858. package/dist/renderer/math/color.js.map +1 -0
  859. package/dist/renderer/math/mat3.js +71 -0
  860. package/dist/renderer/math/mat3.js.map +1 -0
  861. package/dist/renderer/math/patternSpace.js +22 -0
  862. package/dist/renderer/math/patternSpace.js.map +1 -0
  863. package/dist/renderer/math/viewToMat3.js +19 -0
  864. package/dist/renderer/math/viewToMat3.js.map +1 -0
  865. package/dist/renderer/paintResources.js +18 -0
  866. package/dist/renderer/paintResources.js.map +1 -0
  867. package/dist/renderer/paintScratch.js +37 -0
  868. package/dist/renderer/paintScratch.js.map +1 -0
  869. package/dist/renderer/shaders/ShaderProgram.js +74 -0
  870. package/dist/renderer/shaders/ShaderProgram.js.map +1 -0
  871. package/dist/renderer/shaders/batchFill.js +118 -0
  872. package/dist/renderer/shaders/batchFill.js.map +1 -0
  873. package/dist/renderer/shaders/customPrelude.js +34 -0
  874. package/dist/renderer/shaders/customPrelude.js.map +1 -0
  875. package/dist/renderer/shaders/extractUniformNames.js +184 -0
  876. package/dist/renderer/shaders/extractUniformNames.js.map +1 -0
  877. package/dist/renderer/shaders/glyphPaint.js +61 -0
  878. package/dist/renderer/shaders/glyphPaint.js.map +1 -0
  879. package/dist/renderer/shaders/gradFill.js +30 -0
  880. package/dist/renderer/shaders/gradFill.js.map +1 -0
  881. package/dist/renderer/shaders/imageFill.js +14 -0
  882. package/dist/renderer/shaders/imageFill.js.map +1 -0
  883. package/dist/renderer/shaders/pathFill.js +13 -0
  884. package/dist/renderer/shaders/pathFill.js.map +1 -0
  885. package/dist/renderer/shaders/patternFill.js +24 -0
  886. package/dist/renderer/shaders/patternFill.js.map +1 -0
  887. package/dist/renderer/shaders/registerProgram.js +18 -0
  888. package/dist/renderer/shaders/registerProgram.js.map +1 -0
  889. package/dist/renderer/spriteSheet.js +14 -0
  890. package/dist/renderer/spriteSheet.js.map +1 -0
  891. package/dist/renderer/state/GroupState.js +77 -0
  892. package/dist/renderer/state/GroupState.js.map +1 -0
  893. package/dist/renderer/syntheticItalic.js +6 -0
  894. package/dist/renderer/syntheticItalic.js.map +1 -0
  895. package/dist/renderer/textures/registerTexture.js +14 -0
  896. package/dist/renderer/textures/registerTexture.js.map +1 -0
  897. package/dist/renderer.d.ts +18 -20
  898. package/dist/renderer.js +18 -13
  899. package/dist/resize.d.ts +10 -46
  900. package/dist/resize.js +7 -5
  901. package/dist/routing.d.ts +1 -1
  902. package/dist/routing.js +2 -3
  903. package/dist/scheduling/useVisibleRaf.js +69 -0
  904. package/dist/scheduling/useVisibleRaf.js.map +1 -0
  905. package/dist/test-hook/createTestHook.js +39 -0
  906. package/dist/test-hook/createTestHook.js.map +1 -0
  907. package/dist/test-hook/install.js +12 -0
  908. package/dist/test-hook/install.js.map +1 -0
  909. package/dist/test-seams-fYf6m5pu.d.ts +356 -0
  910. package/dist/test-seams.d.ts +6 -0
  911. package/dist/test-seams.js +3 -0
  912. package/dist/tools/builtin/ellipse/useEllipseTool.js +33 -0
  913. package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -0
  914. package/dist/tools/builtin/eyedropper/useEyedropperTool.js +55 -0
  915. package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -0
  916. package/dist/tools/builtin/hand/dragPanContribution.js +17 -0
  917. package/dist/tools/builtin/hand/dragPanContribution.js.map +1 -0
  918. package/dist/tools/builtin/hand/useHandTool.js +31 -0
  919. package/dist/tools/builtin/hand/useHandTool.js.map +1 -0
  920. package/dist/tools/builtin/image/useImageTool.js +41 -0
  921. package/dist/tools/builtin/image/useImageTool.js.map +1 -0
  922. package/dist/tools/builtin/lasso/useLassoTool.js +42 -0
  923. package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -0
  924. package/dist/tools/builtin/line/useLineTool.js +33 -0
  925. package/dist/tools/builtin/line/useLineTool.js.map +1 -0
  926. package/dist/tools/builtin/pen/usePenTool.js +414 -0
  927. package/dist/tools/builtin/pen/usePenTool.js.map +1 -0
  928. package/dist/tools/builtin/pencil/usePencilTool.js +36 -0
  929. package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -0
  930. package/dist/tools/builtin/pickTopMostHit.js +45 -0
  931. package/dist/tools/builtin/pickTopMostHit.js.map +1 -0
  932. package/dist/tools/builtin/polygon/usePolygonTool.js +81 -0
  933. package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -0
  934. package/dist/tools/builtin/rect/useRectTool.js +32 -0
  935. package/dist/tools/builtin/rect/useRectTool.js.map +1 -0
  936. package/dist/tools/builtin/select/selectionContributions.js +109 -0
  937. package/dist/tools/builtin/select/selectionContributions.js.map +1 -0
  938. package/dist/tools/builtin/select/useSelectTool.js +162 -0
  939. package/dist/tools/builtin/select/useSelectTool.js.map +1 -0
  940. package/dist/tools/builtin/shared/insertToolOptions.js +8 -0
  941. package/dist/tools/builtin/shared/insertToolOptions.js.map +1 -0
  942. package/dist/tools/builtin/slice/useSliceTool.js +263 -0
  943. package/dist/tools/builtin/slice/useSliceTool.js.map +1 -0
  944. package/dist/tools/builtin/star/useStarTool.js +82 -0
  945. package/dist/tools/builtin/star/useStarTool.js.map +1 -0
  946. package/dist/tools/builtin/text/useTextTool.js +177 -0
  947. package/dist/tools/builtin/text/useTextTool.js.map +1 -0
  948. package/dist/tools/overlayBinding.js +8 -0
  949. package/dist/tools/overlayBinding.js.map +1 -0
  950. package/dist/tools/prefs.js +47 -0
  951. package/dist/tools/prefs.js.map +1 -0
  952. package/dist/tools/useKeybindings.js +66 -0
  953. package/dist/tools/useKeybindings.js.map +1 -0
  954. package/dist/{types-CxC8P6W0.d.ts → types-CA54-mAZ.d.ts} +188 -17
  955. package/dist/{types-D_74YlWs.d.ts → types-DSjd6W3n.d.ts} +35 -12
  956. package/dist/util/color.js +26 -0
  957. package/dist/util/color.js.map +1 -0
  958. package/dist/util/constrainTo45.js +17 -0
  959. package/dist/util/constrainTo45.js.map +1 -0
  960. package/dist/util/paint.js +72 -0
  961. package/dist/util/paint.js.map +1 -0
  962. package/dist/version.js +6 -0
  963. package/dist/version.js.map +1 -0
  964. package/package.json +31 -18
  965. package/dist/chunk-44EWMJV2.js +0 -128
  966. package/dist/chunk-44EWMJV2.js.map +0 -1
  967. package/dist/chunk-4RJP2N2L.js +0 -143
  968. package/dist/chunk-4RJP2N2L.js.map +0 -1
  969. package/dist/chunk-BJN5ZRIJ.js +0 -167
  970. package/dist/chunk-BJN5ZRIJ.js.map +0 -1
  971. package/dist/chunk-D4AAWR64.js +0 -28
  972. package/dist/chunk-D4AAWR64.js.map +0 -1
  973. package/dist/chunk-DOBSZOPR.js +0 -29
  974. package/dist/chunk-DOBSZOPR.js.map +0 -1
  975. package/dist/chunk-H6N2JSZ3.js +0 -248
  976. package/dist/chunk-H6N2JSZ3.js.map +0 -1
  977. package/dist/chunk-HPFJUUTF.js +0 -167
  978. package/dist/chunk-HPFJUUTF.js.map +0 -1
  979. package/dist/chunk-L5YNZYEG.js +0 -648
  980. package/dist/chunk-L5YNZYEG.js.map +0 -1
  981. package/dist/chunk-MZAIDI6D.js +0 -32492
  982. package/dist/chunk-MZAIDI6D.js.map +0 -1
  983. package/dist/chunk-PNNZSYRD.js +0 -318
  984. package/dist/chunk-PNNZSYRD.js.map +0 -1
  985. package/dist/chunk-RMR4QMM6.js +0 -250
  986. package/dist/chunk-RMR4QMM6.js.map +0 -1
  987. package/dist/clipboard.js.map +0 -1
  988. package/dist/clone.js.map +0 -1
  989. package/dist/grid-BXdz8GF2.d.ts +0 -158
  990. package/dist/index.css.map +0 -1
  991. package/dist/index.js.map +0 -1
  992. package/dist/insert.d.ts +0 -37
  993. package/dist/insert.js +0 -81
  994. package/dist/insert.js.map +0 -1
  995. package/dist/math.js.map +0 -1
  996. package/dist/move.js.map +0 -1
  997. package/dist/options-CzjxFoYZ.d.ts +0 -67
  998. package/dist/path-JEV2c5If.d.ts +0 -48
  999. package/dist/patterns-builtin.js.map +0 -1
  1000. package/dist/renderer.css +0 -86
  1001. package/dist/renderer.css.map +0 -1
  1002. package/dist/renderer.js.map +0 -1
  1003. package/dist/resize.js.map +0 -1
  1004. package/dist/routing.js.map +0 -1
  1005. package/dist/types-D2tTKEU0.d.ts +0 -18
@@ -0,0 +1,992 @@
1
+ import { normalizeView as e, viewZoom as t } from "../core/viewport/view.js";
2
+ import { rectFromPlane as n } from "../core/viewport/parallax.js";
3
+ import { DeviceProfileProvider as r, useDeviceProfile as i } from "../core/device/useDeviceProfile.js";
4
+ import { clientToWorld as a } from "../core/viewport/clientToWorld.js";
5
+ import { HANDLE_BASE_PX as o, targetSizesPx as s } from "../core/device/targets.js";
6
+ import { AUTO_POSE_DESCRIPTOR as c } from "../interactions/actions/resize/autoPoseDescriptor.js";
7
+ import { KIT_SHAPE_KINDS as l } from "../core/shapeKinds.js";
8
+ import { usePointerContext as u } from "../features/pointer/PointerContext.js";
9
+ import { dlog as d, dwarn as ee } from "../debug/flag.js";
10
+ import { registerContentHandler as f } from "../features/ingestion/contentHandlers.js";
11
+ import { KIT_STANDARD_ACTION_IDS as te, useStandardActions as p } from "../interactions/actions/useStandardActions.js";
12
+ import { resizePolicyOptions as ne, useResizePolicy as re } from "./deps/resizePolicy.js";
13
+ import { usePoseDescriptorDepSource as m } from "./deps/poseDescriptor.js";
14
+ import { usePoseCompositionDepSource as ie } from "./deps/poseComposition.js";
15
+ import { useSliceDepSource as ae } from "./deps/slice.js";
16
+ import { useDecayLoop as h } from "../core/viewport/useDecayLoop.js";
17
+ import { useAnimator as g } from "../animation/useAnimator.js";
18
+ import { useViewAnimationOn as oe } from "../core/viewport/useViewAnimation.js";
19
+ import { useTools as se } from "../tools/overlayBinding.js";
20
+ import { useKeybindings as _ } from "../tools/useKeybindings.js";
21
+ import { pathFromPlane as ce } from "./planeClips.js";
22
+ import { selectionMoveContribution as le, selectionTransformContribution as v } from "../tools/builtin/select/selectionContributions.js";
23
+ import { useHandTool as ue } from "../tools/builtin/hand/useHandTool.js";
24
+ import { defaultDrawOne as de, defaultPaintBounds as fe, paintBoundsFor as y } from "./defaultDrawOne.js";
25
+ import { useLateContentRedraw as pe } from "./useLateContentRedraw.js";
26
+ import { createSceneLayerGate as me } from "./sceneLayerPaint.js";
27
+ import { EMPTY_CHROME_STATE as he } from "../core/selection/chromeState.js";
28
+ import { ViewRegistryProvider as b, useOptionalViewRegistry as ge } from "./viewRegistry.js";
29
+ import { useSelection as _e } from "../core/selection/useSelection.js";
30
+ import { createSelectionOverlayLayer as ve, rotationBadgeOf as x } from "../features/selection/overlay.js";
31
+ import { rotateAroundAABBCenter as ye } from "./poseRotation.js";
32
+ import { Canvas as be } from "./Canvas.js";
33
+ import { composeAlphaFor as xe, wireSceneSlotToScene as Se } from "./sceneSlotWiring.js";
34
+ import { useSceneAdapter as Ce } from "./sceneAdapter.js";
35
+ import { sceneFromJSON as we } from "../core/scene/scene.js";
36
+ import { usePublishSelection as Te } from "../features/selection/SelectionContext.js";
37
+ import { ViewInputsProvider as Ee } from "./viewInputs.js";
38
+ import { anchorStateFrom as De, buildAffordanceAt as Oe, buildClassifyTarget as S, chromeAffordances as ke } from "./affordanceAt.js";
39
+ import { createDispatcherPreviewSources as Ae, createGestureSource as je } from "./SceneCanvas/dispatcherGestureBounds.js";
40
+ import { CanvasView as Me } from "./CanvasView.js";
41
+ import { contributionEntries as Ne, useContributionRoles as Pe } from "./SceneCanvas/useContributionRoles.js";
42
+ import { PointerProviderIfRoot as Fe, PointerPublisher as Ie } from "./SceneCanvas/PointerProviderIfRoot.js";
43
+ import { useSceneSelectTool as Le } from "./SceneCanvas/useSceneSelectTool.js";
44
+ import { SCENE_CANVAS_FEATURES as Re, featureActionIds as ze, resolveFeatures as Be } from "./SceneCanvas/features.js";
45
+ import { usePreviewGhostLayer as Ve } from "./SceneCanvas/usePreviewGhostLayer.js";
46
+ import { useDispatcherOverlayLayer as He } from "./SceneCanvas/useDispatcherOverlayLayer.js";
47
+ import { createPenPreviewLayer as Ue } from "../features/paths/penPreviewLayer.js";
48
+ import { createPathEditingOverlayLayer as We } from "../features/paths/pathEditingOverlayLayer.js";
49
+ import { createSlopsDebugLayer as Ge } from "./slopsDebugLayer.js";
50
+ import { useBuiltinShapeTools as Ke } from "./SceneCanvas/useBuiltinShapeTools.js";
51
+ import { useViewDepSource as qe } from "./deps/view.js";
52
+ import { useAreaSelectDepSource as Je } from "./deps/areaSelect.js";
53
+ import { useNodeAtPointDepSource as Ye } from "./deps/nodeAtPoint.js";
54
+ import { useLassoSelectDepSource as Xe } from "./deps/lassoSelect.js";
55
+ import { useTextEditDepSource as Ze } from "./deps/textEdit.js";
56
+ import { resolveEditablePathOf as Qe, useEditAnchorsDepSource as $e } from "./deps/editAnchors.js";
57
+ import { useInsertDepSource as et } from "./deps/insert.js";
58
+ import { useSnapDepSource as C } from "./deps/snap.js";
59
+ import { useDebugDepSource as tt } from "./deps/debug.js";
60
+ import { useDispatcherDepSource as nt } from "./deps/dispatcher.js";
61
+ import { useLayoutDepSource as rt } from "./deps/layout.js";
62
+ import { useGeometryProjection as it } from "./deps/geometryProjection.js";
63
+ import { useIngestionDepSource as w } from "./deps/ingestion.js";
64
+ import { useLayoutArrivals as at } from "../layout/arrivals.js";
65
+ import { acquireKitContentHandlers as ot } from "../features/ingestion/registerKitHandlers.js";
66
+ import { itemsFromFiles as st } from "../features/ingestion/index.js";
67
+ import { useActionsPropResolver as ct } from "./SceneCanvas/useActionsPropResolver.js";
68
+ import { useViewportActions as lt } from "./SceneCanvas/useViewportActions.js";
69
+ import { createLongPressFeedbackContribution as ut } from "../features/longPress/longPressFeedback.js";
70
+ import { createNodeRouting as dt } from "../core/scene/NodeRouting.js";
71
+ import { inferredNodeRouting as ft } from "./SceneCanvas/defaultNodeRouting.js";
72
+ import { installTestHookIfRequested as pt } from "../test-hook/install.js";
73
+ import { makeGetNodeAtPoint as mt } from "./getNodeAtPoint.js";
74
+ import { never as T } from "../features/chrome-caps/conditions.js";
75
+ import { resolveVisibility as ht } from "../features/chrome-caps/resolve.js";
76
+ import { buildChromeCtx as gt } from "../features/chrome-caps/buildChromeCtx.js";
77
+ import { useHoverTracking as _t } from "../features/chrome-caps/useHoverTracking.js";
78
+ import { DEFAULT_ALLOWED_CAPABILITIES as vt } from "../features/chrome-caps/index.js";
79
+ import { forwardRef as yt, useCallback as E, useEffect as D, useInsertionEffect as bt, useMemo as O, useRef as k, useState as A } from "react";
80
+ import { useLatest as j } from "@weasel-js/react";
81
+ import { createDispatcher as xt, createLongPressStore as St } from "@weasel-js/routing";
82
+ import { InputScope as Ct, useActionsRegistry as wt, useDepRegistry as Tt, useDepSource as Et, useGestureDispatcher as M } from "@weasel-js/routing/react";
83
+ import { Fragment as Dt, jsx as N, jsxs as Ot } from "react/jsx-runtime";
84
+ import { getActiveModeFor as kt } from "@weasel-js/modes";
85
+ //#region src/canvas/SceneCanvas.tsx
86
+ var At = o, jt = (() => {
87
+ try {
88
+ return !1;
89
+ } catch {
90
+ return !1;
91
+ }
92
+ })(), Mt = 200, P = [], Nt = jt;
93
+ Nt && typeof window < "u" && (window.__weaselCoordLog__ = P);
94
+ function Pt(e) {
95
+ Nt && (P.push(e), P.length > Mt && P.shift());
96
+ }
97
+ function Ft(e, t = 1) {
98
+ let n = {
99
+ scene: {
100
+ drawOne: de,
101
+ paintBounds: fe
102
+ },
103
+ selectionOverlay: { handles: { size: s(t).handle } }
104
+ };
105
+ if (!e) return n;
106
+ let r = { ...e };
107
+ if (!("scene" in e)) r.scene = n.scene;
108
+ else if (e.scene === null) r.scene = null;
109
+ else {
110
+ let t = {
111
+ ...n.scene,
112
+ ...e.scene
113
+ };
114
+ r.scene = e.scene && "paintBounds" in e.scene ? t : {
115
+ ...t,
116
+ paintBounds: y(t.drawOne)
117
+ };
118
+ }
119
+ return r.selectionOverlay = "selectionOverlay" in e ? e.selectionOverlay === null ? null : {
120
+ ...n.selectionOverlay,
121
+ ...e.selectionOverlay
122
+ } : n.selectionOverlay, r;
123
+ }
124
+ var It = ["select", "hand"], F = [...It, ...l];
125
+ function Lt(e) {
126
+ if (e === !1) return !1;
127
+ let { slops: t, ...n } = e;
128
+ return n;
129
+ }
130
+ var Rt = /* @__PURE__ */ new Set(), zt = /* @__PURE__ */ new Set();
131
+ function Bt(e) {
132
+ return typeof e.setActive == "function";
133
+ }
134
+ function Vt(o, u) {
135
+ let { scene: p, geometry: ne, poseDescriptor: re, selectTool: m, insertTool: ie, insertNodeFactories: ae, ingestion: h, layouts: _, layoutDropTarget: de, reflowTransition: fe, poseComposition: y, geometryProjection: he, routing: b, selection: ye, selectionOptions: De, selectable: Oe = !0, tools: S, features: ke, enableKeybindings: Pe = !0, enableGestureDispatcher: Re = !0, onToolsCreated: qe, defaultTools: Je, toolOptions: Ye, initialActiveTool: Xe, ambient: Ze, versionCheck: $e, longPress: et, viewport: C, layers: tt, actions: nt, actionDefaults: rt, describeKind: it, animator: w, views: at, children: ct, shaders: lt, flattenTolerance: yt, backgroundFill: St, cursorCoordsHud: Ct, pickHud: wt, debug: Tt, modalityHud: Et, alphaFor: M, layerVisibility: At, layerOrder: Mt, isPointerInteractive: P, onDoubleClick: Nt, chromeVisibility: Pt, modes: F, getFocused: Vt, device: Gt, ...Kt } = o, I = re ?? c, L = i(Gt), qt = O(() => s(L.targetScale), [L.targetScale]), Jt = (e) => typeof e == "object" && !!e && e.version === 1 && Array.isArray(e.nodes), [Yt] = A(() => Jt(p) ? we(p, {}) : null), R = Yt ?? p, { view: z, onViewChange: Xt, defaultView: Zt, redrawOn: Qt, ...$t } = Kt, en = O(() => F ? kt(F) : void 0, [F]), tn = O(() => F ? [...Qt ?? [], F] : Qt, [F, Qt]), nn = k(null), B = k(null), [rn, an] = A(!1);
136
+ D(() => (d("scene-canvas", "mount"), () => d("scene-canvas", "unmount")), []);
137
+ let on = h?.handlers;
138
+ D(() => {
139
+ let e = [ot()];
140
+ for (let t of on ?? []) e.push(f(t));
141
+ return () => e.forEach((e) => e());
142
+ }, [on]), D(() => {
143
+ if (w) return w.onTick(() => {
144
+ B.current?.requestRedraw?.();
145
+ });
146
+ }, [w]), pe(E(() => {
147
+ B.current?.requestRedraw?.();
148
+ }, [])), D(() => R.overrides.subscribe(() => {
149
+ B.current?.requestRedraw?.();
150
+ }), [R]), D(() => R.subscribe(() => {
151
+ B.current?.requestRedraw?.();
152
+ }), [R]);
153
+ let V = k(e(z ?? Zt ?? {
154
+ x: 0,
155
+ y: 0,
156
+ scale: {
157
+ x: 1,
158
+ y: 1
159
+ }
160
+ }));
161
+ bt(() => {
162
+ z !== void 0 && (V.current = e(z));
163
+ }), D(() => {
164
+ let e = B.current;
165
+ if (e) return V.current = e.getView(), e.subscribeView((e) => {
166
+ V.current = e;
167
+ });
168
+ }, [rn]);
169
+ let sn = E((t) => {
170
+ let n = B.current;
171
+ if (z === void 0 && n) {
172
+ n.setView(t);
173
+ return;
174
+ }
175
+ Xt?.(e(t));
176
+ }, [z, Xt]), cn = g(), ln = O(() => ({
177
+ get: () => V.current,
178
+ set: sn
179
+ }), [sn]), H = oe(ln, cn), un = E((e) => {
180
+ H.stopIfExternal(), Xt?.(e);
181
+ }, [Xt, H]), dn = C?.animatedZoom, fn = C?.zoom ?? !0, pn = O(() => {
182
+ if (fn === !1) return !1;
183
+ let e = typeof fn == "object" ? fn : {};
184
+ return dn ? {
185
+ ...e,
186
+ animate: dn === !0 ? {} : dn
187
+ } : e;
188
+ }, [fn, dn]), mn = O(() => ({
189
+ scene: R,
190
+ ...De ?? {}
191
+ }), [R, De]), hn = _e(mn), gn = ye ?? hn, _n = gn.adapterMethods, vn = O(() => ({
192
+ getSelection: () => _n.getSelection(),
193
+ setSelection: () => {}
194
+ }), [_n]), U = O(() => {
195
+ if (Oe) return gn;
196
+ let e = () => {};
197
+ return {
198
+ get current() {
199
+ return gn.current;
200
+ },
201
+ get: gn.get,
202
+ contains: gn.contains,
203
+ set: e,
204
+ add: e,
205
+ remove: e,
206
+ toggle: e,
207
+ clear: e,
208
+ applyClick: e,
209
+ adapterMethods: vn
210
+ };
211
+ }, [
212
+ gn,
213
+ Oe,
214
+ vn
215
+ ]), yn = U.current, bn = O(() => {
216
+ if (yn.length === 0) return;
217
+ let e = [];
218
+ for (let t of yn) {
219
+ let n = R.get(t);
220
+ if (!n) {
221
+ e.push(void 0);
222
+ continue;
223
+ }
224
+ if (it) {
225
+ e.push(it(n));
226
+ continue;
227
+ }
228
+ if (n.kind === "container") {
229
+ e.push("group");
230
+ continue;
231
+ }
232
+ let r = n.pose;
233
+ if (r && typeof r == "object" && "kind" in r && typeof r.kind == "string") {
234
+ e.push("path");
235
+ continue;
236
+ }
237
+ e.push(void 0);
238
+ }
239
+ return e;
240
+ }, [
241
+ yn,
242
+ R,
243
+ it
244
+ ]);
245
+ Te(yn, bn);
246
+ let [xn, Sn] = A(""), Cn = j(xn), wn = k(void 0), W = E(() => {
247
+ let e = wn.current;
248
+ return e && !e() ? "" : Cn.current;
249
+ }, [Cn]), Tn = k(zt), En = k(null), Dn = O(() => ({
250
+ getEditingId: () => W(),
251
+ setEditingId: (e) => Sn(e ?? ""),
252
+ getSelectedAnchors: () => Tn.current,
253
+ setSelectedAnchors: (e) => {
254
+ Tn.current = e, B.current?.requestRedraw?.();
255
+ },
256
+ getMarquee: () => En.current,
257
+ setMarquee: (e) => {
258
+ En.current = e, B.current?.requestRedraw?.();
259
+ }
260
+ }), [W]), On = O(() => ({
261
+ handleHitRadius: qt.handle,
262
+ extendClickLocked: () => W() !== "",
263
+ ...m
264
+ }), [
265
+ m,
266
+ qt.handle,
267
+ W
268
+ ]), kn = j(U), An = O(() => {
269
+ let e = b === void 0 ? ft : b;
270
+ if (e.length === 0) return;
271
+ let t = dt();
272
+ for (let n of e) t.register(n);
273
+ return (e) => t.classify(e);
274
+ }, [b]), jn = O(() => {
275
+ if (An) return (e) => {
276
+ let t = R.get(e);
277
+ return t ? An(t.data) : void 0;
278
+ };
279
+ }, [An, R]), Mn = O(() => xe(R, M), [R, M]), Nn = ge(), Pn = j({
280
+ layerVisibility: At,
281
+ layerOrder: Mt
282
+ }), [Fn] = A(me), In = E((e) => Fn(Nn?.surface()?.layers() ?? [], Pn.current)(e), [
283
+ Nn,
284
+ Fn,
285
+ Pn
286
+ ]), Ln = At !== void 0 || Mt !== void 0 ? In : void 0, Rn = y !== void 0 && y.closure !== "identity", G = Ce(R, {
287
+ selection: U.adapterMethods,
288
+ poseDescriptor: I,
289
+ commitInsert: ie?.create,
290
+ insertLayer: ie?.layer,
291
+ layouts: _,
292
+ poseComposition: y,
293
+ cascadeContainerPose: !Rn
294
+ }), { selectTool: zn, pickEvery: K, pickBest: Bn, boundsOf: Vn, boundsOfPose: Hn, planeOfNode: Un, moveOptions: Wn } = Le({
295
+ scene: R,
296
+ adapter: G,
297
+ poseDescriptor: I,
298
+ geometry: ne,
299
+ getView: () => V.current,
300
+ ...M ? { alphaOf: Mn } : {},
301
+ ...Ln ? { layerIsPainted: Ln } : {},
302
+ selectTool: On
303
+ }), Gn = j(Un), Kn = O(() => {
304
+ if (!K) return;
305
+ let e = mt(K, (e) => {
306
+ let t = G.getNode(e);
307
+ return {
308
+ kind: t && An ? An(t.data) : "unknown",
309
+ pose: G.getWorldPose(e),
310
+ data: t ?? { id: e }
311
+ };
312
+ });
313
+ return P ? (t, n, r) => {
314
+ let i = e(t, n, r);
315
+ return i == null || P(i.id) === !1 ? null : i;
316
+ } : e;
317
+ }, [
318
+ G,
319
+ K,
320
+ P,
321
+ An
322
+ ]), qn = (ke ?? []).join("|"), Jn = C !== void 0, q = O(() => Be(ke, { viewport: Jn }), [qn, Jn]), Yn = !!C?.inertia, Xn = typeof C?.inertia == "object" ? C.inertia : void 0, Zn = Yn ? {
323
+ friction: Xn?.friction,
324
+ minSpeed: Xn?.minSpeed,
325
+ boundary: Xn?.boundary,
326
+ bounds: Xn?.bounds
327
+ } : void 0, Qn = ue(Zn ? { inertia: Zn } : {}), $n = [
328
+ ...Je ?? [],
329
+ ...q.has("pick") ? ["select"] : [],
330
+ ...q.has("view") ? ["hand"] : []
331
+ ], er = /* @__PURE__ */ new Set([...It, ...l]), tr = !S || Bt(S) ? null : S, nr = /* @__PURE__ */ new Set();
332
+ if (tr) {
333
+ for (let [e, t] of Object.entries(tr)) if (t === !0) {
334
+ if (!er.has(e)) {
335
+ jt && console.warn(`[SceneCanvas] tools.${e}=true is not a known built-in id; ignoring`);
336
+ continue;
337
+ }
338
+ nr.add(e);
339
+ }
340
+ }
341
+ let J = (e) => $n.includes(e) || nr.has(e), Y = Ke({
342
+ scene: R,
343
+ adapter: G,
344
+ options: Ye
345
+ }), rr = O(() => ut(), []), ir = et?.feedback ?? !0, ar = ir === !0 ? rr : ir || null, or = O(() => ar ? [...Ze ?? [], ar] : Ze ?? [], [Ze, ar]), X = {};
346
+ J("select") && (X.select = zn), J("hand") && (X.hand = Qn), J("rect") && (X.rect = Y.rect), J("ellipse") && (X.ellipse = Y.ellipse), J("line") && (X.line = Y.line), J("polygon") && (X.polygon = Y.polygon), J("star") && (X.star = Y.star), J("pen") && (X.pen = Y.pen), J("pencil") && (X.pencil = Y.pencil), J("lasso") && (X.lasso = Y.lasso), J("text") && (X.text = Y.text);
347
+ let sr = tr;
348
+ if (sr) for (let [e, t] of Object.entries(sr)) if (t === !1) delete X[e];
349
+ else if (t === !0) continue;
350
+ else jt && e in X && console.warn(`[SceneCanvas] tools prop overrides bundled "${e}" tool`), X[e] = t;
351
+ let cr = S && Bt(S) ? S : null, lr = se({
352
+ active: Xe ?? ("select" in X ? "select" : null),
353
+ registry: X,
354
+ ...or.length ? { ambient: or } : {},
355
+ ...F ? { modes: F } : {}
356
+ }), ur = j(cr ?? lr), Z = j(en), dr = E((e) => {
357
+ let t = Z.current;
358
+ if (!t) return !0;
359
+ let n = (ur.current?.registry)?.[e]?.eligibility.capabilities ?? [];
360
+ if (n.length === 0) return !1;
361
+ let r = t().allowedCapabilities;
362
+ for (let e of n) if (r.has(e)) return !0;
363
+ return !1;
364
+ }, [Z, ur]), Q = cr ?? lr, fr = O(() => ({ move: Wn }), [Wn]), pr = m?.rotate || void 0, mr = O(() => [...q.has("transform") ? [v({ rotate: pr })] : [], ...q.has("move") ? [le(fr)] : []], [
365
+ q,
366
+ fr,
367
+ pr
368
+ ]), hr = O(() => {
369
+ let e = ze(q), t = [
370
+ ...Object.values(Q.registry),
371
+ ...Q.ambient,
372
+ ...mr
373
+ ];
374
+ for (let n of t) for (let t of n.bindings ?? []) e.add(t.actionId);
375
+ return te.filter((t) => !e.has(t));
376
+ }, [
377
+ q,
378
+ Q,
379
+ mr
380
+ ]), gr = j(qe);
381
+ D(() => {
382
+ gr.current?.(Q);
383
+ }, [Q, gr]);
384
+ let _r = j(Nt), vr = j(Kn), yr = O(() => {
385
+ if (Nt) return (e) => {
386
+ let t = _r.current;
387
+ if (!t) return;
388
+ let n = vr.current?.(e.x, e.y);
389
+ t(n ? {
390
+ id: n.id,
391
+ kind: n.kind
392
+ } : null);
393
+ };
394
+ }, [!!Nt]), $ = O(() => Ft(tt, L.targetScale), [tt, L.targetScale]), br = O(() => {
395
+ if (m?.rotate !== !1) return nt;
396
+ if (nt === null) return null;
397
+ let e = { ...nt ?? {} };
398
+ return "rotate" in e || (e.rotate = null), e;
399
+ }, [nt, m?.rotate]), xr = k(null), Sr = k(null);
400
+ Sr.current ||= xt({ getAction: (e) => xr.current?.(e) });
401
+ let Cr = Sr.current, wr = O(() => je(() => Sr.current), []), { previewIdsExtra: Tr, previewPoseExtra: Er } = O(() => Ae(() => Sr.current), []), Dr = O(() => {
402
+ let e = $.scene;
403
+ return !e || "layer" in e ? e : Se(e, R, M, w?.colorOverrides);
404
+ }, [
405
+ $.scene,
406
+ M,
407
+ R,
408
+ w
409
+ ]), Or = Ve({
410
+ scene: R,
411
+ sceneSlot: Dr,
412
+ dispatcher: Cr
413
+ }), kr = He({ dispatcher: Cr }), Ar = j(Kn), jr = _t({
414
+ canvasRef: nn,
415
+ nodeAtClientPoint: (e, t) => {
416
+ let n = nn.current;
417
+ if (!n) return null;
418
+ let r = Nn?.resolver.at(null, e, t), i = r?.origin ?? n.getBoundingClientRect(), o = r?.view ?? V.current, [s, c] = a(e, t, i, o), l = r?.id == null ? void 0 : Nn?.list().find((e) => e.id === r.id), u = Ar.current?.(s, c, l ? {
419
+ scale: o.scale,
420
+ layerIsPainted: l.layerIsPainted
421
+ } : o);
422
+ return u ? { id: u.id } : null;
423
+ },
424
+ enabled: Pt !== void 0
425
+ }), Mr = j(U.current), Nr = j(Vt), Pr = O(() => {
426
+ let e = {};
427
+ return q.has("pick") || (e["selection.outline"] = T), q.has("transform") || (e["selection.resize-handles"] = T, e["selection.rotation-handle"] = T), Oe || (e["action.marquee"] = T, e["action.lasso"] = T), m?.rotate === !1 && (e["selection.rotation-handle"] = T), Object.keys(e).length === 0 ? Pt : {
428
+ ...e,
429
+ ...Pt
430
+ };
431
+ }, [
432
+ Pt,
433
+ Oe,
434
+ m?.rotate,
435
+ q
436
+ ]), Fr = j(Pr), Ir = j(L), Lr = j(m?.resize?.resizable), Rr = E((e) => {
437
+ let n = e.selection, r = Z.current?.() ?? {
438
+ id: "normal",
439
+ allowedCapabilities: vt
440
+ }, i = gt({
441
+ focused: !Nr.current || Nr.current(),
442
+ selection: n,
443
+ multiActive: n.length > 1,
444
+ modifiers: {
445
+ alt: !1,
446
+ ctrl: !1,
447
+ meta: !1,
448
+ shift: !1
449
+ },
450
+ action: e.action,
451
+ hover: jr(),
452
+ view: e.view
453
+ }), a = Lr.current, o = a ? n.every((e) => a(e)) : void 0;
454
+ return {
455
+ ...i,
456
+ zoom: t(e.view),
457
+ mode: r.id,
458
+ allowedCapabilities: r.allowedCapabilities,
459
+ selectionResizable: o,
460
+ editingAnchors: W() !== "",
461
+ device: Ir.current
462
+ };
463
+ }, [
464
+ jr,
465
+ W,
466
+ Z,
467
+ Nr,
468
+ Lr,
469
+ Ir
470
+ ]), zr = E(() => ({
471
+ selection: Mr.current,
472
+ view: V.current,
473
+ action: Cr.getActiveAction()
474
+ }), [Cr, Mr]), Br = E(() => Rr(zr()), [Rr, zr]), Vr = O(() => en ? () => Z.current().allowedCapabilities.has("edits-anchors") : void 0, [en, Z]);
475
+ bt(() => {
476
+ wn.current = Vr;
477
+ });
478
+ let Hr = O(() => ({
479
+ ruleCtx: (e) => Z.current ? Rr(e) : void 0,
480
+ isVisible: (e) => ht(Fr.current, Rr(e))
481
+ }), [
482
+ Rr,
483
+ Z,
484
+ Fr
485
+ ]), Ur = E(() => Hr.isVisible(zr()), [Hr, zr]), Wr = J("pen"), Gr = O(() => Wr ? Ue({ penTool: Y.pen }) : null, [Y.pen, Wr]);
486
+ D(() => {
487
+ B.current?.requestRedraw?.();
488
+ }, [xn]);
489
+ let Kr = j(R), qr = Tt !== void 0 && Tt !== !1 && Tt.slops === !0, Jr = $.selectionOverlay, Yr = Jr ? x(Jr) : null, Xr = O(() => Yr, [Yr?.distancePx, Yr?.sizePx]), Zr = k([]), Qr = O(() => Ge({ getAffordances: () => Zr.current }), []), $r = (e, t, n) => {
490
+ let r = Kr.current?.get(e);
491
+ if (!r) return null;
492
+ let i = r.pose, a = r.data, o = !1;
493
+ for (let n of t) {
494
+ let t = n.previewIds?.();
495
+ if (!t) continue;
496
+ let r = !1;
497
+ for (let n of t) if (n === e) {
498
+ r = !0;
499
+ break;
500
+ }
501
+ if (!r) continue;
502
+ let s = n.previewPose?.(e);
503
+ s != null && !o && (i = s, o = !0);
504
+ let c = n.previewData?.(e);
505
+ c != null && (a = c, o = !0);
506
+ }
507
+ return ce(Qe({
508
+ pose: i,
509
+ data: a
510
+ }), Gn.current(e, n));
511
+ }, ei = O(() => We({
512
+ getEditingId: () => W() || null,
513
+ getPose: (e, t, n) => $r(e, t, n),
514
+ getSelectedAnchors: () => Tn.current,
515
+ getMarquee: (e) => {
516
+ let t = En.current, r = t ? Gn.current(W(), e) : null;
517
+ return t && r ? n(r, t) : t;
518
+ }
519
+ }), []), ti = E(() => {
520
+ let e = W();
521
+ return e ? /* @__PURE__ */ new Set([e]) : Rt;
522
+ }, [W]), ni = O(() => {
523
+ let e = $.selectionOverlay;
524
+ if (e === null) return null;
525
+ let t = e ?? {}, n = t.getSuppressedIds, r = () => {
526
+ let e = ti(), t = n?.();
527
+ if (!t || t.size === 0) return e;
528
+ if (e.size === 0) return t;
529
+ let r = new Set(t);
530
+ for (let t of e) r.add(t);
531
+ return r;
532
+ };
533
+ return ve({
534
+ ...t,
535
+ getSuppressedIds: r,
536
+ ...t.poseById ? {
537
+ getPose: t.poseById,
538
+ poseDescriptor: t.poseDescriptor ?? I
539
+ } : {}
540
+ });
541
+ }, [
542
+ $.selectionOverlay,
543
+ ti,
544
+ I
545
+ ]), ri = O(() => ({
546
+ ...$,
547
+ ...Dr ? { scene: Dr } : {},
548
+ selectionOverlay: ni ? { layer: ni } : $.selectionOverlay === null ? null : void 0,
549
+ previewGhost: {
550
+ layer: Or,
551
+ after: "scene"
552
+ },
553
+ dispatcherOverlay: {
554
+ layer: kr,
555
+ after: "previewGhost"
556
+ },
557
+ ...Gr ? { penPreview: {
558
+ layer: Gr,
559
+ after: "dispatcherOverlay"
560
+ } } : {},
561
+ pathEditingOverlay: {
562
+ layer: ei,
563
+ after: "selectionOverlay"
564
+ },
565
+ ...qr ? { slopsDebug: {
566
+ layer: Qr,
567
+ after: "pathEditingOverlay"
568
+ } } : {}
569
+ }), [
570
+ $,
571
+ Dr,
572
+ ni,
573
+ Or,
574
+ kr,
575
+ Gr,
576
+ ei,
577
+ qr,
578
+ Qr
579
+ ]), ii = k(null), ai = h?.clipboard?.reviver, oi = h?.clipboard?.enabled !== !1, si = O(() => {
580
+ if (oi && G?.commitPaste) return {
581
+ adapter: G,
582
+ ...ai ? { reviver: ai } : {}
583
+ };
584
+ }, [
585
+ G,
586
+ oi,
587
+ ai
588
+ ]), ci = E((e, t) => {
589
+ let n = e.map((e) => e instanceof File ? st([e])[0] : e);
590
+ if (n.length !== 0) {
591
+ if (!ii.current) {
592
+ ee("ingest", "CanvasExtensionApi.ingest called before the action registry mounted — call ignored. Defer to an effect or event handler.");
593
+ return;
594
+ }
595
+ ii.current.trigger("ingest", {
596
+ items: n,
597
+ ...t ? {
598
+ worldX: t.x,
599
+ worldY: t.y
600
+ } : {}
601
+ });
602
+ }
603
+ }, []), [li, ui] = A([]), di = E((e) => (ui((t) => [...t.filter((t) => t.id !== e.id), e]), {
604
+ id: e.id,
605
+ draw: (t, n, r) => Nn?.list().find((t) => t.id === e.id)?.layer.draw(t, n, r) ?? [],
606
+ remove: () => ui((t) => t.filter((t) => t !== e))
607
+ }), [Nn]), fi = E((e) => {
608
+ nn.current = e?.element ?? null;
609
+ let t = e ? {
610
+ ...e,
611
+ ingest: ci,
612
+ animateView: H.animate,
613
+ stopViewAnimation: H.stop,
614
+ isViewAnimating: H.isAnimating,
615
+ addView: di
616
+ } : null;
617
+ B.current = t, an(t !== null), typeof u == "function" ? u(t) : u && (u.current = t);
618
+ }, [
619
+ u,
620
+ ci,
621
+ H,
622
+ di
623
+ ]), pi = O(() => ({
624
+ adapter: G,
625
+ geometry: I,
626
+ boundsOf: Vn,
627
+ boundsOfPose: Hn,
628
+ planeOfNode: Un,
629
+ tools: Q,
630
+ pickEvery: K,
631
+ pickBest: Bn,
632
+ kindOfNode: jn,
633
+ chromeCaps: Hr,
634
+ selectionApi: U,
635
+ rotationBadge: Xr
636
+ }), [
637
+ G,
638
+ I,
639
+ Vn,
640
+ Hn,
641
+ Un,
642
+ Q,
643
+ K,
644
+ Bn,
645
+ jn,
646
+ Hr,
647
+ U,
648
+ Xr
649
+ ]), mi = /* @__PURE__ */ N(be, {
650
+ ref: fi,
651
+ adapter: G,
652
+ selection: U,
653
+ poseDescriptor: I,
654
+ tools: Q,
655
+ layers: ri,
656
+ pickEvery: K,
657
+ boundsOf: Vn,
658
+ boundsOfPose: Hn,
659
+ getIsVisible: Ur,
660
+ previewIdsExtra: Tr,
661
+ gestureSource: wr,
662
+ previewPoseExtra: Er,
663
+ backgroundFill: St,
664
+ cursorCoordsHud: Ct,
665
+ pickHud: wt,
666
+ modalityHud: Et,
667
+ ...Tt === void 0 ? {} : { debug: Lt(Tt) },
668
+ pickBest: Bn,
669
+ contentVersion: R.getVersion,
670
+ layerVisibility: At,
671
+ layerOrder: Mt,
672
+ ...z === void 0 ? { defaultView: Zt } : { view: z },
673
+ onViewChange: un,
674
+ shaders: lt,
675
+ flattenTolerance: yt,
676
+ ...tn ? { redrawOn: tn } : {},
677
+ ...$t
678
+ }), hi = j(R), gi = j(U), _i = k(null);
679
+ return D(() => {
680
+ process.env.NODE_ENV !== "production" && (_i.current = pt({
681
+ getScene: () => hi.current,
682
+ getSelectionIds: () => gi.current?.current ?? [],
683
+ getView: () => V.current,
684
+ getActiveToolId: () => ur.current?.active ?? null
685
+ }), _i.current?._markReady());
686
+ }, [
687
+ hi,
688
+ gi,
689
+ ur
690
+ ]), /* @__PURE__ */ N(r, {
691
+ value: Gt,
692
+ children: /* @__PURE__ */ N(Ee, {
693
+ value: pi,
694
+ children: /* @__PURE__ */ N(Dt, { children: /* @__PURE__ */ N(Fe, { children: /* @__PURE__ */ Ot(Dt, { children: [
695
+ mi,
696
+ /* @__PURE__ */ N(Ie, { canvasRef: nn }),
697
+ /* @__PURE__ */ N(Wt, {
698
+ selection: U,
699
+ scene: R,
700
+ adapter: G,
701
+ actionDefaults: rt,
702
+ actions: br,
703
+ excludeActions: hr,
704
+ currentViewRef: V,
705
+ onViewChange: sn,
706
+ resizeOptions: m?.resize,
707
+ poseDescriptor: I,
708
+ geometryProjection: he,
709
+ dispatcher: Cr,
710
+ getActionRef: xr,
711
+ pickEvery: K,
712
+ layerIsPainted: Ln,
713
+ alphaOf: M ? Mn : void 0,
714
+ viewportPanEnabled: q.has("view") ? C?.pan ?? !0 : !1,
715
+ viewportZoom: q.has("view") ? pn : !1,
716
+ viewportPinchZoom: q.has("view") ? C?.pinchZoom ?? !0 : !1,
717
+ viewportRecenter: C?.recenter,
718
+ viewAnimation: H,
719
+ editAnchorsExternalState: Dn,
720
+ anchorEditingAllowed: Vr,
721
+ layouts: _,
722
+ layoutDropTarget: de,
723
+ reflowTransition: fe,
724
+ poseComposition: y,
725
+ insertNodeFactories: ae,
726
+ snapPoint: Ye?.snapPoint,
727
+ canvasRef: nn,
728
+ canvasApiRef: B,
729
+ ingestionResolveSrc: h?.resolveSrc,
730
+ ingestionSvg: h?.svg,
731
+ ingestionClipboard: si,
732
+ actionsRegistryRef: ii
733
+ }),
734
+ /* @__PURE__ */ N(Ut, {
735
+ canvasRef: nn,
736
+ canvasApiRef: B,
737
+ tools: Q,
738
+ contributions: mr,
739
+ enabled: Re,
740
+ keyboard: Pe,
741
+ selectionRef: kn,
742
+ boundsOf: Vn,
743
+ planeOfNode: Un,
744
+ pickEvery: K,
745
+ pickBest: Bn,
746
+ kindOfNode: jn,
747
+ viewRef: V,
748
+ dispatcher: Cr,
749
+ getIsVisibleForCanvas: Ur,
750
+ getRuleCtx: en ? Br : void 0,
751
+ targetScale: L.targetScale,
752
+ handleHitRadius: m?.handleHitRadius,
753
+ rotationBadge: Xr,
754
+ chromeAffordancesRef: Zr,
755
+ onDoubleClick: yr,
756
+ longPress: et
757
+ }),
758
+ /* @__PURE__ */ N(Ht, {
759
+ internalTools: lr,
760
+ toolsTakeover: cr ?? void 0,
761
+ enableKeybindings: Pe,
762
+ isToolEligible: dr,
763
+ canvasApi: rn ? B.current : null,
764
+ versionCheck: $e
765
+ }),
766
+ at?.map((e, t) => /* @__PURE__ */ N(Me, {
767
+ ...e,
768
+ order: e.order ?? t
769
+ }, e.id)),
770
+ Ne(Q).flatMap((e) => e.views ?? []).map((e) => /* @__PURE__ */ N(Me, { ...e }, `contribution:${e.id}`)),
771
+ li.map((e) => /* @__PURE__ */ N(Me, { ...e }, `added:${e.id}`)),
772
+ ct
773
+ ] }) }) })
774
+ })
775
+ });
776
+ }
777
+ function Ht({ internalTools: e, toolsTakeover: t, enableKeybindings: n, isToolEligible: r, canvasApi: i, versionCheck: a }) {
778
+ return _(e, {
779
+ disable: !!t || !n,
780
+ isToolEligible: r
781
+ }), _(t ?? e, {
782
+ disable: !t || !n,
783
+ isToolEligible: r
784
+ }), Pe(t ?? e, i, a), null;
785
+ }
786
+ function Ut({ canvasRef: e, canvasApiRef: t, tools: n, contributions: r, enabled: i, keyboard: o, selectionRef: s, boundsOf: c, planeOfNode: l, pickEvery: u, pickBest: d, kindOfNode: ee, viewRef: f, dispatcher: te, getIsVisibleForCanvas: p, getRuleCtx: ne, targetScale: re, handleHitRadius: m, rotationBadge: ie, chromeAffordancesRef: ae, onDoubleClick: h, longPress: g }) {
787
+ let oe = wt(), se = Tt(), _ = ge(), le = O(() => {
788
+ let e = /* @__PURE__ */ new Map();
789
+ for (let [t, r] of Object.entries(n.registry)) e.set(t, r);
790
+ for (let t of r) e.set(t.id, t);
791
+ for (let t of n.ambient) e.set(t.id, t);
792
+ return e;
793
+ }, [
794
+ n.registry,
795
+ n.ambient,
796
+ r
797
+ ]), v = j(u), ue = j(d), de = j(ee), fe = j(se), y = j(l), pe = O(() => De(() => fe.current, (e, t) => ce(t, y.current?.(e) ?? null)), [fe, y]), me = O(() => ke({
798
+ ...re === void 0 ? {} : { targetScale: re },
799
+ ...m === void 0 ? {} : { handleHitRadius: m },
800
+ rotationBadge: ie,
801
+ getAnchorState: pe
802
+ }), [
803
+ re,
804
+ m,
805
+ ie,
806
+ pe
807
+ ]);
808
+ bt(() => {
809
+ ae && (ae.current = me);
810
+ });
811
+ let b = O(() => {
812
+ if (s && c && f) return Oe({
813
+ getChromeState: () => _?.surface()?.chromeState() ?? he,
814
+ getView: () => f.current ?? {
815
+ x: 0,
816
+ y: 0,
817
+ scale: {
818
+ x: 1,
819
+ y: 1
820
+ }
821
+ },
822
+ affordances: me,
823
+ ...p ? { getIsVisible: () => p() } : {}
824
+ });
825
+ }, [
826
+ s,
827
+ c,
828
+ f,
829
+ me,
830
+ p,
831
+ _
832
+ ]), _e = O(() => {
833
+ if (s && u && f) return S(() => s.current?.current ?? [], (e, t) => {
834
+ if (ue.current) return ue.current(e, t);
835
+ let n = v.current?.(e, t) ?? [];
836
+ return n.length > 0 ? n[n.length - 1] : null;
837
+ }, (e) => de.current?.(e));
838
+ }, [
839
+ s,
840
+ u,
841
+ f,
842
+ ue,
843
+ v,
844
+ de
845
+ ]), ve = E((t, n) => {
846
+ let r = e.current, i = f?.current;
847
+ if (!r || !i) return Pt({
848
+ ts: Date.now(),
849
+ clientX: t,
850
+ clientY: n,
851
+ rect: null,
852
+ view: null,
853
+ world: {
854
+ x: t,
855
+ y: n
856
+ },
857
+ fallback: !0
858
+ }), {
859
+ x: t,
860
+ y: n
861
+ };
862
+ let o = r.getBoundingClientRect(), [s, c] = a(t, n, o, i), l = {
863
+ x: s,
864
+ y: c
865
+ };
866
+ return Pt({
867
+ ts: Date.now(),
868
+ clientX: t,
869
+ clientY: n,
870
+ rect: {
871
+ left: o.left,
872
+ top: o.top,
873
+ width: o.width,
874
+ height: o.height
875
+ },
876
+ view: {
877
+ x: i.x,
878
+ y: i.y,
879
+ scaleX: i.scale.x,
880
+ scaleY: i.scale.y
881
+ },
882
+ world: l,
883
+ fallback: !1
884
+ }), l;
885
+ }, [e, f]), x = O(() => (e) => {
886
+ let n = t?.current?.hitTestExtras?.(e.x, e.y);
887
+ if (n) {
888
+ let e = n.hit;
889
+ return {
890
+ kind: `layer:${n.layerId}`,
891
+ owner: n.layerId,
892
+ strength: e.strength ?? "shared",
893
+ ...e.claimedKinds === void 0 ? {} : { claimedKinds: e.claimedKinds },
894
+ ...e.cursor === void 0 ? {} : { cursor: e.cursor },
895
+ ...e.initialScratch === void 0 ? {} : { payload: e.initialScratch }
896
+ };
897
+ }
898
+ return b ? b(e) : null;
899
+ }, [b, t]), ye = E(() => {
900
+ t?.current?.requestRedraw?.();
901
+ }, [t]), be = E(() => t?.current?.paintedCursor, [t]), [xe] = A(St), Se = O(() => ({
902
+ state: xe,
903
+ ...g?.duration === void 0 ? {} : { duration: g.duration },
904
+ ...g?.haptics === void 0 ? {} : { haptics: g.haptics }
905
+ }), [
906
+ xe,
907
+ g?.duration,
908
+ g?.haptics
909
+ ]), Ce = O(() => {
910
+ if (_) return {
911
+ targets: () => _.list().map((e) => ({
912
+ id: e.id,
913
+ ...e.target
914
+ })),
915
+ resolver: _.resolver
916
+ };
917
+ }, [_]);
918
+ return M({
919
+ canvasRef: e,
920
+ actions: oe,
921
+ entriesById: le,
922
+ enabled: i,
923
+ keyboard: o,
924
+ affordanceAt: x,
925
+ classifyTarget: _e,
926
+ dispatcher: te,
927
+ clientToWorld: ve,
928
+ requestRedraw: ye,
929
+ paintedCursor: be,
930
+ getRuleCtx: ne,
931
+ onDoubleClick: h,
932
+ longPress: Se,
933
+ ...Ce ? { views: Ce } : {}
934
+ }), Et("longPress", () => xe), null;
935
+ }
936
+ function Wt({ selection: e, scene: t, adapter: n, actions: r, excludeActions: i, currentViewRef: a, onViewChange: o, resizeOptions: s, poseDescriptor: c, geometryProjection: l, dispatcher: d, getActionRef: ee, pickEvery: f, layerIsPainted: te, alphaOf: ne, viewportPanEnabled: re, viewportZoom: g, viewportPinchZoom: oe, viewportRecenter: se, viewAnimation: _, editAnchorsExternalState: ce, anchorEditingAllowed: le, poseComposition: v, layouts: ue, layoutDropTarget: de, reflowTransition: fe, insertNodeFactories: y, snapPoint: pe, canvasRef: me, canvasApiRef: he, ingestionResolveSrc: b, ingestionSvg: ge, ingestionClipboard: _e, actionsRegistryRef: ve }) {
937
+ let x = wt();
938
+ D(() => (ve.current = x, () => {
939
+ ve.current = null;
940
+ }), [x, ve]), D(() => {
941
+ if (x) return x.setDispatcher(d);
942
+ }, [x, d]), D(() => {
943
+ if (x) return ee.current = (e) => x.list().find((t) => t.id === e), () => {
944
+ ee.current = null;
945
+ };
946
+ }, [x, ee]);
947
+ let ye = h(), be = qe(a, o, se, () => {
948
+ let e = me.current;
949
+ return e ? {
950
+ width: e.clientWidth,
951
+ height: e.clientHeight
952
+ } : null;
953
+ }, _, ye, te);
954
+ p({
955
+ selection: e,
956
+ scene: t,
957
+ view: be,
958
+ history: t.history,
959
+ exclude: i
960
+ }), Et("rootView", () => be);
961
+ let xe = u();
962
+ return Et("pointer", () => xe ?? void 0), lt({
963
+ pan: re,
964
+ zoom: g,
965
+ pinchZoom: oe
966
+ }), Je(t, e, c, v, ne), Ye(f), rt(t, ue, de, fe), at(t, {
967
+ layouts: ue,
968
+ poseDescriptor: c,
969
+ poseComposition: v
970
+ }), et(t, n, y), ae(t, e, n, v, c), C(pe), tt(he), w(me, () => a.current, b, ge, _e), Xe(t, e, c, v, ne), Ze(t), $e(t, e, n, ce, { anchorEditingAllowed: le }), nt(d), m(c), ie(v), ct(r, i.join("|")), /* @__PURE__ */ Ot(Dt, { children: [s ? /* @__PURE__ */ N(Gt, { options: s }) : null, l ? /* @__PURE__ */ N(Kt, { projection: l }) : null] });
971
+ }
972
+ function Gt({ options: e }) {
973
+ return re(ne(e)), null;
974
+ }
975
+ function Kt({ projection: e }) {
976
+ return it(e), null;
977
+ }
978
+ var I = yt(Vt);
979
+ function L(e, t) {
980
+ return /* @__PURE__ */ N(Ct, {
981
+ yoke: e.yoke,
982
+ children: /* @__PURE__ */ N(b, { children: /* @__PURE__ */ N(I, {
983
+ ...e,
984
+ ref: t
985
+ }) })
986
+ });
987
+ }
988
+ var qt = yt(L);
989
+ //#endregion
990
+ export { F as BUILTIN_TOOL_IDS, At as DEFAULT_HANDLE_SIZE, Re as SCENE_CANVAS_FEATURES, qt as SceneCanvas, Ft as mergeLayersWithDefaults, ye as rotateAroundAABBCenter };
991
+
992
+ //# sourceMappingURL=SceneCanvas.js.map