@weasel-js/core 1.4.0-pre.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ import { a as ViewTransform, V as View, Z as ZoomBound, b as ZoomFactor } from '
4
4
  export { s as screenToWorld, v as viewToTransform, w as worldToScreen } from './view-DSQgxBJB.js';
5
5
  import { a as UnitValue, b as UnitSystem, U as UseMoveOptions, O as OriginProjection } from './grid-nnXU4VjN.js';
6
6
  export { I as IMPERIAL_INCHES, M as METRIC_MM, P as PIXELS, R as RECT_ORIGIN_PROJECTION, c as Unit, f as formatUnit, g as gridSnapStrategy, p as pointToGridCell, r as resolveUnit } from './grid-nnXU4VjN.js';
7
- import { R as RenderLayer, D as Dims, a as DeviceProfile, b as DetectedDeviceFacts, C as Condition, c as Rule, d as RuleCtx, V as VisibilityRules, e as ChromeCtx, f as ChromeId, A as Action, g as ViewAnimationOptions, h as DepSchema, S as SliceDep, i as ActionsRegistry, T as Tool, j as AffordanceHit, k as Dispatcher, l as ToolDef, m as ViewportToolDef, n as AnyTool, O as OverlayPosition, o as ToolKeybinding, H as HotkeyTrigger, L as LayerHit, p as OngoingOverlay, q as ChromeState, r as SelectionApi, U as UseSelectionOptions, I as InsertExtras, B as BuiltinShapeToolId, G as GeometryProjection, s as ContentHandlerEntry, t as SvgIngestOptions, u as ActionsProp, v as Animator, w as Affordance, x as AffordanceRegion, y as AffordanceBinding, z as CommonAffordanceScratch, E as ColorOverrideRegistry, F as BooleansAdapter, J as UseAnimatorOptions, K as SpringPresetName, M as EasingSpec, N as AnimationHandle, P as VertexColorChannel, Q as SampledTrack, W as Eligibility, X as BindingScope, Y as Contribution, Z as ScopedBinding } from './registry-sBLZYWI1.js';
8
- export { _ as ALWAYS, $ as ActionDeps, a0 as ActionDisabledReason, a1 as ActionEnabledResult, a2 as ActionEntry, a3 as ActionsProvider, a4 as ActiveToolContextProvider, a5 as ActiveToolContextProviderIfRoot, a6 as ActiveToolContextProviderProps, a7 as ActiveToolContextValue, a8 as AnimateToBoundsOptions, a9 as AreaSelectDep, aa as BezierEasing, ab as BindingOpts, ac as BooleanOp, ad as BooleanOpResult, ae as BoundGesture, af as BuildRuleCtxArgs, ag as ClaimableGesture, ah as ClipboardDep, ai as ClipboardIngestCtx, aj as ColorOverride, ak as ColorOverrideFn, al as CustomPaintContext, am as DecayOptions, an as DepName, ao as DepRegistry, ap as DepRegistryProvider, aq as DispatcherContext, ar as DragSample, as as EASINGS, at as EasingFn, au as EasingName, av as EditAnchorsDep, aw as EventTrack, ax as GestureBinding, ay as IDENTITY_POSE_COMPOSITION, az as ImmediateInvoker, aA as IngestCtx, aB as IngestionDep, aC as InsertDep, aD as Interpolate, aE as InterpolatorFactory, aF as InvocationCtx, aG as Invoker, aH as KIT_SHAPE_KINDS, aI as Keyframe, aJ as LassoSelectDep, aK as LayerCommandCache, aL as LayoutDep, aM as LoopFactory, aN as LoopOptions, aO as MatchResult, aP as NEVER, aQ as NestedTimeline, aR as NodeAtPointDep, aS as OngoingHandle, aT as OngoingInvoker, aU as PhysicsHandle, aV as PhysicsOptions, aW as Point2, aX as PointerContextProvider, aY as PointerContextValue, aZ as PointerWorldPos, a_ as PoseAdapter, a$ as PoseComposition, b0 as ResizePolicy, b1 as ResolveAllOptions, b2 as ResolveOnlyResult, b3 as ResolvedCandidate, b4 as SPRING_PRESETS, b5 as SelectionExtendKey, b6 as SelectionMode, b7 as Selector, b8 as SnapDep, b9 as SpringOptions, ba as SpringPreset, bb as StaggerBuilder, bc as StaggerDelay, bd as StaggerFactory, be as StaggerOptions, bf as StaggerPerItem, bg as StaggerSpringPoseOptions, bh as StaggerTweenOptions, bi as SvgUnpacker, bj as TextEditDep, bk as TimelineHandle, bl as TimelineOptions, bm as TimelineTrack, bn as ToolCtx, bo as ToolModifiers, bp as ToolPresentation, bq as ToolSlot, br as Track, bs as TweenLoopOptions, bt as TweenOptions, bu as UiOngoingControl, bv as VIEW_ANIMATION_KEY, bw as ViewAnimationApi, bx as ViewApi, by as ViewChannel, bz as actionBindings, bA as applyBooleanOp, bB as buildRuleCtx, bC as clipboardCopyAction, bD as clipboardCutAction, bE as composeRectPose, bF as composeWorldPose, bG as createDispatcher, bH as cubicBezierEasing, bI as decomposeRectPose, bJ as describeRule, bK as drawLayers, bL as drawOneLayer, bM as easeIn, bN as easeInBack, bO as easeInBounce, bP as easeInCirc, bQ as easeInCubic, bR as easeInElastic, bS as easeInExpo, bT as easeInOut, bU as easeInOutBack, bV as easeInOutBounce, bW as easeInOutCirc, bX as easeInOutCubic, bY as easeInOutElastic, bZ as easeInOutExpo, b_ as easeInOutQuad, b$ as easeInOutQuart, c0 as easeInOutQuint, c1 as easeInOutSine, c2 as easeInQuad, c3 as easeInQuart, c4 as easeInQuint, c5 as easeInSine, c6 as easeOut, c7 as easeOutBack, c8 as easeOutBounce, c9 as easeOutCirc, ca as easeOutCubic, cb as easeOutElastic, cc as easeOutExpo, cd as easeOutQuad, ce as easeOutQuart, cf as easeOutQuint, cg as easeOutSine, ch as enterTextEditAction, ci as evaluate, cj as evaluateEnabled, ck as isLayerPainted, cl as isLayerVisible, cm as linear, cn as rebaseLocalPose, co as registerContentHandler, cp as resolveEasing, cq as resolveParams, cr as sliceAction, cs as specificity, ct as translateRectPose, cu as useAction, cv as useActionsRegistry, cw as useActiveToolContext, cx as useDepRegistry, cy as useDepSource, cz as useOptionalActiveToolContext, cA as useOptionalDepRegistry, cB as usePointerContext, cC as useSelection, cD as useViewAnimation, cE as worldPoseLookup } from './registry-sBLZYWI1.js';
7
+ import { R as RenderLayer, D as Dims, a as DeviceProfile, b as DetectedDeviceFacts, C as Condition, c as Rule, d as RuleCtx, V as VisibilityRules, e as ChromeCtx, f as ChromeId, A as Action, I as InertiaConfig, g as ViewAnimationOptions, h as DepSchema, S as SliceDep, i as ActionsRegistry, T as Tool, j as AffordanceHit, k as Dispatcher, l as ToolDef, m as ViewportToolDef, n as AnyTool, O as OverlayPosition, o as ToolKeybinding, H as HotkeyTrigger, L as LayerHit, p as OngoingOverlay, q as ChromeState, P as PanBounds, r as SelectionApi, U as UseSelectionOptions, s as InsertExtras, B as BuiltinShapeToolId, G as GeometryProjection, t as ContentHandlerEntry, u as SvgIngestOptions, v as ActionsProp, w as Animator, x as Affordance, y as AffordanceRegion, z as AffordanceBinding, E as CommonAffordanceScratch, F as ColorOverrideRegistry, J as BooleansAdapter, K as UseAnimatorOptions, M as SpringPresetName, N as EasingSpec, Q as AnimationHandle, W as VertexColorChannel, X as SampledTrack, Y as Eligibility, Z as BindingScope, _ as Contribution, $ as ScopedBinding } from './registry-BwY_DxJM.js';
8
+ export { a0 as ALWAYS, a1 as ActionDeps, a2 as ActionDisabledReason, a3 as ActionEnabledResult, a4 as ActionEntry, a5 as ActionsProvider, a6 as ActiveToolContextProvider, a7 as ActiveToolContextProviderIfRoot, a8 as ActiveToolContextProviderProps, a9 as ActiveToolContextValue, aa as AnimateToBoundsOptions, ab as AreaSelectDep, ac as BezierEasing, ad as BindingOpts, ae as BooleanOp, af as BooleanOpResult, ag as BoundGesture, ah as BuildRuleCtxArgs, ai as ClaimableGesture, aj as ClipboardDep, ak as ClipboardIngestCtx, al as ColorOverride, am as ColorOverrideFn, an as CustomPaintContext, ao as DecayLoopConfig, ap as DecayOptions, aq as DepName, ar as DepRegistry, as as DepRegistryProvider, at as DispatcherContext, au as DragSample, av as EASINGS, aw as EasingFn, ax as EasingName, ay as EditAnchorsDep, az as EventTrack, aA as GestureBinding, aB as IDENTITY_POSE_COMPOSITION, aC as ImmediateInvoker, aD as IngestCtx, aE as IngestionDep, aF as InsertDep, aG as Interpolate, aH as InterpolatorFactory, aI as InvocationCtx, aJ as Invoker, aK as KIT_SHAPE_KINDS, aL as Keyframe, aM as LassoSelectDep, aN as LayerCommandCache, aO as LayoutDep, aP as LoopFactory, aQ as LoopOptions, aR as MatchResult, aS as NEVER, aT as NestedTimeline, aU as NodeAtPointDep, aV as OngoingHandle, aW as OngoingInvoker, aX as PhysicsHandle, aY as PhysicsOptions, aZ as Point2, a_ as PointerContextProvider, a$ as PointerContextValue, b0 as PointerWorldPos, b1 as PoseAdapter, b2 as PoseComposition, b3 as ResizePolicy, b4 as ResolveAllOptions, b5 as ResolveOnlyResult, b6 as ResolvedCandidate, b7 as SPRING_PRESETS, b8 as SelectionExtendKey, b9 as SelectionMode, ba as Selector, bb as SnapDep, bc as SpringOptions, bd as SpringPreset, be as StaggerBuilder, bf as StaggerDelay, bg as StaggerFactory, bh as StaggerOptions, bi as StaggerPerItem, bj as StaggerSpringPoseOptions, bk as StaggerTweenOptions, bl as SvgUnpacker, bm as TextEditDep, bn as TimelineHandle, bo as TimelineOptions, bp as TimelineTrack, bq as ToolCtx, br as ToolModifiers, bs as ToolPresentation, bt as ToolSlot, bu as Track, bv as TweenLoopOptions, bw as TweenOptions, bx as UiOngoingControl, by as VIEW_ANIMATION_KEY, bz as ViewAnimationApi, bA as ViewApi, bB as ViewChannel, bC as actionBindings, bD as applyBooleanOp, bE as buildRuleCtx, bF as clipboardCopyAction, bG as clipboardCutAction, bH as composeRectPose, bI as composeWorldPose, bJ as createDispatcher, bK as cubicBezierEasing, bL as decomposeRectPose, bM as describeRule, bN as drawLayers, bO as drawOneLayer, bP as easeIn, bQ as easeInBack, bR as easeInBounce, bS as easeInCirc, bT as easeInCubic, bU as easeInElastic, bV as easeInExpo, bW as easeInOut, bX as easeInOutBack, bY as easeInOutBounce, bZ as easeInOutCirc, b_ as easeInOutCubic, b$ as easeInOutElastic, c0 as easeInOutExpo, c1 as easeInOutQuad, c2 as easeInOutQuart, c3 as easeInOutQuint, c4 as easeInOutSine, c5 as easeInQuad, c6 as easeInQuart, c7 as easeInQuint, c8 as easeInSine, c9 as easeOut, ca as easeOutBack, cb as easeOutBounce, cc as easeOutCirc, cd as easeOutCubic, ce as easeOutElastic, cf as easeOutExpo, cg as easeOutQuad, ch as easeOutQuart, ci as easeOutQuint, cj as easeOutSine, ck as enterTextEditAction, cl as evaluate, cm as evaluateEnabled, cn as isLayerPainted, co as isLayerVisible, cp as linear, cq as rebaseLocalPose, cr as registerContentHandler, cs as resolveEasing, ct as resolveParams, cu as sliceAction, cv as specificity, cw as translateRectPose, cx as useAction, cy as useActionsRegistry, cz as useActiveToolContext, cA as useDecayLoop, cB as useDepRegistry, cC as useDepSource, cD as useOptionalActiveToolContext, cE as useOptionalDepRegistry, cF as usePointerContext, cG as useSelection, cH as useViewAnimation, cI as worldPoseLookup } from './registry-BwY_DxJM.js';
9
9
  import { Stroke, FillStyle, TextureHandle, TilePatternSpec, GradientKind, GradStop, GradientFill, GradientUnits, MarkerKey, MarkerRef } from '@weasel-js/paint';
