@xenosystem/blocks 0.22.0 → 0.23.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.
@@ -6,13 +6,15 @@ import {
6
6
  quoteLiteral,
7
7
  renderFilterGroup
8
8
  } from "../chunk-DJJGZ6U4.js";
9
+ import {
10
+ ICONS
11
+ } from "../chunk-YZ6J6A67.js";
9
12
  import {
10
13
  ChevronGlyph,
11
- ICONS,
12
14
  RefreshGlyph,
13
15
  SortAscGlyph,
14
16
  SortDescGlyph
15
- } from "../chunk-6ZIWULSK.js";
17
+ } from "../chunk-YSMDUREC.js";
16
18
  import "../chunk-2KG3PWR4.js";
17
19
 
18
20
  // src/data/table/panel.ts
@@ -4,6 +4,167 @@ export { DropPosition, DropTarget } from '@xenosystem/tree-core';
4
4
  import * as react from 'react';
5
5
  import { ReactElement, ReactNode } from 'react';
6
6
  import { XenoTimebase, XenoTick } from '@xenosystem/time-core';
7
+ import { a as XenoGraphZoom, b as XenoGraphScale } from '../scale-XiQwxiFA.js';
8
+ export { D as DEFAULT_GRAPH_ZOOM, c as XenoGraphScaleGeometry, X as XenoGraphScaleState, f as fitToBounds, g as graphBounds, z as zoomAboutCursor } from '../scale-XiQwxiFA.js';
9
+
10
+ /**
11
+ * `XenoCurveScale` — **the only thing in this package that converts between pixels and data.**
12
+ *
13
+ * The x-axis discipline is deliberately the same as `@xenosystem/panel-timeline`'s `XenoTimeScale`, and is
14
+ * **copied with attribution rather than shared**: the semantics differ enough that one type would be
15
+ * two things wearing one name. This scale is 2D, its y-axis is *inverted* (screen y grows downward
16
+ * while value grows upward), it carries an auto-fit, and its horizontal gutter is a value-axis
17
+ * label column rather than a track header.
18
+ *
19
+ * What is kept verbatim, because it is right in both:
20
+ *
21
+ * - The gutter lives **inside the scale**, so no caller has to remember to subtract it. Forgetting
22
+ * is what makes content slide under the cursor on every zoom notch.
23
+ * - State is `(pxPerTick, scrollTick)`, never `(startTick, endTick)` — edge pairs lose precision
24
+ * catastrophically under repeated zoom.
25
+ * - Every dimension is clamped at the single construction site, so a collapsed container cannot
26
+ * poison the scale with a sticky NaN.
27
+ *
28
+ * @module
29
+ */
30
+ /** The visible window, on both axes. */
31
+ interface XenoCurveScaleState {
32
+ /** Horizontal zoom. */
33
+ pxPerTick: number;
34
+ /** Tick at the left edge of the plot area. */
35
+ scrollTick: number;
36
+ /** Value at the BOTTOM of the plot area. */
37
+ minValue: number;
38
+ /** Value at the TOP of the plot area. */
39
+ maxValue: number;
40
+ }
41
+ /** Container geometry. */
42
+ interface XenoCurveScaleGeometry {
43
+ widthPx: number;
44
+ heightPx: number;
45
+ /** Width of the value-axis label column. */
46
+ gutterPx: number;
47
+ /** Height of the time ruler at the top. */
48
+ rulerPx: number;
49
+ }
50
+ /** Zoom bounds, px per tick. */
51
+ interface XenoCurveZoom {
52
+ min: number;
53
+ max: number;
54
+ }
55
+ /** Default horizontal zoom range. */
56
+ declare const DEFAULT_CURVE_ZOOM: XenoCurveZoom;
57
+ /** An immutable 2D data→view mapping. */
58
+ declare class XenoCurveScale {
59
+ readonly pxPerTick: number;
60
+ readonly scrollTick: number;
61
+ readonly minValue: number;
62
+ readonly maxValue: number;
63
+ readonly widthPx: number;
64
+ readonly heightPx: number;
65
+ readonly gutterPx: number;
66
+ readonly rulerPx: number;
67
+ constructor(state: XenoCurveScaleState, geometry: XenoCurveScaleGeometry);
68
+ /** Width of the plot area. Always ≥ 1. */
69
+ get plotPx(): number;
70
+ /** Height of the plot area. Always ≥ 1. */
71
+ get plotHeightPx(): number;
72
+ /** Ticks visible. */
73
+ get spanTicks(): number;
74
+ /** Tick at the right edge. */
75
+ get endTick(): number;
76
+ /** Value units per pixel. */
77
+ get valuePerPx(): number;
78
+ /** Container-relative x → tick. */
79
+ xToTick(x: number): number;
80
+ /** Tick → container-relative x. */
81
+ tickToX(tick: number): number;
82
+ /**
83
+ * Container-relative y → value.
84
+ *
85
+ * **Inverted.** Screen y grows downward, value grows upward. Every sign error in a graph editor
86
+ * lives on this one line.
87
+ */
88
+ yToValue(y: number): number;
89
+ /** Value → container-relative y. */
90
+ valueToY(value: number): number;
91
+ /**
92
+ * A tick DURATION → a pixel width.
93
+ *
94
+ * Separate from {@link tickToX}, because rounding is not associative: mixing
95
+ * `durationToPx(b - a)` with `tickToX(b) - tickToX(a)` puts a curve's handle a pixel off its key
96
+ * at some zoom levels and not others.
97
+ */
98
+ durationToPx(ticks: number): number;
99
+ /** A value DELTA → a pixel height. Sign-preserving and NOT inverted. */
100
+ valueDeltaToPx(delta: number): number;
101
+ /** A pixel distance → a tick distance. For screen-space thresholds. */
102
+ pxToTicks(px: number): number;
103
+ /** A pixel distance → a value distance. For screen-space thresholds. */
104
+ pxToValue(px: number): number;
105
+ /** Is this point inside the plot area? */
106
+ isInPlot(x: number, y: number): boolean;
107
+ /** A copy with new state. */
108
+ with(state: Partial<XenoCurveScaleState>): XenoCurveScale;
109
+ /** A copy with new geometry. */
110
+ resized(geometry: Partial<XenoCurveScaleGeometry>): XenoCurveScale;
111
+ }
112
+ /**
113
+ * Zoom the time axis about a cursor, keeping the tick under the pointer fixed.
114
+ *
115
+ * The factor comes from the **clamped** zoom, not the requested one — deriving scroll from a zoom
116
+ * that was then clamped moves the content under a stationary cursor at both ends of the range.
117
+ *
118
+ * @param scale - Current scale.
119
+ * @param x - Container-relative pointer x.
120
+ * @param factor - Requested multiplier.
121
+ * @param bounds - Zoom limits.
122
+ * @returns New state.
123
+ */
124
+ declare function zoomTimeAboutCursor(scale: XenoCurveScale, x: number, factor: number, bounds?: XenoCurveZoom): XenoCurveScaleState;
125
+ /**
126
+ * Zoom the value axis about a cursor.
127
+ *
128
+ * Separate from the time axis on purpose: a curve editor is routinely zoomed hard on one axis and
129
+ * not the other — a long slow fade wants a wide time window and a tight value window. Tools that
130
+ * couple the axes make that impossible.
131
+ *
132
+ * @param scale - Current scale.
133
+ * @param y - Container-relative pointer y.
134
+ * @param factor - Multiplier. `> 1` zooms in (a smaller value range).
135
+ * @returns New state.
136
+ */
137
+ declare function zoomValueAboutCursor(scale: XenoCurveScale, y: number, factor: number): XenoCurveScaleState;
138
+ /**
139
+ * Normalize a wheel delta into a zoom factor.
140
+ *
141
+ * Clamped to ±10 first: a trackpad flick delivers a delta in the hundreds, and feeding that to an
142
+ * exponential zooms by orders of magnitude in one frame.
143
+ */
144
+ declare function wheelZoomFactor(deltaY: number, sensitivity?: number): number;
145
+ /**
146
+ * Fit a value range into the plot with margin.
147
+ *
148
+ * 🔴 The margin is a **fraction of the range plus an absolute floor**. A pure fraction collapses to
149
+ * nothing on a flat curve — where the range is already degenerate and margin matters most.
150
+ *
151
+ * @param extent - The measured range.
152
+ * @param marginFraction - Padding as a fraction of the range. Default 0.1.
153
+ * @returns Fitted min and max.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * fitValueRange({ min: 0, max: 100 }) // → { minValue: -10, maxValue: 110 }
158
+ * fitValueRange({ min: 5, max: 5 }) // → a usable window, not a zero-height one
159
+ * ```
160
+ */
161
+ declare function fitValueRange(extent: {
162
+ min: number;
163
+ max: number;
164
+ } | null, marginFraction?: number): {
165
+ minValue: number;
166
+ maxValue: number;
167
+ };
7
168
 
