@weasel-js/core 1.15.0 → 1.15.2
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 +199 -0
- package/dist/WeaselProvider.js +4 -5
- package/dist/affordances/composeAffordanceLayer.js +1 -2
- package/dist/affordances/cornerResize.js +4 -5
- package/dist/affordances/hitAffordanceRegions.js +1 -2
- package/dist/affordances/pathAnchors.js +1 -2
- package/dist/affordances/rotateCursor.js +1 -2
- package/dist/affordances/rotationHandle.js +2 -3
- package/dist/animation/behaviors/coast.js +1 -2
- package/dist/animation/behaviors/coastByWrite.js +2 -3
- package/dist/animation/behaviors/coastOnTargets.js +2 -3
- package/dist/animation/behaviors/momentum.js +1 -2
- package/dist/animation/clipTargets.js +1 -2
- package/dist/animation/departures.js +2 -3
- package/dist/animation/poseHelpers.js +2 -3
- package/dist/animation/poseTarget.js +5 -6
- package/dist/animation/poseTarget.js.map +1 -1
- package/dist/animation/poseTransition.js +1 -2
- package/dist/animation/reflow.js +9 -10
- package/dist/animation/reflow.js.map +1 -1
- package/dist/animation/rewind.js +1 -2
- package/dist/animation/rig/bindRig.js +2 -3
- package/dist/animation/rig/rigNode.js +3 -4
- package/dist/animation/rig/rigNode.js.map +1 -1
- package/dist/animation/rig/rigSeat.js +1 -2
- package/dist/animation/rig/skinBinding.js +1 -2
- package/dist/animation/rig/useRig.js +2 -3
- package/dist/animation/wrappers/animateLifecycle.js +1 -2
- package/dist/animation/wrappers/animateOnSetPose.js +1 -2
- package/dist/animation/wrappers/instantPose.js +1 -2
- package/dist/animation/writtenPoseTarget.js +1 -2
- package/dist/barrel/input.js +2 -1
- package/dist/barrel/interactions.js +2 -1
- package/dist/barrel/paint.js +2 -2
- package/dist/barrel/routing.js +2 -2
- package/dist/barrel/scene.js +2 -2
- package/dist/barrel/viewport.js +3 -3
- package/dist/canvas/Canvas.js +5 -6
- package/dist/canvas/CanvasView.js +6 -7
- package/dist/canvas/CursorCoordsHud.js +2 -3
- package/dist/canvas/DrawCanvas.js +3 -4
- package/dist/canvas/GestureReason.js +1 -2
- package/dist/canvas/GestureReason.module.js +1 -2
- package/dist/canvas/LeanSceneCanvas.js +2 -3
- package/dist/canvas/ModalityHud.js +2 -3
- package/dist/canvas/NodeShape.js +3 -4
- package/dist/canvas/PickHud.js +2 -3
- package/dist/canvas/SceneCanvas/ActionsProviderIfRoot.js +1 -2
- package/dist/canvas/SceneCanvas/CanvasKitProviders.js +3 -4
- package/dist/canvas/SceneCanvas/DepRegistryProviderIfRoot.js +1 -2
- package/dist/canvas/SceneCanvas/DevHuds.js +1 -2
- package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js +18 -66
- package/dist/canvas/SceneCanvas/PointerProviderIfRoot.js.map +1 -1
- package/dist/canvas/SceneCanvas/SceneCanvasInput.js +4 -5
- package/dist/canvas/SceneCanvas/SurfaceDeclarations.js +1 -2
- package/dist/canvas/SceneCanvas/brushOverlay.js +1 -2
- package/dist/canvas/SceneCanvas/builtinToolSets.js +1 -2
- package/dist/canvas/SceneCanvas/canvasPassThrough.js +1 -2
- package/dist/canvas/SceneCanvas/contributionFrameHooks.js +1 -2
- package/dist/canvas/SceneCanvas/coordTrace.js +1 -2
- package/dist/canvas/SceneCanvas/defaultNodeProperties.js +3 -4
- package/dist/canvas/SceneCanvas/defaultNodeRouting.js +1 -2
- package/dist/canvas/SceneCanvas/defaultTextEditor.js +4 -5
- package/dist/canvas/SceneCanvas/describePresets.js +1 -2
- package/dist/canvas/SceneCanvas/dispatcherGestureBounds.js +1 -2
- package/dist/canvas/SceneCanvas/features.js +1 -2
- package/dist/canvas/SceneCanvas/insertPreviewCommands.js +1 -2
- package/dist/canvas/SceneCanvas/mergeLayers.js +1 -2
- package/dist/canvas/SceneCanvas/namedPresets.js +5 -6
- package/dist/canvas/SceneCanvas/poseGeometry.js +1 -2
- package/dist/canvas/SceneCanvas/poseRegistrars.js +1 -2
- package/dist/canvas/SceneCanvas/presets/arrange.js +2 -3
- package/dist/canvas/SceneCanvas/presets/baseline.js +1 -2
- package/dist/canvas/SceneCanvas/presets/chrome.js +1 -2
- package/dist/canvas/SceneCanvas/presets/composites.js +1 -2
- package/dist/canvas/SceneCanvas/presets/edit.js +4 -5
- package/dist/canvas/SceneCanvas/presets/ingest.js +1 -2
- package/dist/canvas/SceneCanvas/presets/paths.js +3 -4
- package/dist/canvas/SceneCanvas/presets/select.js +1 -2
- package/dist/canvas/SceneCanvas/presets/toolDriven.js +2 -3
- package/dist/canvas/SceneCanvas/presets/tools.js +1 -2
- package/dist/canvas/SceneCanvas/presets/transform.js +2 -3
- package/dist/canvas/SceneCanvas/presets/view.js +2 -3
- package/dist/canvas/SceneCanvas/props.js +1 -2
- package/dist/canvas/SceneCanvas/scenePointQuery.js +2 -3
- package/dist/canvas/SceneCanvas/shapeGeneratorProperties.js +1 -2
- package/dist/canvas/SceneCanvas/toolRegistry.js +2 -3
- package/dist/canvas/SceneCanvas/useActionTunings.js +1 -2
- package/dist/canvas/SceneCanvas/useActionsPropResolver.js +1 -2
- package/dist/canvas/SceneCanvas/useBakedScene.js +2 -3
- package/dist/canvas/SceneCanvas/useBuiltinShapeTools.js +7 -8
- package/dist/canvas/SceneCanvas/useBuiltinTools.js +2 -3
- package/dist/canvas/SceneCanvas/useCanvasCamera.js +2 -3
- package/dist/canvas/SceneCanvas/useCanvasDevtoolsRoot.js +1 -2
- package/dist/canvas/SceneCanvas/useCanvasDispatcher.js +1 -2
- package/dist/canvas/SceneCanvas/useCanvasSelection.js +8 -6
- package/dist/canvas/SceneCanvas/useCanvasSelection.js.map +1 -1
- package/dist/canvas/SceneCanvas/useCanvasTools.js +2 -3
- package/dist/canvas/SceneCanvas/useChromeAffordances.js +2 -3
- package/dist/canvas/SceneCanvas/useContributionRoles.js +1 -2
- package/dist/canvas/SceneCanvas/useDepartureGhostLayer.js +4 -5
- package/dist/canvas/SceneCanvas/useDispatcherOverlayLayer.js +2 -3
- package/dist/canvas/SceneCanvas/useHeldModifiers.js +1 -2
- package/dist/canvas/SceneCanvas/useMagnificationCheck.js +41 -0
- package/dist/canvas/SceneCanvas/useMagnificationCheck.js.map +1 -0
- package/dist/canvas/SceneCanvas/useNodeAtPoint.js +1 -2
- package/dist/canvas/SceneCanvas/useNodeKinds.js +2 -3
- package/dist/canvas/SceneCanvas/usePreviewGhostLayer.js +10 -11
- package/dist/canvas/SceneCanvas/useSceneCanvasHandle.js +1 -2
- package/dist/canvas/SceneCanvas/useSceneCanvasLayers.js +6 -7
- package/dist/canvas/SceneCanvas/useSceneCanvasPathEdit.js +1 -2
- package/dist/canvas/SceneCanvas/useSceneCanvasTools.js +1 -2
- package/dist/canvas/SceneCanvas/useSceneChrome.js +5 -6
- package/dist/canvas/SceneCanvas/useSceneGestureDispatcher.js +6 -7
- package/dist/canvas/SceneCanvas/useScenePicking.js +5 -6
- package/dist/canvas/SceneCanvas/useSceneRedrawSources.js +1 -2
- package/dist/canvas/SceneCanvas/useSceneSelectTool.js +7 -8
- package/dist/canvas/SceneCanvas/useSceneSlotLayers.js +2 -3
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js +26 -18
- package/dist/canvas/SceneCanvas/useSceneStandardActions.js.map +1 -1
- package/dist/canvas/SceneCanvas/useSelectionOverlayLayer.js +2 -3
- package/dist/canvas/SceneCanvas/useSurfaceRouting.js +1 -2
- package/dist/canvas/SceneCanvas/useSurfaceViewInputs.js +1 -2
- package/dist/canvas/SceneCanvas/useToolKeybindings.js +1 -2
- package/dist/canvas/SceneCanvas/useViewportActions.js +3 -4
- package/dist/canvas/SceneCanvas/worldPointAt.js +1 -2
- package/dist/canvas/SceneCanvas.js +18 -17
- package/dist/canvas/SceneCanvas.js.map +1 -1
- package/dist/canvas/SceneViewCanvas.js +2 -3
- package/dist/canvas/SurfaceCanvas.js +1 -2
- package/dist/canvas/ViewMarker.js +1 -2
- package/dist/canvas/accentColor.js +4 -5
- package/dist/canvas/accentColor.js.map +1 -1
- package/dist/canvas/adapterDerivedPath.js +2 -3
- package/dist/canvas/adapterPickSource.js +1 -2
- package/dist/canvas/affordanceAt.js +2 -3
- package/dist/canvas/buildSceneLayer.js +4 -5
- package/dist/canvas/buildSceneTree.js +4 -5
- package/dist/canvas/canvasRenderer.js +1 -2
- package/dist/canvas/colorOverrides.js +1 -2
- package/dist/canvas/contextAttributes.js +1 -2
- package/dist/canvas/copiesAbove.js +1 -2
- package/dist/canvas/defaultDrawOne.js +1 -2
- package/dist/canvas/deps/areaSelect.js +5 -3
- package/dist/canvas/deps/areaSelect.js.map +1 -1
- package/dist/canvas/deps/booleans.js +5 -6
- package/dist/canvas/deps/changes.js +1 -2
- package/dist/canvas/deps/chromeRules.js +1 -2
- package/dist/canvas/deps/debug.js +1 -2
- package/dist/canvas/deps/dispatchSources.js +1 -2
- package/dist/canvas/deps/dispatcher.js +1 -2
- package/dist/canvas/deps/editAnchors.js +3 -4
- package/dist/canvas/deps/enteredGroup.js +6 -6
- package/dist/canvas/deps/enteredGroup.js.map +1 -1
- package/dist/canvas/deps/geometryProjection.js +1 -2
- package/dist/canvas/deps/hitTestArea.js +4 -5
- package/dist/canvas/deps/ingestion.js +1 -2
- package/dist/canvas/deps/insert.js +3 -4
- package/dist/canvas/deps/insertSite.js +3 -4
- package/dist/canvas/deps/kitSettings.js +1 -2
- package/dist/canvas/deps/lassoSelect.js +5 -3
- package/dist/canvas/deps/lassoSelect.js.map +1 -1
- package/dist/canvas/deps/layout.js +1 -2
- package/dist/canvas/deps/modeDefaultTool.js +1 -2
- package/dist/canvas/deps/nodeAtPoint.js +1 -2
- package/dist/canvas/deps/pathEditCommits.js +4 -5
- package/dist/canvas/deps/pathLeaf.js +1 -2
- package/dist/canvas/deps/pathLeafDeps.js +2 -3
- package/dist/canvas/deps/poseDescriptor.js +1 -2
- package/dist/canvas/deps/previewPaths.js +1 -2
- package/dist/canvas/deps/resizePolicy.js +1 -2
- package/dist/canvas/deps/selectionSnapshot.js +8 -4
- package/dist/canvas/deps/selectionSnapshot.js.map +1 -1
- package/dist/canvas/deps/slice.js +5 -6
- package/dist/canvas/deps/snap.js +3 -4
- package/dist/canvas/deps/surface.js +1 -2
- package/dist/canvas/deps/textEdit.js +1 -2
- package/dist/canvas/deps/transformFollowers.js +1 -2
- package/dist/canvas/deps/view.js +1 -2
- package/dist/canvas/derivedPath.js +6 -7
- package/dist/canvas/doubleClickTarget.js +1 -2
- package/dist/canvas/drawEnvelope.js +1 -2
- package/dist/canvas/drawnBounds.js +4 -5
- package/dist/canvas/getNodeAtPoint.js +1 -2
- package/dist/canvas/hostAnchor.js +1 -2
- package/dist/canvas/hud.module.js +1 -2
- package/dist/canvas/inheritedPaints.js +1 -2
- package/dist/canvas/insertPreviewExtent.js +1 -2
- package/dist/canvas/kitRequirements.js +1 -2
- package/dist/canvas/layerHover.js +1 -2
- package/dist/canvas/layerOrder.js +1 -2
- package/dist/canvas/layerSlots.js +1 -2
- package/dist/canvas/mountedCanvases.js +1 -2
- package/dist/canvas/nodeShapes/derivedPainter.js +2 -3
- package/dist/canvas/nodeShapes/imagePainter.js +1 -2
- package/dist/canvas/nodeShapes/measurePainter.js +2 -3
- package/dist/canvas/nodeShapes/memo.js +1 -2
- package/dist/canvas/nodeShapes/nodePaint.js +1 -2
- package/dist/canvas/nodeShapes/pathPainter.js +3 -4
- package/dist/canvas/nodeShapes/poseBox.js +1 -2
- package/dist/canvas/nodeShapes/rectFallbackPainter.js +1 -2
- package/dist/canvas/nodeShapes/shapePainter.js +2 -3
- package/dist/canvas/nodeShapes/strokedBounds.js +1 -2
- package/dist/canvas/nodeShapes/textPainter.js +1 -2
- package/dist/canvas/overChildren.js +1 -2
- package/dist/canvas/overlayRoleStrokes.js +1 -2
- package/dist/canvas/ownClip.js +1 -2
- package/dist/canvas/paintCull.js +1 -2
- package/dist/canvas/paintedCursorLayer.js +1 -2
- package/dist/canvas/pathOverlay.js +1 -2
- package/dist/canvas/pickIndex/nodeBroadBox.js +3 -4
- package/dist/canvas/pickIndex/scenePickIndex.js +3 -4
- package/dist/canvas/pickReach.js +1 -2
- package/dist/canvas/pickWalk.js +2 -3
- package/dist/canvas/planeClips.js +1 -2
- package/dist/canvas/poseRotation.js +1 -2
- package/dist/canvas/publishPreviews.js +1 -2
- package/dist/canvas/rasterReadback.js +1 -2
- package/dist/canvas/rasterToPng.js +1 -2
- package/dist/canvas/renderDebugSnapshot.js +1 -2
- package/dist/canvas/renderNeeds.js +1 -2
- package/dist/canvas/renderSceneToPixels.js +5 -6
- package/dist/canvas/sceneAdapter.js +37 -27
- package/dist/canvas/sceneAdapter.js.map +1 -1
- package/dist/canvas/sceneClipboard.js +19 -7
- package/dist/canvas/sceneClipboard.js.map +1 -1
- package/dist/canvas/sceneLayerPaint.js +1 -2
- package/dist/canvas/scenePickReads.js +1 -2
- package/dist/canvas/scenePickSource.js +5 -6
- package/dist/canvas/sceneSlotWiring.js +2 -3
- package/dist/canvas/sceneViewRender.js +5 -6
- package/dist/canvas/shownNodes.js +1 -2
- package/dist/canvas/slopsDebugLayer.js +9 -4
- package/dist/canvas/slopsDebugLayer.js.map +1 -1
- package/dist/canvas/surfaceContribution.js +1 -2
- package/dist/canvas/useCanvasElements.js +1 -2
- package/dist/canvas/useCanvasHandle.js +1 -2
- package/dist/canvas/useCanvasPaint.js +2 -3
- package/dist/canvas/useCanvasRenderer.js +1 -2
- package/dist/canvas/useCanvasSurface.js +1 -2
- package/dist/canvas/useCanvasView.js +2 -3
- package/dist/canvas/useClientToWorld.js +1 -2
- package/dist/canvas/useExtraLayers.js +1 -2
- package/dist/canvas/useFrameLoop.js +1 -2
- package/dist/canvas/useHitObserver.js +1 -2
- package/dist/canvas/useHostAnchor.js +1 -2
- package/dist/canvas/useInFlightBounds.js +6 -6
- package/dist/canvas/useInFlightBounds.js.map +1 -1
- package/dist/canvas/useLateContentRedraw.js +1 -2
- package/dist/canvas/useLayerStack.js +2 -3
- package/dist/canvas/usePaintedCursor.js +1 -2
- package/dist/canvas/useRedrawOn.js +1 -2
- package/dist/canvas/useSceneAdapter.js +1 -2
- package/dist/canvas/useSceneLayerList.js +1 -2
- package/dist/canvas/useSurfaceInput.js +1 -2
- package/dist/canvas/useSurfaceSize.js +1 -2
- package/dist/canvas/useToolCursor.js +1 -2
- package/dist/canvas/useViewAim.js +2 -3
- package/dist/canvas/useViewHelpers.js +5 -4
- package/dist/canvas/useViewHelpers.js.map +1 -1
- package/dist/canvas/useViewLayerGate.js +1 -2
- package/dist/canvas/useViewNesting.js +1 -2
- package/dist/canvas/useViewRegistrySurface.js +7 -5
- package/dist/canvas/useViewRegistrySurface.js.map +1 -1
- package/dist/canvas/viewInputs.js +1 -2
- package/dist/canvas/viewMarkers.js +1 -2
- package/dist/canvas/viewRegistry.js +6 -7
- package/dist/canvas/viewRegistry.js.map +1 -1
- package/dist/canvas/viewSnap.js +1 -2
- package/dist/canvas/watchElementMove.js +1 -2
- package/dist/canvas/wrapNodeOutput.js +1 -2
- package/dist/core/adapters/testing/rootsTree.js +1 -2
- package/dist/core/applyOps.js +1 -2
- package/dist/core/device/targets.js +1 -2
- package/dist/core/device/useDeviceProfile.js +1 -2
- package/dist/core/device/useTargetBasePx.js +1 -2
- package/dist/core/device/watchDevicePixelRatio.js +1 -2
- package/dist/core/geometry/autoPoseDescriptor.js +2 -3
- package/dist/core/geometry/booleanOfPaths.js +1 -2
- package/dist/core/geometry/inkExtents.js +1 -2
- package/dist/core/geometry/pathPoseDescriptor.js +1 -2
- package/dist/core/geometry/poseDescriptor.js +1 -2
- package/dist/core/geometry/regionHit.js +1 -2
- package/dist/core/geometry/targetFrame.js +1 -2
- package/dist/core/geometry/unionBounds.js +1 -2
- package/dist/core/layers/backgroundFill.js +1 -2
- package/dist/core/layers/children.js +1 -2
- package/dist/core/layers/gateLayer.js +1 -2
- package/dist/core/layers/layerGroup.js +1 -2
- package/dist/core/layers/redrawSource.js +1 -2
- package/dist/core/layers/render.js +1 -2
- package/dist/core/layers/retain.js +1 -2
- package/dist/core/ops/arrange.js +1 -2
- package/dist/core/ops/create.js +2 -3
- package/dist/core/ops/createHistory.js +2 -3
- package/dist/core/ops/delete.js +2 -3
- package/dist/core/ops/nodeFlags.js +1 -2
- package/dist/core/ops/registry.js +1 -2
- package/dist/core/ops/reorder/algorithms.js +1 -2
- package/dist/core/ops/reorder/index.js +3 -8
- package/dist/core/ops/reorder/index.js.map +1 -1
- package/dist/core/ops/reorder/setChildOrder.js +1 -2
- package/dist/core/ops/reparent.js +1 -2
- package/dist/core/ops/select.js +1 -2
- package/dist/core/ops/setData.js +1 -2
- package/dist/core/ops/setDependsOn.js +1 -2
- package/dist/core/ops/setLayer.js +1 -2
- package/dist/core/ops/setLayout.js +1 -2
- package/dist/core/ops/setPath.js +1 -2
- package/dist/core/ops/setText.js +1 -2
- package/dist/core/ops/slot.js +1 -2
- package/dist/core/ops/transform.js +1 -2
- package/dist/core/ops/writtenBy.js +1 -2
- package/dist/core/pages/fitViewToPage.js +3 -9
- package/dist/core/pages/fitViewToPage.js.map +1 -1
- package/dist/core/pages/pageEdits.js +3 -4
- package/dist/core/pages/pages.js +4 -11
- package/dist/core/pages/pages.js.map +1 -1
- package/dist/core/pages/pagesLayer.js +1 -2
- package/dist/core/paint/meshKind.js +1 -2
- package/dist/core/paint/meshKindLazy.js +18 -23
- package/dist/core/paint/meshKindLazy.js.map +1 -1
- package/dist/core/paint/paintKindEntry.js +1 -2
- package/dist/core/paint/paintKinds.js +1 -2
- package/dist/core/paint/registerMesh.js +1 -2
- package/dist/core/scene/NodeProperties.js +1 -2
- package/dist/core/scene/NodeRouting.js +1 -2
- package/dist/core/scene/annotation.js +1 -2
- package/dist/core/scene/appliedLog.js +1 -2
- package/dist/core/scene/arrivalWindow.js +2 -3
- package/dist/core/scene/arrivals.js +1 -2
- package/dist/core/scene/booleanGroup.js +1 -2
- package/dist/core/scene/booleanOfChildren.js +1 -2
- package/dist/core/scene/boundOps.js +1 -2
- package/dist/core/scene/carryDescendants.js +2 -3
- package/dist/core/scene/clipNothing.js +1 -2
- package/dist/core/scene/composeFrame.js +1 -2
- package/dist/core/scene/composePose.js +1 -2
- package/dist/core/scene/declaredFieldSetters.js +1 -2
- package/dist/core/scene/depFrame.js +1 -2
- package/dist/core/scene/depMemo.js +1 -2
- package/dist/core/scene/dependents.js +1 -2
- package/dist/core/scene/derivedParts.js +1 -2
- package/dist/core/scene/derivedPath.js +2 -3
- package/dist/core/scene/docValues.js +1 -2
- package/dist/core/scene/documentOf.js +1 -2
- package/dist/core/scene/editMode.js +1 -2
- package/dist/core/scene/editPass.js +1 -2
- package/dist/core/scene/effectivePose.js +3 -4
- package/dist/core/scene/fieldEdits.js +1 -2
- package/dist/core/scene/fontReads.js +1 -2
- package/dist/core/scene/historyFacade.js +1 -2
- package/dist/core/scene/historyForm.js +1 -2
- package/dist/core/scene/inheritedPaint.js +1 -2
- package/dist/core/scene/kitOps.js +16 -15
- package/dist/core/scene/kitOps.js.map +1 -1
- package/dist/core/scene/kitRegistry.js +2 -3
- package/dist/core/scene/layerOps.js +1 -2
- package/dist/core/scene/layerStack.js +1 -2
- package/dist/core/scene/layoutPass.js +4 -5
- package/dist/core/scene/lockGuard.js +1 -2
- package/dist/core/scene/minSize.js +1 -2
- package/dist/core/scene/nestedHit.js +1 -2
- package/dist/core/scene/nodeAsShown.js +1 -2
- package/dist/core/scene/nodeFlags.js +1 -2
- package/dist/core/scene/nodeFnFields.js +1 -2
- package/dist/core/scene/nodeGates.js +1 -2
- package/dist/core/scene/nodeMemo.js +1 -2
- package/dist/core/scene/nodeStore.js +2 -3
- package/dist/core/scene/notifier.js +1 -2
- package/dist/core/scene/opTable.js +1 -2
- package/dist/core/scene/outerOps.js +1 -2
- package/dist/core/scene/pathEffects/blend.js +3 -4
- package/dist/core/scene/pathEffects/blend.js.map +1 -1
- package/dist/core/scene/pathEffects/derive.js +2 -3
- package/dist/core/scene/pathEffects/effects.js +1 -2
- package/dist/core/scene/pathEffects/foundHidden.js +1 -2
- package/dist/core/scene/pathEffects/textAlong.js +6 -6
- package/dist/core/scene/pathEffects/textAlong.js.map +1 -1
- package/dist/core/scene/pathEffects/textAlongBands.js +1 -2
- package/dist/core/scene/plyStacks.js +1 -2
- package/dist/core/scene/poseFeed.js +1 -2
- package/dist/core/scene/poseHold.js +1 -2
- package/dist/core/scene/poseOverrides.js +1 -2
- package/dist/core/scene/posePlies.js +1 -2
- package/dist/core/scene/poseRemovals.js +1 -2
- package/dist/core/scene/poseSnapshot.js +1 -2
- package/dist/core/scene/poseWrites.js +1 -2
- package/dist/core/scene/reconcileSpecs.js +26 -3
- package/dist/core/scene/reconcileSpecs.js.map +1 -1
- package/dist/core/scene/recorder.js +1 -2
- package/dist/core/scene/renderOrder.js +1 -2
- package/dist/core/scene/sameValue.js +1 -2
- package/dist/core/scene/scene.js +23 -13
- package/dist/core/scene/scene.js.map +1 -1
- package/dist/core/scene/sceneChanges.js +1 -2
- package/dist/core/scene/sceneEdits.js +1 -2
- package/dist/core/scene/sceneJournals.js +1 -2
- package/dist/core/scene/sceneMutators.js +2 -3
- package/dist/core/scene/scenePoseAdapter.js +1 -2
- package/dist/core/scene/sceneRecording.js +1 -2
- package/dist/core/scene/sceneSelection.js +8 -5
- package/dist/core/scene/sceneSelection.js.map +1 -1
- package/dist/core/scene/sceneState.js +3 -4
- package/dist/core/scene/scrollOffsets.js +1 -2
- package/dist/core/scene/serialization.js +2 -3
- package/dist/core/scene/staleReplay.js +1 -2
- package/dist/core/scene/statedFields.js +1 -2
- package/dist/core/scene/strategyView.js +1 -2
- package/dist/core/scene/treeEdits.js +2 -3
- package/dist/core/scene/treeOrder.js +1 -2
- package/dist/core/scene/treeReads.js +1 -2
- package/dist/core/scene/treeShape.js +1 -2
- package/dist/core/scene/types.js +1 -2
- package/dist/core/scene/types.js.map +1 -1
- package/dist/core/scene/unionOfChildren.js +1 -2
- package/dist/core/scene/unitScopes.js +20 -4
- package/dist/core/scene/unitScopes.js.map +1 -1
- package/dist/core/scene/useScene.js +2 -3
- package/dist/core/scene/worldSave.js +2 -3
- package/dist/core/selection/chromeState.js +1 -2
- package/dist/core/selection/outermostSelection.js +56 -0
- package/dist/core/selection/outermostSelection.js.map +1 -0
- package/dist/core/selection/readOnlySelection.js +1 -2
- package/dist/core/selection/selectionTarget.js +1 -2
- package/dist/core/selection/usePublishSceneSelection.js +1 -2
- package/dist/core/selection/useSelection.js +1 -2
- package/dist/core/shapeKinds.js +1 -2
- package/dist/core/stableStringify.js +1 -2
- package/dist/core/stylus/stylus.js +1 -2
- package/dist/core/stylus/usePointerStylus.js +1 -2
- package/dist/core/usePaintKinds.js +1 -2
- package/dist/core/viewport/clampView.js +1 -2
- package/dist/core/viewport/clientToWorld.js +8 -3
- package/dist/core/viewport/clientToWorld.js.map +1 -1
- package/dist/core/viewport/createVelocityTracker.js +1 -2
- package/dist/core/viewport/fitToBounds.js +1 -2
- package/dist/core/viewport/fitViewToBounds.js +1 -2
- package/dist/core/viewport/interpolateView.js +1 -2
- package/dist/core/viewport/parallax.js +1 -2
- package/dist/core/viewport/sceneNodeClientRect.js +1 -2
- package/dist/core/viewport/screenSlop.js +1 -2
- package/dist/core/viewport/useAutoCenter.js +1 -2
- package/dist/core/viewport/useCanvasSize.js +1 -2
- package/dist/core/viewport/useDecayLoop.js +1 -2
- package/dist/core/viewport/useNodeOverlayFrame.js +1 -2
- package/dist/core/viewport/useVelocityTracker.js +1 -2
- package/dist/core/viewport/useViewAnimation.js +3 -4
- package/dist/core/viewport/view.js +1 -2
- package/dist/core/viewport/viewTransform.js +1 -2
- package/dist/core/viewport/viewportWorldRect.js +1 -2
- package/dist/core/viewport/wheelHandler.js +1 -2
- package/dist/core/viewport/zoomAt.js +7 -8
- package/dist/core/viewport/zoomAt.js.map +1 -1
- package/dist/core/viewport/zoomBounds.js +1 -2
- package/dist/debug/createDebugOverlayLayer.js +1 -2
- package/dist/debug/createDebugSink.js +1 -2
- package/dist/debug/defaultTheme.js +1 -2
- package/dist/debug/features.js +1 -2
- package/dist/debug/frameStats.js +1 -2
- package/dist/debug/overlayPanels.js +1 -2
- package/dist/debug/parseDebugFlags.js +1 -2
- package/dist/debug/useDebugSink.js +2 -3
- package/dist/{depSchema-ChQPzEkW.d.ts → depSchema-C7a_OMt-.d.ts} +61 -52
- package/dist/devtools/handlers.js +1 -2
- package/dist/devtools/history.js +1 -2
- package/dist/devtools/hook.js +1 -2
- package/dist/devtools/label.js +1 -2
- package/dist/devtools/notices.js +1 -2
- package/dist/devtools/protocol.js +1 -2
- package/dist/devtools/registry.js +1 -2
- package/dist/devtools/root.js +12 -6
- package/dist/devtools/root.js.map +1 -1
- package/dist/devtools/serialize.js +1 -2
- package/dist/devtools/session.js +2 -3
- package/dist/devtools/transport.js +13 -18
- package/dist/devtools/transport.js.map +1 -1
- package/dist/devtools/useDevtoolsRoot.js +1 -2
- package/dist/devtools-protocol.d.ts +1 -12
- package/dist/devtools-protocol.js +2 -2
- package/dist/devtools.d.ts +1 -1
- package/dist/devtools.js +1 -2
- package/dist/domains/chrome-caps/buildChromeCtx.js +1 -2
- package/dist/domains/chrome-caps/conditions.js +1 -2
- package/dist/domains/chrome-caps/defaults.js +1 -2
- package/dist/domains/chrome-caps/resolve.js +2 -3
- package/dist/domains/chrome-caps/useChromeCaps.js +1 -2
- package/dist/domains/chrome-caps/useHoverTracking.js +1 -2
- package/dist/domains/ingestion/contentHandlers.js +1 -2
- package/dist/domains/ingestion/ghost.js +2 -3
- package/dist/domains/ingestion/imageHandler.js +1 -2
- package/dist/domains/ingestion/kitHandlers.js +2 -3
- package/dist/domains/ingestion/openFilePicker.js +1 -2
- package/dist/domains/ingestion/placement.js +1 -2
- package/dist/domains/ingestion/svgHandler.js +1 -2
- package/dist/domains/ingestion/textHandler.js +1 -2
- package/dist/domains/ingestion/useCanvasIngestion.js +1 -2
- package/dist/domains/ingestion/weaselJsonHandler.js +2 -3
- package/dist/domains/longPress/longPressFeedback.js +1 -2
- package/dist/domains/measure/actionIds.js +1 -2
- package/dist/domains/measure/measureCommands.js +6 -7
- package/dist/domains/measure/measureContribution.js +3 -4
- package/dist/domains/measure/measureEdits.js +3 -4
- package/dist/domains/measure/measureGestures.js +2 -3
- package/dist/domains/measure/measureHit.js +5 -12
- package/dist/domains/measure/measureHit.js.map +1 -1
- package/dist/domains/measure/measureLayer.js +3 -4
- package/dist/domains/measure/measurement.js +1 -2
- package/dist/domains/measure/measurements.js +1 -2
- package/dist/domains/modes/modeLayers.js +1 -2
- package/dist/domains/modes/modeTriggers.js +1 -2
- package/dist/domains/pathEffects/effectSources.js +2 -3
- package/dist/domains/pathEffects/index.js +1 -2
- package/dist/domains/pathEffects/readSource.js +3 -4
- package/dist/domains/pathEffects/textItems.js +1 -2
- package/dist/domains/pathEffects/useEffectSourcesLayer.js +3 -4
- package/dist/domains/paths/anchorData.js +1 -2
- package/dist/domains/paths/anchorMarkers.js +6 -13
- package/dist/domains/paths/anchorMarkers.js.map +1 -1
- package/dist/domains/paths/editablePath.js +3 -4
- package/dist/domains/paths/originProjection.js +1 -2
- package/dist/domains/paths/pathEditExtension.js +1 -2
- package/dist/domains/paths/pathEditState.js +1 -2
- package/dist/domains/paths/pathEditingOverlayLayer.js +7 -12
- package/dist/domains/paths/pathEditingOverlayLayer.js.map +1 -1
- package/dist/domains/paths/pathLayer.js +1 -2
- package/dist/domains/paths/pathRepresentation.js +1 -2
- package/dist/domains/paths/pathSnap/glyphs.js +1 -2
- package/dist/domains/paths/pathSnap/pathSnapSource.js +1 -2
- package/dist/domains/paths/pathSnap/sceneIndex.js +1 -2
- package/dist/domains/paths/pathSnap/snapGeometry.js +2 -3
- package/dist/domains/paths/penPreviewLayer.js +10 -14
- package/dist/domains/paths/penPreviewLayer.js.map +1 -1
- package/dist/domains/paths/shapeGenerator.js +2 -4
- package/dist/domains/paths/shapeGenerator.js.map +1 -1
- package/dist/domains/paths/strokeOutline.js +2 -3
- package/dist/domains/paths/useAnchorFields.js +1 -2
- package/dist/domains/paths/usePathEdit.js +2 -3
- package/dist/domains/poseRun/usePoseRun.js +1 -2
- package/dist/domains/selection/enteredGroupFrame.js +1 -2
- package/dist/domains/selection/enteredGroupScope.js +1 -2
- package/dist/domains/selection/enteredOperands.js +1 -2
- package/dist/domains/selection/handleCommands.js +2 -3
- package/dist/domains/selection/overlay.js +6 -7
- package/dist/domains/selection/selectionPose.js +2 -3
- package/dist/domains/snap/angle2d.js +3 -3
- package/dist/domains/snap/angle2d.js.map +1 -1
- package/dist/domains/snap/debugCandidates.js +1 -2
- package/dist/domains/snap/gather.js +1 -2
- package/dist/domains/snap/inputSubspace.js +2 -3
- package/dist/domains/snap/lazySession.js +1 -2
- package/dist/domains/snap/marks.js +1 -2
- package/dist/domains/snap/outcomeStore.js +6 -10
- package/dist/domains/snap/outcomeStore.js.map +1 -1
- package/dist/domains/snap/pointSnap.js +1 -2
- package/dist/domains/snap/probes2d.js +1 -2
- package/dist/domains/snap/readoutDraw.js +1 -2
- package/dist/domains/snap/readoutLayer.js +1 -2
- package/dist/domains/snap/registry.js +1 -2
- package/dist/domains/snap/resizeBox.js +1 -2
- package/dist/domains/snap/roles.js +1 -2
- package/dist/domains/snap/rotationSource.js +1 -2
- package/dist/domains/snap/sceneReads.js +2 -3
- package/dist/domains/snap/sceneSession2d.js +2 -3
- package/dist/domains/snap/screen.js +2 -3
- package/dist/domains/snap/session2d.js +4 -5
- package/dist/domains/snap/spanSnap.js +1 -2
- package/dist/domains/snap/stepAngles.js +1 -2
- package/dist/domains/text/editingDrawOne.js +1 -2
- package/dist/domains/text/hostTextEditors.js +1 -2
- package/dist/domains/text/sceneTextDrafts.js +1 -2
- package/dist/domains/text/textHitAt.js +4 -5
- package/dist/domains/text/textLayer.js +12 -2
- package/dist/domains/text/textLayer.js.map +1 -1
- package/dist/domains/text/useSceneTextEdit.js +13 -9
- package/dist/domains/text/useSceneTextEdit.js.map +1 -1
- package/dist/domains/viewports/aim.js +6 -12
- package/dist/domains/viewports/aim.js.map +1 -1
- package/dist/domains/viewports/viewMarker.js +1 -2
- package/dist/domains/viewports/viewMarkerDrag.js +1 -2
- package/dist/domains/viewports/viewResolver.js +6 -5
- package/dist/domains/viewports/viewResolver.js.map +1 -1
- package/dist/domains/viewports/viewportLayer.js +1 -2
- package/dist/iconRegistry/IconRegistryProvider.js +1 -2
- package/dist/iconRegistry/useIconGlyph.js +1 -2
- package/dist/iconRegistry/useIconVariant.js +1 -2
- package/dist/icons.table.js +1 -2
- package/dist/icons2.table.js +1 -2
- package/dist/index.d.ts +70 -27
- package/dist/index.js +7 -5
- package/dist/input/keyState.js +1 -2
- package/dist/input/useKeyModifiers.js +1 -2
- package/dist/input/useKeyState.js +1 -2
- package/dist/input/usePublishPointer.js +59 -0
- package/dist/input/usePublishPointer.js.map +1 -0
- package/dist/interactions/actions/admitsChild.js +1 -2
- package/dist/interactions/actions/align/action.js +6 -7
- package/dist/interactions/actions/align/align.js +6 -7
- package/dist/interactions/actions/booleans/action.js +1 -2
- package/dist/interactions/actions/booleans/booleanGroupAction.js +2 -3
- package/dist/interactions/actions/booleans/booleans.js +1 -2
- package/dist/interactions/actions/booleans/commit.js +4 -5
- package/dist/interactions/actions/booleans/custom.js +2 -3
- package/dist/interactions/actions/booleans/keymap.js +1 -2
- package/dist/interactions/actions/booleans/operands.js +1 -2
- package/dist/interactions/actions/booleans/pieces.js +1 -2
- package/dist/interactions/actions/booleans/placement.js +1 -2
- package/dist/interactions/actions/booleans/useBooleans.js +1 -2
- package/dist/interactions/actions/booleans/useBooleansAdapter.js +1 -2
- package/dist/interactions/actions/clipboard/action.js +2 -3
- package/dist/interactions/actions/clipboard/clipboardOps.js +2 -3
- package/dist/interactions/actions/clipboard/materializePaste.js +1 -2
- package/dist/interactions/actions/clipboard/wireFormat.js +1 -2
- package/dist/interactions/actions/clone/action.js +7 -8
- package/dist/interactions/actions/clone/behaviors.js +4 -5
- package/dist/interactions/actions/defaultCommitAdapter.js +2 -3
- package/dist/interactions/actions/defaults/anchorEditing.js +3 -4
- package/dist/interactions/actions/defaults/anchorFields.js +1 -2
- package/dist/interactions/actions/defaults/anchorHandles.js +2 -3
- package/dist/interactions/actions/defaults/anchorJoin.js +2 -3
- package/dist/interactions/actions/defaults/areaSelect.js +6 -6
- package/dist/interactions/actions/defaults/areaSelect.js.map +1 -1
- package/dist/interactions/actions/defaults/bendSegment.js +3 -4
- package/dist/interactions/actions/defaults/cancelGesture.js +1 -2
- package/dist/interactions/actions/defaults/clearSelection.js +1 -2
- package/dist/interactions/actions/defaults/containerScroll.js +13 -8
- package/dist/interactions/actions/defaults/containerScroll.js.map +1 -1
- package/dist/interactions/actions/defaults/contextMenu.js +6 -7
- package/dist/interactions/actions/defaults/copySubtree.js +2 -3
- package/dist/interactions/actions/defaults/createPaintAction.js +3 -4
- package/dist/interactions/actions/defaults/delete.js +2 -3
- package/dist/interactions/actions/defaults/duplicate.js +5 -6
- package/dist/interactions/actions/defaults/enterGroup.js +5 -6
- package/dist/interactions/actions/defaults/enterGroup.js.map +1 -1
- package/dist/interactions/actions/defaults/enterPathEdit.js +1 -2
- package/dist/interactions/actions/defaults/enterTextEdit.js +1 -2
- package/dist/interactions/actions/defaults/escape.js +1 -2
- package/dist/interactions/actions/defaults/exitPathEdit.js +1 -2
- package/dist/interactions/actions/defaults/group.js +6 -7
- package/dist/interactions/actions/defaults/ingest.js +3 -4
- package/dist/interactions/actions/defaults/insertPathAnchor.js +2 -3
- package/dist/interactions/actions/defaults/nudge.js +3 -4
- package/dist/interactions/actions/defaults/nudgeSteps.js +2 -3
- package/dist/interactions/actions/defaults/nudgeSteps.js.map +1 -1
- package/dist/interactions/actions/defaults/pathEditMarks.js +3 -7
- package/dist/interactions/actions/defaults/pathEditMarks.js.map +1 -1
- package/dist/interactions/actions/defaults/pinchZoom.js +3 -4
- package/dist/interactions/actions/defaults/reorder.js +2 -3
- package/dist/interactions/actions/defaults/requiresSelection.js +1 -2
- package/dist/interactions/actions/defaults/segmentUnder.js +1 -2
- package/dist/interactions/actions/defaults/selectAll.js +1 -2
- package/dist/interactions/actions/defaults/selectDeep.js +1 -2
- package/dist/interactions/actions/defaults/setFill.js +1 -2
- package/dist/interactions/actions/defaults/setFillOpacity.js +1 -2
- package/dist/interactions/actions/defaults/setStroke.js +1 -2
- package/dist/interactions/actions/defaults/setStrokeOpacity.js +1 -2
- package/dist/interactions/actions/defaults/slice.js +1 -2
- package/dist/interactions/actions/defaults/sliceOps.js +1 -2
- package/dist/interactions/actions/defaults/toolActivate.js +1 -2
- package/dist/interactions/actions/defaults/toolResetToDefault.js +1 -2
- package/dist/interactions/actions/defaults/undoRedo.js +1 -2
- package/dist/interactions/actions/defaults/viewportDragPan.js +1 -2
- package/dist/interactions/actions/defaults/viewportWheelPan.js +1 -2
- package/dist/interactions/actions/defaults/viewportZoom.js +3 -4
- package/dist/interactions/actions/distribute/action.js +4 -5
- package/dist/interactions/actions/distribute/distribute.js +5 -6
- package/dist/interactions/actions/distribute/plan.js +1 -2
- package/dist/interactions/actions/drawnBoxes.js +4 -5
- package/dist/interactions/actions/dropVerdict.js +1 -2
- package/dist/interactions/actions/edit-anchors/action.js +4 -5
- package/dist/interactions/actions/edit-anchors/extensionDrags.js +1 -2
- package/dist/interactions/actions/edit-anchors/geometry.js +1 -2
- package/dist/interactions/actions/edit-anchors/handleDrag.js +5 -9
- package/dist/interactions/actions/edit-anchors/handleDrag.js.map +1 -1
- package/dist/interactions/actions/edit-anchors/handles.js +1 -2
- package/dist/interactions/actions/edit-anchors/params.js +1 -2
- package/dist/interactions/actions/edit-anchors/preview.js +1 -2
- package/dist/interactions/actions/edit-anchors/symmetry.js +1 -2
- package/dist/interactions/actions/flip/action.js +8 -9
- package/dist/interactions/actions/flip/helpers.js +1 -2
- package/dist/interactions/actions/geometryProjection.js +1 -2
- package/dist/interactions/actions/gestureFrames.js +3 -4
- package/dist/interactions/actions/gestureLifecycle.js +1 -2
- package/dist/interactions/actions/hitSelection.js +7 -3
- package/dist/interactions/actions/hitSelection.js.map +1 -1
- package/dist/interactions/actions/insert/action.js +6 -7
- package/dist/interactions/actions/insert/commit.js +2 -3
- package/dist/interactions/actions/insert/extras.js +1 -2
- package/dist/interactions/actions/insert/frame.js +1 -2
- package/dist/interactions/actions/insert/geometry.js +1 -2
- package/dist/interactions/actions/insert/params.js +2 -3
- package/dist/interactions/actions/insert/parent.js +1 -2
- package/dist/interactions/actions/insert/placeAction.js +5 -6
- package/dist/interactions/actions/insert/repositionAction.js +1 -2
- package/dist/interactions/actions/insert/rotateAction.js +1 -2
- package/dist/interactions/actions/insert/session.js +5 -6
- package/dist/interactions/actions/insert/shape.js +2 -3
- package/dist/interactions/actions/lasso-select/action.js +9 -9
- package/dist/interactions/actions/lasso-select/action.js.map +1 -1
- package/dist/interactions/actions/lasso-select/behaviors/selectFromLasso.js +2 -3
- package/dist/interactions/actions/magnification.js +37 -0
- package/dist/interactions/actions/magnification.js.map +1 -0
- package/dist/interactions/actions/move/action.js +2 -3
- package/dist/interactions/actions/move/behaviors/clampMove.js +42 -0
- package/dist/interactions/actions/move/behaviors/clampMove.js.map +1 -0
- package/dist/interactions/actions/move/behaviors/layoutDrop.js +2 -3
- package/dist/interactions/actions/move/behaviors/reparentOnDrop.js +2 -3
- package/dist/interactions/actions/move/behaviors/snapBackOrDelete.js +1 -2
- package/dist/interactions/actions/move/behaviors/snapToContainer.js +2 -3
- package/dist/interactions/actions/move/capture.js +6 -7
- package/dist/interactions/actions/move/commit/index.js +2 -3
- package/dist/interactions/actions/move/commit/layoutDrop.js +4 -5
- package/dist/interactions/actions/move/commit/layoutRelease.js +7 -8
- package/dist/interactions/actions/move/commit/rebase.js +2 -3
- package/dist/interactions/actions/move/commit/reparent.js +5 -6
- package/dist/interactions/actions/move/delta.js +2 -3
- package/dist/interactions/actions/move/frame.js +2 -3
- package/dist/interactions/actions/move/gestureAdapter.js +1 -2
- package/dist/interactions/actions/move/landedDescendants.js +2 -3
- package/dist/interactions/actions/move/layout/container.js +6 -10
- package/dist/interactions/actions/move/layout/container.js.map +1 -1
- package/dist/interactions/actions/move/layout/dragged.js +2 -3
- package/dist/interactions/actions/move/layout/dropPass.js +5 -6
- package/dist/interactions/actions/move/layout/exits.js +4 -5
- package/dist/interactions/actions/move/layout/exits.js.map +1 -1
- package/dist/interactions/actions/move/layout/glide.js +2 -3
- package/dist/interactions/actions/move/layout/view.js +1 -2
- package/dist/interactions/actions/move/refusal.js +2 -3
- package/dist/interactions/actions/move/session.js +4 -5
- package/dist/interactions/actions/move/translate.js +2 -3
- package/dist/interactions/actions/moveNodes.js +5 -6
- package/dist/interactions/actions/notices.js +1 -2
- package/dist/interactions/actions/outlines/createOutlines.js +1 -2
- package/dist/interactions/actions/outlines/createOutlinesAction.js +2 -3
- package/dist/interactions/actions/outlines/outlineStroke.js +2 -3
- package/dist/interactions/actions/outlines/outlineStrokeAction.js +2 -3
- package/dist/interactions/actions/outlines/replaceWithPaths.js +5 -6
- package/dist/interactions/actions/outlines/strokeRegion.js +1 -2
- package/dist/interactions/actions/outlines/useCreateOutlinesAdapter.js +1 -2
- package/dist/interactions/actions/pathCommands/cutJoin.js +3 -4
- package/dist/interactions/actions/pathCommands/livePathEdit.js +3 -4
- package/dist/interactions/actions/pathCommands/pathNodes.js +3 -4
- package/dist/interactions/actions/pathCommands/simplifyOffset.js +2 -3
- package/dist/interactions/actions/pathGestureTags.js +1 -2
- package/dist/interactions/actions/planeInput.js +2 -3
- package/dist/interactions/actions/pointerState.js +1 -2
- package/dist/interactions/actions/poseDescriptorDep.js +1 -2
- package/dist/interactions/actions/poseFrame.js +3 -4
- package/dist/interactions/actions/resize/action.js +3 -4
- package/dist/interactions/actions/resize/aspect.js +1 -2
- package/dist/interactions/actions/resize/behaviors/clampMinSize.js +1 -2
- package/dist/interactions/actions/resize/boxFrame.js +1 -2
- package/dist/interactions/actions/resize/capture.js +7 -8
- package/dist/interactions/actions/resize/commit.js +3 -4
- package/dist/interactions/actions/resize/cornerHandles.js +1 -2
- package/dist/interactions/actions/resize/frame.js +7 -8
- package/dist/interactions/actions/resize/held.js +2 -3
- package/dist/interactions/actions/resize/minimum.js +1 -2
- package/dist/interactions/actions/resize/replay.js +1 -2
- package/dist/interactions/actions/resize/ruleBounds.js +1 -2
- package/dist/interactions/actions/resize/session.js +9 -10
- package/dist/interactions/actions/resolveOverlays.js +1 -2
- package/dist/interactions/actions/resolvePreviews.js +3 -4
- package/dist/interactions/actions/rotate/action.js +5 -6
- package/dist/interactions/actions/rotate/commit.js +2 -3
- package/dist/interactions/actions/rotate/frame.js +3 -4
- package/dist/interactions/actions/rotate/geometry.js +1 -2
- package/dist/interactions/actions/rotate/handle.js +2 -3
- package/dist/interactions/actions/rotate/replay.js +2 -3
- package/dist/interactions/actions/rotate/session.js +10 -11
- package/dist/interactions/actions/selectionSubtree.js +7 -22
- package/dist/interactions/actions/selectionSubtree.js.map +1 -1
- package/dist/interactions/actions/spatialReference.js +1 -2
- package/dist/interactions/actions/testUtils.js +1 -2
- package/dist/interactions/actions/transform-again/action.js +5 -6
- package/dist/interactions/actions/transform-again/memory.js +3 -4
- package/dist/interactions/actions/transform-again/memory.js.map +1 -1
- package/dist/interactions/actions/transformFinish.js +1 -2
- package/dist/interactions/actions/useActionSet.js +1 -2
- package/dist/interactions/actions/useNotices.js +1 -2
- package/dist/interactions/actions/useStandardActions.js +1 -2
- package/dist/interactions/gestures/dragGesture/dragGesture.js +1 -2
- package/dist/interactions/gestures/dragGesture/dragPointOf.js +1 -2
- package/dist/interactions/gestures/dragRadial/dragRadial.js +2 -3
- package/dist/interactions/gestures/dragRect/dragRect.js +2 -3
- package/dist/interactions/gestures/handleDrag/handleDrag.js +1 -2
- package/dist/interactions/gestures/pointerDrag/pointerDrag.js +1 -2
- package/dist/interactions/gestures/shared/originProjection.js +1 -2
- package/dist/interactions/gestures/shared/screenTolerance.js +1 -2
- package/dist/interactions/gestures/thresholdDrag/thresholdDrag.js +1 -2
- package/dist/kitSettingsSchema.js +4 -5
- package/dist/move.d.ts +18 -3
- package/dist/move.js +2 -1
- package/dist/test-hook/createTestHook.js +1 -2
- package/dist/test-hook/install.js +1 -2
- package/dist/test-hook/useTestHook.js +1 -2
- package/dist/test-seams.d.ts +4 -4
- package/dist/test-seams.js +2 -2
- package/dist/tools/builtin/anchors/anchorsTool.js +1 -2
- package/dist/tools/builtin/ellipse/useEllipseTool.js +2 -3
- package/dist/tools/builtin/eyedropper/useEyedropperTool.js +1 -2
- package/dist/tools/builtin/hand/dragPanContribution.js +1 -2
- package/dist/tools/builtin/hand/useHandTool.js +1 -2
- package/dist/tools/builtin/image/useImageTool.js +1 -2
- package/dist/tools/builtin/lasso/useLassoTool.js +1 -2
- package/dist/tools/builtin/line/useLineTool.js +2 -3
- package/dist/tools/builtin/measure/useMeasureTool.js +2 -3
- package/dist/tools/builtin/pen/penHandle.js +1 -2
- package/dist/tools/builtin/pen/usePenTool.js +6 -7
- package/dist/tools/builtin/pencil/usePencilTool.js +1 -2
- package/dist/tools/builtin/pickTopMostHit.js +1 -2
- package/dist/tools/builtin/polygon/usePolygonTool.js +3 -4
- package/dist/tools/builtin/pressTarget.js +1 -2
- package/dist/tools/builtin/rect/useRectTool.js +2 -3
- package/dist/tools/builtin/select/adapterPointQuery.js +3 -4
- package/dist/tools/builtin/select/collapseDeferred.js +1 -2
- package/dist/tools/builtin/select/groupEntry.js +2 -3
- package/dist/tools/builtin/select/pressDecision.js +3 -4
- package/dist/tools/builtin/select/pressDecision.js.map +1 -1
- package/dist/tools/builtin/select/selectionContributions.js +1 -2
- package/dist/tools/builtin/select/useSelectTool.js +5 -6
- package/dist/tools/builtin/shared/insertToolOptions.js +1 -2
- package/dist/tools/builtin/shared/pointerFollower.js +1 -2
- package/dist/tools/builtin/slice/useSliceTool.js +5 -6
- package/dist/tools/builtin/star/useStarTool.js +3 -4
- package/dist/tools/builtin/sticky/stickyNode.js +1 -2
- package/dist/tools/builtin/sticky/useStickyTool.js +2 -3
- package/dist/tools/builtin/text/useTextTool.js +1 -2
- package/dist/tools/index.js +2 -2
- package/dist/tools/overlayBinding.js +1 -2
- package/dist/tools/toolOptions.js +17 -4
- package/dist/tools/toolOptions.js.map +1 -1
- package/dist/tools/useKeybindings.js +1 -2
- package/dist/{types-DW14eu9B.d.ts → types-BUvUXZe5.d.ts} +3 -3
- package/dist/util/color.js +1 -2
- package/dist/util/paint.js +1 -2
- package/dist/version.js +2 -3
- package/package.json +27 -27
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/NodeRouting.ts
|
|
2
2
|
/** The routing kind of a node: the name of the first entry whose `matches(data, node)` returns
|
|
3
3
|
* true, or `'unknown'`. What `NodeRouting.classify` answers, for a caller holding a plain list. */
|
|
4
4
|
function routeKind(entries, data, node) {
|
|
@@ -28,6 +28,5 @@ function createNodeRouting() {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
//#endregion
|
|
32
31
|
export { createNodeRouting, routeKind };
|
|
33
32
|
//# sourceMappingURL=NodeRouting.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { asNodeId } from "./types.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/annotation.ts
|
|
4
4
|
/**
|
|
5
5
|
* Whether `layer` holds non-printing annotations — measurements, notes —
|
|
6
6
|
* rather than content. The one question export, content picking, and layer
|
|
@@ -23,6 +23,5 @@ function isAnnotationNode(scene, id) {
|
|
|
23
23
|
return layer !== void 0 && isAnnotationLayer(scene.layers?.find((l) => l.id === layer));
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
//#endregion
|
|
27
26
|
export { annotationLayerIds, isAnnotationLayer, isAnnotationNode };
|
|
28
27
|
//# sourceMappingURL=annotation.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/appliedLog.ts
|
|
2
2
|
function createAppliedLog(env) {
|
|
3
3
|
let applied = null;
|
|
4
4
|
return {
|
|
@@ -40,6 +40,5 @@ function createAppliedLog(env) {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
//#endregion
|
|
44
43
|
export { createAppliedLog };
|
|
45
44
|
//# sourceMappingURL=appliedLog.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SceneArrivalRefused } from "./arrivals.js";
|
|
2
1
|
import { createArrangeOp } from "../ops/arrange.js";
|
|
2
|
+
import { SceneArrivalRefused } from "./arrivals.js";
|
|
3
3
|
import { createEmitter } from "@weasel-js/registry";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/arrivalWindow.ts
|
|
6
6
|
/**
|
|
7
7
|
* The scene's arrival window: what a live edit did to containers, collected
|
|
8
8
|
* while it runs and handed to a layout handler before it closes.
|
|
@@ -142,6 +142,5 @@ function createArrivalWindow(env) {
|
|
|
142
142
|
};
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
//#endregion
|
|
146
145
|
export { createArrivalWindow };
|
|
147
146
|
//# sourceMappingURL=arrivalWindow.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/arrivals.ts
|
|
2
2
|
/**
|
|
3
3
|
* Thrown by a scene edit — `batch`, `untracked`, or a bare `add` / `move` —
|
|
4
4
|
* whose arrivals the scene's arrival handler refused. The edit has already
|
|
@@ -18,6 +18,5 @@ var SceneArrivalRefused = class extends Error {
|
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
//#endregion
|
|
22
21
|
export { SceneArrivalRefused };
|
|
23
22
|
//# sourceMappingURL=arrivals.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { booleanOfChildren } from "./booleanOfChildren.js";
|
|
2
2
|
import { unionOfChildren } from "./kitRegistry.js";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/core/scene/booleanGroup.ts
|
|
5
5
|
/**
|
|
6
6
|
* The boolean group: a mark whose shape is a boolean of its children's
|
|
7
7
|
* outlines, recomputed whenever one of them changes, while the children stay
|
|
@@ -28,6 +28,5 @@ function booleanGroupFields() {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
//#endregion
|
|
32
31
|
export { booleanGroupFields };
|
|
33
32
|
//# sourceMappingURL=booleanGroup.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { booleanOfPaths } from "../geometry/booleanOfPaths.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/booleanOfChildren.ts
|
|
4
4
|
/** Registry key for {@link booleanOfChildren}. */
|
|
5
5
|
var BOOLEAN_OF_CHILDREN = "kit:booleanOfChildren";
|
|
6
6
|
var OPS = /* @__PURE__ */ new Set([
|
|
@@ -48,6 +48,5 @@ function booleanOfChildren(node, deps) {
|
|
|
48
48
|
return booleanOfPaths(op, paths);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//#endregion
|
|
52
51
|
export { BOOLEAN_OF_CHILDREN, booleanOfChildren, booleanOpOf, operandOf, setDepOutlineReader };
|
|
53
52
|
//# sourceMappingURL=booleanOfChildren.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { dwarn } from "../../debug/flag.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/boundOps.ts
|
|
4
4
|
/** Rebind an external op to the adapter supplied at the `applyBatch` call
|
|
5
5
|
* site — the scene's engine was constructed without an adapter, so ops
|
|
6
6
|
* it stores and later replays must close over the right one. Forwards
|
|
@@ -54,6 +54,5 @@ function bindOpToHistoryAdapter(op, accessor) {
|
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
//#endregion
|
|
58
57
|
export { bindOpToAdapter, bindOpToHistoryAdapter };
|
|
59
58
|
//# sourceMappingURL=boundOps.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { composeWorldPose, frameAtOrAbove, rebaseLocalPose } from "./composeFrame.js";
|
|
2
|
-
import { definesFrame } from "./effectivePose.js";
|
|
3
2
|
import { scenePoseAdapter } from "./scenePoseAdapter.js";
|
|
3
|
+
import { definesFrame } from "./effectivePose.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/carryDescendants.ts
|
|
6
6
|
/**
|
|
7
7
|
* Bringing a node's descendants along when something writes the node's pose
|
|
8
8
|
* and nothing writes theirs: a layout restacking a container, a drop landing
|
|
@@ -58,6 +58,5 @@ function heldInFrame(scene, id) {
|
|
|
58
58
|
return out;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
//#endregion
|
|
62
61
|
export { carriedDescendants, heldInFrame, sceneCarrySource };
|
|
63
62
|
//# sourceMappingURL=carryDescendants.js.map
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/clipNothing.ts
|
|
2
2
|
/** Registry key for {@link clipNothing}; every scene's registry carries it. */
|
|
3
3
|
var CLIP_NOTHING = "kit:clipNothing";
|
|
4
4
|
/** A `clipFromPose` that clips nothing, registered in every scene so a save
|
|
5
5
|
* naming {@link CLIP_NOTHING} loads. */
|
|
6
6
|
var clipNothing = () => null;
|
|
7
7
|
|
|
8
|
-
//#endregion
|
|
9
8
|
export { CLIP_NOTHING, clipNothing };
|
|
10
9
|
//# sourceMappingURL=clipNothing.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/composeFrame.ts
|
|
2
2
|
/** The absolute-pose strategy: every node stores its world pose, and a
|
|
3
3
|
* container groups its children without carrying them — moving it moves
|
|
4
4
|
* nothing else. For a scene whose poses have no frame to fold, such as one
|
|
@@ -94,6 +94,5 @@ function memoizeCompose(compose) {
|
|
|
94
94
|
return out;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
//#endregion
|
|
98
97
|
export { IDENTITY_POSE_COMPOSITION, childFrameAt, composeChildFrame, composeWorldPose, composesFrames, frameAtOrAbove, memoizeCompose, rebaseLocalPose };
|
|
99
98
|
//# sourceMappingURL=composeFrame.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDENTITY_POSE_COMPOSITION, childFrameAt, composeChildFrame, composeWorldPose, composesFrames, frameAtOrAbove, rebaseLocalPose } from "./composeFrame.js";
|
|
2
2
|
import { applyToPoint, multiply, poseFrameInverseOf, poseFrameOf, poseLinearOf, rotate } from "@weasel-js/geom";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/core/scene/composePose.ts
|
|
5
5
|
/**
|
|
6
6
|
* Pose composition for hierarchical scene graphs.
|
|
7
7
|
*
|
|
@@ -171,6 +171,5 @@ function worldPoseLookup(adapter, compose) {
|
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
//#endregion
|
|
175
174
|
export { IDENTITY_POSE_COMPOSITION, RECT_POSE_COMPOSITION, RIGID_POSE_COMPOSITION, childFrameAt, composeChildFrame, composeRectPose, composeRigidPose, composeWorldPose, composesFrames, decomposeRectPose, decomposeRigidPose, frameAtOrAbove, rebaseLocalPose, scrollRectPose, scrollRigidPose, translateRectPose, worldPoseLookup };
|
|
176
175
|
//# sourceMappingURL=composePose.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sameValue } from "./sameValue.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/declaredFieldSetters.ts
|
|
4
4
|
/** Stored only while declared, so a snapshot of a node declaring none carries neither. */
|
|
5
5
|
function write(node, field, to) {
|
|
6
6
|
if (to === void 0) delete node[field];
|
|
@@ -39,6 +39,5 @@ function createDeclaredFieldSetters(env) {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
//#endregion
|
|
43
42
|
export { createDeclaredFieldSetters };
|
|
44
43
|
//# sourceMappingURL=declaredFieldSetters.js.map
|
|
@@ -2,7 +2,7 @@ import { composeWorldPose, composesFrames, frameAtOrAbove } from "./composeFrame
|
|
|
2
2
|
import { derivedPartsOf, pathFromParts } from "./derivedParts.js";
|
|
3
3
|
import { boxToBox, multiply, poseFrameInverseOf, poseFrameOf, transformPath } from "@weasel-js/geom";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/depFrame.ts
|
|
6
6
|
/**
|
|
7
7
|
* A dependency's pose in the frame of the node reading it. Under a composing
|
|
8
8
|
* strategy a stored pose is local to its container, so a node deriving from
|
|
@@ -89,6 +89,5 @@ function carryPathBy(path, m) {
|
|
|
89
89
|
}
|
|
90
90
|
var carried = /* @__PURE__ */ new WeakMap();
|
|
91
91
|
|
|
92
|
-
//#endregion
|
|
93
92
|
export { carryBoxPath, carryDepPath, carryPathBy, depFrameRebase, pathAsPainted };
|
|
94
93
|
//# sourceMappingURL=depFrame.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fontGeneration, noteFontRead, withFontReads } from "./fontReads.js";
|
|
2
2
|
import { samePoseValue, snapshotPose } from "./poseSnapshot.js";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/core/scene/depMemo.ts
|
|
5
5
|
function emptyDepRecord() {
|
|
6
6
|
return {
|
|
7
7
|
nodes: [],
|
|
@@ -92,6 +92,5 @@ function sameDep(record, i, dep) {
|
|
|
92
92
|
return now.every((child, k) => sameDep(kids, k, child));
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
//#endregion
|
|
96
95
|
export { deriveRecorded, emptyDepRecord, sameDeps };
|
|
97
96
|
//# sourceMappingURL=depMemo.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/dependents.ts
|
|
2
2
|
var NONE = Object.freeze([]);
|
|
3
3
|
/** The nodes in `scene` that list `id` in their `dependsOn`, directly or through others, less any inside `id`'s own
|
|
4
4
|
* subtree. */
|
|
@@ -97,6 +97,5 @@ function sameDependsOn(a, b) {
|
|
|
97
97
|
return true;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
//#endregion
|
|
101
100
|
export { createDependentsIndex, dependencyIdsOf, sameDependsOn, sceneDependentsOf, sourcesOf };
|
|
102
101
|
//# sourceMappingURL=dependents.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cubicContoursToPath, joinPaths, pathToCubicContours } from "@weasel-js/geom";
|
|
2
2
|
import { resolveFill, resolveStroke } from "@weasel-js/paint";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/core/scene/derivedParts.ts
|
|
5
5
|
/** What `part` paints, its `INHERIT` taken from `own`, the deriving node's
|
|
6
6
|
* data — whose own `INHERIT` takes `inherited`, its container's. */
|
|
7
7
|
function resolvePartPaint(part, own, inherited) {
|
|
@@ -31,6 +31,5 @@ function concatPaths(paths) {
|
|
|
31
31
|
return joinPaths(paths.map((p) => p.kind === "rect" ? cubicContoursToPath(pathToCubicContours(p)) : p));
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
//#endregion
|
|
35
34
|
export { derivedPartsOf, pathFromParts, resolvePartPaint };
|
|
36
35
|
//# sourceMappingURL=derivedParts.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { deriveRecorded, emptyDepRecord, sameDeps } from "./depMemo.js";
|
|
2
1
|
import { dependencyIdsOf } from "./dependents.js";
|
|
3
2
|
import { dropPoseKeyedMemoSlots, nodeMemo } from "./nodeMemo.js";
|
|
3
|
+
import { deriveRecorded, emptyDepRecord, sameDeps } from "./depMemo.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/derivedPath.ts
|
|
6
6
|
var SLOT = "kit:derivedPath";
|
|
7
7
|
/** Ids whose path is on the stack. `dependsOn` is unvalidated, so a cycle
|
|
8
8
|
* resolves to `null` at whichever node closes it rather than overflowing
|
|
@@ -55,6 +55,5 @@ function draw(node, derivePath, deps, into) {
|
|
|
55
55
|
return into;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
//#endregion
|
|
59
58
|
export { resolveDerivedPath };
|
|
60
59
|
//# sourceMappingURL=derivedPath.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { deepEqual } from "@weasel-js/registry";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/docValues.ts
|
|
4
4
|
/**
|
|
5
5
|
* Document state that is not a node — a document's pages, its theme — held as
|
|
6
6
|
* named JSON values beside the tree, saved in its snapshot and undone with it.
|
|
@@ -52,6 +52,5 @@ function createSceneDoc(env) {
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
//#endregion
|
|
56
55
|
export { createDocStore, createSceneDoc };
|
|
57
56
|
//# sourceMappingURL=docValues.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/documentOf.ts
|
|
2
2
|
var refuse = () => {
|
|
3
3
|
throw new Error("documentOf: the document reading holds no overrides; write them to the scene");
|
|
4
4
|
};
|
|
@@ -38,6 +38,5 @@ function isDocument(source) {
|
|
|
38
38
|
return source.overrides === DOCUMENT_OVERRIDES;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
//#endregion
|
|
42
41
|
export { documentOf, isDocument };
|
|
43
42
|
//# sourceMappingURL=documentOf.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/editMode.ts
|
|
2
2
|
function createEditMode() {
|
|
3
3
|
const depth = {
|
|
4
4
|
batch: 0,
|
|
@@ -24,6 +24,5 @@ function createEditMode() {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
//#endregion
|
|
28
27
|
export { createEditMode };
|
|
29
28
|
//# sourceMappingURL=editMode.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/editPass.ts
|
|
2
2
|
var emptyCollecting = () => ({
|
|
3
3
|
added: /* @__PURE__ */ new Set(),
|
|
4
4
|
removed: /* @__PURE__ */ new Set(),
|
|
@@ -106,6 +106,5 @@ function createEditPasses(env) {
|
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
//#endregion
|
|
110
109
|
export { createEditPasses };
|
|
111
110
|
//# sourceMappingURL=editPass.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { composesFrames } from "./composeFrame.js";
|
|
2
1
|
import { deriveRecorded, emptyDepRecord, sameDeps } from "./depMemo.js";
|
|
2
|
+
import { composesFrames } from "./composeFrame.js";
|
|
3
3
|
import { carryDepPath, depFrameRebase, pathAsPainted } from "./depFrame.js";
|
|
4
4
|
import { dependencyIdsOf } from "./dependents.js";
|
|
5
|
-
import { dropPoseKeyedMemoSlots, nodeMemo } from "./nodeMemo.js";
|
|
6
5
|
import { resolveDerivedPath } from "./derivedPath.js";
|
|
7
6
|
import { inheritedPaintIn } from "./inheritedPaint.js";
|
|
8
7
|
import { isDocument } from "./documentOf.js";
|
|
9
8
|
import { nodeAsShown, shownLookup } from "./nodeAsShown.js";
|
|
9
|
+
import { dropPoseKeyedMemoSlots, nodeMemo } from "./nodeMemo.js";
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
// src/core/scene/effectivePose.ts
|
|
12
12
|
/**
|
|
13
13
|
* `effectivePose` — the pose to draw, pick and measure a node at.
|
|
14
14
|
*
|
|
@@ -237,6 +237,5 @@ function isEnvelope(node) {
|
|
|
237
237
|
return node.dependsOn === "children" && node.derivePose !== void 0;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
//#endregion
|
|
241
240
|
export { definesFrame, derivedDepOf, derivedPose, documentDepOf, documentPose, effectivePose, isEnvelope };
|
|
242
241
|
//# sourceMappingURL=effectivePose.js.map
|
|
@@ -2,7 +2,7 @@ import { sameDependsOn } from "./dependents.js";
|
|
|
2
2
|
import { foundHiddenRetargeted } from "./pathEffects/foundHidden.js";
|
|
3
3
|
import { resized } from "./layoutPass.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/fieldEdits.ts
|
|
6
6
|
function createFieldEdits(env) {
|
|
7
7
|
const { layoutFrame, layoutField, layoutRefs } = env;
|
|
8
8
|
const { requireNode, descendants } = env.store;
|
|
@@ -119,6 +119,5 @@ function createFieldEdits(env) {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
//#endregion
|
|
123
122
|
export { createFieldEdits };
|
|
124
123
|
//# sourceMappingURL=fieldEdits.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { faceGeneration } from "@weasel-js/font";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/fontReads.ts
|
|
4
4
|
/**
|
|
5
5
|
* Whether a derivation read glyph outlines. Outlines land asynchronously, so a
|
|
6
6
|
* derivation that read them while a face was loading is stale once it lands,
|
|
@@ -32,6 +32,5 @@ function fontGeneration() {
|
|
|
32
32
|
return faceGeneration();
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
//#endregion
|
|
36
35
|
export { fontGeneration, noteFontRead, withFontReads };
|
|
37
36
|
//# sourceMappingURL=fontReads.js.map
|
|
@@ -2,7 +2,7 @@ import { dwarn } from "../../debug/flag.js";
|
|
|
2
2
|
import { SCENE_HISTORY_FORM } from "./historyForm.js";
|
|
3
3
|
import { createSceneJournals } from "./sceneJournals.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/historyFacade.ts
|
|
6
6
|
function createSceneHistory(env) {
|
|
7
7
|
const { engine, replay, notify, refuseUntracked, runArrivalEdit } = env;
|
|
8
8
|
const journals = createSceneJournals(env);
|
|
@@ -128,6 +128,5 @@ function createSceneHistory(env) {
|
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
//#endregion
|
|
132
131
|
export { createSceneHistory };
|
|
133
132
|
//# sourceMappingURL=historyFacade.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/historyForm.ts
|
|
2
2
|
/** The form a scene's undo entries are recorded in. A serialized history
|
|
3
3
|
* carries it, and one carrying another is not restored. Form 4 records a
|
|
4
4
|
* child's pose in its container's frame; form 3 named nodes `mark` and
|
|
@@ -6,6 +6,5 @@
|
|
|
6
6
|
* `applyBatch` entry held the ops it was given. */
|
|
7
7
|
var SCENE_HISTORY_FORM = 4;
|
|
8
8
|
|
|
9
|
-
//#endregion
|
|
10
9
|
export { SCENE_HISTORY_FORM };
|
|
11
10
|
//# sourceMappingURL=historyForm.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INHERIT, resolveFill, resolveStroke } from "@weasel-js/paint";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/core/scene/inheritedPaint.ts
|
|
4
4
|
/** Whether `node`'s fill or stroke is {@link INHERIT}, so painting it needs
|
|
5
5
|
* its containers' paint. */
|
|
6
6
|
function inheritsPaint(node) {
|
|
@@ -92,6 +92,5 @@ function withInheritedPaint(data, inherited) {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
//#endregion
|
|
96
95
|
export { inheritedPaintIn, inheritedPaintOf, inheritsPaint, paintInheritors, sceneAncestors, withInheritedPaint };
|
|
97
96
|
//# sourceMappingURL=inheritedPaint.js.map
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { dwarn } from "../../debug/flag.js";
|
|
2
|
+
import { registerLayerOps } from "./layerOps.js";
|
|
2
3
|
import { restoreFn } from "./nodeFnFields.js";
|
|
3
4
|
import { statedFields } from "./statedFields.js";
|
|
4
|
-
import { registerLayerOps } from "./layerOps.js";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/core/scene/kitOps.ts
|
|
7
|
+
/** Move a node from under `left` to `joined` at `index`, for `kit:move` either way. */
|
|
8
|
+
function movesNode(env) {
|
|
9
|
+
const { detach, attach, invalidateChildDerivedFrom, invalidateDependents } = env.store;
|
|
10
|
+
return (id, left, joined, index) => {
|
|
11
|
+
detach(id);
|
|
12
|
+
attach(id, joined, index);
|
|
13
|
+
invalidateChildDerivedFrom(left);
|
|
14
|
+
invalidateDependents(id);
|
|
15
|
+
if (left !== joined) env.narrowSelection();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
7
18
|
/** Register every kit op kind. Answers with the table a live `kit:setLayout`
|
|
8
19
|
* payload's strategies are kept in, which `scene.setLayout` fills. */
|
|
9
20
|
function registerKitOps(env) {
|
|
@@ -12,6 +23,7 @@ function registerKitOps(env) {
|
|
|
12
23
|
function registerKitOp(kind, handler) {
|
|
13
24
|
env.register(kind, handler);
|
|
14
25
|
}
|
|
26
|
+
const relocate = movesNode(env);
|
|
15
27
|
registerKitOp("kit:add", {
|
|
16
28
|
apply: (p) => {
|
|
17
29
|
if (state.nodes.has(p.id)) throw new Error(`Scene: id collision on "${p.id}"`);
|
|
@@ -149,23 +161,12 @@ function registerKitOps(env) {
|
|
|
149
161
|
}
|
|
150
162
|
});
|
|
151
163
|
registerKitOp("kit:move", {
|
|
152
|
-
apply: (p) =>
|
|
153
|
-
|
|
154
|
-
attach(p.id, p.toParent, p.toIndex);
|
|
155
|
-
invalidateChildDerivedFrom(p.fromParent);
|
|
156
|
-
invalidateDependents(p.id);
|
|
157
|
-
},
|
|
158
|
-
revert: (p) => {
|
|
159
|
-
detach(p.id);
|
|
160
|
-
attach(p.id, p.fromParent, p.fromIndex);
|
|
161
|
-
invalidateChildDerivedFrom(p.toParent);
|
|
162
|
-
invalidateDependents(p.id);
|
|
163
|
-
}
|
|
164
|
+
apply: (p) => relocate(p.id, p.fromParent, p.toParent, p.toIndex),
|
|
165
|
+
revert: (p) => relocate(p.id, p.toParent, p.fromParent, p.fromIndex)
|
|
164
166
|
});
|
|
165
167
|
registerLayerOps(env);
|
|
166
168
|
return { layoutRefs };
|
|
167
169
|
}
|
|
168
170
|
|
|
169
|
-
//#endregion
|
|
170
171
|
export { registerKitOps };
|
|
171
172
|
//# sourceMappingURL=kitOps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kitOps.js","names":[],"sources":["../../../src/core/scene/kitOps.ts"],"sourcesContent":["/**\n * The kit's own op kinds: `kit:add`, `kit:remove`, `kit:setPose`, and the\n * rest. They are registered like any other op; the scene's mutation methods\n * build serializable payloads and route through the same log and replay\n * machinery a consumer's ops do.\n */\nimport type { UnitScope } from '@weasel-js/quantity';\nimport { dwarn } from 'debug/flag';\nimport type { LayoutStrategy } from '../../layout/types';\nimport { registerLayerOps } from './layerOps';\nimport { restoreFn, type FnBearingNode, type NodeFnField } from './nodeFnFields';\nimport { statedFields } from './statedFields';\nimport type { createNodeStore } from './nodeStore';\nimport type {\n LayerRecord, Node, NodeClip, NodeId, RegisteredOp,\n} from './types';\n\n/**\n * Snapshot of every node a removal deletes, so revert restores it exactly.\n *\n * A cascade unlinks several disjoint subtrees, not one, so `detached` names\n * each node the tree has to re-link; everything else in `nodes` has a parent\n * that is also going and rides back in that parent's cloned `children`.\n * Entries are sorted by ascending sibling index — globally rather than\n * per-parent, because only same-parent order constrains re-insertion and\n * entries under different parents never interact.\n */\nexport interface RemoveSnapshot<TData, TLayer extends string, TPose> {\n nodes: Node<TData, TLayer, TPose>[];\n detached: { id: NodeId; parent: NodeId | null; index: number }[];\n /** Registry keys for the function-valued fields on `nodes`. The functions\n * themselves do not survive a persisted history, so revert re-resolves\n * them the way `kit:add` does. */\n fnKeys?: ({ id: NodeId } & Record<string, string | undefined>)[];\n}\n\n/** What a `kit:setLayout` op carries: the container, and each side's layout\n * by registry key when it has one. */\nexport interface SetLayoutPayload { id: NodeId; fromKey?: string; toKey?: string }\n\n/** What the op table needs from the scene it mutates. */\nexport interface KitOpsEnv<TData, TLayer extends string, TPose> {\n state: {\n nodes: Map<NodeId, Node<TData, TLayer, TPose>>;\n layers: LayerRecord<TLayer>[];\n };\n register(kind: string, handler: RegisteredOp<unknown>): void;\n store: ReturnType<typeof createNodeStore<TData, TLayer, TPose>>;\n requireLayerIndex(layer: TLayer): number;\n rebuildLayerIndex(): void;\n invalidateOrder(): void;\n fnFields: readonly NodeFnField[];\n /** Drop from the selection whatever a lock or a hide just put out of\n * reach, and the ids in `gone`. */\n narrowSelection(gone?: ReadonlySet<NodeId>): void;\n /** Drop the pose override of a node that is about to leave the scene: ids\n * are reusable, and one left behind would attach itself to whatever is\n * added under that id next. */\n clearOverride(id: NodeId): void;\n /** See `LockGuard.noteWritten`. */\n noteWritten(node: Node<TData, TLayer, TPose>): void;\n}\n\n/** Register every kit op kind. Answers with the table a live `kit:setLayout`\n * payload's strategies are kept in, which `scene.setLayout` fills. */\nexport function registerKitOps<TData, TLayer extends string, TPose>(\n env: KitOpsEnv<TData, TLayer, TPose>,\n): {\n layoutRefs: WeakMap<object, { from: LayoutStrategy<TPose> | null; to: LayoutStrategy<TPose> | null }>;\n} {\n const { state, requireLayerIndex, invalidateOrder, fnFields } = env;\n const {\n dependents, childDerived, invalidateDependents, invalidateChildDerivedFrom, trackChildDerived, retarget,\n requireNode, detach, attach, addedFns, restoreNodeFunctions,\n } = env.store;\n\n function registerKitOp<P>(kind: string, handler: RegisteredOp<P>): void {\n env.register(kind, handler as RegisteredOp<unknown>);\n }\n\n registerKitOp<{\n id: NodeId; kind: 'mark' | 'group'; layer: TLayer; pose: TPose; data: TData;\n parent: NodeId | null; index: number;\n dependsOn?: readonly NodeId[] | 'children';\n pickable?: boolean; hidden?: boolean; locked?: boolean;\n units?: UnitScope; clip?: NodeClip; consumesChildren?: boolean;\n } & Record<string, unknown>>('kit:add', {\n apply: (p) => {\n if (state.nodes.has(p.id)) {\n throw new Error(`Scene: id collision on \"${p.id}\"`);\n }\n const node = {\n kind: p.kind, id: p.id, layer: p.layer, pose: p.pose, data: p.data, parent: p.parent,\n } as Node<TData, TLayer, TPose>;\n state.nodes.set(p.id, node);\n attach(p.id, p.parent, p.index);\n if (p.dependsOn !== undefined) node.dependsOn = p.dependsOn;\n Object.assign(node, statedFields(p));\n env.noteWritten(node);\n dependents.add(p.id, p.dependsOn === 'children' ? [] : p.dependsOn ?? []);\n trackChildDerived(p.id, p.dependsOn);\n // Two ways a function field comes back. Redo of a live add reads\n // what `scene.add` attached, since it replays the op without a spec.\n // A restored history has only the registry key the payload carries.\n const target = node as unknown as FnBearingNode;\n const attached = addedFns.get(p);\n for (const field of fnFields) {\n const fn = attached?.get(field);\n if (fn !== undefined) {\n field.write(target, fn);\n continue;\n }\n const key = p[field.spec.opKey] as string | undefined;\n if (key !== undefined) restoreFn(field, target, key, 'kit:add', dwarn);\n }\n invalidateDependents(p.id);\n },\n revert: (p) => {\n env.clearOverride(p.id);\n detach(p.id);\n state.nodes.delete(p.id);\n dependents.remove(p.id);\n childDerived.delete(p.id);\n invalidateChildDerivedFrom(p.parent);\n invalidateDependents(p.id);\n },\n });\n\n // Neither half invalidates dependents: removal's closure takes every live one.\n registerKitOp<RemoveSnapshot<TData, TLayer, TPose>>('kit:remove', {\n apply: (p) => {\n for (const n of p.nodes) env.clearOverride(n.id);\n for (const d of p.detached) detach(d.id);\n for (const n of p.nodes) {\n state.nodes.delete(n.id);\n dependents.remove(n.id);\n childDerived.delete(n.id);\n }\n // A `dependsOn: 'children'` container the removal did not take is now\n // hugging a smaller set.\n for (const d of p.detached) invalidateChildDerivedFrom(d.parent);\n env.narrowSelection(new Set(p.nodes.map((n) => n.id)));\n },\n revert: (p) => {\n const keys = new Map((p.fnKeys ?? []).map((k) => [k.id, k]));\n // Order-independent: every clone carries its own parent and children.\n for (const n of p.nodes) {\n const clone: Node<TData, TLayer, TPose> = n.children\n ? { ...n, children: [...n.children] }\n : { ...n };\n restoreNodeFunctions(clone, keys.get(n.id));\n state.nodes.set(n.id, clone);\n env.noteWritten(clone);\n dependents.add(n.id, clone.dependsOn === 'children' ? [] : clone.dependsOn ?? []);\n trackChildDerived(n.id, clone.dependsOn);\n }\n for (const d of p.detached) attach(d.id, d.parent, d.index);\n for (const d of p.detached) invalidateChildDerivedFrom(d.parent);\n },\n });\n\n registerKitOp<{ id: NodeId; from: TPose; to: TPose }>('kit:setPose', {\n apply: (p) => {\n (requireNode(p.id) as { pose: TPose }).pose = p.to;\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { pose: TPose }).pose = p.from;\n invalidateDependents(p.id);\n },\n });\n\n // A derivation is handed its dependencies' nodes, not only their poses, so a\n // connector reading `data` or `layer` goes stale on these two exactly as it\n // does on a move.\n registerKitOp<{ id: NodeId; from: TData; to: TData }>('kit:setData', {\n apply: (p) => {\n (requireNode(p.id) as { data: TData }).data = p.to;\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { data: TData }).data = p.from;\n invalidateDependents(p.id);\n },\n });\n\n registerKitOp<{ id: NodeId; from: TLayer; to: TLayer }>('kit:setLayer', {\n apply: (p) => {\n requireLayerIndex(p.to);\n (requireNode(p.id) as { layer: TLayer }).layer = p.to;\n invalidateOrder();\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { layer: TLayer }).layer = p.from;\n invalidateOrder();\n invalidateDependents(p.id);\n },\n });\n\n registerKitOp<{\n id: NodeId;\n from: Node<TData, TLayer, TPose>['dependsOn'];\n to: Node<TData, TLayer, TPose>['dependsOn'];\n }>('kit:setDependsOn', {\n apply: (p) => { retarget(p.id, p.to); },\n revert: (p) => { retarget(p.id, p.from); },\n });\n\n /** The strategies each live `kit:setLayout` payload swaps between. A payload\n * replayed from a persisted history has none, and resolves its keys. */\n const layoutRefs = new WeakMap<object, { from: LayoutStrategy<TPose> | null; to: LayoutStrategy<TPose> | null }>();\n function placeLayout(p: SetLayoutPayload, side: 'from' | 'to'): void {\n const node = requireNode(p.id) as unknown as FnBearingNode;\n const field = fnFields.find((f) => f.spec.field === 'layout')!;\n const live = layoutRefs.get(p);\n const key = side === 'from' ? p.fromKey : p.toKey;\n if (live === undefined && key !== undefined) {\n delete node.layout;\n restoreFn(field, node, key, 'kit:setLayout', dwarn);\n return;\n }\n const layout = live?.[side] ?? null;\n if (layout === null) delete node.layout;\n else field.write(node, layout);\n }\n registerKitOp<SetLayoutPayload>('kit:setLayout', {\n apply: (p) => { placeLayout(p, 'to'); },\n revert: (p) => { placeLayout(p, 'from'); },\n });\n\n registerKitOp<{\n id: NodeId; fromParent: NodeId | null; fromIndex: number;\n toParent: NodeId | null; toIndex: number;\n }>('kit:move', {\n apply: (p) => {\n detach(p.id);\n attach(p.id, p.toParent, p.toIndex);\n // Both ends: the container it left no longer hugs it, and the one it\n // joined now does.\n invalidateChildDerivedFrom(p.fromParent);\n invalidateDependents(p.id);\n },\n revert: (p) => {\n detach(p.id);\n attach(p.id, p.fromParent, p.fromIndex);\n invalidateChildDerivedFrom(p.toParent);\n invalidateDependents(p.id);\n },\n });\n\n registerLayerOps(env);\n\n return { layoutRefs };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kitOps.js","names":[],"sources":["../../../src/core/scene/kitOps.ts"],"sourcesContent":["/**\n * The kit's own op kinds: `kit:add`, `kit:remove`, `kit:setPose`, and the\n * rest. They are registered like any other op; the scene's mutation methods\n * build serializable payloads and route through the same log and replay\n * machinery a consumer's ops do.\n */\nimport type { UnitScope } from '@weasel-js/quantity';\nimport { dwarn } from 'debug/flag';\nimport type { LayoutStrategy } from '../../layout/types';\nimport { registerLayerOps } from './layerOps';\nimport { restoreFn, type FnBearingNode, type NodeFnField } from './nodeFnFields';\nimport { statedFields } from './statedFields';\nimport type { createNodeStore } from './nodeStore';\nimport type {\n LayerRecord, Node, NodeClip, NodeId, RegisteredOp,\n} from './types';\n\n/**\n * Snapshot of every node a removal deletes, so revert restores it exactly.\n *\n * A cascade unlinks several disjoint subtrees, not one, so `detached` names\n * each node the tree has to re-link; everything else in `nodes` has a parent\n * that is also going and rides back in that parent's cloned `children`.\n * Entries are sorted by ascending sibling index — globally rather than\n * per-parent, because only same-parent order constrains re-insertion and\n * entries under different parents never interact.\n */\nexport interface RemoveSnapshot<TData, TLayer extends string, TPose> {\n nodes: Node<TData, TLayer, TPose>[];\n detached: { id: NodeId; parent: NodeId | null; index: number }[];\n /** Registry keys for the function-valued fields on `nodes`. The functions\n * themselves do not survive a persisted history, so revert re-resolves\n * them the way `kit:add` does. */\n fnKeys?: ({ id: NodeId } & Record<string, string | undefined>)[];\n}\n\n/** What a `kit:setLayout` op carries: the container, and each side's layout\n * by registry key when it has one. */\nexport interface SetLayoutPayload { id: NodeId; fromKey?: string; toKey?: string }\n\n/** What the op table needs from the scene it mutates. */\nexport interface KitOpsEnv<TData, TLayer extends string, TPose> {\n state: {\n nodes: Map<NodeId, Node<TData, TLayer, TPose>>;\n layers: LayerRecord<TLayer>[];\n };\n register(kind: string, handler: RegisteredOp<unknown>): void;\n store: ReturnType<typeof createNodeStore<TData, TLayer, TPose>>;\n requireLayerIndex(layer: TLayer): number;\n rebuildLayerIndex(): void;\n invalidateOrder(): void;\n fnFields: readonly NodeFnField[];\n /** Drop from the selection whatever a lock or a hide just put out of\n * reach, and the ids in `gone`. */\n narrowSelection(gone?: ReadonlySet<NodeId>): void;\n /** Drop the pose override of a node that is about to leave the scene: ids\n * are reusable, and one left behind would attach itself to whatever is\n * added under that id next. */\n clearOverride(id: NodeId): void;\n /** See `LockGuard.noteWritten`. */\n noteWritten(node: Node<TData, TLayer, TPose>): void;\n}\n\n/** Move a node from under `left` to `joined` at `index`, for `kit:move` either way. */\nfunction movesNode<TData, TLayer extends string, TPose>(env: KitOpsEnv<TData, TLayer, TPose>) {\n const { detach, attach, invalidateChildDerivedFrom, invalidateDependents } = env.store;\n return (id: NodeId, left: NodeId | null, joined: NodeId | null, index: number): void => {\n detach(id);\n attach(id, joined, index);\n // Both ends: the container it left no longer hugs it, and the one it\n // joined now does.\n invalidateChildDerivedFrom(left);\n invalidateDependents(id);\n // Moved under a selected node, it is held by that node now.\n if (left !== joined) env.narrowSelection();\n };\n}\n\n/** Register every kit op kind. Answers with the table a live `kit:setLayout`\n * payload's strategies are kept in, which `scene.setLayout` fills. */\nexport function registerKitOps<TData, TLayer extends string, TPose>(\n env: KitOpsEnv<TData, TLayer, TPose>,\n): {\n layoutRefs: WeakMap<object, { from: LayoutStrategy<TPose> | null; to: LayoutStrategy<TPose> | null }>;\n} {\n const { state, requireLayerIndex, invalidateOrder, fnFields } = env;\n const {\n dependents, childDerived, invalidateDependents, invalidateChildDerivedFrom, trackChildDerived, retarget,\n requireNode, detach, attach, addedFns, restoreNodeFunctions,\n } = env.store;\n\n function registerKitOp<P>(kind: string, handler: RegisteredOp<P>): void {\n env.register(kind, handler as RegisteredOp<unknown>);\n }\n const relocate = movesNode(env);\n\n registerKitOp<{\n id: NodeId; kind: 'mark' | 'group'; layer: TLayer; pose: TPose; data: TData;\n parent: NodeId | null; index: number;\n dependsOn?: readonly NodeId[] | 'children';\n pickable?: boolean; hidden?: boolean; locked?: boolean;\n units?: UnitScope; clip?: NodeClip; consumesChildren?: boolean;\n } & Record<string, unknown>>('kit:add', {\n apply: (p) => {\n if (state.nodes.has(p.id)) {\n throw new Error(`Scene: id collision on \"${p.id}\"`);\n }\n const node = {\n kind: p.kind, id: p.id, layer: p.layer, pose: p.pose, data: p.data, parent: p.parent,\n } as Node<TData, TLayer, TPose>;\n state.nodes.set(p.id, node);\n attach(p.id, p.parent, p.index);\n if (p.dependsOn !== undefined) node.dependsOn = p.dependsOn;\n Object.assign(node, statedFields(p));\n env.noteWritten(node);\n dependents.add(p.id, p.dependsOn === 'children' ? [] : p.dependsOn ?? []);\n trackChildDerived(p.id, p.dependsOn);\n // Two ways a function field comes back. Redo of a live add reads\n // what `scene.add` attached, since it replays the op without a spec.\n // A restored history has only the registry key the payload carries.\n const target = node as unknown as FnBearingNode;\n const attached = addedFns.get(p);\n for (const field of fnFields) {\n const fn = attached?.get(field);\n if (fn !== undefined) {\n field.write(target, fn);\n continue;\n }\n const key = p[field.spec.opKey] as string | undefined;\n if (key !== undefined) restoreFn(field, target, key, 'kit:add', dwarn);\n }\n invalidateDependents(p.id);\n },\n revert: (p) => {\n env.clearOverride(p.id);\n detach(p.id);\n state.nodes.delete(p.id);\n dependents.remove(p.id);\n childDerived.delete(p.id);\n invalidateChildDerivedFrom(p.parent);\n invalidateDependents(p.id);\n },\n });\n\n // Neither half invalidates dependents: removal's closure takes every live one.\n registerKitOp<RemoveSnapshot<TData, TLayer, TPose>>('kit:remove', {\n apply: (p) => {\n for (const n of p.nodes) env.clearOverride(n.id);\n for (const d of p.detached) detach(d.id);\n for (const n of p.nodes) {\n state.nodes.delete(n.id);\n dependents.remove(n.id);\n childDerived.delete(n.id);\n }\n // A `dependsOn: 'children'` container the removal did not take is now\n // hugging a smaller set.\n for (const d of p.detached) invalidateChildDerivedFrom(d.parent);\n env.narrowSelection(new Set(p.nodes.map((n) => n.id)));\n },\n revert: (p) => {\n const keys = new Map((p.fnKeys ?? []).map((k) => [k.id, k]));\n // Order-independent: every clone carries its own parent and children.\n for (const n of p.nodes) {\n const clone: Node<TData, TLayer, TPose> = n.children\n ? { ...n, children: [...n.children] }\n : { ...n };\n restoreNodeFunctions(clone, keys.get(n.id));\n state.nodes.set(n.id, clone);\n env.noteWritten(clone);\n dependents.add(n.id, clone.dependsOn === 'children' ? [] : clone.dependsOn ?? []);\n trackChildDerived(n.id, clone.dependsOn);\n }\n for (const d of p.detached) attach(d.id, d.parent, d.index);\n for (const d of p.detached) invalidateChildDerivedFrom(d.parent);\n },\n });\n\n registerKitOp<{ id: NodeId; from: TPose; to: TPose }>('kit:setPose', {\n apply: (p) => {\n (requireNode(p.id) as { pose: TPose }).pose = p.to;\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { pose: TPose }).pose = p.from;\n invalidateDependents(p.id);\n },\n });\n\n // A derivation is handed its dependencies' nodes, not only their poses, so a\n // connector reading `data` or `layer` goes stale on these two exactly as it\n // does on a move.\n registerKitOp<{ id: NodeId; from: TData; to: TData }>('kit:setData', {\n apply: (p) => {\n (requireNode(p.id) as { data: TData }).data = p.to;\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { data: TData }).data = p.from;\n invalidateDependents(p.id);\n },\n });\n\n registerKitOp<{ id: NodeId; from: TLayer; to: TLayer }>('kit:setLayer', {\n apply: (p) => {\n requireLayerIndex(p.to);\n (requireNode(p.id) as { layer: TLayer }).layer = p.to;\n invalidateOrder();\n invalidateDependents(p.id);\n },\n revert: (p) => {\n (requireNode(p.id) as { layer: TLayer }).layer = p.from;\n invalidateOrder();\n invalidateDependents(p.id);\n },\n });\n\n registerKitOp<{\n id: NodeId;\n from: Node<TData, TLayer, TPose>['dependsOn'];\n to: Node<TData, TLayer, TPose>['dependsOn'];\n }>('kit:setDependsOn', {\n apply: (p) => { retarget(p.id, p.to); },\n revert: (p) => { retarget(p.id, p.from); },\n });\n\n /** The strategies each live `kit:setLayout` payload swaps between. A payload\n * replayed from a persisted history has none, and resolves its keys. */\n const layoutRefs = new WeakMap<object, { from: LayoutStrategy<TPose> | null; to: LayoutStrategy<TPose> | null }>();\n function placeLayout(p: SetLayoutPayload, side: 'from' | 'to'): void {\n const node = requireNode(p.id) as unknown as FnBearingNode;\n const field = fnFields.find((f) => f.spec.field === 'layout')!;\n const live = layoutRefs.get(p);\n const key = side === 'from' ? p.fromKey : p.toKey;\n if (live === undefined && key !== undefined) {\n delete node.layout;\n restoreFn(field, node, key, 'kit:setLayout', dwarn);\n return;\n }\n const layout = live?.[side] ?? null;\n if (layout === null) delete node.layout;\n else field.write(node, layout);\n }\n registerKitOp<SetLayoutPayload>('kit:setLayout', {\n apply: (p) => { placeLayout(p, 'to'); },\n revert: (p) => { placeLayout(p, 'from'); },\n });\n\n registerKitOp<{\n id: NodeId; fromParent: NodeId | null; fromIndex: number;\n toParent: NodeId | null; toIndex: number;\n }>('kit:move', {\n apply: (p) => relocate(p.id, p.fromParent, p.toParent, p.toIndex),\n revert: (p) => relocate(p.id, p.toParent, p.fromParent, p.fromIndex),\n });\n\n registerLayerOps(env);\n\n return { layoutRefs };\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { unionAABB } from "../geometry/unionBounds.js";
|
|
2
|
-
import { BOOLEAN_OF_CHILDREN, booleanOfChildren } from "./booleanOfChildren.js";
|
|
3
2
|
import { CLIP_NOTHING, clipNothing } from "./clipNothing.js";
|
|
3
|
+
import { BOOLEAN_OF_CHILDREN, booleanOfChildren } from "./booleanOfChildren.js";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/core/scene/kitRegistry.ts
|
|
6
6
|
/**
|
|
7
7
|
* The `SceneRegistry` entries the kit owns.
|
|
8
8
|
*
|
|
@@ -65,6 +65,5 @@ function withKitRegistry(registry) {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
//#endregion
|
|
69
68
|
export { UNION_OF_CHILDREN, asRectPose, unionOfChildren, withKitRegistry };
|
|
70
69
|
//# sourceMappingURL=kitRegistry.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/layerOps.ts
|
|
2
2
|
function setParallax(record, to) {
|
|
3
3
|
if (to === void 0) delete record.parallax;
|
|
4
4
|
else record.parallax = to;
|
|
@@ -77,6 +77,5 @@ function registerLayerOps(env) {
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
//#endregion
|
|
81
80
|
export { registerLayerOps };
|
|
82
81
|
//# sourceMappingURL=layerOps.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/core/scene/layerStack.ts
|
|
2
2
|
/** A declared system layer as the stack holds it. */
|
|
3
3
|
function systemLayerRecord(spec) {
|
|
4
4
|
return {
|
|
@@ -157,6 +157,5 @@ function createLayerEdits(env) {
|
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
//#endregion
|
|
161
160
|
export { createLayerEdits, createLayerStack, systemLayerRecord };
|
|
162
161
|
//# sourceMappingURL=layerStack.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { composeWorldPose, rebaseLocalPose } from "./composeFrame.js";
|
|
2
|
-
import { samePoseValue } from "./poseSnapshot.js";
|
|
3
|
-
import { definesFrame, documentPose } from "./effectivePose.js";
|
|
4
2
|
import { carriedDescendants } from "./carryDescendants.js";
|
|
5
|
-
import {
|
|
3
|
+
import { definesFrame, documentPose } from "./effectivePose.js";
|
|
6
4
|
import { asRectPose } from "./kitRegistry.js";
|
|
5
|
+
import { samePoseValue } from "./poseSnapshot.js";
|
|
6
|
+
import { strategyView } from "./strategyView.js";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/core/scene/layoutPass.ts
|
|
9
9
|
/**
|
|
10
10
|
* The one computation behind a scene's container layouts: given the
|
|
11
11
|
* containers one edit changed, the pose writes their layouts ask for.
|
|
@@ -162,6 +162,5 @@ function runLayoutPass(source, layoutOf, arrivals, changed, frame, departures =
|
|
|
162
162
|
return out;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
//#endregion
|
|
166
165
|
export { resized, resolveLayoutFrame, runLayoutPass };
|
|
167
166
|
//# sourceMappingURL=layoutPass.js.map
|