@weasel-js/core 1.3.0 → 1.4.0-pre.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.
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 EasingFn, K as SpringPresetName, M as SpringPreset, N as UseAnimatorOptions, P as AnimationHandle, Q as VertexColorChannel, W as SampledTrack, X as Eligibility, Y as BindingScope, Z as Contribution, _ as ScopedBinding } from './registry-BU1_3L_C.js';
8
- export { $ as ALWAYS, a0 as ActionDeps, a1 as ActionDisabledReason, a2 as ActionEnabledResult, a3 as ActionEntry, a4 as ActionsProvider, a5 as ActiveToolContextProvider, a6 as ActiveToolContextProviderIfRoot, a7 as ActiveToolContextProviderProps, a8 as ActiveToolContextValue, a9 as AnimateToBoundsOptions, aa as AreaSelectDep, 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 EditAnchorsDep, at as EventTrack, au as GestureBinding, av as IDENTITY_POSE_COMPOSITION, aw as ImmediateInvoker, ax as IngestCtx, ay as IngestionDep, az as InsertDep, aA as Interpolate, aB as InterpolatorFactory, aC as InvocationCtx, aD as Invoker, aE as KIT_SHAPE_KINDS, aF as Keyframe, aG as LassoSelectDep, aH as LayerCommandCache, aI as LayoutDep, aJ as LoopFactory, aK as LoopOptions, aL as MatchResult, aM as NEVER, aN as NestedTimeline, aO as NodeAtPointDep, aP as OngoingHandle, aQ as OngoingInvoker, aR as PhysicsHandle, aS as PhysicsOptions, aT as Point2, aU as PointerContextProvider, aV as PointerContextValue, aW as PointerWorldPos, aX as PoseAdapter, aY as PoseComposition, aZ as ResizePolicy, a_ as ResolveAllOptions, a$ as ResolveOnlyResult, b0 as ResolvedCandidate, b1 as SelectionExtendKey, b2 as SelectionMode, b3 as Selector, b4 as SnapDep, b5 as SpringOptions, b6 as StaggerBuilder, b7 as StaggerDelay, b8 as StaggerFactory, b9 as StaggerOptions, ba as StaggerPerItem, bb as StaggerSpringPoseOptions, bc as StaggerTweenOptions, bd as SvgUnpacker, be as TextEditDep, bf as TimelineHandle, bg as TimelineOptions, bh as TimelineTrack, bi as ToolCtx, bj as ToolModifiers, bk as ToolPresentation, bl as ToolSlot, bm as Track, bn as TweenLoopOptions, bo as TweenOptions, bp as UiOngoingControl, bq as VIEW_ANIMATION_KEY, br as ViewAnimationApi, bs as ViewApi, bt as ViewChannel, bu as actionBindings, bv as applyBooleanOp, bw as buildRuleCtx, bx as clipboardCopyAction, by as clipboardCutAction, bz as composeRectPose, bA as composeWorldPose, bB as createDispatcher, bC as decomposeRectPose, bD as describeRule, bE as drawLayers, bF as drawOneLayer, bG as enterTextEditAction, bH as evaluate, bI as evaluateEnabled, bJ as isLayerPainted, bK as isLayerVisible, bL as rebaseLocalPose, bM as registerContentHandler, bN as resolveParams, bO as sliceAction, bP as specificity, bQ as translateRectPose, bR as useAction, bS as useActionsRegistry, bT as useActiveToolContext, bU as useDepRegistry, bV as useDepSource, bW as useOptionalActiveToolContext, bX as useOptionalDepRegistry, bY as usePointerContext, bZ as useSelection, b_ as useViewAnimation, b$ as worldPoseLookup } from './registry-BU1_3L_C.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';
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';
@@ -24,17 +24,17 @@ import { D as DebugSink, a as DebugConfig, b as DebugSnapshot, c as DebugStrokes
24
24
  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
25
  import { a as PolygonPath, P as Path, b as PathFillRule, R as RectPath } from './path-JEV2c5If.js';
26
26
  import * as react_jsx_runtime from 'react/jsx-runtime';
27
- import { D as DrawCommand, S as ShaderProgramHandle, P as PathDrawCommand, M as Mat3$1 } from './DrawCommand-BnZyQaDc.js';
28
- export { G as GroupDrawCommand, I as ImageDrawCommand, a as ShaderDrawCommand, b as ShaderUniform, T as TextDrawCommand, m as mat3 } from './DrawCommand-BnZyQaDc.js';
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
29
  import { Op, HistorySelection, CreateHistoryOptions, History } from '@weasel-js/history';
30
30
  export * from '@weasel-js/history';
31
31
  export { Op } from '@weasel-js/history';
32
+ import { PlacementAlign, Rect, Mat3 } from '@weasel-js/geom';
33
+ export { PATH_C, PATH_CMD_LENGTHS, PATH_L, PATH_M, PATH_Q, PATH_Z, Rect, pathCommandCoordCount } from '@weasel-js/geom';
32
34
  import { TextRenderer, TextPose, StyledRun, TextStyle, TextPaint, TextVerticalAlign } from '@weasel-js/text';
33
35
  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';
34
- import { S as ShaderProgram } from './stroke-5pBwOm9s.js';
35
- export { I as ImageMinification, b as SpriteSheet, f as frameRect, r as resolveStrokeWidth, v as viewToMat3 } from './stroke-5pBwOm9s.js';
36
- import { Rect, Mat3 } from '@weasel-js/geom';
37
- export { PATH_C, PATH_CMD_LENGTHS, PATH_L, PATH_M, PATH_Q, PATH_Z, Rect, pathCommandCoordCount } from '@weasel-js/geom';
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
38
  import { G as Guide } from './types-D2tTKEU0.js';
39
39
  export { U as UseInsertOptions } from './options-CdFl510T.js';
40
40
  export { UseClipboardOpsOptions, UseClipboardOpsReturn, WEASEL_CLIPBOARD_MIME, WEASEL_CLIPBOARD_MIME_WEB, buildWeaselClipboardText, embedWeaselMetadataInSvg, extractWeaselClipboardFromSvg, parseWeaselClipboardText, sniffWeaselClipboardText, useClipboardOps } from './clipboard.js';
@@ -432,6 +432,11 @@ interface CreateParallaxLayerOpts<TData> extends ParallaxOpts {
432
432
  label: string;
433
433
  /** Layers re-rendered through the derived inner view. */
434
434
  source: RenderLayer<TData>[];
435
+ /** Where the camera view comes from. Defaults to the view the Canvas hands
436
+ * the layer — the `view` prop. A consumer running a 60 Hz camera through
437
+ * refs pins that prop to identity, and would otherwise get identity back
438
+ * for every `pan` value and a backdrop that never moves. */
439
+ getOuterView?: () => View;
435
440
  }
436
441
  /**
437
442
  * Wrap source RenderLayers in a parallax plane. The plane's inner view is
@@ -1052,26 +1057,29 @@ declare function fitToBounds(viewportW: number, viewportH: number, contentW: num
1052
1057
  panY: number;
1053
1058
  };
1054
1059
 
1055
- /** Optional clamp bounds for `zoomAt`. Defaults: min=0.1, max=8 (per axis). */
1060
+ /** Optional clamp bounds for `zoomAt`. Defaults: {@link DEFAULT_MIN_ZOOM} /
1061
+ * {@link DEFAULT_MAX_ZOOM} (per axis). */
1056
1062
  interface ZoomClampOpts {
1057
1063
  min?: ZoomBound;
1058
1064
  max?: ZoomBound;
1059
1065
  }
1060
- /**
1061
- * Pure zoom primitive. Returns a new `View` whose `scale` is multiplied
1062
- * by `factor` (per-axis, clamped) and whose translation is adjusted so
1063
- * that the world point currently under `anchor` (screen coords relative
1064
- * to the canvas top-left) stays under the same screen pixel after the
1065
- * zoom — independently on each axis.
1066
- *
1067
- * `factor: number` means "apply uniformly to both axes". `factor: {x, y}`
1068
- * applies per-axis factors. Likewise for `opts.min` / `opts.max`.
1069
- */
1070
1066
  declare function zoomAt(view: View, anchor: {
1071
1067
  x: number;
1072
1068
  y: number;
1073
1069
  }, factor: ZoomFactor, opts?: ZoomClampOpts): View;
1074
1070
 
1071
+ /**
1072
+ * The kit's system-wide zoom clamp, in `View.scale` units (pixels per world
1073
+ * unit): `1` is 100%, `0.1` is 10%, `8` is 800%.
1074
+ *
1075
+ * Every zoom path defaults from these — `zoomAt`, the `viewport.zoom` and
1076
+ * pinch actions, `fitViewToBounds`, `computeWheelAction`, `useZoom`. They
1077
+ * used to carry two disagreeing pairs, so a fit could legally land at 10x
1078
+ * and the next pinch frame would clamp it back to 8x.
1079
+ */
1080
+ declare const DEFAULT_MIN_ZOOM = 0.1;
1081
+ declare const DEFAULT_MAX_ZOOM = 8;
1082
+
1075
1083
  /** Options for {@link sceneNodeClientRect}. */
1076
1084
  interface SceneNodeClientRectOpts {
1077
1085
  /** Node (or container) id to locate. */
@@ -1406,7 +1414,7 @@ declare function buildChromeCtx(args: BuildChromeCtxArgs): ChromeCtx;
1406
1414
 
1407
1415
  /** Options for `useHoverTracking`. */
1408
1416
  interface UseHoverTrackingArgs {
1409
- canvasRef: RefObject<HTMLCanvasElement | null>;
1417
+ canvasRef: RefObject<HTMLElement | null>;
1410
1418
  /** Topmost id under a client point, or null. One lookup rather than a
1411
1419
  * client→world thunk beside a world-space picker: a screen-pixel pick
1412
1420
  * tolerance converts against the camera the point resolved to, and two
@@ -2287,7 +2295,7 @@ interface ViewIdResolver {
2287
2295
  * coordinates and hit targets bindings match against. */
2288
2296
  interface UseGestureDispatcherOptions {
2289
2297
  /** Ref to the canvas element. Pointer/wheel/multitouch listeners attach here. */
2290
- canvasRef: RefObject<HTMLCanvasElement | null>;
2298
+ canvasRef: RefObject<HTMLElement | null>;
2291
2299
  /** Action registry (ActionsRegistry from registry.tsx). */
2292
2300
  actions: ActionsRegistry;
2293
2301
  /** Tool definitions keyed by id. Typically passes an empty Map. */
@@ -2495,8 +2503,8 @@ declare function useVisibleRaf(frame: (time: number) => void, options?: VisibleR
2495
2503
  * the focal-point zoom math is needed without React lifecycle.
2496
2504
  *
2497
2505
  * Conventions match the rest of the kit: `zoom` is a multiplier where `1`
2498
- * means 100%. The default bounds are `{ min: 0.1, max: 10 }` (10% – 1000%),
2499
- * matching `useZoom`'s defaults.
2506
+ * means 100%. The default bounds are the kit's system-wide zoom clamp
2507
+ * ({@link DEFAULT_MIN_ZOOM} – {@link DEFAULT_MAX_ZOOM}).
2500
2508
  */
2501
2509
  /** Pure viewport state consumed and returned by `computeWheelAction`. */
2502
2510
  interface WheelState {
@@ -2523,12 +2531,12 @@ interface ZoomBounds {
2523
2531
  declare function computeWheelAction(state: WheelState, input: WheelInput, bounds?: ZoomBounds): WheelState;
2524
2532
 
2525
2533
  /**
2526
- * Convert client coords to canvas CSS-pixel coords (relative to the canvas's
2534
+ * Convert client coords to element CSS-pixel coords (relative to the element's
2527
2535
  * top-left). Apps drawing in CSS-pixel space feed the result directly into
2528
2536
  * world math when pan/zoom is identity. With pan/zoom, compose this with
2529
2537
  * your inverse-viewport transform.
2530
2538
  */
2531
- declare function clientToCanvas(canvas: HTMLCanvasElement, clientX: number, clientY: number): [number, number];
2539
+ declare function clientToCanvas(canvas: HTMLElement, clientX: number, clientY: number): [number, number];
2532
2540
 
2533
2541
  /** Records recent pointer deltas and reports the current velocity, averaged
2534
2542
  * over the last 100ms — the throw speed a momentum decay starts from. */
@@ -2590,7 +2598,7 @@ declare function useDecayLoop(): {
2590
2598
  * distance, not cumulative from gesture start). With 3+ fingers, the first
2591
2599
  * two by insertion order are tracked.
2592
2600
  */
2593
- declare function usePinchGesture(canvasRef: React.RefObject<HTMLCanvasElement | null>, onPinch: (anchor: {
2601
+ declare function usePinchGesture(canvasRef: React.RefObject<HTMLElement | null>, onPinch: (anchor: {
2594
2602
  x: number;
2595
2603
  y: number;
2596
2604
  }, scaleFactor: number) => void, enabled?: boolean): void;
@@ -2745,7 +2753,7 @@ interface ToolPrefBase<K extends string, Value> {
2745
2753
  /** How a schema-driven UI should present a number pref. */
2746
2754
  type ToolPrefNumberControl = 'input' | 'slider';
2747
2755
  /** How a schema-driven UI should present a boolean pref. */
2748
- type ToolPrefBooleanControl = 'checkbox' | 'switch';
2756
+ type ToolPrefBooleanControl = 'checkbox' | 'switch' | 'toggle';
2749
2757
  /** How a schema-driven UI should present a string pref. */
2750
2758
  type ToolPrefStringControl = 'input' | 'textarea';
2751
2759
  /** How a schema-driven UI should present an enum pref. */
@@ -2771,6 +2779,9 @@ interface ToolPrefNumber extends ToolPrefBase<'number', number> {
2771
2779
  /** An on/off pref. */
2772
2780
  interface ToolPrefBoolean extends ToolPrefBase<'boolean', boolean> {
2773
2781
  control?: ToolPrefBooleanControl;
2782
+ /** The label a `toggle` shows, since a `pair`ed row is named by the pair
2783
+ * rather than by the leaf. `name` stays the accessible name. */
2784
+ short?: string;
2774
2785
  }
2775
2786
  /** A free-text pref. */
2776
2787
  interface ToolPrefString extends ToolPrefBase<'string', string> {
@@ -3104,7 +3115,10 @@ interface InertiaConfig {
3104
3115
  /** View-coordinate limits for boundary clamping. Requires `boundary` to take effect. */
3105
3116
  bounds?: PanBounds;
3106
3117
  }
3107
- /** Options for `useHandTool`. */
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. */
3108
3122
  interface UseHandToolOptions {
3109
3123
  inertia?: false | InertiaConfig;
3110
3124
  /**
@@ -3140,7 +3154,7 @@ interface HandScratch {
3140
3154
  * relative to the viewport — i.e. the camera moves *left*. So the new view
3141
3155
  * is `{ x: startView.x - dx, y: startView.y - dy }`.
3142
3156
  */
3143
- declare function useHandTool(opts?: UseHandToolOptions): Tool<HandScratch | null>;
3157
+ declare function useHandTool(_opts?: UseHandToolOptions): Tool<HandScratch | null>;
3144
3158
 
3145
3159
  /** Text tool. Drag-rect insertion is owned end-to-end by the dispatcher's
3146
3160
  * `insertAction` (kind: `'text'`); click-on-selected-text-node enters edit
@@ -3188,7 +3202,7 @@ interface PinchZoomToolOpts {
3188
3202
  * applies a per-frame delta to the view the previous move produced, and the
3189
3203
  * canvas does not re-render between them.
3190
3204
  */
3191
- declare function usePinchZoomTool(canvasRef: React.RefObject<HTMLCanvasElement | null>, getView: () => View, setView: (v: View) => void, opts?: PinchZoomToolOpts): void;
3205
+ declare function usePinchZoomTool(canvasRef: React.RefObject<HTMLElement | null>, getView: () => View, setView: (v: View) => void, opts?: PinchZoomToolOpts): void;
3192
3206
 
3193
3207
  /**
3194
3208
  * In-progress pen anchor. `outHandle` is set when the anchor was placed via
@@ -3595,10 +3609,22 @@ interface CustomLayerEntry {
3595
3609
  * @public
3596
3610
  */
3597
3611
  interface CanvasExtensionApi {
3598
- /** The underlying HTMLCanvasElement. Null until the canvas mounts.
3599
- * Use this for screenshots, getBoundingClientRect, focus management, etc.
3600
- * (Replaces the pre-A2 pattern where `ref.current` directly *was* the element.) */
3601
- readonly element: HTMLCanvasElement | null;
3612
+ /** Where pointer input, focus and the cursor live, and the element every
3613
+ * client→world conversion measures. Null until the canvas mounts.
3614
+ * Use this for `getBoundingClientRect` and focus management.
3615
+ *
3616
+ * Normally the `<canvas>` the component renders, so `element === surface`.
3617
+ * Under `paintInto` it is the caller's `inputElement` instead — a plain box
3618
+ * over one pane of a shared surface — so use {@link surface} for anything
3619
+ * that needs the pixels. */
3620
+ readonly element: HTMLElement | null;
3621
+ /** The canvas pixels land on — for screenshots and readback. Null until the
3622
+ * canvas mounts.
3623
+ *
3624
+ * Under `paintInto` this is the caller's shared canvas, which co-tenant
3625
+ * panes also paint into: its rect is the whole surface, not this pane's, so
3626
+ * read geometry off {@link element} rather than off this. */
3627
+ readonly surface: HTMLCanvasElement | null;
3602
3628
  requestRedraw(): void;
3603
3629
  /**
3604
3630
  * Run `fn` after every paint, on the frame that painted — for chrome that
@@ -4515,7 +4541,30 @@ interface CanvasProps<TNode extends {
4515
4541
  * default `(clientX - canvasRect.left) / scale + pan` calculation. Useful
4516
4542
  * for consumers that apply an additional CSS transform to the canvas element.
4517
4543
  */
4518
- clientToWorld?: (canvas: HTMLCanvasElement, cx: number, cy: number) => [number, number];
4544
+ clientToWorld?: (canvas: HTMLElement, cx: number, cy: number) => [number, number];
4545
+ /**
4546
+ * Paint into a caller-owned canvas at a rect on it, instead of an element
4547
+ * this component creates. `x`/`y` are the rect's top-left in that canvas's
4548
+ * CSS pixels; the rect's size is the existing `width`/`height` props.
4549
+ *
4550
+ * Requires `inputElement`: with no element of its own there is nowhere for
4551
+ * pointer input, focus or the cursor to live, and nothing renders.
4552
+ *
4553
+ * N canvases can then share one GL context and one buffer. Each needs its
4554
+ * own `<WeaselProvider isolate>` — under a shared `<ActionsProvider>` only
4555
+ * the newest responds to input and the rest go silently dead.
4556
+ */
4557
+ paintInto?: {
4558
+ canvas: HTMLCanvasElement | null;
4559
+ x: number;
4560
+ y: number;
4561
+ };
4562
+ /**
4563
+ * The element pointer input, focus and the cursor come from, and the element
4564
+ * every client→world conversion measures. Only read alongside `paintInto`;
4565
+ * an attached canvas uses the one it renders.
4566
+ */
4567
+ inputElement?: HTMLElement | null;
4519
4568
  className?: string;
4520
4569
  style?: React__default.CSSProperties;
4521
4570
  tabIndex?: number;
@@ -5641,9 +5690,92 @@ declare const SceneCanvas: <TData, TLayer extends string, TPose>(props: SceneCan
5641
5690
  ref?: React__default.Ref<SceneCanvasApi>;
5642
5691
  }) => ReturnType<typeof SceneCanvasInner>;
5643
5692
 
5693
+ /** Which of the host's edges the panel is held against, per axis. */
5694
+ interface HostAnchorAlign {
5695
+ x: PlacementAlign;
5696
+ y: PlacementAlign;
5697
+ }
5698
+ /** Inset from the anchored corner, in CSS pixels, positive going inward. */
5699
+ interface HostAnchorOffset {
5700
+ x: number;
5701
+ y: number;
5702
+ }
5703
+ /** Everything {@link hostAnchorRect} needs, all in viewport coordinates. */
5704
+ interface HostAnchorInput {
5705
+ host: Rect;
5706
+ panel: {
5707
+ width: number;
5708
+ height: number;
5709
+ };
5710
+ viewport: {
5711
+ width: number;
5712
+ height: number;
5713
+ };
5714
+ align: HostAnchorAlign;
5715
+ offset: HostAnchorOffset;
5716
+ /** Minimum gap kept between the panel and the viewport edge. Default 0. */
5717
+ padding?: number;
5718
+ }
5719
+ /**
5720
+ * Where a fixed-position panel held against a host element's corner lands, once
5721
+ * it has been kept inside the viewport. Returns a rect rather than CSS so the
5722
+ * caller decides which edges to pin — see {@link hostAnchorCss}.
5723
+ */
5724
+ declare function hostAnchorRect(input: HostAnchorInput): Rect;
5725
+ /**
5726
+ * CSS for a resolved rect, pinning whichever edges the alignment names.
5727
+ *
5728
+ * Pinning matters beyond taste: a panel whose width tracks its content holds
5729
+ * the anchored edge still and grows away from it. Pin the wrong edge and the
5730
+ * anchored corner drifts on every content change, correcting only once a
5731
+ * resize observer catches up.
5732
+ */
5733
+ declare function hostAnchorCss(rect: Rect, align: HostAnchorAlign, viewport: {
5734
+ width: number;
5735
+ height: number;
5736
+ }): {
5737
+ top?: number;
5738
+ right?: number;
5739
+ bottom?: number;
5740
+ left?: number;
5741
+ };
5742
+
5743
+ /** Options for {@link useHostAnchor}. */
5744
+ interface UseHostAnchorOptions {
5745
+ align: HostAnchorAlign;
5746
+ offset: HostAnchorOffset;
5747
+ /** Minimum gap kept between the panel and the viewport edge. Default 0. */
5748
+ padding?: number;
5749
+ }
5750
+ /** CSS the caller spreads onto the panel; which edges appear follows `align`. */
5751
+ type HostAnchorStyle = {
5752
+ top?: number;
5753
+ right?: number;
5754
+ bottom?: number;
5755
+ left?: number;
5756
+ };
5757
+ /**
5758
+ * Hold a fixed-position panel against a host element's corner, kept inside the
5759
+ * viewport, following it through scrolls, resizes and reflows.
5760
+ *
5761
+ * `resolveHost` runs on every recompute, so a host that mounts late or is found
5762
+ * by selector works the same as one held in a ref. Put the returned `ref` on the
5763
+ * panel: until it is measured the panel counts as zero-sized, which resolves to
5764
+ * the bare corner, so the first paint lands where an unclamped anchor would and
5765
+ * measurement only ever pulls it back on screen.
5766
+ */
5767
+ declare function useHostAnchor(resolveHost: () => Element | null, options: UseHostAnchorOptions): {
5768
+ ref: (el: HTMLElement | null) => void;
5769
+ style: HostAnchorStyle | null;
5770
+ };
5771
+
5644
5772
  /** Props for `<CursorCoordsHud>`. */
5645
5773
  interface CursorCoordsHudProps {
5646
- canvasRef: React.RefObject<HTMLCanvasElement | null>;
5774
+ canvasRef: React.RefObject<HTMLElement | null>;
5775
+ /** Element the HUD pins its corner to. Defaults to the canvas's parent — the
5776
+ * wrapper a bare `<canvas>` sits in. A detached canvas passes its own input
5777
+ * box, whose parent is the shared surface every pane sits in. */
5778
+ anchorRef?: React.RefObject<HTMLElement | null>;
5647
5779
  viewRef: React.RefObject<View>;
5648
5780
  /** Inset from the canvas's top-right corner, in px. Default 8 on both axes. */
5649
5781
  offset?: {
@@ -5653,11 +5785,15 @@ interface CursorCoordsHudProps {
5653
5785
  }
5654
5786
  /** Debug overlay showing the pointer's client and world coordinates and the
5655
5787
  * current frame rate, pinned to the canvas's top-right corner. */
5656
- declare function CursorCoordsHud({ canvasRef, viewRef, offset }: CursorCoordsHudProps): react_jsx_runtime.JSX.Element | null;
5788
+ declare function CursorCoordsHud({ canvasRef, anchorRef, viewRef, offset }: CursorCoordsHudProps): react_jsx_runtime.JSX.Element | null;
5657
5789
 
5658
5790
  /** Props for `<PickHud>`. */
5659
5791
  interface PickHudProps {
5660
- canvasRef: React.RefObject<HTMLCanvasElement | null>;
5792
+ canvasRef: React.RefObject<HTMLElement | null>;
5793
+ /** Element the HUD pins its corner to. Defaults to the canvas's parent — the
5794
+ * wrapper a bare `<canvas>` sits in. A detached canvas passes its own input
5795
+ * box, whose parent is the shared surface every pane sits in. */
5796
+ anchorRef?: React.RefObject<HTMLElement | null>;
5661
5797
  viewRef: React.RefObject<View>;
5662
5798
  /** World-space hit-test. Same shape as `useSelectTool`'s `pickEvery`. */
5663
5799
  pickEvery: (worldX: number, worldY: number) => readonly string[];
@@ -5673,7 +5809,7 @@ interface PickHudProps {
5673
5809
  }
5674
5810
  /** Debug overlay listing every node under the pointer, with the one a click
5675
5811
  * would actually select shown in bold. */
5676
- declare function PickHud({ canvasRef, viewRef, pickEvery, pickBest, offset }: PickHudProps): react_jsx_runtime.JSX.Element | null;
5812
+ declare function PickHud({ canvasRef, anchorRef, viewRef, pickEvery, pickBest, offset }: PickHudProps): react_jsx_runtime.JSX.Element | null;
5677
5813
 
5678
5814
  /**
5679
5815
  * imageCache — the kit's per-`src` image loader + cache.
@@ -6329,17 +6465,30 @@ declare function DepRegistryProviderIfRoot({ children }: {
6329
6465
  children: ReactNode;
6330
6466
  }): react_jsx_runtime.JSX.Element;
6331
6467
 
6468
+ interface WeaselProviderProps {
6469
+ children: ReactNode;
6470
+ /**
6471
+ * Mount every provider unconditionally rather than deferring to one already
6472
+ * in scope.
6473
+ *
6474
+ * An actions registry holds one dispatcher, so a second `<SceneCanvas>`
6475
+ * joining a scope displaces the first and takes its input away. Two canvases
6476
+ * on one page each want their own scope; wrap each in an isolated provider.
6477
+ * The cost is that they share nothing — a toolbar outside both can drive
6478
+ * neither.
6479
+ */
6480
+ isolate?: boolean;
6481
+ }
6332
6482
  /**
6333
6483
  * Mounts every kit-wide provider at once — deps, actions, active tool,
6334
- * selection and pointer — each only if one is not already in scope.
6484
+ * selection and pointer — each only if one is not already in scope, or
6485
+ * unconditionally under `isolate`.
6335
6486
  *
6336
6487
  * `<SceneCanvas>` does this for itself, so this is for the case where kit
6337
6488
  * state has to be shared by things outside a canvas: a toolbar, a property
6338
6489
  * panel, or two canvases that should agree on the selection.
6339
6490
  */
6340
- declare function WeaselProvider({ children }: {
6341
- children: ReactNode;
6342
- }): react_jsx_runtime.JSX.Element;
6491
+ declare function WeaselProvider({ children, isolate }: WeaselProviderProps): react_jsx_runtime.JSX.Element;
6343
6492
 
6344
6493
  /** Options for `useCanvasFocus`. */
6345
6494
  interface UseCanvasFocusOptions {
@@ -7845,6 +7994,13 @@ declare class PathBuilder {
7845
7994
  }
7846
7995
  /** Construct a `RectPath` (the fast-path subtype). */
7847
7996
  declare function rectPath(x: number, y: number, width: number, height: number): RectPath;
7997
+ /** Build an open polyline from a flat list of points — the same geometry as
7998
+ * {@link polygonFromPoints} without the closing edge. A freehand stroke and a
7999
+ * measurement line want this; a region wants the closed one. */
8000
+ declare function polylineFromPoints(points: readonly {
8001
+ x: number;
8002
+ y: number;
8003
+ }[]): PolygonPath | RectPath;
7848
8004
  /** Build a closed polygon from a flat list of points. */
7849
8005
  declare function polygonFromPoints(points: readonly {
7850
8006
  x: number;
@@ -9904,121 +10060,6 @@ declare const DEFAULT_DEBUG_THEME: DebugTheme;
9904
10060
  */
9905
10061
  declare const DEFAULT_DEBUG_STROKES: DebugStrokes;
9906
10062
 
9907
- /** No easing: constant rate from start to finish. */
9908
- declare const linear: EasingFn;
9909
- /** Accelerates from a standstill, gently. */
9910
- declare const easeInQuad: EasingFn;
9911
- /** Decelerates to a stop, gently. The safe default for UI motion. */
9912
- declare const easeOutQuad: EasingFn;
9913
- /** Accelerates then decelerates, gently. */
9914
- declare const easeInOutQuad: EasingFn;
9915
- /** Accelerates from a standstill, moderately. */
9916
- declare const easeInCubic: EasingFn;
9917
- /** Decelerates to a stop, moderately. */
9918
- declare const easeOutCubic: EasingFn;
9919
- /** Accelerates then decelerates, moderately. */
9920
- declare const easeInOutCubic: EasingFn;
9921
- /** Accelerates from a standstill, sharply. */
9922
- declare const easeInQuart: EasingFn;
9923
- /** Decelerates to a stop, sharply. */
9924
- declare const easeOutQuart: EasingFn;
9925
- /** Accelerates then decelerates, sharply. */
9926
- declare const easeInOutQuart: EasingFn;
9927
- /** Accelerates from a standstill, very sharply. */
9928
- declare const easeInQuint: EasingFn;
9929
- /** Decelerates to a stop, very sharply. */
9930
- declare const easeOutQuint: EasingFn;
9931
- /** Accelerates then decelerates, very sharply. */
9932
- declare const easeInOutQuint: EasingFn;
9933
- /** Accelerates from a standstill along a sine curve — the mildest
9934
- * acceleration of the built-ins. */
9935
- declare const easeInSine: EasingFn;
9936
- /** Decelerates to a stop along a sine curve — the mildest
9937
- * deceleration of the built-ins. */
9938
- declare const easeOutSine: EasingFn;
9939
- /** Accelerates then decelerates along a sine curve. */
9940
- declare const easeInOutSine: EasingFn;
9941
- /** Accelerates exponentially: barely moves at first, then rushes. */
9942
- declare const easeInExpo: EasingFn;
9943
- /** Decelerates exponentially: leaps away, then creeps in. */
9944
- declare const easeOutExpo: EasingFn;
9945
- /** Exponential at both ends — a very fast middle between two
9946
- * near-still extremes. */
9947
- declare const easeInOutExpo: EasingFn;
9948
- /** Accelerates along a circular arc: slow start, abrupt arrival. */
9949
- declare const easeInCirc: EasingFn;
9950
- /** Decelerates along a circular arc: abrupt start, slow arrival. */
9951
- declare const easeOutCirc: EasingFn;
9952
- /** Circular arcs at both ends. */
9953
- declare const easeInOutCirc: EasingFn;
9954
- /** Pulls back past the start before moving forward. Overshoots below 0. */
9955
- declare const easeInBack: EasingFn;
9956
- /** Overshoots the target, then settles back onto it. Exceeds 1. */
9957
- declare const easeOutBack: EasingFn;
9958
- /** Overshoots at both ends. Leaves the 0–1 range on each side. */
9959
- declare const easeInOutBack: EasingFn;
9960
- /** Oscillates around the start with growing amplitude, then snaps away. */
9961
- declare const easeInElastic: EasingFn;
9962
- /** Springs past the target and wobbles into it. Exceeds 1. */
9963
- declare const easeOutElastic: EasingFn;
9964
- /** Wobbles at both ends. Leaves the 0–1 range on each side. */
9965
- declare const easeInOutElastic: EasingFn;
9966
- /** Lands on the target and bounces, in hops of decreasing height. */
9967
- declare const easeOutBounce: EasingFn;
9968
- /** Bounces up to the start before departing — `easeOutBounce` reversed. */
9969
- declare const easeInBounce: EasingFn;
9970
- /** Bounces at both ends. */
9971
- declare const easeInOutBounce: EasingFn;
9972
- /** Alias for `easeInQuad`, kept for call sites that predate the
9973
- * named-curve library. */
9974
- declare const easeIn: EasingFn;
9975
- /** Alias for `easeOutQuad`, kept for call sites that predate the
9976
- * named-curve library. */
9977
- declare const easeOut: EasingFn;
9978
- /** Alias for `easeInOutQuad`, kept for call sites that predate the
9979
- * named-curve library. */
9980
- declare const easeInOut: EasingFn;
9981
- /** All easings in one bag — useful for demos / pickers. */
9982
- declare const EASINGS: {
9983
- readonly linear: EasingFn;
9984
- readonly easeInQuad: EasingFn;
9985
- readonly easeOutQuad: EasingFn;
9986
- readonly easeInOutQuad: EasingFn;
9987
- readonly easeInCubic: EasingFn;
9988
- readonly easeOutCubic: EasingFn;
9989
- readonly easeInOutCubic: EasingFn;
9990
- readonly easeInQuart: EasingFn;
9991
- readonly easeOutQuart: EasingFn;
9992
- readonly easeInOutQuart: EasingFn;
9993
- readonly easeInQuint: EasingFn;
9994
- readonly easeOutQuint: EasingFn;
9995
- readonly easeInOutQuint: EasingFn;
9996
- readonly easeInSine: EasingFn;
9997
- readonly easeOutSine: EasingFn;
9998
- readonly easeInOutSine: EasingFn;
9999
- readonly easeInExpo: EasingFn;
10000
- readonly easeOutExpo: EasingFn;
10001
- readonly easeInOutExpo: EasingFn;
10002
- readonly easeInCirc: EasingFn;
10003
- readonly easeOutCirc: EasingFn;
10004
- readonly easeInOutCirc: EasingFn;
10005
- readonly easeInBack: EasingFn;
10006
- readonly easeOutBack: EasingFn;
10007
- readonly easeInOutBack: EasingFn;
10008
- readonly easeInElastic: EasingFn;
10009
- readonly easeOutElastic: EasingFn;
10010
- readonly easeInOutElastic: EasingFn;
10011
- readonly easeInBounce: EasingFn;
10012
- readonly easeOutBounce: EasingFn;
10013
- readonly easeInOutBounce: EasingFn;
10014
- };
10015
- /** The name of one of the built-in easing curves. */
10016
- type EasingName = keyof typeof EASINGS;
10017
- /** Named spring tunings, from softest to firmest. Springs settle on a target
10018
- * rather than running for a fixed duration, so these are an alternative to an
10019
- * easing curve, not a modifier on one. */
10020
- declare const SPRING_PRESETS: Record<SpringPresetName, SpringPreset>;
10021
-
10022
10063
  /** Create the animator for a canvas. One rAF loop drives every animation it
10023
10064
  * owns, and everything still running is cancelled on unmount. */
10024
10065
  declare function useAnimator(opts?: UseAnimatorOptions): Animator;
@@ -10028,7 +10069,7 @@ interface TweenPoseOptions<TPose> {
10028
10069
  id: string;
10029
10070
  to: TPose;
10030
10071
  ms: number;
10031
- easing?: EasingFn;
10072
+ easing?: EasingSpec;
10032
10073
  /** Pose descriptor with a `lerp(from, to, t)` method. Defaults to
10033
10074
  * `RECT_POSE_DESCRIPTOR`, which interpolates x/y/width/height linearly. */
10034
10075
  geometry?: PoseProjection<TPose>;
@@ -10074,7 +10115,7 @@ declare function springPose<TNode extends {
10074
10115
  interface AnimateOnSetPoseOptions<TPose> {
10075
10116
  /** Default: 200ms tween with easeOut. */
10076
10117
  ms?: number;
10077
- easing?: EasingFn;
10118
+ easing?: EasingSpec;
10078
10119
  /** Use a spring instead of a duration tween. Mutually exclusive with ms/easing. */
10079
10120
  spring?: {
10080
10121
  preset?: SpringPresetName;
@@ -10122,7 +10163,7 @@ interface LifecycleAnimation<TPose> {
10122
10163
  /** Pose to animate the existing object TO at remove. */
10123
10164
  exitTo?: (current: TPose) => TPose;
10124
10165
  ms?: number;
10125
- easing?: EasingFn;
10166
+ easing?: EasingSpec;
10126
10167
  geometry?: PoseProjection<TPose>;
10127
10168
  }
10128
10169
  /** Wrap an adapter so inserts and removals animate — the scene-graph
@@ -10231,7 +10272,7 @@ interface TweenVertexColorsOptions {
10231
10272
  * and be a positive multiple of 4. */
10232
10273
  from: readonly number[];
10233
10274
  ms: number;
10234
- easing?: EasingFn;
10275
+ easing?: EasingSpec;
10235
10276
  interpolation?: ColorSpace;
10236
10277
  interpolate?: ColorInterpolate;
10237
10278
  onDone?: () => void;
@@ -10271,7 +10312,7 @@ interface CycleVertexColorsOptions {
10271
10312
  channel: VertexColorChannel;
10272
10313
  msPerCycle: number;
10273
10314
  direction?: 1 | -1;
10274
- easing?: EasingFn;
10315
+ easing?: EasingSpec;
10275
10316
  interpolation?: ColorSpace;
10276
10317
  /** Custom interpolator. Receives two RGBA arrays in 0..1 floats and a
10277
10318
  * progress `t` in 0..1; returns the blended array in 0..1 floats. */
@@ -10307,7 +10348,7 @@ interface StaggerVertexColorsOptions {
10307
10348
  anchorMs: number;
10308
10349
  perAnchorDelay: number;
10309
10350
  origin?: 'first' | 'last' | number;
10310
- easing?: EasingFn;
10351
+ easing?: EasingSpec;
10311
10352
  interpolation?: ColorSpace;
10312
10353
  interpolate?: ColorInterpolate;
10313
10354
  onDone?: () => void;
@@ -10571,6 +10612,15 @@ declare function EyedropperIcon({ className, size }: IconProps): react_jsx_runti
10571
10612
  /** Diagonal line. Used for the line insertion tool. */
10572
10613
  declare function LineIcon({ className, size }: IconProps): react_jsx_runtime.JSX.Element;
10573
10614
 
10615
+ /** `LineIcon`'s diagonal with a filled head, so the two read as one tool with
10616
+ * and without the marker. Used for the arrow insertion tool.
10617
+ *
10618
+ * The head is filled rather than an open V: at 16px an open V's barbs merge
10619
+ * under antialiasing and the notch disappears, leaving a blob. Its base
10620
+ * corners are `tip ∓ 5.6·d ± 2.1·d⊥` — computed, and the shaft stops half a
10621
+ * unit inside the base so its round cap hides under the fill. */
10622
+ declare function ArrowIcon({ className, size }: IconProps): react_jsx_runtime.JSX.Element;
10623
+
10574
10624
  /** Outlined hexagon. Used for the polygon insertion tool. */
10575
10625
  declare function PolygonIcon({ className, size }: IconProps): react_jsx_runtime.JSX.Element;
10576
10626
 
@@ -10656,4 +10706,4 @@ interface InsertOverlayStyle {
10656
10706
  lineWidth?: number;
10657
10707
  }
10658
10708
 
10659
- 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, 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_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, EASINGS, EasingFn, type EasingName, 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, 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, SPRING_PRESETS, 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, SpringPreset, 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 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, easeIn, easeInBack, easeInBounce, easeInCirc, easeInCubic, easeInElastic, easeInExpo, easeInOut, easeInOutBack, easeInOutBounce, easeInOutCirc, easeInOutCubic, easeInOutElastic, easeInOutExpo, easeInOutQuad, easeInOutQuart, easeInOutQuint, easeInOutSine, easeInQuad, easeInQuart, easeInQuint, easeInSine, easeOut, easeOutBack, easeOutBounce, easeOutCirc, easeOutCubic, easeOutElastic, easeOutExpo, easeOutQuad, easeOutQuart, easeOutQuint, easeOutSine, 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, hovering, hoveringSelected, imageStatus, inferredNodeProperties, inferredNodeRouting, insertAction, interpolateView, isBuiltinToolPref, isDebugEnabled, isEditableTarget, isGradientFill, isPatternSpec, keySpecShortcut, lassoSelectAction, lerpColorArray, lerpOklab, lerpOklch, linePath, linear, 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, 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, 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 };
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 };