8
169
  /**
9
170
  * The canonical Layers wire contract (union spec §3): `XenoLayerTree` in, `XenoLayerOp` out.
@@ -3000,165 +3161,6 @@ declare const BEHAVIOURS$6: {
3000
3161
  };
3001
3162
  declare const COLOR_DECLARATION: BlockDeclaration;
3002
3163
 
3003
- /**
3004
- * `XenoCurveScale` — **the only thing in this package that converts between pixels and data.**
3005
- *
3006
- * The x-axis discipline is deliberately the same as `@xenosystem/panel-timeline`'s `XenoTimeScale`, and is
3007
- * **copied with attribution rather than shared**: the semantics differ enough that one type would be
3008
- * two things wearing one name. This scale is 2D, its y-axis is *inverted* (screen y grows downward
3009
- * while value grows upward), it carries an auto-fit, and its horizontal gutter is a value-axis
3010
- * label column rather than a track header.
3011
- *
3012
- * What is kept verbatim, because it is right in both:
3013
- *
3014
- * - The gutter lives **inside the scale**, so no caller has to remember to subtract it. Forgetting
3015
- * is what makes content slide under the cursor on every zoom notch.
3016
- * - State is `(pxPerTick, scrollTick)`, never `(startTick, endTick)` — edge pairs lose precision
3017
- * catastrophically under repeated zoom.
3018
- * - Every dimension is clamped at the single construction site, so a collapsed container cannot
3019
- * poison the scale with a sticky NaN.
3020
- *
3021
- * @module
3022
- */
3023
- /** The visible window, on both axes. */
3024
- interface XenoCurveScaleState {
3025
- /** Horizontal zoom. */
3026
- pxPerTick: number;
3027
- /** Tick at the left edge of the plot area. */
3028
- scrollTick: number;
3029
- /** Value at the BOTTOM of the plot area. */
3030
- minValue: number;
3031
- /** Value at the TOP of the plot area. */
3032
- maxValue: number;
3033
- }
3034
- /** Container geometry. */
3035
- interface XenoCurveScaleGeometry {
3036
- widthPx: number;
3037
- heightPx: number;
3038
- /** Width of the value-axis label column. */
3039
- gutterPx: number;
3040
- /** Height of the time ruler at the top. */
3041
- rulerPx: number;
3042
- }
3043
- /** Zoom bounds, px per tick. */
3044
- interface XenoCurveZoom {
3045
- min: number;
3046
- max: number;
3047
- }
3048
- /** Default horizontal zoom range. */
3049
- declare const DEFAULT_CURVE_ZOOM: XenoCurveZoom;
3050
- /** An immutable 2D data→view mapping. */
3051
- declare class XenoCurveScale {
3052
- readonly pxPerTick: number;
3053
- readonly scrollTick: number;
3054
- readonly minValue: number;
3055
- readonly maxValue: number;
3056
- readonly widthPx: number;
3057
- readonly heightPx: number;
3058
- readonly gutterPx: number;
3059
- readonly rulerPx: number;
3060
- constructor(state: XenoCurveScaleState, geometry: XenoCurveScaleGeometry);
3061
- /** Width of the plot area. Always ≥ 1. */
3062
- get plotPx(): number;
3063
- /** Height of the plot area. Always ≥ 1. */
3064
- get plotHeightPx(): number;
3065
- /** Ticks visible. */
3066
- get spanTicks(): number;
3067
- /** Tick at the right edge. */
3068
- get endTick(): number;
3069
- /** Value units per pixel. */
3070
- get valuePerPx(): number;
3071
- /** Container-relative x → tick. */
3072
- xToTick(x: number): number;
3073
- /** Tick → container-relative x. */
3074
- tickToX(tick: number): number;
3075
- /**
3076
- * Container-relative y → value.
3077
- *
3078
- * **Inverted.** Screen y grows downward, value grows upward. Every sign error in a graph editor
3079
- * lives on this one line.
3080
- */
3081
- yToValue(y: number): number;
3082
- /** Value → container-relative y. */
3083
- valueToY(value: number): number;
3084
- /**
3085
- * A tick DURATION → a pixel width.
3086
- *
3087
- * Separate from {@link tickToX}, because rounding is not associative: mixing
3088
- * `durationToPx(b - a)` with `tickToX(b) - tickToX(a)` puts a curve's handle a pixel off its key
3089
- * at some zoom levels and not others.
3090
- */
3091
- durationToPx(ticks: number): number;
3092
- /** A value DELTA → a pixel height. Sign-preserving and NOT inverted. */
3093
- valueDeltaToPx(delta: number): number;
3094
- /** A pixel distance → a tick distance. For screen-space thresholds. */
3095
- pxToTicks(px: number): number;
3096
- /** A pixel distance → a value distance. For screen-space thresholds. */
3097
- pxToValue(px: number): number;
3098
- /** Is this point inside the plot area? */
3099
- isInPlot(x: number, y: number): boolean;
3100
- /** A copy with new state. */
3101
- with(state: Partial<XenoCurveScaleState>): XenoCurveScale;
3102
- /** A copy with new geometry. */
3103
- resized(geometry: Partial<XenoCurveScaleGeometry>): XenoCurveScale;
3104
- }
3105
- /**
3106
- * Zoom the time axis about a cursor, keeping the tick under the pointer fixed.
3107
- *
3108
- * The factor comes from the **clamped** zoom, not the requested one — deriving scroll from a zoom
3109
- * that was then clamped moves the content under a stationary cursor at both ends of the range.
3110
- *
3111
- * @param scale - Current scale.
3112
- * @param x - Container-relative pointer x.
3113
- * @param factor - Requested multiplier.
3114
- * @param bounds - Zoom limits.
3115
- * @returns New state.
3116
- */
3117
- declare function zoomTimeAboutCursor(scale: XenoCurveScale, x: number, factor: number, bounds?: XenoCurveZoom): XenoCurveScaleState;
3118
- /**
3119
- * Zoom the value axis about a cursor.
3120
- *
3121
- * Separate from the time axis on purpose: a curve editor is routinely zoomed hard on one axis and
3122
- * not the other — a long slow fade wants a wide time window and a tight value window. Tools that
3123
- * couple the axes make that impossible.
3124
- *
3125
- * @param scale - Current scale.
3126
- * @param y - Container-relative pointer y.
3127
- * @param factor - Multiplier. `> 1` zooms in (a smaller value range).
3128
- * @returns New state.
3129
- */
3130
- declare function zoomValueAboutCursor(scale: XenoCurveScale, y: number, factor: number): XenoCurveScaleState;
3131
- /**
3132
- * Normalize a wheel delta into a zoom factor.
3133
- *
3134
- * Clamped to ±10 first: a trackpad flick delivers a delta in the hundreds, and feeding that to an
3135
- * exponential zooms by orders of magnitude in one frame.
3136
- */
3137
- declare function wheelZoomFactor(deltaY: number, sensitivity?: number): number;
3138
- /**
3139
- * Fit a value range into the plot with margin.
3140
- *
3141
- * 🔴 The margin is a **fraction of the range plus an absolute floor**. A pure fraction collapses to
3142
- * nothing on a flat curve — where the range is already degenerate and margin matters most.
3143
- *
3144
- * @param extent - The measured range.
3145
- * @param marginFraction - Padding as a fraction of the range. Default 0.1.
3146
- * @returns Fitted min and max.
3147
- *
3148
- * @example
3149
- * ```ts
3150
- * fitValueRange({ min: 0, max: 100 }) // → { minValue: -10, maxValue: 110 }
3151
- * fitValueRange({ min: 5, max: 5 }) // → a usable window, not a zero-height one
3152
- * ```
3153
- */
3154
- declare function fitValueRange(extent: {
3155
- min: number;
3156
- max: number;
3157
- } | null, marginFraction?: number): {
3158
- minValue: number;
3159
- maxValue: number;
3160
- };
3161
-
3162
3164
  /**
3163
3165
  * The `xeno.core.curve` wire contract.
3164
3166
  *
@@ -5676,135 +5678,6 @@ interface CommentsPanelViewProps extends CommentsViewOptions {
5676
5678
  /** The Comments panel view. */
