@weasel-js/core 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/dist/{autoPoseDescriptor-Dr6CwNZK.d.ts → autoPoseDescriptor-_XOyF7t4.d.ts} +2 -1
  3. package/dist/{chunk-P6MGECVO.js → chunk-44EWMJV2.js} +3 -3
  4. package/dist/{chunk-P6MGECVO.js.map → chunk-44EWMJV2.js.map} +1 -1
  5. package/dist/{chunk-XXQ6FLCJ.js → chunk-H6N2JSZ3.js} +3 -3
  6. package/dist/{chunk-XXQ6FLCJ.js.map → chunk-H6N2JSZ3.js.map} +1 -1
  7. package/dist/{chunk-HAGOFNP5.js → chunk-HPFJUUTF.js} +25 -20
  8. package/dist/chunk-HPFJUUTF.js.map +1 -0
  9. package/dist/{chunk-3LPQ2XZG.js → chunk-L5YNZYEG.js} +8 -13
  10. package/dist/chunk-L5YNZYEG.js.map +1 -0
  11. package/dist/{chunk-LXJDWBEL.js → chunk-PNNZSYRD.js} +2 -2
  12. package/dist/{chunk-LXJDWBEL.js.map → chunk-PNNZSYRD.js.map} +1 -1
  13. package/dist/{chunk-GREL4MVO.js → chunk-THCSDHII.js} +2084 -1344
  14. package/dist/chunk-THCSDHII.js.map +1 -0
  15. package/dist/clipboard.d.ts +2 -1
  16. package/dist/clone.d.ts +3 -2
  17. package/dist/{depSchema-BubKMv-2.d.ts → depSchema-BhgZc0-Q.d.ts} +79 -55
  18. package/dist/{grid-Z_Af3vTl.d.ts → grid-Dx2gQbNv.d.ts} +22 -6
  19. package/dist/index.d.ts +374 -92
  20. package/dist/index.js +6 -6
  21. package/dist/insert.d.ts +4 -3
  22. package/dist/insert.js +2 -2
  23. package/dist/{math-E3rZn4bR.d.ts → math-DRa6HBBs.d.ts} +7 -21
  24. package/dist/math.d.ts +5 -4
  25. package/dist/math.js +2 -2
  26. package/dist/move.d.ts +5 -4
  27. package/dist/move.js +3 -3
  28. package/dist/{options-BPcmwYk7.d.ts → options-CzjxFoYZ.d.ts} +1 -1
  29. package/dist/path-JEV2c5If.d.ts +48 -0
  30. package/dist/{pointSnapToGrid-CgcK2R_I.d.ts → pointSnapToGrid-7mCcm6qG.d.ts} +1 -1
  31. package/dist/{poseDescriptor-PgfVKfa0.d.ts → poseDescriptor-rZa9W5hJ.d.ts} +1 -48
  32. package/dist/renderer.d.ts +8 -7
  33. package/dist/renderer.js +6 -6
  34. package/dist/resize.d.ts +6 -5
  35. package/dist/resize.js +3 -3
  36. package/dist/{types-BdaK9PcP.d.ts → types-CxC8P6W0.d.ts} +27 -1
  37. package/dist/{types-BHGdrOcu.d.ts → types-D_74YlWs.d.ts} +1 -1
  38. package/package.json +10 -10
  39. package/dist/chunk-3LPQ2XZG.js.map +0 -1
  40. package/dist/chunk-GREL4MVO.js.map +0 -1
  41. package/dist/chunk-HAGOFNP5.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,29 +1,31 @@
1
1
  import * as React$1 from 'react';
2
2
  import React__default, { RefObject, ReactNode, Ref, MutableRefObject, MouseEvent, ComponentType } from 'react';
3
- import { a as UnitValue, b as UnitSystem, c as Unit, U as UseMoveOptions, O as OriginProjection } from './grid-Z_Af3vTl.js';
4
- export { A as ANGLE_RADIANS, I as IMPERIAL_INCHES, M as METRIC_MM, P as PIXELS, R as RECT_ORIGIN_PROJECTION, f as formatUnit, g as gridSnapStrategy, p as pointToGridCell, r as resolveUnit } from './grid-Z_Af3vTl.js';
5
- import { View, NodeId, Bounds, ModifierState, PointerSessionCancelReason, DeviceProfile, Action, SelectionMode, SelectionExtendKey, SelectionApi, DepSchema, AnyToolOf, Contribution as Contribution$1, ContributionChrome as ContributionChrome$1, Tool as Tool$1, ToolDef as ToolDef$1, ViewportToolDef as ViewportToolDef$1, HitShape, HandleKind, DebugSink, ToolKeybinding, HotkeyTrigger, RuleCtx, Rule, IngestItem, OngoingOverlay, ActionsProp, OverlayRole, ResizeAnchor } from '@weasel-js/routing';
6
- export { ALWAYS, Action, ActionDeps, ActionDisabledReason, ActionDispatch, ActionEnabledResult, ActionEntry, ActionPresentation, ActionsProp, ActionsRegistry, AffordanceHit, BindingOpts, BindingScope, BindingSource, BoundGesture, Bounds, BuildRuleCtxArgs, COARSE_TARGET_SCALE, ContributionRouting, DEFAULT_ALLOWED_CAPABILITIES, DEFAULT_DEVICE_PROFILE, DebugSink, DepName, DepSchema, DetectedDeviceFacts, DeviceProfile, Dispatcher, DispatcherContext, DragSample, Eligibility, EligibilityState, GestureBinding, HandleKind, HitShape, HotkeyTrigger, ImmediateInvoker, IngestItem, InputEvent, InvocationCtx, Invoker, MatchResult, ModifierState, NEVER, NodeId, OngoingHandle, OngoingInvoker, OngoingOverlay, OverlayPosition, OverlayRole, Point2, PointerSession, PointerSessionCallbacks, PointerSessionCancelReason, PointerSessionOptions, ResizeAnchor, ResolveAllOptions, ResolveOnlyResult, ResolvedCandidate, Rule, RuleCtx, ScopedBinding, ScratchKey, ScratchStore, SelectionApi, SelectionExtendKey, SelectionMode, Selector, ToolCtx, ToolKeybinding, ToolModifiers, ToolPresentation, ToolSlot, UiOngoingControl, View, actionBindings, buildRuleCtx, clientToCanvas, createDispatcher, deleteScratch, describeRule, evaluate, evaluateEnabled, getScratch, isEditableTarget, liveScope, matchesKeyBinding, mergeContributions, openPointerSession, resolveDeviceProfile, resolveParams, scopeBindings, scratchKey, setScratch, specificity } from '@weasel-js/routing';
7
- import { FillStyle, Stroke, TextureHandle, GradientUnits, ColorSpace, TilePatternSpec, GradientKind, GradStop, GradientFill, MarkerKey, MarkerRef } from '@weasel-js/paint';
8
- export { ColorSpace, FillStyle, GradStop, GradientFill, GradientKind, GradientUnits, KitMarkerKey, MarkerKey, MarkerRef, Region, STROKE_DASH_RATIOS, ScreenLength, Stroke, StrokeAlign, StrokeDashStyle, TextureHandle, TilePatternSpec, alignedStrokeRect, dashForStrokeStyle, lerpColorArray, lerpOklab, lerpOklch, oklabToOklch, oklabToSrgbU8, oklchToOklab, resolveScreenLength, srgbU8ToOklab, strokeDashStyleOf } from '@weasel-js/paint';
9
- import { D as DrawCommand, E as Effect, w as Scene, x as RectPose, y as InertiaConfig, z as ViewAnimationOptions, N as Node$1, A as PoseComposition, B as SliceDep, F as VertexColorChannel, f as ShaderProgramHandle, H as InsertExtras, J as SerializedScene, K as GeometryProjection, L as ContentHandlerEntry, O as SvgIngestOptions, Q as PanBounds, U as Animator, X as ColorOverrideRegistry, Y as UseSceneOptions, Z as SceneRegistry, _ as RegisteredOp, $ as PoseOverrides, a0 as DerivedDep, a1 as ViewportDims, P as PathDrawCommand, T as TextDrawCommand, a2 as ShaderProgram, c as Mat3$1, a3 as BooleansAdapter, a4 as UseAnimatorOptions, a5 as SpringPresetName, a6 as EasingSpec, a7 as AnimationHandle, a8 as SampledTrack } from './depSchema-BubKMv-2.js';
10
- export { a9 as AddLayerSpec, aa as AddNodeSpec, ab as AnimateToBoundsOptions, ac as AreaSelectDep, ad as BezierEasing, ae as BooleanOp, af as BooleanOpResult, ag as ClipboardDep, ah as ClipboardIngestCtx, ai as ColorOverride, aj as ColorOverrideFn, ak as ContainerNode, C as CullRect, al as DecayLoopConfig, am as DecayOptions, an as EASINGS, ao as EasingFn, ap as EasingName, aq as EditAnchorsDep, ar as EventBooking, as as EventBookingHandle, at as EventTrack, au as FitViewToBoundsOptions, G as GroupDrawCommand, av as IDENTITY_POSE_COMPOSITION, a as ImageDrawCommand, b as ImageMinification, aw as IngestCtx, ax as IngestionDep, ay as InsertDep, az as Interpolate, aA as InterpolatorFactory, aB as Keyframe, aC as LassoSelectDep, aD as LayerRecord, aE as LayoutDep, aF as LeafNode, aG as LoopFactory, aH as LoopOptions, aI as NestedTimeline, aJ as NodeAtPointDep, aK as PhysicsHandle, aL as PhysicsOptions, aM as PoseAdapter, aN as PoseClosure, aO as PoseOverride, aP as RECT_POSE_COMPOSITION, aQ as RIGID_POSE_COMPOSITION, R as RenderTarget, aR as ResizePolicy, aS as SPRING_PRESETS, S as SPRITE_STRIDE, aT as SerializedNode, e as ShaderDrawCommand, g as ShaderUniform, aU as SnapDep, aV as SpringOptions, aW as SpringPreset, i as SpriteSheet, j as SpritesDrawCommand, aX as StaggerBuilder, aY as StaggerDelay, aZ as StaggerFactory, a_ as StaggerOptions, a$ as StaggerPerItem, b0 as StaggerSpringPoseOptions, b1 as StaggerTweenOptions, b2 as SvgUnpacker, b3 as SystemLayerRecord, b4 as SystemLayerSpec, b5 as TextEditDep, b6 as TimelineClock, b7 as TimelineEvent, b8 as TimelineHandle, b9 as TimelineOptions, ba as TimelineTrack, bb as Track, bc as TweenLoopOptions, bd as TweenOptions, be as UserLayerRecord, bf as VIEW_ANIMATION_KEY, bg as ViewAnimationApi, bh as ViewApi, bi as ViewChannel, bj as applyBooleanOp, bk as asNodeId, m as blur, bl as composeRectPose, bm as composeRigidPose, bn as composeWorldPose, bo as cubicBezierEasing, o as cullDrawCommands, bp as decomposeRectPose, bq as decomposeRigidPose, br as easeIn, bs as easeInBack, bt as easeInBounce, bu as easeInCirc, bv as easeInCubic, bw as easeInElastic, bx as easeInExpo, by as easeInOut, bz as easeInOutBack, bA as easeInOutBounce, bB as easeInOutCirc, bC as easeInOutCubic, bD as easeInOutElastic, bE as easeInOutExpo, bF as easeInOutQuad, bG as easeInOutQuart, bH as easeInOutQuint, bI as easeInOutSine, bJ as easeInQuad, bK as easeInQuart, bL as easeInQuint, bM as easeInSine, bN as easeOut, bO as easeOutBack, bP as easeOutBounce, bQ as easeOutCirc, bR as easeOutCubic, bS as easeOutElastic, bT as easeOutExpo, bU as easeOutQuad, bV as easeOutQuart, bW as easeOutQuint, bX as easeOutSine, bY as fitViewToBounds, p as frameRect, bZ as linear, q as mat3, b_ as rebaseLocalPose, b$ as registerContentHandler, r as registerEffect, c0 as resolveEasing, c1 as resolveStrokeWidth, c2 as translateRectPose, c3 as useDecayLoop, c4 as useViewAnimation, c5 as useViewAnimationOn, v as viewToMat3, u as vignette, c6 as worldPoseLookup } from './depSchema-BubKMv-2.js';
3
+ import { a as UnitValue, b as UnitSystem, c as UnitEntry, d as Unit, U as UseMoveOptions, O as OriginProjection } from './grid-Dx2gQbNv.js';
4
+ export { A as ANGLE_RADIANS, I as IMPERIAL_INCHES, M as METRIC_MM, P as PIXELS, R as RECT_ORIGIN_PROJECTION, e as UnitScale, f as formatUnit, g as gridSnapStrategy, p as pointToGridCell, r as resolveUnit, u as unitScale } from './grid-Dx2gQbNv.js';
5
+ import { View, NodeId, Bounds, ModifierState, PointerSessionCancelReason, DeviceProfile, Action, SelectionMode, SelectionExtendKey, SelectionApi, DepSchema, AnyToolOf, Contribution as Contribution$1, ContributionChrome as ContributionChrome$1, Tool as Tool$1, ToolDef as ToolDef$1, ViewportToolDef as ViewportToolDef$1, HitShape, HandleKind, DebugSink, ToolKeybinding, HotkeyTrigger, RuleCtx, Rule, IngestItem, OngoingOverlay, ActionsProp, OverlayRole, ResizeAnchor, Point2 } from '@weasel-js/routing';
6
+ export { ALWAYS, Action, ActionDeps, ActionDisabledReason, ActionDispatch, ActionEnabledResult, ActionEntry, ActionItem, ActionPresentation, ActionVariant, ActionsProp, ActionsRegistry, AffordanceHit, BindingOpts, BindingScope, BindingSource, BoundGesture, Bounds, BuildRuleCtxArgs, COARSE_TARGET_SCALE, ContributionRouting, DEFAULT_ALLOWED_CAPABILITIES, DEFAULT_DEVICE_PROFILE, DebugSink, DepName, DepSchema, DetectedDeviceFacts, DeviceProfile, Dispatcher, DispatcherContext, DragSample, Eligibility, EligibilityState, GestureBinding, HandleKind, HitShape, HotkeyTrigger, ImmediateInvoker, IngestItem, InputEvent, InvocationCtx, Invoker, MatchResult, ModifierState, NEVER, NodeId, OngoingHandle, OngoingInvoker, OngoingOverlay, OverlayPosition, OverlayRole, Point2, PointerSession, PointerSessionCallbacks, PointerSessionCancelReason, PointerSessionOptions, ResizeAnchor, ResolveAllOptions, ResolveOnlyResult, ResolvedCandidate, Rule, RuleCtx, ScopedBinding, ScratchKey, ScratchStore, SelectionApi, SelectionExtendKey, SelectionMode, Selector, ToolCtx, ToolKeybinding, ToolModifiers, ToolPresentation, ToolSlot, UiOngoingControl, Point2 as Vec2, View, actionBindings, actionItems, buildDepsFromRequires, buildRuleCtx, clientToCanvas, createDispatcher, deleteScratch, describeRule, evaluate, evaluateEnabled, getScratch, isEditableTarget, liveScope, matchesKeyBinding, mergeContributions, openPointerSession, resolveDeviceProfile, resolveParams, scopeBindings, scratchKey, setScratch, specificity } from '@weasel-js/routing';
7
+ import { FillStyle, Stroke, TextureHandle, GradientUnits, ColorSpace, TilePatternSpec, GradientKind, GradStop, GradientFill, MarkerKey, MarkerRef, Palette } from '@weasel-js/paint';
8
+ export { ColorInterpolationSpace, ColorSpace, FillStyle, GradStop, GradientFill, GradientKind, GradientUnits, HueInterpolation, KitMarkerKey, MarkerKey, MarkerRef, OklchDeg, Region, STROKE_DASH_RATIOS, ScreenLength, Stroke, StrokeAlign, StrokeDashStyle, TextureHandle, TilePatternSpec, alignedStrokeRect, contrastLineColor, dashForStrokeStyle, hexToOklchDeg, hslToSrgb, interpolateSrgb, lerpColorArray, lerpOklab, lerpOklch, linearSrgbToOklab, linearToSrgb, oklabToLinearSrgb, oklabToOklch, oklabToSrgbU8, oklchDegToHex, oklchToOklab, resolveScreenLength, srgbFloatToOklab, srgbToHsl, srgbToLinear, srgbU8ToOklab, strokeDashStyleOf } from '@weasel-js/paint';
9
+ import { D as DrawCommand, E as Effect, w as Scene, x as RectPose, y as InertiaConfig, V as ViewAnimationOptions, N as Node$1, z as PoseComposition, A as SliceDep, B as VertexColorChannel, f as ShaderProgramHandle, F as InsertExtras, H as SerializedScene, J as GeometryProjection, K as ContentHandlerEntry, L as SvgIngestOptions, O as PanBounds, Q as Animator, U as ColorOverrideRegistry, X as UseSceneOptions, Y as SceneRegistry, Z as RegisteredOp, _ as PoseOverrides, $ as DerivedDep, a0 as ViewportDims, P as PathDrawCommand, T as TextDrawCommand, a1 as ShaderProgram, G as GlMat3, a2 as BooleansAdapter, a3 as UseAnimatorOptions, a4 as SpringPresetName, a5 as EasingSpec, a6 as AnimationHandle, a7 as SampledTrack } from './depSchema-BhgZc0-Q.js';
10
+ export { a8 as AddLayerSpec, a9 as AddNodeSpec, aa as AnimateToBoundsOptions, ab as AreaSelectDep, ac as BezierEasing, ad as BooleanOp, ae as BooleanOpResult, af as ClipboardDep, ag as ClipboardIngestCtx, ah as ColorOverride, ai as ColorOverrideFn, aj as ContainerNode, C as CullRect, ak as DecayLoopConfig, al as DecayOptions, am as EASINGS, an as EasingFn, ao as EasingName, ap as EditAnchorsDep, aq as EventBooking, ar as EventBookingHandle, as as EventTrack, at as FitViewToBoundsOptions, a as GroupDrawCommand, au as IDENTITY_POSE_COMPOSITION, b as ImageDrawCommand, c as ImageMinification, av as IngestCtx, aw as IngestionDep, ax as InsertDep, ay as Interpolate, az as InterpolatorFactory, aA as Keyframe, aB as LassoSelectDep, aC as LayerRecord, aD as LayoutDep, aE as LeafNode, aF as LoopFactory, aG as LoopOptions, aH as NestedTimeline, aI as NodeAtPointDep, aJ as PhysicsHandle, aK as PhysicsOptions, aL as PoseAdapter, aM as PoseClosure, aN as PoseOverride, aO as RECT_POSE_COMPOSITION, aP as RIGID_POSE_COMPOSITION, R as RenderTarget, aQ as ResizePolicy, aR as SPRING_PRESETS, S as SPRITE_STRIDE, aS as SerializedNode, e as ShaderDrawCommand, g as ShaderUniform, aT as SnapDep, aU as SpringOptions, aV as SpringPreset, i as SpriteSheet, j as SpritesDrawCommand, aW as StaggerBuilder, aX as StaggerDelay, aY as StaggerFactory, aZ as StaggerOptions, a_ as StaggerPerItem, a$ as StaggerSpringPoseOptions, b0 as StaggerTweenOptions, b1 as SvgUnpacker, b2 as SystemLayerRecord, b3 as SystemLayerSpec, b4 as TextEditDep, b5 as TimelineClock, b6 as TimelineEvent, b7 as TimelineHandle, b8 as TimelineOptions, b9 as TimelineTrack, ba as Track, bb as TweenLoopOptions, bc as TweenOptions, bd as UserLayerRecord, be as VIEW_ANIMATION_KEY, bf as ViewAnimationApi, bg as ViewApi, bh as ViewChannel, bi as applyBooleanOp, bj as asNodeId, m as blur, bk as composeRectPose, bl as composeRigidPose, bm as composeWorldPose, bn as cubicBezierEasing, o as cullDrawCommands, bo as decomposeRectPose, bp as decomposeRigidPose, bq as easeIn, br as easeInBack, bs as easeInBounce, bt as easeInCirc, bu as easeInCubic, bv as easeInElastic, bw as easeInExpo, bx as easeInOut, by as easeInOutBack, bz as easeInOutBounce, bA as easeInOutCirc, bB as easeInOutCubic, bC as easeInOutElastic, bD as easeInOutExpo, bE as easeInOutQuad, bF as easeInOutQuart, bG as easeInOutQuint, bH as easeInOutSine, bI as easeInQuad, bJ as easeInQuart, bK as easeInQuint, bL as easeInSine, bM as easeOut, bN as easeOutBack, bO as easeOutBounce, bP as easeOutCirc, bQ as easeOutCubic, bR as easeOutElastic, bS as easeOutExpo, bT as easeOutQuad, bU as easeOutQuart, bV as easeOutQuint, bW as easeOutSine, bX as fitViewToBounds, p as frameRect, bY as linear, q as mat3, bZ as rebaseLocalPose, b_ as registerContentHandler, r as registerEffect, b$ as resolveEasing, c0 as resolveStrokeWidth, c1 as translateRectPose, c2 as useDecayLoop, c3 as useViewAnimation, c4 as useViewAnimationOn, v as viewToMat3, u as vignette, c5 as worldPoseLookup } from './depSchema-BhgZc0-Q.js';
11
11
  import { CursorSpec, PaintedCursorState } from '@weasel-js/cursor';
