@elaraai/east-ui 1.0.97 → 1.0.98
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/src/collections/index.d.ts +0 -1
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +0 -1
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/component.d.ts +0 -999
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +0 -44
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +2 -2
- package/dist/src/contracts/drag.js +2 -2
- package/dist/src/contracts/editing.d.ts +4 -0
- package/dist/src/contracts/editing.d.ts.map +1 -1
- package/dist/src/contracts/editing.js +2 -1
- package/dist/src/contracts/editing.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -1
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +5 -2
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/snap-grid/index.d.ts +1 -0
- package/dist/src/layout/snap-grid/index.d.ts.map +1 -1
- package/dist/src/pick/panel/index.js +1 -1
- package/dist/src/pick/panel/index.js.map +1 -1
- package/dist/src/platform/slice/index.d.ts +4 -7
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +5 -8
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/platform/slice/record-area.d.ts +181 -0
- package/dist/src/platform/slice/record-area.d.ts.map +1 -0
- package/dist/src/platform/slice/record-area.js +304 -0
- package/dist/src/platform/slice/record-area.js.map +1 -0
- package/dist/src/platform/slice/record-chrome.d.ts +138 -0
- package/dist/src/platform/slice/record-chrome.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.d.ts +34 -1
- package/dist/src/platform/slice/record-plan.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.js +126 -3
- package/dist/src/platform/slice/record-plan.js.map +1 -1
- package/dist/src/platform/slice/record-series.d.ts +166 -0
- package/dist/src/platform/slice/record-series.d.ts.map +1 -0
- package/dist/src/platform/slice/record-series.js +258 -0
- package/dist/src/platform/slice/record-series.js.map +1 -0
- package/dist/src/platform/slice/record-types.d.ts +1862 -13
- package/dist/src/platform/slice/record-types.d.ts.map +1 -1
- package/dist/src/platform/slice/record-types.js +50 -4
- package/dist/src/platform/slice/record-types.js.map +1 -1
- package/dist/src/platform/slice/record.d.ts +17 -2
- package/dist/src/platform/slice/record.d.ts.map +1 -1
- package/dist/src/platform/slice/record.js +62 -9
- package/dist/src/platform/slice/record.js.map +1 -1
- package/dist/src/runtime/collections/index.d.ts +0 -1
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +0 -1
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/record-slice-source.d.ts +298 -0
- package/dist/src/runtime/record-slice-source.d.ts.map +1 -1
- package/dist/src/runtime/record-slice-source.js +554 -16
- package/dist/src/runtime/record-slice-source.js.map +1 -1
- package/dist/src/runtime/record-slice.d.ts +87 -3
- package/dist/src/runtime/record-slice.d.ts.map +1 -1
- package/dist/src/runtime/record-slice.js +175 -12
- package/dist/src/runtime/record-slice.js.map +1 -1
- package/dist/src/slice/record/index.d.ts +69 -0
- package/dist/src/slice/record/index.d.ts.map +1 -1
- package/dist/src/style/color.d.ts +237 -0
- package/dist/src/style/color.d.ts.map +1 -0
- package/dist/src/style/color.js +105 -0
- package/dist/src/style/color.js.map +1 -0
- package/dist/src/style/namespace.d.ts +151 -1
- package/dist/src/style/namespace.d.ts.map +1 -1
- package/dist/src/style/namespace.js +9 -1
- package/dist/src/style/namespace.js.map +1 -1
- package/dist/src/style.d.ts +3 -0
- package/dist/src/style.d.ts.map +1 -1
- package/dist/src/style.js +3 -0
- package/dist/src/style.js.map +1 -1
- package/dist/test/style.examples.d.ts +1 -0
- package/dist/test/style.examples.d.ts.map +1 -1
- package/dist/test/style.examples.js +17 -2
- package/dist/test/style.examples.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/collections/schematic/index.d.ts +0 -1390
- package/dist/src/collections/schematic/index.d.ts.map +0 -1
- package/dist/src/collections/schematic/index.js +0 -815
- package/dist/src/collections/schematic/index.js.map +0 -1
- package/dist/src/collections/schematic/types.d.ts +0 -1183
- package/dist/src/collections/schematic/types.d.ts.map +0 -1
- package/dist/src/collections/schematic/types.js +0 -724
- package/dist/src/collections/schematic/types.js.map +0 -1
- package/dist/src/runtime/collections/schematic.d.ts +0 -73
- package/dist/src/runtime/collections/schematic.d.ts.map +0 -1
- package/dist/src/runtime/collections/schematic.js +0 -69
- package/dist/src/runtime/collections/schematic.js.map +0 -1
- package/dist/test/collections/schematic.examples.d.ts +0 -23
- package/dist/test/collections/schematic.examples.d.ts.map +0 -1
- package/dist/test/collections/schematic.examples.js +0 -602
- package/dist/test/collections/schematic.examples.js.map +0 -1
|
@@ -1,1183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
import { ArrayType, BooleanType, FloatType, NullType, OptionType, StringType, StructType, VariantType } from "@elaraai/east";
|
|
6
|
-
/**
|
|
7
|
-
* Theme tone for zone strokes, hatching, and links.
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* Colour stays theme-owned: data selects a tone and the renderer's recipe
|
|
11
|
-
* maps each tone to its token.
|
|
12
|
-
*
|
|
13
|
-
* @property brand - Brand teal
|
|
14
|
-
* @property ink - Foreground ink
|
|
15
|
-
* @property muted - Muted foreground
|
|
16
|
-
* @property success - Status ok
|
|
17
|
-
* @property warning - Status warn
|
|
18
|
-
* @property danger - Status bad
|
|
19
|
-
*/
|
|
20
|
-
export declare const SchematicToneType: VariantType<{
|
|
21
|
-
/** Brand teal */
|
|
22
|
-
readonly brand: NullType;
|
|
23
|
-
/** Foreground ink */
|
|
24
|
-
readonly ink: NullType;
|
|
25
|
-
/** Muted foreground */
|
|
26
|
-
readonly muted: NullType;
|
|
27
|
-
/** Status ok */
|
|
28
|
-
readonly success: NullType;
|
|
29
|
-
/** Status warn */
|
|
30
|
-
readonly warning: NullType;
|
|
31
|
-
/** Status bad */
|
|
32
|
-
readonly danger: NullType;
|
|
33
|
-
}>;
|
|
34
|
-
/**
|
|
35
|
-
* Type representing schematic tones.
|
|
36
|
-
*/
|
|
37
|
-
export type SchematicToneType = typeof SchematicToneType;
|
|
38
|
-
/**
|
|
39
|
-
* Zone render pattern — each case carries its style configuration.
|
|
40
|
-
*
|
|
41
|
-
* @property outline - Dashed boundary with an eyebrow label (rooms, cells)
|
|
42
|
-
* @property hatch - Hatched band (walkways, aisles, exclusion strips)
|
|
43
|
-
*/
|
|
44
|
-
export declare const SchematicZonePatternType: VariantType<{
|
|
45
|
-
/** Dashed boundary with an eyebrow label (rooms, cells) */
|
|
46
|
-
readonly outline: StructType<{
|
|
47
|
-
/** Stroke tone (default `muted`) */
|
|
48
|
-
readonly tone: OptionType<VariantType<{
|
|
49
|
-
/** Brand teal */
|
|
50
|
-
readonly brand: NullType;
|
|
51
|
-
/** Foreground ink */
|
|
52
|
-
readonly ink: NullType;
|
|
53
|
-
/** Muted foreground */
|
|
54
|
-
readonly muted: NullType;
|
|
55
|
-
/** Status ok */
|
|
56
|
-
readonly success: NullType;
|
|
57
|
-
/** Status warn */
|
|
58
|
-
readonly warning: NullType;
|
|
59
|
-
/** Status bad */
|
|
60
|
-
readonly danger: NullType;
|
|
61
|
-
}>>;
|
|
62
|
-
}>;
|
|
63
|
-
/** Hatched band (walkways, aisles, exclusion strips) */
|
|
64
|
-
readonly hatch: StructType<{
|
|
65
|
-
/** Hatch-line tone (default `muted`) */
|
|
66
|
-
readonly tone: OptionType<VariantType<{
|
|
67
|
-
/** Brand teal */
|
|
68
|
-
readonly brand: NullType;
|
|
69
|
-
/** Foreground ink */
|
|
70
|
-
readonly ink: NullType;
|
|
71
|
-
/** Muted foreground */
|
|
72
|
-
readonly muted: NullType;
|
|
73
|
-
/** Status ok */
|
|
74
|
-
readonly success: NullType;
|
|
75
|
-
/** Status warn */
|
|
76
|
-
readonly warning: NullType;
|
|
77
|
-
/** Status bad */
|
|
78
|
-
readonly danger: NullType;
|
|
79
|
-
}>>;
|
|
80
|
-
/** Line spacing in pixels (default 8) */
|
|
81
|
-
readonly spacing: OptionType<FloatType>;
|
|
82
|
-
/** Line angle in degrees (default 45) */
|
|
83
|
-
readonly angle: OptionType<FloatType>;
|
|
84
|
-
}>;
|
|
85
|
-
}>;
|
|
86
|
-
/**
|
|
87
|
-
* Type representing zone patterns.
|
|
88
|
-
*/
|
|
89
|
-
export type SchematicZonePatternType = typeof SchematicZonePatternType;
|
|
90
|
-
/**
|
|
91
|
-
* Link render style — each case carries its stroke configuration.
|
|
92
|
-
*
|
|
93
|
-
* @property solid - A physical run (pipe, conveyor)
|
|
94
|
-
* @property dashed - A routing / logical connection
|
|
95
|
-
*/
|
|
96
|
-
export declare const SchematicLinkStyleType: VariantType<{
|
|
97
|
-
/** A physical run (pipe, conveyor) */
|
|
98
|
-
readonly solid: StructType<{
|
|
99
|
-
/** Stroke tone (default `brand`) */
|
|
100
|
-
readonly tone: OptionType<VariantType<{
|
|
101
|
-
/** Brand teal */
|
|
102
|
-
readonly brand: NullType;
|
|
103
|
-
/** Foreground ink */
|
|
104
|
-
readonly ink: NullType;
|
|
105
|
-
/** Muted foreground */
|
|
106
|
-
readonly muted: NullType;
|
|
107
|
-
/** Status ok */
|
|
108
|
-
readonly success: NullType;
|
|
109
|
-
/** Status warn */
|
|
110
|
-
readonly warning: NullType;
|
|
111
|
-
/** Status bad */
|
|
112
|
-
readonly danger: NullType;
|
|
113
|
-
}>>;
|
|
114
|
-
/** Stroke width in pixels (default 2.5) */
|
|
115
|
-
readonly weight: OptionType<FloatType>;
|
|
116
|
-
}>;
|
|
117
|
-
/** A routing / logical connection */
|
|
118
|
-
readonly dashed: StructType<{
|
|
119
|
-
/** Stroke tone (default `muted`) */
|
|
120
|
-
readonly tone: OptionType<VariantType<{
|
|
121
|
-
/** Brand teal */
|
|
122
|
-
readonly brand: NullType;
|
|
123
|
-
/** Foreground ink */
|
|
124
|
-
readonly ink: NullType;
|
|
125
|
-
/** Muted foreground */
|
|
126
|
-
readonly muted: NullType;
|
|
127
|
-
/** Status ok */
|
|
128
|
-
readonly success: NullType;
|
|
129
|
-
/** Status warn */
|
|
130
|
-
readonly warning: NullType;
|
|
131
|
-
/** Status bad */
|
|
132
|
-
readonly danger: NullType;
|
|
133
|
-
}>>;
|
|
134
|
-
/** Stroke width in pixels (default 1.5) */
|
|
135
|
-
readonly weight: OptionType<FloatType>;
|
|
136
|
-
}>;
|
|
137
|
-
}>;
|
|
138
|
-
/**
|
|
139
|
-
* Link routing mode.
|
|
140
|
-
*
|
|
141
|
-
* @remarks
|
|
142
|
-
* `orthogonal` (the default) routes axis-aligned with rounded corners —
|
|
143
|
-
* the conventional pipe-diagram look; `direct` draws straight segments
|
|
144
|
-
* between anchors. `via` waypoints apply in both modes.
|
|
145
|
-
*
|
|
146
|
-
* @property orthogonal - Axis-aligned with rounded corners
|
|
147
|
-
* @property direct - Straight segments between anchors
|
|
148
|
-
*/
|
|
149
|
-
export declare const SchematicRouteType: VariantType<{
|
|
150
|
-
/** Axis-aligned with rounded corners */
|
|
151
|
-
readonly orthogonal: StructType<{
|
|
152
|
-
/** Corner radius in pixels (default 8) */
|
|
153
|
-
readonly corner: OptionType<FloatType>;
|
|
154
|
-
}>;
|
|
155
|
-
/** Straight segments between anchors */
|
|
156
|
-
readonly direct: NullType;
|
|
157
|
-
}>;
|
|
158
|
-
/**
|
|
159
|
-
* Type representing link routing modes.
|
|
160
|
-
*/
|
|
161
|
-
export type SchematicRouteType = typeof SchematicRouteType;
|
|
162
|
-
/**
|
|
163
|
-
* Type representing link styles.
|
|
164
|
-
*/
|
|
165
|
-
export type SchematicLinkStyleType = typeof SchematicLinkStyleType;
|
|
166
|
-
/**
|
|
167
|
-
* A world-coordinate point (used by link waypoints).
|
|
168
|
-
*
|
|
169
|
-
* @property x - World x
|
|
170
|
-
* @property y - World y
|
|
171
|
-
*/
|
|
172
|
-
export declare const SchematicPointType: StructType<{
|
|
173
|
-
/** World x */
|
|
174
|
-
readonly x: FloatType;
|
|
175
|
-
/** World y */
|
|
176
|
-
readonly y: FloatType;
|
|
177
|
-
}>;
|
|
178
|
-
/**
|
|
179
|
-
* Type representing world points.
|
|
180
|
-
*/
|
|
181
|
-
export type SchematicPointType = typeof SchematicPointType;
|
|
182
|
-
/**
|
|
183
|
-
* A polyline / polygon vertex — a world point plus DXF `bulge`.
|
|
184
|
-
*
|
|
185
|
-
* @remarks
|
|
186
|
-
* `bulge` encodes the edge from THIS vertex to the NEXT one: `0` is a
|
|
187
|
-
* straight segment; nonzero is a circular arc where
|
|
188
|
-
* `bulge = tan(includedAngle / 4)` and the sign gives the turn direction
|
|
189
|
-
* (positive = counter-clockwise in world space). One polyline / polygon thus
|
|
190
|
-
* stores true curved kerbs / walls exactly — no flattening into many short
|
|
191
|
-
* segments. For a closed `polygon`, the last vertex's `bulge` applies to the
|
|
192
|
-
* closing edge back to the first vertex.
|
|
193
|
-
*
|
|
194
|
-
* @property x - World x
|
|
195
|
-
* @property y - World y
|
|
196
|
-
* @property bulge - DXF bulge for the edge to the next vertex (0 = straight)
|
|
197
|
-
*/
|
|
198
|
-
export declare const SchematicVertexType: StructType<{
|
|
199
|
-
/** World x */
|
|
200
|
-
readonly x: FloatType;
|
|
201
|
-
/** World y */
|
|
202
|
-
readonly y: FloatType;
|
|
203
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
204
|
-
readonly bulge: FloatType;
|
|
205
|
-
}>;
|
|
206
|
-
/**
|
|
207
|
-
* Type representing a polyline / polygon vertex (world point + DXF bulge).
|
|
208
|
-
*/
|
|
209
|
-
export type SchematicVertexType = typeof SchematicVertexType;
|
|
210
|
-
/**
|
|
211
|
-
* Shared shape geometry for zones (`geometry`) and item footprints
|
|
212
|
-
* (`footprint`) — one variant, four cases.
|
|
213
|
-
*
|
|
214
|
-
* @remarks
|
|
215
|
-
* Geometry is **additive**: a zone keeps its required `x/y/width/height`
|
|
216
|
-
* bounding box and an item keeps its required `x/y` anchor/centroid; the
|
|
217
|
-
* shape, when present, is what the renderer strokes/fills. Absent geometry
|
|
218
|
-
* (`none`) means today's behaviour — a zone is its rect, an item is its
|
|
219
|
-
* point + icon. `circle` centres on the entity anchor (an item's `x/y`, a
|
|
220
|
-
* zone's bbox centre). `polyline` / `polygon` carry {@link SchematicVertexType}
|
|
221
|
-
* vertices in world coords, each with a DXF `bulge`, so curved kerbs / walls
|
|
222
|
-
* are exact (no flattening); all of them paint on the Canvas2D layer, while
|
|
223
|
-
* `rect` keeps the marker fast path.
|
|
224
|
-
*
|
|
225
|
-
* @property rect - Axis-aligned box (zones: the `x/y/width/height` box; items: the point / marker form)
|
|
226
|
-
* @property circle - Circle centred on the entity anchor; `radius` in world units (tanks, silos)
|
|
227
|
-
* @property polyline - Open, arc-aware polyline in world coords; optional world-space band `width`
|
|
228
|
-
* @property polygon - Closed, arc-aware polygon in world coords (>= 3 vertices, auto-closed)
|
|
229
|
-
*/
|
|
230
|
-
export declare const SchematicGeometryType: VariantType<{
|
|
231
|
-
/** Axis-aligned box — zones use `x/y/width/height`; items, the point / marker form. */
|
|
232
|
-
readonly rect: NullType;
|
|
233
|
-
/** Circle centred on the entity anchor (item `x/y` or zone bbox centre); `radius` in world units. */
|
|
234
|
-
readonly circle: StructType<{
|
|
235
|
-
/** Circle radius in world units. */
|
|
236
|
-
readonly radius: FloatType;
|
|
237
|
-
}>;
|
|
238
|
-
/** Open, arc-aware polyline in world coords; optional world-space band width. */
|
|
239
|
-
readonly polyline: StructType<{
|
|
240
|
-
/** Vertices in world coords, in order (each carries a DXF bulge). */
|
|
241
|
-
readonly vertices: ArrayType<StructType<{
|
|
242
|
-
/** World x */
|
|
243
|
-
readonly x: FloatType;
|
|
244
|
-
/** World y */
|
|
245
|
-
readonly y: FloatType;
|
|
246
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
247
|
-
readonly bulge: FloatType;
|
|
248
|
-
}>>;
|
|
249
|
-
/** Optional band width in world units — the stroke widens into a road / aisle. */
|
|
250
|
-
readonly width: OptionType<FloatType>;
|
|
251
|
-
}>;
|
|
252
|
-
/** Closed, arc-aware polygon in world coords (>= 3 vertices, auto-closed). */
|
|
253
|
-
readonly polygon: StructType<{
|
|
254
|
-
/** Boundary vertices in world coords, in order (each carries a DXF bulge). */
|
|
255
|
-
readonly vertices: ArrayType<StructType<{
|
|
256
|
-
/** World x */
|
|
257
|
-
readonly x: FloatType;
|
|
258
|
-
/** World y */
|
|
259
|
-
readonly y: FloatType;
|
|
260
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
261
|
-
readonly bulge: FloatType;
|
|
262
|
-
}>>;
|
|
263
|
-
}>;
|
|
264
|
-
}>;
|
|
265
|
-
/**
|
|
266
|
-
* Type representing shared shape geometry.
|
|
267
|
-
*/
|
|
268
|
-
export type SchematicGeometryType = typeof SchematicGeometryType;
|
|
269
|
-
/**
|
|
270
|
-
* A resolved placed item (node card).
|
|
271
|
-
*
|
|
272
|
-
* @property key - Item identity — links reference it; `onSelect` returns it
|
|
273
|
-
* @property x - World x of the card centre
|
|
274
|
-
* @property y - World y of the card centre
|
|
275
|
-
* @property label - Primary identity line
|
|
276
|
-
* @property sublabel - Optional muted second line (kind / capacity)
|
|
277
|
-
* @property icon - Optional Font Awesome solid icon name
|
|
278
|
-
* @property status - Optional status dot tone
|
|
279
|
-
* @property meter - Optional mini utilisation bar
|
|
280
|
-
* @property metric - Optional live metric text
|
|
281
|
-
* @property width - Optional world width — renders the wide bar form
|
|
282
|
-
* @property footprint - Optional shape footprint; absent ⇒ point + icon (`x/y` stay the anchor/centroid)
|
|
283
|
-
* @property tone - Optional colour override (semantic tone); absent ⇒ `status` drives the colour
|
|
284
|
-
* @property color - Optional raw CSS stroke / marker tint; wins over `tone`
|
|
285
|
-
* @property bg - Optional raw CSS fill for a polygon / circle footprint
|
|
286
|
-
* @property fillOpacity - Optional fill alpha (0–1) for a polygon / circle footprint
|
|
287
|
-
* @property weight - Optional stroke width in px
|
|
288
|
-
*/
|
|
289
|
-
export declare const SchematicItemType: StructType<{
|
|
290
|
-
/** Item identity — links reference it; `onSelect` returns it */
|
|
291
|
-
readonly key: StringType;
|
|
292
|
-
/** World x of the card centre */
|
|
293
|
-
readonly x: FloatType;
|
|
294
|
-
/** World y of the card centre */
|
|
295
|
-
readonly y: FloatType;
|
|
296
|
-
/** Primary identity line */
|
|
297
|
-
readonly label: StringType;
|
|
298
|
-
/** Optional muted second line (kind / capacity) */
|
|
299
|
-
readonly sublabel: OptionType<StringType>;
|
|
300
|
-
/** Optional Font Awesome solid icon name */
|
|
301
|
-
readonly icon: OptionType<StringType>;
|
|
302
|
-
/** Optional status dot tone */
|
|
303
|
-
readonly status: OptionType<VariantType<{
|
|
304
|
-
readonly success: NullType;
|
|
305
|
-
readonly warning: NullType;
|
|
306
|
-
readonly danger: NullType;
|
|
307
|
-
readonly info: NullType;
|
|
308
|
-
readonly neutral: NullType;
|
|
309
|
-
}>>;
|
|
310
|
-
/** Optional mini utilisation bar */
|
|
311
|
-
readonly meter: OptionType<StructType<{
|
|
312
|
-
/** Current value */
|
|
313
|
-
readonly value: FloatType;
|
|
314
|
-
/** Full-scale value */
|
|
315
|
-
readonly max: FloatType;
|
|
316
|
-
}>>;
|
|
317
|
-
/** Optional live metric text */
|
|
318
|
-
readonly metric: OptionType<StringType>;
|
|
319
|
-
/** Optional world width — renders the wide bar form */
|
|
320
|
-
readonly width: OptionType<FloatType>;
|
|
321
|
-
/** Optional shape footprint; absent ⇒ point + icon (`x/y` stay the anchor/centroid) */
|
|
322
|
-
readonly footprint: OptionType<VariantType<{
|
|
323
|
-
/** Axis-aligned box — zones use `x/y/width/height`; items, the point / marker form. */
|
|
324
|
-
readonly rect: NullType;
|
|
325
|
-
/** Circle centred on the entity anchor (item `x/y` or zone bbox centre); `radius` in world units. */
|
|
326
|
-
readonly circle: StructType<{
|
|
327
|
-
/** Circle radius in world units. */
|
|
328
|
-
readonly radius: FloatType;
|
|
329
|
-
}>;
|
|
330
|
-
/** Open, arc-aware polyline in world coords; optional world-space band width. */
|
|
331
|
-
readonly polyline: StructType<{
|
|
332
|
-
/** Vertices in world coords, in order (each carries a DXF bulge). */
|
|
333
|
-
readonly vertices: ArrayType<StructType<{
|
|
334
|
-
/** World x */
|
|
335
|
-
readonly x: FloatType;
|
|
336
|
-
/** World y */
|
|
337
|
-
readonly y: FloatType;
|
|
338
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
339
|
-
readonly bulge: FloatType;
|
|
340
|
-
}>>;
|
|
341
|
-
/** Optional band width in world units — the stroke widens into a road / aisle. */
|
|
342
|
-
readonly width: OptionType<FloatType>;
|
|
343
|
-
}>;
|
|
344
|
-
/** Closed, arc-aware polygon in world coords (>= 3 vertices, auto-closed). */
|
|
345
|
-
readonly polygon: StructType<{
|
|
346
|
-
/** Boundary vertices in world coords, in order (each carries a DXF bulge). */
|
|
347
|
-
readonly vertices: ArrayType<StructType<{
|
|
348
|
-
/** World x */
|
|
349
|
-
readonly x: FloatType;
|
|
350
|
-
/** World y */
|
|
351
|
-
readonly y: FloatType;
|
|
352
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
353
|
-
readonly bulge: FloatType;
|
|
354
|
-
}>>;
|
|
355
|
-
}>;
|
|
356
|
-
}>>;
|
|
357
|
-
/** Optional colour override (semantic tone); absent ⇒ `status` drives the colour */
|
|
358
|
-
readonly tone: OptionType<VariantType<{
|
|
359
|
-
/** Brand teal */
|
|
360
|
-
readonly brand: NullType;
|
|
361
|
-
/** Foreground ink */
|
|
362
|
-
readonly ink: NullType;
|
|
363
|
-
/** Muted foreground */
|
|
364
|
-
readonly muted: NullType;
|
|
365
|
-
/** Status ok */
|
|
366
|
-
readonly success: NullType;
|
|
367
|
-
/** Status warn */
|
|
368
|
-
readonly warning: NullType;
|
|
369
|
-
/** Status bad */
|
|
370
|
-
readonly danger: NullType;
|
|
371
|
-
}>>;
|
|
372
|
-
/** Optional raw CSS stroke / marker tint (e.g. `"#2D7FF9"`, `"teal"`); wins over `tone` */
|
|
373
|
-
readonly color: OptionType<StringType>;
|
|
374
|
-
/** Optional raw CSS fill for a polygon / circle footprint */
|
|
375
|
-
readonly bg: OptionType<StringType>;
|
|
376
|
-
/** Optional fill alpha (0–1) for a polygon / circle footprint */
|
|
377
|
-
readonly fillOpacity: OptionType<FloatType>;
|
|
378
|
-
/** Optional stroke width in px */
|
|
379
|
-
readonly weight: OptionType<FloatType>;
|
|
380
|
-
/** Optional slice-excluded flag — when a {@link SchematicSliceEffectType}
|
|
381
|
-
* is active, a `some(true)` item is treated as filtered-out (ghosted /
|
|
382
|
-
* hidden per the effect); absent / `some(false)` ⇒ included / normal. */
|
|
383
|
-
readonly excluded: OptionType<BooleanType>;
|
|
384
|
-
/** Optional layer membership — the `key` of a {@link SchematicLayerType} in
|
|
385
|
-
* the root `layers`. Hidden when its layer is hidden; absent ⇒ unlayered
|
|
386
|
-
* (always visible). An unknown key is treated as always-visible. */
|
|
387
|
-
readonly layer: OptionType<StringType>;
|
|
388
|
-
}>;
|
|
389
|
-
/**
|
|
390
|
-
* Type representing resolved placed items.
|
|
391
|
-
*/
|
|
392
|
-
export type SchematicItemType = typeof SchematicItemType;
|
|
393
|
-
/**
|
|
394
|
-
* A resolved annotation zone (room, cell, walkway band).
|
|
395
|
-
*
|
|
396
|
-
* @property key - Zone identity
|
|
397
|
-
* @property label - Mono eyebrow label on the boundary
|
|
398
|
-
* @property x - World x of the top-left corner
|
|
399
|
-
* @property y - World y of the top-left corner
|
|
400
|
-
* @property width - World width
|
|
401
|
-
* @property height - World height
|
|
402
|
-
* @property pattern - Render pattern (`outline` / `hatch`)
|
|
403
|
-
* @property geometry - Optional shape geometry; absent ⇒ rect (`x/y/width/height` stay the bounding box)
|
|
404
|
-
* @property tone - Optional colour override (semantic tone); absent ⇒ the `pattern`'s tone drives the colour
|
|
405
|
-
* @property color - Optional raw CSS stroke tint; wins over `tone`
|
|
406
|
-
* @property bg - Optional raw CSS area fill (opt-in; zones are unfilled by default)
|
|
407
|
-
* @property fillOpacity - Optional fill alpha (0–1) for the area fill
|
|
408
|
-
* @property weight - Optional stroke width in px
|
|
409
|
-
*/
|
|
410
|
-
export declare const SchematicZoneType: StructType<{
|
|
411
|
-
/** Zone identity */
|
|
412
|
-
readonly key: StringType;
|
|
413
|
-
/** Mono eyebrow label on the boundary */
|
|
414
|
-
readonly label: StringType;
|
|
415
|
-
/** World x of the top-left corner */
|
|
416
|
-
readonly x: FloatType;
|
|
417
|
-
/** World y of the top-left corner */
|
|
418
|
-
readonly y: FloatType;
|
|
419
|
-
/** World width */
|
|
420
|
-
readonly width: FloatType;
|
|
421
|
-
/** World height */
|
|
422
|
-
readonly height: FloatType;
|
|
423
|
-
/** Render pattern (`outline` / `hatch`) */
|
|
424
|
-
readonly pattern: VariantType<{
|
|
425
|
-
/** Dashed boundary with an eyebrow label (rooms, cells) */
|
|
426
|
-
readonly outline: StructType<{
|
|
427
|
-
/** Stroke tone (default `muted`) */
|
|
428
|
-
readonly tone: OptionType<VariantType<{
|
|
429
|
-
/** Brand teal */
|
|
430
|
-
readonly brand: NullType;
|
|
431
|
-
/** Foreground ink */
|
|
432
|
-
readonly ink: NullType;
|
|
433
|
-
/** Muted foreground */
|
|
434
|
-
readonly muted: NullType;
|
|
435
|
-
/** Status ok */
|
|
436
|
-
readonly success: NullType;
|
|
437
|
-
/** Status warn */
|
|
438
|
-
readonly warning: NullType;
|
|
439
|
-
/** Status bad */
|
|
440
|
-
readonly danger: NullType;
|
|
441
|
-
}>>;
|
|
442
|
-
}>;
|
|
443
|
-
/** Hatched band (walkways, aisles, exclusion strips) */
|
|
444
|
-
readonly hatch: StructType<{
|
|
445
|
-
/** Hatch-line tone (default `muted`) */
|
|
446
|
-
readonly tone: OptionType<VariantType<{
|
|
447
|
-
/** Brand teal */
|
|
448
|
-
readonly brand: NullType;
|
|
449
|
-
/** Foreground ink */
|
|
450
|
-
readonly ink: NullType;
|
|
451
|
-
/** Muted foreground */
|
|
452
|
-
readonly muted: NullType;
|
|
453
|
-
/** Status ok */
|
|
454
|
-
readonly success: NullType;
|
|
455
|
-
/** Status warn */
|
|
456
|
-
readonly warning: NullType;
|
|
457
|
-
/** Status bad */
|
|
458
|
-
readonly danger: NullType;
|
|
459
|
-
}>>;
|
|
460
|
-
/** Line spacing in pixels (default 8) */
|
|
461
|
-
readonly spacing: OptionType<FloatType>;
|
|
462
|
-
/** Line angle in degrees (default 45) */
|
|
463
|
-
readonly angle: OptionType<FloatType>;
|
|
464
|
-
}>;
|
|
465
|
-
}>;
|
|
466
|
-
/** Optional shape geometry; absent ⇒ rect (`x/y/width/height` stay the bounding box) */
|
|
467
|
-
readonly geometry: OptionType<VariantType<{
|
|
468
|
-
/** Axis-aligned box — zones use `x/y/width/height`; items, the point / marker form. */
|
|
469
|
-
readonly rect: NullType;
|
|
470
|
-
/** Circle centred on the entity anchor (item `x/y` or zone bbox centre); `radius` in world units. */
|
|
471
|
-
readonly circle: StructType<{
|
|
472
|
-
/** Circle radius in world units. */
|
|
473
|
-
readonly radius: FloatType;
|
|
474
|
-
}>;
|
|
475
|
-
/** Open, arc-aware polyline in world coords; optional world-space band width. */
|
|
476
|
-
readonly polyline: StructType<{
|
|
477
|
-
/** Vertices in world coords, in order (each carries a DXF bulge). */
|
|
478
|
-
readonly vertices: ArrayType<StructType<{
|
|
479
|
-
/** World x */
|
|
480
|
-
readonly x: FloatType;
|
|
481
|
-
/** World y */
|
|
482
|
-
readonly y: FloatType;
|
|
483
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
484
|
-
readonly bulge: FloatType;
|
|
485
|
-
}>>;
|
|
486
|
-
/** Optional band width in world units — the stroke widens into a road / aisle. */
|
|
487
|
-
readonly width: OptionType<FloatType>;
|
|
488
|
-
}>;
|
|
489
|
-
/** Closed, arc-aware polygon in world coords (>= 3 vertices, auto-closed). */
|
|
490
|
-
readonly polygon: StructType<{
|
|
491
|
-
/** Boundary vertices in world coords, in order (each carries a DXF bulge). */
|
|
492
|
-
readonly vertices: ArrayType<StructType<{
|
|
493
|
-
/** World x */
|
|
494
|
-
readonly x: FloatType;
|
|
495
|
-
/** World y */
|
|
496
|
-
readonly y: FloatType;
|
|
497
|
-
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`). */
|
|
498
|
-
readonly bulge: FloatType;
|
|
499
|
-
}>>;
|
|
500
|
-
}>;
|
|
501
|
-
}>>;
|
|
502
|
-
/** Optional colour override (semantic tone); absent ⇒ the `pattern`'s tone drives the colour */
|
|
503
|
-
readonly tone: OptionType<VariantType<{
|
|
504
|
-
/** Brand teal */
|
|
505
|
-
readonly brand: NullType;
|
|
506
|
-
/** Foreground ink */
|
|
507
|
-
readonly ink: NullType;
|
|
508
|
-
/** Muted foreground */
|
|
509
|
-
readonly muted: NullType;
|
|
510
|
-
/** Status ok */
|
|
511
|
-
readonly success: NullType;
|
|
512
|
-
/** Status warn */
|
|
513
|
-
readonly warning: NullType;
|
|
514
|
-
/** Status bad */
|
|
515
|
-
readonly danger: NullType;
|
|
516
|
-
}>>;
|
|
517
|
-
/** Optional raw CSS stroke tint (e.g. `"#2D7FF9"`, `"teal"`); wins over `tone` */
|
|
518
|
-
readonly color: OptionType<StringType>;
|
|
519
|
-
/** Optional raw CSS area fill (opt-in; zones are unfilled by default) */
|
|
520
|
-
readonly bg: OptionType<StringType>;
|
|
521
|
-
/** Optional fill alpha (0–1) for the area fill */
|
|
522
|
-
readonly fillOpacity: OptionType<FloatType>;
|
|
523
|
-
/** Optional stroke width in px */
|
|
524
|
-
readonly weight: OptionType<FloatType>;
|
|
525
|
-
/** Optional layer membership — the `key` of a {@link SchematicLayerType};
|
|
526
|
-
* hidden when its layer is hidden. Absent ⇒ unlayered (always visible). */
|
|
527
|
-
readonly layer: OptionType<StringType>;
|
|
528
|
-
}>;
|
|
529
|
-
/**
|
|
530
|
-
* Type representing resolved zones.
|
|
531
|
-
*/
|
|
532
|
-
export type SchematicZoneType = typeof SchematicZoneType;
|
|
533
|
-
/**
|
|
534
|
-
* A resolved link between two placed items.
|
|
535
|
-
*
|
|
536
|
-
* @property key - Link identity
|
|
537
|
-
* @property from - Source item key
|
|
538
|
-
* @property to - Destination item key
|
|
539
|
-
* @property label - Optional mid-path label (name / flow description)
|
|
540
|
-
* @property metric - Optional mid-path metric readout (muted, after the label)
|
|
541
|
-
* @property style - Render style (`solid` / `dashed`, with stroke config)
|
|
542
|
-
* @property route - Routing mode (`orthogonal` / `direct`)
|
|
543
|
-
* @property via - Optional world-coordinate waypoints, in order
|
|
544
|
-
*/
|
|
545
|
-
export declare const SchematicLinkType: StructType<{
|
|
546
|
-
/** Link identity */
|
|
547
|
-
readonly key: StringType;
|
|
548
|
-
/** Source item key */
|
|
549
|
-
readonly from: StringType;
|
|
550
|
-
/** Destination item key */
|
|
551
|
-
readonly to: StringType;
|
|
552
|
-
/** Optional label rendered mid-path (a name / flow description); hidden when zoomed out past the label band */
|
|
553
|
-
readonly label: OptionType<StringType>;
|
|
554
|
-
/** Optional metric rendered after the label mid-path (a rate / capacity readout), muted */
|
|
555
|
-
readonly metric: OptionType<StringType>;
|
|
556
|
-
/** Render style (`solid` / `dashed`, with stroke config) */
|
|
557
|
-
readonly style: VariantType<{
|
|
558
|
-
/** A physical run (pipe, conveyor) */
|
|
559
|
-
readonly solid: StructType<{
|
|
560
|
-
/** Stroke tone (default `brand`) */
|
|
561
|
-
readonly tone: OptionType<VariantType<{
|
|
562
|
-
/** Brand teal */
|
|
563
|
-
readonly brand: NullType;
|
|
564
|
-
/** Foreground ink */
|
|
565
|
-
readonly ink: NullType;
|
|
566
|
-
/** Muted foreground */
|
|
567
|
-
readonly muted: NullType;
|
|
568
|
-
/** Status ok */
|
|
569
|
-
readonly success: NullType;
|
|
570
|
-
/** Status warn */
|
|
571
|
-
readonly warning: NullType;
|
|
572
|
-
/** Status bad */
|
|
573
|
-
readonly danger: NullType;
|
|
574
|
-
}>>;
|
|
575
|
-
/** Stroke width in pixels (default 2.5) */
|
|
576
|
-
readonly weight: OptionType<FloatType>;
|
|
577
|
-
}>;
|
|
578
|
-
/** A routing / logical connection */
|
|
579
|
-
readonly dashed: StructType<{
|
|
580
|
-
/** Stroke tone (default `muted`) */
|
|
581
|
-
readonly tone: OptionType<VariantType<{
|
|
582
|
-
/** Brand teal */
|
|
583
|
-
readonly brand: NullType;
|
|
584
|
-
/** Foreground ink */
|
|
585
|
-
readonly ink: NullType;
|
|
586
|
-
/** Muted foreground */
|
|
587
|
-
readonly muted: NullType;
|
|
588
|
-
/** Status ok */
|
|
589
|
-
readonly success: NullType;
|
|
590
|
-
/** Status warn */
|
|
591
|
-
readonly warning: NullType;
|
|
592
|
-
/** Status bad */
|
|
593
|
-
readonly danger: NullType;
|
|
594
|
-
}>>;
|
|
595
|
-
/** Stroke width in pixels (default 1.5) */
|
|
596
|
-
readonly weight: OptionType<FloatType>;
|
|
597
|
-
}>;
|
|
598
|
-
}>;
|
|
599
|
-
/** Routing mode (`orthogonal` / `direct`) */
|
|
600
|
-
readonly route: VariantType<{
|
|
601
|
-
/** Axis-aligned with rounded corners */
|
|
602
|
-
readonly orthogonal: StructType<{
|
|
603
|
-
/** Corner radius in pixels (default 8) */
|
|
604
|
-
readonly corner: OptionType<FloatType>;
|
|
605
|
-
}>;
|
|
606
|
-
/** Straight segments between anchors */
|
|
607
|
-
readonly direct: NullType;
|
|
608
|
-
}>;
|
|
609
|
-
/** Optional world-coordinate waypoints, in order */
|
|
610
|
-
readonly via: ArrayType<StructType<{
|
|
611
|
-
/** World x */
|
|
612
|
-
readonly x: FloatType;
|
|
613
|
-
/** World y */
|
|
614
|
-
readonly y: FloatType;
|
|
615
|
-
}>>;
|
|
616
|
-
/** Optional layer membership — the `key` of a {@link SchematicLayerType};
|
|
617
|
-
* hidden when its layer is hidden (a link also vanishes when either endpoint
|
|
618
|
-
* item is hidden). Absent ⇒ unlayered (always visible). */
|
|
619
|
-
readonly layer: OptionType<StringType>;
|
|
620
|
-
}>;
|
|
621
|
-
/**
|
|
622
|
-
* Type representing resolved links.
|
|
623
|
-
*/
|
|
624
|
-
export type SchematicLinkType = typeof SchematicLinkType;
|
|
625
|
-
/**
|
|
626
|
-
* Positive emphasis applied to the remaining (matched) items when a
|
|
627
|
-
* {@link SchematicSliceEffectType} is active.
|
|
628
|
-
*
|
|
629
|
-
* @remarks
|
|
630
|
-
* `halo` draws a static highlight ring behind each matched marker / card;
|
|
631
|
-
* `pulse` animates that ring (a slow breathing glow) to pull the eye to the
|
|
632
|
-
* survivors. `pulse` runs a lightweight animation loop; `halo` repaints on the
|
|
633
|
-
* normal frame path.
|
|
634
|
-
*
|
|
635
|
-
* @property halo - Static highlight ring on matched items
|
|
636
|
-
* @property pulse - Animated pulse ring on matched items
|
|
637
|
-
*/
|
|
638
|
-
export declare const SchematicEmphasisType: VariantType<{
|
|
639
|
-
/** Static highlight ring on matched items. */
|
|
640
|
-
readonly halo: NullType;
|
|
641
|
-
/** Animated pulse ring on matched items. */
|
|
642
|
-
readonly pulse: NullType;
|
|
643
|
-
}>;
|
|
644
|
-
/**
|
|
645
|
-
* Type representing the matched-item emphasis style.
|
|
646
|
-
*/
|
|
647
|
-
export type SchematicEmphasisType = typeof SchematicEmphasisType;
|
|
648
|
-
/**
|
|
649
|
-
* Optional slice-driven render effect — how the Schematic treats items once a
|
|
650
|
-
* bound slice narrows them, instead of the default "hidden completely". A flat
|
|
651
|
-
* bag of independently-optional settings, mirroring the flat `sliceHidden` /
|
|
652
|
-
* `sliceOpacity` / `sliceEmphasis` / … config props (each driven statically or
|
|
653
|
-
* reactively via `SubtypeExprOrValue`).
|
|
654
|
-
*
|
|
655
|
-
* @remarks
|
|
656
|
-
* Feed the **full** item set (not `Slice.rows`) and mark each item's `excluded`
|
|
657
|
-
* flag (e.g. via `Slice.partition`, or `Slice.apply.matches(...).not()`).
|
|
658
|
-
* `hidden` removes the filtered-out items entirely (else they stay as context);
|
|
659
|
-
* `opacity` / `desaturate` / `dot` de-emphasise the kept ones; `emphasis`
|
|
660
|
-
* highlights the remainder; `frame` boxes the matched set and `frameFit` also
|
|
661
|
-
* flies the camera to it. Every field absent is a no-op.
|
|
662
|
-
*
|
|
663
|
-
* @property hidden - Remove filtered-out items entirely; absent / `some(false)` ⇒ keep as context
|
|
664
|
-
* @property opacity - Fade alpha (0–1) for kept filtered-out items; absent ⇒ full
|
|
665
|
-
* @property desaturate - Drain kept filtered-out items' colour to grey
|
|
666
|
-
* @property dot - Collapse kept filtered-out items to a bare dot
|
|
667
|
-
* @property emphasis - Positive emphasis on matched items (absent ⇒ none)
|
|
668
|
-
* @property frame - Draw a bounding frame around the matched set
|
|
669
|
-
* @property frameFit - Auto-fit the camera to the matched frame when the set changes
|
|
670
|
-
*/
|
|
671
|
-
export declare const SchematicSliceEffectType: StructType<{
|
|
672
|
-
/** Remove filtered-out items entirely; absent / `some(false)` ⇒ keep as context. */
|
|
673
|
-
readonly hidden: OptionType<BooleanType>;
|
|
674
|
-
/** Fade alpha (0–1) for kept filtered-out items; absent ⇒ full. */
|
|
675
|
-
readonly opacity: OptionType<FloatType>;
|
|
676
|
-
/** Drain kept filtered-out items' colour to grey. */
|
|
677
|
-
readonly desaturate: OptionType<BooleanType>;
|
|
678
|
-
/** Collapse kept filtered-out items to a bare dot (drop card / label / footprint). */
|
|
679
|
-
readonly dot: OptionType<BooleanType>;
|
|
680
|
-
/** Positive emphasis on matched items; absent ⇒ none. */
|
|
681
|
-
readonly emphasis: OptionType<VariantType<{
|
|
682
|
-
/** Static highlight ring on matched items. */
|
|
683
|
-
readonly halo: NullType;
|
|
684
|
-
/** Animated pulse ring on matched items. */
|
|
685
|
-
readonly pulse: NullType;
|
|
686
|
-
}>>;
|
|
687
|
-
/** Draw a bounding frame around the matched set. */
|
|
688
|
-
readonly frame: OptionType<BooleanType>;
|
|
689
|
-
/** Auto-fit the camera to the matched frame when the matched set changes. */
|
|
690
|
-
readonly frameFit: OptionType<BooleanType>;
|
|
691
|
-
}>;
|
|
692
|
-
/**
|
|
693
|
-
* Type representing the slice-driven render effect.
|
|
694
|
-
*/
|
|
695
|
-
export type SchematicSliceEffectType = typeof SchematicSliceEffectType;
|
|
696
|
-
/**
|
|
697
|
-
* A named layer — a cross-cutting group of items / zones / links that can be
|
|
698
|
-
* shown, hidden, isolated (solo), locked, or dimmed together via the canvas
|
|
699
|
-
* layer button.
|
|
700
|
-
*
|
|
701
|
-
* @remarks
|
|
702
|
-
* Membership is by `key`: an entity's `layer` field names the layer it belongs
|
|
703
|
-
* to. Layer visibility / lock are VIEW state (owned by the renderer, persisted
|
|
704
|
-
* per panel); the `visible` / `locked` here are the AUTHOR defaults the user's
|
|
705
|
-
* toggles override. `opacity` dims the layer's items (markers / footprints) in
|
|
706
|
-
* v1 (zone / link dimming is not yet applied). `tone` colours the panel swatch
|
|
707
|
-
* (theme-owned). Membership is strictly per-entity — hiding a container zone
|
|
708
|
-
* does not hide the items geometrically inside it.
|
|
709
|
-
*
|
|
710
|
-
* @property key - Layer identity — entities reference it via their `layer` field
|
|
711
|
-
* @property label - Display name shown in the layer panel
|
|
712
|
-
* @property visible - Author default visibility; absent / `some(true)` ⇒ shown, `some(false)` ⇒ ships hidden
|
|
713
|
-
* @property locked - Author default lock (non-selectable); absent ⇒ unlocked
|
|
714
|
-
* @property opacity - Optional item dim (0–1) for the layer's items; absent ⇒ full
|
|
715
|
-
* @property tone - Optional panel swatch tone
|
|
716
|
-
*/
|
|
717
|
-
export declare const SchematicLayerType: StructType<{
|
|
718
|
-
/** Layer identity — entities reference it via their `layer` field. */
|
|
719
|
-
readonly key: StringType;
|
|
720
|
-
/** Display name shown in the layer panel. */
|
|
721
|
-
readonly label: StringType;
|
|
722
|
-
/** Author default visibility; `some(false)` ships hidden, absent ⇒ shown. */
|
|
723
|
-
readonly visible: OptionType<BooleanType>;
|
|
724
|
-
/** Author default lock (non-selectable); absent ⇒ unlocked. */
|
|
725
|
-
readonly locked: OptionType<BooleanType>;
|
|
726
|
-
/** Optional item dim (0–1) for the layer's items; absent ⇒ full. */
|
|
727
|
-
readonly opacity: OptionType<FloatType>;
|
|
728
|
-
/** Optional panel swatch tone. */
|
|
729
|
-
readonly tone: OptionType<VariantType<{
|
|
730
|
-
/** Brand teal */
|
|
731
|
-
readonly brand: NullType;
|
|
732
|
-
/** Foreground ink */
|
|
733
|
-
readonly ink: NullType;
|
|
734
|
-
/** Muted foreground */
|
|
735
|
-
readonly muted: NullType;
|
|
736
|
-
/** Status ok */
|
|
737
|
-
readonly success: NullType;
|
|
738
|
-
/** Status warn */
|
|
739
|
-
readonly warning: NullType;
|
|
740
|
-
/** Status bad */
|
|
741
|
-
readonly danger: NullType;
|
|
742
|
-
}>>;
|
|
743
|
-
}>;
|
|
744
|
-
/**
|
|
745
|
-
* Type representing a schematic layer.
|
|
746
|
-
*/
|
|
747
|
-
export type SchematicLayerType = typeof SchematicLayerType;
|
|
748
|
-
/**
|
|
749
|
-
* Selection cardinality for the Schematic. Absent on the root ⇒ `single`.
|
|
750
|
-
*
|
|
751
|
-
* @remarks
|
|
752
|
-
* `single` keeps today's behaviour — one selected item at a time, no
|
|
753
|
-
* marquee. `multiple` is the multi-select mode: it reveals a marquee tool
|
|
754
|
-
* in a second control group, where a plain tap / box **replaces** the
|
|
755
|
-
* selection and **Shift**+tap / **Shift**+box **extend** it (Shift-tap
|
|
756
|
-
* toggles a single item; Shift-box unions). Esc / the clear button reset.
|
|
757
|
-
*
|
|
758
|
-
* @property single - At most one item selected; tap replaces (default; no marquee)
|
|
759
|
-
* @property multiple - Multi-select; tap / box replace, Shift+tap / Shift+box extend
|
|
760
|
-
*/
|
|
761
|
-
export declare const SchematicSelectionModeType: VariantType<{
|
|
762
|
-
/** At most one item selected; tap replaces (default; no marquee). */
|
|
763
|
-
readonly single: NullType;
|
|
764
|
-
/** Multi-select; tap / box replace, Shift+tap toggles and Shift+box unions. */
|
|
765
|
-
readonly multiple: NullType;
|
|
766
|
-
}>;
|
|
767
|
-
/**
|
|
768
|
-
* Type representing the Schematic selection cardinality.
|
|
769
|
-
*/
|
|
770
|
-
export type SchematicSelectionModeType = typeof SchematicSelectionModeType;
|
|
771
|
-
/**
|
|
772
|
-
* A world-coordinate rectangle swept by a marquee gesture — matches the
|
|
773
|
-
* box handed to the spatial index, so coordinates are world units.
|
|
774
|
-
*
|
|
775
|
-
* @property minX - Left edge (world units)
|
|
776
|
-
* @property minY - Top edge (world units)
|
|
777
|
-
* @property maxX - Right edge (world units)
|
|
778
|
-
* @property maxY - Bottom edge (world units)
|
|
779
|
-
*/
|
|
780
|
-
export declare const SchematicRegionType: StructType<{
|
|
781
|
-
/** Left edge (world units). */
|
|
782
|
-
readonly minX: FloatType;
|
|
783
|
-
/** Top edge (world units). */
|
|
784
|
-
readonly minY: FloatType;
|
|
785
|
-
/** Right edge (world units). */
|
|
786
|
-
readonly maxX: FloatType;
|
|
787
|
-
/** Bottom edge (world units). */
|
|
788
|
-
readonly maxY: FloatType;
|
|
789
|
-
}>;
|
|
790
|
-
/**
|
|
791
|
-
* Type representing a swept marquee region.
|
|
792
|
-
*/
|
|
793
|
-
export type SchematicRegionType = typeof SchematicRegionType;
|
|
794
|
-
/**
|
|
795
|
-
* Selection-set change event — the Schematic analogue of Table's
|
|
796
|
-
* `TableRowSelectionEventType`. Passed to `onSelectionChange` whenever the
|
|
797
|
-
* selected set changes (a tap, a marquee sweep, or a clear).
|
|
798
|
-
*
|
|
799
|
-
* @remarks
|
|
800
|
-
* `key` is `some` for a single-item tap and `none` for a bulk marquee or a
|
|
801
|
-
* clear. `selectedKeys` is always the FULL selection after the gesture (the
|
|
802
|
-
* spatial analogue of `selectedRowsIndices`). `region` is `some` only for a
|
|
803
|
-
* marquee sweep.
|
|
804
|
-
*
|
|
805
|
-
* @property key - The item that triggered the change (some for a tap; none for marquee / clear)
|
|
806
|
-
* @property selected - Whether `key` is now selected (for a tap); for bulk changes, whether the set is non-empty
|
|
807
|
-
* @property selectedKeys - The full selected set after the gesture
|
|
808
|
-
* @property additive - Whether the gesture added to the prior selection (true) or replaced it (false)
|
|
809
|
-
* @property region - The world rectangle a marquee swept (some for a marquee; none for tap / clear)
|
|
810
|
-
*/
|
|
811
|
-
export declare const SchematicSelectionEventType: StructType<{
|
|
812
|
-
/** The item that triggered the change (some for a tap; none for marquee / clear). */
|
|
813
|
-
readonly key: OptionType<StringType>;
|
|
814
|
-
/** Whether `key` is now selected (tap); for bulk changes, whether the set is non-empty. */
|
|
815
|
-
readonly selected: BooleanType;
|
|
816
|
-
/** The full selected set after the gesture. */
|
|
817
|
-
readonly selectedKeys: ArrayType<StringType>;
|
|
818
|
-
/** Whether the gesture added to the prior selection (true) or replaced it (false). */
|
|
819
|
-
readonly additive: BooleanType;
|
|
820
|
-
/** The world rectangle a marquee swept (some for a marquee; none for tap / clear). */
|
|
821
|
-
readonly region: OptionType<StructType<{
|
|
822
|
-
/** Left edge (world units). */
|
|
823
|
-
readonly minX: FloatType;
|
|
824
|
-
/** Top edge (world units). */
|
|
825
|
-
readonly minY: FloatType;
|
|
826
|
-
/** Right edge (world units). */
|
|
827
|
-
readonly maxX: FloatType;
|
|
828
|
-
/** Bottom edge (world units). */
|
|
829
|
-
readonly maxY: FloatType;
|
|
830
|
-
}>>;
|
|
831
|
-
}>;
|
|
832
|
-
/**
|
|
833
|
-
* Type representing a Schematic selection-set change event.
|
|
834
|
-
*/
|
|
835
|
-
export type SchematicSelectionEventType = typeof SchematicSelectionEventType;
|
|
836
|
-
/**
|
|
837
|
-
* Viewport-settled event — the camera zoom plus the visible world rectangle,
|
|
838
|
-
* reported (debounced) after a pan / zoom / fly / resize settles. Passed to
|
|
839
|
-
* `onViewportChange` so hosts can sync external UI, lazy-load data for the
|
|
840
|
-
* visible region, or persist the view.
|
|
841
|
-
*
|
|
842
|
-
* @property zoom - The settled camera zoom (1 = fully zoomed out)
|
|
843
|
-
* @property minX - Left edge of the visible world rect
|
|
844
|
-
* @property minY - Top edge of the visible world rect
|
|
845
|
-
* @property maxX - Right edge of the visible world rect
|
|
846
|
-
* @property maxY - Bottom edge of the visible world rect
|
|
847
|
-
*/
|
|
848
|
-
export declare const SchematicViewportEventType: StructType<{
|
|
849
|
-
/** The settled camera zoom (1 = fully zoomed out). */
|
|
850
|
-
readonly zoom: FloatType;
|
|
851
|
-
/** Left edge of the visible world rect. */
|
|
852
|
-
readonly minX: FloatType;
|
|
853
|
-
/** Top edge of the visible world rect. */
|
|
854
|
-
readonly minY: FloatType;
|
|
855
|
-
/** Right edge of the visible world rect. */
|
|
856
|
-
readonly maxX: FloatType;
|
|
857
|
-
/** Bottom edge of the visible world rect. */
|
|
858
|
-
readonly maxY: FloatType;
|
|
859
|
-
}>;
|
|
860
|
-
/**
|
|
861
|
-
* Type representing a Schematic viewport-settled event.
|
|
862
|
-
*/
|
|
863
|
-
export type SchematicViewportEventType = typeof SchematicViewportEventType;
|
|
864
|
-
/**
|
|
865
|
-
* Zone (area) selection-set change event — the zone analogue of
|
|
866
|
-
* `SchematicSelectionEventType`, passed to `onZoneSelectionChange` whenever
|
|
867
|
-
* the selected ZONE set changes (a tap on a zone body, a nav-rail zone click,
|
|
868
|
-
* or a clear).
|
|
869
|
-
*
|
|
870
|
-
* @remarks
|
|
871
|
-
* `childItemKeys` reports the items sitting **inside** the selected zones —
|
|
872
|
-
* an item counts when its innermost containing zone, or any of that zone's
|
|
873
|
-
* ancestors, is selected (so selecting a hall includes items in its nested
|
|
874
|
-
* cells). Items always take hit-test precedence: tapping an item never
|
|
875
|
-
* selects its host zone.
|
|
876
|
-
*
|
|
877
|
-
* @property key - The zone that triggered the change (some for a tap; none for a clear)
|
|
878
|
-
* @property selected - Whether `key` is now selected; for bulk changes, whether the set is non-empty
|
|
879
|
-
* @property selectedKeys - The full selected zone set after the gesture
|
|
880
|
-
* @property childItemKeys - Item keys inside the selected zones (nested descendants included)
|
|
881
|
-
* @property additive - Whether the gesture added to the prior selection (true) or replaced it (false)
|
|
882
|
-
*/
|
|
883
|
-
export declare const SchematicZoneSelectionEventType: StructType<{
|
|
884
|
-
/** The zone that triggered the change (some for a tap; none for a clear). */
|
|
885
|
-
readonly key: OptionType<StringType>;
|
|
886
|
-
/** Whether `key` is now selected (tap); for bulk changes, whether the set is non-empty. */
|
|
887
|
-
readonly selected: BooleanType;
|
|
888
|
-
/** The full selected zone set after the gesture. */
|
|
889
|
-
readonly selectedKeys: ArrayType<StringType>;
|
|
890
|
-
/** Item keys inside the selected zones (nested descendants included). */
|
|
891
|
-
readonly childItemKeys: ArrayType<StringType>;
|
|
892
|
-
/** Whether the gesture added to the prior selection (true) or replaced it (false). */
|
|
893
|
-
readonly additive: BooleanType;
|
|
894
|
-
}>;
|
|
895
|
-
/**
|
|
896
|
-
* Type representing a Schematic zone selection-set change event.
|
|
897
|
-
*/
|
|
898
|
-
export type SchematicZoneSelectionEventType = typeof SchematicZoneSelectionEventType;
|
|
899
|
-
/**
|
|
900
|
-
* Link-gesture mode for the connect tool. Absent on the root ⇒ `draw`.
|
|
901
|
-
*
|
|
902
|
-
* @remarks
|
|
903
|
-
* `draw`: a committed connect gesture adds a **physical link** to the
|
|
904
|
-
* renderer's local link state (the form-input model — works with no callback
|
|
905
|
-
* wired), and `onCreateLink` fires in addition. `connect`: the gesture is a
|
|
906
|
-
* **pure connection event** — nothing is added; only `onCreateLink` fires
|
|
907
|
-
* (with the pair, the accumulated session, and any existing links between the
|
|
908
|
-
* endpoints), and the gesture stays repeatable — the channel for planning
|
|
909
|
-
* operations between plant areas rather than drawing pipes.
|
|
910
|
-
*
|
|
911
|
-
* @property draw - The gesture draws a physical link (local-state-first)
|
|
912
|
-
* @property connect - The gesture only fires the event (nothing added; repeatable)
|
|
913
|
-
*/
|
|
914
|
-
export declare const SchematicLinkModeType: VariantType<{
|
|
915
|
-
/** The gesture draws a physical link (local-state-first). */
|
|
916
|
-
readonly draw: NullType;
|
|
917
|
-
/** The gesture only fires the event (nothing added; repeatable). */
|
|
918
|
-
readonly connect: NullType;
|
|
919
|
-
}>;
|
|
920
|
-
/**
|
|
921
|
-
* Type representing the Schematic link-gesture mode.
|
|
922
|
-
*/
|
|
923
|
-
export type SchematicLinkModeType = typeof SchematicLinkModeType;
|
|
924
|
-
/**
|
|
925
|
-
* One connection's endpoints — the unit a connect gesture produces.
|
|
926
|
-
*
|
|
927
|
-
* @property key - Renderer-generated key for the gesture's connection
|
|
928
|
-
* @property from - Source item key
|
|
929
|
-
* @property to - Destination item key
|
|
930
|
-
*/
|
|
931
|
-
export declare const SchematicLinkEndpointsType: StructType<{
|
|
932
|
-
/** Renderer-generated key for the gesture's connection. */
|
|
933
|
-
readonly key: StringType;
|
|
934
|
-
/** Source item key. */
|
|
935
|
-
readonly from: StringType;
|
|
936
|
-
/** Destination item key. */
|
|
937
|
-
readonly to: StringType;
|
|
938
|
-
}>;
|
|
939
|
-
/**
|
|
940
|
-
* Type representing a connect gesture's endpoints.
|
|
941
|
-
*/
|
|
942
|
-
export type SchematicLinkEndpointsType = typeof SchematicLinkEndpointsType;
|
|
943
|
-
/**
|
|
944
|
-
* A connect-session collapsed to net endpoints — carried on every
|
|
945
|
-
* `onCreateLink` so handlers can upsert ONE net per session.
|
|
946
|
-
*
|
|
947
|
-
* @remarks
|
|
948
|
-
* `key` is the SESSION key, stable across all of a session's commits: the
|
|
949
|
-
* plain drag and every Shift-extension report the same `key` with the
|
|
950
|
-
* accumulated `sources` (distinct froms) and `destinations` (distinct tos).
|
|
951
|
-
*
|
|
952
|
-
* @property key - The session key (stable across the session's commits)
|
|
953
|
-
* @property sources - Distinct source item keys so far
|
|
954
|
-
* @property destinations - Distinct destination item keys so far
|
|
955
|
-
*/
|
|
956
|
-
export declare const SchematicNetEndpointsType: StructType<{
|
|
957
|
-
/** The session key (stable across the session's commits). */
|
|
958
|
-
readonly key: StringType;
|
|
959
|
-
/** Distinct source item keys so far. */
|
|
960
|
-
readonly sources: ArrayType<StringType>;
|
|
961
|
-
/** Distinct destination item keys so far. */
|
|
962
|
-
readonly destinations: ArrayType<StringType>;
|
|
963
|
-
}>;
|
|
964
|
-
/**
|
|
965
|
-
* Type representing a session's net endpoints.
|
|
966
|
-
*/
|
|
967
|
-
export type SchematicNetEndpointsType = typeof SchematicNetEndpointsType;
|
|
968
|
-
/**
|
|
969
|
-
* A net — a manifold / bus link joining MANY sources to MANY destinations as
|
|
970
|
-
* ONE entity, rendered as a trunk with per-endpoint branches.
|
|
971
|
-
*
|
|
972
|
-
* @remarks
|
|
973
|
-
* Use a net when the real topology is a shared run (a CIP manifold feeding
|
|
974
|
-
* 30 units, a header bridging two banks) — one row instead of a pairwise
|
|
975
|
-
* `links` explosion. The trunk routes like a link (`route`, with `via` as
|
|
976
|
-
* TRUNK waypoints); each source branches into the trunk head, each
|
|
977
|
-
* destination off the tail. A branch drops when its endpoint item is hidden
|
|
978
|
-
* (layer / slice-hide); the whole net hides when either side empties, or
|
|
979
|
-
* when its own `layer` is hidden.
|
|
980
|
-
*
|
|
981
|
-
* @property key - Net identity (participates in link selection / deletion)
|
|
982
|
-
* @property sources - Source item keys (the feeding side)
|
|
983
|
-
* @property destinations - Destination item keys (the fed side)
|
|
984
|
-
* @property label - Optional mid-trunk label (name / flow description)
|
|
985
|
-
* @property metric - Optional mid-trunk metric readout (muted, after the label)
|
|
986
|
-
* @property style - Render style (`solid` / `dashed`) — one stroke for the whole net
|
|
987
|
-
* @property route - Trunk routing mode (`orthogonal` / `direct`)
|
|
988
|
-
* @property via - Optional world-coordinate TRUNK waypoints, in order
|
|
989
|
-
* @property layer - Optional layer membership — hidden when its layer is hidden
|
|
990
|
-
*/
|
|
991
|
-
export declare const SchematicNetType: StructType<{
|
|
992
|
-
/** Net identity (participates in link selection / deletion) */
|
|
993
|
-
readonly key: StringType;
|
|
994
|
-
/** Source item keys (the feeding side) */
|
|
995
|
-
readonly sources: ArrayType<StringType>;
|
|
996
|
-
/** Destination item keys (the fed side) */
|
|
997
|
-
readonly destinations: ArrayType<StringType>;
|
|
998
|
-
/** Optional label rendered mid-trunk */
|
|
999
|
-
readonly label: OptionType<StringType>;
|
|
1000
|
-
/** Optional metric rendered after the label mid-trunk, muted */
|
|
1001
|
-
readonly metric: OptionType<StringType>;
|
|
1002
|
-
/** Render style (`solid` / `dashed`, with stroke config) */
|
|
1003
|
-
readonly style: VariantType<{
|
|
1004
|
-
/** A physical run (pipe, conveyor) */
|
|
1005
|
-
readonly solid: StructType<{
|
|
1006
|
-
/** Stroke tone (default `brand`) */
|
|
1007
|
-
readonly tone: OptionType<VariantType<{
|
|
1008
|
-
/** Brand teal */
|
|
1009
|
-
readonly brand: NullType;
|
|
1010
|
-
/** Foreground ink */
|
|
1011
|
-
readonly ink: NullType;
|
|
1012
|
-
/** Muted foreground */
|
|
1013
|
-
readonly muted: NullType;
|
|
1014
|
-
/** Status ok */
|
|
1015
|
-
readonly success: NullType;
|
|
1016
|
-
/** Status warn */
|
|
1017
|
-
readonly warning: NullType;
|
|
1018
|
-
/** Status bad */
|
|
1019
|
-
readonly danger: NullType;
|
|
1020
|
-
}>>;
|
|
1021
|
-
/** Stroke width in pixels (default 2.5) */
|
|
1022
|
-
readonly weight: OptionType<FloatType>;
|
|
1023
|
-
}>;
|
|
1024
|
-
/** A routing / logical connection */
|
|
1025
|
-
readonly dashed: StructType<{
|
|
1026
|
-
/** Stroke tone (default `muted`) */
|
|
1027
|
-
readonly tone: OptionType<VariantType<{
|
|
1028
|
-
/** Brand teal */
|
|
1029
|
-
readonly brand: NullType;
|
|
1030
|
-
/** Foreground ink */
|
|
1031
|
-
readonly ink: NullType;
|
|
1032
|
-
/** Muted foreground */
|
|
1033
|
-
readonly muted: NullType;
|
|
1034
|
-
/** Status ok */
|
|
1035
|
-
readonly success: NullType;
|
|
1036
|
-
/** Status warn */
|
|
1037
|
-
readonly warning: NullType;
|
|
1038
|
-
/** Status bad */
|
|
1039
|
-
readonly danger: NullType;
|
|
1040
|
-
}>>;
|
|
1041
|
-
/** Stroke width in pixels (default 1.5) */
|
|
1042
|
-
readonly weight: OptionType<FloatType>;
|
|
1043
|
-
}>;
|
|
1044
|
-
}>;
|
|
1045
|
-
/** Trunk routing mode (`orthogonal` / `direct`) */
|
|
1046
|
-
readonly route: VariantType<{
|
|
1047
|
-
/** Axis-aligned with rounded corners */
|
|
1048
|
-
readonly orthogonal: StructType<{
|
|
1049
|
-
/** Corner radius in pixels (default 8) */
|
|
1050
|
-
readonly corner: OptionType<FloatType>;
|
|
1051
|
-
}>;
|
|
1052
|
-
/** Straight segments between anchors */
|
|
1053
|
-
readonly direct: NullType;
|
|
1054
|
-
}>;
|
|
1055
|
-
/** Optional world-coordinate trunk waypoints, in order */
|
|
1056
|
-
readonly via: ArrayType<StructType<{
|
|
1057
|
-
/** World x */
|
|
1058
|
-
readonly x: FloatType;
|
|
1059
|
-
/** World y */
|
|
1060
|
-
readonly y: FloatType;
|
|
1061
|
-
}>>;
|
|
1062
|
-
/** Optional layer membership — hidden when its layer is hidden */
|
|
1063
|
-
readonly layer: OptionType<StringType>;
|
|
1064
|
-
}>;
|
|
1065
|
-
/**
|
|
1066
|
-
* Type representing a net (manifold / bus link).
|
|
1067
|
-
*/
|
|
1068
|
-
export type SchematicNetType = typeof SchematicNetType;
|
|
1069
|
-
/**
|
|
1070
|
-
* Link-creation event passed to `onCreateLink` on every committed connect
|
|
1071
|
-
* gesture.
|
|
1072
|
-
*
|
|
1073
|
-
* @remarks
|
|
1074
|
-
* Connect gestures build a **session**: a plain drag starts a new session
|
|
1075
|
-
* (one connection); a **Shift**+drag ADDS to the open session — mirroring
|
|
1076
|
-
* Shift = "extend the set" in the selection modes — so an operation relating
|
|
1077
|
-
* MORE than two items is built one visual link at a time. The event always
|
|
1078
|
-
* carries the newest `link`, the FULL accumulated `links` session (newest
|
|
1079
|
-
* included), whether the gesture was `additive` (Shift), and the keys of
|
|
1080
|
-
* `existing` links already joining the newest pair (either direction).
|
|
1081
|
-
*
|
|
1082
|
-
* @property link - The newest connection (this drag)
|
|
1083
|
-
* @property links - The full session set, `link` included (length 1 for a plain drag)
|
|
1084
|
-
* @property net - The session collapsed to net endpoints (stable session `key` — upsert-friendly)
|
|
1085
|
-
* @property additive - True when Shift extended an open session
|
|
1086
|
-
* @property existing - Keys of links already joining the newest from↔to (either direction)
|
|
1087
|
-
* @property absorbed - Keys of existing pairwise links absorbed into the session (selected-link seed)
|
|
1088
|
-
*/
|
|
1089
|
-
export declare const SchematicLinkCreateEventType: StructType<{
|
|
1090
|
-
/** The newest connection (this drag). */
|
|
1091
|
-
readonly link: StructType<{
|
|
1092
|
-
/** Renderer-generated key for the gesture's connection. */
|
|
1093
|
-
readonly key: StringType;
|
|
1094
|
-
/** Source item key. */
|
|
1095
|
-
readonly from: StringType;
|
|
1096
|
-
/** Destination item key. */
|
|
1097
|
-
readonly to: StringType;
|
|
1098
|
-
}>;
|
|
1099
|
-
/** The full session set, `link` included (length 1 for a plain drag). */
|
|
1100
|
-
readonly links: ArrayType<StructType<{
|
|
1101
|
-
/** Renderer-generated key for the gesture's connection. */
|
|
1102
|
-
readonly key: StringType;
|
|
1103
|
-
/** Source item key. */
|
|
1104
|
-
readonly from: StringType;
|
|
1105
|
-
/** Destination item key. */
|
|
1106
|
-
readonly to: StringType;
|
|
1107
|
-
}>>;
|
|
1108
|
-
/** The session collapsed to net endpoints — upsert ONE net per session by `net.key`. */
|
|
1109
|
-
readonly net: StructType<{
|
|
1110
|
-
/** The session key (stable across the session's commits). */
|
|
1111
|
-
readonly key: StringType;
|
|
1112
|
-
/** Distinct source item keys so far. */
|
|
1113
|
-
readonly sources: ArrayType<StringType>;
|
|
1114
|
-
/** Distinct destination item keys so far. */
|
|
1115
|
-
readonly destinations: ArrayType<StringType>;
|
|
1116
|
-
}>;
|
|
1117
|
-
/** True when Shift extended an open session. */
|
|
1118
|
-
readonly additive: BooleanType;
|
|
1119
|
-
/** Keys of links already joining the newest from↔to (either direction). */
|
|
1120
|
-
readonly existing: ArrayType<StringType>;
|
|
1121
|
-
/** Keys of EXISTING pairwise links absorbed into this session (a selected
|
|
1122
|
-
* link's Shift-drag seed) — delete these rows when upserting the net. */
|
|
1123
|
-
readonly absorbed: ArrayType<StringType>;
|
|
1124
|
-
}>;
|
|
1125
|
-
/**
|
|
1126
|
-
* Type representing a link-creation (connect gesture) event.
|
|
1127
|
-
*/
|
|
1128
|
-
export type SchematicLinkCreateEventType = typeof SchematicLinkCreateEventType;
|
|
1129
|
-
/**
|
|
1130
|
-
* Link-edit event passed to `onEditLink` after an endpoint connector is
|
|
1131
|
-
* dragged to a new item.
|
|
1132
|
-
*
|
|
1133
|
-
* @property key - The edited link's key
|
|
1134
|
-
* @property from - Source item key AFTER the re-target
|
|
1135
|
-
* @property to - Destination item key AFTER the re-target
|
|
1136
|
-
*/
|
|
1137
|
-
export declare const SchematicLinkEditEventType: StructType<{
|
|
1138
|
-
/** The edited link's key. */
|
|
1139
|
-
readonly key: StringType;
|
|
1140
|
-
/** Source item key AFTER the re-target. */
|
|
1141
|
-
readonly from: StringType;
|
|
1142
|
-
/** Destination item key AFTER the re-target. */
|
|
1143
|
-
readonly to: StringType;
|
|
1144
|
-
}>;
|
|
1145
|
-
/**
|
|
1146
|
-
* Type representing a link-edit (re-target) event.
|
|
1147
|
-
*/
|
|
1148
|
-
export type SchematicLinkEditEventType = typeof SchematicLinkEditEventType;
|
|
1149
|
-
/**
|
|
1150
|
-
* Item-move event passed to `onMoveItem` when a move-tool drag releases.
|
|
1151
|
-
*
|
|
1152
|
-
* @remarks
|
|
1153
|
-
* When the dragged item is part of the current selection the WHOLE selection
|
|
1154
|
-
* moves rigidly — `keys` lists every moved item (the pressed `key` included)
|
|
1155
|
-
* and `dx`/`dy` is the shared world delta; `x`/`y` is the pressed item's
|
|
1156
|
-
* final position. Fired once per gesture, on release.
|
|
1157
|
-
*
|
|
1158
|
-
* @property key - The pressed (dragged) item's key
|
|
1159
|
-
* @property x - The pressed item's final world x
|
|
1160
|
-
* @property y - The pressed item's final world y
|
|
1161
|
-
* @property keys - Every item moved by the gesture (`key` included)
|
|
1162
|
-
* @property dx - The gesture's world x delta (applies to all `keys`)
|
|
1163
|
-
* @property dy - The gesture's world y delta (applies to all `keys`)
|
|
1164
|
-
*/
|
|
1165
|
-
export declare const SchematicItemMoveEventType: StructType<{
|
|
1166
|
-
/** The pressed (dragged) item's key. */
|
|
1167
|
-
readonly key: StringType;
|
|
1168
|
-
/** The pressed item's final world x. */
|
|
1169
|
-
readonly x: FloatType;
|
|
1170
|
-
/** The pressed item's final world y. */
|
|
1171
|
-
readonly y: FloatType;
|
|
1172
|
-
/** Every item moved by the gesture (`key` included). */
|
|
1173
|
-
readonly keys: ArrayType<StringType>;
|
|
1174
|
-
/** The gesture's world x delta (applies to all `keys`). */
|
|
1175
|
-
readonly dx: FloatType;
|
|
1176
|
-
/** The gesture's world y delta (applies to all `keys`). */
|
|
1177
|
-
readonly dy: FloatType;
|
|
1178
|
-
}>;
|
|
1179
|
-
/**
|
|
1180
|
-
* Type representing an item-move event.
|
|
1181
|
-
*/
|
|
1182
|
-
export type SchematicItemMoveEventType = typeof SchematicItemMoveEventType;
|
|
1183
|
-
//# sourceMappingURL=types.d.ts.map
|