@weasel-js/core 1.10.1 → 1.11.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.
- package/CHANGELOG.md +1014 -0
- package/README.md +16 -15
- package/dist/WeaselProvider.js +25 -9
- package/dist/WeaselProvider.js.map +1 -1
- package/dist/affordances/composeAffordanceLayer.js +217 -140
- package/dist/affordances/composeAffordanceLayer.js.map +1 -1
- package/dist/affordances/cornerResize.js +92 -50
- package/dist/affordances/cornerResize.js.map +1 -1
- package/dist/affordances/hitAffordanceRegions.js +147 -84
- package/dist/affordances/hitAffordanceRegions.js.map +1 -1
- package/dist/affordances/pathAnchors.js +140 -65
- package/dist/affordances/pathAnchors.js.map +1 -1
- package/dist/affordances/rotateCursor.js +10 -4
- package/dist/affordances/rotateCursor.js.map +1 -1
- package/dist/affordances/rotationHandle.js +83 -60
- package/dist/affordances/rotationHandle.js.map +1 -1
- package/dist/animation/behaviors/coast.js +20 -14
- package/dist/animation/behaviors/coast.js.map +1 -1
- package/dist/animation/behaviors/coastByWrite.js +98 -70
- package/dist/animation/behaviors/coastByWrite.js.map +1 -1
- package/dist/animation/behaviors/coastOnTargets.js +115 -67
- package/dist/animation/behaviors/coastOnTargets.js.map +1 -1
- package/dist/animation/behaviors/momentum.js +88 -53
- package/dist/animation/behaviors/momentum.js.map +1 -1
- package/dist/animation/clipTargets.js +14 -7
- package/dist/animation/clipTargets.js.map +1 -1
- package/dist/animation/departures.js +116 -0
- package/dist/animation/departures.js.map +1 -0
- package/dist/animation/index.js +18 -15
- package/dist/animation/poseHelpers.js +147 -107
- package/dist/animation/poseHelpers.js.map +1 -1
- package/dist/animation/poseTarget.js +158 -85
- package/dist/animation/poseTarget.js.map +1 -1
- package/dist/animation/poseTransition.js +64 -0
- package/dist/animation/poseTransition.js.map +1 -0
- package/dist/animation/reflow.js +208 -120
- package/dist/animation/reflow.js.map +1 -1
- package/dist/animation/rewind.js +76 -45
- package/dist/animation/rewind.js.map +1 -1
- package/dist/animation/rig/bindRig.js +135 -82
- package/dist/animation/rig/bindRig.js.map +1 -1
- package/dist/animation/rig/rigNode.js +120 -75
- package/dist/animation/rig/rigNode.js.map +1 -1
- package/dist/animation/rig/rigSeat.js +61 -41
- package/dist/animation/rig/rigSeat.js.map +1 -1
- package/dist/animation/rig/skinBinding.js +57 -45
- package/dist/animation/rig/skinBinding.js.map +1 -1
- package/dist/animation/rig/useRig.js +44 -30
- package/dist/animation/rig/useRig.js.map +1 -1
- package/dist/animation/wrappers/animateLifecycle.js +51 -35
- package/dist/animation/wrappers/animateLifecycle.js.map +1 -1
- package/dist/animation/wrappers/animateOnSetPose.js +55 -32
- package/dist/animation/wrappers/animateOnSetPose.js.map +1 -1
- package/dist/animation/wrappers/instantPose.js +13 -8
- package/dist/animation/wrappers/instantPose.js.map +1 -1
- package/dist/animation/writtenPoseTarget.js +44 -22
- package/dist/animation/writtenPoseTarget.js.map +1 -1
- package/dist/{autoPoseDescriptor-DHg5KqaJ.d.ts → autoPoseDescriptor-CZ1eXbzY.d.ts} +1 -1
- package/dist/barrel/canvas.js +45 -32
- package/dist/barrel/chrome.js +19 -16
- package/dist/barrel/icons.js +6 -0
- package/dist/barrel/input.js +19 -18
- package/dist/barrel/interactions.js +41 -39
- package/dist/barrel/paint.js +12 -11
- package/dist/barrel/paths.js +39 -13
- package/dist/barrel/renderer.js +25 -14
- package/dist/barrel/routing.js +64 -58
- package/dist/barrel/scene.js +51 -37
- package/dist/barrel/text.js +10 -9
- package/dist/barrel/viewport.js +48 -45
- package/dist/canvas/Canvas.js +191 -306
- package/dist/canvas/Canvas.js.map +1 -1
- package/dist/canvas/CanvasView.js +273 -199
- package/dist/canvas/CanvasView.js.map +1 -1
- package/dist/canvas/CursorCoordsHud.js +103 -64
- package/dist/canvas/CursorCoordsHud.js.map +1 -1
- package/dist/canvas/DrawCanvas.js +68 -41
- package/dist/canvas/DrawCanvas.js.map +1 -1
- package/dist/canvas/LeanSceneCanvas.js +23 -0
- package/dist/canvas/LeanSceneCanvas.js.map +1 -0
- package/dist/canvas/ModalityHud.js +58 -43
- package/dist/canvas/ModalityHud.js.map +1 -1
- package/dist/canvas/NodeShape.js +137 -60
- package/dist/canvas/NodeShape.js.map +1 -1
- package/dist/canvas/PickHud.js +77 -59
- package/dist/canvas/PickHud.js.map +1 -1
- package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js +9 -6
- package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js.map +1 -1
- package/dist/canvas/SceneCanvas/CanvasKitProviders.js +25 -0
- package/dist/canvas/SceneCanvas/CanvasKitProviders.js.map +1 -0
- package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js +10 -6
- package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js.map +1 -1
- package/dist/canvas/SceneCanvas/DevHuds.js +47 -32
- package/dist/canvas/SceneCanvas/DevHuds.js.map +1 -1
- package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +72 -37
- package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
- package/dist/canvas/SceneCanvas/SceneCanvasInput.js +124 -0
- package/dist/canvas/SceneCanvas/SceneCanvasInput.js.map +1 -0
- package/dist/canvas/SceneCanvas/brushOverlay.js +36 -0
- package/dist/canvas/SceneCanvas/brushOverlay.js.map +1 -0
- package/dist/canvas/SceneCanvas/builtinToolSets.js +30 -0
- package/dist/canvas/SceneCanvas/builtinToolSets.js.map +1 -0
- package/dist/canvas/SceneCanvas/canvasPassThrough.js +73 -0
- package/dist/canvas/SceneCanvas/canvasPassThrough.js.map +1 -0
- package/dist/canvas/SceneCanvas/contributionFrameHooks.js +54 -32
- package/dist/canvas/SceneCanvas/contributionFrameHooks.js.map +1 -1
- package/dist/canvas/SceneCanvas/coordTrace.js +26 -30
- package/dist/canvas/SceneCanvas/coordTrace.js.map +1 -1
- package/dist/canvas/SceneCanvas/defaultNodeProperties.js +323 -159
- package/dist/canvas/SceneCanvas/defaultNodeProperties.js.map +1 -1
- package/dist/canvas/SceneCanvas/defaultNodeRouting.js +39 -13
- package/dist/canvas/SceneCanvas/defaultNodeRouting.js.map +1 -1
- package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js +83 -47
- package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js.map +1 -1
- package/dist/canvas/SceneCanvas/features.js +123 -106
- package/dist/canvas/SceneCanvas/features.js.map +1 -1
- package/dist/canvas/SceneCanvas/insertPreviewCommands.js +80 -62
- package/dist/canvas/SceneCanvas/insertPreviewCommands.js.map +1 -1
- package/dist/canvas/SceneCanvas/mergeLayers.js +43 -0
- package/dist/canvas/SceneCanvas/mergeLayers.js.map +1 -0
- package/dist/canvas/SceneCanvas/namedPresets.js +56 -0
- package/dist/canvas/SceneCanvas/namedPresets.js.map +1 -0
- package/dist/canvas/SceneCanvas/poseGeometry.js +66 -31
- package/dist/canvas/SceneCanvas/poseGeometry.js.map +1 -1
- package/dist/canvas/SceneCanvas/poseRegistrars.js +18 -8
- package/dist/canvas/SceneCanvas/poseRegistrars.js.map +1 -1
- package/dist/canvas/SceneCanvas/presets/arrange.js +27 -0
- package/dist/canvas/SceneCanvas/presets/arrange.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/chrome.js +14 -0
- package/dist/canvas/SceneCanvas/presets/chrome.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/edit.js +59 -0
- package/dist/canvas/SceneCanvas/presets/edit.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/ingest.js +13 -0
- package/dist/canvas/SceneCanvas/presets/ingest.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/paths.js +67 -0
- package/dist/canvas/SceneCanvas/presets/paths.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/select.js +19 -0
- package/dist/canvas/SceneCanvas/presets/select.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/toolDriven.js +20 -0
- package/dist/canvas/SceneCanvas/presets/toolDriven.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/transform.js +41 -0
- package/dist/canvas/SceneCanvas/presets/transform.js.map +1 -0
- package/dist/canvas/SceneCanvas/presets/view.js +14 -0
- package/dist/canvas/SceneCanvas/presets/view.js.map +1 -0
- package/dist/canvas/SceneCanvas/props.js +9 -35
- package/dist/canvas/SceneCanvas/props.js.map +1 -1
- package/dist/canvas/SceneCanvas/scenePointQuery.js +43 -35
- package/dist/canvas/SceneCanvas/scenePointQuery.js.map +1 -1
- package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js +22 -15
- package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js.map +1 -1
- package/dist/canvas/SceneCanvas/toolRegistry.js +34 -15
- package/dist/canvas/SceneCanvas/toolRegistry.js.map +1 -1
- package/dist/canvas/SceneCanvas/useActionTunings.js +14 -11
- package/dist/canvas/SceneCanvas/useActionTunings.js.map +1 -1
- package/dist/canvas/SceneCanvas/useActionsPropResolver.js +59 -36
- package/dist/canvas/SceneCanvas/useActionsPropResolver.js.map +1 -1
- package/dist/canvas/SceneCanvas/useBakedScene.js +17 -0
- package/dist/canvas/SceneCanvas/useBakedScene.js.map +1 -0
- package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +47 -23
- package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useBuiltinTools.js +22 -14
- package/dist/canvas/SceneCanvas/useBuiltinTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasCamera.js +53 -38
- package/dist/canvas/SceneCanvas/useCanvasCamera.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js +93 -0
- package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js.map +1 -0
- package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +24 -14
- package/dist/canvas/SceneCanvas/useCanvasDispatcher.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasSelection.js +35 -12
- package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasTools.js +112 -53
- package/dist/canvas/SceneCanvas/useCanvasTools.js.map +1 -1
- package/dist/canvas/SceneCanvas/useChromeAffordances.js +31 -0
- package/dist/canvas/SceneCanvas/useChromeAffordances.js.map +1 -0
- package/dist/canvas/SceneCanvas/useContributionRoles.js +107 -56
- package/dist/canvas/SceneCanvas/useContributionRoles.js.map +1 -1
- package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js +64 -0
- package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js.map +1 -0
- package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +104 -71
- package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js.map +1 -1
- package/dist/canvas/SceneCanvas/useHeldModifiers.js +21 -14
- package/dist/canvas/SceneCanvas/useHeldModifiers.js.map +1 -1
- package/dist/canvas/SceneCanvas/useNodeAtPoint.js +21 -19
- package/dist/canvas/SceneCanvas/useNodeAtPoint.js.map +1 -1
- package/dist/canvas/SceneCanvas/useNodeKinds.js +28 -19
- package/dist/canvas/SceneCanvas/useNodeKinds.js.map +1 -1
- package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +91 -59
- package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +62 -35
- package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +121 -50
- package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js +30 -0
- package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js.map +1 -0
- package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +38 -0
- package/dist/canvas/SceneCanvas/useSceneCanvasTools.js.map +1 -0
- package/dist/canvas/SceneCanvas/useSceneChrome.js +99 -44
- package/dist/canvas/SceneCanvas/useSceneChrome.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +165 -0
- package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js.map +1 -0
- package/dist/canvas/SceneCanvas/useScenePicking.js +68 -0
- package/dist/canvas/SceneCanvas/useScenePicking.js.map +1 -0
- package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +28 -17
- package/dist/canvas/SceneCanvas/useSceneRedrawSources.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js +160 -80
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +38 -26
- package/dist/canvas/SceneCanvas/useSceneSlotLayers.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js +107 -0
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -0
- package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +40 -27
- package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSurfaceRouting.js +29 -0
- package/dist/canvas/SceneCanvas/useSurfaceRouting.js.map +1 -0
- package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js +44 -0
- package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js.map +1 -0
- package/dist/canvas/SceneCanvas/useToolKeybindings.js +28 -0
- package/dist/canvas/SceneCanvas/useToolKeybindings.js.map +1 -0
- package/dist/canvas/SceneCanvas/useViewportActions.js +52 -28
- package/dist/canvas/SceneCanvas/useViewportActions.js.map +1 -1
- package/dist/canvas/SceneCanvas/worldPointAt.js +10 -4
- package/dist/canvas/SceneCanvas/worldPointAt.js.map +1 -1
- package/dist/canvas/SceneCanvas.js +276 -312
- package/dist/canvas/SceneCanvas.js.map +1 -1
- package/dist/canvas/SceneViewCanvas.js +68 -42
- package/dist/canvas/SceneViewCanvas.js.map +1 -1
- package/dist/canvas/SurfaceCanvas.js +38 -33
- package/dist/canvas/SurfaceCanvas.js.map +1 -1
- package/dist/canvas/accentColor.js +8 -5
- package/dist/canvas/accentColor.js.map +1 -1
- package/dist/canvas/adapterDerivedPath.js +33 -18
- package/dist/canvas/adapterDerivedPath.js.map +1 -1
- package/dist/canvas/adapterPickSource.js +49 -23
- package/dist/canvas/adapterPickSource.js.map +1 -1
- package/dist/canvas/affordanceAt.js +106 -50
- package/dist/canvas/affordanceAt.js.map +1 -1
- package/dist/canvas/buildSceneLayer.js +111 -80
- package/dist/canvas/buildSceneLayer.js.map +1 -1
- package/dist/canvas/buildSceneTree.js +101 -59
- package/dist/canvas/buildSceneTree.js.map +1 -1
- package/dist/canvas/canvasRenderer.js +161 -72
- package/dist/canvas/canvasRenderer.js.map +1 -1
- package/dist/canvas/colorOverrides.js +18 -10
- package/dist/canvas/colorOverrides.js.map +1 -1
- package/dist/canvas/contextAttributes.js +14 -0
- package/dist/canvas/contextAttributes.js.map +1 -0
- package/dist/canvas/copiesAbove.js +24 -14
- package/dist/canvas/copiesAbove.js.map +1 -1
- package/dist/canvas/defaultDrawOne.js +55 -31
- package/dist/canvas/defaultDrawOne.js.map +1 -1
- package/dist/canvas/deps/areaSelect.js +30 -12
- package/dist/canvas/deps/areaSelect.js.map +1 -1
- package/dist/canvas/deps/booleans.js +104 -0
- package/dist/canvas/deps/booleans.js.map +1 -0
- package/dist/canvas/deps/changes.js +17 -9
- package/dist/canvas/deps/changes.js.map +1 -1
- package/dist/canvas/deps/debug.js +12 -5
- package/dist/canvas/deps/debug.js.map +1 -1
- package/dist/canvas/deps/dispatchSources.js +27 -0
- package/dist/canvas/deps/dispatchSources.js.map +1 -0
- package/dist/canvas/deps/dispatcher.js +18 -7
- package/dist/canvas/deps/dispatcher.js.map +1 -1
- package/dist/canvas/deps/editAnchors.js +150 -64
- package/dist/canvas/deps/editAnchors.js.map +1 -1
- package/dist/canvas/deps/geometryProjection.js +13 -7
- package/dist/canvas/deps/geometryProjection.js.map +1 -1
- package/dist/canvas/deps/hitTestArea.js +78 -53
- package/dist/canvas/deps/hitTestArea.js.map +1 -1
- package/dist/canvas/deps/ingestion.js +18 -13
- package/dist/canvas/deps/ingestion.js.map +1 -1
- package/dist/canvas/deps/insert.js +178 -116
- package/dist/canvas/deps/insert.js.map +1 -1
- package/dist/canvas/deps/kitSettings.js +16 -0
- package/dist/canvas/deps/kitSettings.js.map +1 -0
- package/dist/canvas/deps/lassoSelect.js +25 -13
- package/dist/canvas/deps/lassoSelect.js.map +1 -1
- package/dist/canvas/deps/layout.js +32 -20
- package/dist/canvas/deps/layout.js.map +1 -1
- package/dist/canvas/deps/nodeAtPoint.js +28 -14
- package/dist/canvas/deps/nodeAtPoint.js.map +1 -1
- package/dist/canvas/deps/pathEditCommits.js +193 -0
- package/dist/canvas/deps/pathEditCommits.js.map +1 -0
- package/dist/canvas/deps/pathLeaf.js +66 -0
- package/dist/canvas/deps/pathLeaf.js.map +1 -0
- package/dist/canvas/deps/pathLeafDeps.js +13 -0
- package/dist/canvas/deps/pathLeafDeps.js.map +1 -0
- package/dist/canvas/deps/poseDescriptor.js +10 -8
- package/dist/canvas/deps/poseDescriptor.js.map +1 -1
- package/dist/canvas/deps/previewPaths.js +44 -0
- package/dist/canvas/deps/previewPaths.js.map +1 -0
- package/dist/canvas/deps/resizePolicy.js +32 -25
- package/dist/canvas/deps/resizePolicy.js.map +1 -1
- package/dist/canvas/deps/slice.js +73 -87
- package/dist/canvas/deps/slice.js.map +1 -1
- package/dist/canvas/deps/snap.js +61 -7
- package/dist/canvas/deps/snap.js.map +1 -1
- package/dist/canvas/deps/surface.js +30 -0
- package/dist/canvas/deps/surface.js.map +1 -0
- package/dist/canvas/deps/textEdit.js +21 -13
- package/dist/canvas/deps/textEdit.js.map +1 -1
- package/dist/canvas/deps/transformFollowers.js +20 -0
- package/dist/canvas/deps/transformFollowers.js.map +1 -0
- package/dist/canvas/deps/view.js +46 -34
- package/dist/canvas/deps/view.js.map +1 -1
- package/dist/canvas/derivedPath.js +173 -70
- package/dist/canvas/derivedPath.js.map +1 -1
- package/dist/canvas/doubleClickTarget.js +20 -0
- package/dist/canvas/doubleClickTarget.js.map +1 -0
- package/dist/canvas/drawEnvelope.js +26 -17
- package/dist/canvas/drawEnvelope.js.map +1 -1
- package/dist/canvas/drawnBounds.js +142 -0
- package/dist/canvas/drawnBounds.js.map +1 -0
- package/dist/canvas/getNodeAtPoint.js +11 -8
- package/dist/canvas/getNodeAtPoint.js.map +1 -1
- package/dist/canvas/hostAnchor.js +35 -18
- package/dist/canvas/hostAnchor.js.map +1 -1
- package/dist/canvas/hud.module.js +25 -14
- package/dist/canvas/hud.module.js.map +1 -1
- package/dist/canvas/insertPreviewExtent.js +82 -61
- package/dist/canvas/insertPreviewExtent.js.map +1 -1
- package/dist/canvas/kitRequirements.js +154 -115
- package/dist/canvas/kitRequirements.js.map +1 -1
- package/dist/canvas/layerHover.js +28 -0
- package/dist/canvas/layerHover.js.map +1 -0
- package/dist/canvas/layerOrder.js +107 -57
- package/dist/canvas/layerOrder.js.map +1 -1
- package/dist/canvas/layerSlots.js +16 -9
- package/dist/canvas/layerSlots.js.map +1 -1
- package/dist/canvas/mountedCanvases.js +23 -13
- package/dist/canvas/mountedCanvases.js.map +1 -1
- package/dist/canvas/nodeShapes/derivedPainter.js +73 -25
- package/dist/canvas/nodeShapes/derivedPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/imagePainter.js +69 -53
- package/dist/canvas/nodeShapes/imagePainter.js.map +1 -1
- package/dist/canvas/nodeShapes/measurePainter.js +58 -0
- package/dist/canvas/nodeShapes/measurePainter.js.map +1 -0
- package/dist/canvas/nodeShapes/memo.js +16 -5
- package/dist/canvas/nodeShapes/memo.js.map +1 -1
- package/dist/canvas/nodeShapes/nodePaint.js +125 -46
- package/dist/canvas/nodeShapes/nodePaint.js.map +1 -1
- package/dist/canvas/nodeShapes/pathPainter.js +42 -27
- package/dist/canvas/nodeShapes/pathPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/poseBox.js +20 -13
- package/dist/canvas/nodeShapes/poseBox.js.map +1 -1
- package/dist/canvas/nodeShapes/rectFallbackPainter.js +26 -22
- package/dist/canvas/nodeShapes/rectFallbackPainter.js.map +1 -1
- package/dist/canvas/nodeShapes/shapePainter.js +67 -46
- package/dist/canvas/nodeShapes/shapePainter.js.map +1 -1
- package/dist/canvas/nodeShapes/strokedBounds.js +177 -0
- package/dist/canvas/nodeShapes/strokedBounds.js.map +1 -0
- package/dist/canvas/nodeShapes/textPainter.js +170 -37
- package/dist/canvas/nodeShapes/textPainter.js.map +1 -1
- package/dist/canvas/overChildren.js +29 -18
- package/dist/canvas/overChildren.js.map +1 -1
- package/dist/canvas/overlayRoleStrokes.js +32 -3
- package/dist/canvas/overlayRoleStrokes.js.map +1 -1
- package/dist/canvas/paintCull.js +24 -12
- package/dist/canvas/paintCull.js.map +1 -1
- package/dist/canvas/paintedCursorLayer.js +59 -35
- package/dist/canvas/paintedCursorLayer.js.map +1 -1
- package/dist/canvas/pathOverlay.js +83 -0
- package/dist/canvas/pathOverlay.js.map +1 -0
- package/dist/canvas/pickReach.js +34 -17
- package/dist/canvas/pickReach.js.map +1 -1
- package/dist/canvas/pickWalk.js +151 -102
- package/dist/canvas/pickWalk.js.map +1 -1
- package/dist/canvas/planeClips.js +39 -22
- package/dist/canvas/planeClips.js.map +1 -1
- package/dist/canvas/poseCascade.js +51 -27
- package/dist/canvas/poseCascade.js.map +1 -1
- package/dist/canvas/poseRotation.js +24 -14
- package/dist/canvas/poseRotation.js.map +1 -1
- package/dist/canvas/rasterReadback.js +23 -15
- package/dist/canvas/rasterReadback.js.map +1 -1
- package/dist/canvas/rasterToPng.js +21 -15
- package/dist/canvas/rasterToPng.js.map +1 -1
- package/dist/canvas/renderDebugSnapshot.js +37 -19
- package/dist/canvas/renderDebugSnapshot.js.map +1 -1
- package/dist/canvas/renderNeeds.js +33 -18
- package/dist/canvas/renderNeeds.js.map +1 -1
- package/dist/canvas/renderSceneToPixels.js +203 -87
- package/dist/canvas/renderSceneToPixels.js.map +1 -1
- package/dist/canvas/sceneAdapter.js +96 -75
- package/dist/canvas/sceneAdapter.js.map +1 -1
- package/dist/canvas/sceneClipboard.js +141 -92
- package/dist/canvas/sceneClipboard.js.map +1 -1
- package/dist/canvas/sceneLayerPaint.js +56 -27
- package/dist/canvas/sceneLayerPaint.js.map +1 -1
- package/dist/canvas/sceneSlotWiring.js +24 -14
- package/dist/canvas/sceneSlotWiring.js.map +1 -1
- package/dist/canvas/sceneViewRender.js +85 -49
- package/dist/canvas/sceneViewRender.js.map +1 -1
- package/dist/canvas/slopsDebugLayer.js +58 -49
- package/dist/canvas/slopsDebugLayer.js.map +1 -1
- package/dist/canvas/surfaceContribution.js +22 -10
- package/dist/canvas/surfaceContribution.js.map +1 -1
- package/dist/canvas/useCanvasElements.js +31 -0
- package/dist/canvas/useCanvasElements.js.map +1 -0
- package/dist/canvas/useCanvasHandle.js +69 -0
- package/dist/canvas/useCanvasHandle.js.map +1 -0
- package/dist/canvas/useCanvasPaint.js +92 -0
- package/dist/canvas/useCanvasPaint.js.map +1 -0
- package/dist/canvas/useCanvasRenderer.js +45 -23
- package/dist/canvas/useCanvasRenderer.js.map +1 -1
- package/dist/canvas/useCanvasSurface.js +41 -23
- package/dist/canvas/useCanvasSurface.js.map +1 -1
- package/dist/canvas/useCanvasView.js +80 -48
- package/dist/canvas/useCanvasView.js.map +1 -1
- package/dist/canvas/useClientToWorld.js +27 -0
- package/dist/canvas/useClientToWorld.js.map +1 -0
- package/dist/canvas/useExtraLayers.js +45 -0
- package/dist/canvas/useExtraLayers.js.map +1 -0
- package/dist/canvas/useFrameLoop.js +109 -49
- package/dist/canvas/useFrameLoop.js.map +1 -1
- package/dist/canvas/useHitObserver.js +22 -15
- package/dist/canvas/useHitObserver.js.map +1 -1
- package/dist/canvas/useHostAnchor.js +83 -53
- package/dist/canvas/useHostAnchor.js.map +1 -1
- package/dist/canvas/useInFlightBounds.js +52 -0
- package/dist/canvas/useInFlightBounds.js.map +1 -0
- package/dist/canvas/useLateContentRedraw.js +21 -14
- package/dist/canvas/useLateContentRedraw.js.map +1 -1
- package/dist/canvas/useLayerStack.js +72 -0
- package/dist/canvas/useLayerStack.js.map +1 -0
- package/dist/canvas/usePaintedCursor.js +28 -0
- package/dist/canvas/usePaintedCursor.js.map +1 -0
- package/dist/canvas/useRedrawOn.js +24 -14
- package/dist/canvas/useRedrawOn.js.map +1 -1
- package/dist/canvas/useSceneAdapter.js +21 -16
- package/dist/canvas/useSceneAdapter.js.map +1 -1
- package/dist/canvas/useSceneLayerList.js +15 -7
- package/dist/canvas/useSceneLayerList.js.map +1 -1
- package/dist/canvas/useSurfaceInput.js +46 -27
- package/dist/canvas/useSurfaceInput.js.map +1 -1
- package/dist/canvas/useSurfaceSize.js +43 -0
- package/dist/canvas/useSurfaceSize.js.map +1 -0
- package/dist/canvas/useToolCursor.js +30 -21
- package/dist/canvas/useToolCursor.js.map +1 -1
- package/dist/canvas/useViewHelpers.js +110 -61
- package/dist/canvas/useViewHelpers.js.map +1 -1
- package/dist/canvas/useViewLayerGate.js +29 -0
- package/dist/canvas/useViewLayerGate.js.map +1 -0
- package/dist/canvas/useViewNesting.js +104 -0
- package/dist/canvas/useViewNesting.js.map +1 -0
- package/dist/canvas/useViewRegistrySurface.js +44 -0
- package/dist/canvas/useViewRegistrySurface.js.map +1 -0
- package/dist/canvas/viewInputs.js +14 -11
- package/dist/canvas/viewInputs.js.map +1 -1
- package/dist/canvas/viewRegistry.js +140 -42
- package/dist/canvas/viewRegistry.js.map +1 -1
- package/dist/canvas/watchElementMove.js +71 -33
- package/dist/canvas/watchElementMove.js.map +1 -1
- package/dist/canvas/wrapNodeOutput.js +20 -13
- package/dist/canvas/wrapNodeOutput.js.map +1 -1
- package/dist/clipboard.d.ts +9 -4
- package/dist/clipboard.js +4 -3
- package/dist/{clone-C0eADtS0.d.ts → clone-C3e0OTuF.d.ts} +27 -73
- package/dist/clone.d.ts +7 -5
- package/dist/core/adapters/testing/rootsTree.js +17 -0
- package/dist/core/adapters/testing/rootsTree.js.map +1 -0
- package/dist/core/applyOps.js +23 -7
- package/dist/core/applyOps.js.map +1 -1
- package/dist/core/device/index.js +6 -5
- package/dist/core/device/targets.js +29 -8
- package/dist/core/device/targets.js.map +1 -1
- package/dist/core/device/useDeviceProfile.js +86 -52
- package/dist/core/device/useDeviceProfile.js.map +1 -1
- package/dist/core/device/useTargetBasePx.js +23 -0
- package/dist/core/device/useTargetBasePx.js.map +1 -0
- package/dist/core/device/watchDevicePixelRatio.js +27 -10
- package/dist/core/device/watchDevicePixelRatio.js.map +1 -1
- package/dist/core/geometry/autoPoseDescriptor.js +38 -24
- package/dist/core/geometry/autoPoseDescriptor.js.map +1 -1
- package/dist/core/geometry/inkExtents.js +60 -0
- package/dist/core/geometry/inkExtents.js.map +1 -0
- package/dist/core/geometry/pathPoseDescriptor.js +101 -76
- package/dist/core/geometry/pathPoseDescriptor.js.map +1 -1
- package/dist/core/geometry/poseDescriptor.js +199 -136
- package/dist/core/geometry/poseDescriptor.js.map +1 -1
- package/dist/core/geometry/regionHit.js +127 -79
- package/dist/core/geometry/regionHit.js.map +1 -1
- package/dist/core/geometry/targetFrame.js +84 -60
- package/dist/core/geometry/targetFrame.js.map +1 -1
- package/dist/core/geometry/unionBounds.js +103 -48
- package/dist/core/geometry/unionBounds.js.map +1 -1
- package/dist/core/isPlainObject.js +3 -2
- package/dist/core/layers/backgroundFill.js +23 -15
- package/dist/core/layers/backgroundFill.js.map +1 -1
- package/dist/core/layers/children.js +16 -13
- package/dist/core/layers/children.js.map +1 -1
- package/dist/core/layers/gateLayer.js +24 -9
- package/dist/core/layers/gateLayer.js.map +1 -1
- package/dist/core/layers/layerGroup.js +42 -29
- package/dist/core/layers/layerGroup.js.map +1 -1
- package/dist/core/layers/redrawSource.js +15 -0
- package/dist/core/layers/redrawSource.js.map +1 -0
- package/dist/core/layers/render.js +183 -93
- package/dist/core/layers/render.js.map +1 -1
- package/dist/core/layers/retain.js +38 -0
- package/dist/core/layers/retain.js.map +1 -0
- package/dist/core/ops/arrange.js +30 -19
- package/dist/core/ops/arrange.js.map +1 -1
- package/dist/core/ops/create.js +32 -23
- package/dist/core/ops/create.js.map +1 -1
- package/dist/core/ops/createHistory.js +23 -14
- package/dist/core/ops/createHistory.js.map +1 -1
- package/dist/core/ops/delete.js +80 -53
- package/dist/core/ops/delete.js.map +1 -1
- package/dist/core/ops/nodeFlags.js +44 -0
- package/dist/core/ops/nodeFlags.js.map +1 -0
- package/dist/core/ops/registry.js +26 -11
- package/dist/core/ops/registry.js.map +1 -1
- package/dist/core/ops/reorder/algorithms.js +62 -38
- package/dist/core/ops/reorder/algorithms.js.map +1 -1
- package/dist/core/ops/reorder/index.js +124 -84
- package/dist/core/ops/reorder/index.js.map +1 -1
- package/dist/core/ops/reorder/setChildOrder.js +32 -23
- package/dist/core/ops/reorder/setChildOrder.js.map +1 -1
- package/dist/core/ops/reparent.js +63 -37
- package/dist/core/ops/reparent.js.map +1 -1
- package/dist/core/ops/select.js +23 -20
- package/dist/core/ops/select.js.map +1 -1
- package/dist/core/ops/setData.js +23 -21
- package/dist/core/ops/setData.js.map +1 -1
- package/dist/core/ops/setDependsOn.js +37 -0
- package/dist/core/ops/setDependsOn.js.map +1 -0
- package/dist/core/ops/setLayer.js +26 -21
- package/dist/core/ops/setLayer.js.map +1 -1
- package/dist/core/ops/setLayout.js +27 -18
- package/dist/core/ops/setLayout.js.map +1 -1
- package/dist/core/ops/setPath.js +60 -41
- package/dist/core/ops/setPath.js.map +1 -1
- package/dist/core/ops/setText.js +26 -21
- package/dist/core/ops/setText.js.map +1 -1
- package/dist/core/ops/slot.js +36 -22
- package/dist/core/ops/slot.js.map +1 -1
- package/dist/core/ops/transform.js +35 -28
- package/dist/core/ops/transform.js.map +1 -1
- package/dist/core/ops/writtenBy.js +53 -0
- package/dist/core/ops/writtenBy.js.map +1 -0
- package/dist/core/pages/fitViewToPage.js +24 -11
- package/dist/core/pages/fitViewToPage.js.map +1 -1
- package/dist/core/pages/pageEdits.js +164 -0
- package/dist/core/pages/pageEdits.js.map +1 -0
- package/dist/core/pages/pages.js +102 -42
- package/dist/core/pages/pages.js.map +1 -1
- package/dist/core/pages/pagesLayer.js +19 -13
- package/dist/core/pages/pagesLayer.js.map +1 -1
- package/dist/core/paint/meshKind.js +16 -11
- package/dist/core/paint/meshKind.js.map +1 -1
- package/dist/core/paint/meshKindLazy.js +1 -1
- package/dist/core/paint/meshKindLazy.js.map +1 -1
- package/dist/core/paint/paintKindEntry.js +13 -4
- package/dist/core/paint/paintKindEntry.js.map +1 -1
- package/dist/core/paint/paintKinds.js +149 -88
- package/dist/core/paint/paintKinds.js.map +1 -1
- package/dist/core/paint/registerMesh.js +6 -4
- package/dist/core/paint/registerMesh.js.map +1 -1
- package/dist/core/scene/NodeProperties.js +15 -10
- package/dist/core/scene/NodeProperties.js.map +1 -1
- package/dist/core/scene/NodeRouting.js +22 -13
- package/dist/core/scene/NodeRouting.js.map +1 -1
- package/dist/core/scene/annotation.js +28 -0
- package/dist/core/scene/annotation.js.map +1 -0
- package/dist/core/scene/appliedLog.js +31 -23
- package/dist/core/scene/appliedLog.js.map +1 -1
- package/dist/core/scene/arrivalWindow.js +120 -75
- package/dist/core/scene/arrivalWindow.js.map +1 -1
- package/dist/core/scene/arrivals.js +17 -6
- package/dist/core/scene/arrivals.js.map +1 -1
- package/dist/core/scene/boundOps.js +42 -23
- package/dist/core/scene/boundOps.js.map +1 -1
- package/dist/core/scene/carryDescendants.js +51 -0
- package/dist/core/scene/carryDescendants.js.map +1 -0
- package/dist/core/scene/composeFrame.js +51 -21
- package/dist/core/scene/composeFrame.js.map +1 -1
- package/dist/core/scene/composePose.js +114 -62
- package/dist/core/scene/composePose.js.map +1 -1
- package/dist/core/scene/depFrame.js +94 -0
- package/dist/core/scene/depFrame.js.map +1 -0
- package/dist/core/scene/depMemo.js +44 -19
- package/dist/core/scene/depMemo.js.map +1 -1
- package/dist/core/scene/dependents.js +73 -45
- package/dist/core/scene/dependents.js.map +1 -1
- package/dist/core/scene/derivedParts.js +58 -0
- package/dist/core/scene/derivedParts.js.map +1 -0
- package/dist/core/scene/derivedPath.js +52 -22
- package/dist/core/scene/derivedPath.js.map +1 -1
- package/dist/core/scene/docValues.js +57 -0
- package/dist/core/scene/docValues.js.map +1 -0
- package/dist/core/scene/editMode.js +11 -11
- package/dist/core/scene/editMode.js.map +1 -1
- package/dist/core/scene/editPass.js +111 -0
- package/dist/core/scene/editPass.js.map +1 -0
- package/dist/core/scene/effectivePose.js +173 -51
- package/dist/core/scene/effectivePose.js.map +1 -1
- package/dist/core/scene/fieldEdits.js +98 -75
- package/dist/core/scene/fieldEdits.js.map +1 -1
- package/dist/core/scene/historyFacade.js +127 -87
- package/dist/core/scene/historyFacade.js.map +1 -1
- package/dist/core/scene/historyForm.js +7 -3
- package/dist/core/scene/historyForm.js.map +1 -1
- package/dist/core/scene/kitOps.js +203 -131
- package/dist/core/scene/kitOps.js.map +1 -1
- package/dist/core/scene/kitRegistry.js +49 -22
- package/dist/core/scene/kitRegistry.js.map +1 -1
- package/dist/core/scene/layerStack.js +123 -92
- package/dist/core/scene/layerStack.js.map +1 -1
- package/dist/core/scene/layoutPass.js +143 -72
- package/dist/core/scene/layoutPass.js.map +1 -1
- package/dist/core/scene/lockGuard.js +32 -24
- package/dist/core/scene/lockGuard.js.map +1 -1
- package/dist/core/scene/minSize.js +17 -0
- package/dist/core/scene/minSize.js.map +1 -0
- package/dist/core/scene/nestedHit.js +45 -31
- package/dist/core/scene/nestedHit.js.map +1 -1
- package/dist/core/scene/nodeFlags.js +43 -0
- package/dist/core/scene/nodeFlags.js.map +1 -0
- package/dist/core/scene/nodeFnFields.js +58 -41
- package/dist/core/scene/nodeFnFields.js.map +1 -1
- package/dist/core/scene/nodeGates.js +58 -0
- package/dist/core/scene/nodeGates.js.map +1 -0
- package/dist/core/scene/nodeMemo.js +92 -40
- package/dist/core/scene/nodeMemo.js.map +1 -1
- package/dist/core/scene/nodeStore.js +179 -99
- package/dist/core/scene/nodeStore.js.map +1 -1
- package/dist/core/scene/notifier.js +30 -19
- package/dist/core/scene/notifier.js.map +1 -1
- package/dist/core/scene/opTable.js +42 -36
- package/dist/core/scene/opTable.js.map +1 -1
- package/dist/core/scene/outerOps.js +49 -43
- package/dist/core/scene/outerOps.js.map +1 -1
- package/dist/core/scene/pathEffects/blend.js +80 -0
- package/dist/core/scene/pathEffects/blend.js.map +1 -0
- package/dist/core/scene/pathEffects/derive.js +112 -0
- package/dist/core/scene/pathEffects/derive.js.map +1 -0
- package/dist/core/scene/pathEffects/effects.js +40 -0
- package/dist/core/scene/pathEffects/effects.js.map +1 -0
- package/dist/core/scene/poseFeed.js +95 -60
- package/dist/core/scene/poseFeed.js.map +1 -1
- package/dist/core/scene/poseHold.js +33 -24
- package/dist/core/scene/poseHold.js.map +1 -1
- package/dist/core/scene/poseOverrides.js +86 -49
- package/dist/core/scene/poseOverrides.js.map +1 -1
- package/dist/core/scene/poseRemovals.js +58 -0
- package/dist/core/scene/poseRemovals.js.map +1 -0
- package/dist/core/scene/poseSnapshot.js +62 -41
- package/dist/core/scene/poseSnapshot.js.map +1 -1
- package/dist/core/scene/poseWrites.js +151 -0
- package/dist/core/scene/poseWrites.js.map +1 -0
- package/dist/core/scene/reconcileSpecs.js +63 -34
- package/dist/core/scene/reconcileSpecs.js.map +1 -1
- package/dist/core/scene/recorder.js +99 -57
- package/dist/core/scene/recorder.js.map +1 -1
- package/dist/core/scene/renderOrder.js +105 -59
- package/dist/core/scene/renderOrder.js.map +1 -1
- package/dist/core/scene/scene.js +139 -80
- package/dist/core/scene/scene.js.map +1 -1
- package/dist/core/scene/sceneChanges.js +13 -0
- package/dist/core/scene/sceneChanges.js.map +1 -0
- package/dist/core/scene/sceneEdits.js +69 -49
- package/dist/core/scene/sceneEdits.js.map +1 -1
- package/dist/core/scene/sceneMutators.js +45 -36
- package/dist/core/scene/sceneMutators.js.map +1 -1
- package/dist/core/scene/scenePoseAdapter.js +13 -9
- package/dist/core/scene/scenePoseAdapter.js.map +1 -1
- package/dist/core/scene/sceneRecording.js +106 -73
- package/dist/core/scene/sceneRecording.js.map +1 -1
- package/dist/core/scene/sceneSelection.js +26 -16
- package/dist/core/scene/sceneSelection.js.map +1 -1
- package/dist/core/scene/sceneState.js +61 -37
- package/dist/core/scene/sceneState.js.map +1 -1
- package/dist/core/scene/serialization.js +89 -50
- package/dist/core/scene/serialization.js.map +1 -1
- package/dist/core/scene/staleReplay.js +35 -26
- package/dist/core/scene/staleReplay.js.map +1 -1
- package/dist/core/scene/statedFields.js +10 -5
- package/dist/core/scene/statedFields.js.map +1 -1
- package/dist/core/scene/treeEdits.js +129 -98
- package/dist/core/scene/treeEdits.js.map +1 -1
- package/dist/core/scene/treeOrder.js +13 -8
- package/dist/core/scene/treeOrder.js.map +1 -1
- package/dist/core/scene/treeReads.js +25 -16
- package/dist/core/scene/treeReads.js.map +1 -1
- package/dist/core/scene/types.js +4 -3
- package/dist/core/scene/types.js.map +1 -1
- package/dist/core/scene/unionOfChildren.js +20 -10
- package/dist/core/scene/unionOfChildren.js.map +1 -1
- package/dist/core/scene/unitScopes.js +33 -8
- package/dist/core/scene/unitScopes.js.map +1 -1
- package/dist/core/scene/useScene.js +32 -24
- package/dist/core/scene/useScene.js.map +1 -1
- package/dist/core/selection/chromeState.js +41 -17
- package/dist/core/selection/chromeState.js.map +1 -1
- package/dist/core/selection/readOnlySelection.js +39 -24
- package/dist/core/selection/readOnlySelection.js.map +1 -1
- package/dist/core/selection/selectionTarget.js +14 -3
- package/dist/core/selection/selectionTarget.js.map +1 -1
- package/dist/core/selection/usePublishSceneSelection.js +20 -19
- package/dist/core/selection/usePublishSceneSelection.js.map +1 -1
- package/dist/core/selection/useSelection.js +90 -57
- package/dist/core/selection/useSelection.js.map +1 -1
- package/dist/core/shapeKinds.js +57 -28
- package/dist/core/shapeKinds.js.map +1 -1
- package/dist/core/stableStringify.js +5 -4
- package/dist/core/stableStringify.js.map +1 -1
- package/dist/core/stylus/stylus.js +49 -25
- package/dist/core/stylus/stylus.js.map +1 -1
- package/dist/core/stylus/usePointerStylus.js +61 -34
- package/dist/core/stylus/usePointerStylus.js.map +1 -1
- package/dist/core/usePaintKinds.js +21 -11
- package/dist/core/usePaintKinds.js.map +1 -1
- package/dist/core/viewport/clampView.js +31 -15
- package/dist/core/viewport/clampView.js.map +1 -1
- package/dist/core/viewport/clientToWorld.js +15 -4
- package/dist/core/viewport/clientToWorld.js.map +1 -1
- package/dist/core/viewport/createVelocityTracker.js +23 -19
- package/dist/core/viewport/createVelocityTracker.js.map +1 -1
- package/dist/core/viewport/fitToBounds.js +28 -11
- package/dist/core/viewport/fitToBounds.js.map +1 -1
- package/dist/core/viewport/fitViewToBounds.js +45 -19
- package/dist/core/viewport/fitViewToBounds.js.map +1 -1
- package/dist/core/viewport/interpolateView.js +40 -20
- package/dist/core/viewport/interpolateView.js.map +1 -1
- package/dist/core/viewport/parallax.js +89 -56
- package/dist/core/viewport/parallax.js.map +1 -1
- package/dist/core/viewport/sceneNodeClientRect.js +21 -12
- package/dist/core/viewport/sceneNodeClientRect.js.map +1 -1
- package/dist/core/viewport/screenSlop.js +40 -17
- package/dist/core/viewport/screenSlop.js.map +1 -1
- package/dist/core/viewport/useAutoCenter.js +36 -22
- package/dist/core/viewport/useAutoCenter.js.map +1 -1
- package/dist/core/viewport/useCanvasSize.js +43 -22
- package/dist/core/viewport/useCanvasSize.js.map +1 -1
- package/dist/core/viewport/useDecayLoop.js +120 -48
- package/dist/core/viewport/useDecayLoop.js.map +1 -1
- package/dist/core/viewport/useNodeOverlayFrame.js +93 -58
- package/dist/core/viewport/useNodeOverlayFrame.js.map +1 -1
- package/dist/core/viewport/useVelocityTracker.js +9 -6
- package/dist/core/viewport/useVelocityTracker.js.map +1 -1
- package/dist/core/viewport/useViewAnimation.js +143 -84
- package/dist/core/viewport/useViewAnimation.js.map +1 -1
- package/dist/core/viewport/view.js +48 -24
- package/dist/core/viewport/view.js.map +1 -1
- package/dist/core/viewport/viewTransform.js +8 -6
- package/dist/core/viewport/viewTransform.js.map +1 -1
- package/dist/core/viewport/viewportWorldRect.js +15 -7
- package/dist/core/viewport/viewportWorldRect.js.map +1 -1
- package/dist/core/viewport/wheelHandler.js +31 -20
- package/dist/core/viewport/wheelHandler.js.map +1 -1
- package/dist/core/viewport/zoomAt.js +47 -19
- package/dist/core/viewport/zoomAt.js.map +1 -1
- package/dist/core/viewport/zoomBounds.js +33 -17
- package/dist/core/viewport/zoomBounds.js.map +1 -1
- package/dist/cornerHandles-BHuoMs1o.d.ts +169 -0
- package/dist/debug/createDebugOverlayLayer.js +251 -258
- package/dist/debug/createDebugOverlayLayer.js.map +1 -1
- package/dist/debug/createDebugSink.js +69 -47
- package/dist/debug/createDebugSink.js.map +1 -1
- package/dist/debug/defaultTheme.js +20 -6
- package/dist/debug/defaultTheme.js.map +1 -1
- package/dist/debug/features.js +17 -0
- package/dist/debug/features.js.map +1 -0
- package/dist/debug/flag.js +3 -2
- package/dist/debug/frameStats.js +11 -9
- package/dist/debug/frameStats.js.map +1 -1
- package/dist/debug/overlayPanels.js +117 -0
- package/dist/debug/overlayPanels.js.map +1 -0
- package/dist/debug/parseDebugFlags.js +26 -27
- package/dist/debug/parseDebugFlags.js.map +1 -1
- package/dist/debug/useDebugSink.js +52 -33
- package/dist/debug/useDebugSink.js.map +1 -1
- package/dist/depSchema-BpZNOv7q.d.ts +2803 -0
- package/dist/devtools/handlers.js +112 -0
- package/dist/devtools/handlers.js.map +1 -0
- package/dist/devtools/history.js +71 -0
- package/dist/devtools/history.js.map +1 -0
- package/dist/devtools/hook.js +74 -0
- package/dist/devtools/hook.js.map +1 -0
- package/dist/devtools/label.js +25 -0
- package/dist/devtools/label.js.map +1 -0
- package/dist/devtools/notices.js +58 -0
- package/dist/devtools/notices.js.map +1 -0
- package/dist/devtools/protocol.js +7 -0
- package/dist/devtools/protocol.js.map +1 -0
- package/dist/devtools/registry.js +90 -0
- package/dist/devtools/registry.js.map +1 -0
- package/dist/devtools/root.js +80 -0
- package/dist/devtools/root.js.map +1 -0
- package/dist/devtools/serialize.js +86 -0
- package/dist/devtools/serialize.js.map +1 -0
- package/dist/devtools/session.js +111 -0
- package/dist/devtools/session.js.map +1 -0
- package/dist/devtools/transport.js +67 -0
- package/dist/devtools/transport.js.map +1 -0
- package/dist/devtools/useDevtoolsRoot.js +81 -0
- package/dist/devtools/useDevtoolsRoot.js.map +1 -0
- package/dist/devtools-protocol.d.ts +435 -0
- package/dist/devtools-protocol.js +7 -0
- package/dist/devtools.d.ts +8 -0
- package/dist/devtools.js +12 -0
- package/dist/devtools.js.map +1 -0
- package/dist/features/chrome-caps/buildChromeCtx.js +12 -10
- package/dist/features/chrome-caps/buildChromeCtx.js.map +1 -1
- package/dist/features/chrome-caps/conditions.js +103 -25
- package/dist/features/chrome-caps/conditions.js.map +1 -1
- package/dist/features/chrome-caps/defaults.js +18 -10
- package/dist/features/chrome-caps/defaults.js.map +1 -1
- package/dist/features/chrome-caps/index.js +8 -7
- package/dist/features/chrome-caps/resolve.js +28 -16
- package/dist/features/chrome-caps/resolve.js.map +1 -1
- package/dist/features/chrome-caps/useChromeCaps.js +52 -44
- package/dist/features/chrome-caps/useChromeCaps.js.map +1 -1
- package/dist/features/chrome-caps/useHoverTracking.js +58 -26
- package/dist/features/chrome-caps/useHoverTracking.js.map +1 -1
- package/dist/features/ingestion/contentHandlers.js +105 -36
- package/dist/features/ingestion/contentHandlers.js.map +1 -1
- package/dist/features/ingestion/imageHandler.js +49 -29
- package/dist/features/ingestion/imageHandler.js.map +1 -1
- package/dist/features/ingestion/openFilePicker.js +27 -9
- package/dist/features/ingestion/openFilePicker.js.map +1 -1
- package/dist/features/ingestion/placement.js +20 -11
- package/dist/features/ingestion/placement.js.map +1 -1
- package/dist/features/ingestion/registerKitHandlers.js +35 -18
- package/dist/features/ingestion/registerKitHandlers.js.map +1 -1
- package/dist/features/ingestion/svgHandler.js +60 -34
- package/dist/features/ingestion/svgHandler.js.map +1 -1
- package/dist/features/ingestion/textHandler.js +37 -16
- package/dist/features/ingestion/textHandler.js.map +1 -1
- package/dist/features/ingestion/useCanvasIngestion.js +57 -39
- package/dist/features/ingestion/useCanvasIngestion.js.map +1 -1
- package/dist/features/ingestion/weaselJsonHandler.js +38 -28
- package/dist/features/ingestion/weaselJsonHandler.js.map +1 -1
- package/dist/features/longPress/longPressFeedback.js +110 -81
- package/dist/features/longPress/longPressFeedback.js.map +1 -1
- package/dist/features/measure/actionIds.js +22 -0
- package/dist/features/measure/actionIds.js.map +1 -0
- package/dist/features/measure/measureCommands.js +180 -0
- package/dist/features/measure/measureCommands.js.map +1 -0
- package/dist/features/measure/measureContribution.js +57 -0
- package/dist/features/measure/measureContribution.js.map +1 -0
- package/dist/features/measure/measureEdits.js +82 -0
- package/dist/features/measure/measureEdits.js.map +1 -0
- package/dist/features/measure/measureGestures.js +185 -0
- package/dist/features/measure/measureGestures.js.map +1 -0
- package/dist/features/measure/measureHit.js +80 -0
- package/dist/features/measure/measureHit.js.map +1 -0
- package/dist/features/measure/measureLayer.js +86 -0
- package/dist/features/measure/measureLayer.js.map +1 -0
- package/dist/features/measure/measurement.js +79 -0
- package/dist/features/measure/measurement.js.map +1 -0
- package/dist/features/measure/measurements.js +41 -0
- package/dist/features/measure/measurements.js.map +1 -0
- package/dist/features/modes/modeLayers.js +81 -55
- package/dist/features/modes/modeLayers.js.map +1 -1
- package/dist/features/modes/modeTriggers.js +66 -0
- package/dist/features/modes/modeTriggers.js.map +1 -0
- package/dist/features/pathEffects/index.js +35 -0
- package/dist/features/pathEffects/index.js.map +1 -0
- package/dist/features/pathEffects/readSource.js +46 -0
- package/dist/features/pathEffects/readSource.js.map +1 -0
- package/dist/features/paths/anchorData.js +65 -0
- package/dist/features/paths/anchorData.js.map +1 -0
- package/dist/features/paths/anchorMarkers.js +137 -0
- package/dist/features/paths/anchorMarkers.js.map +1 -0
- package/dist/features/paths/editablePath.js +149 -46
- package/dist/features/paths/editablePath.js.map +1 -1
- package/dist/features/paths/index.js +12 -9
- package/dist/features/paths/originProjection.js +16 -9
- package/dist/features/paths/originProjection.js.map +1 -1
- package/dist/features/paths/pathEditExtension.js +26 -0
- package/dist/features/paths/pathEditExtension.js.map +1 -0
- package/dist/features/paths/pathEditState.js +107 -26
- package/dist/features/paths/pathEditState.js.map +1 -1
- package/dist/features/paths/pathEditingOverlayLayer.js +58 -110
- package/dist/features/paths/pathEditingOverlayLayer.js.map +1 -1
- package/dist/features/paths/pathLayer.js +79 -29
- package/dist/features/paths/pathLayer.js.map +1 -1
- package/dist/features/paths/pathRepresentation.js +27 -0
- package/dist/features/paths/pathRepresentation.js.map +1 -0
- package/dist/features/paths/pathSnap/glyphs.js +39 -0
- package/dist/features/paths/pathSnap/glyphs.js.map +1 -0
- package/dist/features/paths/pathSnap/pathSnapSource.js +82 -0
- package/dist/features/paths/pathSnap/pathSnapSource.js.map +1 -0
- package/dist/features/paths/pathSnap/sceneIndex.js +85 -0
- package/dist/features/paths/pathSnap/sceneIndex.js.map +1 -0
- package/dist/features/paths/pathSnap/snapGeometry.js +47 -0
- package/dist/features/paths/pathSnap/snapGeometry.js.map +1 -0
- package/dist/features/paths/penPreviewLayer.js +135 -102
- package/dist/features/paths/penPreviewLayer.js.map +1 -1
- package/dist/features/paths/shapeGenerator.js +112 -60
- package/dist/features/paths/shapeGenerator.js.map +1 -1
- package/dist/features/paths/strokeOutline.js +15 -0
- package/dist/features/paths/strokeOutline.js.map +1 -0
- package/dist/features/paths/useAnchorFields.js +35 -0
- package/dist/features/paths/useAnchorFields.js.map +1 -0
- package/dist/features/paths/usePathEdit.js +58 -28
- package/dist/features/paths/usePathEdit.js.map +1 -1
- package/dist/features/poseRun/usePoseRun.js +110 -43
- package/dist/features/poseRun/usePoseRun.js.map +1 -1
- package/dist/features/selection/handleCommands.js +116 -0
- package/dist/features/selection/handleCommands.js.map +1 -0
- package/dist/features/selection/overlay.js +288 -328
- package/dist/features/selection/overlay.js.map +1 -1
- package/dist/features/selection/selectionPose.js +112 -0
- package/dist/features/selection/selectionPose.js.map +1 -0
- package/dist/features/snap/angle2d.js +158 -0
- package/dist/features/snap/angle2d.js.map +1 -0
- package/dist/features/snap/debugCandidates.js +27 -0
- package/dist/features/snap/debugCandidates.js.map +1 -0
- package/dist/features/snap/gather.js +79 -0
- package/dist/features/snap/gather.js.map +1 -0
- package/dist/features/snap/inputSubspace.js +46 -0
- package/dist/features/snap/inputSubspace.js.map +1 -0
- package/dist/features/snap/lazySession.js +17 -0
- package/dist/features/snap/lazySession.js.map +1 -0
- package/dist/features/snap/marks.js +29 -0
- package/dist/features/snap/marks.js.map +1 -0
- package/dist/features/snap/outcomeStore.js +25 -0
- package/dist/features/snap/outcomeStore.js.map +1 -0
- package/dist/features/snap/pointSnap.js +48 -0
- package/dist/features/snap/pointSnap.js.map +1 -0
- package/dist/features/snap/probes2d.js +99 -0
- package/dist/features/snap/probes2d.js.map +1 -0
- package/dist/features/snap/readoutDraw.js +93 -0
- package/dist/features/snap/readoutDraw.js.map +1 -0
- package/dist/features/snap/readoutLayer.js +49 -0
- package/dist/features/snap/readoutLayer.js.map +1 -0
- package/dist/features/snap/registry.js +27 -0
- package/dist/features/snap/registry.js.map +1 -0
- package/dist/features/snap/resizeBox.js +137 -0
- package/dist/features/snap/resizeBox.js.map +1 -0
- package/dist/features/snap/roles.js +32 -0
- package/dist/features/snap/roles.js.map +1 -0
- package/dist/features/snap/rotationSource.js +47 -0
- package/dist/features/snap/rotationSource.js.map +1 -0
- package/dist/features/snap/sceneReads.js +45 -0
- package/dist/features/snap/sceneReads.js.map +1 -0
- package/dist/features/snap/sceneSession2d.js +81 -0
- package/dist/features/snap/sceneSession2d.js.map +1 -0
- package/dist/features/snap/screen.js +23 -0
- package/dist/features/snap/screen.js.map +1 -0
- package/dist/features/snap/session2d.js +143 -0
- package/dist/features/snap/session2d.js.map +1 -0
- package/dist/features/snap/spanSnap.js +80 -0
- package/dist/features/snap/spanSnap.js.map +1 -0
- package/dist/features/snap/stepAngles.js +15 -0
- package/dist/features/snap/stepAngles.js.map +1 -0
- package/dist/features/text/editingDrawOne.js +32 -0
- package/dist/features/text/editingDrawOne.js.map +1 -0
- package/dist/features/text/index.js +7 -6
- package/dist/features/text/textHitAt.js +51 -0
- package/dist/features/text/textHitAt.js.map +1 -0
- package/dist/features/text/textLayer.js +21 -27
- package/dist/features/text/textLayer.js.map +1 -1
- package/dist/features/text/useSceneTextEdit.js +190 -128
- package/dist/features/text/useSceneTextEdit.js.map +1 -1
- package/dist/features/viewports/viewResolver.js +48 -39
- package/dist/features/viewports/viewResolver.js.map +1 -1
- package/dist/features/viewports/viewportLayer.js +60 -29
- package/dist/features/viewports/viewportLayer.js.map +1 -1
- package/dist/iconRegistry/IconRegistryProvider.js +73 -0
- package/dist/iconRegistry/IconRegistryProvider.js.map +1 -0
- package/dist/iconRegistry/useIconGlyph.js +14 -0
- package/dist/iconRegistry/useIconGlyph.js.map +1 -0
- package/dist/iconRegistry/useIconVariant.js +29 -0
- package/dist/iconRegistry/useIconVariant.js.map +1 -0
- package/dist/icons.d.ts +6 -0
- package/dist/icons.js +3 -0
- package/dist/icons.table.js +13 -0
- package/dist/icons.table.js.map +1 -0
- package/dist/icons.table.json +546 -0
- package/dist/icons2.table.js +9 -0
- package/dist/icons2.table.js.map +1 -0
- package/dist/index.d.ts +4856 -5666
- package/dist/index.js +346 -285
- package/dist/input/keyState.js +118 -54
- package/dist/input/keyState.js.map +1 -1
- package/dist/input/useKeyModifiers.js +13 -7
- package/dist/input/useKeyModifiers.js.map +1 -1
- package/dist/input/useKeyState.js +23 -16
- package/dist/input/useKeyState.js.map +1 -1
- package/dist/interactions/actions/align/action.js +78 -45
- package/dist/interactions/actions/align/action.js.map +1 -1
- package/dist/interactions/actions/align/align.js +86 -48
- package/dist/interactions/actions/align/align.js.map +1 -1
- package/dist/interactions/actions/booleans/action.js +73 -33
- package/dist/interactions/actions/booleans/action.js.map +1 -1
- package/dist/interactions/actions/booleans/booleans.js +77 -70
- package/dist/interactions/actions/booleans/booleans.js.map +1 -1
- package/dist/interactions/actions/booleans/commit.js +49 -0
- package/dist/interactions/actions/booleans/commit.js.map +1 -0
- package/dist/interactions/actions/booleans/custom.js +48 -0
- package/dist/interactions/actions/booleans/custom.js.map +1 -0
- package/dist/interactions/actions/booleans/operands.js +43 -32
- package/dist/interactions/actions/booleans/operands.js.map +1 -1
- package/dist/interactions/actions/booleans/pieces.js +29 -23
- package/dist/interactions/actions/booleans/pieces.js.map +1 -1
- package/dist/interactions/actions/booleans/placement.js +30 -17
- package/dist/interactions/actions/booleans/placement.js.map +1 -1
- package/dist/interactions/actions/booleans/useBooleans.js +30 -17
- package/dist/interactions/actions/booleans/useBooleans.js.map +1 -1
- package/dist/interactions/actions/booleans/useBooleansAdapter.js +8 -5
- package/dist/interactions/actions/booleans/useBooleansAdapter.js.map +1 -1
- package/dist/interactions/actions/clipboard/action.js +81 -40
- package/dist/interactions/actions/clipboard/action.js.map +1 -1
- package/dist/interactions/actions/clipboard/clipboardOps.js +100 -72
- package/dist/interactions/actions/clipboard/clipboardOps.js.map +1 -1
- package/dist/interactions/actions/clipboard/materializePaste.js +38 -19
- package/dist/interactions/actions/clipboard/materializePaste.js.map +1 -1
- package/dist/interactions/actions/clipboard/wireFormat.js +66 -28
- package/dist/interactions/actions/clipboard/wireFormat.js.map +1 -1
- package/dist/interactions/actions/clone/action.js +102 -70
- package/dist/interactions/actions/clone/action.js.map +1 -1
- package/dist/interactions/actions/clone/behaviors.js +55 -38
- package/dist/interactions/actions/clone/behaviors.js.map +1 -1
- package/dist/interactions/actions/defaultCommitAdapter.js +32 -10
- package/dist/interactions/actions/defaultCommitAdapter.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorEditing.js +252 -111
- package/dist/interactions/actions/defaults/anchorEditing.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorFields.js +54 -0
- package/dist/interactions/actions/defaults/anchorFields.js.map +1 -0
- package/dist/interactions/actions/defaults/anchorHandles.js +31 -27
- package/dist/interactions/actions/defaults/anchorHandles.js.map +1 -1
- package/dist/interactions/actions/defaults/anchorJoin.js +55 -37
- package/dist/interactions/actions/defaults/anchorJoin.js.map +1 -1
- package/dist/interactions/actions/defaults/areaSelect.js +56 -40
- package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
- package/dist/interactions/actions/defaults/bendSegment.js +67 -31
- package/dist/interactions/actions/defaults/bendSegment.js.map +1 -1
- package/dist/interactions/actions/defaults/cancelGesture.js +12 -5
- package/dist/interactions/actions/defaults/cancelGesture.js.map +1 -1
- package/dist/interactions/actions/defaults/clearSelection.js +22 -7
- package/dist/interactions/actions/defaults/clearSelection.js.map +1 -1
- package/dist/interactions/actions/defaults/contextMenu.js +149 -0
- package/dist/interactions/actions/defaults/contextMenu.js.map +1 -0
- package/dist/interactions/actions/defaults/copySubtree.js +43 -29
- package/dist/interactions/actions/defaults/copySubtree.js.map +1 -1
- package/dist/interactions/actions/defaults/createPaintAction.js +79 -54
- package/dist/interactions/actions/defaults/createPaintAction.js.map +1 -1
- package/dist/interactions/actions/defaults/delete.js +92 -55
- package/dist/interactions/actions/defaults/delete.js.map +1 -1
- package/dist/interactions/actions/defaults/duplicate.js +60 -32
- package/dist/interactions/actions/defaults/duplicate.js.map +1 -1
- package/dist/interactions/actions/defaults/enterPathEdit.js +22 -18
- package/dist/interactions/actions/defaults/enterPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/enterTextEdit.js +20 -8
- package/dist/interactions/actions/defaults/enterTextEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/escape.js +16 -7
- package/dist/interactions/actions/defaults/escape.js.map +1 -1
- package/dist/interactions/actions/defaults/exitPathEdit.js +6 -6
- package/dist/interactions/actions/defaults/exitPathEdit.js.map +1 -1
- package/dist/interactions/actions/defaults/group.js +122 -73
- package/dist/interactions/actions/defaults/group.js.map +1 -1
- package/dist/interactions/actions/defaults/ingest.js +58 -39
- package/dist/interactions/actions/defaults/ingest.js.map +1 -1
- package/dist/interactions/actions/defaults/insertPathAnchor.js +43 -22
- package/dist/interactions/actions/defaults/insertPathAnchor.js.map +1 -1
- package/dist/interactions/actions/defaults/nudge.js +57 -55
- package/dist/interactions/actions/defaults/nudge.js.map +1 -1
- package/dist/interactions/actions/defaults/nudgeSteps.js +17 -12
- package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -1
- package/dist/interactions/actions/defaults/pathEditMarks.js +60 -0
- package/dist/interactions/actions/defaults/pathEditMarks.js.map +1 -0
- package/dist/interactions/actions/defaults/pathEditTools.js +57 -0
- package/dist/interactions/actions/defaults/pathEditTools.js.map +1 -0
- package/dist/interactions/actions/defaults/pinchZoom.js +55 -39
- package/dist/interactions/actions/defaults/pinchZoom.js.map +1 -1
- package/dist/interactions/actions/defaults/reorder.js +71 -40
- package/dist/interactions/actions/defaults/reorder.js.map +1 -1
- package/dist/interactions/actions/defaults/requiresSelection.js +13 -6
- package/dist/interactions/actions/defaults/requiresSelection.js.map +1 -1
- package/dist/interactions/actions/defaults/segmentUnder.js +24 -16
- package/dist/interactions/actions/defaults/segmentUnder.js.map +1 -1
- package/dist/interactions/actions/defaults/selectAll.js +21 -7
- package/dist/interactions/actions/defaults/selectAll.js.map +1 -1
- package/dist/interactions/actions/defaults/setFill.js +37 -21
- package/dist/interactions/actions/defaults/setFill.js.map +1 -1
- package/dist/interactions/actions/defaults/setFillOpacity.js +19 -10
- package/dist/interactions/actions/defaults/setFillOpacity.js.map +1 -1
- package/dist/interactions/actions/defaults/setStroke.js +46 -25
- package/dist/interactions/actions/defaults/setStroke.js.map +1 -1
- package/dist/interactions/actions/defaults/setStrokeOpacity.js +19 -11
- package/dist/interactions/actions/defaults/setStrokeOpacity.js.map +1 -1
- package/dist/interactions/actions/defaults/slice.js +42 -17
- package/dist/interactions/actions/defaults/slice.js.map +1 -1
- package/dist/interactions/actions/defaults/sliceOps.js +63 -42
- package/dist/interactions/actions/defaults/sliceOps.js.map +1 -1
- package/dist/interactions/actions/defaults/toolActivate.js +34 -16
- package/dist/interactions/actions/defaults/toolActivate.js.map +1 -1
- package/dist/interactions/actions/defaults/toolResetToDefault.js +29 -10
- package/dist/interactions/actions/defaults/toolResetToDefault.js.map +1 -1
- package/dist/interactions/actions/defaults/undoRedo.js +26 -20
- package/dist/interactions/actions/defaults/undoRedo.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportDragPan.js +91 -58
- package/dist/interactions/actions/defaults/viewportDragPan.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportWheelPan.js +42 -23
- package/dist/interactions/actions/defaults/viewportWheelPan.js.map +1 -1
- package/dist/interactions/actions/defaults/viewportZoom.js +107 -59
- package/dist/interactions/actions/defaults/viewportZoom.js.map +1 -1
- package/dist/interactions/actions/distribute/action.js +64 -39
- package/dist/interactions/actions/distribute/action.js.map +1 -1
- package/dist/interactions/actions/distribute/distribute.js +53 -34
- package/dist/interactions/actions/distribute/distribute.js.map +1 -1
- package/dist/interactions/actions/distribute/plan.js +40 -22
- package/dist/interactions/actions/distribute/plan.js.map +1 -1
- package/dist/interactions/actions/drawnBoxes.js +32 -0
- package/dist/interactions/actions/drawnBoxes.js.map +1 -0
- package/dist/interactions/actions/edit-anchors/action.js +245 -72
- package/dist/interactions/actions/edit-anchors/action.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/extensionDrags.js +50 -0
- package/dist/interactions/actions/edit-anchors/extensionDrags.js.map +1 -0
- package/dist/interactions/actions/edit-anchors/geometry.js +74 -47
- package/dist/interactions/actions/edit-anchors/geometry.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/handleDrag.js +101 -0
- package/dist/interactions/actions/edit-anchors/handleDrag.js.map +1 -0
- package/dist/interactions/actions/edit-anchors/handles.js +41 -27
- package/dist/interactions/actions/edit-anchors/handles.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/params.js +12 -0
- package/dist/interactions/actions/edit-anchors/params.js.map +1 -0
- package/dist/interactions/actions/edit-anchors/preview.js +93 -18
- package/dist/interactions/actions/edit-anchors/preview.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/symmetry.js +12 -7
- package/dist/interactions/actions/edit-anchors/symmetry.js.map +1 -1
- package/dist/interactions/actions/flip/action.js +121 -61
- package/dist/interactions/actions/flip/action.js.map +1 -1
- package/dist/interactions/actions/flip/helpers.js +69 -36
- package/dist/interactions/actions/flip/helpers.js.map +1 -1
- package/dist/interactions/actions/geometryProjection.js +17 -12
- package/dist/interactions/actions/geometryProjection.js.map +1 -1
- package/dist/interactions/actions/gestureFrames.js +20 -11
- package/dist/interactions/actions/gestureFrames.js.map +1 -1
- package/dist/interactions/actions/gestureLifecycle.js +96 -48
- package/dist/interactions/actions/gestureLifecycle.js.map +1 -1
- package/dist/interactions/actions/hitSelection.js +6 -4
- package/dist/interactions/actions/hitSelection.js.map +1 -1
- package/dist/interactions/actions/insert/action.js +70 -42
- package/dist/interactions/actions/insert/action.js.map +1 -1
- package/dist/interactions/actions/insert/commit.js +44 -22
- package/dist/interactions/actions/insert/commit.js.map +1 -1
- package/dist/interactions/actions/insert/extras.js +60 -38
- package/dist/interactions/actions/insert/extras.js.map +1 -1
- package/dist/interactions/actions/insert/frame.js +58 -39
- package/dist/interactions/actions/insert/frame.js.map +1 -1
- package/dist/interactions/actions/insert/geometry.js +29 -25
- package/dist/interactions/actions/insert/geometry.js.map +1 -1
- package/dist/interactions/actions/insert/parent.js +11 -0
- package/dist/interactions/actions/insert/parent.js.map +1 -0
- package/dist/interactions/actions/insert/placeAction.js +113 -0
- package/dist/interactions/actions/insert/placeAction.js.map +1 -0
- package/dist/interactions/actions/insert/repositionAction.js +26 -11
- package/dist/interactions/actions/insert/repositionAction.js.map +1 -1
- package/dist/interactions/actions/insert/rotateAction.js +19 -8
- package/dist/interactions/actions/insert/rotateAction.js.map +1 -1
- package/dist/interactions/actions/insert/session.js +61 -41
- package/dist/interactions/actions/insert/session.js.map +1 -1
- package/dist/interactions/actions/insert/shape.js +83 -25
- package/dist/interactions/actions/insert/shape.js.map +1 -1
- package/dist/interactions/actions/lasso-select/action.js +160 -100
- package/dist/interactions/actions/lasso-select/action.js.map +1 -1
- package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +44 -25
- package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js.map +1 -1
- package/dist/interactions/actions/move/action.js +91 -52
- package/dist/interactions/actions/move/action.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/layoutDrop.js +55 -36
- package/dist/interactions/actions/move/behaviors/layoutDrop.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +20 -10
- package/dist/interactions/actions/move/behaviors/reparentOnDrop.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +40 -24
- package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js.map +1 -1
- package/dist/interactions/actions/move/behaviors/snapToContainer.js +102 -64
- package/dist/interactions/actions/move/behaviors/snapToContainer.js.map +1 -1
- package/dist/interactions/actions/move/capture.js +103 -78
- package/dist/interactions/actions/move/capture.js.map +1 -1
- package/dist/interactions/actions/move/commit/index.js +41 -34
- package/dist/interactions/actions/move/commit/index.js.map +1 -1
- package/dist/interactions/actions/move/commit/layoutDrop.js +43 -32
- package/dist/interactions/actions/move/commit/layoutDrop.js.map +1 -1
- package/dist/interactions/actions/move/commit/layoutRelease.js +97 -77
- package/dist/interactions/actions/move/commit/layoutRelease.js.map +1 -1
- package/dist/interactions/actions/move/commit/rebase.js +16 -13
- package/dist/interactions/actions/move/commit/rebase.js.map +1 -1
- package/dist/interactions/actions/move/commit/reparent.js +89 -57
- package/dist/interactions/actions/move/commit/reparent.js.map +1 -1
- package/dist/interactions/actions/move/delta.js +58 -36
- package/dist/interactions/actions/move/delta.js.map +1 -1
- package/dist/interactions/actions/move/frame.js +66 -35
- package/dist/interactions/actions/move/frame.js.map +1 -1
- package/dist/interactions/actions/move/gestureAdapter.js +30 -20
- package/dist/interactions/actions/move/gestureAdapter.js.map +1 -1
- package/dist/interactions/actions/move/landedDescendants.js +43 -25
- package/dist/interactions/actions/move/landedDescendants.js.map +1 -1
- package/dist/interactions/actions/move/layout/container.js +93 -72
- package/dist/interactions/actions/move/layout/container.js.map +1 -1
- package/dist/interactions/actions/move/layout/dragged.js +61 -39
- package/dist/interactions/actions/move/layout/dragged.js.map +1 -1
- package/dist/interactions/actions/move/layout/dropPass.js +153 -94
- package/dist/interactions/actions/move/layout/dropPass.js.map +1 -1
- package/dist/interactions/actions/move/layout/exits.js +58 -30
- package/dist/interactions/actions/move/layout/exits.js.map +1 -1
- package/dist/interactions/actions/move/layout/glide.js +55 -34
- package/dist/interactions/actions/move/layout/glide.js.map +1 -1
- package/dist/interactions/actions/move/session.js +96 -56
- package/dist/interactions/actions/move/session.js.map +1 -1
- package/dist/interactions/actions/move/translate.js +37 -51
- package/dist/interactions/actions/move/translate.js.map +1 -1
- package/dist/interactions/actions/moveNodes.js +87 -0
- package/dist/interactions/actions/moveNodes.js.map +1 -0
- package/dist/interactions/actions/outlines/createOutlines.js +28 -20
- package/dist/interactions/actions/outlines/createOutlines.js.map +1 -1
- package/dist/interactions/actions/outlines/createOutlinesAction.js +43 -31
- package/dist/interactions/actions/outlines/createOutlinesAction.js.map +1 -1
- package/dist/interactions/actions/outlines/outlineStroke.js +68 -45
- package/dist/interactions/actions/outlines/outlineStroke.js.map +1 -1
- package/dist/interactions/actions/outlines/outlineStrokeAction.js +24 -19
- package/dist/interactions/actions/outlines/outlineStrokeAction.js.map +1 -1
- package/dist/interactions/actions/outlines/replaceWithPaths.js +57 -42
- package/dist/interactions/actions/outlines/replaceWithPaths.js.map +1 -1
- package/dist/interactions/actions/outlines/strokeRegion.js +37 -22
- package/dist/interactions/actions/outlines/strokeRegion.js.map +1 -1
- package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js +8 -5
- package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js.map +1 -1
- package/dist/interactions/actions/pathCommands/cutJoin.js +119 -72
- package/dist/interactions/actions/pathCommands/cutJoin.js.map +1 -1
- package/dist/interactions/actions/pathCommands/livePathEdit.js +74 -40
- package/dist/interactions/actions/pathCommands/livePathEdit.js.map +1 -1
- package/dist/interactions/actions/pathCommands/pathNodes.js +91 -82
- package/dist/interactions/actions/pathCommands/pathNodes.js.map +1 -1
- package/dist/interactions/actions/pathCommands/simplifyOffset.js +52 -28
- package/dist/interactions/actions/pathCommands/simplifyOffset.js.map +1 -1
- package/dist/interactions/actions/pathGestureTags.js +29 -0
- package/dist/interactions/actions/pathGestureTags.js.map +1 -0
- package/dist/interactions/actions/planeInput.js +198 -123
- package/dist/interactions/actions/planeInput.js.map +1 -1
- package/dist/interactions/actions/pointerState.js +12 -7
- package/dist/interactions/actions/pointerState.js.map +1 -1
- package/dist/interactions/actions/poseDescriptorDep.js +24 -14
- package/dist/interactions/actions/poseDescriptorDep.js.map +1 -1
- package/dist/interactions/actions/poseFrame.js +45 -28
- package/dist/interactions/actions/poseFrame.js.map +1 -1
- package/dist/interactions/actions/resize/action.js +103 -63
- package/dist/interactions/actions/resize/action.js.map +1 -1
- package/dist/interactions/actions/resize/aspect.js +44 -0
- package/dist/interactions/actions/resize/aspect.js.map +1 -0
- package/dist/interactions/actions/resize/behaviors/clampMinSize.js +38 -13
- package/dist/interactions/actions/resize/behaviors/clampMinSize.js.map +1 -1
- package/dist/interactions/actions/resize/boxFrame.js +15 -11
- package/dist/interactions/actions/resize/boxFrame.js.map +1 -1
- package/dist/interactions/actions/resize/capture.js +105 -62
- package/dist/interactions/actions/resize/capture.js.map +1 -1
- package/dist/interactions/actions/resize/commit.js +76 -56
- package/dist/interactions/actions/resize/commit.js.map +1 -1
- package/dist/interactions/actions/resize/cornerHandles.js +154 -17
- package/dist/interactions/actions/resize/cornerHandles.js.map +1 -1
- package/dist/interactions/actions/resize/frame.js +133 -66
- package/dist/interactions/actions/resize/frame.js.map +1 -1
- package/dist/interactions/actions/resize/minimum.js +35 -0
- package/dist/interactions/actions/resize/minimum.js.map +1 -0
- package/dist/interactions/actions/resize/replay.js +40 -30
- package/dist/interactions/actions/resize/replay.js.map +1 -1
- package/dist/interactions/actions/resize/ruleBounds.js +8 -5
- package/dist/interactions/actions/resize/ruleBounds.js.map +1 -1
- package/dist/interactions/actions/resize/session.js +97 -50
- package/dist/interactions/actions/resize/session.js.map +1 -1
- package/dist/interactions/actions/resolveOverlays.js +48 -33
- package/dist/interactions/actions/resolveOverlays.js.map +1 -1
- package/dist/interactions/actions/resolvePreviews.js +63 -46
- package/dist/interactions/actions/resolvePreviews.js.map +1 -1
- package/dist/interactions/actions/rotate/action.js +71 -42
- package/dist/interactions/actions/rotate/action.js.map +1 -1
- package/dist/interactions/actions/rotate/commit.js +40 -31
- package/dist/interactions/actions/rotate/commit.js.map +1 -1
- package/dist/interactions/actions/rotate/frame.js +75 -47
- package/dist/interactions/actions/rotate/frame.js.map +1 -1
- package/dist/interactions/actions/rotate/geometry.js +36 -24
- package/dist/interactions/actions/rotate/geometry.js.map +1 -1
- package/dist/interactions/actions/rotate/handle.js +28 -15
- package/dist/interactions/actions/rotate/handle.js.map +1 -1
- package/dist/interactions/actions/rotate/replay.js +22 -18
- package/dist/interactions/actions/rotate/replay.js.map +1 -1
- package/dist/interactions/actions/rotate/session.js +117 -76
- package/dist/interactions/actions/rotate/session.js.map +1 -1
- package/dist/interactions/actions/selectionSubtree.js +135 -53
- package/dist/interactions/actions/selectionSubtree.js.map +1 -1
- package/dist/interactions/actions/spatialReference.js +33 -26
- package/dist/interactions/actions/spatialReference.js.map +1 -1
- package/dist/interactions/actions/testUtils.js +53 -0
- package/dist/interactions/actions/testUtils.js.map +1 -0
- package/dist/interactions/actions/transform-again/action.js +49 -35
- package/dist/interactions/actions/transform-again/action.js.map +1 -1
- package/dist/interactions/actions/transform-again/memory.js +32 -21
- package/dist/interactions/actions/transform-again/memory.js.map +1 -1
- package/dist/interactions/actions/transformFinish.js +106 -0
- package/dist/interactions/actions/transformFinish.js.map +1 -0
- package/dist/interactions/actions/useActionSet.js +83 -0
- package/dist/interactions/actions/useActionSet.js.map +1 -0
- package/dist/interactions/actions/useStandardActions.js +23 -165
- package/dist/interactions/actions/useStandardActions.js.map +1 -1
- package/dist/interactions/gestures/dragGesture/dragGesture.js +109 -68
- package/dist/interactions/gestures/dragGesture/dragGesture.js.map +1 -1
- package/dist/interactions/gestures/dragGesture/dragPointOf.js +17 -10
- package/dist/interactions/gestures/dragGesture/dragPointOf.js.map +1 -1
- package/dist/interactions/gestures/dragRadial/dragRadial.js +129 -93
- package/dist/interactions/gestures/dragRadial/dragRadial.js.map +1 -1
- package/dist/interactions/gestures/dragRect/dragRect.js +155 -111
- package/dist/interactions/gestures/dragRect/dragRect.js.map +1 -1
- package/dist/interactions/gestures/handleDrag/handleDrag.js +52 -30
- package/dist/interactions/gestures/handleDrag/handleDrag.js.map +1 -1
- package/dist/interactions/gestures/pointerDrag/pointerDrag.js +168 -97
- package/dist/interactions/gestures/pointerDrag/pointerDrag.js.map +1 -1
- package/dist/interactions/gestures/shared/originProjection.js +32 -25
- package/dist/interactions/gestures/shared/originProjection.js.map +1 -1
- package/dist/interactions/gestures/shared/screenTolerance.js +26 -17
- package/dist/interactions/gestures/shared/screenTolerance.js.map +1 -1
- package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +39 -21
- package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js.map +1 -1
- package/dist/kitSettingsSchema.js +76 -0
- package/dist/kitSettingsSchema.js.map +1 -0
- package/dist/{math-CYUjoyyU.d.ts → math-CrJULaZI.d.ts} +5 -6
- package/dist/math.d.ts +4 -5
- package/dist/math.js +7 -6
- package/dist/mesh.js +3 -2
- package/dist/move.d.ts +9 -7
- package/dist/move.js +4 -3
- package/dist/{originProjection-CoNVpITV.d.ts → options-DBxEryYq.d.ts} +4 -27
- package/dist/originProjection-gY0jb4Wb.d.ts +24 -0
- package/dist/patterns-builtin.js +3 -2
- package/dist/{poseDescriptor-Bqk-11Rl.d.ts → poseDescriptor-DN2yfnq_.d.ts} +7 -7
- package/dist/renderer.d.ts +1 -1
- package/dist/renderer.js +3 -2
- package/dist/resize.d.ts +11 -28
- package/dist/resize.js +6 -7
- package/dist/routing.d.ts +1 -1
- package/dist/routing.js +3 -2
- package/dist/style.css +88 -1
- package/dist/test-hook/createTestHook.js +23 -20
- package/dist/test-hook/createTestHook.js.map +1 -1
- package/dist/test-hook/install.js +32 -13
- package/dist/test-hook/install.js.map +1 -1
- package/dist/test-hook/useTestHook.js +23 -16
- package/dist/test-hook/useTestHook.js.map +1 -1
- package/dist/test-seams.d.ts +168 -1
- package/dist/test-seams.js +8 -3
- package/dist/tools/builtin/ellipse/useEllipseTool.js +22 -17
- package/dist/tools/builtin/ellipse/useEllipseTool.js.map +1 -1
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js +44 -28
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js.map +1 -1
- package/dist/tools/builtin/hand/dragPanContribution.js +12 -7
- package/dist/tools/builtin/hand/dragPanContribution.js.map +1 -1
- package/dist/tools/builtin/hand/useHandTool.js +21 -13
- package/dist/tools/builtin/hand/useHandTool.js.map +1 -1
- package/dist/tools/builtin/image/useImageTool.js +28 -19
- package/dist/tools/builtin/image/useImageTool.js.map +1 -1
- package/dist/tools/builtin/lasso/useLassoTool.js +48 -36
- package/dist/tools/builtin/lasso/useLassoTool.js.map +1 -1
- package/dist/tools/builtin/line/useLineTool.js +24 -17
- package/dist/tools/builtin/line/useLineTool.js.map +1 -1
- package/dist/tools/builtin/measure/useMeasureTool.js +84 -0
- package/dist/tools/builtin/measure/useMeasureTool.js.map +1 -0
- package/dist/tools/builtin/pen/penHandle.js +58 -0
- package/dist/tools/builtin/pen/penHandle.js.map +1 -0
- package/dist/tools/builtin/pen/usePenTool.js +461 -303
- package/dist/tools/builtin/pen/usePenTool.js.map +1 -1
- package/dist/tools/builtin/pencil/usePencilTool.js +20 -15
- package/dist/tools/builtin/pencil/usePencilTool.js.map +1 -1
- package/dist/tools/builtin/pickTopMostHit.js +51 -31
- package/dist/tools/builtin/pickTopMostHit.js.map +1 -1
- package/dist/tools/builtin/polygon/usePolygonTool.js +45 -28
- package/dist/tools/builtin/polygon/usePolygonTool.js.map +1 -1
- package/dist/tools/builtin/rect/useRectTool.js +24 -16
- package/dist/tools/builtin/rect/useRectTool.js.map +1 -1
- package/dist/tools/builtin/select/adapterPointQuery.js +47 -30
- package/dist/tools/builtin/select/adapterPointQuery.js.map +1 -1
- package/dist/tools/builtin/select/selectionContributions.js +94 -56
- package/dist/tools/builtin/select/selectionContributions.js.map +1 -1
- package/dist/tools/builtin/select/useSelectTool.js +155 -108
- package/dist/tools/builtin/select/useSelectTool.js.map +1 -1
- package/dist/tools/builtin/shared/insertToolOptions.js +5 -4
- package/dist/tools/builtin/shared/insertToolOptions.js.map +1 -1
- package/dist/tools/builtin/shared/pointerFollower.js +15 -8
- package/dist/tools/builtin/shared/pointerFollower.js.map +1 -1
- package/dist/tools/builtin/slice/useSliceTool.js +148 -101
- package/dist/tools/builtin/slice/useSliceTool.js.map +1 -1
- package/dist/tools/builtin/star/useStarTool.js +48 -31
- package/dist/tools/builtin/star/useStarTool.js.map +1 -1
- package/dist/tools/builtin/sticky/stickyNode.js +49 -0
- package/dist/tools/builtin/sticky/stickyNode.js.map +1 -0
- package/dist/tools/builtin/sticky/useStickyTool.js +86 -0
- package/dist/tools/builtin/sticky/useStickyTool.js.map +1 -0
- package/dist/tools/builtin/text/useTextTool.js +59 -34
- package/dist/tools/builtin/text/useTextTool.js.map +1 -1
- package/dist/tools/index.js +26 -0
- package/dist/tools/overlayBinding.js +7 -5
- package/dist/tools/overlayBinding.js.map +1 -1
- package/dist/tools/useKeybindings.js +62 -46
- package/dist/tools/useKeybindings.js.map +1 -1
- package/dist/{types-DBbbCy0i.d.ts → types-7puAuVD2.d.ts} +5 -264
- package/dist/types-BN9hbdMI.d.ts +184 -0
- package/dist/types-CniVctmk.d.ts +949 -0
- package/dist/types-oFeQ5VjV.d.ts +264 -0
- package/dist/util/color.js +39 -18
- package/dist/util/color.js.map +1 -1
- package/dist/util/paint.js +93 -38
- package/dist/util/paint.js.map +1 -1
- package/dist/version.js +11 -3
- package/dist/version.js.map +1 -1
- package/package.json +46 -24
- package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js +0 -126
- package/dist/canvas/SceneCanvas/GestureDispatcherMounter.js.map +0 -1
- package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js +0 -55
- package/dist/canvas/SceneCanvas/StandardActionsRegistrar.js.map +0 -1
- package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js +0 -16
- package/dist/canvas/SceneCanvas/ToolKeybindingsMounter.js.map +0 -1
- package/dist/canvas/SceneCanvas/isDev.js +0 -12
- package/dist/canvas/SceneCanvas/isDev.js.map +0 -1
- package/dist/canvas/SceneCanvas/useViewLayerGate.js +0 -20
- package/dist/canvas/SceneCanvas/useViewLayerGate.js.map +0 -1
- package/dist/cornerHandles-BSKbyuvQ.d.ts +0 -104
- package/dist/icons/ArrowIcon.js +0 -23
- package/dist/icons/ArrowIcon.js.map +0 -1
- package/dist/icons/EllipseIcon.js +0 -21
- package/dist/icons/EllipseIcon.js.map +0 -1
- package/dist/icons/EyedropperIcon.js +0 -49
- package/dist/icons/EyedropperIcon.js.map +0 -1
- package/dist/icons/HandIcon.js +0 -59
- package/dist/icons/HandIcon.js.map +0 -1
- package/dist/icons/ImageIcon.js +0 -34
- package/dist/icons/ImageIcon.js.map +0 -1
- package/dist/icons/LassoIcon.js +0 -22
- package/dist/icons/LassoIcon.js.map +0 -1
- package/dist/icons/LineIcon.js +0 -22
- package/dist/icons/LineIcon.js.map +0 -1
- package/dist/icons/PenIcon.js +0 -36
- package/dist/icons/PenIcon.js.map +0 -1
- package/dist/icons/PencilIcon.js +0 -25
- package/dist/icons/PencilIcon.js.map +0 -1
- package/dist/icons/PolygonIcon.js +0 -19
- package/dist/icons/PolygonIcon.js.map +0 -1
- package/dist/icons/RectIcon.js +0 -37
- package/dist/icons/RectIcon.js.map +0 -1
- package/dist/icons/SelectIcon.js +0 -20
- package/dist/icons/SelectIcon.js.map +0 -1
- package/dist/icons/SliceIcon.js +0 -24
- package/dist/icons/SliceIcon.js.map +0 -1
- package/dist/icons/StarIcon.js +0 -19
- package/dist/icons/StarIcon.js.map +0 -1
- package/dist/icons/TextIcon.js +0 -19
- package/dist/icons/TextIcon.js.map +0 -1
- package/dist/icons/UnknownIcon.js +0 -33
- package/dist/icons/UnknownIcon.js.map +0 -1
- package/dist/icons/_base.js +0 -12
- package/dist/icons/_base.js.map +0 -1
- package/dist/interactions/actions/actionShortcuts.js +0 -32
- package/dist/interactions/actions/actionShortcuts.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/actionGlyphIcons.js +0 -40
- package/dist/interactions/actions/defaults/icons/actionGlyphIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/actionGlyphs.js +0 -10
- package/dist/interactions/actions/defaults/icons/actionGlyphs.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/alignIcons.js +0 -173
- package/dist/interactions/actions/defaults/icons/alignIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/anchorIcons.js +0 -75
- package/dist/interactions/actions/defaults/icons/anchorIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/booleanIcons.js +0 -194
- package/dist/interactions/actions/defaults/icons/booleanIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/distributeIcons.js +0 -63
- package/dist/interactions/actions/defaults/icons/distributeIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/editIcons.js +0 -307
- package/dist/interactions/actions/defaults/icons/editIcons.js.map +0 -1
- package/dist/interactions/actions/defaults/icons/outlineIcons.js +0 -91
- package/dist/interactions/actions/defaults/icons/outlineIcons.js.map +0 -1
- package/dist/interactions/actions/resize/behaviors/index.js +0 -8
- package/dist/interactions/actions/resize/behaviors/index.js.map +0 -1
- package/dist/interactions/actions/resize/behaviors/lockAspect.js +0 -24
- package/dist/interactions/actions/resize/behaviors/lockAspect.js.map +0 -1
- package/dist/interactions/actions/resize/pointSnap.js +0 -111
- package/dist/interactions/actions/resize/pointSnap.js.map +0 -1
- package/dist/interactions/actions/rotate/behaviors/index.js +0 -7
- package/dist/interactions/actions/rotate/behaviors/index.js.map +0 -1
- package/dist/interactions/actions/rotate/behaviors/snapRotation.js +0 -12
- package/dist/interactions/actions/rotate/behaviors/snapRotation.js.map +0 -1
- package/dist/interactions/gestures/shared/snap.js +0 -24
- package/dist/interactions/gestures/shared/snap.js.map +0 -1
- package/dist/test-seams-D0pyV3pR.d.ts +0 -149
- package/dist/tools/builtin/bone/boneActions.js +0 -130
- package/dist/tools/builtin/bone/boneActions.js.map +0 -1
- package/dist/tools/builtin/bone/boneOverlay.js +0 -58
- package/dist/tools/builtin/bone/boneOverlay.js.map +0 -1
- package/dist/tools/builtin/bone/placedRig.js +0 -24
- package/dist/tools/builtin/bone/placedRig.js.map +0 -1
- package/dist/tools/builtin/bone/rigEditState.js +0 -21
- package/dist/tools/builtin/bone/rigEditState.js.map +0 -1
- package/dist/tools/builtin/bone/useBoneTool.js +0 -98
- package/dist/tools/builtin/bone/useBoneTool.js.map +0 -1
- package/dist/tools/builtin/weight/useWeightTool.js +0 -77
- package/dist/tools/builtin/weight/useWeightTool.js.map +0 -1
- package/dist/tools/builtin/weight/weightActions.js +0 -112
- package/dist/tools/builtin/weight/weightActions.js.map +0 -1
- package/dist/tools/builtin/weight/weightOverlay.js +0 -61
- package/dist/tools/builtin/weight/weightOverlay.js.map +0 -1
- package/dist/util/constrainTo45.js +0 -17
- package/dist/util/constrainTo45.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effects.js","names":[],"sources":["../../../../src/core/scene/pathEffects/effects.ts"],"sourcesContent":["/**\n * The path effects, each as the parts it paints from its sources: a blend's\n * steps between two shapes, a shape bent along a spine, copies of a shape\n * along a path.\n */\nimport {\n bendAlongPath, repeatAlongPath, type BendAlongPathOptions, type RepeatAlongPathOptions,\n} from '@weasel-js/geom';\nimport type { DerivedPart } from '../derivedParts';\nimport { blendParts, type BlendEffect } from './blend';\nimport type { EffectSource } from './source';\n\nexport type { BlendEffect };\n\n/** A shape bent along a spine. Its sources are `[shape, spine]`. */\nexport interface BendAlongEffect extends BendAlongPathOptions {\n kind: 'bendAlong';\n}\n\n/** Copies of a shape along a path. Its sources are `[shape, path]`. */\nexport interface RepeatAlongEffect extends Omit<RepeatAlongPathOptions, 'flattenTolerance'> {\n kind: 'repeatAlong';\n}\n\n/** A path effect, as a node's `data.pathEffect` holds it. */\nexport type PathEffect = BlendEffect | BendAlongEffect | RepeatAlongEffect;\n\n/** The parts `effect` paints from `sources`, in its sources' order, or\n * `null` when a source it needs is missing — a blend's spine among them,\n * where it names one. */\nexport function effectParts(effect: PathEffect, sources: readonly (EffectSource | null)[]): DerivedPart[] | null {\n const [a, b] = sources;\n if (!a || !b) return null;\n switch (effect.kind) {\n case 'blend': {\n if (sources.length < 3) return blendParts(effect, a, b);\n const spine = sources[2];\n return spine ? blendParts(effect, a, b, spine.world) : null;\n }\n case 'bendAlong': {\n const path = bendAlongPath(a.world, b.world, effect);\n return path === null ? null : [{ path, fill: a.fill, stroke: a.stroke }];\n }\n case 'repeatAlong':\n return repeatAlongPath(a.world, b.world, effect).map((path) => ({ path, fill: a.fill, stroke: a.stroke }));\n }\n}\n"],"mappings":";;;;;;;;;;;;AA8BA,SAAgB,YAAY,QAAoB,SAAiE;CAC/G,MAAM,CAAC,GAAG,KAAK;CACf,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO;CACrB,QAAQ,OAAO,MAAf;EACE,KAAK,SAAS;GACZ,IAAI,QAAQ,SAAS,GAAG,OAAO,WAAW,QAAQ,GAAG,CAAC;GACtD,MAAM,QAAQ,QAAQ;GACtB,OAAO,QAAQ,WAAW,QAAQ,GAAG,GAAG,MAAM,KAAK,IAAI;EACzD;EACA,KAAK,aAAa;GAChB,MAAM,OAAO,cAAc,EAAE,OAAO,EAAE,OAAO,MAAM;GACnD,OAAO,SAAS,OAAO,OAAO,CAAC;IAAE;IAAM,MAAM,EAAE;IAAM,QAAQ,EAAE;GAAO,CAAC;EACzE;EACA,KAAK,eACH,OAAO,gBAAgB,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC,KAAK,UAAU;GAAE;GAAM,MAAM,EAAE;GAAM,QAAQ,EAAE;EAAO,EAAE;CAC7G;AACF"}
|
|
@@ -1,87 +1,122 @@
|
|
|
1
|
-
import { effectivePose
|
|
2
|
-
import { createEmitter
|
|
1
|
+
import { effectivePose } from "./effectivePose.js";
|
|
2
|
+
import { createEmitter } from "@weasel-js/registry";
|
|
3
|
+
|
|
3
4
|
//#region src/core/scene/poseFeed.ts
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
var EMPTY = Object.freeze([]);
|
|
6
|
+
/** A {@link PoseFeed} over `scene`, reporting effective poses (committed pose
|
|
7
|
+
* under any override). The first `read()` is a reset listing every node. */
|
|
8
|
+
function createPoseFeed(scene) {
|
|
9
|
+
let seen = null;
|
|
10
|
+
let seenVersion = -1;
|
|
11
|
+
let seenGeneration = -1;
|
|
12
|
+
let seenOverridden = EMPTY;
|
|
13
|
+
const listeners = createEmitter();
|
|
14
|
+
const notify = listeners.emit;
|
|
15
|
+
let unwire = null;
|
|
16
|
+
const walk = () => {
|
|
17
|
+
const prev = seen;
|
|
18
|
+
const added = [];
|
|
19
|
+
const changed = [];
|
|
20
|
+
const removed = [];
|
|
21
|
+
const next = /* @__PURE__ */ new Map();
|
|
22
|
+
for (const [id, node] of scene.nodes) {
|
|
23
|
+
const pose = effectivePose(scene, node);
|
|
24
|
+
next.set(id, {
|
|
25
|
+
pose,
|
|
26
|
+
data: node.data,
|
|
27
|
+
layer: node.layer
|
|
28
|
+
});
|
|
29
|
+
const before = prev.get(id);
|
|
30
|
+
if (before === void 0) added.push({
|
|
31
|
+
node,
|
|
32
|
+
pose
|
|
14
33
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
pose: c
|
|
19
|
-
}) : (l.pose !== c || l.data !== o.data || l.layer !== o.layer) && a.push({
|
|
20
|
-
node: o,
|
|
21
|
-
pose: c
|
|
34
|
+
else if (before.pose !== pose || before.data !== node.data || before.layer !== node.layer) changed.push({
|
|
35
|
+
node,
|
|
36
|
+
pose
|
|
22
37
|
});
|
|
23
38
|
}
|
|
24
|
-
for (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
for (const id of prev.keys()) if (!next.has(id)) removed.push(id);
|
|
40
|
+
seen = next;
|
|
41
|
+
return {
|
|
42
|
+
added,
|
|
43
|
+
removed,
|
|
44
|
+
changed
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const resetTo = () => {
|
|
48
|
+
seen = /* @__PURE__ */ new Map();
|
|
49
|
+
seenVersion = scene.getVersion();
|
|
50
|
+
seenGeneration = scene.overrides.getGeneration();
|
|
51
|
+
seenOverridden = scene.overrides.ids();
|
|
52
|
+
return {
|
|
53
|
+
...walk(),
|
|
54
|
+
removed: EMPTY,
|
|
55
|
+
changed: EMPTY,
|
|
56
|
+
reset: true
|
|
29
57
|
};
|
|
30
|
-
}
|
|
31
|
-
...d(),
|
|
32
|
-
removed: n,
|
|
33
|
-
changed: n,
|
|
34
|
-
reset: !0
|
|
35
|
-
});
|
|
58
|
+
};
|
|
36
59
|
return {
|
|
37
|
-
subscribe(
|
|
38
|
-
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
60
|
+
subscribe(fn) {
|
|
61
|
+
const off = listeners.subscribe(fn);
|
|
62
|
+
if (unwire === null) {
|
|
63
|
+
const offScene = scene.subscribe(notify);
|
|
64
|
+
const offOverrides = scene.overrides.subscribe(notify);
|
|
65
|
+
unwire = () => {
|
|
66
|
+
offScene();
|
|
67
|
+
offOverrides();
|
|
43
68
|
};
|
|
44
69
|
}
|
|
45
70
|
return () => {
|
|
46
|
-
|
|
71
|
+
off();
|
|
72
|
+
if (listeners.size === 0 && unwire !== null) {
|
|
73
|
+
unwire();
|
|
74
|
+
unwire = null;
|
|
75
|
+
}
|
|
47
76
|
};
|
|
48
77
|
},
|
|
49
78
|
read() {
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
79
|
+
if (seen === null) return resetTo();
|
|
80
|
+
const version = scene.getVersion();
|
|
81
|
+
const generation = scene.overrides.getGeneration();
|
|
82
|
+
const committedMoved = version !== seenVersion;
|
|
83
|
+
const overridesMoved = generation !== seenGeneration;
|
|
84
|
+
if (!committedMoved && !overridesMoved) return {
|
|
85
|
+
added: EMPTY,
|
|
86
|
+
removed: EMPTY,
|
|
87
|
+
changed: EMPTY,
|
|
88
|
+
reset: false
|
|
57
89
|
};
|
|
58
|
-
|
|
90
|
+
const base = committedMoved ? walk() : {
|
|
59
91
|
added: [],
|
|
60
92
|
removed: [],
|
|
61
93
|
changed: []
|
|
62
94
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
for (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
95
|
+
seenVersion = version;
|
|
96
|
+
if (overridesMoved) {
|
|
97
|
+
const now = scene.overrides.ids();
|
|
98
|
+
const touched = new Set(now);
|
|
99
|
+
for (const id of seenOverridden) touched.add(id);
|
|
100
|
+
const already = new Set(base.changed.map((n) => n.node.id));
|
|
101
|
+
for (const id of touched) {
|
|
102
|
+
if (already.has(id)) continue;
|
|
103
|
+
const node = scene.get(id);
|
|
104
|
+
if (node !== void 0) base.changed.push({
|
|
105
|
+
node,
|
|
106
|
+
pose: effectivePose(scene, node)
|
|
73
107
|
});
|
|
74
108
|
}
|
|
75
|
-
|
|
109
|
+
seenGeneration = generation;
|
|
110
|
+
seenOverridden = now;
|
|
76
111
|
}
|
|
77
112
|
return {
|
|
78
|
-
...
|
|
79
|
-
reset:
|
|
113
|
+
...base,
|
|
114
|
+
reset: false
|
|
80
115
|
};
|
|
81
116
|
}
|
|
82
117
|
};
|
|
83
118
|
}
|
|
84
|
-
//#endregion
|
|
85
|
-
export { r as createPoseFeed };
|
|
86
119
|
|
|
120
|
+
//#endregion
|
|
121
|
+
export { createPoseFeed };
|
|
87
122
|
//# sourceMappingURL=poseFeed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poseFeed.js","names":[
|
|
1
|
+
{"version":3,"file":"poseFeed.js","names":[],"sources":["../../../src/core/scene/poseFeed.ts"],"sourcesContent":["import { createEmitter } from '@weasel-js/registry';\nimport { effectivePose } from './effectivePose';\nimport type { Node, NodeId, Scene } from './types';\n\n/** A node and the pose a renderer should draw it at. `node.pose` beside it is\n * still the committed pose, so a host has both without a second channel. */\nexport interface FeedNode<TData, TLayer extends string, TPose> {\n node: Node<TData, TLayer, TPose>;\n pose: TPose;\n}\n\n/** What changed since the last `read()`. A node whose effective pose, data or\n * layer reference moved is `changed`; `reset` means every node is in `added`. */\nexport interface FeedDelta<TData, TLayer extends string, TPose> {\n added: readonly FeedNode<TData, TLayer, TPose>[];\n removed: readonly NodeId[];\n changed: readonly FeedNode<TData, TLayer, TPose>[];\n /** Discard the object map and rebuild. */\n reset: boolean;\n}\n\n/** A pull-based change feed over a scene. `subscribe` says something moved;\n * `read` says what, relative to the previous read. */\nexport interface PoseFeed<TData, TLayer extends string, TPose> {\n subscribe(fn: () => void): () => void;\n read(): FeedDelta<TData, TLayer, TPose>;\n}\n\nconst EMPTY = Object.freeze([]) as readonly never[];\n\n/** The three references a node carries that a renderer cares about. The node\n * object is mutated in place, so it is these — not the node — that move. */\ninterface Snapshot<TData, TLayer extends string, TPose> {\n pose: TPose;\n data: TData;\n layer: TLayer;\n}\n\n/** A {@link PoseFeed} over `scene`, reporting effective poses (committed pose\n * under any override). The first `read()` is a reset listing every node. */\nexport function createPoseFeed<TData, TLayer extends string, TPose>(\n scene: Scene<TData, TLayer, TPose>,\n): PoseFeed<TData, TLayer, TPose> {\n let seen: Map<NodeId, Snapshot<TData, TLayer, TPose>> | null = null;\n let seenVersion = -1;\n let seenGeneration = -1;\n let seenOverridden: readonly NodeId[] = EMPTY;\n\n const listeners = createEmitter();\n const notify = listeners.emit;\n let unwire: (() => void) | null = null;\n\n const walk = (): {\n added: FeedNode<TData, TLayer, TPose>[];\n removed: NodeId[];\n changed: FeedNode<TData, TLayer, TPose>[];\n } => {\n const prev = seen!;\n const added: FeedNode<TData, TLayer, TPose>[] = [];\n const changed: FeedNode<TData, TLayer, TPose>[] = [];\n const removed: NodeId[] = [];\n const next = new Map<NodeId, Snapshot<TData, TLayer, TPose>>();\n\n for (const [id, node] of scene.nodes) {\n const pose = effectivePose(scene, node);\n next.set(id, { pose, data: node.data, layer: node.layer });\n const before = prev.get(id);\n if (before === undefined) added.push({ node, pose });\n else if (before.pose !== pose || before.data !== node.data || before.layer !== node.layer) {\n changed.push({ node, pose });\n }\n }\n for (const id of prev.keys()) if (!next.has(id)) removed.push(id);\n\n seen = next;\n return { added, removed, changed };\n };\n\n const resetTo = (): FeedDelta<TData, TLayer, TPose> => {\n // An empty `seen` makes the walk report every node as added, and fills the\n // snapshot map in the same pass.\n seen = new Map();\n seenVersion = scene.getVersion();\n seenGeneration = scene.overrides.getGeneration();\n seenOverridden = scene.overrides.ids();\n return { ...walk(), removed: EMPTY, changed: EMPTY, reset: true };\n };\n\n return {\n subscribe(fn) {\n const off = listeners.subscribe(fn);\n if (unwire === null) {\n const offScene = scene.subscribe(notify);\n const offOverrides = scene.overrides.subscribe(notify);\n unwire = () => {\n offScene();\n offOverrides();\n };\n }\n return () => {\n off();\n if (listeners.size === 0 && unwire !== null) {\n unwire();\n unwire = null;\n }\n };\n },\n read() {\n if (seen === null) return resetTo();\n\n const version = scene.getVersion();\n const generation = scene.overrides.getGeneration();\n const committedMoved = version !== seenVersion;\n const overridesMoved = generation !== seenGeneration;\n\n if (!committedMoved && !overridesMoved) {\n return { added: EMPTY, removed: EMPTY, changed: EMPTY, reset: false };\n }\n\n const base = committedMoved\n ? walk()\n : {\n added: [] as FeedNode<TData, TLayer, TPose>[],\n removed: [] as NodeId[],\n changed: [] as FeedNode<TData, TLayer, TPose>[],\n };\n seenVersion = version;\n\n if (overridesMoved) {\n const now = scene.overrides.ids();\n const touched = new Set<NodeId>(now);\n for (const id of seenOverridden) touched.add(id); // a cleared override moved too\n const already = new Set(base.changed.map((n) => n.node.id));\n for (const id of touched) {\n if (already.has(id)) continue;\n const node = scene.get(id);\n if (node !== undefined) base.changed.push({ node, pose: effectivePose(scene, node) });\n }\n seenGeneration = generation;\n seenOverridden = now;\n }\n\n return { ...base, reset: false };\n },\n };\n}\n"],"mappings":";;;;AA4BA,IAAM,QAAQ,OAAO,OAAO,CAAC,CAAC;;;AAY9B,SAAgB,eACd,OACgC;CAChC,IAAI,OAA2D;CAC/D,IAAI,cAAc;CAClB,IAAI,iBAAiB;CACrB,IAAI,iBAAoC;CAExC,MAAM,YAAY,cAAc;CAChC,MAAM,SAAS,UAAU;CACzB,IAAI,SAA8B;CAElC,MAAM,aAID;EACH,MAAM,OAAO;EACb,MAAM,QAA0C,CAAC;EACjD,MAAM,UAA4C,CAAC;EACnD,MAAM,UAAoB,CAAC;EAC3B,MAAM,uBAAO,IAAI,IAA4C;EAE7D,KAAK,MAAM,CAAC,IAAI,SAAS,MAAM,OAAO;GACpC,MAAM,OAAO,cAAc,OAAO,IAAI;GACtC,KAAK,IAAI,IAAI;IAAE;IAAM,MAAM,KAAK;IAAM,OAAO,KAAK;GAAM,CAAC;GACzD,MAAM,SAAS,KAAK,IAAI,EAAE;GAC1B,IAAI,WAAW,QAAW,MAAM,KAAK;IAAE;IAAM;GAAK,CAAC;QAC9C,IAAI,OAAO,SAAS,QAAQ,OAAO,SAAS,KAAK,QAAQ,OAAO,UAAU,KAAK,OAClF,QAAQ,KAAK;IAAE;IAAM;GAAK,CAAC;EAE/B;EACA,KAAK,MAAM,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,KAAK,EAAE;EAEhE,OAAO;EACP,OAAO;GAAE;GAAO;GAAS;EAAQ;CACnC;CAEA,MAAM,gBAAiD;EAGrD,uBAAO,IAAI,IAAI;EACf,cAAc,MAAM,WAAW;EAC/B,iBAAiB,MAAM,UAAU,cAAc;EAC/C,iBAAiB,MAAM,UAAU,IAAI;EACrC,OAAO;GAAE,GAAG,KAAK;GAAG,SAAS;GAAO,SAAS;GAAO,OAAO;EAAK;CAClE;CAEA,OAAO;EACL,UAAU,IAAI;GACZ,MAAM,MAAM,UAAU,UAAU,EAAE;GAClC,IAAI,WAAW,MAAM;IACnB,MAAM,WAAW,MAAM,UAAU,MAAM;IACvC,MAAM,eAAe,MAAM,UAAU,UAAU,MAAM;IACrD,eAAe;KACb,SAAS;KACT,aAAa;IACf;GACF;GACA,aAAa;IACX,IAAI;IACJ,IAAI,UAAU,SAAS,KAAK,WAAW,MAAM;KAC3C,OAAO;KACP,SAAS;IACX;GACF;EACF;EACA,OAAO;GACL,IAAI,SAAS,MAAM,OAAO,QAAQ;GAElC,MAAM,UAAU,MAAM,WAAW;GACjC,MAAM,aAAa,MAAM,UAAU,cAAc;GACjD,MAAM,iBAAiB,YAAY;GACnC,MAAM,iBAAiB,eAAe;GAEtC,IAAI,CAAC,kBAAkB,CAAC,gBACtB,OAAO;IAAE,OAAO;IAAO,SAAS;IAAO,SAAS;IAAO,OAAO;GAAM;GAGtE,MAAM,OAAO,iBACT,KAAK,IACL;IACE,OAAO,CAAC;IACR,SAAS,CAAC;IACV,SAAS,CAAC;GACZ;GACJ,cAAc;GAEd,IAAI,gBAAgB;IAClB,MAAM,MAAM,MAAM,UAAU,IAAI;IAChC,MAAM,UAAU,IAAI,IAAY,GAAG;IACnC,KAAK,MAAM,MAAM,gBAAgB,QAAQ,IAAI,EAAE;IAC/C,MAAM,UAAU,IAAI,IAAI,KAAK,QAAQ,KAAK,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1D,KAAK,MAAM,MAAM,SAAS;KACxB,IAAI,QAAQ,IAAI,EAAE,GAAG;KACrB,MAAM,OAAO,MAAM,IAAI,EAAE;KACzB,IAAI,SAAS,QAAW,KAAK,QAAQ,KAAK;MAAE;MAAM,MAAM,cAAc,OAAO,IAAI;KAAE,CAAC;IACtF;IACA,iBAAiB;IACjB,iBAAiB;GACnB;GAEA,OAAO;IAAE,GAAG;IAAM,OAAO;GAAM;EACjC;CACF;AACF"}
|
|
@@ -1,39 +1,48 @@
|
|
|
1
1
|
//#region src/core/scene/poseHold.ts
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/** Build the {@link PoseHold} a table hands out from `hold()`. */
|
|
3
|
+
function createPoseHold(table) {
|
|
4
|
+
/** The entry published per id, held by reference so a frame mutates it in place. */
|
|
5
|
+
const held = /* @__PURE__ */ new Map();
|
|
6
|
+
const seen = /* @__PURE__ */ new Set();
|
|
4
7
|
return {
|
|
5
|
-
set(
|
|
6
|
-
|
|
7
|
-
for (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
8
|
+
set(poses) {
|
|
9
|
+
seen.clear();
|
|
10
|
+
for (const [id, pose] of poses) {
|
|
11
|
+
seen.add(id);
|
|
12
|
+
const existing = held.get(id);
|
|
13
|
+
if (existing) {
|
|
14
|
+
existing.pose = pose;
|
|
12
15
|
continue;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
const entry = { pose };
|
|
18
|
+
held.set(id, entry);
|
|
19
|
+
table.set(id, entry);
|
|
16
20
|
}
|
|
17
|
-
for (
|
|
18
|
-
|
|
21
|
+
for (const [id, entry] of held) {
|
|
22
|
+
if (seen.has(id)) continue;
|
|
23
|
+
held.delete(id);
|
|
24
|
+
if (table.get(id) === entry) table.clear(id);
|
|
25
|
+
}
|
|
26
|
+
table.commit();
|
|
19
27
|
},
|
|
20
28
|
others() {
|
|
21
|
-
|
|
22
|
-
for (
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
const out = /* @__PURE__ */ new Map();
|
|
30
|
+
for (const id of table.ids()) {
|
|
31
|
+
const entry = table.get(id);
|
|
32
|
+
if (entry === void 0 || entry === held.get(id) || entry.pose === void 0) continue;
|
|
33
|
+
out.set(id, entry.pose);
|
|
25
34
|
}
|
|
26
|
-
return
|
|
35
|
+
return out;
|
|
27
36
|
},
|
|
28
37
|
drop() {
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
if (held.size === 0) return;
|
|
39
|
+
for (const [id, entry] of held) if (table.get(id) === entry) table.clear(id);
|
|
40
|
+
held.clear();
|
|
41
|
+
table.commit();
|
|
33
42
|
}
|
|
34
43
|
};
|
|
35
44
|
}
|
|
36
|
-
//#endregion
|
|
37
|
-
export { e as createPoseHold };
|
|
38
45
|
|
|
46
|
+
//#endregion
|
|
47
|
+
export { createPoseHold };
|
|
39
48
|
//# sourceMappingURL=poseHold.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poseHold.js","names":[
|
|
1
|
+
{"version":3,"file":"poseHold.js","names":[],"sources":["../../../src/core/scene/poseHold.ts"],"sourcesContent":["import type { NodeId, PoseHold, PoseOverride, PoseOverrides } from './types';\n\n/** The table methods a hold writes through. */\ntype HoldTable<TPose> = Pick<PoseOverrides<TPose>, 'set' | 'get' | 'ids' | 'clear' | 'commit'>;\n\n/** Build the {@link PoseHold} a table hands out from `hold()`. */\nexport function createPoseHold<TPose>(table: HoldTable<TPose>): PoseHold<TPose> {\n /** The entry published per id, held by reference so a frame mutates it in place. */\n const held = new Map<NodeId, PoseOverride<TPose>>();\n const seen = new Set<NodeId>();\n\n return {\n set(poses) {\n seen.clear();\n for (const [id, pose] of poses) {\n seen.add(id);\n const existing = held.get(id);\n if (existing) {\n existing.pose = pose;\n continue;\n }\n const entry: PoseOverride<TPose> = { pose };\n held.set(id, entry);\n // `table.set` notifies per call, so an id is set once and mutated after.\n table.set(id, entry);\n }\n for (const [id, entry] of held) {\n if (seen.has(id)) continue;\n held.delete(id);\n if (table.get(id) === entry) table.clear(id);\n }\n table.commit();\n },\n others() {\n const out = new Map<NodeId, TPose>();\n for (const id of table.ids()) {\n const entry = table.get(id);\n if (entry === undefined || entry === held.get(id) || entry.pose === undefined) continue;\n out.set(id, entry.pose);\n }\n return out;\n },\n drop() {\n if (held.size === 0) return;\n for (const [id, entry] of held) {\n if (table.get(id) === entry) table.clear(id);\n }\n held.clear();\n table.commit();\n },\n };\n}\n"],"mappings":";;AAMA,SAAgB,eAAsB,OAA0C;;CAE9E,MAAM,uBAAO,IAAI,IAAiC;CAClD,MAAM,uBAAO,IAAI,IAAY;CAE7B,OAAO;EACL,IAAI,OAAO;GACT,KAAK,MAAM;GACX,KAAK,MAAM,CAAC,IAAI,SAAS,OAAO;IAC9B,KAAK,IAAI,EAAE;IACX,MAAM,WAAW,KAAK,IAAI,EAAE;IAC5B,IAAI,UAAU;KACZ,SAAS,OAAO;KAChB;IACF;IACA,MAAM,QAA6B,EAAE,KAAK;IAC1C,KAAK,IAAI,IAAI,KAAK;IAElB,MAAM,IAAI,IAAI,KAAK;GACrB;GACA,KAAK,MAAM,CAAC,IAAI,UAAU,MAAM;IAC9B,IAAI,KAAK,IAAI,EAAE,GAAG;IAClB,KAAK,OAAO,EAAE;IACd,IAAI,MAAM,IAAI,EAAE,MAAM,OAAO,MAAM,MAAM,EAAE;GAC7C;GACA,MAAM,OAAO;EACf;EACA,SAAS;GACP,MAAM,sBAAM,IAAI,IAAmB;GACnC,KAAK,MAAM,MAAM,MAAM,IAAI,GAAG;IAC5B,MAAM,QAAQ,MAAM,IAAI,EAAE;IAC1B,IAAI,UAAU,UAAa,UAAU,KAAK,IAAI,EAAE,KAAK,MAAM,SAAS,QAAW;IAC/E,IAAI,IAAI,IAAI,MAAM,IAAI;GACxB;GACA,OAAO;EACT;EACA,OAAO;GACL,IAAI,KAAK,SAAS,GAAG;GACrB,KAAK,MAAM,CAAC,IAAI,UAAU,MACxB,IAAI,MAAM,IAAI,EAAE,MAAM,OAAO,MAAM,MAAM,EAAE;GAE7C,KAAK,MAAM;GACX,MAAM,OAAO;EACf;CACF;AACF"}
|
|
@@ -1,76 +1,113 @@
|
|
|
1
|
-
import { dropPoseKeyedMemoSlots
|
|
2
|
-
import { createPoseHold
|
|
3
|
-
import { createEmitter
|
|
4
|
-
import { kit
|
|
1
|
+
import { dropPoseKeyedMemoSlots } from "./nodeMemo.js";
|
|
2
|
+
import { createPoseHold } from "./poseHold.js";
|
|
3
|
+
import { createEmitter } from "@weasel-js/registry";
|
|
4
|
+
import { kit, last, mix, mul, patch } from "@msb235/blits";
|
|
5
|
+
|
|
5
6
|
//#region src/core/scene/poseOverrides.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
/** What the table's voice says about a node it holds no entry for. */
|
|
8
|
+
var NOTHING = Object.freeze({});
|
|
9
|
+
/**
|
|
10
|
+
* Build a {@link PoseOverrides} map.
|
|
11
|
+
*
|
|
12
|
+
* `getNode` resolves an id to the node object the painter memo is keyed on.
|
|
13
|
+
* `onInvalidate` lets the scene invalidate derived nodes from the same
|
|
14
|
+
* chokepoint.
|
|
15
|
+
*
|
|
16
|
+
* What `read` answers is a blits mix folded per node. The entries a writer
|
|
17
|
+
* `set`s are one voice on it, and a node holding no entry is never probed.
|
|
18
|
+
*/
|
|
19
|
+
function createPoseOverrides(getNode, onInvalidate) {
|
|
20
|
+
const entries = /* @__PURE__ */ new Map();
|
|
21
|
+
const listeners = createEmitter();
|
|
22
|
+
let generation = 0;
|
|
23
|
+
const folded = mix(kit({
|
|
24
|
+
pose: last(),
|
|
25
|
+
alpha: mul(),
|
|
26
|
+
path: last()
|
|
12
27
|
}));
|
|
13
|
-
|
|
28
|
+
folded.cue({ patch: patch(0, (_phase, id) => entries.get(id) ?? NOTHING, { writes: [
|
|
14
29
|
"pose",
|
|
15
30
|
"alpha",
|
|
16
31
|
"path"
|
|
17
32
|
] }) });
|
|
18
|
-
let
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
let clock = 0;
|
|
34
|
+
folded.sync(clock);
|
|
35
|
+
/** Per node: the object `read` folds into and returns, and the generation
|
|
36
|
+
* it was last folded at. */
|
|
37
|
+
const reads = /* @__PURE__ */ new Map();
|
|
38
|
+
function invalidate(id) {
|
|
39
|
+
const node = getNode(id);
|
|
40
|
+
if (node) dropPoseKeyedMemoSlots(node);
|
|
41
|
+
onInvalidate?.(id);
|
|
24
42
|
}
|
|
25
|
-
function
|
|
26
|
-
|
|
43
|
+
function published() {
|
|
44
|
+
generation++;
|
|
45
|
+
folded.sync(++clock);
|
|
46
|
+
listeners.emit();
|
|
27
47
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
48
|
+
function forget(id) {
|
|
49
|
+
reads.delete(id);
|
|
50
|
+
folded.drop(id);
|
|
30
51
|
}
|
|
31
|
-
|
|
32
|
-
set(
|
|
33
|
-
|
|
52
|
+
const table = {
|
|
53
|
+
set(id, entry) {
|
|
54
|
+
entries.set(id, entry);
|
|
55
|
+
invalidate(id);
|
|
56
|
+
published();
|
|
34
57
|
},
|
|
35
|
-
get(
|
|
36
|
-
return
|
|
58
|
+
get(id) {
|
|
59
|
+
return entries.get(id);
|
|
37
60
|
},
|
|
38
|
-
read(
|
|
39
|
-
if (!
|
|
40
|
-
let
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
61
|
+
read(id) {
|
|
62
|
+
if (!entries.has(id)) return void 0;
|
|
63
|
+
let held = reads.get(id);
|
|
64
|
+
if (held === void 0) {
|
|
65
|
+
held = {
|
|
66
|
+
out: {},
|
|
67
|
+
at: -1
|
|
68
|
+
};
|
|
69
|
+
reads.set(id, held);
|
|
70
|
+
}
|
|
71
|
+
if (held.at !== generation) {
|
|
72
|
+
folded.probe(id, held.out);
|
|
73
|
+
held.at = generation;
|
|
74
|
+
}
|
|
75
|
+
return held.out;
|
|
45
76
|
},
|
|
46
|
-
has(
|
|
47
|
-
return
|
|
77
|
+
has(id) {
|
|
78
|
+
return entries.has(id);
|
|
48
79
|
},
|
|
49
80
|
ids() {
|
|
50
|
-
return [...
|
|
81
|
+
return [...entries.keys()];
|
|
51
82
|
},
|
|
52
|
-
clear(
|
|
53
|
-
|
|
83
|
+
clear(id) {
|
|
84
|
+
if (!entries.delete(id)) return;
|
|
85
|
+
forget(id);
|
|
86
|
+
invalidate(id);
|
|
87
|
+
published();
|
|
54
88
|
},
|
|
55
89
|
clearAll() {
|
|
56
|
-
if (
|
|
57
|
-
|
|
58
|
-
|
|
90
|
+
if (entries.size === 0) return;
|
|
91
|
+
for (const id of entries.keys()) {
|
|
92
|
+
forget(id);
|
|
93
|
+
invalidate(id);
|
|
59
94
|
}
|
|
95
|
+
entries.clear();
|
|
96
|
+
published();
|
|
60
97
|
},
|
|
61
98
|
commit() {
|
|
62
|
-
for (
|
|
63
|
-
|
|
99
|
+
for (const id of entries.keys()) invalidate(id);
|
|
100
|
+
published();
|
|
64
101
|
},
|
|
65
|
-
subscribe:
|
|
102
|
+
subscribe: listeners.subscribe,
|
|
66
103
|
getGeneration() {
|
|
67
|
-
return
|
|
104
|
+
return generation;
|
|
68
105
|
},
|
|
69
|
-
hold: () =>
|
|
106
|
+
hold: () => createPoseHold(table)
|
|
70
107
|
};
|
|
71
|
-
return
|
|
108
|
+
return table;
|
|
72
109
|
}
|
|
73
|
-
//#endregion
|
|
74
|
-
export { l as createPoseOverrides };
|
|
75
110
|
|
|
111
|
+
//#endregion
|
|
112
|
+
export { createPoseOverrides };
|
|
76
113
|
//# sourceMappingURL=poseOverrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poseOverrides.js","names":[
|
|
1
|
+
{"version":3,"file":"poseOverrides.js","names":[],"sources":["../../../src/core/scene/poseOverrides.ts"],"sourcesContent":["import type { Path } from '@weasel-js/geom';\nimport { createEmitter } from '@weasel-js/registry';\nimport { kit, last, mix, mul, patch } from '@msb235/blits';\nimport { dropPoseKeyedMemoSlots } from './nodeMemo';\nimport { createPoseHold } from './poseHold';\nimport type { NodeId, PoseOverride, PoseOverrides } from './types';\n\n/** What the table's voice says about a node it holds no entry for. */\nconst NOTHING: PoseOverride<never> = Object.freeze({});\n\n/**\n * Build a {@link PoseOverrides} map.\n *\n * `getNode` resolves an id to the node object the painter memo is keyed on.\n * `onInvalidate` lets the scene invalidate derived nodes from the same\n * chokepoint.\n *\n * What `read` answers is a blits mix folded per node. The entries a writer\n * `set`s are one voice on it, and a node holding no entry is never probed.\n */\nexport function createPoseOverrides<TPose>(\n getNode: (id: NodeId) => { data?: unknown } | undefined,\n onInvalidate?: (id: NodeId) => void,\n): PoseOverrides<TPose> {\n const entries = new Map<NodeId, PoseOverride<TPose>>();\n const listeners = createEmitter();\n let generation = 0;\n\n const folded = mix<NodeId, PoseOverride<TPose>>(\n kit<PoseOverride<TPose>>({ pose: last<NonNullable<TPose>>(), alpha: mul(), path: last<Path>() }),\n );\n folded.cue({\n patch: patch<NodeId, PoseOverride<TPose>>(\n 0,\n (_phase, id) => entries.get(id) ?? (NOTHING as PoseOverride<TPose>),\n { writes: ['pose', 'alpha', 'path'] },\n ),\n });\n // Mix time only has to move between publishes, so a probe after one never\n // hands back the delta a probe before it cached.\n let clock = 0;\n folded.sync(clock);\n\n /** Per node: the object `read` folds into and returns, and the generation\n * it was last folded at. */\n const reads = new Map<NodeId, { out: PoseOverride<TPose>; at: number }>();\n\n function invalidate(id: NodeId): void {\n const node = getNode(id);\n if (node) dropPoseKeyedMemoSlots(node);\n onInvalidate?.(id);\n }\n\n function published(): void {\n generation++;\n folded.sync(++clock);\n listeners.emit();\n }\n\n function forget(id: NodeId): void {\n reads.delete(id);\n folded.drop(id);\n }\n\n const table: PoseOverrides<TPose> = {\n set(id, entry) {\n entries.set(id, entry);\n invalidate(id);\n published();\n },\n get(id) {\n return entries.get(id);\n },\n read(id) {\n if (!entries.has(id)) return undefined;\n let held = reads.get(id);\n if (held === undefined) {\n held = { out: {}, at: -1 };\n reads.set(id, held);\n }\n if (held.at !== generation) {\n folded.probe(id, held.out);\n held.at = generation;\n }\n return held.out;\n },\n has(id) {\n return entries.has(id);\n },\n ids() {\n return [...entries.keys()];\n },\n clear(id) {\n if (!entries.delete(id)) return;\n forget(id);\n invalidate(id);\n published();\n },\n clearAll() {\n if (entries.size === 0) return;\n for (const id of entries.keys()) {\n forget(id);\n invalidate(id);\n }\n entries.clear();\n published();\n },\n commit() {\n for (const id of entries.keys()) invalidate(id);\n published();\n },\n subscribe: listeners.subscribe,\n getGeneration() {\n return generation;\n },\n hold: () => createPoseHold(table),\n };\n return table;\n}\n"],"mappings":";;;;;;;AAQA,IAAM,UAA+B,OAAO,OAAO,CAAC,CAAC;;;;;;;;;;;AAYrD,SAAgB,oBACd,SACA,cACsB;CACtB,MAAM,0BAAU,IAAI,IAAiC;CACrD,MAAM,YAAY,cAAc;CAChC,IAAI,aAAa;CAEjB,MAAM,SAAS,IACb,IAAyB;EAAE,MAAM,KAAyB;EAAG,OAAO,IAAI;EAAG,MAAM,KAAW;CAAE,CAAC,CACjG;CACA,OAAO,IAAI,EACT,OAAO,MACL,IACC,QAAQ,OAAO,QAAQ,IAAI,EAAE,KAAM,SACpC,EAAE,QAAQ;EAAC;EAAQ;EAAS;CAAM,EAAE,CACtC,EACF,CAAC;CAGD,IAAI,QAAQ;CACZ,OAAO,KAAK,KAAK;;;CAIjB,MAAM,wBAAQ,IAAI,IAAsD;CAExE,SAAS,WAAW,IAAkB;EACpC,MAAM,OAAO,QAAQ,EAAE;EACvB,IAAI,MAAM,uBAAuB,IAAI;EACrC,eAAe,EAAE;CACnB;CAEA,SAAS,YAAkB;EACzB;EACA,OAAO,KAAK,EAAE,KAAK;EACnB,UAAU,KAAK;CACjB;CAEA,SAAS,OAAO,IAAkB;EAChC,MAAM,OAAO,EAAE;EACf,OAAO,KAAK,EAAE;CAChB;CAEA,MAAM,QAA8B;EAClC,IAAI,IAAI,OAAO;GACb,QAAQ,IAAI,IAAI,KAAK;GACrB,WAAW,EAAE;GACb,UAAU;EACZ;EACA,IAAI,IAAI;GACN,OAAO,QAAQ,IAAI,EAAE;EACvB;EACA,KAAK,IAAI;GACP,IAAI,CAAC,QAAQ,IAAI,EAAE,GAAG,OAAO;GAC7B,IAAI,OAAO,MAAM,IAAI,EAAE;GACvB,IAAI,SAAS,QAAW;IACtB,OAAO;KAAE,KAAK,CAAC;KAAG,IAAI;IAAG;IACzB,MAAM,IAAI,IAAI,IAAI;GACpB;GACA,IAAI,KAAK,OAAO,YAAY;IAC1B,OAAO,MAAM,IAAI,KAAK,GAAG;IACzB,KAAK,KAAK;GACZ;GACA,OAAO,KAAK;EACd;EACA,IAAI,IAAI;GACN,OAAO,QAAQ,IAAI,EAAE;EACvB;EACA,MAAM;GACJ,OAAO,CAAC,GAAG,QAAQ,KAAK,CAAC;EAC3B;EACA,MAAM,IAAI;GACR,IAAI,CAAC,QAAQ,OAAO,EAAE,GAAG;GACzB,OAAO,EAAE;GACT,WAAW,EAAE;GACb,UAAU;EACZ;EACA,WAAW;GACT,IAAI,QAAQ,SAAS,GAAG;GACxB,KAAK,MAAM,MAAM,QAAQ,KAAK,GAAG;IAC/B,OAAO,EAAE;IACT,WAAW,EAAE;GACf;GACA,QAAQ,MAAM;GACd,UAAU;EACZ;EACA,SAAS;GACP,KAAK,MAAM,MAAM,QAAQ,KAAK,GAAG,WAAW,EAAE;GAC9C,UAAU;EACZ;EACA,WAAW,UAAU;EACrB,gBAAgB;GACd,OAAO;EACT;EACA,YAAY,eAAe,KAAK;CAClC;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
//#region src/core/scene/poseRemovals.ts
|
|
2
|
+
function createRemovalLog(shown) {
|
|
3
|
+
const removals = /* @__PURE__ */ new Map();
|
|
4
|
+
return {
|
|
5
|
+
seeOff(roots, nodes, how, pending) {
|
|
6
|
+
const under = /* @__PURE__ */ new Map();
|
|
7
|
+
for (const n of nodes) {
|
|
8
|
+
const list = under.get(n.parent);
|
|
9
|
+
if (list) list.push(n);
|
|
10
|
+
else under.set(n.parent, [n]);
|
|
11
|
+
}
|
|
12
|
+
const removedNode = (n) => {
|
|
13
|
+
const s = shown(n.id);
|
|
14
|
+
if (!s) return null;
|
|
15
|
+
const children = (under.get(n.id) ?? []).map(removedNode).filter((c) => c !== null);
|
|
16
|
+
return {
|
|
17
|
+
node: s.node,
|
|
18
|
+
pose: s.pose,
|
|
19
|
+
children
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const seen = roots.map((r) => [r, removedNode(r)]);
|
|
23
|
+
return () => {
|
|
24
|
+
const added = /* @__PURE__ */ new Set();
|
|
25
|
+
for (const n of nodes) {
|
|
26
|
+
const w = pending.get(n.id);
|
|
27
|
+
if (w && w.from === void 0) added.add(n.id);
|
|
28
|
+
pending.delete(n.id);
|
|
29
|
+
}
|
|
30
|
+
for (const [r, removed] of seen) if (removed && !added.has(r.id)) removals.set(r.id, {
|
|
31
|
+
id: r.id,
|
|
32
|
+
parent: r.parent,
|
|
33
|
+
...removed,
|
|
34
|
+
...how
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
takeBack(id) {
|
|
39
|
+
const gone = removals.get(id);
|
|
40
|
+
removals.delete(id);
|
|
41
|
+
return gone?.pose;
|
|
42
|
+
},
|
|
43
|
+
drain() {
|
|
44
|
+
const out = [];
|
|
45
|
+
for (const r of removals.values()) {
|
|
46
|
+
const up = r.parent !== null ? removals.get(r.parent) : void 0;
|
|
47
|
+
if (up) up.children.push(r);
|
|
48
|
+
else out.push(r);
|
|
49
|
+
}
|
|
50
|
+
removals.clear();
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { createRemovalLog };
|
|
58
|
+
//# sourceMappingURL=poseRemovals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poseRemovals.js","names":[],"sources":["../../../src/core/scene/poseRemovals.ts"],"sourcesContent":["/**\n * The removal half of a scene's pose-write report: each node a change takes\n * off screen, read as it was shown just before it went.\n */\nimport type { PoseRemoval, PoseWrite, RemovedNode } from './poseWrites';\nimport type { NodeId } from './types';\n\ninterface Parented { id: NodeId; parent: NodeId | null }\n\nexport interface RemovalLog<TPose, TNode> {\n /** Read what removing `roots` and their descendants among `nodes` takes off\n * screen, before the removal runs; the returned call records it once it\n * has. A node `pending` holds as added by this change is dropped from it\n * and goes unreported. */\n seeOff(\n roots: readonly Parented[],\n nodes: readonly Parented[],\n how: Pick<PoseRemoval<TPose, TNode>, 'origin' | 'label'>,\n pending: Map<NodeId, PoseWrite<TPose>>,\n ): () => void;\n /** Forget `id`'s removal — it is back — and answer where it was shown. */\n takeBack(id: NodeId): TPose | undefined;\n /** The removals since the last drain, a child removed with its parent\n * carried beneath it. */\n drain(): PoseRemoval<TPose, TNode>[];\n}\n\nexport function createRemovalLog<TPose, TNode>(\n shown: (id: NodeId) => { node: TNode; pose: TPose } | undefined,\n): RemovalLog<TPose, TNode> {\n const removals = new Map<NodeId, PoseRemoval<TPose, TNode>>();\n return {\n seeOff(roots, nodes, how, pending) {\n const under = new Map<NodeId | null, Parented[]>();\n for (const n of nodes) {\n const list = under.get(n.parent);\n if (list) list.push(n);\n else under.set(n.parent, [n]);\n }\n const removedNode = (n: Parented): RemovedNode<TPose, TNode> | null => {\n const s = shown(n.id);\n if (!s) return null;\n const children = (under.get(n.id) ?? []).map(removedNode).filter((c) => c !== null);\n return { node: s.node, pose: s.pose, children };\n };\n const seen = roots.map((r) => [r, removedNode(r)] as const);\n return () => {\n const added = new Set<NodeId>();\n for (const n of nodes) {\n const w = pending.get(n.id);\n if (w && w.from === undefined) added.add(n.id);\n pending.delete(n.id);\n }\n for (const [r, removed] of seen) {\n if (removed && !added.has(r.id)) removals.set(r.id, { id: r.id, parent: r.parent, ...removed, ...how });\n }\n };\n },\n takeBack(id) {\n const gone = removals.get(id);\n removals.delete(id);\n return gone?.pose;\n },\n drain() {\n // Undoing a group's add takes its children first, each its own root.\n const out: PoseRemoval<TPose, TNode>[] = [];\n for (const r of removals.values()) {\n const up = r.parent !== null ? removals.get(r.parent) : undefined;\n if (up) (up.children as RemovedNode<TPose, TNode>[]).push(r);\n else out.push(r);\n }\n removals.clear();\n return out;\n },\n };\n}\n"],"mappings":";AA2BA,SAAgB,iBACd,OAC0B;CAC1B,MAAM,2BAAW,IAAI,IAAuC;CAC5D,OAAO;EACL,OAAO,OAAO,OAAO,KAAK,SAAS;GACjC,MAAM,wBAAQ,IAAI,IAA+B;GACjD,KAAK,MAAM,KAAK,OAAO;IACrB,MAAM,OAAO,MAAM,IAAI,EAAE,MAAM;IAC/B,IAAI,MAAM,KAAK,KAAK,CAAC;SAChB,MAAM,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;GAC9B;GACA,MAAM,eAAe,MAAkD;IACrE,MAAM,IAAI,MAAM,EAAE,EAAE;IACpB,IAAI,CAAC,GAAG,OAAO;IACf,MAAM,YAAY,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,EAAA,CAAG,IAAI,WAAW,CAAC,CAAC,QAAQ,MAAM,MAAM,IAAI;IAClF,OAAO;KAAE,MAAM,EAAE;KAAM,MAAM,EAAE;KAAM;IAAS;GAChD;GACA,MAAM,OAAO,MAAM,KAAK,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAU;GAC1D,aAAa;IACX,MAAM,wBAAQ,IAAI,IAAY;IAC9B,KAAK,MAAM,KAAK,OAAO;KACrB,MAAM,IAAI,QAAQ,IAAI,EAAE,EAAE;KAC1B,IAAI,KAAK,EAAE,SAAS,QAAW,MAAM,IAAI,EAAE,EAAE;KAC7C,QAAQ,OAAO,EAAE,EAAE;IACrB;IACA,KAAK,MAAM,CAAC,GAAG,YAAY,MACzB,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,SAAS,IAAI,EAAE,IAAI;KAAE,IAAI,EAAE;KAAI,QAAQ,EAAE;KAAQ,GAAG;KAAS,GAAG;IAAI,CAAC;GAE1G;EACF;EACA,SAAS,IAAI;GACX,MAAM,OAAO,SAAS,IAAI,EAAE;GAC5B,SAAS,OAAO,EAAE;GAClB,OAAO,MAAM;EACf;EACA,QAAQ;GAEN,MAAM,MAAmC,CAAC;GAC1C,KAAK,MAAM,KAAK,SAAS,OAAO,GAAG;IACjC,MAAM,KAAK,EAAE,WAAW,OAAO,SAAS,IAAI,EAAE,MAAM,IAAI;IACxD,IAAI,IAAI,GAAI,SAAyC,KAAK,CAAC;SACtD,IAAI,KAAK,CAAC;GACjB;GACA,SAAS,MAAM;GACf,OAAO;EACT;CACF;AACF"}
|