10
10
  export { FillStyle, GradStop, GradientFill, GradientKind, GradientUnits, KitMarkerKey, MarkerKey, MarkerRef, Region, STROKE_DASH_RATIOS, Stroke, StrokeAlign, StrokeDashStyle, TextureHandle, TilePatternSpec, alignedStrokeRect, dashForStrokeStyle, strokeDashStyleOf } from '@weasel-js/paint';
11
11
  import { R as RectPose, S as Scene, N as NodeId, a as Node$1, b as SerializedScene, U as UseSceneOptions, c as SceneRegistry, d as RegisteredOp } from './types-DIQAisSG.js';
@@ -18,14 +18,16 @@ import { M as ModifierState, R as ResizePose, B as BoundsConstraint, P as PointS
18
18
  export { A as ActionBehavior, f as AreaSelectOverlay, g as BehaviorMoveResult, h as BehaviorResult, C as CloneBehavior, i as CloneLayer, j as ClonePose, G as GestureContext, k as GroupTransform, l as InsertMoveResult, m as InsertOverlay, n as InsertPoint, o as InsertProposed, p as LassoSelectMoveResult, q as LassoSelectOverlay, r as LassoSelectPose, s as LassoSelectProposed, t as PointSnapContext, d as PointSnapFrame, u as PointSnapResult, v as PointerState, w as ResizeMoveResult, x as ResizeOverlay, y as ResizeProposed, z as RotateMoveResult, D as RotateOverlay, E as RotateProposed } from './types-miXHGrZM.js';
19
19
  import { U as UseResizeOptions } from './pointSnapToGrid-Dmthv94u.js';
20
20
  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-Dmthv94u.js';
21
+ import { ResolvedCursor, CursorSpec } from '@weasel-js/cursor';
22
+ export { BakeOptions, CursorGlyph, CursorGlyphName, CursorGlyphSpec, CursorSpec, ResolvedCursor, bakeCursor, cursorFor, resolveCursor, resolveCursorTier } from '@weasel-js/cursor';
21
23
  import { M as MoveAdapter, A as AreaSelectAdapter, R as RotateAdapter, b as LassoHitMode, c as LassoSelectAdapter, d as ResizeAdapter, L as LayoutStrategy, e as LayerEnumerableAdapter, I as InsertAdapter, C as ClipboardSnapshot, O as OrderedAdapter, a as SceneAdapter, f as LayoutSnap } from './types-XBcDEp3Y.js';
22
24
  export { g as ContainerBounds, D as DropTarget, h as LayoutChild, i as LayoutContainer, j as LayoutDragged, S as SnapTarget } from './types-XBcDEp3Y.js';
23
25
  import { D as DebugSink, a as DebugConfig, b as DebugSnapshot, c as DebugStrokes, d as DebugTheme } from './types-BHK2dkMu.js';
24
26
  export { e as DebugFeature, f as DebugStroke, H as HandleKind, g as HitShape, R as RecordedBounds, h as RecordedHandle, i as RecordedHitbox, j as RecordedLayer, k as RecordedOrigin, l as RecordedSnap } from './types-BHK2dkMu.js';
25
27
  import { a as PolygonPath, P as Path, b as PathFillRule, R as RectPath } from './path-JEV2c5If.js';
26
28
  import * as react_jsx_runtime from 'react/jsx-runtime';
27
- import { D as DrawCommand, a as ShaderProgramHandle, P as PathDrawCommand, M as Mat3$1 } from './DrawCommand-b-z1bCT-.js';
28
- export { G as GroupDrawCommand, I as ImageDrawCommand, S as ShaderDrawCommand, b as ShaderUniform, T as TextDrawCommand, m as mat3 } from './DrawCommand-b-z1bCT-.js';
29
+ import { D as DrawCommand, b as ShaderProgramHandle, P as PathDrawCommand, M as Mat3$1 } from './DrawCommand-Ch8W63oQ.js';
30
+ export { G as GroupDrawCommand, I as ImageDrawCommand, a as ShaderDrawCommand, c as ShaderUniform, T as TextDrawCommand, m as mat3 } from './DrawCommand-Ch8W63oQ.js';
29
31
  import { Op, HistorySelection, CreateHistoryOptions, History } from '@weasel-js/history';
30
32
  export * from '@weasel-js/history';
31
33
  export { Op } from '@weasel-js/history';
@@ -33,8 +35,8 @@ import { PlacementAlign, Rect, Mat3 } from '@weasel-js/geom';
33
35
  export { PATH_C, PATH_CMD_LENGTHS, PATH_L, PATH_M, PATH_Q, PATH_Z, Rect, pathCommandCoordCount } from '@weasel-js/geom';
34
36
  import { TextRenderer, TextPose, StyledRun, TextStyle, TextPaint, TextVerticalAlign } from '@weasel-js/text';
35
37
  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, TextRenderer, TextStyle, TextVerticalAlign, cachedLayoutRuns, createMarkdownRenderer, fontString, layoutMarkdown, layoutRuns, markdownToRuns, measureText, measureTextBounds, measuredWidth, resolveAlign, resolveRuns, resolveTextStyle, runsToMarkdown, runsToPlainText, textLineBoxes, toRuns, verticalAlignOffset } from '@weasel-js/text';
36
- import { g as ShaderProgram } from './stroke-B_BxktoE.js';
37
- export { a as ImageMinification, R as RenderTarget, b as SpriteSheet, f as frameRect, r as resolveStrokeWidth, v as viewToMat3 } from './stroke-B_BxktoE.js';
38
+ import { g as ShaderProgram } from './stroke-Dq8nL4A2.js';
39
+ export { a as ImageMinification, R as RenderTarget, b as SpriteSheet, f as frameRect, r as resolveStrokeWidth, v as viewToMat3 } from './stroke-Dq8nL4A2.js';
38
40
  import { G as Guide } from './types-D2tTKEU0.js';
39
41
  export { U as UseInsertOptions } from './options-CdFl510T.js';
40
42
  export { UseClipboardOpsOptions, UseClipboardOpsReturn, WEASEL_CLIPBOARD_MIME, WEASEL_CLIPBOARD_MIME_WEB, buildWeaselClipboardText, embedWeaselMetadataInSvg, extractWeaselClipboardFromSvg, parseWeaselClipboardText, sniffWeaselClipboardText, useClipboardOps } from './clipboard.js';
@@ -839,19 +841,85 @@ declare function withinPxBox(dx: number, dy: number, px: number, scale: Scale2):
839
841
  /** Is a world-space delta inside a screen-space circle of radius `px`? */
840
842
  declare function withinPxRadius(dx: number, dy: number, px: number, scale: Scale2): boolean;
841
843
 