12
12
  export { BakeOptions, CursorGlyph, CursorGlyphName, CursorGlyphSpec, CursorSpec, PaintedCursor, PaintedCursorFrame, PaintedCursorState, ResolvedCursor, bakeCursor, createPaintedCursorState, cursorFor, resolveCursor, resolveCursorTier } from '@weasel-js/cursor';
13
13
  import { ClaimableGesture, GestureSpec } from '@weasel-js/gestures';
14
- export { ClaimableGesture, ClickSpec, DragSpec, DropSpec, GestureSpec, KeyHeldSpec, KeySpec, ModSpec, MultiTouchSpec, PasteSpec, TargetSpec, WheelSpec } from '@weasel-js/gestures';
15
- import { S as SimulationNode, U as UseSimulationOptions, a as Simulation, V as Vec2, P as PathBuilder } from './math-E3rZn4bR.js';
16
- export { D as DEFAULT_ALPHA_DECAY, b as DEFAULT_ALPHA_MIN, c as DEFAULT_VELOCITY_DECAY, d as PathStation, e as PointAlongPathOptions, f as SimulationCore, g as SimulationForce, h as SimulationOptions, i as aabbCenter, j as createSimulation, k as ellipsePath, l as linePath, p as pointAlongPath, m as pointInRotatedRect, n as polygonFromPoints, o as polylineFromPoints, r as rectCorners, q as rectPath, s as regularPolygonPath, t as rotatePoint, u as rotatedRectCorners, v as starPath } from './math-E3rZn4bR.js';
14
+ export { ClaimableGesture, ClickSpec, DragSpec, DropSpec, GestureSpec, KeyHeldSpec, KeySpec, ModSpec, MultiTouchSpec, PasteSpec, PinchSpec, TargetSpec, WheelSpec } from '@weasel-js/gestures';
15
+ import { S as SimulationNode, U as UseSimulationOptions, a as Simulation, P as PathBuilder } from './math-DRa6HBBs.js';
16
+ export { D as DEFAULT_ALPHA_DECAY, b as DEFAULT_ALPHA_MIN, c as DEFAULT_VELOCITY_DECAY, d as PathStation, e as PointAlongPathOptions, f as SimulationCore, g as SimulationForce, h as SimulationOptions, i as aabbCenter, j as createSimulation, k as ellipsePath, l as linePath, p as pointAlongPath, m as pointInRotatedRect, n as polygonFromPoints, o as polylineFromPoints, r as rectCorners, q as rectPath, s as regularPolygonPath, t as rotatePoint, u as rotatedRectCorners, v as starPath } from './math-DRa6HBBs.js';
17
17
  import { ToolsApi as ToolsApi$1, UseToolsOptions as UseToolsOptions$1 } from '@weasel-js/routing/react';
18
- export { ActionsProvider, ActionsScope, ActiveToolContextProvider, ActiveToolContextProviderIfRoot, ActiveToolContextProviderProps, ActiveToolContextValue, DepRegistry, DepRegistryProvider, DispatcherChannels, UseGestureDispatcherOptions, useAction, useActionsRegistry, useActiveToolContext, useDepRegistry, useDepSource, useGestureDispatcher, useOptionalActiveToolContext, useOptionalDepRegistry } from '@weasel-js/routing/react';
19
- import { B as BoundsConstraint, P as PointSnapBehavior, L as LassoSelectBehavior, R as RotateBehavior, S as SnapStrategy, M as MoveBehavior, I as InsertBehavior } from './types-BHGdrOcu.js';
20
- export { A as ActionBehavior, b as AreaSelectOverlay, c as BehaviorMoveResult, d as BehaviorResult, C as CloneBehavior, e as CloneLayer, f as ClonePose, G as GestureContext, g as GroupTransform, h as InsertMoveResult, i as InsertOverlay, j as InsertPoint, k as InsertProposed, l as LassoSelectMoveResult, m as LassoSelectOverlay, n as LassoSelectPose, o as LassoSelectProposed, p as PointSnapContext, a as PointSnapFrame, q as PointSnapResult, r as PointerState, s as ResizeMoveResult, t as ResizeOverlay, u as ResizeProposed, v as RotateMoveResult, w as RotateOverlay, x as RotateProposed } from './types-BHGdrOcu.js';
21
- import { P as PoseDescriptor, c as PolygonPath, a as Path, d as RotatedPose, e as RectPath } from './poseDescriptor-PgfVKfa0.js';
22
- export { f as PathFillRule, R as RECT_POSE_DESCRIPTOR, b as ROTATED_POSE_DESCRIPTOR, p as poseDescriptorForNode, t as translatePoseViaDescriptor, v as visualBoundsViaDescriptor } from './poseDescriptor-PgfVKfa0.js';
23
- import { U as UseResizeOptions } from './pointSnapToGrid-CgcK2R_I.js';
24
- export { C as CORNER_ANCHORS, a as CornerAnchor, e as CornerEdge, b as CornerHandle, c as cornerPoint, d as cornerResizeHandles, h as hitCornerHandle, p as pointSnapToGrid } from './pointSnapToGrid-CgcK2R_I.js';
25
- import { M as MoveAdapter, A as AreaSelectAdapter, b as LassoHitMode, c as LassoSelectAdapter, R as ResizeAdapter, d as RotateAdapter, L as LayoutStrategy, e as LayerEnumerableAdapter, I as InsertAdapter, C as ClipboardSnapshot, O as OrderedAdapter, a as SceneAdapter, f as LayoutSnap } from './types-BdaK9PcP.js';
26
- export { g as ContainerBounds, D as DropTarget, h as LayoutChild, i as LayoutContainer, j as LayoutDragged, S as SnapTarget } from './types-BdaK9PcP.js';
18
+ export { ActionsProvider, ActionsScope, ActiveToolContextProvider, ActiveToolContextProviderIfRoot, ActiveToolContextProviderProps, ActiveToolContextValue, DepRegistry, DepRegistryProvider, DispatcherChannels, OngoingAction, UseGestureDispatcherOptions, useAction, useActionsRegistry, useActiveToolContext, useDepRegistry, useDepSource, useGestureDispatcher, useOngoingAction, useOptionalActiveToolContext, useOptionalDepRegistry } from '@weasel-js/routing/react';
19
+ import { B as BoundsConstraint, P as PointSnapBehavior, L as LassoSelectBehavior, R as RotateBehavior, S as SnapStrategy, M as MoveBehavior, I as InsertBehavior } from './types-D_74YlWs.js';
20
+ export { A as ActionBehavior, b as AreaSelectOverlay, c as BehaviorMoveResult, d as BehaviorResult, C as CloneBehavior, e as CloneLayer, f as ClonePose, G as GestureContext, g as GroupTransform, h as InsertMoveResult, i as InsertOverlay, j as InsertPoint, k as InsertProposed, l as LassoSelectMoveResult, m as LassoSelectOverlay, n as LassoSelectPose, o as LassoSelectProposed, p as PointSnapContext, a as PointSnapFrame, q as PointSnapResult, r as PointerState, s as ResizeMoveResult, t as ResizeOverlay, u as ResizeProposed, v as RotateMoveResult, w as RotateOverlay, x as RotateProposed } from './types-D_74YlWs.js';
21
+ import { P as PoseDescriptor, b as RotatedPose } from './poseDescriptor-rZa9W5hJ.js';
22
+ export { R as RECT_POSE_DESCRIPTOR, a as ROTATED_POSE_DESCRIPTOR, p as poseDescriptorForNode, t as translatePoseViaDescriptor, v as visualBoundsViaDescriptor } from './poseDescriptor-rZa9W5hJ.js';
23
+ import { U as UseResizeOptions } from './pointSnapToGrid-7mCcm6qG.js';
24
+ export { C as CORNER_ANCHORS, a as CornerAnchor, e as CornerEdge, b as CornerHandle, c as cornerPoint, d as cornerResizeHandles, h as hitCornerHandle, p as pointSnapToGrid } from './pointSnapToGrid-7mCcm6qG.js';
25
+ import { M as MoveAdapter, A as AreaSelectAdapter, c as LassoHitMode, d as LassoSelectAdapter, R as ResizeAdapter, e as RotateAdapter, L as LayoutStrategy, f as LayerEnumerableAdapter, I as InsertAdapter, C as ClipboardSnapshot, b as LayoutDropTargetMode, O as OrderedAdapter, a as SceneAdapter, g as LayoutSnap } from './types-CxC8P6W0.js';
26
+ export { h as ContainerBounds, D as DropRegion, i as DropTarget, j as LayoutChild, k as LayoutContainer, l as LayoutDragged, S as SnapTarget } from './types-CxC8P6W0.js';
27
+ import { a as PolygonPath, P as Path, R as RectPath } from './path-JEV2c5If.js';
28
+ export { b as PathFillRule } from './path-JEV2c5If.js';
27
29
  import * as react_jsx_runtime from 'react/jsx-runtime';