5677
5679
  declare function CommentsPanelView({ controller, ...options }: CommentsPanelViewProps): ReactNode;
5678
5680
 
5679
- /**
5680
- * `XenoGraphScale` — the only thing in this package that converts between pixels and graph space.
5681
- *
5682
- * Same discipline as the timeline and curve scales, **copied with attribution rather than shared**:
5683
- * a graph is 2D with a *uniform* zoom (a node must not shear), where the timeline is 1D and the
5684
- * curve has two independent axes. One type covering all three would be three things wearing one
5685
- * name.
5686
- *
5687
- * Kept verbatim because it is right in all three: state is `(zoom, x, y)` rather than a pair of
5688
- * corners, every dimension is clamped at the single construction site so a collapsed container
5689
- * cannot poison it with a sticky NaN, and zoom-to-cursor derives its offset from the **clamped**
5690
- * zoom.
5691
- *
5692
- * @module
5693
- */
5694
- /** The visible window. */
5695
- interface XenoGraphScaleState {
5696
- /** Uniform zoom. A node must not shear, so there is one scalar and not two. */
5697
- zoom: number;
5698
- /** Graph-space coordinate at the viewport's top-left. */
5699
- x: number;
5700
- y: number;
5701
- }
5702
- /** Container geometry. */
5703
- interface XenoGraphScaleGeometry {
5704
- widthPx: number;
5705
- heightPx: number;
5706
- }
5707
- /** Zoom limits. */
5708
- interface XenoGraphZoom {
5709
- min: number;
5710
- max: number;
5711
- }
5712
- /** Default zoom range: 5% to 400%, the band every surveyed editor lands in. */
5713
- declare const DEFAULT_GRAPH_ZOOM: XenoGraphZoom;
5714
- /** An immutable graph→view mapping. */
5715
- declare class XenoGraphScale {
5716
- readonly zoom: number;
5717
- readonly x: number;
5718
- readonly y: number;
5719
- readonly widthPx: number;
5720
- readonly heightPx: number;
5721
- constructor(state: XenoGraphScaleState, geometry: XenoGraphScaleGeometry);
5722
- /** Graph-space width of the viewport. */
5723
- get graphWidth(): number;
5724
- /** Graph-space height of the viewport. */
5725
- get graphHeight(): number;
5726
- /** The visible rectangle in graph space. */
5727
- get viewport(): {
5728
- x: number;
5729
- y: number;
5730
- width: number;
5731
- height: number;
5732
- };
5733
- /** Container-relative screen point → graph point. */
5734
- screenToGraph(px: number, py: number): {
5735
- x: number;
5736
- y: number;
5737
- };
5738
- /** Graph point → container-relative screen point. */
5739
- graphToScreen(gx: number, gy: number): {
5740
- x: number;
5741
- y: number;
5742
- };
5743
- /** A graph-space distance → pixels. */
5744
- toPx(distance: number): number;
5745
- /** A pixel distance → graph space. Used for screen-space hit thresholds. */
5746
- toGraph(px: number): number;
5747
- /** A copy with new state. */
5748
- with(state: Partial<XenoGraphScaleState>): XenoGraphScale;
5749
- /** A copy with new geometry. */
5750
- resized(geometry: Partial<XenoGraphScaleGeometry>): XenoGraphScale;
5751
- }
5752
- /**
5753
- * Zoom about a cursor, keeping the graph point under the pointer fixed.
5754
- *
5755
- * ```
5756
- * anchor = screenToGraph(px, py) // BEFORE
5757
- * zoom' = clamp(zoom * factor) // clamp FIRST
5758
- * x' = anchor.x - px / zoom'
5759
- * ```
5760
- *
5761
- * 🔴 The offset is derived from the **clamped** zoom. Using the requested one moves the graph under
5762
- * a stationary cursor at both ends of the range — exactly when the user is zoomed in on the thing
5763
- * they care about.
5764
- *
5765
- * @param scale - Current scale.
5766
- * @param px - Container-relative pointer x.
5767
- * @param py - Container-relative pointer y.
5768
- * @param factor - Requested multiplier.
5769
- * @param bounds - Zoom limits.
5770
- * @returns New state.
5771
- */
5772
- declare function zoomAboutCursor(scale: XenoGraphScale, px: number, py: number, factor: number, bounds?: XenoGraphZoom): XenoGraphScaleState;
5773
-
5774
- /**
5775
- * The scale that frames a graph-space rectangle.
5776
- *
5777
- * @param bounds - The rectangle to frame.
5778
- * @param widthPx - Viewport width.
5779
- * @param heightPx - Viewport height.
5780
- * @param bounds_ - Zoom limits.
5781
- * @param paddingPx - Screen-space padding.
5782
- * @returns The state that shows it.
5783
- *
5784
- * @example
5785
- * ```ts
5786
- * controller.fitTo(graphBounds(graph.nodes))
5787
- * ```
5788
- */
5789
- declare function fitToBounds(bounds: {
5790
- x: number;
5791
- y: number;
5792
- width: number;
5793
- height: number;
5794
- } | null, widthPx: number, heightPx: number, zoomBounds?: XenoGraphZoom, paddingPx?: number): XenoGraphScaleState;
5795
- /** The bounding box of a set of nodes, or `null` when there are none. */
5796
- declare function graphBounds(nodes: readonly {
5797
- x: number;
5798
- y: number;
5799
- width: number;
5800
- height: number;
5801
- }[]): {
5802
- x: number;
5803
- y: number;
5804
- width: number;
5805
- height: number;
5806
- } | null;
5807
-
5808
5681
  /**
5809
5682
  * The `xeno.core.nodegraph` wire contract.
5810
5683
  *
@@ -7726,4 +7599,4 @@ declare function TreeIcon({ name, size }: {
7726
7599
  size?: number;
7727
7600
  }): ReactNode;
7728
7601
 
7729
- export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$6 as COLOR_BEHAVIOURS, COLOR_DECLARATION, COLOR_RUNTIME_UNITS, COLOR_SPACES, BEHAVIOURS$2 as COMMENTS_BEHAVIOURS, COMMENTS_DECLARATION, COMMENTS_PANEL_ID, COMMENTS_RUNTIME_UNITS, BEHAVIOURS$5 as CURVE_BEHAVIOURS, CURVE_DECLARATION, CURVE_PANEL_ID, CURVE_RUNTIME_UNITS, type ChannelId, ColorPanelController, type ColorPanelControllerOptions, type ColorPanelSerialized, ColorPanelView, type ColorPanelViewProps, type ColorSpace, type ColorStopSink, type ColorToken, type ColorUiIntent, type ColorViewState, CommentsController, type CommentsControllerOptions, type CommentsHostBridge, type CommentsPanelState, CommentsPanelView, type CommentsPanelViewProps, type CommentsRenderContext, type CommentsThreadView, type CommentsUiIntent, type CommentsViewMessage, type CommentsViewModel, type CommentsViewOptions, type CommentsViewReaction, type CommentsViewState, type CommentsViewThread, type ConnectRules, type ConnectVerdict, type CreateColorPanelOptions, type CreateCommentsPanelOptions, type CreateCurvePanelOptions, type CreateFindPanelOptions, type CreateHistoryPanelOptions, type CreateInspectorPanelOptions, type CreateLayersPanelOptions, type CreateNodeGraphPanelOptions, type CreateTreePanelOptions, type CreateViewportPanelOptions, CurveController, type CurveControllerOptions, type CurveDragKind, type CurveDragState, type CurveHostBridge, type CurvePanelState, CurvePanelView, type CurvePanelViewProps, type CurvePreview, type CurveRenderConfig, type CurveRenderContext, CurveSurface, type CurveUiIntent, type CurveViewModel, type CurveViewOptions, type CurveViewState, DEFAULT_BLEND_MODES, DEFAULT_CURVE_ZOOM, DEFAULT_GRAPH_ZOOM, DEFAULT_ICON_MAP, DEFAULT_ORIGINAL_LABEL, type DropInput, EASING_PRESETS, EDIT_SPACES, EMPTY_HISTORY, EMPTY_SCHEMA, EMPTY_TREE, EMPTY_TREE_SOURCE, BEHAVIOURS$3 as FIND_BEHAVIOURS, FIND_DECLARATION, FIND_PANEL_ID, FIND_RUNTIME_UNITS, FindController, type FindControllerOptions, type FindHostBridge, FindKeys, type FindPanelState, FindPanelView, type FindPanelViewProps, type FindRenderContext, type FindUiIntent, type FindViewGroup, type FindViewModel, type FindViewOptions, type FindViewRow, type FindViewState, type FlatRow, type FlattenOptions, GENERIC_ICON, GraphController, type GraphControllerOptions, type GraphDragKind, type GraphDragState, type GraphHostBridge, type GraphPanelState, type GraphPreview, type GraphRenderConfig, type GraphRenderContext, type GraphViewState, BEHAVIOURS$7 as HISTORY_BEHAVIOURS, HISTORY_DECLARATION, HISTORY_RUNTIME_UNITS, type HistoryKeyEvent, HistoryPanelController, type HistoryPanelControllerOptions, type HistoryPanelSerialized, HistoryPanelView, type HistoryPanelViewProps, type ProjectOptions as HistoryProjectOptions, type HistoryRow, type HistoryUiIntent, type HistoryViewRow, type HistoryViewState, type Hsl, type Hsv, IMPLEMENTED_TREE_MODES, BEHAVIOURS$8 as INSPECTOR_BEHAVIOURS, INSPECTOR_DECLARATION, INSPECTOR_RUNTIME_UNITS, type InspectorKeyEvent, InspectorPanelController, type InspectorPanelControllerOptions, type InspectorPanelSerialized, InspectorPanelView, type InspectorPanelViewProps, type ProjectOptions$1 as InspectorProjectOptions, type InspectorUiIntent, type InspectorViewField, type InspectorViewSection, type InspectorViewState, BEHAVIOURS$9 as LAYERS_BEHAVIOURS, LAYERS_DECLARATION, LAYERS_RUNTIME_UNITS, LAYER_COLUMNS, type LayerColumn, type LayersKeyEvent, LayersPanelController, type LayersPanelControllerOptions, type LayersPanelSerialized, LayersPanelView, type LayersPanelViewProps, type LayersUiIntent, type LayersViewRow, type LayersViewState, MIXED, BEHAVIOURS$1 as NODEGRAPH_BEHAVIOURS, NODEGRAPH_DECLARATION, NODEGRAPH_PANEL_ID, NODEGRAPH_RUNTIME_UNITS, NodeGraphPanelView, type NodeGraphPanelViewProps, NodeGraphSurface, type NodeGraphUiIntent, type NodeGraphViewModel, type NodeGraphViewOptions, type NumericConstraints, type OklchDisplay, type ParseResult, type ProjectedSection, type Rgba, SPACE_LABEL, type ScrubOptions, type SelectMods, BEHAVIOURS as TREE_BEHAVIOURS, TREE_DECLARATION, TREE_PANEL_ID, TREE_RUNTIME_UNITS, type TangentEdit, Thumbnail, type ThumbnailProps, TreeController, type TreeControllerOptions, type TreeHostBridge, TreeIcon, type TreeKeyEvent, type TreePanelState, TreePanelView, type TreePanelViewProps, type TreeRenderContext, type TreeRow, TreeScroller, type TreeUiIntent, type TreeViewAction, type TreeViewModel, type TreeViewOptions, type TreeViewRow, type TreeViewState, BEHAVIOURS$4 as VIEWPORT_BEHAVIOURS, VIEWPORT_DECLARATION, VIEWPORT_PANEL_ID, VIEWPORT_RUNTIME_UNITS, VIEWPORT_SLOTS, VIEW_STATE_OPS, ViewportController, type ViewportControllerOptions, type ViewportHostBridge, type ViewportPanelState, ViewportPanelView, type ViewportPanelViewProps, type ViewportRenderContext, ViewportSurface, type ViewportViewModel, type ViewportViewOptions, type ViewportViewState, type XenoAddMenuItem, type XenoAnchorState, type XenoColorValue, type XenoCommentAuthor, type XenoCommentFilter, type XenoCommentMessage, type XenoCommentOp, type XenoCommentReaction, type XenoCommentSort, type XenoCommentThread, type XenoCommitPolicy, type XenoContextMenuRequest, type XenoCurveChannel, type XenoCurveInterpolation, type XenoCurveKey, type XenoCurveKeyRef, type XenoCurveOp, type XenoCurvePoint, XenoCurveScale, type XenoCurveScaleGeometry, type XenoCurveScaleState, type XenoCurveSelection, type XenoCurveSet, type XenoCurveViewport, type XenoCurveZoom, type XenoEasingPreset, type XenoEdge, type XenoFieldAnim, type XenoFieldFocus, type XenoFieldOption, type XenoFieldToken, type XenoFieldType, type XenoFieldValue, type XenoFindMatch, type XenoFindNavigate, type XenoFindOptions, type XenoFindQuery, type XenoFindReplace, type XenoFindResults, type XenoFindStatus, type XenoGradient, type XenoGraph, type XenoGraphOp, XenoGraphScale, type XenoGraphScaleGeometry, type XenoGraphScaleState, type XenoGraphSelection, type XenoGraphViewport, type XenoGraphZoom, type XenoHistoryEntry, type XenoHistoryIntent, type XenoHistoryMemory, type XenoHistoryOrder, type XenoHistoryScope, type XenoHistorySnapshot, type XenoHistorySource, type XenoHistoryState, type XenoHistoryStatus, type XenoInspectorEdit, type XenoInspectorField, type XenoInspectorSchema, type XenoInspectorSection, type XenoInspectorTarget, type XenoInspectorToken, type XenoKeyframeKind, type XenoLayerAdornment, type XenoLayerCap, type XenoLayerKind, type XenoLayerNode, type XenoLayerOp, type XenoLayerTree, type XenoNavigateRequest, type XenoNode, XenoNodeIndex, type XenoPort, type XenoPortDirection, type XenoPortRef, type XenoSectionAction, type XenoTangent, type XenoTangentMode, type XenoTangentSide, type XenoThreadActivate, type XenoThumbnailRequest, type XenoThumbnailResponse, type XenoTreeAction, type XenoTreeBadge, type XenoTreeCaps, type XenoTreeChildState, type XenoTreeChildrenResponse, type XenoTreeDragOut, type XenoTreeDragOutEvent, type XenoTreeError, type XenoTreeGlyph, type XenoTreeIcon, type XenoTreeInvalidate, type XenoTreeMode, type XenoTreeModifiers, type XenoTreeNode, type XenoTreeNodeKind, type XenoTreeOp, type XenoTreeReveal, type XenoTreeSource, type XenoTreeSourceKind, type XenoTreeSourceState, type XenoViewportClient, type XenoViewportKey, type XenoViewportPointer, type XenoViewportSlot, type XenoViewportStats, type XenoViewportSurface, allFields, allIds, anchorStateOf, appliedCount, applyColorUi, applyCommentsUi, applyCurveUi, applyFindUi, applyHistoryUi, applyInspectorUi, applyLayersUi, applyNodeGraphUi, applyPrecision, applyTangentDrag, applyTreeUi, ariaSliderProps, boxesIntersect, canConnect, canRedo, canUndo, childStateOf, clamp, clampAlpha, clampTangent, collectDescendants, colorManifest, colorPanel, colorRuntimeComponents, colorViewManifest, colorViewState, commentsManifest, commentsPanel, commentsViewManifest, commentsViewState, commitPolicyOf, componentsForSpace, computeSurfaceSize, constraintsOf, countIsMeaningful, createColorPanel, createCommentsPanel, createCurvePanel, createFindPanel, createHistoryPanel, createInspectorPanel, createLayersPanel, createNodeGraphPanel, createTreePanel, createViewportPanel, createsCycle, currentRowIndex, curveManifest, curvePanel, curveRuntimeComponents, curveViewManifest, curveViewState, defaultIconFor, displayOrder, distanceToEdge, easeAt, easingPreset, edgeBounds, edgeKey, edgePath, edgesToReplace, edgesTouching, evaluateChannel, fieldMatches, findField, findManifest, findPanel, findPort, findRuntimeComponents, findSectionOf, findViewManifest, findViewState, fitToBounds, fitValueRange, flattenVisible, focusOrder, formatAge, formatNumeric, getAncestors, graphBounds, groupMatches, hasCap, hasDraggableTangents, hasTreeCap, hexFromHsv, highlightSegments, historyManifest, historyPanel, historyRuntimeComponents, historyViewManifest, historyViewState, hslToRgb, hsvFromHex, hsvToRgb, inspectorManifest, inspectorPanel, inspectorRuntimeComponents, inspectorViewManifest, inspectorViewState, interpolateSegment, isAncestorOf, isAnimated, isCollapsed, isColorSpace, isContainer, isEmptyContainer, isFieldEditable, isFieldMixed, isJumpable, isKeyEditable, isLayerColumn, isMixedValue, isOrphaned, isTreeContainer, isValidHex, isViewStateOp, itemShowsSubField, keyRefId, layersManifest, layersPanel, layersRuntimeComponents, layersViewManifest, layersViewState, liveEdges, makeColorValue, matchesFilter, messagesOf, mirrorTangent, nodeBounds, nodegraphManifest, nodegraphPanel, nodegraphRuntimeComponents, nodegraphViewManifest, nodegraphViewState, normalizeColorInput, normalizeHistoryState, normalizeKindKey, normalizeNumeric, normalizeRanges, normalizeSchema, normalizeTree, nudgeValue, oklchToRgb, parseCssColor, parseHexColor, parseListFieldId, parseNumeric, passesFilter, patternError, portHasRoom, portRefId, positionToValue, projectRows, projectSections, rangeBetween, resolveDropTarget, resolveIconName, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToCssHex, roundRgb, rowIndexOf, rowIndexOfEntry, safeAddColorStop, safeAddColorStops, sameKey, sampleChannel, scrubValue, segmentsAround, solveBezierT, sortThreads, surfaceChanged, tangentsForMode, tangentsToControlPoints, toViewportCoords, tokenItemsFor, totalCount, treeManifest, treePanel, treeRuntimeComponents, treeViewManifest, treeViewState, usesLogScale, valueExtent, valueToPosition, valuesEqual, viewportManifest, viewportPanel, viewportRuntimeComponents, viewportViewManifest, viewportViewState, visibleEdges, walkTree, wheelZoomFactor, zoomAboutCursor, zoomTimeAboutCursor, zoomValueAboutCursor };
7602
+ export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$6 as COLOR_BEHAVIOURS, COLOR_DECLARATION, COLOR_RUNTIME_UNITS, COLOR_SPACES, BEHAVIOURS$2 as COMMENTS_BEHAVIOURS, COMMENTS_DECLARATION, COMMENTS_PANEL_ID, COMMENTS_RUNTIME_UNITS, BEHAVIOURS$5 as CURVE_BEHAVIOURS, CURVE_DECLARATION, CURVE_PANEL_ID, CURVE_RUNTIME_UNITS, type ChannelId, ColorPanelController, type ColorPanelControllerOptions, type ColorPanelSerialized, ColorPanelView, type ColorPanelViewProps, type ColorSpace, type ColorStopSink, type ColorToken, type ColorUiIntent, type ColorViewState, CommentsController, type CommentsControllerOptions, type CommentsHostBridge, type CommentsPanelState, CommentsPanelView, type CommentsPanelViewProps, type CommentsRenderContext, type CommentsThreadView, type CommentsUiIntent, type CommentsViewMessage, type CommentsViewModel, type CommentsViewOptions, type CommentsViewReaction, type CommentsViewState, type CommentsViewThread, type ConnectRules, type ConnectVerdict, type CreateColorPanelOptions, type CreateCommentsPanelOptions, type CreateCurvePanelOptions, type CreateFindPanelOptions, type CreateHistoryPanelOptions, type CreateInspectorPanelOptions, type CreateLayersPanelOptions, type CreateNodeGraphPanelOptions, type CreateTreePanelOptions, type CreateViewportPanelOptions, CurveController, type CurveControllerOptions, type CurveDragKind, type CurveDragState, type CurveHostBridge, type CurvePanelState, CurvePanelView, type CurvePanelViewProps, type CurvePreview, type CurveRenderConfig, type CurveRenderContext, CurveSurface, type CurveUiIntent, type CurveViewModel, type CurveViewOptions, type CurveViewState, DEFAULT_BLEND_MODES, DEFAULT_CURVE_ZOOM, DEFAULT_ICON_MAP, DEFAULT_ORIGINAL_LABEL, type DropInput, EASING_PRESETS, EDIT_SPACES, EMPTY_HISTORY, EMPTY_SCHEMA, EMPTY_TREE, EMPTY_TREE_SOURCE, BEHAVIOURS$3 as FIND_BEHAVIOURS, FIND_DECLARATION, FIND_PANEL_ID, FIND_RUNTIME_UNITS, FindController, type FindControllerOptions, type FindHostBridge, FindKeys, type FindPanelState, FindPanelView, type FindPanelViewProps, type FindRenderContext, type FindUiIntent, type FindViewGroup, type FindViewModel, type FindViewOptions, type FindViewRow, type FindViewState, type FlatRow, type FlattenOptions, GENERIC_ICON, GraphController, type GraphControllerOptions, type GraphDragKind, type GraphDragState, type GraphHostBridge, type GraphPanelState, type GraphPreview, type GraphRenderConfig, type GraphRenderContext, type GraphViewState, BEHAVIOURS$7 as HISTORY_BEHAVIOURS, HISTORY_DECLARATION, HISTORY_RUNTIME_UNITS, type HistoryKeyEvent, HistoryPanelController, type HistoryPanelControllerOptions, type HistoryPanelSerialized, HistoryPanelView, type HistoryPanelViewProps, type ProjectOptions as HistoryProjectOptions, type HistoryRow, type HistoryUiIntent, type HistoryViewRow, type HistoryViewState, type Hsl, type Hsv, IMPLEMENTED_TREE_MODES, BEHAVIOURS$8 as INSPECTOR_BEHAVIOURS, INSPECTOR_DECLARATION, INSPECTOR_RUNTIME_UNITS, type InspectorKeyEvent, InspectorPanelController, type InspectorPanelControllerOptions, type InspectorPanelSerialized, InspectorPanelView, type InspectorPanelViewProps, type ProjectOptions$1 as InspectorProjectOptions, type InspectorUiIntent, type InspectorViewField, type InspectorViewSection, type InspectorViewState, BEHAVIOURS$9 as LAYERS_BEHAVIOURS, LAYERS_DECLARATION, LAYERS_RUNTIME_UNITS, LAYER_COLUMNS, type LayerColumn, type LayersKeyEvent, LayersPanelController, type LayersPanelControllerOptions, type LayersPanelSerialized, LayersPanelView, type LayersPanelViewProps, type LayersUiIntent, type LayersViewRow, type LayersViewState, MIXED, BEHAVIOURS$1 as NODEGRAPH_BEHAVIOURS, NODEGRAPH_DECLARATION, NODEGRAPH_PANEL_ID, NODEGRAPH_RUNTIME_UNITS, NodeGraphPanelView, type NodeGraphPanelViewProps, NodeGraphSurface, type NodeGraphUiIntent, type NodeGraphViewModel, type NodeGraphViewOptions, type NumericConstraints, type OklchDisplay, type ParseResult, type ProjectedSection, type Rgba, SPACE_LABEL, type ScrubOptions, type SelectMods, BEHAVIOURS as TREE_BEHAVIOURS, TREE_DECLARATION, TREE_PANEL_ID, TREE_RUNTIME_UNITS, type TangentEdit, Thumbnail, type ThumbnailProps, TreeController, type TreeControllerOptions, type TreeHostBridge, TreeIcon, type TreeKeyEvent, type TreePanelState, TreePanelView, type TreePanelViewProps, type TreeRenderContext, type TreeRow, TreeScroller, type TreeUiIntent, type TreeViewAction, type TreeViewModel, type TreeViewOptions, type TreeViewRow, type TreeViewState, BEHAVIOURS$4 as VIEWPORT_BEHAVIOURS, VIEWPORT_DECLARATION, VIEWPORT_PANEL_ID, VIEWPORT_RUNTIME_UNITS, VIEWPORT_SLOTS, VIEW_STATE_OPS, ViewportController, type ViewportControllerOptions, type ViewportHostBridge, type ViewportPanelState, ViewportPanelView, type ViewportPanelViewProps, type ViewportRenderContext, ViewportSurface, type ViewportViewModel, type ViewportViewOptions, type ViewportViewState, type XenoAddMenuItem, type XenoAnchorState, type XenoColorValue, type XenoCommentAuthor, type XenoCommentFilter, type XenoCommentMessage, type XenoCommentOp, type XenoCommentReaction, type XenoCommentSort, type XenoCommentThread, type XenoCommitPolicy, type XenoContextMenuRequest, type XenoCurveChannel, type XenoCurveInterpolation, type XenoCurveKey, type XenoCurveKeyRef, type XenoCurveOp, type XenoCurvePoint, XenoCurveScale, type XenoCurveScaleGeometry, type XenoCurveScaleState, type XenoCurveSelection, type XenoCurveSet, type XenoCurveViewport, type XenoCurveZoom, type XenoEasingPreset, type XenoEdge, type XenoFieldAnim, type XenoFieldFocus, type XenoFieldOption, type XenoFieldToken, type XenoFieldType, type XenoFieldValue, type XenoFindMatch, type XenoFindNavigate, type XenoFindOptions, type XenoFindQuery, type XenoFindReplace, type XenoFindResults, type XenoFindStatus, type XenoGradient, type XenoGraph, type XenoGraphOp, XenoGraphScale, type XenoGraphSelection, type XenoGraphViewport, XenoGraphZoom, type XenoHistoryEntry, type XenoHistoryIntent, type XenoHistoryMemory, type XenoHistoryOrder, type XenoHistoryScope, type XenoHistorySnapshot, type XenoHistorySource, type XenoHistoryState, type XenoHistoryStatus, type XenoInspectorEdit, type XenoInspectorField, type XenoInspectorSchema, type XenoInspectorSection, type XenoInspectorTarget, type XenoInspectorToken, type XenoKeyframeKind, type XenoLayerAdornment, type XenoLayerCap, type XenoLayerKind, type XenoLayerNode, type XenoLayerOp, type XenoLayerTree, type XenoNavigateRequest, type XenoNode, XenoNodeIndex, type XenoPort, type XenoPortDirection, type XenoPortRef, type XenoSectionAction, type XenoTangent, type XenoTangentMode, type XenoTangentSide, type XenoThreadActivate, type XenoThumbnailRequest, type XenoThumbnailResponse, type XenoTreeAction, type XenoTreeBadge, type XenoTreeCaps, type XenoTreeChildState, type XenoTreeChildrenResponse, type XenoTreeDragOut, type XenoTreeDragOutEvent, type XenoTreeError, type XenoTreeGlyph, type XenoTreeIcon, type XenoTreeInvalidate, type XenoTreeMode, type XenoTreeModifiers, type XenoTreeNode, type XenoTreeNodeKind, type XenoTreeOp, type XenoTreeReveal, type XenoTreeSource, type XenoTreeSourceKind, type XenoTreeSourceState, type XenoViewportClient, type XenoViewportKey, type XenoViewportPointer, type XenoViewportSlot, type XenoViewportStats, type XenoViewportSurface, allFields, allIds, anchorStateOf, appliedCount, applyColorUi, applyCommentsUi, applyCurveUi, applyFindUi, applyHistoryUi, applyInspectorUi, applyLayersUi, applyNodeGraphUi, applyPrecision, applyTangentDrag, applyTreeUi, ariaSliderProps, boxesIntersect, canConnect, canRedo, canUndo, childStateOf, clamp, clampAlpha, clampTangent, collectDescendants, colorManifest, colorPanel, colorRuntimeComponents, colorViewManifest, colorViewState, commentsManifest, commentsPanel, commentsViewManifest, commentsViewState, commitPolicyOf, componentsForSpace, computeSurfaceSize, constraintsOf, countIsMeaningful, createColorPanel, createCommentsPanel, createCurvePanel, createFindPanel, createHistoryPanel, createInspectorPanel, createLayersPanel, createNodeGraphPanel, createTreePanel, createViewportPanel, createsCycle, currentRowIndex, curveManifest, curvePanel, curveRuntimeComponents, curveViewManifest, curveViewState, defaultIconFor, displayOrder, distanceToEdge, easeAt, easingPreset, edgeBounds, edgeKey, edgePath, edgesToReplace, edgesTouching, evaluateChannel, fieldMatches, findField, findManifest, findPanel, findPort, findRuntimeComponents, findSectionOf, findViewManifest, findViewState, fitValueRange, flattenVisible, focusOrder, formatAge, formatNumeric, getAncestors, groupMatches, hasCap, hasDraggableTangents, hasTreeCap, hexFromHsv, highlightSegments, historyManifest, historyPanel, historyRuntimeComponents, historyViewManifest, historyViewState, hslToRgb, hsvFromHex, hsvToRgb, inspectorManifest, inspectorPanel, inspectorRuntimeComponents, inspectorViewManifest, inspectorViewState, interpolateSegment, isAncestorOf, isAnimated, isCollapsed, isColorSpace, isContainer, isEmptyContainer, isFieldEditable, isFieldMixed, isJumpable, isKeyEditable, isLayerColumn, isMixedValue, isOrphaned, isTreeContainer, isValidHex, isViewStateOp, itemShowsSubField, keyRefId, layersManifest, layersPanel, layersRuntimeComponents, layersViewManifest, layersViewState, liveEdges, makeColorValue, matchesFilter, messagesOf, mirrorTangent, nodeBounds, nodegraphManifest, nodegraphPanel, nodegraphRuntimeComponents, nodegraphViewManifest, nodegraphViewState, normalizeColorInput, normalizeHistoryState, normalizeKindKey, normalizeNumeric, normalizeRanges, normalizeSchema, normalizeTree, nudgeValue, oklchToRgb, parseCssColor, parseHexColor, parseListFieldId, parseNumeric, passesFilter, patternError, portHasRoom, portRefId, positionToValue, projectRows, projectSections, rangeBetween, resolveDropTarget, resolveIconName, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToCssHex, roundRgb, rowIndexOf, rowIndexOfEntry, safeAddColorStop, safeAddColorStops, sameKey, sampleChannel, scrubValue, segmentsAround, solveBezierT, sortThreads, surfaceChanged, tangentsForMode, tangentsToControlPoints, toViewportCoords, tokenItemsFor, totalCount, treeManifest, treePanel, treeRuntimeComponents, treeViewManifest, treeViewState, usesLogScale, valueExtent, valueToPosition, valuesEqual, viewportManifest, viewportPanel, viewportRuntimeComponents, viewportViewManifest, viewportViewState, visibleEdges, walkTree, wheelZoomFactor, zoomTimeAboutCursor, zoomValueAboutCursor };