844
+ /**
845
+ * The DOM half of a drag: one pointer, held down, from press to release.
846
+ *
847
+ * Every pointerdown-to-pointerup lifecycle in the kit used to answer capture,
848
+ * pointer identity, teardown and lost-pointer recovery for itself, and each
849
+ * answered them differently. This is the one place those are decided; anything
850
+ * above it — thresholds, coordinate spaces, what the drag *means* — belongs to
851
+ * its caller.
852
+ */
853
+ /** Why a session ended without the pointer being released. */
854
+ type PointerSessionCancelReason =
855
+ /** The browser cancelled the pointer (touch interrupted, palm rejection). */
856
+ 'pointercancel'
857
+ /** Capture went away mid-gesture — usually the origin element was removed. */
858
+ | 'lostcapture'
859
+ /** `cancel()` — an unmount, a window blur, Escape, a consumer's own rule. */
860
+ | 'aborted'
861
+ /** A new press arrived on this pointer, so the tracked one had ended. */
862
+ | 'superseded';
863
+ interface PointerSessionCallbacks {
864
+ /** Every move belonging to this pointer, while it is still held. */
865
+ onMove?: (e: PointerEvent) => void;
866
+ /** The pointer was released. Fires once, before teardown completes. */
867
+ onEnd?: (e: PointerEvent) => void;
868
+ /** The session ended without a release. Fires once. */
869
+ onCancel?: (reason: PointerSessionCancelReason) => void;
870
+ }
871
+ interface PointerSessionOptions {
872
+ /** Ask the origin element to capture the pointer. Default `true`. Capture
873
+ * keeps hover and click off everything the drag passes over; the session
874
+ * does not depend on it to keep receiving events. */
875
+ capture?: boolean;
876
+ }
877
+ interface PointerSession {
878
+ readonly pointerId: number;
879
+ /** False once the session has ended, by any route. */
880
+ readonly active: boolean;
881
+ /** End the session now, reporting `'aborted'`. Idempotent. */
882
+ cancel: () => void;
883
+ }
884
+ /**
885
+ * Open a session for the pointer that `down` belongs to.
886
+ *
887
+ * Listens on the origin's document rather than on the element: a captured
888
+ * element that is removed mid-drag stops receiving events, and every listener
889
+ * hung on it goes with it. Three recovery rules close the gaps a plain
890
+ * pointerup/pointercancel pair leaves — `lostpointercapture` cancels, a move
891
+ * reporting no held button is read as the release that never arrived, and a
892
+ * fresh press on the same pointer says the tracked one had already ended.
893
+ */
894
+ declare function openPointerSession(origin: Element, down: PointerEvent | React.PointerEvent, cb: PointerSessionCallbacks, opts?: PointerSessionOptions): PointerSession;
895
+
842
896
  /** A 2D point in the rect element's local coordinate space. */
843
897
  interface HandleDragPoint {
844
898
  x: number;
845
899
  y: number;
846
900
  }
901
+ /** What a released drag reports. */
902
+ interface HandleDragEnd {
903
+ /** Where the pointer was let go, in the rect element's local space. */
904
+ point: HandleDragPoint;
905
+ /** False when the pointer never moved — a press, not a drag. Commit-on-end
906
+ * consumers use this to tell an edit from a stray click. */
907
+ moved: boolean;
908
+ event: PointerEvent;
909
+ }
847
910
  /** Options for {@link useHandleDrag}. */