28
30
  import { Op, HistorySelection, CreateHistoryOptions, History } from '@weasel-js/history';
29
31
  export * from '@weasel-js/history';
@@ -31,13 +33,13 @@ export { Op } from '@weasel-js/history';
31
33
  import { PlacementAlign, Rect, Mat3 } from '@weasel-js/geom';
32
34
  export { DEFAULT_FLATTEN_TOLERANCE, PATH_C, PATH_CMD_LENGTHS, PATH_L, PATH_M, PATH_Q, PATH_Z, Rect, flattenCubic, flattenCubicWithArcLen, flattenQuadratic, flattenQuadraticWithArcLen, pathCommandCoordCount } from '@weasel-js/geom';
33
35
  import { TextRenderer, TextPose, StyledRun, TextStyle, TextVerticalAlign, TextPaint } from '@weasel-js/text';
34
- export { DEFAULT_TEXT_STYLE, LaidOutDecoration, LaidOutGroup, LaidOutLineBox, LaidOutOutlineGlyph, LaidOutQuad, LaidOutRuns, LayoutLine, LayoutResult, LayoutRunsOpts, MARKDOWN_RUN_GRAMMAR, MarkdownFontOptions, MeasureFn, MeasureTextBoundsOpts, MeasuredText, PositionedRun, ResolvedRun, ResolvedTextStyle, RunFlag, RunGrammar, RunMarker, SCRIPT_METRICS, StyledRun, TextAlign, TextDirection, TextLineBoxesOpts, TextPaint, TextPose, TextPoseLayout, TextPoseLayoutInput, TextRenderer, TextStyle, TextVerticalAlign, cachedLayoutRuns, createMarkdownRenderer, fontString, layoutMarkdown, layoutRuns, layoutTextPose, markdownToRuns, measureText, measureTextBounds, measuredWidth, resolveAlign, resolveRuns, resolveTextStyle, runsToMarkdown, runsToPlainText, textLineBoxes, textPoseLayoutInput, toRuns, verticalAlignOffset } from '@weasel-js/text';
36
+ export { DEFAULT_TEXT_STYLE, LaidOutDecoration, LaidOutGroup, LaidOutLineBox, LaidOutOutlineGlyph, LaidOutQuad, LaidOutRuns, LayoutLine, LayoutResult, LayoutRunsOpts, MARKDOWN_RUN_GRAMMAR, MarkdownFontOptions, MeasureFn, MeasureTextBoundsOpts, MeasuredText, PositionedRun, ResolvedRun, ResolvedTextStyle, RunFlag, RunGrammar, RunMarker, RunSourceMap, SCRIPT_METRICS, StyledRun, TextAlign, TextDirection, TextLineBoxesOpts, TextPaint, TextPose, TextPoseLayout, TextPoseLayoutInput, TextRenderer, TextStyle, TextTransform, TextVerticalAlign, TransformedRunText, cachedLayoutRuns, createMarkdownRenderer, fontString, layoutMarkdown, layoutRuns, layoutTextPose, markdownToRuns, measureText, measureTextBounds, measuredWidth, resolveAlign, resolveRuns, resolveTextStyle, runsToMarkdown, runsToPlainText, textLineBoxes, textPoseLayoutInput, toRuns, transformRunTexts, verticalAlignOffset } from '@weasel-js/text';
35
37
  import { G as Guide } from './types-D2tTKEU0.js';
36
- export { A as AUTO_POSE_DESCRIPTOR, i as isPathLike, a as isRectPose } from './autoPoseDescriptor-Dr6CwNZK.js';
37
- export { U as UseInsertOptions } from './options-BPcmwYk7.js';
38
+ export { A as AUTO_POSE_DESCRIPTOR, i as isPathLike, a as isRectPose } from './autoPoseDescriptor-_XOyF7t4.js';
39
+ export { U as UseInsertOptions } from './options-CzjxFoYZ.js';
38
40
  export { UseClipboardOpsOptions, UseClipboardOpsReturn, WEASEL_CLIPBOARD_MIME, WEASEL_CLIPBOARD_MIME_WEB, buildWeaselClipboardText, embedWeaselMetadataInSvg, extractWeaselClipboardFromSvg, parseWeaselClipboardText, sniffWeaselClipboardText, useClipboardOps } from './clipboard.js';
39
41
  export { cloneByAltDrag } from './clone.js';
40
- export { FontVariant, LocalFontOutlinesResult, OutlineFontStyle, OutlineSource, OutlineStatus, OutlineVariant, canQueryLocalFonts, enableLocalFontOutlines, hasFontOutlines, isCanvasFont, listFontOutlines, outlineStatus, registerCanvasFont, registerFont, registerFontOutlines, subscribeGlyphReady, unregisterCanvasFont, unregisterFontOutlines } from '@weasel-js/font';
42
+ export { FontStyle, FontVariant, LocalFontOutlinesResult, OutlineSource, OutlineStatus, OutlineVariant, canQueryLocalFonts, enableLocalFontOutlines, hasFontOutlines, isCanvasFont, listFontOutlines, outlineStatus, registerCanvasFont, registerFont, registerFontOutlines, subscribeGlyphReady, unregisterCanvasFont, unregisterFontOutlines } from '@weasel-js/font';
41
43
 
42
44
  /**
43
45
  * The kit version a build was compiled from, so an app can report what it is
@@ -1820,8 +1822,11 @@ declare function keySpecShortcut(spec: GestureSpec): ActionShortcut | undefined;
1820
1822
  * Every keyboard shortcut an action answers to, in declaration order.
1821
1823
  * Specs `keySpecShortcut` has no chip for are skipped, and bindings it leaves
1822
1824
  * identical are emitted once; an action bound only to those returns empty.
1825
+ *
1826
+ * With `params` — an `ActionItem`'s — only the bindings that pass those same
1827
+ * values count, so each variant of `flip` gets its own key.
1823
1828
  */
1824
- declare function actionShortcuts(action: Action): readonly ActionShortcut[];
1829
+ declare function actionShortcuts(action: Action, params?: Readonly<Record<string, unknown>>): readonly ActionShortcut[];
1825
1830
 
1826
1831
  /**
1827
1832
  * `moveAction` — first `ongoing`-timing Action descriptor.
@@ -2263,17 +2268,23 @@ declare const viewportDragPanAction: Action & {
2263
2268
  * Browsers synthesize a trackpad pinch as ctrl+wheel. On a Mac that is a
2264
2269
  * *different* event from the `mod` binding above (`mod` is metaKey there), so
2265
2270
  * pinch needs its own binding or nothing claims it and the page zooms instead.
2271
+ * - `{ kind: 'pinch' }` → Safari trackpad pinch (WebKit `gesturechange`),
2272
+ * params: `{ kind: 'pinch' }`. Safari may send the same pinch as ctrl+wheel
2273
+ * as well; the dispatcher swallows that copy while a claimed gesture is live,
2274
+ * so only one of the two bindings fires per pinch.
2266
2275
  * - `{ kind: 'key', key: '=' }` → zoom in, params: `{ kind: 'in' }`
2267
2276
  * - `{ kind: 'key', key: '-' }` → zoom out, params: `{ kind: 'out' }`
2268
2277
  * - `{ kind: 'key', key: '0' }` → reset zoom, params: `{ kind: 'reset' }`
2269
2278
  *
2270
2279
  * ## Design notes
2271
2280
  * The invoker switches on `params.kind`:
2272
- * - `'wheel'`: defers to `wheelZoom` (`core/viewport/wheelHandler`), the kit's
2273
- * one statement of the wheel convention, anchored at (clientX, clientY).
2274
- * The dispatcher merges wheel event data into params at dispatch time, and
2275
- * converts the wheel event's client coords to canvas-local (subtracting the
2276
- * canvas's bounding rect) before merging — `zoomAt` expects canvas-local.
2281
+ * - `'wheel'` and `'pinch'`: both reduce to a scale factor about a focal
2282
+ * point and share one `zoomAt` call. A wheel sample's factor is
2283
+ * `wheelZoomFactor(deltaY)`, the kit's one statement of the wheel
2284
+ * convention; a pinch sample carries its factor as `scale`. The dispatcher
2285
+ * merges event data into params and converts client coords to canvas-local
2286
+ * (subtracting the canvas's bounding rect) before merging — `zoomAt`
2287
+ * expects canvas-local.
2277
2288
  * - `'in'`/`'out'`: step zoom by ×1.25 / ×0.8, anchored at the host center
2278
2289
  * when the `view` dep wires `hostSize()` (SceneCanvas does), falling back
2279
2290
  * to the canvas top-left origin for consumers that don't.
@@ -2283,7 +2294,7 @@ declare const viewportDragPanAction: Action & {
2283
2294
  * The three discrete branches glide instead of jumping when the `animate`
2284
2295
  * option is configured and the `view` dep implements `animate` — they hand the
2285
2296
  * action a target and nothing in between, which is the whole condition for
2286
- * tweening. `'wheel'` always jumps per sample.
2297
+ * tweening. `'wheel'` and `'pinch'` always jump per sample.
2287
2298
  *
2288
2299
  * ## Key binding modifier notes
2289
2300
  * The key bindings (`=`, `-`, `0`) require `mod: true` (Cmd on Mac, Ctrl elsewhere).
@@ -2576,6 +2587,16 @@ declare const clipboardCopyAction: Action & {
2576
2587
  declare const clipboardCutAction: Action & {
2577
2588
  requires: string[];
2578
2589
  };
2590
+ /**
2591
+ * @experimental
2592
+ * Static descriptor for the `clipboard.paste` Action — what a Paste button or
2593
+ * menu item triggers. It has no key binding: Cmd/Ctrl+V already arrives as a
2594
+ * DOM `paste` event, which the dispatcher routes to `ingest`, and a binding
2595
+ * here would fire alongside it and paste twice.
2596
+ */
2597
+ declare const clipboardPasteAction: Action & {
2598
+ requires: string[];
2599
+ };
2579
2600
 