848
911
  interface UseHandleDragOptions<T extends HTMLElement | SVGElement> {
849
912
  /** Called on every `pointermove` with coords local to the rect element (see `getRect`). */
850
913
  onMove: (p: HandleDragPoint, e: PointerEvent) => void;
851
914
  /** Called on `pointerdown` with the same local coords passed to `onMove`. */
852
915
  onStart?: (p: HandleDragPoint, e: React.PointerEvent<T>) => void;
853
- /** Called on `pointerup` / `pointercancel`, after listeners are removed. */
854
- onEnd?: (e: PointerEvent) => void;
916
+ /** The pointer was released. Not called when the drag is cancelled — a
917
+ * cancelled gesture is not an edit, and conflating the two made every
918
+ * commit-on-end consumer sniff the event type to tell them apart. */
919
+ onEnd?: (end: HandleDragEnd) => void;
920
+ /** The drag ended without a release: the pointer was cancelled, capture was
921
+ * lost, or the component unmounted mid-gesture. */
922
+ onCancel?: (reason: PointerSessionCancelReason) => void;
855
923
  /**
856
924
  * Element whose `getBoundingClientRect()` defines the local coordinate
857
925
  * space. Defaults to the handle target's owning `<svg>` if it has one,
@@ -864,10 +932,13 @@ interface UseHandleDragReturn<T extends HTMLElement | SVGElement> {
864
932
  onPointerDown: (e: React.PointerEvent<T>) => void;
865
933
  }
866
934
  /**
867
- * Pointer-capture drag for SVG/HTML handles. On `pointerdown` captures the
868
- * pointer, then forwards every `pointermove` to `onMove` with coordinates
869
- * local to the rect-providing element (defaulting to the handle's owning
870
- * `<svg>`). Listeners are cleaned up on `pointerup` / `pointercancel`.
935
+ * Pointer drag for SVG/HTML handles. On `pointerdown` opens a
936
+ * {@link openPointerSession | pointer session} on the handle, then forwards
937
+ * every move to `onMove` with coordinates local to the rect-providing element
938
+ * (defaulting to the handle's owning `<svg>`).
939
+ *
940
+ * The rect is measured once, at the press: a handle that moves under its own
941
+ * drag must not shift the space its coordinates are reported in.
871
942
  */
872
943
  declare function useHandleDrag<T extends HTMLElement | SVGElement>(opts: UseHandleDragOptions<T>): UseHandleDragReturn<T>;
873
944
 
@@ -899,21 +970,28 @@ interface DropZoneOptions {
899
970
  declare function useDropZone<T extends HTMLElement>(opts: DropZoneOptions): (el: T | null) => void;
900
971
 
901
972
  /**
902
- * Wire up a pointer-driven drag with a movement threshold before activation.
903
- * Caller controls all listeners and side effects via callbacks. Captures
904
- * the pointer on the originating element so drags survive over-canvas/scroll.
973
+ * A drag that does not start until the pointer has moved far enough to mean
974
+ * it. Below the threshold the gesture is still a click; above it, `onActivate`
975
+ * fires once and every later move is a drag.
976
+ *
977
+ * The pointer lifecycle underneath — capture, pointer identity, lost-capture
978
+ * and missed-release recovery, teardown — belongs to `openPointerSession`.
905
979
  */
906
980
  interface ThresholdDragOptions {
907
981
  threshold?: number;
908
982
  onActivate?: (e: PointerEvent) => void;
909
983
  onMove: (e: PointerEvent) => void;
910
984
  onCommit: (e: PointerEvent) => void;
985
+ /** Released below the threshold, or ended without a release at all. */
911
986
  onCancel?: () => void;
912
987
  }
913
988
  /** Handle returned by `startThresholdDrag` exposing live gesture state. */
914
989
  interface ThresholdDragHandle {
915
990
  /** True after the pointer has moved past `threshold` and the drag is live. */
916
991
  isDragging: () => boolean;
992
+ /** End the gesture now, as a cancel. For an unmount, an Escape, or any other
993
+ * rule the caller owns. */
994
+ cancel: () => void;
917
995
  }
918
996
  /** Begin a threshold-gated drag from a React PointerDown event; returns a handle exposing live state. */
919
997
  declare function startThresholdDrag(e: React.PointerEvent, opts: ThresholdDragOptions): ThresholdDragHandle;
@@ -1875,19 +1953,22 @@ declare const cloneAction: Action & {
1875
1953
  * The descriptor captures `startView` in its own scratch at `start` time,
1876
1954
  * parallel to `useHandTool`'s `startView` capture in its scratch object.
1877
1955
  *
1878
- * ## Axis locking
1879
- * Not implemented here — this descriptor always pans both axes. Axis-locked
1880
- * variants can be registered as separate descriptors by consumers.
1881
- *
1882
- * ## Inertia
1883
- * Not implemented anywhere on the drag-pan path. `useHandTool` accepts an
1884
- * `inertia` option and calls `useVelocityTracker` / `useDecayLoop`, but its
1885
- * memo body ignores all three, so the option is inert — see docs/TODO.md.
1886
- * `useDecayLoop` itself works and is exported for consumers who wire it up.
1956
+ * ## Axis locking and inertia
1957
+ * Both are read from the binding's `params` at `start`, so any consumer
1958
+ * binding this action gets them — not just `useHandTool`. `axis` drops one
1959
+ * component of every pan delta. `inertia` coasts the view after release,
1960
+ * through the optional `view.decay` dep; with no such dep wired the pan
1961
+ * simply lands, which is what an unconfigured consumer already expects.
1887
1962
  *
1888
1963
  * @see useHandTool — the React hook this descriptor parallels.
1889
1964
  */
1890
1965
 
1966
+ /** Binding params `viewport.dragPan` understands. `useHandTool` supplies both;
1967
+ * a bare binding supplies neither and pans both axes with no coasting. */
1968
+ interface DragPanParams {
1969
+ axis?: 'both' | 'x' | 'y';
1970
+ inertia?: false | InertiaConfig;
1971
+ }
1891
1972
  /**
1892
1973
  * @experimental
1893
1974
  * Static descriptor for the `viewport.dragPan` Action.
@@ -1992,6 +2073,56 @@ declare const viewportZoomAction: Action & {
1992
2073
  requires: string[];
1993
2074
  };
1994
2075
 
2076
+ /**
2077
+ * `viewportWheelPanAction` — immediate Action descriptor for wheel-based viewport pan.
2078
+ *
2079
+ * ## Bindings
2080
+ * - Plain wheel (no mod) → pan by deltaX/deltaY
2081
+ * - Shift+wheel → horizontal pan (mouse-wheel users get a horizontal axis
2082
+ * without a horizontal scroll device). Implemented by routing deltaY into
2083
+ * the x axis when the spec carries `params.swapAxis: true`.
2084
+ *
2085
+ * ## Design notes
2086
+ * The dispatcher merges wheel event data (deltaX, deltaY, clientX, clientY)
2087
+ * into params at dispatch time. The invoker
2088
+ * reads them from the params bag.
2089
+ *
2090
+ * Pan delta is divided by view.scale so that one screen-pixel scroll equals
2091
+ * one screen-pixel pan at any zoom level.
2092
+ *
2093
+ * `axis` locks the pan to one axis, matching `viewport.dragPan`'s param of
2094
+ * the same name, so a consumer that wants a single-axis viewport can say so
2095
+ * once per action instead of clamping every committed view. An axis lock
2096
+ * outranks `swapAxis`: a shift-wheel routed into a barred axis moves nothing.
2097
+ */
2098
+
2099
+ /**
2100
+ * @experimental
2101
+ * Static descriptor for the `viewport.wheelPan` Action.
2102
+ *
2103
+ * Companion to `viewport.dragPan` (drag-to-pan via the hand tool /
2104
+ * space-held). This one is the wheel/trackpad path; both share the
2105
+ * same `view` dep but fire on different gesture kinds, so they
2106
+ * coexist without competing.
2107
+ *
2108
+ * Requires dep-schema entry: `view`.
2109
+ */
2110
+ declare const viewportWheelPanAction: Action & {
2111
+ requires: string[];
2112
+ };
2113
+ /** Tuning for {@link makeViewportWheelPanAction}. */
2114
+ interface WheelPanOptions {
2115
+ /** Lock the pan to one axis. Default `'both'`. Mirrors `viewport.dragPan`'s
2116
+ * `axis` param, so a single-axis viewport is declared once per action
2117
+ * rather than clamped on every committed view. */
2118
+ axis?: 'both' | 'x' | 'y';
2119
+ }
2120
+ /** Builds a `viewport.wheelPan` descriptor with `opts` baked into both of its
2121
+ * default bindings. `viewportWheelPanAction` is the unconfigured one. */
2122
+ declare function makeViewportWheelPanAction(opts?: WheelPanOptions): Action & {
2123
+ requires: string[];
2124
+ };
2125
+
1995
2126
  /**
1996
2127
  * `editAnchorsAction` — ongoing Action descriptor for editing polygon anchors.
1997
2128
  *
@@ -2233,6 +2364,52 @@ declare function useResizePolicy<TPose>(options: UseResizePolicyOptions<TPose>):
2233
2364
  * run against the consumer's geometry. */
2234
2365
  declare function useSliceDep(dep: SliceDep): void;
2235
2366
 
2367
+ /**
2368
+ * The painted cursor a surface is currently showing, shared between whoever
2369
+ * decides it and the layer that draws it.
2370
+ *
2371
+ * Two slots rather than one, mirroring the precedence the cursor pipeline
2372
+ * already has: `<Canvas>` writes the active tool's cursor to `base` from
2373
+ * render, and the hover pump writes an affordance's or an action's cursor to
2374
+ * `override` imperatively. The override wins while it is set, and clearing it
2375
+ * restores the base without a React commit — the same reason the pump uses an
2376
+ * inline style for the CSS tier.
2377
+ */
2378
+
2379
+ /** The painted arm of `ResolvedCursor` — what this module stores. */
2380
+ type PaintedCursor = Extract<ResolvedCursor, {
2381
+ kind: 'painted';
2382
+ }>;
2383
+ interface PaintedCursorFrame {
2384
+ readonly cursor: PaintedCursor;
2385
+ /** Pointer position in the layer's own space: canvas-local CSS px. */
2386
+ readonly at: {
2387
+ readonly x: number;
2388
+ readonly y: number;
2389
+ };
2390
+ }
2391
+ interface PaintedCursorState {
2392
+ setBase(cursor: PaintedCursor | null): void;
2393
+ setOverride(cursor: PaintedCursor | null): void;
2394
+ /** Canvas-local CSS px. */
2395
+ setPointer(x: number, y: number): void;
2396
+ /** Pointer left the surface: nothing to draw until it returns. */
2397
+ clearPointer(): void;
2398
+ /**
2399
+ * Whether a painted cursor is set at all, regardless of where the pointer is.
2400
+ *
2401
+ * Lets the pointer path skip measuring the canvas rect on every move in the
2402
+ * overwhelmingly common case where the compositor is drawing the cursor and
2403
+ * nothing here needs its position.
2404
+ */
2405
+ active(): boolean;
2406
+ /** What the layer should draw this frame, or null for none. */
2407
+ current(): PaintedCursorFrame | null;
2408
+ /** Run `fn` whenever the answer to `current()` may have changed. */
2409
+ subscribe(fn: () => void): () => void;
2410
+ }
2411
+ declare function createPaintedCursorState(): PaintedCursorState;
2412
+
2236
2413
  /**
2237
2414
  * Everything about handling an input event that depends on *which view* it
2238
2415
  * landed in: the dispatcher that runs it, and the three lookups that resolve
@@ -2410,6 +2587,16 @@ interface UseGestureDispatcherOptions {
2410
2587
  * that's already the test contract.
2411
2588
  */
2412
2589
  requestRedraw?: () => void;
2590
+ /**
2591
+ * The surface's painted-cursor channel, read live because the canvas handle
2592
+ * it lives on arrives a render after this hook runs.
2593
+ *
2594
+ * Given one, a cursor the CSS tier cannot express — sized in world units, or
2595
+ * past the size the browser drops the image at — is published here and drawn
2596
+ * by the painted-cursor layer instead. Without one, such a cursor resolves to
2597
+ * `none` and the pointer shows nothing.
2598
+ */
2599
+ paintedCursor?: () => PaintedCursorState | undefined;
2413
2600
  /**
2414
2601
  * Thunk returning the live `RuleCtx` for the current frame. When supplied,
2415
2602
  * the dispatcher filters matched candidates by their declared
@@ -2538,57 +2725,24 @@ declare function computeWheelAction(state: WheelState, input: WheelInput, bounds
2538
2725
  */
2539
2726
  declare function clientToCanvas(canvas: HTMLElement, clientX: number, clientY: number): [number, number];
2540
2727
 
2541
- /** Records recent pointer deltas and reports the current velocity, averaged
2542
- * over the last 100ms — the throw speed a momentum decay starts from. */
2543
- declare function useVelocityTracker(): {
2728
+ /** Records recent deltas and reports the current velocity, averaged over the
2729
+ * last 100ms — the throw speed a momentum decay starts from. */
2730
+ interface VelocityTracker {
2544
2731
  record(dx: number, dy: number, t: number): void;
2545
2732
  getVelocity(): {
2546
2733
  vx: number;
2547
2734
  vy: number;
2548
2735
  };
2549
2736
  reset(): void;
2550
- };
2551
-
2552
- /** Per-axis limits on a view's position. Any side may be left open. */
2553
- interface PanBounds {
2554
- minX?: number;
2555
- maxX?: number;
2556
- minY?: number;
2557
- maxY?: number;
2558
- }
2559
- /** How a decay should run: its starting velocity, how fast it slows, and what
2560
- * happens if it reaches the pan limits. */
2561
- interface DecayLoopConfig {
2562
- velocity: {
2563
- vx: number;
2564
- vy: number;
2565
- };
2566
- friction?: number;
2567
- minSpeed?: number;
2568
- /** Bounds for boundary clamping. Requires `boundary` to take effect. */
2569
- viewBounds?: PanBounds;
2570
- /**
2571
- * What to do when the accumulated position hits `viewBounds`. Default: no clamping.
2572
- * - `'stop'`: clamp at boundary, kill velocity component.
2573
- * - `'bounce'`: linear reflection — flip velocity sign, magnitude preserved.
2574
- * - `'spring'`: damped reflection — flip velocity sign and shrink magnitude
2575
- * by `SPRING_DAMPING` per bounce so the motion settles naturally.
2576
- */
2577
- boundary?: 'stop' | 'bounce' | 'spring';
2578
- /** Starting position for internal boundary tracking. Required when `viewBounds` is set. */
2579
- initialPosition?: {
2580
- x: number;
2581
- y: number;
2582
- };
2583
- onTick: (dx: number, dy: number) => void;
2584
- onEnd?: () => void;
2585
2737
  }
2586
- /** A rAF loop that coasts a value to a stop under friction, reporting the
2587
- * per-frame delta. What turns a released pan drag into momentum scrolling. */
2588
- declare function useDecayLoop(): {
2589
- start: (config: DecayLoopConfig) => void;
2590
- cancel: () => void;
2591
- };
2738
+ /** Hook-free velocity tracker. `useVelocityTracker` wraps one of these; the
2739
+ * action layer builds its own, because an Action descriptor is a static
2740
+ * object and cannot call hooks. */
2741
+ declare function createVelocityTracker(): VelocityTracker;
2742
+
2743
+ /** Records recent pointer deltas and reports the current velocity, averaged
2744
+ * over the last 100ms — the throw speed a momentum decay starts from. */
2745
+ declare function useVelocityTracker(): VelocityTracker;
2592
2746
 
2593
2747
  /**
2594
2748
  * Detects two-finger pinch on a canvas element.
@@ -3105,21 +3259,11 @@ interface PickTopMostHitAdapter {
3105
3259
  * remains. */
3106
3260
  declare function pickTopMostHit(ids: readonly string[], adapter: PickTopMostHitAdapter | undefined | null): string | null;
3107
3261
 
3108
- /** Momentum settings for the hand tool: how quickly a flung view slows, when
3109
- * it stops, and what happens at the pan limits. */
3110
- interface InertiaConfig {
3111
- friction?: number;
3112
- minSpeed?: number;
3113
- /** What to do when inertial pan reaches `bounds`. Default: no clamping. */
3114
- boundary?: 'stop' | 'bounce' | 'spring';
3115
- /** View-coordinate limits for boundary clamping. Requires `boundary` to take effect. */
3116
- bounds?: PanBounds;
3117
- }
3118
- /** Options for `useHandTool`.
3119
- *
3120
- * Neither field is wired yet: the tool's only binding routes `drag` to
3121
- * `viewport.dragPan`, which implements neither momentum nor axis locking. */
3262
+ /** Options for `useHandTool`. Both are forwarded to `viewport.dragPan` as
3263
+ * binding params; momentum additionally needs a `view` dep publishing
3264
+ * `decay`, which `<SceneCanvas>` wires. */
3122
3265
  interface UseHandToolOptions {
3266
+ /** Momentum after release. Omit or pass `false` for none. */
3123
3267
  inertia?: false | InertiaConfig;
3124
3268
  /**
3125
3269
  * Which axes the drag responds to. Default `'both'`.
@@ -3154,7 +3298,7 @@ interface HandScratch {
3154
3298
  * relative to the viewport — i.e. the camera moves *left*. So the new view
3155
3299
  * is `{ x: startView.x - dx, y: startView.y - dy }`.
3156
3300
  */
3157
- declare function useHandTool(_opts?: UseHandToolOptions): Tool<HandScratch | null>;
3301
+ declare function useHandTool(opts?: UseHandToolOptions): Tool<HandScratch | null>;
3158
3302
 
3159
3303
  /** Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's
3160
3304
  * `insertAction` (kind: `'text'`); click-on-selected-text-node enters edit
@@ -3655,6 +3799,16 @@ interface CanvasExtensionApi {
3655
3799
  * content compares this against the version it is about to render and
3656
3800
  * defers a frame when they differ. `0` until the first paint lands. */
3657
3801
  getPaintedVersion(): number;
3802
+ /**
3803
+ * The painted tier's channel for this surface.
3804
+ *
3805
+ * Most cursors are a CSS `url()` string the compositor draws, and nothing
3806
+ * needs this. A cursor that is sized in world units or too big to be a CSS
3807
+ * cursor at all is drawn into the canvas instead, and whoever decides which
3808
+ * cursor is showing publishes it here — the kit's gesture dispatcher does,
3809
+ * and so should an input layer built against a bare `<Canvas>`.
3810
+ */
3811
+ paintedCursor: PaintedCursorState;
3658
3812
  /** Register an externally-owned RenderLayer. The layer participates in the
3659
3813
  * draw stack and, if it implements `hitTest`, in {@link hitTestExtras}. */
3660
3814
  registerLayer(layer: RenderLayer<unknown>): () => void;
@@ -4325,8 +4479,9 @@ interface ViewportConfig {
4325
4479
  min?: number;
4326
4480
  max?: number;
4327
4481
  };
4328
- /** Wheel pan (plain wheel → pan). Default: `true`. Set `false` to disable. */
4329
- pan?: boolean;
4482
+ /** Wheel pan (plain wheel → pan). Default: `true`. Set `false` to disable,
4483
+ * or pass a {@link WheelPanOptions} object to lock it to one axis. */
4484
+ pan?: boolean | WheelPanOptions;
4330
4485
  /** Wheel + keyboard zoom (Cmd+wheel, Cmd+=/-/0). Default: `true`. Set `false`
4331
4486
  * to disable, or pass a {@link ViewportZoomOptions} object to tune the wheel
4332
4487
  * trigger + scale clamp. */
@@ -5464,7 +5619,9 @@ type SceneCanvasProps<TData, TLayer extends string, TPose> = Omit<CanvasProps<No
5464
5619
  * duration, easing, interpolator and the reset-branch duration. Wheel
5465
5620
  * and pinch are unaffected — their input already samples every frame. */
5466
5621
  animatedZoom?: boolean | ViewportZoomAnimateOptions;
5467
- pan?: boolean;
5622
+ /** Wheel pan. `true`/omitted = on; `false` disables; an object locks the
5623
+ * axis (`{ axis: 'x' }`) so a single-axis viewport needs no commit clamp. */
5624
+ pan?: boolean | WheelPanOptions;
5468
5625
  /** Wheel/keyboard zoom. `true`/omitted = default Cmd+wheel zoom with the
5469
5626
  * kit's 0.1–8 clamp; `false` disables. Pass a {@link ViewportZoomOptions}
5470
5627
  * object to bind zoom to plain wheel (`wheel: 'plain'`, pair with
@@ -6727,8 +6884,10 @@ interface RotationAffordanceOptions {
6727
6884
  stroke?: Stroke;
6728
6885
  insetPx?: number;
6729
6886
  } | null | false;
6730
- /** Cursor while hovering the ring. Defaults to `'grab'`. */
6731
- cursor?: string;
6887
+ /** Cursor while hovering the ring. Defaults to the `rotate` glyph turned
6888
+ * with the target, falling back to `'grab'` if the browser rejects the
6889
+ * image. */
6890
+ cursor?: CursorSpec;
6732
6891
  }
6733
6892
  /** What a rotation-handle hit hands to the rotate action: what is being
6734
6893
  * rotated, and the world-space pivot it turns around. */
@@ -6791,7 +6950,7 @@ interface PathAnchorAffordanceOptions {
6791
6950
  /** Hit radius (screen-px) for anchor and control points. Default 8. */
6792
6951
  hitRadius?: number;
6793
6952
  /** Cursor while hovering an anchor or control. Defaults to `'pointer'`. */
6794
- cursor?: string;
6953
+ cursor?: CursorSpec;
6795
6954
  }
6796
6955
  /** What an anchor hit hands to the action that follows: which path, which
6797
6956
  * anchor, and whether the grab was on the anchor itself or one of its two
@@ -10661,6 +10820,25 @@ declare function DivideIcon(): react_jsx_runtime.JSX.Element;
10661
10820
  /** Icon for the crop operation: the back shape clipped to the front one. */
10662
10821
  declare function CropIcon(): react_jsx_runtime.JSX.Element;
10663
10822
 
10823
+ /**
10824
+ * The painted tier: draws a cursor glyph into the scene when it is too big,
10825
+ * or too tied to the view, to be a CSS `url()` cursor.
10826
+ *
10827
+ * A layer rather than something each tool draws in its own overlay, because
10828
+ * the alternative is every tool re-wiring the same thing. Riding the layer
10829
+ * system also means anything that reaches the cursor pipeline through a layer
10830
+ * claim — a HUD widget's `cursorAt` — gets the painted tier without knowing
10831
+ * this exists.
10832
+ *
10833
+ * Screen-space: the glyph is chrome at the pointer, not content in the
10834
+ * document, so it must not pan or zoom with the camera. What *does* track the
10835
+ * camera is a world-sized glyph's size, and `view.scale` is read for that.
10836
+ */
10837
+
10838
+ /** Layer id, so a consumer can order or hide it like any other. */
10839
+ declare const PAINTED_CURSOR_LAYER_ID = "painted-cursor";
10840
+ declare function createPaintedCursorLayer(state: PaintedCursorState): RenderLayer<unknown>;
10841
+
10664
10842
  /** What the registry knows at dispatch time. */
10665
10843
  interface EligibilityState {
10666
10844
  focusedId: string | null;
@@ -10706,4 +10884,4 @@ interface InsertOverlayStyle {
10706
10884
  lineWidth?: number;
10707
10885
  }
10708
10886
 
10709
- export { ANCHOR_HIT_BASE_PX, Action, type ActionShortcut, ActionsProp, ActionsProviderIfRoot, ActionsRegistry, Affordance, AffordanceBinding, AffordanceHit, AffordanceRegion, type AffordanceRegionHit, type AlignAdapter, type AlignAnchor, type AlignBounds, type AlignBoundsProjection, type AlignEdge, type AlignMatchResult, type AlignMoveArgs, type AlignmentBehaviorBase, type AnchorHit, type AnchorScratch, type AnchorState, type AnimateOnSetPoseOptions, AnimationHandle, Animator, AnyTool, AreaSelectAdapter, type ArrayAdapter, type ArrayAdapterConfig, ArrowIcon, BUILTIN_MARKERS, BUNDLE_TOOLS, BindingScope, BooleansAdapter, Bounds, BoundsConstraint, type BuildChromeCtxArgs, BuiltinShapeToolId, type BuiltinToolId, type BuiltinToolOptions, COARSE_TARGET_SCALE, CURVE_REPS, type CanvasExtensionApi, type CanvasFocusReturn, type CanvasHelpers, type CanvasProps, type CanvasSelectionMode, type CanvasSize, type CanvasSizeSnapshot, type CanvasSurfaceHelpers, CanvasView, type CanvasViewHelpers, type CanvasViewProps, type CaretIndexAtOpts, type CellHighlightLayerOpts, ChromeCtx, ChromeId, ChromeState, type ClampBounds, ClipboardSnapshot, type CoalescedCtx, type ColorInterpolate, ColorOverrideRegistry, type ColorSpace, CommonAffordanceScratch, type ComposeSelectionPoseOpts, type ComputeFitViewOptions, Condition, ContentHandlerEntry, Contribution, type CornerResizeAffordanceOptions, type CornerResizeScratch, type CreateChildrenLayerOpts, type CreateParallaxLayerOpts, type CreatePathEditingOverlayLayerOptions, type CreatePathLayerOpts, type CreatePenPreviewLayerOptions, type CreateTextLayerOpts, type CreateViewResolverOpts, type CreateViewportLayerOpts, CropIcon, CursorCoordsHud, type CursorCoordsHudProps, type CurveRepKind, type CurveRepresentation, type CustomLayerEntry, type CycleHandle, type CycleVertexColorsOptions, DEFAULT_ALPHA_DECAY, DEFAULT_ALPHA_MIN, DEFAULT_DEBUG_STROKES, DEFAULT_DEBUG_THEME, DEFAULT_DEVICE_PROFILE, DEFAULT_FILL_COLOR, DEFAULT_FLATTEN_TOLERANCE, 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, DEFAULT_VELOCITY_DECAY, DebugConfig, DebugSink, DebugSnapshot, DebugStrokes, DebugTheme, type DecayLoopConfig, type DefaultTextData, DepRegistryProviderIfRoot, DepSchema, type DeriveAlignmentGuidesOptions, DetectedDeviceFacts, DeviceProfile, DeviceProfileProvider, type DeviceProfileProviderProps, Dims, type Discriminator, Dispatcher, type DistributeAdapter, type DistributeAxis, type DistributeMode, DivideIcon, type DragGestureController, type DragGestureCtx, type DragGestureEndCtx, type DragGesturePhase, type DragGesturePoint, type DragHandleOptions, 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, Eligibility, type EligibilityState, EllipseIcon, ExcludeIcon, EyedropperIcon, FALLBACK_FIT_VIEW, 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, type InertiaConfig as HandToolInertiaConfig, type HandleDragPoint, type HeadlessCanvasLike, type HostAnchorAlign, type HostAnchorInput, type HostAnchorOffset, type HostAnchorStyle, HotkeyTrigger, IDENTITY_JOINT, type IconProps, ImageIcon, type ImageNodeData, type ImageStatus, type IndicatorStyle, InsertAdapter, InsertBehavior, InsertExtras, type InsertNodeFactory, type InsertOp, type InsertOverlayStyle, IntersectIcon, type Joint, type JointTransform, type LabelOptions, LassoHitMode, LassoIcon, LassoSelectAdapter, LassoSelectBehavior, LayerEnumerableAdapter, LayerHit, type LayerSlotValue, type LayersMap, LayoutSnap, LayoutStrategy, type LifecycleAnimation, LineIcon, type LinePoint, MIXED, MOVE_ANCHORS, type MarkerCtx, type MarkerEntry, type MarkerPaint, type MarkerSite, type MarkerSiteRequest, Mat3$1 as Mat3, MinimapCanvas, type MinimapCanvasProps, type MinimapFit, type Mixed, ModifierState, type MomentumOptions, MoveAdapter, MoveBehavior, type NestedHitOpts, type NestedHitTester, type NodeClientRect, NodeId, type NodeInk, type NodeInkCtx, type NodeOverlayFrame, type NodePaintCtx, type NodeProperties, type NodePropertiesEntry, type NodeRouting, type NodeRoutingEntry, type NodeShapeEntry, type NodeSilhouetteCtx, OngoingOverlay, type OpenFilePickerOptions, OrderedAdapter, OriginProjection, type OverlayPoint, OverlayPosition, PATH_ANCHOR_CHROME_ID, type PaintBindContext, type PaintKind, type PaintKindEditorProps, type PaintKindEntry, type PaintProgram, type PanBounds, type ParallaxOpts, Path, type PathAnchor, type PathAnchorAffordanceOptions, PathBuilder, PathDrawCommand, type PathEditingOverlayStyle, PathFillRule, type PathInWorldPose, type PenAnchor, PenIcon, type PenPreviewStyle, type PenScratch, type PenSubpath, PencilIcon, type PencilPoint, PickHud, type PickHudProps, type PickTopMostHitAdapter, type PinchZoomOptions, type PinchZoomToolOpts, type PixelRenderPlan, type PointInPathOptions, type PointInTextPoseOpts, PointSnapBehavior, PointerProviderIfRoot, type PointerSample, type PointerStylusState, PolygonIcon, PolygonPath, type PolygonPoint, type Pose, PoseProjection, type PoseRotation, type PressureToWidthOptions, type Pt, RECT_ALIGN_PROJECTION, ROTATION_HANDLE_BASE_PX, type RangeStyle, type RasterImage, RectIcon, RectPath, RectPose, type RegisterNodeShapeOptions, RegisteredOp, RenderLayer, type RenderSceneToCanvasArgs, type RenderSceneToPixelsArgs, type ReorderDirection, ResizeAdapter, ResizeAnchor, ResizePose, type ResolvableView, RotateAdapter, RotateBehavior, type RotateGeometry, RotatedPose, type RotationAffordanceOptions, type RotationHandle, type RotationScratch, Rule, RuleCtx, 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, ScopedBinding, type ScratchKey, type ScratchStore, type SelectAdapter, type SelectFromLassoOptions, SelectIcon, SelectionApi, SelectionContextProvider, SelectionContextProviderIfRoot, type SelectionContextValue, type SelectionHandleStyle, type SelectionHandlesLayerOpts, type SelectionOutlineLayerOpts, type SelectionOverlayLayerOpts, type SelectionOverlaySlotConfig, SerializedScene, type SetFlagResult, type SetPathFields, ShaderProgramHandle, type ShapeCoversPointOptions, type SharedAnchor, type Simulation, type SimulationForce, type SimulationNode, type Skeleton, 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, type TextEditScreenPose, type TextEditSelection, TextIcon, type ThresholdDragHandle, type ThresholdDragOptions, type TileGridOptions, type TilePatternOpts, Tool, type ToolBundle, ToolDef, ToolKeybinding, 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 ToolPrefNumberUnit, type ToolPrefObject, type ToolPrefPaint, type ToolPrefString, type ToolPrefStringControl, type ToolsApi, type TweenPoseOptions, type TweenVertexColorsOptions, UnionIcon, 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 UseGestureDispatcherOptions, type UseGridCellHoverOptions, type UseGridCellHoverReturn, type UseGuidesReturn, type UseHandToolOptions, type UseHandleDragOptions, type UseHandleDragReturn, type UseHostAnchorOptions, type UseHoverTrackingArgs, type UseImageToolOptions, type UseKeybindingsOptions, type UseLassoSelectOptions, type UseLassoToolOptions, UseMoveOptions, type UseNodeOverlayFrameOptions, type UsePenToolOptions, type UsePointerStylusOptions, type UsePolygonToolOptions, UseResizeOptions, type UseResizePolicyOptions, type UseRotateOptions, type UseRotateToolOptions, UseSceneOptions, type UseSceneTextEditOptions, type UseSceneTextEditReturn, type UseSceneTrivialOptions, type UseSelectToolOptions, UseSelectionOptions, type UseSimulationOptions, type UseStandardActionsOptions, type UseStarToolOptions, type UseTextEditOptions, type UseTextEditReturn, type UseToolsOptions, type UseZoomOptions, type UseZoomReturn, VERSION, type Vec2, VertexColorChannel, View, ViewAnimationOptions, type ViewRect, type ViewResolver, type ViewTarget, ViewTransform, type ViewportConfig, ViewportDims, type ViewportLayer, ViewportToolDef, type ViewportZoomAnimateOptions, type ViewportZoomOptions, VisibilityRules, type VisibleRaf, type VisibleRafOptions, type VisibleRafTarget, WeaselProvider, type WheelInput, type WheelState, ZoomBound, type ZoomBounds, type ZoomClampOpts, ZoomFactor, _resetMarkersForTests, _resetPaintKindsForTests, aabbCenter, actionIs, actionShortcuts, alignDeltaFor, alignInsertBehavior, alignMoveBehavior, alignResizeBehavior, always, and, animateLifecycle, animateOnSetPose, annulusSemiAxes, applyOpsTo, applyStyleToRange, areaSelectAction, arrayAdapter, asPaint, axisAlignedBounds, bezierCubic, bezierQuadratic, blendPoses, boundsOfPath, buildChromeCtx, buildSceneViewCommands, canBringForward, canHover, canSendBackward, capabilityAll, capabilityIn, capabilityIs, capabilityNot, caretIndexAt, cellAt, charOffsetToDomPosition, clampView, clearSelectionAction, clientToCanvas, cloneAction, coarsePointer, composeAffordanceLayer, composePath, composeSelectionPose, computeFitView, computeFitViewport, computeIndicatorCommand, computeWheelAction, cond, constrainTo45, containedThenNearest, countPathAnchors, createCellHighlightLayer, createChildrenLayer, createCornerResizeAffordance, createDebugOverlayLayer, createDebugSink, createDeleteOp, createGridLayer, createGuidesLayer, createHistory, createInsertOp, createMoveToIndexOp, createNodeProperties, createNodeRouting, createParallaxLayer, createPathAnchorAffordances, createPathEditingOverlayLayer, createPathLayer, createPenPreviewLayer, createReorderOp, createReparentOp, createRotationAffordance, createScene, createSelectionHandlesLayer, createSelectionOutlineLayer, createSelectionOverlayLayer, createSetDataOp, createSetLayerOp, createSetPathOp, createSetSelectionOp, createSetTextOp, createTextLayer, createTilePattern, createTransformOp, createViewResolver, createViewportLayer, cycleVertexColors, decomposePath, defaultCommitAdapter, defaultDrawOne, defaultLabelTextRenderer, defaultNodeProperties, defaultNodeRouting, defaultVisibilityRules, defineTool, defineViewportTool, deleteScratch, deriveAlignmentGuides, deriveParallaxView, dispatchApplyBatch, dlog, domPositionToCharOffset, domToRuns, dwarn, editAnchorsAction, ellipsePath, enumerateAnchors, fillInPoseFrame, fillToBoundsFrame, findNodeShape, findShapeInk, findShapeSilhouette, fitTextPose, fitToBounds, fitZoom, flattenCubic, flattenCubicWithArcLen, flattenQuadratic, flattenQuadraticWithArcLen, focused, forEachCoalesced, freeform, gateLayer, gesturing, getAlpha01, getImageBitmap, getMarker, getNodeShapes, getPaintKind, getScratch, getStylusData, gradientForBounds, gradientGeometry, guideSnapStrategy, hexToRgba, hitAffordanceRegions, hitAnchor, hitRotationHandle, hostAnchorCss, hostAnchorRect, hovering, hoveringSelected, imageStatus, inferredNodeProperties, inferredNodeRouting, insertAction, interpolateView, isBuiltinToolPref, isDebugEnabled, isEditableTarget, isGradientFill, isPatternSpec, keySpecShortcut, lassoSelectAction, lerpColorArray, lerpOklab, lerpOklch, linePath, listMarkers, listPaintKinds, liveScope, makePinchZoomAction, makeViewportZoomAction, markerDrawCommands, markerInset, markerKeyOf, markerSites, matchAlignment, matchesKeyBinding, meanScale, mergeAlphaFromPrev, mergeContributions, modeIn, modeIs, modeNot, modifierHeld, momentum, moveAction, multiActive, nearest, nearestWithin, nestedHitTester, never, nodeHasFlag, none, normalizeHex, not, nurbs, oklabToOklch, oklabToSrgbU8, oklchToOklab, openFilePicker, or, paintAlpha, paintKindOf, paintWithAlpha, paintWithColor, parseColor, parseColorToRgba255, parseDebugFlags, pathContainsPoint, pathContainsPolygon, pathContainsRect, pathDistanceToPoint, pathDivide, pathExclude, pathFromD, pathInPoseFrame, pathInWorld, pathIntersect, pathIntersectsPolygon, pathIntersectsRect, pathOriginProjection, pathPoseDescriptor, pathSubtract, pathToAnchors, pathUnion, pickTopMostHit, pinchZoomAction, planPixelRender, pointInPath, pointInRotatedRect, pointInTextPose, polygonFromPoints, polylineFromPoints, poseRotationOf, pressureToWidth, pxExtent, rainbowVertexColors, rebuildOp, rectCorners, rectPath, registerMarker, registerNodeShape, registerOpFactory, registerPaintKind, registeredOpNames, regularPolygonPath, renderLabel, renderSceneToCanvas, renderSceneToPixels, resizeAction, resolveColor, resolveDeviceProfile, resolveFillPattern, resolveMarkerSize, resolvePatternSpec, resolveSkeleton, resolveVisibility, rgbaToHex, rotateAction, rotateAroundAABBCenter, rotatePathAround, rotatePoint, rotatedRectCorners, rotationDegreesUnit, rotationHandle, roundToCell, runsToDom, sampleGradientStops, sampleTrack, scaleDelta, scalePathToBounds, sceneFromJSON, sceneNodeClientRect, sceneSelectionStore, sceneToAdapter, scopeBindings, scratchKey, selectFromLasso, selectionAtLeast, selectionEmpty, selectionIs, setFlagOverRange, setScratch, shapeCoversPoint, snap, snapPoint, solid, solidVertexColors, spiro, splitPathByLine, splitSubpaths, springPose, springVertexColors, srgbU8ToOklab, staggerVertexColors, starPath, startThresholdDrag, strokeInsets, strokeOf, strokeWith, styleAtRange, subscribeImageReady, textCommand, textCommandFromRuns, tileGrid, toHex8, transformPath, translatePath, translatePolygonInPlace, translatePoseViaDescriptor, trimPolyline, tweenPose, tweenVertexColors, unionAABB, unionBounds, unionBoundsPath, useAlign, useAnimator, useArrayAdapter, useAutoCenter, useBooleans, useBooleansAdapter, useCanvasFocus, useCanvasSize, useDecayLoop, useDeviceProfile, useDistribute, useDragGesture, useDragHandle, useDragRadial, useDragRect, useDropZone, useEllipseTool, useEyedropperTool, useGestureDispatcher, useGridCellHover, useGuides, useHandTool, useHandleDrag, useHostAnchor, useHoverTracking, useImageTool, useKeybindings, useLassoTool, useLineTool, useNodeOverlayFrame, usePenTool, usePencilTool, usePinchGesture, usePinchZoomTool, usePointerStylus, usePolygonTool, usePublishSelection, useRectTool, useResizePolicy, useRotateTool, useScene, useSceneAdapter, useSceneTextEdit, useSelectTool, useSelectionContext, useSimulation, useSliceDep, useStandardActions, useStarTool, useTextEdit, useTextTool, useTools, useVelocityTracker, useVisibleRaf, useZoom, viewportDragPanAction, viewportZoomAction, viewportsAt, visualBoundsViaDescriptor, when, withAlpha01, withCoord, withGradientKind, withinPxBox, withinPxRadius, worldEditToStorage, zoomAt, zoomAtLeast };
10887
+ export { ANCHOR_HIT_BASE_PX, Action, type ActionShortcut, ActionsProp, ActionsProviderIfRoot, ActionsRegistry, Affordance, AffordanceBinding, AffordanceHit, AffordanceRegion, type AffordanceRegionHit, type AlignAdapter, type AlignAnchor, type AlignBounds, type AlignBoundsProjection, type AlignEdge, type AlignMatchResult, type AlignMoveArgs, type AlignmentBehaviorBase, type AnchorHit, type AnchorScratch, type AnchorState, type AnimateOnSetPoseOptions, AnimationHandle, Animator, AnyTool, AreaSelectAdapter, type ArrayAdapter, type ArrayAdapterConfig, ArrowIcon, BUILTIN_MARKERS, BUNDLE_TOOLS, BindingScope, BooleansAdapter, Bounds, BoundsConstraint, type BuildChromeCtxArgs, BuiltinShapeToolId, type BuiltinToolId, type BuiltinToolOptions, COARSE_TARGET_SCALE, CURVE_REPS, type CanvasExtensionApi, type CanvasFocusReturn, type CanvasHelpers, type CanvasProps, type CanvasSelectionMode, type CanvasSize, type CanvasSizeSnapshot, type CanvasSurfaceHelpers, CanvasView, type CanvasViewHelpers, type CanvasViewProps, type CaretIndexAtOpts, type CellHighlightLayerOpts, ChromeCtx, ChromeId, ChromeState, type ClampBounds, ClipboardSnapshot, type CoalescedCtx, type ColorInterpolate, ColorOverrideRegistry, type ColorSpace, CommonAffordanceScratch, type ComposeSelectionPoseOpts, type ComputeFitViewOptions, Condition, ContentHandlerEntry, Contribution, type CornerResizeAffordanceOptions, type CornerResizeScratch, type CreateChildrenLayerOpts, type CreateParallaxLayerOpts, type CreatePathEditingOverlayLayerOptions, type CreatePathLayerOpts, type CreatePenPreviewLayerOptions, type CreateTextLayerOpts, type CreateViewResolverOpts, type CreateViewportLayerOpts, CropIcon, CursorCoordsHud, type CursorCoordsHudProps, type CurveRepKind, type CurveRepresentation, type CustomLayerEntry, type CycleHandle, type CycleVertexColorsOptions, DEFAULT_ALPHA_DECAY, DEFAULT_ALPHA_MIN, DEFAULT_DEBUG_STROKES, DEFAULT_DEBUG_THEME, DEFAULT_DEVICE_PROFILE, DEFAULT_FILL_COLOR, DEFAULT_FLATTEN_TOLERANCE, 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, DEFAULT_VELOCITY_DECAY, DebugConfig, DebugSink, DebugSnapshot, DebugStrokes, DebugTheme, type DefaultTextData, DepRegistryProviderIfRoot, DepSchema, type DeriveAlignmentGuidesOptions, DetectedDeviceFacts, DeviceProfile, DeviceProfileProvider, type DeviceProfileProviderProps, Dims, type Discriminator, Dispatcher, 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, Eligibility, type EligibilityState, EllipseIcon, ExcludeIcon, EyedropperIcon, FALLBACK_FIT_VIEW, 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, HotkeyTrigger, IDENTITY_JOINT, type IconProps, ImageIcon, type ImageNodeData, type ImageStatus, type IndicatorStyle, InertiaConfig, InsertAdapter, InsertBehavior, InsertExtras, type InsertNodeFactory, type InsertOp, type InsertOverlayStyle, IntersectIcon, type Joint, type JointTransform, type LabelOptions, LassoHitMode, LassoIcon, LassoSelectAdapter, LassoSelectBehavior, LayerEnumerableAdapter, LayerHit, type LayerSlotValue, type LayersMap, LayoutSnap, LayoutStrategy, type LifecycleAnimation, LineIcon, type LinePoint, MIXED, MOVE_ANCHORS, type MarkerCtx, type MarkerEntry, type MarkerPaint, type MarkerSite, type MarkerSiteRequest, Mat3$1 as Mat3, MinimapCanvas, type MinimapCanvasProps, type MinimapFit, type Mixed, ModifierState, type MomentumOptions, MoveAdapter, MoveBehavior, type NestedHitOpts, type NestedHitTester, type NodeClientRect, NodeId, type NodeInk, type NodeInkCtx, type NodeOverlayFrame, type NodePaintCtx, type NodeProperties, type NodePropertiesEntry, type NodeRouting, type NodeRoutingEntry, type NodeShapeEntry, type NodeSilhouetteCtx, OngoingOverlay, type OpenFilePickerOptions, OrderedAdapter, OriginProjection, type OverlayPoint, OverlayPosition, PAINTED_CURSOR_LAYER_ID, PATH_ANCHOR_CHROME_ID, type PaintBindContext, type PaintKind, type PaintKindEditorProps, type PaintKindEntry, type PaintProgram, type PaintedCursor, type PaintedCursorFrame, type PaintedCursorState, PanBounds, type ParallaxOpts, Path, type PathAnchor, type PathAnchorAffordanceOptions, PathBuilder, PathDrawCommand, type PathEditingOverlayStyle, PathFillRule, type PathInWorldPose, type PenAnchor, PenIcon, type PenPreviewStyle, type PenScratch, type PenSubpath, PencilIcon, type PencilPoint, PickHud, type PickHudProps, type PickTopMostHitAdapter, type PinchZoomOptions, type PinchZoomToolOpts, type PixelRenderPlan, type PointInPathOptions, type PointInTextPoseOpts, PointSnapBehavior, PointerProviderIfRoot, type PointerSample, type PointerSession, type PointerSessionCallbacks, type PointerSessionCancelReason, type PointerSessionOptions, type PointerStylusState, PolygonIcon, PolygonPath, type PolygonPoint, type Pose, PoseProjection, type PoseRotation, type PressureToWidthOptions, type Pt, RECT_ALIGN_PROJECTION, ROTATION_HANDLE_BASE_PX, type RangeStyle, type RasterImage, RectIcon, RectPath, RectPose, type RegisterNodeShapeOptions, RegisteredOp, RenderLayer, type RenderSceneToCanvasArgs, type RenderSceneToPixelsArgs, type ReorderDirection, ResizeAdapter, ResizeAnchor, ResizePose, type ResolvableView, RotateAdapter, RotateBehavior, type RotateGeometry, RotatedPose, type RotationAffordanceOptions, type RotationHandle, type RotationScratch, Rule, RuleCtx, 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, ScopedBinding, type ScratchKey, type ScratchStore, type SelectAdapter, type SelectFromLassoOptions, SelectIcon, SelectionApi, SelectionContextProvider, SelectionContextProviderIfRoot, type SelectionContextValue, type SelectionHandleStyle, type SelectionHandlesLayerOpts, type SelectionOutlineLayerOpts, type SelectionOverlayLayerOpts, type SelectionOverlaySlotConfig, SerializedScene, type SetFlagResult, type SetPathFields, ShaderProgramHandle, type ShapeCoversPointOptions, type SharedAnchor, type Simulation, type SimulationForce, type SimulationNode, type Skeleton, 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, type TextEditScreenPose, type TextEditSelection, TextIcon, type ThresholdDragHandle, type ThresholdDragOptions, type TileGridOptions, type TilePatternOpts, Tool, type ToolBundle, ToolDef, ToolKeybinding, 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 ToolPrefNumberUnit, type ToolPrefObject, type ToolPrefPaint, type ToolPrefString, type ToolPrefStringControl, type ToolsApi, type TweenPoseOptions, type TweenVertexColorsOptions, UnionIcon, 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 UseGestureDispatcherOptions, type UseGridCellHoverOptions, type UseGridCellHoverReturn, type UseGuidesReturn, type UseHandToolOptions, type UseHandleDragOptions, type UseHandleDragReturn, type UseHostAnchorOptions, type UseHoverTrackingArgs, type UseImageToolOptions, type UseKeybindingsOptions, type UseLassoSelectOptions, type UseLassoToolOptions, UseMoveOptions, type UseNodeOverlayFrameOptions, type UsePenToolOptions, type UsePointerStylusOptions, type UsePolygonToolOptions, UseResizeOptions, type UseResizePolicyOptions, type UseRotateOptions, type UseRotateToolOptions, UseSceneOptions, type UseSceneTextEditOptions, type UseSceneTextEditReturn, type UseSceneTrivialOptions, type UseSelectToolOptions, UseSelectionOptions, type UseSimulationOptions, type UseStandardActionsOptions, type UseStarToolOptions, type UseTextEditOptions, type UseTextEditReturn, type UseToolsOptions, type UseZoomOptions, type UseZoomReturn, VERSION, type Vec2, type VelocityTracker, VertexColorChannel, View, ViewAnimationOptions, type ViewRect, type ViewResolver, type ViewTarget, ViewTransform, type ViewportConfig, ViewportDims, type ViewportLayer, ViewportToolDef, type ViewportZoomAnimateOptions, type ViewportZoomOptions, VisibilityRules, type VisibleRaf, type VisibleRafOptions, type VisibleRafTarget, WeaselProvider, type WheelInput, type WheelPanOptions, type WheelState, ZoomBound, type ZoomBounds, type ZoomClampOpts, ZoomFactor, _resetMarkersForTests, _resetPaintKindsForTests, aabbCenter, actionIs, actionShortcuts, alignDeltaFor, alignInsertBehavior, alignMoveBehavior, alignResizeBehavior, always, and, animateLifecycle, animateOnSetPose, annulusSemiAxes, applyOpsTo, applyStyleToRange, areaSelectAction, arrayAdapter, asPaint, axisAlignedBounds, bezierCubic, bezierQuadratic, blendPoses, boundsOfPath, buildChromeCtx, buildSceneViewCommands, canBringForward, canHover, canSendBackward, capabilityAll, capabilityIn, capabilityIs, capabilityNot, caretIndexAt, cellAt, charOffsetToDomPosition, clampView, clearSelectionAction, clientToCanvas, cloneAction, coarsePointer, composeAffordanceLayer, composePath, composeSelectionPose, computeFitView, computeFitViewport, computeIndicatorCommand, computeWheelAction, cond, constrainTo45, containedThenNearest, countPathAnchors, createCellHighlightLayer, createChildrenLayer, createCornerResizeAffordance, createDebugOverlayLayer, createDebugSink, createDeleteOp, createGridLayer, createGuidesLayer, createHistory, createInsertOp, createMoveToIndexOp, createNodeProperties, createNodeRouting, createPaintedCursorLayer, createPaintedCursorState, createParallaxLayer, createPathAnchorAffordances, createPathEditingOverlayLayer, createPathLayer, createPenPreviewLayer, createReorderOp, createReparentOp, createRotationAffordance, createScene, createSelectionHandlesLayer, createSelectionOutlineLayer, createSelectionOverlayLayer, createSetDataOp, createSetLayerOp, createSetPathOp, createSetSelectionOp, createSetTextOp, createTextLayer, createTilePattern, createTransformOp, createVelocityTracker, createViewResolver, createViewportLayer, cycleVertexColors, decomposePath, defaultCommitAdapter, defaultDrawOne, defaultLabelTextRenderer, defaultNodeProperties, defaultNodeRouting, defaultVisibilityRules, defineTool, defineViewportTool, deleteScratch, deriveAlignmentGuides, deriveParallaxView, dispatchApplyBatch, dlog, domPositionToCharOffset, domToRuns, dwarn, editAnchorsAction, ellipsePath, enumerateAnchors, fillInPoseFrame, fillToBoundsFrame, findNodeShape, findShapeInk, findShapeSilhouette, fitTextPose, fitToBounds, fitZoom, flattenCubic, flattenCubicWithArcLen, flattenQuadratic, flattenQuadraticWithArcLen, focused, forEachCoalesced, freeform, gateLayer, gesturing, getAlpha01, getImageBitmap, getMarker, getNodeShapes, getPaintKind, getScratch, getStylusData, gradientForBounds, gradientGeometry, guideSnapStrategy, hexToRgba, hitAffordanceRegions, hitAnchor, hitRotationHandle, hostAnchorCss, hostAnchorRect, hovering, hoveringSelected, imageStatus, inferredNodeProperties, inferredNodeRouting, insertAction, interpolateView, isBuiltinToolPref, isDebugEnabled, isEditableTarget, isGradientFill, isPatternSpec, keySpecShortcut, lassoSelectAction, lerpColorArray, lerpOklab, lerpOklch, linePath, listMarkers, listPaintKinds, liveScope, makePinchZoomAction, makeViewportWheelPanAction, makeViewportZoomAction, markerDrawCommands, markerInset, markerKeyOf, markerSites, matchAlignment, matchesKeyBinding, meanScale, mergeAlphaFromPrev, mergeContributions, modeIn, modeIs, modeNot, modifierHeld, momentum, moveAction, multiActive, nearest, nearestWithin, nestedHitTester, never, nodeHasFlag, none, normalizeHex, not, nurbs, oklabToOklch, oklabToSrgbU8, oklchToOklab, openFilePicker, openPointerSession, or, paintAlpha, paintKindOf, paintWithAlpha, paintWithColor, parseColor, parseColorToRgba255, parseDebugFlags, pathContainsPoint, pathContainsPolygon, pathContainsRect, pathDistanceToPoint, pathDivide, pathExclude, pathFromD, pathInPoseFrame, pathInWorld, pathIntersect, pathIntersectsPolygon, pathIntersectsRect, pathOriginProjection, pathPoseDescriptor, pathSubtract, pathToAnchors, pathUnion, pickTopMostHit, pinchZoomAction, planPixelRender, pointInPath, pointInRotatedRect, pointInTextPose, polygonFromPoints, polylineFromPoints, poseRotationOf, pressureToWidth, pxExtent, rainbowVertexColors, rebuildOp, rectCorners, rectPath, registerMarker, registerNodeShape, registerOpFactory, registerPaintKind, registeredOpNames, regularPolygonPath, renderLabel, renderSceneToCanvas, renderSceneToPixels, resizeAction, resolveColor, resolveDeviceProfile, resolveFillPattern, resolveMarkerSize, resolvePatternSpec, resolveSkeleton, resolveVisibility, rgbaToHex, rotateAction, rotateAroundAABBCenter, rotatePathAround, rotatePoint, rotatedRectCorners, rotationDegreesUnit, rotationHandle, roundToCell, runsToDom, sampleGradientStops, sampleTrack, scaleDelta, scalePathToBounds, sceneFromJSON, sceneNodeClientRect, sceneSelectionStore, sceneToAdapter, scopeBindings, scratchKey, selectFromLasso, selectionAtLeast, selectionEmpty, selectionIs, setFlagOverRange, setScratch, shapeCoversPoint, snap, snapPoint, solid, solidVertexColors, spiro, splitPathByLine, splitSubpaths, springPose, springVertexColors, srgbU8ToOklab, staggerVertexColors, starPath, startThresholdDrag, strokeInsets, strokeOf, strokeWith, styleAtRange, subscribeImageReady, textCommand, textCommandFromRuns, tileGrid, toHex8, transformPath, translatePath, translatePolygonInPlace, translatePoseViaDescriptor, trimPolyline, tweenPose, tweenVertexColors, unionAABB, unionBounds, unionBoundsPath, useAlign, useAnimator, useArrayAdapter, useAutoCenter, useBooleans, useBooleansAdapter, useCanvasFocus, useCanvasSize, useDeviceProfile, useDistribute, useDragGesture, useDragHandle, useDragRadial, useDragRect, useDropZone, useEllipseTool, useEyedropperTool, useGestureDispatcher, useGridCellHover, useGuides, useHandTool, useHandleDrag, useHostAnchor, useHoverTracking, useImageTool, useKeybindings, useLassoTool, useLineTool, useNodeOverlayFrame, usePenTool, usePencilTool, usePinchGesture, usePinchZoomTool, usePointerStylus, usePolygonTool, usePublishSelection, useRectTool, useResizePolicy, useRotateTool, useScene, useSceneAdapter, useSceneTextEdit, useSelectTool, useSelectionContext, useSimulation, useSliceDep, useStandardActions, useStarTool, useTextEdit, useTextTool, useTools, useVelocityTracker, useVisibleRaf, useZoom, viewportDragPanAction, viewportWheelPanAction, viewportZoomAction, viewportsAt, visualBoundsViaDescriptor, when, withAlpha01, withCoord, withGradientKind, withinPxBox, withinPxRadius, worldEditToStorage, zoomAt, zoomAtLeast };