2580
2601
  /**
2581
2602
  * `enterTextEditAction` — immediate Action descriptor for entering in-place
@@ -2739,8 +2760,12 @@ declare function useStandardActions(opts: UseStandardActionsOptions): void;
2739
2760
  /** Build the adapter the default actions commit through when the consumer
2740
2761
  * supplies no `applyOps` hook of its own — it applies ops straight to the
2741
2762
  * scene. Path and text ops are not covered; those surfaces belong to their
2742
- * own owners. */
2743
- declare function defaultCommitAdapter<TPose>(scene: Scene<unknown, string, TPose>): {
2763
+ * own owners.
2764
+ *
2765
+ * Pass `selection` (a `SelectionApi`'s `adapterMethods`) and selection reads
2766
+ * and writes go through it rather than the scene, so a canvas that gates its
2767
+ * selection — `selectionMode="none"` — gates what these batches select too. */
2768
+ declare function defaultCommitAdapter<TPose>(scene: Scene<unknown, string, TPose>, selection?: SelectionApi['adapterMethods']): {
2744
2769
  getNode: (id: string) => Node$1<unknown, string, TPose> | undefined;
2745
2770
  getNodes: () => Node$1<unknown, string, TPose>[];
2746
2771
  getPose: (id: string) => TPose;
@@ -2957,7 +2982,7 @@ interface UseKeybindingsOptions {
2957
2982
  /**
2958
2983
  * Gate for keyboard tool activation: return false to refuse a tool the
2959
2984
  * active mode doesn't allow. `<SceneCanvas>` wires this from
2960
- * `getActiveMode` + each tool's `capabilities`, using the same predicate
2985
+ * `getActiveMode` + each tool's `eligibility.capabilities`, using the same predicate
2961
2986
  * `ToolPalette` uses to grey a button out — so the grey-out becomes a
2962
2987
  * guarantee rather than a hint.
2963
2988
  *
@@ -2997,6 +3022,10 @@ interface ToolPrefBase<K extends string, Value> {
2997
3022
  * on one row labeled with the `pair` string (e.g. `'Position'` for
2998
3023
  * `pose.x` / `pose.y`). Purely presentational. */
2999
3024
  pair?: string;
3025
+ /** The label a surface with no room for `name` shows instead — a strip of
3026
+ * controls on one line, or a segment in a `pair`ed row. `name` stays the
3027
+ * accessible name, so this abbreviates without costing anything. */
3028
+ short?: string;
3000
3029
  }
3001
3030
  /** How a schema-driven UI should present a number pref. */
3002
3031
  type ToolPrefNumberControl = 'input' | 'slider';
@@ -3017,10 +3046,13 @@ interface ToolPrefNumberUnit {
3017
3046
  fromDisplay: (display: number) => number;
3018
3047
  /** Shown after the input, e.g. `'°'`. */
3019
3048
  suffix?: string;
3020
- /** Suffixes a person may type, each mapped to the factor that turns a
3049
+ /** Suffixes a person may type, each mapped to the scale that turns a
3021
3050
  * number in that unit into a display number: `{ mm: 0.1, cm: 1 }` for a
3022
- * field showing centimeters. */
3023
- accepts?: Readonly<Record<string, number>>;
3051
+ * field showing centimeters. A unit that disagrees with the display unit
3052
+ * about zero carries an `offset` as well. */
3053
+ accepts?: Readonly<Record<string, UnitEntry>>;
3054
+ /** The stored value as display text, suffix included. */
3055
+ format?: (stored: number) => string;
3024
3056
  }
3025
3057
  /**
3026
3058
  * A display unit built from a {@link UnitSystem}: values are stored in the
@@ -3045,9 +3077,6 @@ interface ToolPrefNumber extends ToolPrefBase<'number', number> {
3045
3077
  /** An on/off pref. */
3046
3078
  interface ToolPrefBoolean extends ToolPrefBase<'boolean', boolean> {
3047
3079
  control?: ToolPrefBooleanControl;
3048
- /** The label a `toggle` shows, since a `pair`ed row is named by the pair
3049
- * rather than by the leaf. `name` stays the accessible name. */
3050
- short?: string;
3051
3080
  }
3052
3081
  /** A free-text pref. */
3053
3082
  interface ToolPrefString extends ToolPrefBase<'string', string> {
@@ -3505,12 +3534,137 @@ declare function useHandTool(opts?: UseHandToolOptions): Tool<HandScratch | null
3505
3534
  * `src/interactions/actions/defaults/enterTextEdit.ts`). Custom node
3506
3535
  * factories and hit gating belong on those deps, not on the tool. */
3507
3536
  declare function useTextTool(): Tool<undefined>;
3537
+ declare namespace useTextTool {
3538
+ var options: {
3539
+ name: string;
3540
+ description: string;
3541
+ children: {
3542
+ bold: {
3543
+ readonly kind: "boolean";
3544
+ readonly name: string;
3545
+ readonly description: `${string} for the characters in the range.`;
3546
+ readonly icon: string;
3547
+ readonly control: "toggle";
3548
+ readonly pair: "Character style";
3549
+ readonly default: false;
3550
+ };
3551
+ italic: {
3552
+ readonly kind: "boolean";
3553
+ readonly name: string;
3554
+ readonly description: `${string} for the characters in the range.`;
3555
+ readonly icon: string;
3556
+ readonly control: "toggle";
3557
+ readonly pair: "Character style";
3558
+ readonly default: false;
3559
+ };
3560
+ underline: {
3561
+ readonly kind: "boolean";
3562
+ readonly name: string;
3563
+ readonly description: `${string} for the characters in the range.`;
3564
+ readonly icon: string;
3565
+ readonly control: "toggle";
3566
+ readonly pair: "Character style";
3567
+ readonly default: false;
3568
+ };
3569
+ strikethrough: {
3570
+ readonly kind: "boolean";
3571
+ readonly name: string;
3572
+ readonly description: `${string} for the characters in the range.`;
3573
+ readonly icon: string;
3574
+ readonly control: "toggle";
3575
+ readonly pair: "Character style";
3576
+ readonly default: false;
3577
+ };
3578
+ overline: {
3579
+ readonly kind: "boolean";
3580
+ readonly name: string;
3581
+ readonly description: `${string} for the characters in the range.`;
3582
+ readonly icon: string;
3583
+ readonly control: "toggle";
3584
+ readonly pair: "Character style";
3585
+ readonly default: false;
3586
+ };
3587
+ script: {
3588
+ kind: string;
3589
+ name: string;
3590
+ description: string;
3591
+ default: undefined;
3592
+ };
3593
+ textTransform: {
3594
+ kind: "enum";
3595
+ name: string;
3596
+ description: string;
3597
+ control: "toggle";
3598
+ default: string;
3599
+ options: {
3600
+ value: string;
3601
+ label: string;
3602
+ short: string;
3603
+ }[];
3604
+ };
3605
+ fontFamily: {
3606
+ kind: string;
3607
+ name: string;
3608
+ description: string;
3609
+ default: undefined;
3610
+ };
3611
+ fontSize: {
3612
+ kind: "number";
3613
+ name: string;
3614
+ description: string;
3615
+ min: number;
3616
+ step: number;
3617
+ default: number;
3618
+ };
3619
+ letterSpacing: {
3620
+ kind: "number";
3621
+ name: string;
3622
+ short: string;
3623
+ description: string;
3624
+ step: number;
3625
+ default: number;
3626
+ };
3627
+ baselineShift: {
3628
+ kind: "number";
3629
+ name: string;
3630
+ short: string;
3631
+ description: string;
3632
+ step: number;
3633
+ unit: {
3634
+ toDisplay: (v: number) => number;
3635
+ fromDisplay: (v: number) => number;
3636
+ suffix: string;
3637
+ };
3638
+ default: number;
3639
+ };
3640
+ fontScale: {
3641
+ kind: "number";
3642
+ name: string;
3643
+ description: string;
3644
+ min: number;
3645
+ step: number;
3646
+ unit: {
3647
+ toDisplay: (v: number) => number;
3648
+ fromDisplay: (v: number) => number;
3649
+ suffix: string;
3650
+ };
3651
+ default: number;
3652
+ };
3653
+ fill: {
3654
+ kind: "color";
3655
+ name: string;
3656
+ description: string;
3657
+ alpha: true;
3658
+ default: string;
3659
+ };
3660
+ };
3661
+ };
3662
+ }
3508
3663
 
3509
3664
  /**
3510
- * In-progress pen anchor. `outHandle` is set when the anchor was placed via
3511
- * click-drag (smooth anchor); undefined for click-placed corners.
3512
- * `inHandle` is mirrored from the previous anchor's outHandle on segment
3513
- * emission unless `altBroken` is set on that previous anchor.
3665
+ * In-progress pen anchor. A click places a corner, with no handles. A drag
3666
+ * sets `outHandle` to the drag point and `inHandle` to its mirror through
3667
+ * the anchor, which shapes the segment coming into it.
3514
3668
  */
3515
3669
  interface PenAnchor$1 {
3516
3670
  x: number;
@@ -3523,8 +3677,9 @@ interface PenAnchor$1 {
3523
3677
  x: number;
3524
3678
  y: number;
3525
3679
  };
3526
- /** True when Alt was held during the outgoing-handle drag — the next
3527
- * anchor's incoming handle is NOT mirrored from this one. */
3680
+ /** True once Alt is held during the placement drag: from then on the
3681
+ * in-handle stays where it is, and an anchor dragged with Alt down from
3682
+ * the start gets none. */
3528
3683
  altBroken?: boolean;
3529
3684
  }
3530
3685
  /** One in-progress subpath of the pen tool: its anchors so far, and whether
@@ -3594,6 +3749,13 @@ interface UsePenToolOptions<TPose> {
3594
3749
  adapter: {
3595
3750
  addNode: (pose: TPose) => string;
3596
3751
  setSelection: (ids: string[]) => void;
3752
+ /** Build, without inserting, the node `addNode` would insert for `pose`,
3753
+ * so the pen can put it in a larger op batch — a new path finished on
3754
+ * another open path's endpoint is inserted and the other path deleted
3755
+ * in one undo step. Without it, that click only places an anchor. */
3756
+ makeNode?: (pose: TPose) => {
3757
+ id: string;
3758
+ };
3597
3759
  };
3598
3760
  /** Auto-select the new object after commit. Default `true`. */
3599
3761
  autoSelect?: boolean;
@@ -4685,6 +4847,11 @@ interface NodePaintCtx {
4685
4847
  * paints the deterministic grey placeholder outline (never the ambient
4686
4848
  * load-status error variant). */
4687
4849
  resolveImage?: (node: Node$1<unknown, string, unknown>) => ImageBitmap | undefined;
4850
+ /** Device pixels per world unit where this paint will land — the view's
4851
+ * scale times the device-pixel ratio. `defaultDrawOne` fills it from its
4852
+ * view when absent. Lets a painter size resolution-dependent work, such as
4853
+ * re-rasterizing an SVG image; one that has no such work ignores it. */
4854
+ pixelScale?: number;
4688
4855
  /** The node's derived path, resolved by the scene-aware `drawOne` wrapper
4689
4856
  * before painting: `paint` has no scene handle, and deriving needs the
4690
4857
  * dependencies' poses. **Absent** for a node that derives from nothing —
@@ -5138,13 +5305,21 @@ type LayersMap<TNode extends {
5138
5305
  [customKey: string]: LayerSlotValue<TNode, TPose> | undefined;
5139
5306
  };
5140
5307
  /**
5141
- * High-level selection semantics. Kept as a public type for `<SceneCanvas>`
5142
- * consumers — Canvas itself no longer accepts a `selectionMode` prop.
5308
+ * What `<SceneCanvas selectionMode>` lets the canvas do to the selection.
5143
5309
  *
5144
- * - `'single'` (default) — click replaces the selection with one id.
5145
- * - `'multi'` — shift-click extends/toggles. Multi-selected objects draw a
5146
- * union AABB with corner handles.
5147
- * - `'none'` — canvas interactions never update selection state.
5310
+ * - `'single'` (default) — a click replaces the selection with the clicked
5311
+ * node, modifiers or not. It sets click policy, not a limit: a marquee,
5312
+ * lasso, select-all or paste can still select several nodes.
5313
+ * - `'multi'` — a click with the extend key (shift by default) toggles the
5314
+ * node in or out of the selection.
5315
+ * - `'none'` — nothing the canvas does writes the selection: no click,
5316
+ * marquee, lasso, action or tool, and no op committed through the adapter
5317
+ * it hands its tools. The consumer's own `SelectionApi` — the `selection`
5318
+ * prop, or `useSelection({ scene })` — still writes, and the canvas draws
5319
+ * what it holds. Undo and redo still restore the selection each history
5320
+ * entry recorded.
5321
+ *
5322
+ * Several selected nodes draw one union box with corner handles in every mode.
5148
5323
  */
5149
5324
  type CanvasSelectionMode = 'single' | 'multi' | 'none';
5150
5325
  /**
@@ -5505,6 +5680,9 @@ type SceneCanvasAdapter<TData, TLayer extends string, TPose> = MoveAdapter<Node$
5505
5680
  /** The node's pose with every ancestor's frame folded in. Equal to
5506
5681
  * `getPose` unless a `poseComposition` is configured. */
5507
5682
  getWorldPose(id: string): TPose;
5683
+ /** Whether `id`'s pose is a frame its children are expressed in — see
5684
+ * `definesFrame`. */
5685
+ definesFrame(id: string): boolean;
5508
5686
  /** Present only when a composing strategy is configured; the render
5509
5687
  * walk feature-detects it. */
5510
5688
  composePose?(parent: TPose, child: TPose): TPose;
@@ -5574,14 +5752,8 @@ interface SceneToAdapterOptions<TData, TLayer extends string, TPose> {
5574
5752
  * undoable. */
5575
5753
  declare function sceneToAdapter<TData, TLayer extends string, TPose>(scene: Scene<TData, TLayer, TPose>, options?: SceneToAdapterOptions<TData, TLayer, TPose>): SceneCanvasAdapter<TData, TLayer, TPose>;
5576
5754
  /**
5577
- * React-hook wrapper around `sceneToAdapter`. Memoizes on `scene`,
5578
- * `options.selection`, `options.commitInsert`, `options.insertLayer`, and
5579
- * `options.layouts` so the adapter identity is stable across renders unless
5580
- * one of those changes.
5581
- *
5582
- * Saves the per-demo `useMemo(() => sceneToAdapter(scene, { selection }),
5583
- * [scene, selection])` boilerplate every consumer that wires custom tools
5584
- * would otherwise repeat.
5755
+ * React-hook wrapper around `sceneToAdapter`. Memoizes on every option, so
5756
+ * the adapter keeps its identity across renders unless one of them changes.
5585
5757
  */
5586
5758
  declare function useSceneAdapter<TData, TLayer extends string, TPose>(scene: Scene<TData, TLayer, TPose>, options?: SceneToAdapterOptions<TData, TLayer, TPose>): SceneCanvasAdapter<TData, TLayer, TPose>;
5587
5759
 
@@ -5695,6 +5867,8 @@ declare const SHAPE_KINDS: {
5695
5867
  readonly insertPreview: true;
5696
5868
  };
5697
5869
  };
5870
+ /** Every kind in the table, tool or not. */
5871
+ type ShapeKind = keyof typeof SHAPE_KINDS;
5698
5872
  /** The keys of a shape-kind table whose descriptor sets `F` to `true`. */
5699
5873
  type ShapeKindsWhere<T, F extends keyof ShapeKindDescriptor> = {
5700
5874
  [K in keyof T]: T[K] extends Record<F, true> ? K : never;
@@ -5879,7 +6053,7 @@ declare function rotateAroundAABBCenter(x: number, y: number, width: number, hei
5879
6053
  /** Paint one node the way the kit does by default: dispatch to the first
5880
6054
  * registered node-shape painter that matches, then draw its `data.label` on
5881
6055
  * top when it has one. Consumers replace or wrap this via `drawOne`. */
5882
- declare function defaultDrawOne<TData, TLayer extends string, TPose>(node: Node$1<TData, TLayer, TPose>, pose: TPose, _view?: View, ctx?: NodePaintCtx): DrawCommand[];
6056
+ declare function defaultDrawOne<TData, TLayer extends string, TPose>(node: Node$1<TData, TLayer, TPose>, pose: TPose, view?: View, ctx?: NodePaintCtx): DrawCommand[];
5883
6057
 
5884
6058
  /** Default size in CSS pixels for selection corner-handles AND their
5885
6059
  * hit-test radius, at `targetScale = 1`. Used by the SceneCanvas defaults;
@@ -5942,6 +6116,11 @@ type SceneCanvasProps<TData, TLayer extends string, TPose> = Omit<CanvasProps<No
5942
6116
  * to `sceneToAdapter` so `useMove`'s layout pass runs on configured
5943
6117
  * containers (reflow on enter, reparent + reflow on commit). */
5944
6118
  layouts?: SceneToAdapterOptions<TData, TLayer, TPose>['layouts'];
6119
+ /** Which layout container a drag lands in when several contain the drop
6120
+ * point — the innermost (default), the topmost in paint order, or only
6121
+ * containers whose strategy declares a `dropRegion`. Decides both the
6122
+ * drag-time reflow preview and the commit. */
6123
+ layoutDropTarget?: LayoutDropTargetMode;
5945
6124
  /** How a child's stored pose folds into its parent's frame. Omit for the
5946
6125
  * absolute-pose model, where a container groups its children but imposes
5947
6126
  * no transform. Pass `RIGID_POSE_COMPOSITION` to make a container's pose
@@ -6088,12 +6267,8 @@ type SceneCanvasProps<TData, TLayer extends string, TPose> = Omit<CanvasProps<No
6088
6267
  selection?: SelectionApi;
6089
6268
  selectionOptions?: UseSelectionOptions;
6090
6269
  /**
6091
- * High-level selection semantics. Controls whether canvas interactions
6092
- * mutate selection and whether multi-select chrome (union AABB) activates.
6093
- * - `'single'` (default) — click selects one id.
6094
- * - `'multi'` — shift-click extends/toggles.
6095
- * - `'none'` — canvas interactions never update selection.
6096
- * See {@link CanvasSelectionMode}.
6270
+ * What the canvas may do to the selection. See {@link CanvasSelectionMode}.
6271
+ * Default `'single'`.
6097
6272
  */
6098
6273
  selectionMode?: CanvasSelectionMode;
6099
6274
  /** Extra tools or overrides keyed by id, or a full `ToolsApi` takeover.
@@ -6603,14 +6778,42 @@ interface ImageNodeData {
6603
6778
  image: {
6604
6779
  src: string;
6605
6780
  opacity?: number;
6781
+ /** The part of the bitmap drawn into the pose rect, as fractions of the
6782
+ * bitmap's width and height from its top-left. Omitted draws the whole
6783
+ * bitmap. Fractions, so the data means the same thing before the bitmap
6784
+ * has decoded and after `src` is swapped for another resolution. */
6785
+ source?: {
6786
+ x: number;
6787
+ y: number;
6788
+ width: number;
6789
+ height: number;
6790
+ };
6791
+ /** Mirror the drawn region within the pose rect. The rect does not move. */
6792
+ flipX?: boolean;
6793
+ flipY?: boolean;
6606
6794
  };
6607
6795
  }
6608
6796
  /** Where an image is in its load: never requested, in flight, decoded, or
6609
6797
  * failed. Renderers paint a placeholder for anything but `'ready'`. */
6610
6798
  type ImageStatus = 'idle' | 'loading' | 'ready' | 'error';
6799
+ /** A size in device pixels. */
6800
+ interface ImageRasterSize {
6801
+ width: number;
6802
+ height: number;
6803
+ }
6804
+ /** True when `src` names SVG — a `data:image/svg+xml` URI, or a URL whose path
6805
+ * ends in `.svg`/`.svgz`. Such sources re-rasterize at the size they are drawn
6806
+ * at; everything else decodes once. A `blob:` URL carries no type and counts
6807
+ * as raster. */
6808
+ declare function isVectorImageSrc(src: string): boolean;
6611
6809
  /** Synchronous read. Returns the decoded bitmap when ready; otherwise returns
6612
- * `undefined` and lazily starts a de-duped async load for `src`. */
6613
- declare function getImageBitmap(src: string): ImageBitmap | undefined;
6810
+ * `undefined` and lazily starts a de-duped async load for `src`.
6811
+ *
6812
+ * `drawnAt` is the size in device pixels the image is about to cover. A
6813
+ * vector source ({@link isVectorImageSrc}) uses it to re-rasterize in
6814
+ * power-of-two steps — the current raster is returned until the sharper one
6815
+ * is ready. Raster sources ignore it. */
6816
+ declare function getImageBitmap(src: string, drawnAt?: ImageRasterSize): ImageBitmap | undefined;
6614
6817
  /** Current load status for `src` (`'idle'` if never requested). */
6615
6818
  declare function imageStatus(src: string): ImageStatus;
6616
6819
  /** Subscribe to load-resolution events (fires after any `src` resolves or
@@ -7219,6 +7422,20 @@ declare function documentPose<TPose>(source: PoseSource<TPose>, node: PosedNode<
7219
7422
  * walks, the pick walk, the adapters tools and actions commit through.
7220
7423
  */
7221
7424
  declare function effectivePose<TPose>(source: PoseSource<TPose>, node: PosedNode<TPose>): TPose;
7425
+ /**
7426
+ * Whether `node`'s pose is a frame its children are expressed in, under a
7427
+ * composing strategy.
7428
+ *
7429
+ * A container that derives its pose from its children cannot be one: moving
7430
+ * the frame to cover the children would move the children, and a `RectPose`
7431
+ * frame's origin is its corner, so no envelope leaves them in place. Such a
7432
+ * container is an envelope instead — its children are stored in its own
7433
+ * frame — and the composition fold passes over it.
7434
+ */
7435
+ declare function definesFrame(node: {
7436
+ dependsOn?: unknown;
7437
+ derivePose?: unknown;
7438
+ }): boolean;
7222
7439
 
7223
7440
  /** A node and the pose a renderer should draw it at. `node.pose` beside it is
7224
7441
  * still the committed pose, so a host has both without a second channel. */
@@ -7247,6 +7464,10 @@ declare const UNION_OF_CHILDREN = "kit:unionOfChildren";
7247
7464
  * box. Paired with `dependsOn: 'children'`, this is what makes a group's
7248
7465
  * bounds track its members instead of freezing at the moment it was made.
7249
7466
  *
7467
+ * Its members and its result share one frame: a container deriving its pose
7468
+ * from its children defines none of its own (see `definesFrame`), so the same
7469
+ * union is right under any composition strategy.
7470
+ *
7250
7471
  * Returns `null` for an emptied container, which falls back to its authored
7251
7472
  * pose — the group stays where the last member left it rather than collapsing
7252
7473
  * to a zero box at the origin.
@@ -9489,9 +9710,9 @@ declare function pathContainsRect(path: Path, rect: Rect, opts?: PointInPathOpti
9489
9710
  /** Returns true if `rect` overlaps (intersects or contains) `path`. */
9490
9711
  declare function pathIntersectsRect(path: Path, rect: Rect, opts?: PointInPathOptions): boolean;
9491
9712
  /** Returns true if every vertex of `polygon` lies inside `path`. */
9492
- declare function pathContainsPolygon(path: Path, polygon: readonly Vec2[], opts?: PointInPathOptions): boolean;
9713
+ declare function pathContainsPolygon(path: Path, polygon: readonly Point2[], opts?: PointInPathOptions): boolean;
9493
9714
  /** Returns true if `polygon` overlaps (intersects or is contained by) `path`. */
9494
- declare function pathIntersectsPolygon(path: Path, polygon: readonly Vec2[], opts?: PointInPathOptions): boolean;
9715
+ declare function pathIntersectsPolygon(path: Path, polygon: readonly Point2[], opts?: PointInPathOptions): boolean;
9495
9716
 
9496
9717
  /**
9497
9718
  * Pure-geometry distance from a point to a path's boundary (stroke), with
@@ -9531,12 +9752,6 @@ declare function pathDistanceToPoint(path: Path, px: number, py: number): number
9531
9752
  * predictable. Polygon coords are copied into a fresh `Float32Array`.
9532
9753
  */
9533
9754
  declare function translatePath(path: Path, dx: number, dy: number): Path;
9534
- /**
9535
- * Translate a polygon path's coords *in place*. Returns the same
9536
- * `PolygonPath` reference. Use only for transient overlay buffers — never
9537
- * for committed scene state, which must remain immutable for React.
9538
- */
9539
- declare function translatePolygonInPlace(path: PolygonPath, dx: number, dy: number): PolygonPath;
9540
9755
  /**
9541
9756
  * Scale a path's coords so its current AABB maps to `target`. Resize
9542
9757
  * interactions use this to make a polygon follow a corner-handle drag.
@@ -10129,7 +10344,7 @@ interface PaintBindContext {
10129
10344
  * an axis. Nothing the paint draws there means anything, so `bind` should
10130
10345
  * return `null` and draw nothing.
10131
10346
  */
10132
- spaceInverse(units: GradientUnits | undefined): Mat3$1 | null;
10347
+ spaceInverse(units: GradientUnits | undefined): GlMat3 | null;
10133
10348
  /**
10134
10349
  * Bake a stop ramp into the frame's ramp atlas, bind that atlas to a texture
10135
10350
  * unit, and return the `v` the ramp's own row sits at — every ramp in a
@@ -10406,7 +10621,11 @@ declare const DEFAULT_FILL_COLOR = "#ffffffff";
10406
10621
  declare const DEFAULT_STROKE_COLOR = "#000000ff";
10407
10622
  /** Default fill palette cycled through for auto-generated shape nodes
10408
10623
  * (the kit's built-in shape tools and the `insert` action). */
10409
- declare const DEFAULT_PALETTE: readonly string[];
10624
+ declare const DEFAULT_PALETTE: Palette;
10625
+ /** The `seq`th color of `palette`'s entries as hex, wrapping past the end.
10626
+ * An entry that resolves to nothing, or to a space with no hex form, gives
10627
+ * `fallback`. */
10628
+ declare function cycleFill(seq: number, palette?: Palette, fallback?: string): string;
10410
10629
  /** Preview / "ghost" stroke color used by drag-to-draw tool overlays and the
10411
10630
  * selected-anchor highlight. Derived from the first palette entry so the
10412
10631
  * preview chrome matches the default insert color. */
@@ -11623,14 +11842,14 @@ interface RigApplyContext<TPose> {
11623
11842
  * bind pose. */
11624
11843
  rest: TPose;
11625
11844
  /** The joint's world transform at the bind pose. */
11626
- restWorld: Mat3$1;
11845
+ restWorld: GlMat3;
11627
11846
  /** `world * inverse(restWorld)`: the motion since the bind pose, in world
11628
11847
  * space. Carrying `rest` by it is what welding the node to the joint means. */
11629
- fromRest: Mat3$1;
11848
+ fromRest: GlMat3;
11630
11849
  }
11631
11850
  /** Turns a joint's world transform into a pose for one bound node. The only
11632
11851
  * part of a rig that knows the scene's pose shape. */
11633
- type RigApply<TPose> = (world: Mat3$1, ctx: RigApplyContext<TPose>) => TPose;
11852
+ type RigApply<TPose> = (world: GlMat3, ctx: RigApplyContext<TPose>) => TPose;
11634
11853
  interface BindRigOptions<TPose> {
11635
11854
  scene: RigScene<TPose>;
11636
11855
  skeleton: Skeleton;
@@ -11651,9 +11870,9 @@ interface Rig {
11651
11870
  * commit them. The per-frame write. `root` places the rig in the world, and
11652
11871
  * may mirror it.
11653
11872
  */
11654
- pose(pose: Pose, root?: Mat3$1): void;
11873
+ pose(pose: Pose, root?: GlMat3): void;
11655
11874
  /** The joint world transforms the last `pose` resolved, root applied. */
11656
- world(): ReadonlyMap<string, Mat3$1>;
11875
+ world(): ReadonlyMap<string, GlMat3>;
11657
11876
  /** Write the current frame into the bound nodes' document poses as one
11658
11877
  * undo entry, and drop the overrides. Later frames stay relative to the
11659
11878
  * bind-time rest, so baking does not compound. */
@@ -11687,7 +11906,7 @@ declare function bindRig<TPose>(options: BindRigOptions<TPose>): Rig;
11687
11906
  * because that failure is otherwise invisible until a limb renders in the wrong
11688
11907
  * place.
11689
11908
  */
11690
- declare function resolveSkeleton(skeleton: Skeleton, pose: Pose): Map<string, Mat3$1>;
11909
+ declare function resolveSkeleton(skeleton: Skeleton, pose: Pose): Map<string, GlMat3>;
11691
11910
 
11692
11911
  /**
11693
11912
  * A {@link Rig} bound for the component's lifetime, its overrides dropped on
@@ -11787,15 +12006,10 @@ interface SnapPointOptions<TPose> {
11787
12006
  tolerance?: number;
11788
12007
  snap?: LayoutSnap<TPose>;
11789
12008
  }
11790
- /** A point in world coordinates. */
11791
- type Pt = {
11792
- x: number;
11793
- y: number;
11794
- };
11795
12009
  /** Layout strategy that leaves children where they are but offers a fixed set
11796
12010
  * of points — corners, edge midpoints, center, or a grid — for a dragged
11797
12011
  * child to land on. */
11798
- declare function snapPoint<TPose extends Pt>(opts: SnapPointOptions<TPose>): LayoutStrategy<TPose>;
12012
+ declare function snapPoint<TPose extends Point2>(opts: SnapPointOptions<TPose>): LayoutStrategy<TPose>;
11799
12013
 
11800
12014
  /**
11801
12015
  * Parse a CSS color string into [r, g, b, a] with 0..1 components.
@@ -11937,6 +12151,74 @@ declare function DivideIcon(): react_jsx_runtime.JSX.Element;
11937
12151
  /** Icon for the crop operation: the back shape clipped to the front one. */
11938
12152
  declare function CropIcon(): react_jsx_runtime.JSX.Element;
11939
12153
 
12154
+ /** Cut: scissors. */
12155
+ declare function CutIcon(): react_jsx_runtime.JSX.Element;
12156
+ /** Copy: a document peeking out behind another. */
12157
+ declare function CopyIcon(): react_jsx_runtime.JSX.Element;
12158
+ /** Paste: a clipboard with a filled clip. */
12159
+ declare function PasteIcon(): react_jsx_runtime.JSX.Element;
12160
+ /** Duplicate: the source outlined, the copy filled. */
12161
+ declare function DuplicateIcon(): react_jsx_runtime.JSX.Element;
12162
+ /** Group: corner brackets framing two filled rects. */
12163
+ declare function GroupIcon(): react_jsx_runtime.JSX.Element;
12164
+ /** Ungroup: two filled rects escaping a frame broken to two dashed corners. */
12165
+ declare function UngroupIcon(): react_jsx_runtime.JSX.Element;
12166
+ /** Bring forward: two stacked rects, the front one filled. */
12167
+ declare function BringForwardIcon(): react_jsx_runtime.JSX.Element;
12168
+ /** Bring to front: three stacked rects, the frontmost filled. */
12169
+ declare function BringToFrontIcon(): react_jsx_runtime.JSX.Element;
12170
+ /** Send backward: two stacked rects, the rear one filled. */
12171
+ declare function SendBackwardIcon(): react_jsx_runtime.JSX.Element;
12172
+ /** Send to back: three stacked rects, the rearmost filled. */
12173
+ declare function SendToBackIcon(): react_jsx_runtime.JSX.Element;
12174
+ /** Flip horizontal: an outlined and a filled chevron either side of a dashed vertical axis. */
12175
+ declare function FlipXIcon(): react_jsx_runtime.JSX.Element;
12176
+ /** Flip vertical: an outlined and a filled chevron either side of a dashed horizontal axis. */
12177
+ declare function FlipYIcon(): react_jsx_runtime.JSX.Element;
12178
+
12179
+ declare function AlignLeftIcon(): react_jsx_runtime.JSX.Element;
12180
+ declare function AlignRightIcon(): react_jsx_runtime.JSX.Element;
12181
+ declare function AlignTopIcon(): react_jsx_runtime.JSX.Element;
12182
+ declare function AlignBottomIcon(): react_jsx_runtime.JSX.Element;
12183
+ declare function AlignCenterXIcon(): react_jsx_runtime.JSX.Element;
12184
+ declare function AlignCenterYIcon(): react_jsx_runtime.JSX.Element;
12185
+
12186
+ declare function DistributeHorizontalIcon(): react_jsx_runtime.JSX.Element;
12187
+ declare function DistributeVerticalIcon(): react_jsx_runtime.JSX.Element;
12188
+
12189
+ /**
12190
+ * @experimental
12191
+ * Props for the undo, redo and delete glyphs — the same shape as
12192
+ * `@weasel-js/ui`'s `IconProps`, which re-exports these components.
12193
+ */
12194
+ interface ActionGlyphProps extends IconProps {
12195
+ /** Accessible name. Omit inside a button that already labels itself; the
12196
+ * glyph is then `aria-hidden`. */
12197
+ label?: string;
12198
+ /** Accepted for parity with the rest of the ui icon set; none of these
12199
+ * glyphs encloses a region, so it draws nothing. */
12200
+ filled?: boolean;
12201
+ fillOpacity?: number;
12202
+ }
12203
+ /** @experimental Undo: a straight run returning in a half circle, arrowhead on the run. */
12204
+ declare function UndoIcon(p: ActionGlyphProps): react_jsx_runtime.JSX.Element;
12205
+ /** @experimental Redo: the undo glyph mirrored. */
12206
+ declare function RedoIcon(p: ActionGlyphProps): react_jsx_runtime.JSX.Element;
12207
+ /** @experimental Delete: a lidded trash can. */
12208
+ declare function DeleteIcon(p: ActionGlyphProps): react_jsx_runtime.JSX.Element;
12209
+
12210
+ /**
12211
+ * @experimental
12212
+ * SVG bodies of the glyphs the undo, redo and delete actions ship as their
12213
+ * icons: 20x20 viewBox, stroked in currentColor at stroke-width 1.5 with round
12214
+ * caps and joins. `<Icon name="undo" />` in `@weasel-js/ui` draws the same one.
12215
+ */
12216
+ declare const ACTION_GLYPHS: {
12217
+ readonly delete: "<path d=\"M3.6 5.8h12.8M8 5.8V4.5A1.1 1.1 0 0 1 9.1 3.4h1.8A1.1 1.1 0 0 1 12 4.5v1.3\"/><path d=\"M5.2 5.8v9.6A1.6 1.6 0 0 0 6.8 17h6.4a1.6 1.6 0 0 0 1.6-1.6V5.8\"/><path d=\"M8.4 8.8v5.2M11.6 8.8v5.2\" stroke-width=\"1\"/>";
12218
+ readonly undo: "<path d=\"M4.4 8.4h6.8a3.6 3.6 0 0 1 0 7.2H8.6\"/><path d=\"M6.47 10.14 4.4 8.4 6.47 6.66\"/>";
12219
+ readonly redo: "<path d=\"M15.6 8.4H8.8a3.6 3.6 0 0 0 0 7.2H11.4\"/><path d=\"M13.53 6.66 15.6 8.4 13.53 10.14\"/>";
12220
+ };
12221
+
11940
12222
  /**
11941
12223
  * The painted tier: draws a cursor glyph into the scene when it is too big,
11942
12224
  * or too tied to the view, to be a CSS `url()` cursor.
@@ -11964,4 +12246,4 @@ interface InsertOverlayStyle {
11964
12246
  lineWidth?: number;
11965
12247
  }
11966
12248
 
11967
- export { ANCHOR_HIT_BASE_PX, type ActionShortcut, ActionsProviderIfRoot, type Affordance, type AffordanceBinding, type AffordanceRegion, type AffordanceRegionHit, type AlignAdapter, type AlignAnchor, type AlignEdge, type AlignMatchResult, type AlignMoveArgs, type AlignmentBehaviorBase, type AnchorHit, type AnchorScratch, type AnchorState, type AnimateOnSetPoseOptions, AnimationHandle, Animator, type AnyTool, AreaSelectAdapter, type ArrayAdapter, type ArrayAdapterConfig, ArrowIcon, BUILTIN_MARKERS, BUNDLE_TOOLS, type BakedMesh, type BindRigOptions, BooleansAdapter, BoundsConstraint, type BuildChromeCtxArgs, type BuiltinShapeToolId, type BuiltinToolId, type BuiltinToolOptions, CURVE_REPS, type CanvasExtensionApi, type CanvasFocusReturn, type CanvasHelpers, type CanvasProps, type CanvasSelectionMode, type CanvasSize, type CanvasSizeSnapshot, type CanvasSurfaceHelpers, CanvasView, type CanvasViewHandle, type CanvasViewHelpers, type CanvasViewProps, type CellHighlightLayerOpts, type ChromeCtx, type ChromeId, type ChromeState, type ClampBounds, ClipboardSnapshot, type CoalescedCtx, type ColorInterpolate, ColorOverrideRegistry, type CommonAffordanceScratch, type ComposeSelectionPoseOpts, type ComputeFitViewOptions, type Condition, ContentHandlerEntry, type Contribution, type ContributionChrome, type CornerResizeAffordanceOptions, type CornerResizeScratch, type CreateChildrenLayerOpts, type CreateParallaxLayerOpts, type CreatePathEditingOverlayLayerOptions, type CreatePathLayerOpts, type CreatePenPreviewLayerOptions, type CreateTextLayerOpts, type CreateTiledLayerOpts, type CreateViewResolverOpts, type CreateViewportLayerOpts, CropIcon, CursorCoordsHud, type CursorCoordsHudProps, type CurveRepKind, type CurveRepresentation, type CustomLayerEntry, type CustomPaintContext, type CycleHandle, type CycleVertexColorsOptions, DEFAULT_DEBUG_STROKES, DEFAULT_DEBUG_THEME, DEFAULT_FILL_COLOR, DEFAULT_GUIDE_TOLERANCE_PX, DEFAULT_HANDLE_SIZE, DEFAULT_MAX_ZOOM, DEFAULT_MIN_ZOOM, DEFAULT_PALETTE, DEFAULT_ROTATION_HANDLE_DISTANCE, DEFAULT_SHAPE_FILL, DEFAULT_STROKE_COLOR, type DebugConfig, type DebugFeature, type DebugSnapshot, type DebugStroke, type DebugStrokes, type DebugTheme, type DefaultTextData, DepRegistryProviderIfRoot, type DeriveAlignmentGuidesOptions, DerivedDep, DeviceProfileProvider, type DeviceProfileProviderProps, type Dims, type Discriminator, type DistributeAdapter, type DistributeAxis, type DistributeMode, DivideIcon, type DragGestureController, type DragGestureCtx, type DragGestureEndCtx, type DragGesturePhase, type DragGesturePoint, type DragHandleOptions, type DragPanParams, type DragPayload, type DragRadialController, type DragRadialCtx, type DragRadialEndCtx, type DragRadialPoint, type DragRadialState, type DragRectBounds, type DragRectController, type DragRectCtx, type DragRectEndCtx, type DragRectPoint, DrawCommand, type DropZoneOptions, EasingSpec, Effect, EllipseIcon, ExcludeIcon, EyedropperIcon, FALLBACK_FIT_VIEW, type FeedDelta, type FeedNode, type FillPoseBox, type FitTextPoseOptions, type FlagKey, type FreeformOptions, GHOST_STROKE, type GateLayerOptions, GeometryProjection, type GesturePreviewSource, type GestureSource, type GridLayerOpts, type GridSlotConfig, Guide, type GuideSnapOptions, type GuidesLayerOpts, HANDLE_BASE_PX, HandIcon, InertiaConfig as HandToolInertiaConfig, type HandleDragEnd, type HandleDragPoint, type HeadlessCanvasLike, type HostAnchorAlign, type HostAnchorInput, type HostAnchorOffset, type HostAnchorStyle, IDENTITY_JOINT, type IconProps, ImageIcon, type ImageNodeData, type ImageStatus, type IndicatorStyle, InertiaConfig, InsertAdapter, InsertBehavior, InsertExtras, type InsertNodeFactory, type InsertOp, type InsertOverlayStyle, type InsertPreviewExtent, type InsertPreviewGeometry, type InsertPreviewLike, type InsertPreviewOverlay, IntersectIcon, type Joint, type JointTransform, KIT_SHAPE_KINDS, KIT_STANDARD_ACTION_IDS, type KeyModifiers, type KeyState, type KeyStateAttachOptions, type LabelOptions, LassoHitMode, LassoIcon, LassoSelectAdapter, LassoSelectBehavior, type LayerCommandCache, type LayerDrawFailure, LayerEnumerableAdapter, type LayerGroup, type LayerHit, type LayerSlotValue, type LayersMap, LayoutSnap, LayoutStrategy, type LifecycleAnimation, LineIcon, type LinePoint, MESH_BAKE_SIZE, MESH_GRADIENT_KIND, MIXED, MOVE_ANCHORS, type MarkerCtx, type MarkerEntry, type MarkerPaint, type MarkerSite, type MarkerSiteRequest, Mat3$1 as Mat3, type MeshGradientFill, type MeshPatch, type MeshPoint, MinimapCanvas, type MinimapCanvasProps, type MinimapFit, type Mixed, type MomentumOptions, MoveAdapter, MoveBehavior, type NestedHitOpts, type NestedHitTester, type NodeClientRect, type NodeInk, type NodeInkCtx, type NodeOverlayFrame, type NodePaintCtx, type NodeProperties, type NodePropertiesEntry, type NodeRouting, type NodeRoutingEntry, type NodeShapeEntry, type NodeSilhouetteCtx, type OpenFilePickerOptions, OrderedAdapter, OriginProjection, type OverlayPoint, type OverlayVisibilityId, PAINTED_CURSOR_LAYER_ID, PATH_ANCHOR_CHROME_ID, type PaintBindContext, type PaintKind, type PaintKindEditorProps, type PaintKindEntry, type PaintProgram, PanBounds, type ParallaxOpts, Path, type PathAnchor, type PathAnchorAffordanceOptions, PathBuilder, PathDrawCommand, type PathEditingOverlayStyle, type PathInWorldPose, type PenAnchor, PenIcon, type PenPreviewStyle, type PenScratch, type PenSubpath, PencilIcon, type PencilPoint, PickHud, type PickHudProps, type PickTopMostHitAdapter, type PinchZoomOptions, type PixelRenderPlan, type PointInPathOptions, type PointInTextPoseOpts, PointSnapBehavior, PointerContextProvider, type PointerContextValue, PointerProviderIfRoot, type PointerSample, type PointerStylusState, type PointerWorldPos, PolygonIcon, PolygonPath, type PolygonPoint, type Pose, PoseComposition, PoseDescriptor, type PoseFeed, PoseOverrides, type PoseRotation, type PoseRun, type PoseRunCtx, type PoseRunStep, type PoseSource, type PosedNode, type PressureToWidthOptions, type PreviewNode, type Pt, ROTATION_HANDLE_BASE_PX, type RangeStyle, type RasterImage, type RecordedBounds, type RecordedHandle, type RecordedHitbox, type RecordedLayer, type RecordedOrigin, type RecordedSnap, RectIcon, RectPath, RectPose, type RegisterNodeShapeOptions, RegisteredOp, type RenderLayer, type RenderSceneToCanvasArgs, type RenderSceneToPixelsArgs, type ReorderDirection, ResizeAdapter, type ResolvableView, type ResolvedOverlay, type Rig, type RigApply, type RigApplyContext, type RigScene, RotateAdapter, RotateBehavior, RotatedPose, type RotationAffordanceOptions, type RotationHandle, type RotationScratch, type RunStylePatch, SampledTrack, type ScalarOrXY, Scene, SceneAdapter, type SceneAdapterSelection, SceneCanvas, type SceneCanvasAdapter, type SceneCanvasApi, type SceneCanvasHit, type SceneCanvasProps, Node$1 as SceneNode, type SceneNodeClientRectOpts, SceneRegistry, type SceneSlotConfig, type SceneToAdapterOptions, SceneViewCanvas, type SceneViewCanvasProps, type SceneViewDrawOne, type SceneViewLayers, type SelectAdapter, type SelectFromLassoOptions, SelectIcon, SelectionContextProvider, SelectionContextProviderIfRoot, type SelectionContextValue, type SelectionHandleStyle, type SelectionHandlesLayerOpts, type SelectionOutlineLayerOpts, type SelectionOverlayLayerOpts, type SelectionOverlaySlotConfig, SerializedScene, type SetFlagResult, type SetPathFields, ShaderProgramHandle, type ShapeCoversPointOptions, type SharedAnchor, Simulation, SimulationNode, type Skeleton, type Slew, type SlewRates, SliceDep, type SnapPattern, type SnapPointOptions, SnapStrategy, type SplitByLineOptions, type SpringPoseOptions, SpringPresetName, type SpringVertexColorsOptions, type StaggerVertexColorsOptions, type StandardSlotConfig, type StandardSlotName, StarIcon, type StarPoint, type StartEditOptions, type StyleKey, type StylusData, SubtractIcon, SvgIngestOptions, TOOL_PREF_KINDS, TextDrawCommand, type TextEditClipRect, type TextEditScreenPose, type TextEditSelection, TextIcon, type ThresholdDragHandle, type ThresholdDragOptions, type TileBleed, type TileGridOptions, type TilePatternOpts, type TilePeriod, type TileRange, type Tool, type ToolBundle, type ToolDef, type ToolPref, type ToolPrefBoolean, type ToolPrefBooleanControl, type ToolPrefColor, type ToolPrefCustom, type ToolPrefEnum, type ToolPrefEnumControl, type ToolPrefEnumEncoding, type ToolPrefGroup, type ToolPrefKind, type ToolPrefLeaf, type ToolPrefNumber, type ToolPrefNumberControl, type ToolPrefNumberFormat, type ToolPrefNumberUnit, type ToolPrefObject, type ToolPrefPaint, type ToolPrefString, type ToolPrefStringControl, type ToolsApi, type TweenPoseOptions, type TweenVertexColorsOptions, UNION_OF_CHILDREN, UnionIcon, Unit, UnitSystem, UnitValue, UnknownIcon, type UseAlignOptions, type UseAlignReturn, UseAnimatorOptions, type UseArrayAdapterOptions, type UseBooleansOptions, type UseBooleansReturn, type UseCanvasFocusOptions, type UseDistributeOptions, type UseDistributeReturn, type UseDragGestureOptions, type UseDragRadialOptions, type UseDragRectOptions, type UseEyedropperToolOptions, type UseGridCellHoverOptions, type UseGridCellHoverReturn, type UseGuidesReturn, type UseHandToolOptions, type UseHandleDragOptions, type UseHandleDragReturn, type UseHostAnchorOptions, type UseHoverTrackingArgs, type UseImageToolOptions, type UseKeyStateOptions, type UseKeybindingsOptions, type UseLassoSelectOptions, type UseLassoToolOptions, UseMoveOptions, type UseNodeOverlayFrameOptions, type UsePenToolOptions, type UsePointerStylusOptions, type UsePolygonToolOptions, type UsePoseRunOptions, UseResizeOptions, type UseResizePolicyOptions, type UseRotateOptions, UseSceneOptions, type UseSceneTextEditOptions, type UseSceneTextEditReturn, type UseSceneTrivialOptions, type UseSelectToolOptions, type UseSelectionOptions, UseSimulationOptions, type UseStandardActionsOptions, type UseStarToolOptions, type UseTextEditOptions, type UseTextEditReturn, type UseToolsOptions, VERSION, Vec2, type VelocityTracker, VertexColorChannel, ViewAnimationOptions, type ViewRect, type ViewResolver, type ViewTarget, type ViewTransform, ViewportDims, type ViewportLayer, type ViewportToolDef, type ViewportZoomAnimateOptions, type ViewportZoomOptions, type VisibilityRules, type VisibleRaf, type VisibleRafOptions, type VisibleRafTarget, WHEEL_ZOOM_STEP, WeaselProvider, type WheelInput, type WheelPanOptions, type WheelPanOpts, ZOOM_FLOOR, type ZoomBound, type ZoomClampOpts, type ZoomFactor, _resetMarkersForTests, _resetPaintKindsForTests, actionIs, actionShortcuts, alignDeltaFor, alignInsertBehavior, alignMoveBehavior, alignResizeBehavior, always, and, animateLifecycle, animateOnSetPose, annulusSemiAxes, applyOpsTo, applyStyleToRange, areaSelectAction, arrayAdapter, asPaint, axisAlignedBounds, bakeMesh, bezierCubic, bezierQuadratic, bindRig, blendPoses, boundsOfPath, buildChromeCtx, buildSceneViewCommands, canBringForward, canHover, canSendBackward, capabilityAll, capabilityIn, capabilityIs, capabilityNot, caretIndexAt, cellAt, charOffsetToDomPosition, circlePath, clampView, clearSelectionAction, clipboardCopyAction, clipboardCutAction, cloneAction, coarsePointer, composeAffordanceLayer, composePath, composeSelectionPose, computeFitView, computeFitViewport, computeIndicatorCommand, computeWheelAction, cond, constrainTo45, containedThenNearest, cornerWeights, countPathAnchors, createCellHighlightLayer, createChildrenLayer, createCornerResizeAffordance, createDebugOverlayLayer, createDebugSink, createDeleteOp, createGridLayer, createGuidesLayer, createHistory, createInsertOp, createKeyState, createMoveToIndexOp, createNodeProperties, createNodeRouting, createPaintedCursorLayer, createParallaxLayer, createPathAnchorAffordances, createPathEditingOverlayLayer, createPathLayer, createPenPreviewLayer, createPoseFeed, createPoseOverrides, createReorderOp, createReparentOp, createRotationAffordance, createScene, createSelectionHandlesLayer, createSelectionOutlineLayer, createSelectionOverlayLayer, createSetDataOp, createSetLayerOp, createSetPathOp, createSetSelectionOp, createSetTextOp, createSlew, createTextLayer, createTilePattern, createTiledLayer, createTransformOp, createVelocityTracker, createViewResolver, createViewportLayer, cycleVertexColors, decomposePath, defaultCommitAdapter, defaultDrawOne, defaultLabelTextRenderer, defaultNodeProperties, defaultNodeRouting, defaultVisibilityRules, defineTool, defineViewportTool, deriveAlignmentGuides, deriveParallaxView, derivedDepOf, derivedPose, dispatchApplyBatch, dlog, documentPose, domPositionToCharOffset, domToRuns, drawLayers, drawOneLayer, dwarn, editAnchorsAction, effectivePose, effectiveRangeStyle, enterTextEditAction, enumerateAnchors, evalPatch, fillInPoseFrame, fillToBoundsFrame, findNodeShape, findShapeInk, findShapeSilhouette, fitTextPose, fitToBounds, fitZoom, flattenPreviews, focused, forEachCoalesced, freeform, gateLayer, gesturing, getAlpha01, getImageBitmap, getMarker, getNodeShapes, getPaintKind, getStylusData, gradientForBounds, gradientGeometry, guideSnapStrategy, hexToRgba, hitAffordanceRegions, hitAnchor, hitRotationHandle, hostAnchorCss, hostAnchorRect, hovering, hoveringSelected, imageStatus, inferredNodeProperties, inferredNodeRouting, insertAction, insertPreviewExtent, interpolateView, isBuiltinToolPref, isDebugEnabled, isGradientFill, isLayerPainted, isLayerVisible, isMeshGradientFill, isPatternSpec, isTensorPatch, isValidPatch, keySpecShortcut, lassoSelectAction, listMarkers, listPaintKinds, makePinchZoomAction, makeViewportWheelPanAction, makeViewportZoomAction, markerDrawCommands, markerInset, markerKeyOf, markerSites, matchAlignment, meanScale, mergeAlphaFromPrev, meshBounds, meshGradientXml, modeIn, modeIs, modeNot, modifierHeld, momentum, moveAction, multiActive, nearest, nearestWithin, nestedHitTester, never, nodeHasFlag, none, normalizeHex, normalizeView, normalizeZoom, not, nurbs, openFilePicker, or, paintAlpha, paintKindOf, paintWithAlpha, paintWithColor, parseColor, parseColorToRgba255, parseDebugFlags, patchBounds, patchCorner, pathContainsPoint, pathContainsPolygon, pathContainsRect, pathDistanceToPoint, pathDivide, pathExclude, pathFromD, pathInPoseFrame, pathInWorld, pathIntersect, pathIntersectsPolygon, pathIntersectsRect, pathOriginProjection, pathPoseDescriptor, pathSubtract, pathToAnchors, pathUnion, pickTopMostHit, pinchZoomAction, planPixelRender, pointInPath, pointInTextPose, poseRotationOf, prefUnit, pressureToWidth, pxExtent, rainbowVertexColors, rebuildOp, rectMarkerPath, registerMarker, registerNodeShape, registerOpFactory, registerPaintKind, registeredOpNames, renderLabel, renderSceneToCanvas, renderSceneToPixels, resizeAction, resolveColor, resolveFillPattern, resolveMarkerSize, resolveOverlays, resolvePatternSpec, resolvePreviews, resolveSkeleton, resolveVisibility, rgbaToHex, rigidRigApply, rotateAction, rotateAroundAABBCenter, rotatePathAround, rotationDegreesUnit, rotationHandle, roundRectPath, roundToCell, runsToDom, sampleGradientStops, sampleTrack, scaleDelta, scalePathToBounds, sceneFromJSON, sceneNodeClientRect, sceneSelectionStore, sceneToAdapter, screenToWorld, seedMeshPatch, selectFromLasso, selectionAtLeast, selectionEmpty, selectionIs, setFlagOverRange, shapeCoversPoint, slewToward, sliceAction, snap, snapPoint, solid, solidVertexColors, spiro, splitPathByLine, splitSubpaths, springPose, springVertexColors, squarePath, staggerVertexColors, startThresholdDrag, strokeInsets, strokeOf, strokeWith, styleAtRange, subscribeImageReady, textCommand, textCommandFromPose, textCommandFromRuns, tileGrid, tiledProject, toHex8, transformPath, translatePath, translatePolygonInPlace, trimPolyline, tweenPose, tweenVertexColors, unionAABB, unionBounds, unionBoundsPath, unionOfChildren, unionOfChildrenVia, useAlign, useAnimator, useArrayAdapter, useAutoCenter, useBooleans, useBooleansAdapter, useCanvasFocus, useCanvasSize, useDeviceProfile, useDistribute, useDragGesture, useDragHandle, useDragRadial, useDragRect, useDropZone, useEllipseTool, useEyedropperTool, useGridCellHover, useGuides, useHandTool, useHandleDrag, useHostAnchor, useHoverTracking, useImageTool, useKeyState, useKeybindings, useLassoTool, useLineTool, useNodeOverlayFrame, usePenTool, usePencilTool, usePinchGesture, usePointerContext, usePointerStylus, usePolygonTool, usePoseCompositionDepSource, usePoseDescriptorDepSource, usePoseRun, usePublishSelection, useRectTool, useResizePolicy, useRig, useScene, useSceneAdapter, useSceneTextEdit, useSelectTool, useSelection, useSelectionContext, useSimulation, useSliceDep, useStandardActions, useStarTool, useTextEdit, useTextTool, useTools, useVelocityTracker, useVisibleRaf, viewToTransform, viewZoom, viewportDragPanAction, viewportWheelPanAction, viewportZoomAction, viewportsAt, wheelPan, wheelZoom, wheelZoomFactor, when, withAlpha01, withCoord, withGradientKind, withinPxBox, withinPxRadius, worldEditToStorage, worldToScreen, zoomAt, zoomAtLeast };
12249
+ export { ACTION_GLYPHS, ANCHOR_HIT_BASE_PX, type ActionGlyphProps, type ActionShortcut, ActionsProviderIfRoot, type Affordance, type AffordanceBinding, type AffordanceRegion, type AffordanceRegionHit, type AlignAdapter, type AlignAnchor, AlignBottomIcon, AlignCenterXIcon, AlignCenterYIcon, type AlignEdge, AlignLeftIcon, type AlignMatchResult, type AlignMoveArgs, AlignRightIcon, AlignTopIcon, type AlignmentBehaviorBase, type AnchorHit, type AnchorScratch, type AnchorState, type AnimateOnSetPoseOptions, AnimationHandle, Animator, type AnyTool, AreaSelectAdapter, type ArrayAdapter, type ArrayAdapterConfig, ArrowIcon, BUILTIN_MARKERS, BUNDLE_TOOLS, type BakedMesh, type BindRigOptions, BooleansAdapter, BoundsConstraint, BringForwardIcon, BringToFrontIcon, type BuildChromeCtxArgs, type BuiltinShapeToolId, type BuiltinToolId, type BuiltinToolOptions, CURVE_REPS, type CanvasExtensionApi, type CanvasFocusReturn, type CanvasHelpers, type CanvasProps, type CanvasSelectionMode, type CanvasSize, type CanvasSizeSnapshot, type CanvasSurfaceHelpers, CanvasView, type CanvasViewHandle, type CanvasViewHelpers, type CanvasViewProps, type CellHighlightLayerOpts, type ChromeCtx, type ChromeId, type ChromeState, type ClampBounds, ClipboardSnapshot, type CoalescedCtx, type ColorInterpolate, ColorOverrideRegistry, type CommonAffordanceScratch, type ComposeSelectionPoseOpts, type ComputeFitViewOptions, type Condition, ContentHandlerEntry, type Contribution, type ContributionChrome, CopyIcon, type CornerResizeAffordanceOptions, type CornerResizeScratch, type CreateChildrenLayerOpts, type CreateParallaxLayerOpts, type CreatePathEditingOverlayLayerOptions, type CreatePathLayerOpts, type CreatePenPreviewLayerOptions, type CreateTextLayerOpts, type CreateTiledLayerOpts, type CreateViewResolverOpts, type CreateViewportLayerOpts, CropIcon, CursorCoordsHud, type CursorCoordsHudProps, type CurveRepKind, type CurveRepresentation, type CustomLayerEntry, type CustomPaintContext, CutIcon, type CycleHandle, type CycleVertexColorsOptions, DEFAULT_DEBUG_STROKES, DEFAULT_DEBUG_THEME, DEFAULT_FILL_COLOR, DEFAULT_GUIDE_TOLERANCE_PX, DEFAULT_HANDLE_SIZE, DEFAULT_MAX_ZOOM, DEFAULT_MIN_ZOOM, DEFAULT_PALETTE, DEFAULT_ROTATION_HANDLE_DISTANCE, DEFAULT_SHAPE_FILL, DEFAULT_STROKE_COLOR, type DebugConfig, type DebugFeature, type DebugSnapshot, type DebugStroke, type DebugStrokes, type DebugTheme, type DefaultTextData, DeleteIcon, DepRegistryProviderIfRoot, type DeriveAlignmentGuidesOptions, DerivedDep, DeviceProfileProvider, type DeviceProfileProviderProps, type Dims, type Discriminator, type DistributeAdapter, type DistributeAxis, DistributeHorizontalIcon, type DistributeMode, DistributeVerticalIcon, DivideIcon, type DragGestureController, type DragGestureCtx, type DragGestureEndCtx, type DragGesturePhase, type DragGesturePoint, type DragHandleOptions, type DragPanParams, type DragPayload, type DragRadialController, type DragRadialCtx, type DragRadialEndCtx, type DragRadialPoint, type DragRadialState, type DragRectBounds, type DragRectController, type DragRectCtx, type DragRectEndCtx, type DragRectPoint, DrawCommand, type DropZoneOptions, DuplicateIcon, EasingSpec, Effect, EllipseIcon, ExcludeIcon, EyedropperIcon, FALLBACK_FIT_VIEW, type FeedDelta, type FeedNode, type FillPoseBox, type FitTextPoseOptions, type FlagKey, FlipXIcon, FlipYIcon, type FreeformOptions, GHOST_STROKE, type GateLayerOptions, GeometryProjection, type GesturePreviewSource, type GestureSource, GlMat3, type GridLayerOpts, type GridSlotConfig, GroupIcon, Guide, type GuideSnapOptions, type GuidesLayerOpts, HANDLE_BASE_PX, HandIcon, InertiaConfig as HandToolInertiaConfig, type HandleDragEnd, type HandleDragPoint, type HeadlessCanvasLike, type HostAnchorAlign, type HostAnchorInput, type HostAnchorOffset, type HostAnchorStyle, IDENTITY_JOINT, type IconProps, ImageIcon, type ImageNodeData, type ImageRasterSize, type ImageStatus, type IndicatorStyle, InertiaConfig, InsertAdapter, InsertBehavior, InsertExtras, type InsertNodeFactory, type InsertOp, type InsertOverlayStyle, type InsertPreviewExtent, type InsertPreviewGeometry, type InsertPreviewLike, type InsertPreviewOverlay, IntersectIcon, type Joint, type JointTransform, KIT_SHAPE_KINDS, KIT_STANDARD_ACTION_IDS, type KeyModifiers, type KeyState, type KeyStateAttachOptions, type LabelOptions, LassoHitMode, LassoIcon, LassoSelectAdapter, LassoSelectBehavior, type LayerCommandCache, type LayerDrawFailure, LayerEnumerableAdapter, type LayerGroup, type LayerHit, type LayerSlotValue, type LayersMap, LayoutDropTargetMode, LayoutSnap, LayoutStrategy, type LifecycleAnimation, LineIcon, type LinePoint, MESH_BAKE_SIZE, MESH_GRADIENT_KIND, MIXED, MOVE_ANCHORS, type MarkerCtx, type MarkerEntry, type MarkerPaint, type MarkerSite, type MarkerSiteRequest, type MeshGradientFill, type MeshPatch, type MeshPoint, MinimapCanvas, type MinimapCanvasProps, type MinimapFit, type Mixed, type MomentumOptions, MoveAdapter, MoveBehavior, type NestedHitOpts, type NestedHitTester, type NodeClientRect, type NodeInk, type NodeInkCtx, type NodeOverlayFrame, type NodePaintCtx, type NodeProperties, type NodePropertiesEntry, type NodeRouting, type NodeRoutingEntry, type NodeShapeEntry, type NodeSilhouetteCtx, type OpenFilePickerOptions, OrderedAdapter, OriginProjection, type OverlayPoint, type OverlayVisibilityId, PAINTED_CURSOR_LAYER_ID, PATH_ANCHOR_CHROME_ID, type PaintBindContext, type PaintKind, type PaintKindEditorProps, type PaintKindEntry, type PaintProgram, PanBounds, type ParallaxOpts, PasteIcon, Path, type PathAnchor, type PathAnchorAffordanceOptions, PathBuilder, PathDrawCommand, type PathEditingOverlayStyle, type PathInWorldPose, type PenAnchor, PenIcon, type PenPreviewStyle, type PenScratch, type PenSubpath, PencilIcon, type PencilPoint, PickHud, type PickHudProps, type PickTopMostHitAdapter, type PinchZoomOptions, type PixelRenderPlan, type PointInPathOptions, type PointInTextPoseOpts, PointSnapBehavior, PointerContextProvider, type PointerContextValue, PointerProviderIfRoot, type PointerSample, type PointerStylusState, type PointerWorldPos, PolygonIcon, PolygonPath, type PolygonPoint, type Pose, PoseComposition, PoseDescriptor, type PoseFeed, PoseOverrides, type PoseRotation, type PoseRun, type PoseRunCtx, type PoseRunStep, type PoseSource, type PosedNode, type PressureToWidthOptions, type PreviewNode, ROTATION_HANDLE_BASE_PX, type RangeStyle, type RasterImage, type RecordedBounds, type RecordedHandle, type RecordedHitbox, type RecordedLayer, type RecordedOrigin, type RecordedSnap, RectIcon, RectPath, RectPose, RedoIcon, type RegisterNodeShapeOptions, RegisteredOp, type RenderLayer, type RenderSceneToCanvasArgs, type RenderSceneToPixelsArgs, type ReorderDirection, ResizeAdapter, type ResolvableView, type ResolvedOverlay, type Rig, type RigApply, type RigApplyContext, type RigScene, RotateAdapter, RotateBehavior, RotatedPose, type RotationAffordanceOptions, type RotationHandle, type RotationScratch, type RunStylePatch, SampledTrack, type ScalarOrXY, Scene, SceneAdapter, type SceneAdapterSelection, SceneCanvas, type SceneCanvasAdapter, type SceneCanvasApi, type SceneCanvasHit, type SceneCanvasProps, Node$1 as SceneNode, type SceneNodeClientRectOpts, SceneRegistry, type SceneSlotConfig, type SceneToAdapterOptions, SceneViewCanvas, type SceneViewCanvasProps, type SceneViewDrawOne, type SceneViewLayers, type SelectAdapter, type SelectFromLassoOptions, SelectIcon, SelectionContextProvider, SelectionContextProviderIfRoot, type SelectionContextValue, type SelectionHandleStyle, type SelectionHandlesLayerOpts, type SelectionOutlineLayerOpts, type SelectionOverlayLayerOpts, type SelectionOverlaySlotConfig, SendBackwardIcon, SendToBackIcon, SerializedScene, type SetFlagResult, type SetPathFields, ShaderProgramHandle, type ShapeCoversPointOptions, type ShapeKind, type SharedAnchor, Simulation, SimulationNode, type Skeleton, type Slew, type SlewRates, SliceDep, type SnapPattern, type SnapPointOptions, SnapStrategy, type SplitByLineOptions, type SpringPoseOptions, SpringPresetName, type SpringVertexColorsOptions, type StaggerVertexColorsOptions, type StandardSlotConfig, type StandardSlotName, StarIcon, type StarPoint, type StartEditOptions, type StyleKey, type StylusData, SubtractIcon, SvgIngestOptions, TOOL_PREF_KINDS, TextDrawCommand, type TextEditClipRect, type TextEditScreenPose, type TextEditSelection, TextIcon, type ThresholdDragHandle, type ThresholdDragOptions, type TileBleed, type TileGridOptions, type TilePatternOpts, type TilePeriod, type TileRange, type Tool, type ToolBundle, type ToolDef, type ToolPref, type ToolPrefBoolean, type ToolPrefBooleanControl, type ToolPrefColor, type ToolPrefCustom, type ToolPrefEnum, type ToolPrefEnumControl, type ToolPrefEnumEncoding, type ToolPrefGroup, type ToolPrefKind, type ToolPrefLeaf, type ToolPrefNumber, type ToolPrefNumberControl, type ToolPrefNumberFormat, type ToolPrefNumberUnit, type ToolPrefObject, type ToolPrefPaint, type ToolPrefString, type ToolPrefStringControl, type ToolsApi, type TweenPoseOptions, type TweenVertexColorsOptions, UNION_OF_CHILDREN, UndoIcon, UngroupIcon, UnionIcon, Unit, UnitEntry, UnitSystem, UnitValue, UnknownIcon, type UseAlignOptions, type UseAlignReturn, UseAnimatorOptions, type UseArrayAdapterOptions, type UseBooleansOptions, type UseBooleansReturn, type UseCanvasFocusOptions, type UseDistributeOptions, type UseDistributeReturn, type UseDragGestureOptions, type UseDragRadialOptions, type UseDragRectOptions, type UseEyedropperToolOptions, type UseGridCellHoverOptions, type UseGridCellHoverReturn, type UseGuidesReturn, type UseHandToolOptions, type UseHandleDragOptions, type UseHandleDragReturn, type UseHostAnchorOptions, type UseHoverTrackingArgs, type UseImageToolOptions, type UseKeyStateOptions, type UseKeybindingsOptions, type UseLassoSelectOptions, type UseLassoToolOptions, UseMoveOptions, type UseNodeOverlayFrameOptions, type UsePenToolOptions, type UsePointerStylusOptions, type UsePolygonToolOptions, type UsePoseRunOptions, UseResizeOptions, type UseResizePolicyOptions, type UseRotateOptions, UseSceneOptions, type UseSceneTextEditOptions, type UseSceneTextEditReturn, type UseSceneTrivialOptions, type UseSelectToolOptions, type UseSelectionOptions, UseSimulationOptions, type UseStandardActionsOptions, type UseStarToolOptions, type UseTextEditOptions, type UseTextEditReturn, type UseToolsOptions, VERSION, type VelocityTracker, VertexColorChannel, ViewAnimationOptions, type ViewRect, type ViewResolver, type ViewTarget, type ViewTransform, ViewportDims, type ViewportLayer, type ViewportToolDef, type ViewportZoomAnimateOptions, type ViewportZoomOptions, type VisibilityRules, type VisibleRaf, type VisibleRafOptions, type VisibleRafTarget, WHEEL_ZOOM_STEP, WeaselProvider, type WheelInput, type WheelPanOptions, type WheelPanOpts, ZOOM_FLOOR, type ZoomBound, type ZoomClampOpts, type ZoomFactor, _resetMarkersForTests, _resetPaintKindsForTests, actionIs, actionShortcuts, alignDeltaFor, alignInsertBehavior, alignMoveBehavior, alignResizeBehavior, always, and, animateLifecycle, animateOnSetPose, annulusSemiAxes, applyOpsTo, applyStyleToRange, areaSelectAction, arrayAdapter, asPaint, axisAlignedBounds, bakeMesh, bezierCubic, bezierQuadratic, bindRig, blendPoses, boundsOfPath, buildChromeCtx, buildSceneViewCommands, canBringForward, canHover, canSendBackward, capabilityAll, capabilityIn, capabilityIs, capabilityNot, caretIndexAt, cellAt, charOffsetToDomPosition, circlePath, clampView, clearSelectionAction, clipboardCopyAction, clipboardCutAction, clipboardPasteAction, cloneAction, coarsePointer, composeAffordanceLayer, composePath, composeSelectionPose, computeFitView, computeFitViewport, computeIndicatorCommand, computeWheelAction, cond, constrainTo45, containedThenNearest, cornerWeights, countPathAnchors, createCellHighlightLayer, createChildrenLayer, createCornerResizeAffordance, createDebugOverlayLayer, createDebugSink, createDeleteOp, createGridLayer, createGuidesLayer, createHistory, createInsertOp, createKeyState, createMoveToIndexOp, createNodeProperties, createNodeRouting, createPaintedCursorLayer, createParallaxLayer, createPathAnchorAffordances, createPathEditingOverlayLayer, createPathLayer, createPenPreviewLayer, createPoseFeed, createPoseOverrides, createReorderOp, createReparentOp, createRotationAffordance, createScene, createSelectionHandlesLayer, createSelectionOutlineLayer, createSelectionOverlayLayer, createSetDataOp, createSetLayerOp, createSetPathOp, createSetSelectionOp, createSetTextOp, createSlew, createTextLayer, createTilePattern, createTiledLayer, createTransformOp, createVelocityTracker, createViewResolver, createViewportLayer, cycleFill, cycleVertexColors, decomposePath, defaultCommitAdapter, defaultDrawOne, defaultLabelTextRenderer, defaultNodeProperties, defaultNodeRouting, defaultVisibilityRules, defineTool, defineViewportTool, definesFrame, deriveAlignmentGuides, deriveParallaxView, derivedDepOf, derivedPose, dispatchApplyBatch, dlog, documentPose, domPositionToCharOffset, domToRuns, drawLayers, drawOneLayer, dwarn, editAnchorsAction, effectivePose, effectiveRangeStyle, enterTextEditAction, enumerateAnchors, evalPatch, fillInPoseFrame, fillToBoundsFrame, findNodeShape, findShapeInk, findShapeSilhouette, fitTextPose, fitToBounds, fitZoom, flattenPreviews, focused, forEachCoalesced, freeform, gateLayer, gesturing, getAlpha01, getImageBitmap, getMarker, getNodeShapes, getPaintKind, getStylusData, gradientForBounds, gradientGeometry, guideSnapStrategy, hexToRgba, hitAffordanceRegions, hitAnchor, hitRotationHandle, hostAnchorCss, hostAnchorRect, hovering, hoveringSelected, imageStatus, inferredNodeProperties, inferredNodeRouting, insertAction, insertPreviewExtent, interpolateView, isBuiltinToolPref, isDebugEnabled, isGradientFill, isLayerPainted, isLayerVisible, isMeshGradientFill, isPatternSpec, isTensorPatch, isValidPatch, isVectorImageSrc, keySpecShortcut, lassoSelectAction, listMarkers, listPaintKinds, makePinchZoomAction, makeViewportWheelPanAction, makeViewportZoomAction, markerDrawCommands, markerInset, markerKeyOf, markerSites, matchAlignment, meanScale, mergeAlphaFromPrev, meshBounds, meshGradientXml, modeIn, modeIs, modeNot, modifierHeld, momentum, moveAction, multiActive, nearest, nearestWithin, nestedHitTester, never, nodeHasFlag, none, normalizeHex, normalizeView, normalizeZoom, not, nurbs, openFilePicker, or, paintAlpha, paintKindOf, paintWithAlpha, paintWithColor, parseColor, parseColorToRgba255, parseDebugFlags, patchBounds, patchCorner, pathContainsPoint, pathContainsPolygon, pathContainsRect, pathDistanceToPoint, pathDivide, pathExclude, pathFromD, pathInPoseFrame, pathInWorld, pathIntersect, pathIntersectsPolygon, pathIntersectsRect, pathOriginProjection, pathPoseDescriptor, pathSubtract, pathToAnchors, pathUnion, pickTopMostHit, pinchZoomAction, planPixelRender, pointInPath, pointInTextPose, poseRotationOf, prefUnit, pressureToWidth, pxExtent, rainbowVertexColors, rebuildOp, rectMarkerPath, registerMarker, registerNodeShape, registerOpFactory, registerPaintKind, registeredOpNames, renderLabel, renderSceneToCanvas, renderSceneToPixels, resizeAction, resolveColor, resolveFillPattern, resolveMarkerSize, resolveOverlays, resolvePatternSpec, resolvePreviews, resolveSkeleton, resolveVisibility, rgbaToHex, rigidRigApply, rotateAction, rotateAroundAABBCenter, rotatePathAround, rotationDegreesUnit, rotationHandle, roundRectPath, roundToCell, runsToDom, sampleGradientStops, sampleTrack, scaleDelta, scalePathToBounds, sceneFromJSON, sceneNodeClientRect, sceneSelectionStore, sceneToAdapter, screenToWorld, seedMeshPatch, selectFromLasso, selectionAtLeast, selectionEmpty, selectionIs, setFlagOverRange, shapeCoversPoint, slewToward, sliceAction, snap, snapPoint, solid, solidVertexColors, spiro, splitPathByLine, splitSubpaths, springPose, springVertexColors, squarePath, staggerVertexColors, startThresholdDrag, strokeInsets, strokeOf, strokeWith, styleAtRange, subscribeImageReady, textCommand, textCommandFromPose, textCommandFromRuns, tileGrid, tiledProject, toHex8, transformPath, translatePath, trimPolyline, tweenPose, tweenVertexColors, unionAABB, unionBounds, unionBoundsPath, unionOfChildren, unionOfChildrenVia, useAlign, useAnimator, useArrayAdapter, useAutoCenter, useBooleans, useBooleansAdapter, useCanvasFocus, useCanvasSize, useDeviceProfile, useDistribute, useDragGesture, useDragHandle, useDragRadial, useDragRect, useDropZone, useEllipseTool, useEyedropperTool, useGridCellHover, useGuides, useHandTool, useHandleDrag, useHostAnchor, useHoverTracking, useImageTool, useKeyState, useKeybindings, useLassoTool, useLineTool, useNodeOverlayFrame, usePenTool, usePencilTool, usePinchGesture, usePointerContext, usePointerStylus, usePolygonTool, usePoseCompositionDepSource, usePoseDescriptorDepSource, usePoseRun, usePublishSelection, useRectTool, useResizePolicy, useRig, useScene, useSceneAdapter, useSceneTextEdit, useSelectTool, useSelection, useSelectionContext, useSimulation, useSliceDep, useStandardActions, useStarTool, useTextEdit, useTextTool, useTools, useVelocityTracker, useVisibleRaf, viewToTransform, viewZoom, viewportDragPanAction, viewportWheelPanAction, viewportZoomAction, viewportsAt, wheelPan, wheelZoom, wheelZoomFactor, when, withAlpha01, withCoord, withGradientKind, withinPxBox, withinPxRadius, worldEditToStorage, worldToScreen, zoomAt, zoomAtLeast };