@plurid/plurid-data 0.0.0-20 → 0.0.0-21
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/distribution/index.d.mts +2678 -0
- package/distribution/index.d.ts +2678 -3
- package/distribution/index.js +1699 -1681
- package/distribution/index.js.map +1 -1
- package/distribution/index.mjs +1762 -0
- package/distribution/index.mjs.map +1 -0
- package/package.json +64 -62
- package/distribution/constants/compare/index.d.ts +0 -2
- package/distribution/constants/configuration/index.d.ts +0 -15
- package/distribution/constants/defaults/index.d.ts +0 -22
- package/distribution/constants/entities/index.d.ts +0 -18
- package/distribution/constants/events/index.d.ts +0 -2
- package/distribution/constants/general/index.d.ts +0 -6
- package/distribution/constants/index.d.ts +0 -13
- package/distribution/constants/internationalization/chinese/index.d.ts +0 -3
- package/distribution/constants/internationalization/english/index.d.ts +0 -3
- package/distribution/constants/internationalization/fields.d.ts +0 -83
- package/distribution/constants/internationalization/french/index.d.ts +0 -3
- package/distribution/constants/internationalization/german/index.d.ts +0 -3
- package/distribution/constants/internationalization/hindi/index.d.ts +0 -3
- package/distribution/constants/internationalization/index.d.ts +0 -95
- package/distribution/constants/internationalization/italian/index.d.ts +0 -3
- package/distribution/constants/internationalization/japanese/index.d.ts +0 -3
- package/distribution/constants/internationalization/languages.d.ts +0 -3
- package/distribution/constants/internationalization/romanian/index.d.ts +0 -3
- package/distribution/constants/internationalization/russian/index.d.ts +0 -3
- package/distribution/constants/internationalization/spanish/index.d.ts +0 -3
- package/distribution/constants/keys/index.d.ts +0 -2
- package/distribution/constants/protocols/index.d.ts +0 -9
- package/distribution/constants/pubsub/index.d.ts +0 -40
- package/distribution/constants/shortcuts/index.d.ts +0 -16
- package/distribution/constants/space/index.d.ts +0 -8
- package/distribution/constants/tree/index.d.ts +0 -2
- package/distribution/enumerations/general/index.d.ts +0 -77
- package/distribution/enumerations/index.d.ts +0 -1
- package/distribution/index.es.js +0 -1680
- package/distribution/index.es.js.map +0 -1
- package/distribution/interfaces/external/animation/index.d.ts +0 -18
- package/distribution/interfaces/external/application/index.d.ts +0 -95
- package/distribution/interfaces/external/compare/index.d.ts +0 -13
- package/distribution/interfaces/external/component/index.d.ts +0 -26
- package/distribution/interfaces/external/configuration/index.d.ts +0 -217
- package/distribution/interfaces/external/configurator/index.d.ts +0 -11
- package/distribution/interfaces/external/index.d.ts +0 -17
- package/distribution/interfaces/external/internationalization/index.d.ts +0 -15
- package/distribution/interfaces/external/keys/index.d.ts +0 -1
- package/distribution/interfaces/external/layout/index.d.ts +0 -159
- package/distribution/interfaces/external/link/index.d.ts +0 -131
- package/distribution/interfaces/external/metastate/index.d.ts +0 -5
- package/distribution/interfaces/external/plane/index.d.ts +0 -69
- package/distribution/interfaces/external/pubsub/index.d.ts +0 -10
- package/distribution/interfaces/external/pubsub/message.d.ts +0 -326
- package/distribution/interfaces/external/registrar/index.d.ts +0 -7
- package/distribution/interfaces/external/router/fragment/index.d.ts +0 -18
- package/distribution/interfaces/external/router/index.d.ts +0 -83
- package/distribution/interfaces/external/router/multispace/index.d.ts +0 -14
- package/distribution/interfaces/external/router/preserve/index.d.ts +0 -70
- package/distribution/interfaces/external/router/route/index.d.ts +0 -171
- package/distribution/interfaces/external/routing/index.d.ts +0 -58
- package/distribution/interfaces/external/universe/index.d.ts +0 -20
- package/distribution/interfaces/external/view/index.d.ts +0 -18
- package/distribution/interfaces/external/window/index.d.ts +0 -4
- package/distribution/interfaces/helpers/index.d.ts +0 -10
- package/distribution/interfaces/index.d.ts +0 -3
- package/distribution/interfaces/internal/context/index.d.ts +0 -16
- package/distribution/interfaces/internal/index.d.ts +0 -5
- package/distribution/interfaces/internal/shortcuts/index.d.ts +0 -10
- package/distribution/interfaces/internal/state/index.d.ts +0 -45
- package/distribution/interfaces/internal/transform/index.d.ts +0 -9
- package/distribution/interfaces/internal/tree/index.d.ts +0 -106
- package/distribution/interfaces/internal/utilities/index.d.ts +0 -19
package/distribution/index.d.ts
CHANGED
|
@@ -1,3 +1,2678 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ThemeName, Theme } from '@plurid/plurid-themes';
|
|
2
|
+
|
|
3
|
+
declare enum SHORTCUTS {
|
|
4
|
+
TOGGLE_FIRST_PERSON = "TOGGLE_FIRST_PERSON",
|
|
5
|
+
MOVE_FORWARD = "MOVE_FORWARD",
|
|
6
|
+
MOVE_BACKWARD = "MOVE_BACKWARD",
|
|
7
|
+
MOVE_LEFT = "MOVE_LEFT",
|
|
8
|
+
MOVE_RIGHT = "MOVE_RIGHT",
|
|
9
|
+
MOVE_UP = "MOVE_UP",
|
|
10
|
+
MOVE_DOWN = "MOVE_DOWN",
|
|
11
|
+
TURN_LEFT = "TURN_LEFT",
|
|
12
|
+
TURN_RIGHT = "TURN_RIGHT",
|
|
13
|
+
TURN_UP = "TURN_UP",
|
|
14
|
+
TURN_DOWN = "TURN_DOWN",
|
|
15
|
+
ROTATE_UP = "ROTATE_UP",
|
|
16
|
+
ROTATE_DOWN = "ROTATE_DOWN",
|
|
17
|
+
ROTATE_LEFT = "ROTATE_LEFT",
|
|
18
|
+
ROTATE_RIGHT = "ROTATE_RIGHT",
|
|
19
|
+
TOGGLE_ROTATE = "TOGGLE_ROTATE",
|
|
20
|
+
TRANSLATE_UP = "TRANSLATE_UP",
|
|
21
|
+
TRANSLATE_DOWN = "TRANSLATE_DOWN",
|
|
22
|
+
TRANSLATE_LEFT = "TRANSLATE_LEFT",
|
|
23
|
+
TRANSLATE_RIGHT = "TRANSLATE_RIGHT",
|
|
24
|
+
TRANSLATE_IN = "TRANSLATE_IN",
|
|
25
|
+
TRANSLATE_OUT = "TRANSLATE_OUT",
|
|
26
|
+
TOGGLE_TRANSLATE = "TOGGLE_TRANSLATE",
|
|
27
|
+
SCALE_UP = "SCALE_UP",
|
|
28
|
+
SCALE_DOWN = "SCALE_DOWN",
|
|
29
|
+
TOGGLE_SCALE = "TOGGLE_SCALE",
|
|
30
|
+
FOCUS_PLANE = "FOCUS_PLANE",
|
|
31
|
+
FOCUS_PARENT = "FOCUS_PARENT",
|
|
32
|
+
REFRESH_PLANE = "REFRESH_PLANE",
|
|
33
|
+
ISOLATE_PLANE = "ISOLATE_PLANE",
|
|
34
|
+
OPEN_CLOSED_PLANE = "OPEN_CLOSED_PLANE",
|
|
35
|
+
CLOSE_PLANE = "CLOSE_PLANE",
|
|
36
|
+
PREVIOUS_ROOT = "PREVIOUS_ROOT",
|
|
37
|
+
NEXT_ROOT = "NEXT_ROOT",
|
|
38
|
+
FOCUS_ROOT = "FOCUS_ROOT"
|
|
39
|
+
}
|
|
40
|
+
declare enum KEY_MODIFIERS {
|
|
41
|
+
SHIFT = "SHIFT",
|
|
42
|
+
ALT = "ALT",
|
|
43
|
+
CTRL = "CTRL",
|
|
44
|
+
META = "META",
|
|
45
|
+
METACTRL = "METACTRL"
|
|
46
|
+
}
|
|
47
|
+
declare enum LAYOUT_TYPES {
|
|
48
|
+
COLUMNS = "COLUMNS",
|
|
49
|
+
ROWS = "ROWS",
|
|
50
|
+
FACE_TO_FACE = "FACE_TO_FACE",
|
|
51
|
+
ZIG_ZAG = "ZIG_ZAG",
|
|
52
|
+
SHEAVES = "SHEAVES",
|
|
53
|
+
META = "META"
|
|
54
|
+
}
|
|
55
|
+
declare enum SIZES {
|
|
56
|
+
SMALL = "SMALL",
|
|
57
|
+
NORMAL = "NORMAL",
|
|
58
|
+
LARGE = "LARGE"
|
|
59
|
+
}
|
|
60
|
+
declare enum TRANSFORM_MODES {
|
|
61
|
+
ROTATION = "ROTATION",
|
|
62
|
+
SCALE = "SCALE",
|
|
63
|
+
TRANSLATION = "TRANSLATION",
|
|
64
|
+
ALL = "ALL"
|
|
65
|
+
}
|
|
66
|
+
declare enum TRANSFORM_TOUCHES {
|
|
67
|
+
SWIPE = "SWIPE",
|
|
68
|
+
PAN = "PAN"
|
|
69
|
+
}
|
|
70
|
+
declare enum TOOLBAR_DRAWERS {
|
|
71
|
+
ALL = "ALL",
|
|
72
|
+
GLOBAL = "GLOBAL",
|
|
73
|
+
TRANSFORM = "TRANSFORM",
|
|
74
|
+
SPACE = "SPACE",
|
|
75
|
+
TOOLBAR = "TOOLBAR",
|
|
76
|
+
VIEWCUBE = "VIEWCUBE",
|
|
77
|
+
MINIMAP = "MINIMAP",
|
|
78
|
+
TECHNICAL = "TECHNICAL",
|
|
79
|
+
SHORTCUTS = "SHORTCUTS"
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface Indexed<T> {
|
|
83
|
+
[key: string]: T;
|
|
84
|
+
}
|
|
85
|
+
interface WithID {
|
|
86
|
+
id: string;
|
|
87
|
+
}
|
|
88
|
+
type Identified<T> = T & WithID;
|
|
89
|
+
type RecursivePartial<T> = {
|
|
90
|
+
[P in keyof T]?: RecursivePartial<T[P]>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
interface Layout {
|
|
94
|
+
type: keyof typeof LAYOUT_TYPES;
|
|
95
|
+
}
|
|
96
|
+
interface LayoutMeta extends Layout {
|
|
97
|
+
type: LAYOUT_TYPES.META;
|
|
98
|
+
layouts: LayoutMetaLayout[];
|
|
99
|
+
}
|
|
100
|
+
interface LayoutMetaLayout {
|
|
101
|
+
size?: number;
|
|
102
|
+
pages?: string[];
|
|
103
|
+
layout: LayoutColumns | LayoutRows | LayoutFaceToFace | LayoutZigZag | LayoutSheaves;
|
|
104
|
+
}
|
|
105
|
+
interface LayoutColumns extends Layout {
|
|
106
|
+
/**
|
|
107
|
+
* Layout Top View
|
|
108
|
+
*
|
|
109
|
+
* ‾1‾ ‾4‾
|
|
110
|
+
* ‾2‾ ‾5‾
|
|
111
|
+
* ‾3‾
|
|
112
|
+
*
|
|
113
|
+
*/
|
|
114
|
+
type: LAYOUT_TYPES.COLUMNS;
|
|
115
|
+
/**
|
|
116
|
+
* Integer value indicating the number of columns.
|
|
117
|
+
*
|
|
118
|
+
* If the number of pages is greater than the number of columns,
|
|
119
|
+
* the pages will overflow onto the next row.
|
|
120
|
+
*/
|
|
121
|
+
columns?: number;
|
|
122
|
+
/**
|
|
123
|
+
* Number of planes per column.
|
|
124
|
+
*/
|
|
125
|
+
columnLength?: number;
|
|
126
|
+
/**
|
|
127
|
+
* Distance between columns.
|
|
128
|
+
*
|
|
129
|
+
* Value between `0.00` and `x.00` (floating numbers) indicating percent of view width
|
|
130
|
+
* or between `0` and `x0...0` (integers) indicating pixel values.
|
|
131
|
+
*
|
|
132
|
+
* For example:
|
|
133
|
+
* `0.5` is 50% of view width,
|
|
134
|
+
* `5` is five pixels,
|
|
135
|
+
* `1.00` is 100% of view width,
|
|
136
|
+
* `1` is one pixels,
|
|
137
|
+
* `1.35` is 135% of view width,
|
|
138
|
+
* `135` is 135 pixels.
|
|
139
|
+
*/
|
|
140
|
+
gap?: number;
|
|
141
|
+
}
|
|
142
|
+
interface LayoutRows extends Layout {
|
|
143
|
+
/**
|
|
144
|
+
* Layout Top View
|
|
145
|
+
*
|
|
146
|
+
* ‾1‾ ‾2‾
|
|
147
|
+
* ‾3‾ ‾4‾
|
|
148
|
+
* ‾5‾
|
|
149
|
+
*
|
|
150
|
+
*/
|
|
151
|
+
type: LAYOUT_TYPES.ROWS;
|
|
152
|
+
/**
|
|
153
|
+
* Integer value indicating the number of rows.
|
|
154
|
+
*
|
|
155
|
+
* If the number of pages is greater than the number of rows,
|
|
156
|
+
* the pages will overflow onto the next column.
|
|
157
|
+
*/
|
|
158
|
+
rows?: number;
|
|
159
|
+
/**
|
|
160
|
+
* Number of planes per row.
|
|
161
|
+
*/
|
|
162
|
+
rowLength?: number;
|
|
163
|
+
/**
|
|
164
|
+
* Distance between rows.
|
|
165
|
+
*
|
|
166
|
+
* Value between `0.00` and `x.00` (floating numbers) indicating percent of view width
|
|
167
|
+
* or between `0` and `x0...0` (integers) indicating pixel values.
|
|
168
|
+
*
|
|
169
|
+
* For example:
|
|
170
|
+
* `0.5` is 50% of view width,
|
|
171
|
+
* `5` is five pixels,
|
|
172
|
+
* `1.00` is 100% of view width,
|
|
173
|
+
* `1` is one pixels,
|
|
174
|
+
* `1.35` is 135% of view width,
|
|
175
|
+
* `135` is 135 pixels.
|
|
176
|
+
*/
|
|
177
|
+
gap?: number;
|
|
178
|
+
}
|
|
179
|
+
interface LayoutFaceToFace extends Layout {
|
|
180
|
+
/**
|
|
181
|
+
* Layout Top View
|
|
182
|
+
*
|
|
183
|
+
* ╱ ‾‾ ╲
|
|
184
|
+
*
|
|
185
|
+
* ╱ first plane
|
|
186
|
+
*
|
|
187
|
+
* — (optional) middle plane(s)
|
|
188
|
+
*
|
|
189
|
+
* ╲ last plane
|
|
190
|
+
*/
|
|
191
|
+
type: LAYOUT_TYPES.FACE_TO_FACE;
|
|
192
|
+
/**
|
|
193
|
+
* Angle between the first plane and the last plane of a row.
|
|
194
|
+
*
|
|
195
|
+
* Value between `0.00` and `360.00`. Recommended between `0` and `180`.
|
|
196
|
+
*
|
|
197
|
+
* Default is `90`.
|
|
198
|
+
*/
|
|
199
|
+
angle?: number;
|
|
200
|
+
/**
|
|
201
|
+
* Distance between columns.
|
|
202
|
+
*
|
|
203
|
+
* Value between `0.00` and `x.00` (floating numbers) indicating percent of view width
|
|
204
|
+
* or between `0` and `x0...0` (integers) indicating pixel values.
|
|
205
|
+
*
|
|
206
|
+
* For example:
|
|
207
|
+
* `0.5` is 50% of view width,
|
|
208
|
+
* `5` is five pixels,
|
|
209
|
+
* `1.00` is 100% of view width,
|
|
210
|
+
* `1` is one pixels,
|
|
211
|
+
* `1.35` is 135% of view width,
|
|
212
|
+
* `135` is 135 pixels.
|
|
213
|
+
*/
|
|
214
|
+
gap?: number;
|
|
215
|
+
/**
|
|
216
|
+
* Integer value indicating the number of planes (columns) to be inserted in the middle.
|
|
217
|
+
*
|
|
218
|
+
* Default is `0`.
|
|
219
|
+
*/
|
|
220
|
+
middle?: number;
|
|
221
|
+
}
|
|
222
|
+
interface LayoutZigZag extends Layout {
|
|
223
|
+
type: LAYOUT_TYPES.ZIG_ZAG;
|
|
224
|
+
/**
|
|
225
|
+
* Value between `0.00` and `360.00` and can be negative.
|
|
226
|
+
*/
|
|
227
|
+
angle?: number;
|
|
228
|
+
}
|
|
229
|
+
interface LayoutSheaves extends Layout {
|
|
230
|
+
type: LAYOUT_TYPES.SHEAVES;
|
|
231
|
+
/**
|
|
232
|
+
* Value between `0.00` and `x.00` (floating numbers) or between `0` and `x00` (integers).
|
|
233
|
+
*
|
|
234
|
+
* The value is based on the current width of the screen and can be negative.
|
|
235
|
+
*/
|
|
236
|
+
depth?: number;
|
|
237
|
+
/**
|
|
238
|
+
* Value between `0.00` and `x.00` (floating numbers) or between `0` and `x00` (integers).
|
|
239
|
+
*
|
|
240
|
+
* The value is based on the current width of the screen and can be negative.
|
|
241
|
+
*/
|
|
242
|
+
offsetX?: number;
|
|
243
|
+
/**
|
|
244
|
+
* Value between `0.00` and `x.00` (floating numbers) or between `0` and `x00` (integers).
|
|
245
|
+
*
|
|
246
|
+
* The value is based on the current height of the screen and can be negative.
|
|
247
|
+
*/
|
|
248
|
+
offsetY?: number;
|
|
249
|
+
}
|
|
250
|
+
type PluridLayout = LayoutColumns | LayoutRows | LayoutZigZag | LayoutFaceToFace | LayoutSheaves | LayoutMeta;
|
|
251
|
+
|
|
252
|
+
declare const internationalizationFields: {
|
|
253
|
+
readonly viewcubeFront: "viewcubeFront";
|
|
254
|
+
readonly viewcubeBack: "viewcubeBack";
|
|
255
|
+
readonly viewcubeLeft: "viewcubeLeft";
|
|
256
|
+
readonly viewcubeRight: "viewcubeRight";
|
|
257
|
+
readonly viewcubeTop: "viewcubeTop";
|
|
258
|
+
readonly viewcubeBase: "viewcubeBase";
|
|
259
|
+
readonly toolbarTransformRotate: "toolbarTransformRotate";
|
|
260
|
+
readonly toolbarTransformScale: "toolbarTransformScale";
|
|
261
|
+
readonly toolbarTransformTranslate: "toolbarTransformTranslate";
|
|
262
|
+
readonly toolbarDrawerGlobalTitle: "toolbarDrawerGlobalTitle";
|
|
263
|
+
readonly toolbarDrawerGlobalGeneralTheme: "toolbarDrawerGlobalGeneralTheme";
|
|
264
|
+
readonly toolbarDrawerGlobalInteractionTheme: "toolbarDrawerGlobalInteractionTheme";
|
|
265
|
+
readonly toolbarDrawerGlobalLanguage: "toolbarDrawerGlobalLanguage";
|
|
266
|
+
readonly toolbarDrawerTransformTitle: "toolbarDrawerTransformTitle";
|
|
267
|
+
readonly toolbarDrawerTransformMultiModeTransform: "toolbarDrawerTransformMultiModeTransform";
|
|
268
|
+
readonly toolbarDrawerTransformAllowRotationX: "toolbarDrawerTransformAllowRotationX";
|
|
269
|
+
readonly toolbarDrawerTransformAllowRotationY: "toolbarDrawerTransformAllowRotationY";
|
|
270
|
+
readonly toolbarDrawerTransformAllowTranslationX: "toolbarDrawerTransformAllowTranslationX";
|
|
271
|
+
readonly toolbarDrawerTransformAllowTranslationY: "toolbarDrawerTransformAllowTranslationY";
|
|
272
|
+
readonly toolbarDrawerTransformAllowTranslationZ: "toolbarDrawerTransformAllowTranslationZ";
|
|
273
|
+
readonly toolbarDrawerTransformAllowScale: "toolbarDrawerTransformAllowScale";
|
|
274
|
+
readonly toolbarDrawerTransformTouchTransform: "toolbarDrawerTransformTouchTransform";
|
|
275
|
+
readonly toolbarDrawerSpaceTitle: "toolbarDrawerSpaceTitle";
|
|
276
|
+
readonly toolbarDrawerSpaceTransparentUserInterface: "toolbarDrawerSpaceTransparentUserInterface";
|
|
277
|
+
readonly toolbarDrawerSpaceShowTransformOrigin: "toolbarDrawerSpaceShowTransformOrigin";
|
|
278
|
+
readonly toolbarDrawerSpaceTransformOriginSize: "toolbarDrawerSpaceTransformOriginSize";
|
|
279
|
+
readonly toolbarDrawerSpacePlaneOpacity: "toolbarDrawerSpacePlaneOpacity";
|
|
280
|
+
readonly toolbarDrawerSpaceLayoutType: "toolbarDrawerSpaceLayoutType";
|
|
281
|
+
readonly toolbarDrawerToolbarTitle: "toolbarDrawerToolbarTitle";
|
|
282
|
+
readonly toolbarDrawerToolbarAlwaysOpaque: "toolbarDrawerToolbarAlwaysOpaque";
|
|
283
|
+
readonly toolbarDrawerToolbarShowTransformIcons: "toolbarDrawerToolbarShowTransformIcons";
|
|
284
|
+
readonly toolbarDrawerToolbarShowTransformArrows: "toolbarDrawerToolbarShowTransformArrows";
|
|
285
|
+
readonly toolbarDrawerToolbarConcealToolbar: "toolbarDrawerToolbarConcealToolbar";
|
|
286
|
+
readonly toolbarDrawerViewcubeTitle: "toolbarDrawerViewcubeTitle";
|
|
287
|
+
readonly toolbarDrawerViewcubeShowViewcube: "toolbarDrawerViewcubeShowViewcube";
|
|
288
|
+
readonly toolbarDrawerViewcubeShowTransformButtons: "toolbarDrawerViewcubeShowTransformButtons";
|
|
289
|
+
readonly toolbarDrawerViewcubeAlwaysOpaque: "toolbarDrawerViewcubeAlwaysOpaque";
|
|
290
|
+
readonly toolbarDrawerViewcubeConcealViewcube: "toolbarDrawerViewcubeConcealViewcube";
|
|
291
|
+
readonly toolbarDrawerMinimapTitle: "toolbarDrawerMinimapTitle";
|
|
292
|
+
readonly toolbarDrawerMinimapShowMinimap: "toolbarDrawerMinimapShowMinimap";
|
|
293
|
+
readonly toolbarDrawerMinimapTransparent: "toolbarDrawerMinimapTransparent";
|
|
294
|
+
readonly toolbarDrawerTechnicalTitle: "toolbarDrawerTechnicalTitle";
|
|
295
|
+
readonly toolbarDrawerTechnicalCullingDistance: "toolbarDrawerTechnicalCullingDistance";
|
|
296
|
+
readonly toolbarDrawerShortcutsTitle: "toolbarDrawerShortcutsTitle";
|
|
297
|
+
readonly toolbarDrawerShortcutsToggleFirstPerson: "toolbarDrawerShortcutsToggleFirstPerson";
|
|
298
|
+
readonly toolbarDrawerShortcutsMoveForward: "toolbarDrawerShortcutsMoveForward";
|
|
299
|
+
readonly toolbarDrawerShortcutsMoveBackward: "toolbarDrawerShortcutsMoveBackward";
|
|
300
|
+
readonly toolbarDrawerShortcutsMoveLeft: "toolbarDrawerShortcutsMoveLeft";
|
|
301
|
+
readonly toolbarDrawerShortcutsMoveRight: "toolbarDrawerShortcutsMoveRight";
|
|
302
|
+
readonly toolbarDrawerShortcutsMoveUp: "toolbarDrawerShortcutsMoveUp";
|
|
303
|
+
readonly toolbarDrawerShortcutsMoveDown: "toolbarDrawerShortcutsMoveDown";
|
|
304
|
+
readonly toolbarDrawerShortcutsTurnLeft: "toolbarDrawerShortcutsTurnLeft";
|
|
305
|
+
readonly toolbarDrawerShortcutsTurnRight: "toolbarDrawerShortcutsTurnRight";
|
|
306
|
+
readonly toolbarDrawerShortcutsTurnUp: "toolbarDrawerShortcutsTurnUp";
|
|
307
|
+
readonly toolbarDrawerShortcutsTurnDown: "toolbarDrawerShortcutsTurnDown";
|
|
308
|
+
readonly toolbarDrawerShortcutsRotateUp: "toolbarDrawerShortcutsRotateUp";
|
|
309
|
+
readonly toolbarDrawerShortcutsRotateDown: "toolbarDrawerShortcutsRotateDown";
|
|
310
|
+
readonly toolbarDrawerShortcutsRotateLeft: "toolbarDrawerShortcutsRotateLeft";
|
|
311
|
+
readonly toolbarDrawerShortcutsRotateRight: "toolbarDrawerShortcutsRotateRight";
|
|
312
|
+
readonly toolbarDrawerShortcutsToggleRotate: "toolbarDrawerShortcutsToggleRotate";
|
|
313
|
+
readonly toolbarDrawerShortcutsTranslateUp: "toolbarDrawerShortcutsTranslateUp";
|
|
314
|
+
readonly toolbarDrawerShortcutsTranslateDown: "toolbarDrawerShortcutsTranslateDown";
|
|
315
|
+
readonly toolbarDrawerShortcutsTranslateLeft: "toolbarDrawerShortcutsTranslateLeft";
|
|
316
|
+
readonly toolbarDrawerShortcutsTranslateRight: "toolbarDrawerShortcutsTranslateRight";
|
|
317
|
+
readonly toolbarDrawerShortcutsTranslateIn: "toolbarDrawerShortcutsTranslateIn";
|
|
318
|
+
readonly toolbarDrawerShortcutsTranslateOut: "toolbarDrawerShortcutsTranslateOut";
|
|
319
|
+
readonly toolbarDrawerShortcutsToggleTranslate: "toolbarDrawerShortcutsToggleTranslate";
|
|
320
|
+
readonly toolbarDrawerShortcutsScaleUp: "toolbarDrawerShortcutsScaleUp";
|
|
321
|
+
readonly toolbarDrawerShortcutsScaleDown: "toolbarDrawerShortcutsScaleDown";
|
|
322
|
+
readonly toolbarDrawerShortcutsToggleScale: "toolbarDrawerShortcutsToggleScale";
|
|
323
|
+
readonly toolbarDrawerShortcutsFocusPlane: "toolbarDrawerShortcutsFocusPlane";
|
|
324
|
+
readonly toolbarDrawerShortcutsFocusParent: "toolbarDrawerShortcutsFocusParent";
|
|
325
|
+
readonly toolbarDrawerShortcutsRefreshPlane: "toolbarDrawerShortcutsRefreshPlane";
|
|
326
|
+
readonly toolbarDrawerShortcutsIsolatePlane: "toolbarDrawerShortcutsIsolatePlane";
|
|
327
|
+
readonly toolbarDrawerShortcutsOpenClosedPlane: "toolbarDrawerShortcutsOpenClosedPlane";
|
|
328
|
+
readonly toolbarDrawerShortcutsClosePlane: "toolbarDrawerShortcutsClosePlane";
|
|
329
|
+
readonly toolbarDrawerShortcutsPreviousRoot: "toolbarDrawerShortcutsPreviousRoot";
|
|
330
|
+
readonly toolbarDrawerShortcutsNextRoot: "toolbarDrawerShortcutsNextRoot";
|
|
331
|
+
readonly toolbarDrawerShortcutsFocusRoot: "toolbarDrawerShortcutsFocusRoot";
|
|
332
|
+
readonly toolbarDrawerShortcutsArrowOrScrollUp: "toolbarDrawerShortcutsArrowOrScrollUp";
|
|
333
|
+
readonly toolbarDrawerShortcutsArrowOrScrollDown: "toolbarDrawerShortcutsArrowOrScrollDown";
|
|
334
|
+
readonly toolbarDrawerShortcutsArrowOrScrollLeft: "toolbarDrawerShortcutsArrowOrScrollLeft";
|
|
335
|
+
readonly toolbarDrawerShortcutsArrowOrScrollRight: "toolbarDrawerShortcutsArrowOrScrollRight";
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
type InternationalizationChinese = 'chinese';
|
|
339
|
+
type InternationalizationEnglish = 'english';
|
|
340
|
+
type InternationalizationFrench = 'french';
|
|
341
|
+
type InternationalizationGerman = 'german';
|
|
342
|
+
type InternationalizationHindi = 'hindi';
|
|
343
|
+
type InternationalizationItalian = 'italian';
|
|
344
|
+
type InternationalizationJapanese = 'japanese';
|
|
345
|
+
type InternationalizationRomanian = 'romanian';
|
|
346
|
+
type InternationalizationRussian = 'russian';
|
|
347
|
+
type InternationalizationSpanish = 'spanish';
|
|
348
|
+
type InternationalizationLanguageType = InternationalizationChinese | InternationalizationEnglish | InternationalizationFrench | InternationalizationGerman | InternationalizationHindi | InternationalizationItalian | InternationalizationJapanese | InternationalizationRomanian | InternationalizationRussian | InternationalizationSpanish;
|
|
349
|
+
type InternationalizationFields = typeof internationalizationFields;
|
|
350
|
+
type InternationalizationFieldType = keyof InternationalizationFields;
|
|
351
|
+
type Internationalization = Record<InternationalizationFieldType, string>;
|
|
352
|
+
|
|
353
|
+
type PluridPartialConfiguration = RecursivePartial<PluridConfiguration>;
|
|
354
|
+
/**
|
|
355
|
+
* A FLAT shorthand for the most common `PluridConfiguration` options, so consumers don't have to
|
|
356
|
+
* author the full 5-level nested object for everyday setup. Expanded + merged over the defaults by
|
|
357
|
+
* the engine's `definePluridConfiguration`. Everything is optional; anything not covered here can
|
|
358
|
+
* be supplied as a normal nested partial via `extend` (merged last, so it wins).
|
|
359
|
+
*/
|
|
360
|
+
interface FlatPluridConfiguration {
|
|
361
|
+
/** `global.theme` — a plurid theme name, or `{ general, interaction }`. */
|
|
362
|
+
theme?: ThemeName | PluridConfigurationTheme;
|
|
363
|
+
/** `global.micro` — render the space with NO engine elements (toolbar/viewcube/controls). */
|
|
364
|
+
micro?: boolean;
|
|
365
|
+
/** `global.transparentUI` — render the engine elements transparent. */
|
|
366
|
+
transparentUI?: boolean;
|
|
367
|
+
/** `global.language` — UI language. */
|
|
368
|
+
language?: InternationalizationLanguageType;
|
|
369
|
+
/** `space.layout` — the plane layout (e.g. `{ type: SPACE_LAYOUT.COLUMNS, columns: 3 }`). */
|
|
370
|
+
layout?: PluridLayout;
|
|
371
|
+
/** `space.perspective` — CSS perspective; recommended 1300–2000. */
|
|
372
|
+
perspective?: number;
|
|
373
|
+
/** `space.center` — center the camera on the first root. */
|
|
374
|
+
center?: boolean;
|
|
375
|
+
/** `space.firstPerson` — first-person ("fly") navigation. */
|
|
376
|
+
firstPerson?: boolean;
|
|
377
|
+
/** `space.collaboration` — opt in to the collaboration seam (publish/apply arrangement snapshots). */
|
|
378
|
+
collaboration?: boolean;
|
|
379
|
+
/** `space.undo` — record spatial undo/redo history. ON by default; set false to drop the middleware. */
|
|
380
|
+
undo?: boolean;
|
|
381
|
+
/** `space.viewpointURLWrite` — reflect the camera into the URL query param. */
|
|
382
|
+
viewpointURLWrite?: boolean;
|
|
383
|
+
/** `space.viewpointURLRestore` — restore the camera from the URL query param on load. */
|
|
384
|
+
viewpointURLRestore?: boolean;
|
|
385
|
+
/** `space.viewpointURLParam` — the viewpoint query-param name (default `v`). */
|
|
386
|
+
viewpointURLParam?: string;
|
|
387
|
+
/** `space.viewpointURLDebounce` — ms to coalesce URL writes during an orbit. */
|
|
388
|
+
viewpointURLDebounce?: number;
|
|
389
|
+
/** `space.timings` — tunable debounce windows (persist, viewpoint-change). */
|
|
390
|
+
timings?: PluridConfigurationSpaceTimings;
|
|
391
|
+
/** `space.gestures` — pointer-navigation sensitivities, drag threshold, momentum. */
|
|
392
|
+
gestures?: PluridConfigurationSpaceGestures;
|
|
393
|
+
/** `space.shortcuts` — disable / remap / extend the engine keyboard shortcuts. */
|
|
394
|
+
shortcuts?: PluridConfigurationSpaceShortcuts;
|
|
395
|
+
/** `space.bridge.length` — parent→child gap + rendered bridge length. */
|
|
396
|
+
bridgeLength?: number;
|
|
397
|
+
/** `space.bridge.planeAngle` — spawned child plane angle. */
|
|
398
|
+
bridgePlaneAngle?: number;
|
|
399
|
+
/** `space.transformLocks` — lock a subset of the transform axes. */
|
|
400
|
+
transformLocks?: RecursivePartial<PluridConfigurationSpaceTransformLocks>;
|
|
401
|
+
/** `space.opaque` — opaque space background. Default `true`. */
|
|
402
|
+
opaque?: boolean;
|
|
403
|
+
/** `space.camera` — ID of the root to point the camera at. */
|
|
404
|
+
camera?: string;
|
|
405
|
+
/** `space.transformOrigin` — show / size the transform-origin indicator. */
|
|
406
|
+
transformOrigin?: RecursivePartial<PluridConfigurationSpaceTransformOrigin>;
|
|
407
|
+
/** `space.transformMode` — restrict to one transform type, or all. */
|
|
408
|
+
transformMode?: keyof typeof TRANSFORM_MODES;
|
|
409
|
+
/** `space.transformMultimode` — allow multiple simultaneous transforms. */
|
|
410
|
+
transformMultimode?: boolean;
|
|
411
|
+
/** `space.transformTouch` — touch-gesture → transform mapping. */
|
|
412
|
+
transformTouch?: keyof typeof TRANSFORM_TOUCHES;
|
|
413
|
+
/** `space.cullingDistance` — distance beyond which planes are culled. */
|
|
414
|
+
cullingDistance?: number;
|
|
415
|
+
/** `space.fadeInTime` — plane fade-in duration (ms). */
|
|
416
|
+
fadeInTime?: number;
|
|
417
|
+
/** `elements.plane.width` — fraction of the viewport (≤1) or absolute px (>1). */
|
|
418
|
+
planeWidth?: number;
|
|
419
|
+
/** `elements.plane.opacity`. */
|
|
420
|
+
planeOpacity?: number;
|
|
421
|
+
/** `elements.plane.controls.show` — per-plane control buttons. */
|
|
422
|
+
planeControls?: boolean;
|
|
423
|
+
/** `elements.toolbar.show`. */
|
|
424
|
+
toolbar?: boolean;
|
|
425
|
+
/** `elements.viewcube.show`. */
|
|
426
|
+
viewcube?: boolean;
|
|
427
|
+
/** `elements.minimap.show` — the 2D top-down overview of the space. */
|
|
428
|
+
minimap?: boolean;
|
|
429
|
+
/** Escape hatch: a normal nested partial config, merged LAST (overrides the flat fields above). */
|
|
430
|
+
extend?: PluridPartialConfiguration;
|
|
431
|
+
}
|
|
432
|
+
interface PluridConfiguration {
|
|
433
|
+
global: PluridConfigurationGlobal;
|
|
434
|
+
elements: PluridConfigurationElements;
|
|
435
|
+
space: PluridConfigurationSpace;
|
|
436
|
+
network: PluridConfigurationNetwork;
|
|
437
|
+
development: PluridConfigurationDevelopment;
|
|
438
|
+
}
|
|
439
|
+
interface PluridConfigurationGlobal {
|
|
440
|
+
/**
|
|
441
|
+
* Renders the application without any elements
|
|
442
|
+
* (toolbar, viewcube, plane controls, switch, etc.).
|
|
443
|
+
*/
|
|
444
|
+
micro: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* A theme name based on plurid themes, https://meta.plurid.com/themes,
|
|
447
|
+
* or specific theme names/objects for `general` and for the `interaction` elements.
|
|
448
|
+
*/
|
|
449
|
+
theme: ThemeName | PluridConfigurationTheme;
|
|
450
|
+
/**
|
|
451
|
+
* Supported languages:
|
|
452
|
+
*
|
|
453
|
+
* + `chinese`
|
|
454
|
+
* + `english`
|
|
455
|
+
* + `french`
|
|
456
|
+
* + `german`
|
|
457
|
+
* + `hindi`
|
|
458
|
+
* + `italian`
|
|
459
|
+
* + `japanese`
|
|
460
|
+
* + `romanian`
|
|
461
|
+
* + `russian`
|
|
462
|
+
* + `spanish`
|
|
463
|
+
*
|
|
464
|
+
*/
|
|
465
|
+
language: InternationalizationLanguageType;
|
|
466
|
+
/**
|
|
467
|
+
* Render the elements transparent.
|
|
468
|
+
*
|
|
469
|
+
* Default: `false`.
|
|
470
|
+
*/
|
|
471
|
+
transparentUI: boolean;
|
|
472
|
+
/**
|
|
473
|
+
* Render the view as a `plurid` space, or as a `legacy` web page.
|
|
474
|
+
*
|
|
475
|
+
* When setting to `legacy`, the `switch` configuration element (`elements.switch.show`)
|
|
476
|
+
* should also be set to `true`, allowing the user to switch from rendering types
|
|
477
|
+
* through the interface.
|
|
478
|
+
*
|
|
479
|
+
* Default: `plurid`.
|
|
480
|
+
*/
|
|
481
|
+
render: 'plurid' | 'legacy';
|
|
482
|
+
}
|
|
483
|
+
interface PluridConfigurationTheme {
|
|
484
|
+
general: ThemeName | Theme;
|
|
485
|
+
interaction: ThemeName | Theme;
|
|
486
|
+
}
|
|
487
|
+
interface PluridConfigurationSpace {
|
|
488
|
+
layout: PluridLayout;
|
|
489
|
+
/**
|
|
490
|
+
* Perspective value. Recommended between 1300 and 2000.
|
|
491
|
+
*
|
|
492
|
+
* Default `2000`.
|
|
493
|
+
*/
|
|
494
|
+
perspective: number;
|
|
495
|
+
/**
|
|
496
|
+
* Make the background of the `Plurid Space` opaque.
|
|
497
|
+
*
|
|
498
|
+
* Default `true`.
|
|
499
|
+
*/
|
|
500
|
+
opaque: boolean;
|
|
501
|
+
/**
|
|
502
|
+
* ID of the `Plurid Root` on which to point the camera at.
|
|
503
|
+
*/
|
|
504
|
+
camera?: string;
|
|
505
|
+
/**
|
|
506
|
+
* Centers the camera on the first `Plurid Root Page`,
|
|
507
|
+
* or, if camera is set, on the Root indicated by the camera.
|
|
508
|
+
*/
|
|
509
|
+
center: boolean;
|
|
510
|
+
transformOrigin: PluridConfigurationSpaceTransformOrigin;
|
|
511
|
+
transformLocks: PluridConfigurationSpaceTransformLocks;
|
|
512
|
+
/**
|
|
513
|
+
* Allow only one type of transformation, or all of them.
|
|
514
|
+
*/
|
|
515
|
+
transformMode: keyof typeof TRANSFORM_MODES;
|
|
516
|
+
/**
|
|
517
|
+
* Allow multiple types of transformations.
|
|
518
|
+
*/
|
|
519
|
+
transformMultimode: boolean;
|
|
520
|
+
transformTouch: keyof typeof TRANSFORM_TOUCHES;
|
|
521
|
+
firstPerson: boolean;
|
|
522
|
+
/**
|
|
523
|
+
* Opt in to the collaboration seam: the engine publishes `space.collaborationMutation`
|
|
524
|
+
* snapshots when the shared arrangement changes and applies `space.applyRemoteMutation` from
|
|
525
|
+
* peers. Off by default — a single-user app shouldn't broadcast mutations. The host wires the
|
|
526
|
+
* transport + presence.
|
|
527
|
+
*
|
|
528
|
+
* Default `false`.
|
|
529
|
+
*/
|
|
530
|
+
collaboration?: boolean;
|
|
531
|
+
/**
|
|
532
|
+
* Record spatial undo/redo history (the arrangement-signature middleware). ON by default. Set
|
|
533
|
+
* `false` to drop the history middleware entirely — a host that owns its own undo, or one that
|
|
534
|
+
* never mutates the arrangement, pays neither the per-action signature cost nor the snapshot
|
|
535
|
+
* memory. When off, `space.undo` / `space.redo` (pubsub + shortcuts) are no-ops. Default `true`.
|
|
536
|
+
*/
|
|
537
|
+
undo?: boolean;
|
|
538
|
+
/**
|
|
539
|
+
* Reflect the camera viewpoint into the URL query string on every change (so a view is
|
|
540
|
+
* shareable / bookmarkable). OFF by default — the engine does NOT touch the URL unless asked.
|
|
541
|
+
* Independent of `viewpointURLRestore`. Default `false`.
|
|
542
|
+
*/
|
|
543
|
+
viewpointURLWrite?: boolean;
|
|
544
|
+
/**
|
|
545
|
+
* Restore the camera viewpoint FROM the URL query string on load (a deep-link wins over the
|
|
546
|
+
* last-saved camera). OFF by default. Independent of `viewpointURLWrite`. Default `false`.
|
|
547
|
+
*/
|
|
548
|
+
viewpointURLRestore?: boolean;
|
|
549
|
+
/**
|
|
550
|
+
* The query-param name the viewpoint rides on, e.g. `?v=…`. Default `'v'`.
|
|
551
|
+
*/
|
|
552
|
+
viewpointURLParam?: string;
|
|
553
|
+
/**
|
|
554
|
+
* Debounce (ms) before a changed viewpoint is written to the URL — the camera changes per frame
|
|
555
|
+
* during an orbit, so this coalesces the writes. Default `400`.
|
|
556
|
+
*/
|
|
557
|
+
viewpointURLDebounce?: number;
|
|
558
|
+
/**
|
|
559
|
+
* Tunable debounce windows (persist, viewpoint-change). Each field defaults independently; see
|
|
560
|
+
* {@link PluridConfigurationSpaceTimings}.
|
|
561
|
+
*/
|
|
562
|
+
timings?: PluridConfigurationSpaceTimings;
|
|
563
|
+
/**
|
|
564
|
+
* Tune pointer-navigation feel — sensitivities, drag threshold, momentum; see
|
|
565
|
+
* {@link PluridConfigurationSpaceGestures}. Read live by the gesture layer.
|
|
566
|
+
*/
|
|
567
|
+
gestures?: PluridConfigurationSpaceGestures;
|
|
568
|
+
/**
|
|
569
|
+
* Disable / remap / extend the engine's keyboard shortcuts; see
|
|
570
|
+
* {@link PluridConfigurationSpaceShortcuts}.
|
|
571
|
+
*/
|
|
572
|
+
shortcuts?: PluridConfigurationSpaceShortcuts;
|
|
573
|
+
cullingDistance: number;
|
|
574
|
+
/**
|
|
575
|
+
* Geometry of the bridge that joins a plurid-link-spawned child plane to its parent.
|
|
576
|
+
* `length` — the bridge depth (default 100); `planeAngle` — the child plane's angle
|
|
577
|
+
* off the parent in degrees (default 90).
|
|
578
|
+
*/
|
|
579
|
+
bridge?: {
|
|
580
|
+
length?: number;
|
|
581
|
+
planeAngle?: number;
|
|
582
|
+
};
|
|
583
|
+
/**
|
|
584
|
+
* Time for the planes to fade in, in milliseconds.
|
|
585
|
+
*
|
|
586
|
+
* Default 1500
|
|
587
|
+
*/
|
|
588
|
+
fadeInTime: number;
|
|
589
|
+
}
|
|
590
|
+
interface PluridConfigurationSpaceTransformOrigin {
|
|
591
|
+
show: boolean;
|
|
592
|
+
size: keyof typeof SIZES;
|
|
593
|
+
}
|
|
594
|
+
interface PluridConfigurationSpaceTransformLocks {
|
|
595
|
+
rotationX: boolean;
|
|
596
|
+
rotationY: boolean;
|
|
597
|
+
translationY: boolean;
|
|
598
|
+
translationX: boolean;
|
|
599
|
+
translationZ: boolean;
|
|
600
|
+
scale: boolean;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Stable IDs for the engine's keyboard shortcuts — the keys of `shortcuts.disabled` / `shortcuts.keymap`.
|
|
604
|
+
* `transformNudge` is the whole arrow-key transform group (rotate/translate/scale by step).
|
|
605
|
+
*/
|
|
606
|
+
type PluridShortcutID = 'undo' | 'clearSelection' | 'fitToView' | 'toggleFirstPerson' | 'modeRotation' | 'modeTranslation' | 'modeScale' | 'transformNudge' | 'focusPlane' | 'focusParent' | 'refreshPlane' | 'isolatePlane' | 'openClosedPlane' | 'closePlane' | 'focusPreviousRoot' | 'focusNextRoot' | 'cycleRoot' | 'focusRootIndex';
|
|
607
|
+
/**
|
|
608
|
+
* Take control of the keyboard. `disabled` drops engine shortcuts (`true` = all, or specific IDs) so
|
|
609
|
+
* a host can claim those keys; `keymap` remaps a shortcut's primary `event.code` (single-key
|
|
610
|
+
* shortcuts only — not the `transformNudge` arrows); `onUnhandledKey` receives every keydown the
|
|
611
|
+
* engine did NOT consume, so a host extends with its own bindings without fighting the engine.
|
|
612
|
+
*/
|
|
613
|
+
interface PluridConfigurationSpaceShortcuts {
|
|
614
|
+
disabled?: boolean | PluridShortcutID[];
|
|
615
|
+
keymap?: Partial<Record<PluridShortcutID, string>>;
|
|
616
|
+
onUnhandledKey?: (event: KeyboardEvent) => void;
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Tunable debounce windows (ms). The defaults coalesce per-frame churn during an orbit/zoom into a
|
|
620
|
+
* single trailing write/callback; raise them to persist/notify less often, lower them for snappier
|
|
621
|
+
* round-trips. Each field falls back to its default when omitted.
|
|
622
|
+
*/
|
|
623
|
+
interface PluridConfigurationSpaceTimings {
|
|
624
|
+
/** Debounce before the space snapshot is persisted after the state settles. Default `300`. */
|
|
625
|
+
persistDebounce?: number;
|
|
626
|
+
/** Debounce before `onViewpointChange` fires after the camera settles. Default `250`. */
|
|
627
|
+
viewpointChangeDebounce?: number;
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* Tune the feel of pointer navigation — sensitivities, the click-vs-orbit threshold, and the
|
|
631
|
+
* post-orbit momentum fling. Each field defaults independently (read live, so a host can retune
|
|
632
|
+
* mid-session); omit the object entirely to keep every default.
|
|
633
|
+
*/
|
|
634
|
+
interface PluridConfigurationSpaceGestures {
|
|
635
|
+
/** Orbit rotation sensitivity, degrees per pixel of drag. Default `0.22`. */
|
|
636
|
+
rotateSensitivity?: number;
|
|
637
|
+
/** Pan translation sensitivity, pixels per pixel of drag. Default `1`. */
|
|
638
|
+
translateSensitivity?: number;
|
|
639
|
+
/** Drag-to-scale sensitivity. Default `0.004`. */
|
|
640
|
+
scaleSensitivity?: number;
|
|
641
|
+
/** Two-pointer pinch-zoom sensitivity. Default `0.01`. */
|
|
642
|
+
pinchSensitivity?: number;
|
|
643
|
+
/**
|
|
644
|
+
* Fly-mode look sensitivity, degrees per pixel. Governs both drag-to-look (default `0.18`) and
|
|
645
|
+
* pointer-locked mouse-look (default `0.12`); set it to unify both.
|
|
646
|
+
*/
|
|
647
|
+
flyLookSensitivity?: number;
|
|
648
|
+
/** Fly-mode planar move speed, pixels per frame (WASD). Default `9`. */
|
|
649
|
+
flySpeed?: number;
|
|
650
|
+
/** Pixels a press must travel before it becomes an orbit (below it stays a click). Default `4`. */
|
|
651
|
+
dragThreshold?: number;
|
|
652
|
+
/** Per-frame momentum velocity decay, 0–1 (lower = stops sooner). Default `0.92`. */
|
|
653
|
+
momentumDecay?: number;
|
|
654
|
+
/** Momentum halts once |velocity| drops below this. Default `0.05`. */
|
|
655
|
+
momentumMin?: number;
|
|
656
|
+
/** Disable the post-orbit momentum fling entirely (release stops dead). Default `false`. */
|
|
657
|
+
disableMomentum?: boolean;
|
|
658
|
+
/**
|
|
659
|
+
* Remap what each pointer input does in the default (ALL) transform mode — so a host can make
|
|
660
|
+
* left-drag orbit directly (no grab mode), claim left-drag for itself (`disabled`), or stop the
|
|
661
|
+
* wheel from zooming. Only consulted when set; omit to keep the CAD defaults (left orbits only in
|
|
662
|
+
* grab mode, middle / shift-drag pans, wheel zooms in grab / scale / ⌘). Does not affect the
|
|
663
|
+
* explicit rotate/translate/scale modes, selection-drag, or fly mode.
|
|
664
|
+
*/
|
|
665
|
+
buttonMap?: PluridConfigurationSpaceGesturesButtonMap;
|
|
666
|
+
}
|
|
667
|
+
interface PluridConfigurationSpaceGesturesButtonMap {
|
|
668
|
+
/** Left-button drag. Default: orbit, but only while grab mode is on. */
|
|
669
|
+
left?: 'orbit' | 'pan' | 'zoom' | 'disabled';
|
|
670
|
+
/** Middle-button drag. Default: pan. */
|
|
671
|
+
middle?: 'orbit' | 'pan' | 'zoom' | 'disabled';
|
|
672
|
+
/** Wheel / trackpad. Default: zoom (in grab / scale / ⌘). `disabled` leaves scrolling to the page. */
|
|
673
|
+
wheel?: 'zoom' | 'disabled';
|
|
674
|
+
}
|
|
675
|
+
interface PluridConfigurationElements {
|
|
676
|
+
toolbar: PluridConfigurationElementsToolbar;
|
|
677
|
+
viewcube: PluridConfigurationElementsViewcube;
|
|
678
|
+
/** Optional opt-in: a 2D top-down overview/minimap of the space. */
|
|
679
|
+
minimap?: PluridConfigurationElementsMinimap;
|
|
680
|
+
plane: PluridConfigurationElementsPlane;
|
|
681
|
+
link: PluridConfigurationElementsLink;
|
|
682
|
+
switch: PluridConfigurationElementsSwitch;
|
|
683
|
+
/** The 3D beams drawn between plane↔plane links. Shown by default; `{ show: false }` hides them. */
|
|
684
|
+
planeLinks?: PluridConfigurationElementsToggle;
|
|
685
|
+
/** The live alignment guides drawn while dragging a selection. Shown by default. */
|
|
686
|
+
alignmentGuides?: PluridConfigurationElementsToggle;
|
|
687
|
+
}
|
|
688
|
+
/** A minimal `{ show }` toggle for elements whose only configuration is visibility. */
|
|
689
|
+
interface PluridConfigurationElementsToggle {
|
|
690
|
+
show?: boolean;
|
|
691
|
+
}
|
|
692
|
+
interface PluridConfigurationElementsToolbar {
|
|
693
|
+
show: boolean;
|
|
694
|
+
opaque: boolean;
|
|
695
|
+
conceal: boolean;
|
|
696
|
+
transformIcons: boolean;
|
|
697
|
+
transformButtons: boolean;
|
|
698
|
+
drawers: (keyof typeof TOOLBAR_DRAWERS)[];
|
|
699
|
+
toggledDrawers: (keyof typeof TOOLBAR_DRAWERS)[];
|
|
700
|
+
}
|
|
701
|
+
interface PluridConfigurationElementsViewcube {
|
|
702
|
+
show: boolean;
|
|
703
|
+
opaque: boolean;
|
|
704
|
+
conceal: boolean;
|
|
705
|
+
/**
|
|
706
|
+
* Show the rotation arrow buttons, and the other buttons for translation, scale, and fit view.
|
|
707
|
+
*/
|
|
708
|
+
buttons: boolean;
|
|
709
|
+
}
|
|
710
|
+
interface PluridConfigurationElementsMinimap {
|
|
711
|
+
show: boolean;
|
|
712
|
+
/** Transparent (see-through) by default, solid only on hover. */
|
|
713
|
+
transparent: boolean;
|
|
714
|
+
}
|
|
715
|
+
interface PluridConfigurationElementsPlane {
|
|
716
|
+
/**
|
|
717
|
+
* Value between `0.00` and `x.00` (floating numbers) or between `0` and `x00` (integers).
|
|
718
|
+
*
|
|
719
|
+
* The value is based on the current width of the screen and cannot be negative.
|
|
720
|
+
*
|
|
721
|
+
* `1` and `1.00` are based on screen width.
|
|
722
|
+
*/
|
|
723
|
+
width: number;
|
|
724
|
+
/**
|
|
725
|
+
* Value between `0.00` and `1.00` (floating numbers).
|
|
726
|
+
*
|
|
727
|
+
* Default `1.00`.
|
|
728
|
+
*/
|
|
729
|
+
opacity: number;
|
|
730
|
+
controls: PluridConfigurationElementsPlaneControls;
|
|
731
|
+
}
|
|
732
|
+
interface PluridConfigurationElementsPlaneControls {
|
|
733
|
+
show: boolean;
|
|
734
|
+
/**
|
|
735
|
+
* Show plane title.
|
|
736
|
+
*/
|
|
737
|
+
title: boolean;
|
|
738
|
+
pathbar: PluridConfigurationElementsPlaneControlsPathbar;
|
|
739
|
+
}
|
|
740
|
+
interface PluridConfigurationElementsPlaneControlsPathbar {
|
|
741
|
+
/**
|
|
742
|
+
* If true, renders the page path in the controls as a domain URL.
|
|
743
|
+
*/
|
|
744
|
+
domainURL: boolean;
|
|
745
|
+
/**
|
|
746
|
+
* Executed when the pathbar from the controls has an `change` event.
|
|
747
|
+
*/
|
|
748
|
+
onChange?: (event: any, pageID: string) => void;
|
|
749
|
+
/**
|
|
750
|
+
* Executed when the pathbar from the controls has an `keyDown` event.
|
|
751
|
+
*/
|
|
752
|
+
onKeyDown?: (event: any, pageID: string) => void;
|
|
753
|
+
}
|
|
754
|
+
interface PluridConfigurationElementsLink {
|
|
755
|
+
suffix: string;
|
|
756
|
+
preview: {
|
|
757
|
+
show: boolean;
|
|
758
|
+
fadeIn: number;
|
|
759
|
+
fadeOut: number;
|
|
760
|
+
offsetX: number;
|
|
761
|
+
offsetY: number;
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
interface PluridConfigurationElementsSwitch {
|
|
765
|
+
/**
|
|
766
|
+
* Default: `false`.
|
|
767
|
+
*/
|
|
768
|
+
show: boolean;
|
|
769
|
+
}
|
|
770
|
+
interface PluridConfigurationNetwork {
|
|
771
|
+
/**
|
|
772
|
+
* Default `'https'`.
|
|
773
|
+
*/
|
|
774
|
+
protocol: 'http' | 'https';
|
|
775
|
+
/**
|
|
776
|
+
* Defaults to the host serving the application (`window.location.host`)
|
|
777
|
+
* for the browser environment, and to `'originhost'` for server environments.
|
|
778
|
+
*/
|
|
779
|
+
host: string;
|
|
780
|
+
}
|
|
781
|
+
interface PluridConfigurationDevelopment {
|
|
782
|
+
/**
|
|
783
|
+
* Show debugging information for each plane.
|
|
784
|
+
*/
|
|
785
|
+
planeDebugger: boolean;
|
|
786
|
+
/**
|
|
787
|
+
* Show debugging information for the space.
|
|
788
|
+
*/
|
|
789
|
+
spaceDebugger: boolean;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
type CompareTypeEqual = '==';
|
|
793
|
+
type CompareTypeEqualLessThan = '<=';
|
|
794
|
+
type CompareTypeLessThan = '<';
|
|
795
|
+
type CompareTypeEqualGreaterThan = '>=';
|
|
796
|
+
type CompareTypeGreaterThan = '>';
|
|
797
|
+
type CompareType = CompareTypeEqual | CompareTypeEqualLessThan | CompareTypeLessThan | CompareTypeEqualGreaterThan | CompareTypeGreaterThan;
|
|
798
|
+
interface CompareTypes {
|
|
799
|
+
equal: CompareTypeEqual;
|
|
800
|
+
equalLessThan: CompareTypeEqualLessThan;
|
|
801
|
+
lessThan: CompareTypeLessThan;
|
|
802
|
+
equalGreaterThan: CompareTypeEqualGreaterThan;
|
|
803
|
+
greaterThan: CompareTypeGreaterThan;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
type PluridRouteMultispaceAlignment = 'x' | 'y';
|
|
807
|
+
type PluridRouteMultispaceSnapType = 'none' | 'mandatory' | 'proximity';
|
|
808
|
+
interface PluridRouteMultispace<C> {
|
|
809
|
+
/**
|
|
810
|
+
* Default: `y`.
|
|
811
|
+
*/
|
|
812
|
+
alignment?: PluridRouteMultispaceAlignment;
|
|
813
|
+
/**
|
|
814
|
+
* Default: `mandatory`.
|
|
815
|
+
*/
|
|
816
|
+
snapType?: PluridRouteMultispaceSnapType;
|
|
817
|
+
header?: C;
|
|
818
|
+
footer?: C;
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
type PluridRouteResolver<C> = Omit<PluridRoute<C>, 'value' | 'resolver'>;
|
|
822
|
+
/**
|
|
823
|
+
* A route can be `plurid space` or `exterior`-based.
|
|
824
|
+
*/
|
|
825
|
+
interface PluridRoute<C, G = any> {
|
|
826
|
+
/**
|
|
827
|
+
* The route `value` can:
|
|
828
|
+
* + be a simple string, e.g. `'/route/to/page'`;
|
|
829
|
+
* + be a parametric location, e.g. `'/route/to/:page'`, where `:page` is the parameter name;
|
|
830
|
+
* + receive query `key=value` pairs,
|
|
831
|
+
* e.g. `'/route/to/page?id=1&show=true'`, where `id=1` and `show=true` are `key=value` pairs;
|
|
832
|
+
*/
|
|
833
|
+
value: string;
|
|
834
|
+
parameters?: Record<string, PluridRouteParameter>;
|
|
835
|
+
/**
|
|
836
|
+
* Accepts a component which will be rendered outside of the `spaces`.
|
|
837
|
+
*/
|
|
838
|
+
exterior?: C;
|
|
839
|
+
/**
|
|
840
|
+
* A route can have planes and/or spaces.
|
|
841
|
+
*/
|
|
842
|
+
planes?: PluridRoutePlane<C>[];
|
|
843
|
+
view?: string[];
|
|
844
|
+
/**
|
|
845
|
+
* A route can have planes and/or spaces.
|
|
846
|
+
*/
|
|
847
|
+
spaces?: PluridRouteSpace<C>[];
|
|
848
|
+
/**
|
|
849
|
+
* Pass the rendered `spaces[]` components as a property to the `exterior` component
|
|
850
|
+
* to be rendered in particular slots.
|
|
851
|
+
*/
|
|
852
|
+
slotted?: boolean;
|
|
853
|
+
multispace?: PluridRouteMultispace<C>;
|
|
854
|
+
defaultConfiguration?: PluridPartialConfiguration;
|
|
855
|
+
/**
|
|
856
|
+
* Resolve the route at request time.
|
|
857
|
+
*
|
|
858
|
+
* Receives the `globals` from the preserve, if any.
|
|
859
|
+
*/
|
|
860
|
+
resolver?: (globals: G | undefined) => PluridRouteResolver<C> | Promise<PluridRouteResolver<C>>;
|
|
861
|
+
}
|
|
862
|
+
interface PluridRouteParameter {
|
|
863
|
+
/**
|
|
864
|
+
* Constrain the route parameter to be of a certain length.
|
|
865
|
+
*/
|
|
866
|
+
length?: number;
|
|
867
|
+
/**
|
|
868
|
+
* Ensure that the `length` of the route parameter is of a certain type:
|
|
869
|
+
*
|
|
870
|
+
* * `'=='` - equal,
|
|
871
|
+
* * `'<='` - equal or less than,
|
|
872
|
+
* * `'<'` - less than,
|
|
873
|
+
* * `'>='` - equal or greater than,
|
|
874
|
+
* * `'>'` - greater than.
|
|
875
|
+
*
|
|
876
|
+
* Default `'<='`, if a `length` is provided.
|
|
877
|
+
*/
|
|
878
|
+
lengthType?: CompareType;
|
|
879
|
+
startsWith?: string;
|
|
880
|
+
endsWith?: string;
|
|
881
|
+
includes?: string[];
|
|
882
|
+
}
|
|
883
|
+
interface PluridRouteSpace<C> {
|
|
884
|
+
value: string;
|
|
885
|
+
/**
|
|
886
|
+
* Accepts a component which will be rendered outside of the `space`.
|
|
887
|
+
*/
|
|
888
|
+
exterior?: C;
|
|
889
|
+
/**
|
|
890
|
+
* A space can have planes and/or universes.
|
|
891
|
+
*/
|
|
892
|
+
planes?: PluridRoutePlane<C>[];
|
|
893
|
+
view?: string[];
|
|
894
|
+
/**
|
|
895
|
+
* A space can have planes and/or universes.
|
|
896
|
+
*/
|
|
897
|
+
universes?: PluridRouteUniverse<C>[];
|
|
898
|
+
configuration?: PluridPartialConfiguration;
|
|
899
|
+
}
|
|
900
|
+
interface PluridRouteUniverse<C> {
|
|
901
|
+
value: string;
|
|
902
|
+
planes?: PluridRoutePlane<C>[];
|
|
903
|
+
view?: string[];
|
|
904
|
+
/**
|
|
905
|
+
* By default, the order the documents are shown in is based on their index in the `documents[]`.
|
|
906
|
+
* The ordinal can be used to overrule the default order.
|
|
907
|
+
* If not unique, the documents with equal `ordinal` will be ordered by index.
|
|
908
|
+
*
|
|
909
|
+
* 0-based.
|
|
910
|
+
*/
|
|
911
|
+
ordinal?: number;
|
|
912
|
+
/**
|
|
913
|
+
* Set the document as active. By default the first document is active.
|
|
914
|
+
*
|
|
915
|
+
* Only one document can be active at a time.
|
|
916
|
+
*/
|
|
917
|
+
active?: boolean;
|
|
918
|
+
}
|
|
919
|
+
interface PluridRoutePlaneOptions {
|
|
920
|
+
/**
|
|
921
|
+
* Map a direct link for a specific plane.
|
|
922
|
+
*
|
|
923
|
+
* e.g. `/plane-one` will route in browser the path `protocol://host/plane-one`
|
|
924
|
+
*
|
|
925
|
+
* Default composed from route and plane value, `/<route.value/<plane.value>`
|
|
926
|
+
*/
|
|
927
|
+
link?: string;
|
|
928
|
+
/**
|
|
929
|
+
* On direct link access (from the browser), show the plane in a `plurid` space,
|
|
930
|
+
* or as the legacy view of an web page.
|
|
931
|
+
*
|
|
932
|
+
* Default `'plurid'`
|
|
933
|
+
*/
|
|
934
|
+
linkView?: 'legacy' | 'plurid';
|
|
935
|
+
/**
|
|
936
|
+
* Injectable into other `plurid` spaces.
|
|
937
|
+
*
|
|
938
|
+
* Default `true`
|
|
939
|
+
*/
|
|
940
|
+
injectable?: boolean;
|
|
941
|
+
/**
|
|
942
|
+
* Direct access to the plane from the browser.
|
|
943
|
+
*
|
|
944
|
+
* Default plane link composed from route and plane value, `/<route.value/<plane.value>`;
|
|
945
|
+
* changeable through the `link` property.
|
|
946
|
+
*
|
|
947
|
+
* Default `true`
|
|
948
|
+
*/
|
|
949
|
+
urlable?: boolean;
|
|
950
|
+
/**
|
|
951
|
+
* Access to the plane through the `gateway` path.
|
|
952
|
+
*
|
|
953
|
+
* Default `true`
|
|
954
|
+
*/
|
|
955
|
+
gateable?: boolean;
|
|
956
|
+
/**
|
|
957
|
+
* Render route exterior when directly accessed.
|
|
958
|
+
*
|
|
959
|
+
* Default `true`
|
|
960
|
+
*/
|
|
961
|
+
directExterior?: boolean;
|
|
962
|
+
/**
|
|
963
|
+
* Render route exterior when injected into other `plurid` space.
|
|
964
|
+
*
|
|
965
|
+
* Default `false`
|
|
966
|
+
*/
|
|
967
|
+
injectExterior?: boolean;
|
|
968
|
+
/**
|
|
969
|
+
* Constraints for the parameters.
|
|
970
|
+
*/
|
|
971
|
+
parameters?: Record<string, PluridRouteParameter>;
|
|
972
|
+
}
|
|
973
|
+
interface PluridRoutePlaneObject<C> extends PluridRoutePlaneOptions {
|
|
974
|
+
value: string;
|
|
975
|
+
component: C;
|
|
976
|
+
}
|
|
977
|
+
type PluridRoutePlaneTuple<C> = [
|
|
978
|
+
/**
|
|
979
|
+
* See `PluridRoutePlaneObject<C>.value`.
|
|
980
|
+
*/
|
|
981
|
+
value: string,
|
|
982
|
+
/**
|
|
983
|
+
* See `PluridRoutePlaneObject<C>.component`.
|
|
984
|
+
*/
|
|
985
|
+
component: C,
|
|
986
|
+
options?: PluridRoutePlaneOptions
|
|
987
|
+
];
|
|
988
|
+
type PluridRoutePlane<C> = PluridRoutePlaneObject<C> | PluridRoutePlaneTuple<C>;
|
|
989
|
+
|
|
990
|
+
interface PluridRouteFragments {
|
|
991
|
+
texts: PluridRouteFragmentText[];
|
|
992
|
+
elements: PluridRouteFragmentElement[];
|
|
993
|
+
}
|
|
994
|
+
interface PluridRouteFragment {
|
|
995
|
+
type: string;
|
|
996
|
+
}
|
|
997
|
+
interface PluridRouteFragmentText extends PluridRouteFragment {
|
|
998
|
+
type: 'text';
|
|
999
|
+
start: string;
|
|
1000
|
+
end: string;
|
|
1001
|
+
occurence: number;
|
|
1002
|
+
}
|
|
1003
|
+
interface PluridRouteFragmentElement extends PluridRouteFragment {
|
|
1004
|
+
type: 'element';
|
|
1005
|
+
id: string;
|
|
1006
|
+
occurence: number;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
interface PluridPreserve<M = any, RQ = any, RS = any> {
|
|
1010
|
+
/**
|
|
1011
|
+
* Served path value.
|
|
1012
|
+
*/
|
|
1013
|
+
serve: string;
|
|
1014
|
+
/**
|
|
1015
|
+
* The function will be executed and awaited before rendering the application on the server.
|
|
1016
|
+
*
|
|
1017
|
+
* The function can return one or more providers which will be passed to their appropriate consumers,
|
|
1018
|
+
* can redirect to a different path, or can handle any cross-cutting concerns, such as eventing or logging.
|
|
1019
|
+
*/
|
|
1020
|
+
onServe: PluridPreserveOnServe<M, RQ, RS>;
|
|
1021
|
+
/**
|
|
1022
|
+
* Function called after route is served successfully.
|
|
1023
|
+
*/
|
|
1024
|
+
afterServe?: PluridPreserveAfterServe<M, RQ, RS>;
|
|
1025
|
+
/**
|
|
1026
|
+
* Function called if `onServe` throws an error.
|
|
1027
|
+
*/
|
|
1028
|
+
onError?: PluridPreserveOnError<M, RQ, RS>;
|
|
1029
|
+
}
|
|
1030
|
+
type PluridPreserveOnServe<M, RQ, RS> = (transmission: PluridPreserveTransmission<M, RQ, RS>) => Promise<PluridPreserveResponse | undefined>;
|
|
1031
|
+
type PluridPreserveAfterServe<M, RQ, RS> = (transmission: PluridPreserveTransmission<M, RQ, RS>) => Promise<undefined>;
|
|
1032
|
+
type PluridPreserveOnError<M, RQ, RS> = (error: any, transmission: PluridPreserveTransmission<M, RQ, RS>) => Promise<PluridPreserveResponse | undefined>;
|
|
1033
|
+
interface PluridPreserveTransmission<M, RQ, RS> {
|
|
1034
|
+
context: PluridPreserveTransmissionContext<M>;
|
|
1035
|
+
request: RQ;
|
|
1036
|
+
response: RS;
|
|
1037
|
+
}
|
|
1038
|
+
interface PluridPreserveTransmissionContext<M = undefined> {
|
|
1039
|
+
match: M;
|
|
1040
|
+
route: string;
|
|
1041
|
+
}
|
|
1042
|
+
interface PluridPreserveResponse {
|
|
1043
|
+
providers?: PluridPreserveResponseProviders;
|
|
1044
|
+
/**
|
|
1045
|
+
* Redirect to another route.
|
|
1046
|
+
*/
|
|
1047
|
+
redirect?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* If `response` is handled within the preserve `action`, set the `responded` value to `true`,
|
|
1050
|
+
* to prevent the server from sending a double response.
|
|
1051
|
+
*/
|
|
1052
|
+
responded?: boolean;
|
|
1053
|
+
/**
|
|
1054
|
+
* Handle the server response without taking into account the preserve.
|
|
1055
|
+
* Considers only the first match.
|
|
1056
|
+
*/
|
|
1057
|
+
depreserve?: boolean;
|
|
1058
|
+
/**
|
|
1059
|
+
* Ignore the preserve computation, but continue to try to find a match in the preserves array.
|
|
1060
|
+
* To be used with the catch-all matcher `'*'` or with complex routing with overlapping parameters.
|
|
1061
|
+
*/
|
|
1062
|
+
pass?: boolean;
|
|
1063
|
+
/**
|
|
1064
|
+
* Key-value pairs which will be inserted as globals on the window as in
|
|
1065
|
+
* `window.${key} = ${value}`.
|
|
1066
|
+
*/
|
|
1067
|
+
globals?: Record<string, string>;
|
|
1068
|
+
template?: PluridPreserveResponseTemplate;
|
|
1069
|
+
}
|
|
1070
|
+
type PluridPreserveResponseProviders = Record<string, any>;
|
|
1071
|
+
interface PluridPreserveResponseTemplate {
|
|
1072
|
+
htmlLanguage?: string;
|
|
1073
|
+
htmlAttributes?: Record<string, string>;
|
|
1074
|
+
bodyAttributes?: Record<string, string>;
|
|
1075
|
+
headScripts?: string[];
|
|
1076
|
+
bodyScripts?: string[];
|
|
1077
|
+
styles?: string[];
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
interface PluridRouterProperties<C> {
|
|
1081
|
+
routes: PluridRoute<C>[];
|
|
1082
|
+
/**
|
|
1083
|
+
* Plurid planes not specific to any route.
|
|
1084
|
+
*/
|
|
1085
|
+
planes?: PluridRoutePlane<C>[];
|
|
1086
|
+
/**
|
|
1087
|
+
* Component to be rendered outside of the current `path` component and of the `shell`.
|
|
1088
|
+
*/
|
|
1089
|
+
exterior?: C;
|
|
1090
|
+
/**
|
|
1091
|
+
* Component to wrap around the current path component.
|
|
1092
|
+
*/
|
|
1093
|
+
shell?: C;
|
|
1094
|
+
/**
|
|
1095
|
+
* Path to navigate to when using clean navigation.
|
|
1096
|
+
*/
|
|
1097
|
+
view?: string;
|
|
1098
|
+
/**
|
|
1099
|
+
* Navigate without changing the browser URL.
|
|
1100
|
+
*/
|
|
1101
|
+
cleanNavigation?: boolean;
|
|
1102
|
+
/**
|
|
1103
|
+
* Development default: 'http'.
|
|
1104
|
+
* Production default: 'https'.
|
|
1105
|
+
*/
|
|
1106
|
+
protocol?: string;
|
|
1107
|
+
/**
|
|
1108
|
+
* Default: `'origin'` | `window.location.host`.
|
|
1109
|
+
*/
|
|
1110
|
+
hostname?: string;
|
|
1111
|
+
/**
|
|
1112
|
+
* The `gatewayPath` is used to receive external routing requests.
|
|
1113
|
+
*
|
|
1114
|
+
* e.g.
|
|
1115
|
+
*
|
|
1116
|
+
* `https://example.com/gateway?plurid=https://subdomain.example.com://path/to/123://s://u://c://a-plane`
|
|
1117
|
+
*
|
|
1118
|
+
* will route to that specific
|
|
1119
|
+
*
|
|
1120
|
+
* `host://path://space://universe://cluster://plane`
|
|
1121
|
+
*/
|
|
1122
|
+
gatewayPath?: string;
|
|
1123
|
+
/**
|
|
1124
|
+
* Component to be rendered on the gateway path, external to the plurid view.
|
|
1125
|
+
*/
|
|
1126
|
+
gatewayExterior?: C;
|
|
1127
|
+
/**
|
|
1128
|
+
* Redirect not found paths to this path.
|
|
1129
|
+
* Default: `/not-found`.
|
|
1130
|
+
*/
|
|
1131
|
+
notFoundPath?: string;
|
|
1132
|
+
/**
|
|
1133
|
+
* API endpoint to request the elements for the paths not found in the initial routing.
|
|
1134
|
+
*/
|
|
1135
|
+
api?: string;
|
|
1136
|
+
static?: PluridRouterStatic;
|
|
1137
|
+
/**
|
|
1138
|
+
* Replace the internal plurid plane with a custom implementation.
|
|
1139
|
+
*/
|
|
1140
|
+
customPlane?: C;
|
|
1141
|
+
/**
|
|
1142
|
+
* After router navigation scroll to the top.
|
|
1143
|
+
*
|
|
1144
|
+
* Default: `smooth`.
|
|
1145
|
+
*/
|
|
1146
|
+
scrollToTop?: boolean | 'instant' | 'smooth';
|
|
1147
|
+
/**
|
|
1148
|
+
* Fade in from black, in milliseconds.
|
|
1149
|
+
*
|
|
1150
|
+
* Default: `10`
|
|
1151
|
+
*/
|
|
1152
|
+
fadeIn?: number;
|
|
1153
|
+
}
|
|
1154
|
+
interface PluridRouterStatic {
|
|
1155
|
+
path: string;
|
|
1156
|
+
directPlane?: string;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
interface TreePlane {
|
|
1160
|
+
/**
|
|
1161
|
+
* The application defined plane ID that is the source
|
|
1162
|
+
*/
|
|
1163
|
+
sourceID: string;
|
|
1164
|
+
planeID: string;
|
|
1165
|
+
parentPlaneID?: string;
|
|
1166
|
+
/**
|
|
1167
|
+
* The full route string, adequately formatted
|
|
1168
|
+
* <protocol>://<host>://<path>://<space>://universe://cluster://<plane>
|
|
1169
|
+
*/
|
|
1170
|
+
route: string;
|
|
1171
|
+
routeDivisions: RouteDivisions;
|
|
1172
|
+
linkCoordinates?: LinkCoordinates;
|
|
1173
|
+
height: number;
|
|
1174
|
+
width: number;
|
|
1175
|
+
location: TreePlaneLocation;
|
|
1176
|
+
show: boolean;
|
|
1177
|
+
children?: TreePlane[];
|
|
1178
|
+
bridgeLength?: number;
|
|
1179
|
+
planeAngle?: number;
|
|
1180
|
+
/**
|
|
1181
|
+
* Set when the user has dragged this plane to a manual position. The auto-layout then leaves it
|
|
1182
|
+
* pinned (its `location` is carried across relayouts, like measured `width`/`height`) and arranges
|
|
1183
|
+
* only the un-pinned planes around it. Persisted with the tree, so manual arrangement survives reload.
|
|
1184
|
+
*/
|
|
1185
|
+
manuallyPositioned?: boolean;
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1188
|
+
* An arbitrary directed relationship between two planes, independent of the parent→child tree.
|
|
1189
|
+
* Links cross the tree (any plane may relate to any other), so they live in a SEPARATE adjacency
|
|
1190
|
+
* list on space state — not on `TreePlane`. The engine treats `kind` opaquely (a product label).
|
|
1191
|
+
*/
|
|
1192
|
+
interface PlaneLink {
|
|
1193
|
+
id: string;
|
|
1194
|
+
sourcePlaneID: string;
|
|
1195
|
+
targetPlaneID: string;
|
|
1196
|
+
/** Opaque, product-defined relationship label (e.g. 'reference', 'mention'). */
|
|
1197
|
+
kind?: string;
|
|
1198
|
+
/** Where on each plane the edge attaches; defaults to the plane centre. */
|
|
1199
|
+
sourceAnchor?: PlaneLinkAnchor;
|
|
1200
|
+
targetAnchor?: PlaneLinkAnchor;
|
|
1201
|
+
}
|
|
1202
|
+
type PlaneLinkAnchor = 'center' | 'top' | 'bottom' | 'left' | 'right';
|
|
1203
|
+
interface RouteDivisions {
|
|
1204
|
+
protocol: RouteHostProtocol;
|
|
1205
|
+
host: RouteHostDivision;
|
|
1206
|
+
path: RoutePathDivision;
|
|
1207
|
+
space: RouteSpaceDivision;
|
|
1208
|
+
universe: RouteUniverseDivision;
|
|
1209
|
+
cluster: RouteClusterDivision;
|
|
1210
|
+
plane: RoutePlaneDivision;
|
|
1211
|
+
valid: boolean;
|
|
1212
|
+
}
|
|
1213
|
+
interface RouteDivision {
|
|
1214
|
+
value: string;
|
|
1215
|
+
parameters: Record<string, string>;
|
|
1216
|
+
query: Record<string, string>;
|
|
1217
|
+
}
|
|
1218
|
+
interface RouteHostProtocol {
|
|
1219
|
+
value: string;
|
|
1220
|
+
secure: boolean;
|
|
1221
|
+
}
|
|
1222
|
+
interface RouteHostDivision {
|
|
1223
|
+
value: string;
|
|
1224
|
+
controlled: boolean;
|
|
1225
|
+
}
|
|
1226
|
+
interface RoutePathDivision {
|
|
1227
|
+
value: string;
|
|
1228
|
+
parameters: Record<string, string>;
|
|
1229
|
+
query: Record<string, string>;
|
|
1230
|
+
}
|
|
1231
|
+
interface RouteSpaceDivision {
|
|
1232
|
+
value: string;
|
|
1233
|
+
parameters: Record<string, string>;
|
|
1234
|
+
query: Record<string, string>;
|
|
1235
|
+
}
|
|
1236
|
+
interface RouteUniverseDivision {
|
|
1237
|
+
value: string;
|
|
1238
|
+
parameters: Record<string, string>;
|
|
1239
|
+
query: Record<string, string>;
|
|
1240
|
+
}
|
|
1241
|
+
interface RouteClusterDivision {
|
|
1242
|
+
value: string;
|
|
1243
|
+
parameters: Record<string, string>;
|
|
1244
|
+
query: Record<string, string>;
|
|
1245
|
+
}
|
|
1246
|
+
interface RoutePlaneDivision {
|
|
1247
|
+
value: string;
|
|
1248
|
+
parameters: Record<string, string>;
|
|
1249
|
+
query: Record<string, string>;
|
|
1250
|
+
fragments: PluridRouteFragments;
|
|
1251
|
+
}
|
|
1252
|
+
interface PathParameters {
|
|
1253
|
+
[key: string]: string;
|
|
1254
|
+
}
|
|
1255
|
+
interface PathQuery {
|
|
1256
|
+
[key: string]: string;
|
|
1257
|
+
}
|
|
1258
|
+
interface TreePlaneLocation {
|
|
1259
|
+
translateX: number;
|
|
1260
|
+
translateY: number;
|
|
1261
|
+
translateZ: number;
|
|
1262
|
+
rotateX: number;
|
|
1263
|
+
rotateY: number;
|
|
1264
|
+
}
|
|
1265
|
+
interface SpaceLocation {
|
|
1266
|
+
translationX: number;
|
|
1267
|
+
translationY: number;
|
|
1268
|
+
translationZ: number;
|
|
1269
|
+
rotationX: number;
|
|
1270
|
+
rotationY: number;
|
|
1271
|
+
scale: number;
|
|
1272
|
+
}
|
|
1273
|
+
interface LocationCoordinates {
|
|
1274
|
+
x: number;
|
|
1275
|
+
y: number;
|
|
1276
|
+
z: number;
|
|
1277
|
+
}
|
|
1278
|
+
interface LinkCoordinates {
|
|
1279
|
+
x: number;
|
|
1280
|
+
y: number;
|
|
1281
|
+
}
|
|
1282
|
+
interface TopPlanePoint {
|
|
1283
|
+
x: number;
|
|
1284
|
+
z: number;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
interface Coordinates {
|
|
1288
|
+
x: number;
|
|
1289
|
+
y: number;
|
|
1290
|
+
z: number;
|
|
1291
|
+
}
|
|
1292
|
+
interface ViewSize {
|
|
1293
|
+
width: number;
|
|
1294
|
+
height: number;
|
|
1295
|
+
}
|
|
1296
|
+
interface SpaceSize {
|
|
1297
|
+
width: number;
|
|
1298
|
+
height: number;
|
|
1299
|
+
depth: number;
|
|
1300
|
+
topCorner: {
|
|
1301
|
+
x: number;
|
|
1302
|
+
y: number;
|
|
1303
|
+
z: number;
|
|
1304
|
+
};
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
interface PluridState {
|
|
1308
|
+
configuration: PluridConfiguration;
|
|
1309
|
+
shortcuts: PluridStateShortcuts;
|
|
1310
|
+
space: PluridStateSpace;
|
|
1311
|
+
themes: PluridStateThemes;
|
|
1312
|
+
ui: PluridStateUI;
|
|
1313
|
+
}
|
|
1314
|
+
interface PluridStateShortcuts {
|
|
1315
|
+
global: boolean;
|
|
1316
|
+
}
|
|
1317
|
+
interface PluridStateSpace {
|
|
1318
|
+
loading: boolean;
|
|
1319
|
+
resolvedLayout: boolean;
|
|
1320
|
+
animatedTransform: boolean;
|
|
1321
|
+
transformTime: number;
|
|
1322
|
+
scale: number;
|
|
1323
|
+
rotationX: number;
|
|
1324
|
+
rotationY: number;
|
|
1325
|
+
translationX: number;
|
|
1326
|
+
translationY: number;
|
|
1327
|
+
translationZ: number;
|
|
1328
|
+
transform: string;
|
|
1329
|
+
tree: TreePlane[];
|
|
1330
|
+
/** Arbitrary plane↔plane relationships, independent of the parent→child `tree`. */
|
|
1331
|
+
links: PlaneLink[];
|
|
1332
|
+
activeUniverseID: string;
|
|
1333
|
+
camera: Coordinates;
|
|
1334
|
+
viewSize: ViewSize;
|
|
1335
|
+
spaceSize: SpaceSize;
|
|
1336
|
+
view: PluridApplicationView;
|
|
1337
|
+
culledView: PluridApplicationView;
|
|
1338
|
+
activePlaneID: string;
|
|
1339
|
+
isolatePlane: string;
|
|
1340
|
+
lastClosedPlane: string;
|
|
1341
|
+
/** Multi-selection working set — the planes the user has selected to act on as a group. */
|
|
1342
|
+
selectedPlaneIDs: string[];
|
|
1343
|
+
/** True while the selection is being drag-moved — drives the live alignment-guide overlay. */
|
|
1344
|
+
draggingSelection: boolean;
|
|
1345
|
+
}
|
|
1346
|
+
interface PluridStateThemes {
|
|
1347
|
+
general: Theme;
|
|
1348
|
+
interaction: Theme;
|
|
1349
|
+
}
|
|
1350
|
+
interface PluridStateUI {
|
|
1351
|
+
toolbarScrollPosition: number;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
interface PluridPlaneOptions {
|
|
1355
|
+
/**
|
|
1356
|
+
* Constraints for the parameters.
|
|
1357
|
+
*/
|
|
1358
|
+
parameters?: Record<string, PluridRouteParameter>;
|
|
1359
|
+
}
|
|
1360
|
+
interface PluridPlaneObject<C> extends PluridPlaneOptions {
|
|
1361
|
+
/**
|
|
1362
|
+
* Route to the plane, e.g. `/plane-1`. By convention, it starts with an '/'.
|
|
1363
|
+
*
|
|
1364
|
+
* The `route` can be
|
|
1365
|
+
* + unassigned,
|
|
1366
|
+
* + assigned,
|
|
1367
|
+
* + absolute.
|
|
1368
|
+
*
|
|
1369
|
+
* The unassigned route respects the format
|
|
1370
|
+
* `/plane` and will be automatically assigned
|
|
1371
|
+
* to the `default` space, `default` universe, `default` cluster.
|
|
1372
|
+
*
|
|
1373
|
+
* The assigned path respects the format
|
|
1374
|
+
* `/path://space://universe://cluster://plane`
|
|
1375
|
+
* and it presupposes the given `protocol` and `host`.
|
|
1376
|
+
*
|
|
1377
|
+
* The absolute path respects the format
|
|
1378
|
+
* `protocol://host://path://space://universe://cluster://plane`
|
|
1379
|
+
* and is useful for cross-origins requests.
|
|
1380
|
+
*
|
|
1381
|
+
* The route can have parameters, e.g. `/plane/:id`.
|
|
1382
|
+
*
|
|
1383
|
+
* The parameter, in the example `id`,
|
|
1384
|
+
* will be passed in the property `plurid.parameters` to the component,
|
|
1385
|
+
* e.g. `componentProperties.plurid.route.plane.parameters.id`.
|
|
1386
|
+
*
|
|
1387
|
+
*/
|
|
1388
|
+
route: string;
|
|
1389
|
+
/**
|
|
1390
|
+
* Component to be rendered in the PluridPlane.
|
|
1391
|
+
*/
|
|
1392
|
+
component: C;
|
|
1393
|
+
}
|
|
1394
|
+
type PluridPlaneTuple<C> = [
|
|
1395
|
+
/**
|
|
1396
|
+
* See `PluridPlaneObject<C>.route`.
|
|
1397
|
+
*/
|
|
1398
|
+
route: string,
|
|
1399
|
+
/**
|
|
1400
|
+
* See `PluridPlaneObject<C>.component`.
|
|
1401
|
+
*/
|
|
1402
|
+
component: C,
|
|
1403
|
+
/**
|
|
1404
|
+
* See `PluridPlaneOptions`.
|
|
1405
|
+
*/
|
|
1406
|
+
options?: PluridPlaneOptions
|
|
1407
|
+
];
|
|
1408
|
+
type PluridPlane<C> = PluridPlaneObject<C> | PluridPlaneTuple<C>;
|
|
1409
|
+
type PluridPlaneContext<T> = any;
|
|
1410
|
+
interface RouteSegment {
|
|
1411
|
+
[key: string]: any;
|
|
1412
|
+
}
|
|
1413
|
+
interface RegisteredPluridPlane<C> {
|
|
1414
|
+
route: {
|
|
1415
|
+
absolute: string;
|
|
1416
|
+
fragments: PluridRouteFragments;
|
|
1417
|
+
parameters: Record<string, string>;
|
|
1418
|
+
query: Record<string, string>;
|
|
1419
|
+
};
|
|
1420
|
+
component: C;
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
interface PluridUniverse<C> {
|
|
1424
|
+
value: string;
|
|
1425
|
+
planes?: PluridPlane<C>[];
|
|
1426
|
+
view?: string[];
|
|
1427
|
+
/**
|
|
1428
|
+
* By default, the order the documents are shown in is based on their index in the `documents[]`.
|
|
1429
|
+
* The ordinal can be used to overrule the default order.
|
|
1430
|
+
* If not unique, the documents with equal `ordinal` will be ordered by index.
|
|
1431
|
+
*
|
|
1432
|
+
* 0-based.
|
|
1433
|
+
*/
|
|
1434
|
+
ordinal?: number;
|
|
1435
|
+
/**
|
|
1436
|
+
* Set the document as active. By default the first document is active.
|
|
1437
|
+
*
|
|
1438
|
+
* Only one document can be active at a time.
|
|
1439
|
+
*/
|
|
1440
|
+
active?: boolean;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
interface PluridView {
|
|
1444
|
+
/**
|
|
1445
|
+
* Route to a `PluridPlane`.
|
|
1446
|
+
*
|
|
1447
|
+
* The route can be URL-like, e.g. `'/plane/one?query=true'`,
|
|
1448
|
+
* for a plane in the same space, or fully defined,
|
|
1449
|
+
* e.g. `'protocol://host://path://space://universe://cluster://plane`.
|
|
1450
|
+
*/
|
|
1451
|
+
plane: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* By default, the order the planes are shown in is based on their index in the `view[]`.
|
|
1454
|
+
* The ordinal can be used to overrule the default order.
|
|
1455
|
+
* If not unique, the planes with equal `ordinal` will be ordered by index.
|
|
1456
|
+
*
|
|
1457
|
+
* 0-based.
|
|
1458
|
+
*/
|
|
1459
|
+
ordinal?: number;
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
declare const PLURID_PUBSUB_TOPIC: {
|
|
1463
|
+
readonly CONFIGURATION: "configuration";
|
|
1464
|
+
readonly SPACE_ANIMATED_TRANSFORM: "space.animatedTransform";
|
|
1465
|
+
readonly SPACE_ROTATE_UP: "space.rotateUp";
|
|
1466
|
+
readonly SPACE_ROTATE_DOWN: "space.rotateDown";
|
|
1467
|
+
readonly SPACE_ROTATE_LEFT: "space.rotateLeft";
|
|
1468
|
+
readonly SPACE_ROTATE_RIGHT: "space.rotateRight";
|
|
1469
|
+
readonly SPACE_ROTATE_X_WITH: "space.rotateXWith";
|
|
1470
|
+
readonly SPACE_ROTATE_Y_WITH: "space.rotateYWith";
|
|
1471
|
+
readonly SPACE_ROTATE_X_TO: "space.rotateXTo";
|
|
1472
|
+
readonly SPACE_ROTATE_Y_TO: "space.rotateYTo";
|
|
1473
|
+
readonly SPACE_TRANSLATE_UP: "space.translateUp";
|
|
1474
|
+
readonly SPACE_TRANSLATE_DOWN: "space.translateDown";
|
|
1475
|
+
readonly SPACE_TRANSLATE_LEFT: "space.translateLeft";
|
|
1476
|
+
readonly SPACE_TRANSLATE_RIGHT: "space.translateRight";
|
|
1477
|
+
readonly SPACE_TRANSLATE_X_WITH: "space.translateXWith";
|
|
1478
|
+
readonly SPACE_TRANSLATE_Y_WITH: "space.translateYWith";
|
|
1479
|
+
readonly SPACE_TRANSLATE_Z_WITH: "space.translateZWith";
|
|
1480
|
+
readonly SPACE_TRANSLATE_X_TO: "space.translateXTo";
|
|
1481
|
+
readonly SPACE_TRANSLATE_Y_TO: "space.translateYTo";
|
|
1482
|
+
readonly SPACE_TRANSLATE_Z_TO: "space.translateZTo";
|
|
1483
|
+
readonly SPACE_SCALE_UP: "space.scaleUp";
|
|
1484
|
+
readonly SPACE_SCALE_DOWN: "space.scaleDown";
|
|
1485
|
+
readonly SPACE_SCALE_WITH: "space.scaleWith";
|
|
1486
|
+
readonly SPACE_TRANSFORM: "space.transform";
|
|
1487
|
+
readonly VIEW_ADD_PLANE: "view.addPlane";
|
|
1488
|
+
readonly VIEW_SET_PLANES: "view.setPlanes";
|
|
1489
|
+
readonly VIEW_REMOVE_PLANE: "view.removePlane";
|
|
1490
|
+
readonly NAVIGATE_TO_PLANE: "space.navigateToPlane";
|
|
1491
|
+
readonly REFRESH_PLANE: "space.refreshPlane";
|
|
1492
|
+
readonly ISOLATE_PLANE: "space.isolatePlane";
|
|
1493
|
+
readonly OPEN_CLOSED_PLANE: "space.openClosedPlane";
|
|
1494
|
+
readonly CLOSE_PLANE: "space.closePlane";
|
|
1495
|
+
readonly PREVIOUS_ROOT: "space.previousRoot";
|
|
1496
|
+
readonly NEXT_ROOT: "space.nextRoot";
|
|
1497
|
+
readonly NAVIGATE_TO_ROOT: "space.navigateToRoot";
|
|
1498
|
+
readonly ADD_PLANE_LINK: "space.addPlaneLink";
|
|
1499
|
+
readonly REMOVE_PLANE_LINK: "space.removePlaneLink";
|
|
1500
|
+
readonly SET_PLANE_LINKS: "space.setPlaneLinks";
|
|
1501
|
+
readonly SET_SELECTION: "space.setSelection";
|
|
1502
|
+
readonly TOGGLE_SELECTION: "space.toggleSelection";
|
|
1503
|
+
readonly CLEAR_SELECTION: "space.clearSelection";
|
|
1504
|
+
readonly COLLABORATION_MUTATION: "space.collaborationMutation";
|
|
1505
|
+
readonly APPLY_REMOTE_MUTATION: "space.applyRemoteMutation";
|
|
1506
|
+
/** Programmatic camera control: a host publishes an encoded viewpoint to move/jump the camera. */
|
|
1507
|
+
readonly SET_VIEWPOINT: "space.setViewpoint";
|
|
1508
|
+
readonly FIT_TO_VIEW: "space.fitToView";
|
|
1509
|
+
readonly RESET_TRANSFORM: "space.resetTransform";
|
|
1510
|
+
readonly UNDO: "space.undo";
|
|
1511
|
+
readonly REDO: "space.redo";
|
|
1512
|
+
readonly SET_TREE: "space.setTree";
|
|
1513
|
+
/**
|
|
1514
|
+
* The single engine→host OBSERVE channel: published as `{ kind, value }` whenever a watched slice
|
|
1515
|
+
* changes (`selection`/`tree`/`links`/`activePlane`/`isolate`/`layoutResolved`/`loading`). One
|
|
1516
|
+
* subscription covers all of them — finer than diffing snapshots, lighter than N topics.
|
|
1517
|
+
*/
|
|
1518
|
+
readonly CHANGED: "space.changed";
|
|
1519
|
+
readonly SET_PLANE_PATH: "plane.setPath";
|
|
1520
|
+
};
|
|
1521
|
+
type PluridPubSubTopic = typeof PLURID_PUBSUB_TOPIC;
|
|
1522
|
+
type PluridPubSubTopicKeys = keyof typeof PLURID_PUBSUB_TOPIC;
|
|
1523
|
+
type PluridPubSubTopicKeysType = typeof PLURID_PUBSUB_TOPIC[PluridPubSubTopicKeys];
|
|
1524
|
+
|
|
1525
|
+
type PluridPubSubCallback<D = any> = (data: D) => void;
|
|
1526
|
+
interface PluridPubSubDataValueNumber {
|
|
1527
|
+
value: number;
|
|
1528
|
+
}
|
|
1529
|
+
interface PluridPubSubDataValueString {
|
|
1530
|
+
value: string;
|
|
1531
|
+
}
|
|
1532
|
+
interface PluridPubSubPublishMessageConfiguration {
|
|
1533
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CONFIGURATION;
|
|
1534
|
+
data: PluridPartialConfiguration;
|
|
1535
|
+
}
|
|
1536
|
+
interface PluridPubSubSubscribeMessageConfiguration {
|
|
1537
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CONFIGURATION;
|
|
1538
|
+
callback: PluridPubSubCallback<PluridPartialConfiguration>;
|
|
1539
|
+
}
|
|
1540
|
+
interface PluridPubSubPublishMessageSpaceAnimatedTransform {
|
|
1541
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM;
|
|
1542
|
+
data?: any;
|
|
1543
|
+
}
|
|
1544
|
+
interface PluridPubSubSubscribeMessageSpaceAnimatedTransform {
|
|
1545
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ANIMATED_TRANSFORM;
|
|
1546
|
+
callback: PluridPubSubCallback<any>;
|
|
1547
|
+
}
|
|
1548
|
+
interface PluridPubSubPublishMessageSpaceRotateUp {
|
|
1549
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_UP;
|
|
1550
|
+
data: PluridPubSubDataValueNumber;
|
|
1551
|
+
}
|
|
1552
|
+
interface PluridPubSubPublishMessageSpaceRotateDown {
|
|
1553
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_DOWN;
|
|
1554
|
+
data: PluridPubSubDataValueNumber;
|
|
1555
|
+
}
|
|
1556
|
+
interface PluridPubSubPublishMessageSpaceRotateLeft {
|
|
1557
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_LEFT;
|
|
1558
|
+
data: PluridPubSubDataValueNumber;
|
|
1559
|
+
}
|
|
1560
|
+
interface PluridPubSubPublishMessageSpaceRotateRight {
|
|
1561
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_RIGHT;
|
|
1562
|
+
data: PluridPubSubDataValueNumber;
|
|
1563
|
+
}
|
|
1564
|
+
interface PluridPubSubSubscribeMessageSpaceRotateUp {
|
|
1565
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_UP;
|
|
1566
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1567
|
+
}
|
|
1568
|
+
interface PluridPubSubSubscribeMessageSpaceRotateDown {
|
|
1569
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_DOWN;
|
|
1570
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1571
|
+
}
|
|
1572
|
+
interface PluridPubSubSubscribeMessageSpaceRotateLeft {
|
|
1573
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_LEFT;
|
|
1574
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1575
|
+
}
|
|
1576
|
+
interface PluridPubSubSubscribeMessageSpaceRotateRight {
|
|
1577
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_RIGHT;
|
|
1578
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1579
|
+
}
|
|
1580
|
+
interface PluridPubSubPublishMessageSpaceRotateXWith {
|
|
1581
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH;
|
|
1582
|
+
data: PluridPubSubDataValueNumber;
|
|
1583
|
+
}
|
|
1584
|
+
interface PluridPubSubPublishMessageSpaceRotateYWith {
|
|
1585
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH;
|
|
1586
|
+
data: PluridPubSubDataValueNumber;
|
|
1587
|
+
}
|
|
1588
|
+
interface PluridPubSubSubscribeMessageSpaceRotateXWith {
|
|
1589
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_WITH;
|
|
1590
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1591
|
+
}
|
|
1592
|
+
interface PluridPubSubSubscribeMessageSpaceRotateYWith {
|
|
1593
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_WITH;
|
|
1594
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1595
|
+
}
|
|
1596
|
+
interface PluridPubSubPublishMessageSpaceRotateXTo {
|
|
1597
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO;
|
|
1598
|
+
data: PluridPubSubDataValueNumber;
|
|
1599
|
+
}
|
|
1600
|
+
interface PluridPubSubPublishMessageSpaceRotateYTo {
|
|
1601
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO;
|
|
1602
|
+
data: PluridPubSubDataValueNumber;
|
|
1603
|
+
}
|
|
1604
|
+
interface PluridPubSubSubscribeMessageSpaceRotateXTo {
|
|
1605
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_X_TO;
|
|
1606
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1607
|
+
}
|
|
1608
|
+
interface PluridPubSubSubscribeMessageSpaceRotateYTo {
|
|
1609
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_ROTATE_Y_TO;
|
|
1610
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1611
|
+
}
|
|
1612
|
+
interface PluridPubSubPublishMessageSpaceTranslateUp {
|
|
1613
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_UP;
|
|
1614
|
+
data: PluridPubSubDataValueNumber;
|
|
1615
|
+
}
|
|
1616
|
+
interface PluridPubSubPublishMessageSpaceTranslateDown {
|
|
1617
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_DOWN;
|
|
1618
|
+
data: PluridPubSubDataValueNumber;
|
|
1619
|
+
}
|
|
1620
|
+
interface PluridPubSubPublishMessageSpaceTranslateLeft {
|
|
1621
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_LEFT;
|
|
1622
|
+
data: PluridPubSubDataValueNumber;
|
|
1623
|
+
}
|
|
1624
|
+
interface PluridPubSubPublishMessageSpaceTranslateRight {
|
|
1625
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_RIGHT;
|
|
1626
|
+
data: PluridPubSubDataValueNumber;
|
|
1627
|
+
}
|
|
1628
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateUp {
|
|
1629
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_UP;
|
|
1630
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1631
|
+
}
|
|
1632
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateDown {
|
|
1633
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_DOWN;
|
|
1634
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1635
|
+
}
|
|
1636
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateLeft {
|
|
1637
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_LEFT;
|
|
1638
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1639
|
+
}
|
|
1640
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateRight {
|
|
1641
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_RIGHT;
|
|
1642
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1643
|
+
}
|
|
1644
|
+
interface PluridPubSubPublishMessageSpaceTranslateXWith {
|
|
1645
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH;
|
|
1646
|
+
data: PluridPubSubDataValueNumber;
|
|
1647
|
+
}
|
|
1648
|
+
interface PluridPubSubPublishMessageSpaceTranslateYWith {
|
|
1649
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH;
|
|
1650
|
+
data: PluridPubSubDataValueNumber;
|
|
1651
|
+
}
|
|
1652
|
+
interface PluridPubSubPublishMessageSpaceTranslateZWith {
|
|
1653
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Z_WITH;
|
|
1654
|
+
data: PluridPubSubDataValueNumber;
|
|
1655
|
+
}
|
|
1656
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateXWith {
|
|
1657
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_WITH;
|
|
1658
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1659
|
+
}
|
|
1660
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateYWith {
|
|
1661
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_WITH;
|
|
1662
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1663
|
+
}
|
|
1664
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateZWith {
|
|
1665
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Z_WITH;
|
|
1666
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1667
|
+
}
|
|
1668
|
+
interface PluridPubSubPublishMessageSpaceTranslateXTo {
|
|
1669
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_TO;
|
|
1670
|
+
data: PluridPubSubDataValueNumber;
|
|
1671
|
+
}
|
|
1672
|
+
interface PluridPubSubPublishMessageSpaceTranslateYTo {
|
|
1673
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_TO;
|
|
1674
|
+
data: PluridPubSubDataValueNumber;
|
|
1675
|
+
}
|
|
1676
|
+
interface PluridPubSubPublishMessageSpaceTranslateZTo {
|
|
1677
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Z_TO;
|
|
1678
|
+
data: PluridPubSubDataValueNumber;
|
|
1679
|
+
}
|
|
1680
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateXTo {
|
|
1681
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_X_TO;
|
|
1682
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1683
|
+
}
|
|
1684
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateYTo {
|
|
1685
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Y_TO;
|
|
1686
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1687
|
+
}
|
|
1688
|
+
interface PluridPubSubSubscribeMessageSpaceTranslateZTo {
|
|
1689
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSLATE_Z_TO;
|
|
1690
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1691
|
+
}
|
|
1692
|
+
interface PluridPubSubPublishMessageSpaceScaleUp {
|
|
1693
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_UP;
|
|
1694
|
+
data: PluridPubSubDataValueNumber;
|
|
1695
|
+
}
|
|
1696
|
+
interface PluridPubSubPublishMessageSpaceScaleDown {
|
|
1697
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_DOWN;
|
|
1698
|
+
data: PluridPubSubDataValueNumber;
|
|
1699
|
+
}
|
|
1700
|
+
interface PluridPubSubPublishMessageSpaceScaleWith {
|
|
1701
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_WITH;
|
|
1702
|
+
data: PluridPubSubDataValueNumber;
|
|
1703
|
+
}
|
|
1704
|
+
interface PluridPubSubSubscribeMessageSpaceScaleUp {
|
|
1705
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_UP;
|
|
1706
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1707
|
+
}
|
|
1708
|
+
interface PluridPubSubSubscribeMessageSpaceScaleDown {
|
|
1709
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_DOWN;
|
|
1710
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1711
|
+
}
|
|
1712
|
+
interface PluridPubSubSubscribeMessageSpaceScaleWith {
|
|
1713
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_SCALE_WITH;
|
|
1714
|
+
callback: PluridPubSubCallback<PluridPubSubDataValueNumber>;
|
|
1715
|
+
}
|
|
1716
|
+
interface SpaceTransform {
|
|
1717
|
+
rotationX: number;
|
|
1718
|
+
rotationY: number;
|
|
1719
|
+
translationX: number;
|
|
1720
|
+
translationY: number;
|
|
1721
|
+
translationZ: number;
|
|
1722
|
+
scale: number;
|
|
1723
|
+
}
|
|
1724
|
+
interface PluridPubSubMessageSpaceTransformData {
|
|
1725
|
+
value: Partial<SpaceTransform>;
|
|
1726
|
+
internal?: boolean;
|
|
1727
|
+
}
|
|
1728
|
+
interface PluridPubSubPublishMessageSpaceTransform {
|
|
1729
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM;
|
|
1730
|
+
data?: PluridPubSubMessageSpaceTransformData;
|
|
1731
|
+
}
|
|
1732
|
+
interface PluridPubSubSubscribeMessageSpaceTransform {
|
|
1733
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SPACE_TRANSFORM;
|
|
1734
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSpaceTransformData>;
|
|
1735
|
+
}
|
|
1736
|
+
interface PluridPubSubMessageViewAddPlaneData {
|
|
1737
|
+
plane: string;
|
|
1738
|
+
}
|
|
1739
|
+
interface PluridPubSubPublishMessageViewAddPlane {
|
|
1740
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE;
|
|
1741
|
+
data: PluridPubSubMessageViewAddPlaneData;
|
|
1742
|
+
}
|
|
1743
|
+
interface PluridPubSubSubscribeMessageViewAddPlane {
|
|
1744
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_ADD_PLANE;
|
|
1745
|
+
callback: PluridPubSubCallback<PluridPubSubMessageViewAddPlaneData>;
|
|
1746
|
+
}
|
|
1747
|
+
interface PluridPubSubMessageViewSetPlanesData {
|
|
1748
|
+
view: string[];
|
|
1749
|
+
}
|
|
1750
|
+
interface PluridPubSubPublishMessageViewSetPlanes {
|
|
1751
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES;
|
|
1752
|
+
data?: PluridPubSubMessageViewSetPlanesData;
|
|
1753
|
+
}
|
|
1754
|
+
interface PluridPubSubSubscribeMessageViewSetPlanes {
|
|
1755
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_SET_PLANES;
|
|
1756
|
+
callback: PluridPubSubCallback<PluridPubSubMessageViewSetPlanesData>;
|
|
1757
|
+
}
|
|
1758
|
+
interface PluridPubSubMessageViewRemovePlaneData {
|
|
1759
|
+
plane: string;
|
|
1760
|
+
}
|
|
1761
|
+
interface PluridPubSubPublishMessageViewRemovePlane {
|
|
1762
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE;
|
|
1763
|
+
data: PluridPubSubMessageViewRemovePlaneData;
|
|
1764
|
+
}
|
|
1765
|
+
interface PluridPubSubSubscribeMessageViewRemovePlane {
|
|
1766
|
+
topic: typeof PLURID_PUBSUB_TOPIC.VIEW_REMOVE_PLANE;
|
|
1767
|
+
callback: PluridPubSubCallback<PluridPubSubMessageViewRemovePlaneData>;
|
|
1768
|
+
}
|
|
1769
|
+
interface PluridPubSubMessageNavigateToPlane {
|
|
1770
|
+
id: string;
|
|
1771
|
+
}
|
|
1772
|
+
interface PluridPubSubPublishMessageNavigateToPlane {
|
|
1773
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NAVIGATE_TO_PLANE;
|
|
1774
|
+
data: PluridPubSubMessageNavigateToPlane;
|
|
1775
|
+
}
|
|
1776
|
+
interface PluridPubSubSubscribeMessageNavigateToPlane {
|
|
1777
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NAVIGATE_TO_PLANE;
|
|
1778
|
+
callback: PluridPubSubCallback<PluridPubSubMessageNavigateToPlane>;
|
|
1779
|
+
}
|
|
1780
|
+
interface PluridPubSubMessageRefreshPlane {
|
|
1781
|
+
id: string;
|
|
1782
|
+
}
|
|
1783
|
+
interface PluridPubSubPublishMessageRefreshPlane {
|
|
1784
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REFRESH_PLANE;
|
|
1785
|
+
data: PluridPubSubMessageRefreshPlane;
|
|
1786
|
+
}
|
|
1787
|
+
interface PluridPubSubSubscribeMessageRefreshPlane {
|
|
1788
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REFRESH_PLANE;
|
|
1789
|
+
callback: PluridPubSubCallback<PluridPubSubMessageRefreshPlane>;
|
|
1790
|
+
}
|
|
1791
|
+
interface PluridPubSubMessageIsolatePlane {
|
|
1792
|
+
id: string;
|
|
1793
|
+
}
|
|
1794
|
+
interface PluridPubSubPublishMessageIsolatePlane {
|
|
1795
|
+
topic: typeof PLURID_PUBSUB_TOPIC.ISOLATE_PLANE;
|
|
1796
|
+
data: PluridPubSubMessageIsolatePlane;
|
|
1797
|
+
}
|
|
1798
|
+
interface PluridPubSubSubscribeMessageIsolatePlane {
|
|
1799
|
+
topic: typeof PLURID_PUBSUB_TOPIC.ISOLATE_PLANE;
|
|
1800
|
+
callback: PluridPubSubCallback<PluridPubSubMessageIsolatePlane>;
|
|
1801
|
+
}
|
|
1802
|
+
interface PluridPubSubPublishMessageOpenClosedPlane {
|
|
1803
|
+
topic: typeof PLURID_PUBSUB_TOPIC.OPEN_CLOSED_PLANE;
|
|
1804
|
+
data?: any;
|
|
1805
|
+
}
|
|
1806
|
+
interface PluridPubSubSubscribeMessageOpenClosedPlane {
|
|
1807
|
+
topic: typeof PLURID_PUBSUB_TOPIC.OPEN_CLOSED_PLANE;
|
|
1808
|
+
callback: PluridPubSubCallback<any>;
|
|
1809
|
+
}
|
|
1810
|
+
interface PluridPubSubMessageClosePlane {
|
|
1811
|
+
id: string;
|
|
1812
|
+
}
|
|
1813
|
+
interface PluridPubSubPublishMessageClosePlane {
|
|
1814
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CLOSE_PLANE;
|
|
1815
|
+
data: PluridPubSubMessageClosePlane;
|
|
1816
|
+
}
|
|
1817
|
+
interface PluridPubSubSubscribeMessageClosePlane {
|
|
1818
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CLOSE_PLANE;
|
|
1819
|
+
callback: PluridPubSubCallback<PluridPubSubMessageClosePlane>;
|
|
1820
|
+
}
|
|
1821
|
+
interface PluridPubSubPublishMessagePreviousRoot {
|
|
1822
|
+
topic: typeof PLURID_PUBSUB_TOPIC.PREVIOUS_ROOT;
|
|
1823
|
+
data?: any;
|
|
1824
|
+
}
|
|
1825
|
+
interface PluridPubSubSubscribeMessagePreviousRoot {
|
|
1826
|
+
topic: typeof PLURID_PUBSUB_TOPIC.PREVIOUS_ROOT;
|
|
1827
|
+
callback: PluridPubSubCallback<any>;
|
|
1828
|
+
}
|
|
1829
|
+
interface PluridPubSubPublishMessageNextRoot {
|
|
1830
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NEXT_ROOT;
|
|
1831
|
+
data?: any;
|
|
1832
|
+
}
|
|
1833
|
+
interface PluridPubSubSubscribeMessageNextRoot {
|
|
1834
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NEXT_ROOT;
|
|
1835
|
+
callback: PluridPubSubCallback<any>;
|
|
1836
|
+
}
|
|
1837
|
+
type PluridPubSubMessageNavigateToRoot = {
|
|
1838
|
+
index: number;
|
|
1839
|
+
} | {
|
|
1840
|
+
id: string;
|
|
1841
|
+
};
|
|
1842
|
+
interface PluridPubSubPublishMessageNavigateToRoot {
|
|
1843
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NAVIGATE_TO_ROOT;
|
|
1844
|
+
data: PluridPubSubMessageNavigateToRoot;
|
|
1845
|
+
}
|
|
1846
|
+
interface PluridPubSubSubscribeMessageNavigateToRoot {
|
|
1847
|
+
topic: typeof PLURID_PUBSUB_TOPIC.NAVIGATE_TO_ROOT;
|
|
1848
|
+
callback: PluridPubSubCallback<PluridPubSubMessageNavigateToRoot>;
|
|
1849
|
+
}
|
|
1850
|
+
type PluridPubSubMessageSetPlanePath = {
|
|
1851
|
+
id: string;
|
|
1852
|
+
value: string;
|
|
1853
|
+
};
|
|
1854
|
+
interface PluridPubSubPublishMessageSetPlanePath {
|
|
1855
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_PLANE_PATH;
|
|
1856
|
+
data: PluridPubSubMessageSetPlanePath;
|
|
1857
|
+
}
|
|
1858
|
+
interface PluridPubSubSubscribeMessageSetPlanePath {
|
|
1859
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_PLANE_PATH;
|
|
1860
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSetPlanePath>;
|
|
1861
|
+
}
|
|
1862
|
+
interface PluridPubSubPublishMessageAddPlaneLink {
|
|
1863
|
+
topic: typeof PLURID_PUBSUB_TOPIC.ADD_PLANE_LINK;
|
|
1864
|
+
data: PlaneLink;
|
|
1865
|
+
}
|
|
1866
|
+
interface PluridPubSubSubscribeMessageAddPlaneLink {
|
|
1867
|
+
topic: typeof PLURID_PUBSUB_TOPIC.ADD_PLANE_LINK;
|
|
1868
|
+
callback: PluridPubSubCallback<PlaneLink>;
|
|
1869
|
+
}
|
|
1870
|
+
interface PluridPubSubMessageRemovePlaneLink {
|
|
1871
|
+
id: string;
|
|
1872
|
+
}
|
|
1873
|
+
interface PluridPubSubPublishMessageRemovePlaneLink {
|
|
1874
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REMOVE_PLANE_LINK;
|
|
1875
|
+
data: PluridPubSubMessageRemovePlaneLink;
|
|
1876
|
+
}
|
|
1877
|
+
interface PluridPubSubSubscribeMessageRemovePlaneLink {
|
|
1878
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REMOVE_PLANE_LINK;
|
|
1879
|
+
callback: PluridPubSubCallback<PluridPubSubMessageRemovePlaneLink>;
|
|
1880
|
+
}
|
|
1881
|
+
interface PluridPubSubMessageSetPlaneLinks {
|
|
1882
|
+
links: PlaneLink[];
|
|
1883
|
+
}
|
|
1884
|
+
interface PluridPubSubPublishMessageSetPlaneLinks {
|
|
1885
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_PLANE_LINKS;
|
|
1886
|
+
data: PluridPubSubMessageSetPlaneLinks;
|
|
1887
|
+
}
|
|
1888
|
+
interface PluridPubSubSubscribeMessageSetPlaneLinks {
|
|
1889
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_PLANE_LINKS;
|
|
1890
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSetPlaneLinks>;
|
|
1891
|
+
}
|
|
1892
|
+
interface PluridPubSubMessageSetSelection {
|
|
1893
|
+
ids: string[];
|
|
1894
|
+
}
|
|
1895
|
+
interface PluridPubSubPublishMessageSetSelection {
|
|
1896
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_SELECTION;
|
|
1897
|
+
data: PluridPubSubMessageSetSelection;
|
|
1898
|
+
}
|
|
1899
|
+
interface PluridPubSubSubscribeMessageSetSelection {
|
|
1900
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_SELECTION;
|
|
1901
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSetSelection>;
|
|
1902
|
+
}
|
|
1903
|
+
interface PluridPubSubMessageToggleSelection {
|
|
1904
|
+
id: string;
|
|
1905
|
+
}
|
|
1906
|
+
interface PluridPubSubPublishMessageToggleSelection {
|
|
1907
|
+
topic: typeof PLURID_PUBSUB_TOPIC.TOGGLE_SELECTION;
|
|
1908
|
+
data: PluridPubSubMessageToggleSelection;
|
|
1909
|
+
}
|
|
1910
|
+
interface PluridPubSubSubscribeMessageToggleSelection {
|
|
1911
|
+
topic: typeof PLURID_PUBSUB_TOPIC.TOGGLE_SELECTION;
|
|
1912
|
+
callback: PluridPubSubCallback<PluridPubSubMessageToggleSelection>;
|
|
1913
|
+
}
|
|
1914
|
+
interface PluridPubSubPublishMessageClearSelection {
|
|
1915
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CLEAR_SELECTION;
|
|
1916
|
+
data?: any;
|
|
1917
|
+
}
|
|
1918
|
+
interface PluridPubSubSubscribeMessageClearSelection {
|
|
1919
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CLEAR_SELECTION;
|
|
1920
|
+
callback: PluridPubSubCallback<any>;
|
|
1921
|
+
}
|
|
1922
|
+
/**
|
|
1923
|
+
* A state-based snapshot of the SHARED arrangement (structure + manual positions via `tree`, and the
|
|
1924
|
+
* link graph). The engine emits it on collaborative change; a peer applies it. (Op-based per-action
|
|
1925
|
+
* mutations are a future enhancement on top of this seam.)
|
|
1926
|
+
*/
|
|
1927
|
+
interface PluridCollaborationSnapshot {
|
|
1928
|
+
tree?: TreePlane[];
|
|
1929
|
+
links?: PlaneLink[];
|
|
1930
|
+
}
|
|
1931
|
+
interface PluridPubSubPublishMessageCollaborationMutation {
|
|
1932
|
+
topic: typeof PLURID_PUBSUB_TOPIC.COLLABORATION_MUTATION;
|
|
1933
|
+
data: PluridCollaborationSnapshot;
|
|
1934
|
+
}
|
|
1935
|
+
interface PluridPubSubSubscribeMessageCollaborationMutation {
|
|
1936
|
+
topic: typeof PLURID_PUBSUB_TOPIC.COLLABORATION_MUTATION;
|
|
1937
|
+
callback: PluridPubSubCallback<PluridCollaborationSnapshot>;
|
|
1938
|
+
}
|
|
1939
|
+
interface PluridPubSubPublishMessageApplyRemoteMutation {
|
|
1940
|
+
topic: typeof PLURID_PUBSUB_TOPIC.APPLY_REMOTE_MUTATION;
|
|
1941
|
+
data: PluridCollaborationSnapshot;
|
|
1942
|
+
}
|
|
1943
|
+
interface PluridPubSubSubscribeMessageApplyRemoteMutation {
|
|
1944
|
+
topic: typeof PLURID_PUBSUB_TOPIC.APPLY_REMOTE_MUTATION;
|
|
1945
|
+
callback: PluridPubSubCallback<PluridCollaborationSnapshot>;
|
|
1946
|
+
}
|
|
1947
|
+
interface PluridPubSubMessageSetViewpoint {
|
|
1948
|
+
/** An encoded viewpoint, e.g. the `v` value `rotationX,rotationY,tX,tY,tZ,scale`. */
|
|
1949
|
+
viewpoint: string;
|
|
1950
|
+
/** Smoothly animate the camera to it (vs jump instantly). Default `false`. */
|
|
1951
|
+
animated?: boolean;
|
|
1952
|
+
}
|
|
1953
|
+
interface PluridPubSubPublishMessageSetViewpoint {
|
|
1954
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_VIEWPOINT;
|
|
1955
|
+
data: PluridPubSubMessageSetViewpoint;
|
|
1956
|
+
}
|
|
1957
|
+
interface PluridPubSubSubscribeMessageSetViewpoint {
|
|
1958
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_VIEWPOINT;
|
|
1959
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSetViewpoint>;
|
|
1960
|
+
}
|
|
1961
|
+
interface PluridPubSubPublishMessageFitToView {
|
|
1962
|
+
topic: typeof PLURID_PUBSUB_TOPIC.FIT_TO_VIEW;
|
|
1963
|
+
data?: any;
|
|
1964
|
+
}
|
|
1965
|
+
interface PluridPubSubSubscribeMessageFitToView {
|
|
1966
|
+
topic: typeof PLURID_PUBSUB_TOPIC.FIT_TO_VIEW;
|
|
1967
|
+
callback: PluridPubSubCallback<any>;
|
|
1968
|
+
}
|
|
1969
|
+
interface PluridPubSubPublishMessageResetTransform {
|
|
1970
|
+
topic: typeof PLURID_PUBSUB_TOPIC.RESET_TRANSFORM;
|
|
1971
|
+
data?: any;
|
|
1972
|
+
}
|
|
1973
|
+
interface PluridPubSubSubscribeMessageResetTransform {
|
|
1974
|
+
topic: typeof PLURID_PUBSUB_TOPIC.RESET_TRANSFORM;
|
|
1975
|
+
callback: PluridPubSubCallback<any>;
|
|
1976
|
+
}
|
|
1977
|
+
interface PluridPubSubPublishMessageUndo {
|
|
1978
|
+
topic: typeof PLURID_PUBSUB_TOPIC.UNDO;
|
|
1979
|
+
data?: any;
|
|
1980
|
+
}
|
|
1981
|
+
interface PluridPubSubSubscribeMessageUndo {
|
|
1982
|
+
topic: typeof PLURID_PUBSUB_TOPIC.UNDO;
|
|
1983
|
+
callback: PluridPubSubCallback<any>;
|
|
1984
|
+
}
|
|
1985
|
+
interface PluridPubSubPublishMessageRedo {
|
|
1986
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REDO;
|
|
1987
|
+
data?: any;
|
|
1988
|
+
}
|
|
1989
|
+
interface PluridPubSubSubscribeMessageRedo {
|
|
1990
|
+
topic: typeof PLURID_PUBSUB_TOPIC.REDO;
|
|
1991
|
+
callback: PluridPubSubCallback<any>;
|
|
1992
|
+
}
|
|
1993
|
+
interface PluridPubSubMessageSetTree {
|
|
1994
|
+
tree: TreePlane[];
|
|
1995
|
+
}
|
|
1996
|
+
interface PluridPubSubPublishMessageSetTree {
|
|
1997
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_TREE;
|
|
1998
|
+
data: PluridPubSubMessageSetTree;
|
|
1999
|
+
}
|
|
2000
|
+
interface PluridPubSubSubscribeMessageSetTree {
|
|
2001
|
+
topic: typeof PLURID_PUBSUB_TOPIC.SET_TREE;
|
|
2002
|
+
callback: PluridPubSubCallback<PluridPubSubMessageSetTree>;
|
|
2003
|
+
}
|
|
2004
|
+
type PluridChangeKind = 'selection' | 'tree' | 'links' | 'activePlane' | 'isolate' | 'layoutResolved' | 'loading';
|
|
2005
|
+
interface PluridPubSubMessageChanged {
|
|
2006
|
+
kind: PluridChangeKind;
|
|
2007
|
+
value: any;
|
|
2008
|
+
}
|
|
2009
|
+
interface PluridPubSubPublishMessageChanged {
|
|
2010
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CHANGED;
|
|
2011
|
+
data: PluridPubSubMessageChanged;
|
|
2012
|
+
}
|
|
2013
|
+
interface PluridPubSubSubscribeMessageChanged {
|
|
2014
|
+
topic: typeof PLURID_PUBSUB_TOPIC.CHANGED;
|
|
2015
|
+
callback: PluridPubSubCallback<PluridPubSubMessageChanged>;
|
|
2016
|
+
}
|
|
2017
|
+
type PluridPubSubPublishMessage = PluridPubSubPublishMessageConfiguration | PluridPubSubPublishMessageSpaceAnimatedTransform | PluridPubSubPublishMessageSpaceRotateUp | PluridPubSubPublishMessageSpaceRotateDown | PluridPubSubPublishMessageSpaceRotateLeft | PluridPubSubPublishMessageSpaceRotateRight | PluridPubSubPublishMessageSpaceRotateXWith | PluridPubSubPublishMessageSpaceRotateYWith | PluridPubSubPublishMessageSpaceRotateXTo | PluridPubSubPublishMessageSpaceRotateYTo | PluridPubSubPublishMessageSpaceTranslateUp | PluridPubSubPublishMessageSpaceTranslateDown | PluridPubSubPublishMessageSpaceTranslateLeft | PluridPubSubPublishMessageSpaceTranslateRight | PluridPubSubPublishMessageSpaceTranslateXWith | PluridPubSubPublishMessageSpaceTranslateYWith | PluridPubSubPublishMessageSpaceTranslateZWith | PluridPubSubPublishMessageSpaceTranslateXTo | PluridPubSubPublishMessageSpaceTranslateYTo | PluridPubSubPublishMessageSpaceTranslateZTo | PluridPubSubPublishMessageSpaceScaleUp | PluridPubSubPublishMessageSpaceScaleDown | PluridPubSubPublishMessageSpaceScaleWith | PluridPubSubPublishMessageSpaceTransform | PluridPubSubPublishMessageViewAddPlane | PluridPubSubPublishMessageViewSetPlanes | PluridPubSubPublishMessageViewRemovePlane | PluridPubSubPublishMessageNavigateToPlane | PluridPubSubPublishMessageRefreshPlane | PluridPubSubPublishMessageIsolatePlane | PluridPubSubPublishMessageOpenClosedPlane | PluridPubSubPublishMessageClosePlane | PluridPubSubPublishMessagePreviousRoot | PluridPubSubPublishMessageNextRoot | PluridPubSubPublishMessageNavigateToRoot | PluridPubSubPublishMessageSetPlanePath | PluridPubSubPublishMessageAddPlaneLink | PluridPubSubPublishMessageRemovePlaneLink | PluridPubSubPublishMessageSetPlaneLinks | PluridPubSubPublishMessageSetSelection | PluridPubSubPublishMessageToggleSelection | PluridPubSubPublishMessageClearSelection | PluridPubSubPublishMessageCollaborationMutation | PluridPubSubPublishMessageApplyRemoteMutation | PluridPubSubPublishMessageSetViewpoint | PluridPubSubPublishMessageFitToView | PluridPubSubPublishMessageResetTransform | PluridPubSubPublishMessageUndo | PluridPubSubPublishMessageRedo | PluridPubSubPublishMessageSetTree | PluridPubSubPublishMessageChanged;
|
|
2018
|
+
type PluridPubSubSubscribeMessage = PluridPubSubSubscribeMessageConfiguration | PluridPubSubSubscribeMessageSpaceAnimatedTransform | PluridPubSubSubscribeMessageSpaceRotateUp | PluridPubSubSubscribeMessageSpaceRotateDown | PluridPubSubSubscribeMessageSpaceRotateLeft | PluridPubSubSubscribeMessageSpaceRotateRight | PluridPubSubSubscribeMessageSpaceRotateXWith | PluridPubSubSubscribeMessageSpaceRotateYWith | PluridPubSubSubscribeMessageSpaceRotateXTo | PluridPubSubSubscribeMessageSpaceRotateYTo | PluridPubSubSubscribeMessageSpaceTranslateUp | PluridPubSubSubscribeMessageSpaceTranslateDown | PluridPubSubSubscribeMessageSpaceTranslateLeft | PluridPubSubSubscribeMessageSpaceTranslateRight | PluridPubSubSubscribeMessageSpaceTranslateXWith | PluridPubSubSubscribeMessageSpaceTranslateYWith | PluridPubSubSubscribeMessageSpaceTranslateZWith | PluridPubSubSubscribeMessageSpaceTranslateXTo | PluridPubSubSubscribeMessageSpaceTranslateYTo | PluridPubSubSubscribeMessageSpaceTranslateZTo | PluridPubSubSubscribeMessageSpaceScaleUp | PluridPubSubSubscribeMessageSpaceScaleDown | PluridPubSubSubscribeMessageSpaceScaleWith | PluridPubSubSubscribeMessageSpaceTransform | PluridPubSubSubscribeMessageViewAddPlane | PluridPubSubSubscribeMessageViewSetPlanes | PluridPubSubSubscribeMessageViewRemovePlane | PluridPubSubSubscribeMessageNavigateToPlane | PluridPubSubSubscribeMessageRefreshPlane | PluridPubSubSubscribeMessageIsolatePlane | PluridPubSubSubscribeMessageOpenClosedPlane | PluridPubSubSubscribeMessageClosePlane | PluridPubSubSubscribeMessagePreviousRoot | PluridPubSubSubscribeMessageNextRoot | PluridPubSubSubscribeMessageNavigateToRoot | PluridPubSubSubscribeMessageSetPlanePath | PluridPubSubSubscribeMessageAddPlaneLink | PluridPubSubSubscribeMessageRemovePlaneLink | PluridPubSubSubscribeMessageSetPlaneLinks | PluridPubSubSubscribeMessageSetSelection | PluridPubSubSubscribeMessageToggleSelection | PluridPubSubSubscribeMessageClearSelection | PluridPubSubSubscribeMessageCollaborationMutation | PluridPubSubSubscribeMessageApplyRemoteMutation | PluridPubSubSubscribeMessageSetViewpoint | PluridPubSubSubscribeMessageFitToView | PluridPubSubSubscribeMessageResetTransform | PluridPubSubSubscribeMessageUndo | PluridPubSubSubscribeMessageRedo | PluridPubSubSubscribeMessageSetTree | PluridPubSubSubscribeMessageChanged;
|
|
2019
|
+
|
|
2020
|
+
interface PluridPubSubOptions {
|
|
2021
|
+
debug?: boolean;
|
|
2022
|
+
}
|
|
2023
|
+
interface PluridPubSub {
|
|
2024
|
+
publish(message: PluridPubSubPublishMessage): void;
|
|
2025
|
+
subscribe(message: PluridPubSubSubscribeMessage): string;
|
|
2026
|
+
unsubscribe(selector: string): boolean;
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
interface PluridPlanesRegistrar<C> {
|
|
2030
|
+
register(planes: PluridPlane<C>[]): void;
|
|
2031
|
+
identify(): string[];
|
|
2032
|
+
get(route: string): RegisteredPluridPlane<C> | undefined;
|
|
2033
|
+
getAll(): Map<string, RegisteredPluridPlane<C>>;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
interface IsoMatcherData<C> {
|
|
2037
|
+
routes?: PluridRoute<C>[];
|
|
2038
|
+
routePlanes?: PluridRoutePlane<C>[];
|
|
2039
|
+
planes?: PluridPlane<C>[];
|
|
2040
|
+
}
|
|
2041
|
+
type IsoMatcherContext = 'route' | 'plane';
|
|
2042
|
+
interface IsoMatcherResultBase {
|
|
2043
|
+
value: string;
|
|
2044
|
+
parameters: Record<string, string>;
|
|
2045
|
+
query: Record<string, string>;
|
|
2046
|
+
}
|
|
2047
|
+
interface IsoMatcherRouteResultBase {
|
|
2048
|
+
match: IsoMatcherResultBase;
|
|
2049
|
+
}
|
|
2050
|
+
interface IsoMatcherRouteResultRoute<C> extends IsoMatcherRouteResultBase {
|
|
2051
|
+
kind: 'Route';
|
|
2052
|
+
data: PluridRoute<C>;
|
|
2053
|
+
}
|
|
2054
|
+
interface IsoMatcherRouteResultRoutePlane<C> extends IsoMatcherRouteResultBase {
|
|
2055
|
+
kind: 'RoutePlane';
|
|
2056
|
+
data: PluridRoutePlaneObject<C>;
|
|
2057
|
+
}
|
|
2058
|
+
type IsoMatcherRouteResult<C> = IsoMatcherRouteResultRoute<C> | IsoMatcherRouteResultRoutePlane<C>;
|
|
2059
|
+
interface IsoMatcherIndexedRoute<C> {
|
|
2060
|
+
data: PluridRoute<C>;
|
|
2061
|
+
}
|
|
2062
|
+
type IsoMatcherPlaneType = 'Plane' | 'RoutePlane';
|
|
2063
|
+
interface IsoMatcherPlaneResultMatch extends IsoMatcherResultBase {
|
|
2064
|
+
fragments: PluridRouteFragments;
|
|
2065
|
+
}
|
|
2066
|
+
interface IsoMatcherPlaneResultBase<C> {
|
|
2067
|
+
parent?: string;
|
|
2068
|
+
match: IsoMatcherPlaneResultMatch;
|
|
2069
|
+
}
|
|
2070
|
+
interface IsoMatcherPlaneResultPlane<C> extends IsoMatcherPlaneResultBase<C> {
|
|
2071
|
+
kind: 'Plane';
|
|
2072
|
+
data: PluridPlaneObject<C>;
|
|
2073
|
+
}
|
|
2074
|
+
interface IsoMatcherPlaneResultRoutePlane<C> extends IsoMatcherPlaneResultBase<C> {
|
|
2075
|
+
kind: 'RoutePlane';
|
|
2076
|
+
data: PluridRoutePlaneObject<C>;
|
|
2077
|
+
}
|
|
2078
|
+
type IsoMatcherPlaneResult<C> = IsoMatcherPlaneResultPlane<C> | IsoMatcherPlaneResultRoutePlane<C>;
|
|
2079
|
+
type IsoMatcherResult<C> = IsoMatcherRouteResult<C> | IsoMatcherPlaneResult<C>;
|
|
2080
|
+
interface IsoMatcherIndexedPlaneBase<C> {
|
|
2081
|
+
parent?: string;
|
|
2082
|
+
}
|
|
2083
|
+
interface IsoMatcherIndexedPlanePlane<C> extends IsoMatcherIndexedPlaneBase<C> {
|
|
2084
|
+
kind: 'Plane';
|
|
2085
|
+
data: PluridPlaneObject<C>;
|
|
2086
|
+
}
|
|
2087
|
+
interface IsoMatcherIndexedPlaneRoutePlane<C> extends IsoMatcherIndexedPlaneBase<C> {
|
|
2088
|
+
kind: 'RoutePlane';
|
|
2089
|
+
data: PluridRoutePlaneObject<C>;
|
|
2090
|
+
}
|
|
2091
|
+
type IsoMatcherIndexedPlane<C> = IsoMatcherIndexedPlanePlane<C> | IsoMatcherIndexedPlaneRoutePlane<C>;
|
|
2092
|
+
|
|
2093
|
+
/**
|
|
2094
|
+
* A pluggable key→string storage backend (Web Storage-shaped). Pass one as the `storageAdapter` prop
|
|
2095
|
+
* to redirect ALL of plurid's persistence — the versioned space snapshot AND the opaque
|
|
2096
|
+
* product-content blob — to sessionStorage, an in-memory map, a namespaced / encrypted wrapper, or a
|
|
2097
|
+
* memory-mirrored IndexedDB, instead of the default `localStorage`. The engine keeps owning the
|
|
2098
|
+
* serialization + versioning; the adapter only owns where the bytes land.
|
|
2099
|
+
*
|
|
2100
|
+
* `getItem` is read SYNCHRONOUSLY when the space snapshot seeds the first render, so a purely-async
|
|
2101
|
+
* backend (raw IndexedDB) can't hydrate camera/tree on first paint — mirror it to memory, or restore
|
|
2102
|
+
* asynchronously via the `onReady` store escape hatch. `setItem`/`removeItem` may return a promise:
|
|
2103
|
+
* writes are fire-and-forget, plurid never awaits them.
|
|
2104
|
+
*/
|
|
2105
|
+
interface PluridStorageAdapter {
|
|
2106
|
+
getItem(key: string): string | null;
|
|
2107
|
+
setItem(key: string, value: string): void | Promise<void>;
|
|
2108
|
+
removeItem(key: string): void | Promise<void>;
|
|
2109
|
+
}
|
|
2110
|
+
/** Minimal Redux-store shape exposed on `PluridApi` — no `@reduxjs/toolkit` coupling in the data layer. */
|
|
2111
|
+
interface PluridStore {
|
|
2112
|
+
getState(): PluridState;
|
|
2113
|
+
dispatch(action: any): any;
|
|
2114
|
+
subscribe(listener: () => void): () => void;
|
|
2115
|
+
}
|
|
2116
|
+
/**
|
|
2117
|
+
* The imperative handle handed to `onReady` — the master escape hatch. With this a host can do
|
|
2118
|
+
* ANYTHING the engine can: read any state, invoke any action, observe every change. Prefer the stable
|
|
2119
|
+
* pubsub topics + the getters; reach for `store` only when you need something the seams don't expose.
|
|
2120
|
+
*/
|
|
2121
|
+
interface PluridApi {
|
|
2122
|
+
/**
|
|
2123
|
+
* The raw Redux store — read (`getState`), invoke (`dispatch` any action; the action creators are
|
|
2124
|
+
* exported as `pluridStateModules`), and observe (`subscribe`). The internal action/state SHAPES are
|
|
2125
|
+
* not a stable API — this is the deliberate power-user escape hatch.
|
|
2126
|
+
*/
|
|
2127
|
+
store: PluridStore;
|
|
2128
|
+
/** The instance pubsub bus — publish control topics, subscribe to the `space.*Changed` emit topics. */
|
|
2129
|
+
pubsub: PluridPubSub;
|
|
2130
|
+
/** Read the full current engine state synchronously. */
|
|
2131
|
+
getSnapshot(): PluridState;
|
|
2132
|
+
/** Read the current camera viewpoint as the encoded string (the same `v` value the URL/seam use). */
|
|
2133
|
+
getViewpoint(): string;
|
|
2134
|
+
}
|
|
2135
|
+
interface PluridApplication<C> {
|
|
2136
|
+
id?: string;
|
|
2137
|
+
planesProperties?: Map<string, any>;
|
|
2138
|
+
/**
|
|
2139
|
+
* The planes which will be rendered by the `PluridApplication`.
|
|
2140
|
+
*/
|
|
2141
|
+
planes?: PluridPlane<C>[];
|
|
2142
|
+
/**
|
|
2143
|
+
* Optional context for the plane to have access to.
|
|
2144
|
+
*/
|
|
2145
|
+
planeContext?: PluridPlaneContext<any>;
|
|
2146
|
+
/**
|
|
2147
|
+
* Optional context initial value.
|
|
2148
|
+
*/
|
|
2149
|
+
planeContextValue?: Record<string, any>;
|
|
2150
|
+
/**
|
|
2151
|
+
* Routes of the planes in view on the initial rendering.
|
|
2152
|
+
*/
|
|
2153
|
+
view: PluridApplicationView;
|
|
2154
|
+
/**
|
|
2155
|
+
* Center the view on a plane from `view`.
|
|
2156
|
+
*/
|
|
2157
|
+
centerView?: string;
|
|
2158
|
+
/**
|
|
2159
|
+
* The hostname of the server exposed to the internet, e.g. `example.com`,
|
|
2160
|
+
* to be used in plurid plane links.
|
|
2161
|
+
*/
|
|
2162
|
+
hostname?: string;
|
|
2163
|
+
/**
|
|
2164
|
+
* A `PluridApplication` must be either planes or universes based.
|
|
2165
|
+
*
|
|
2166
|
+
* A `PluridUniverse` is a collection of `PluridPlane`s.
|
|
2167
|
+
*/
|
|
2168
|
+
universes?: PluridUniverse<C>[];
|
|
2169
|
+
/**
|
|
2170
|
+
* Show or not the default Plane Not Found component, or pass a custom component.
|
|
2171
|
+
*
|
|
2172
|
+
* Default `true`.
|
|
2173
|
+
*/
|
|
2174
|
+
planeNotFound?: boolean | C;
|
|
2175
|
+
/**
|
|
2176
|
+
* Use or not Plurid Plane Error Boundary and show the default Plurid Plane Render Error component,
|
|
2177
|
+
* or pass a custom component.
|
|
2178
|
+
*
|
|
2179
|
+
* Default `true`.
|
|
2180
|
+
*/
|
|
2181
|
+
planeRenderError?: boolean | C;
|
|
2182
|
+
/**
|
|
2183
|
+
* Application-wide partial configuration.
|
|
2184
|
+
*/
|
|
2185
|
+
configuration?: PluridPartialConfiguration;
|
|
2186
|
+
/**
|
|
2187
|
+
* Publish/Subscribe bus based on `@plurid/plurid-pubsub`.
|
|
2188
|
+
*/
|
|
2189
|
+
pubsub?: PluridPubSub;
|
|
2190
|
+
/**
|
|
2191
|
+
* Render the application statically.
|
|
2192
|
+
*/
|
|
2193
|
+
static?: boolean;
|
|
2194
|
+
precomputedState?: Partial<PluridState>;
|
|
2195
|
+
planesRegistrar?: PluridPlanesRegistrar<C>;
|
|
2196
|
+
/**
|
|
2197
|
+
* Save plurid application state to local storage,
|
|
2198
|
+
* and load from local storage at startup.
|
|
2199
|
+
*
|
|
2200
|
+
* If multiple plurid applications run on the same origin,
|
|
2201
|
+
* use the `id` property to differentiate between states.
|
|
2202
|
+
*
|
|
2203
|
+
* `LocalStorageUsage` differentiates between multiple local storages:
|
|
2204
|
+
* for view, for user interface configuration.
|
|
2205
|
+
*/
|
|
2206
|
+
useLocalStorage?: boolean;
|
|
2207
|
+
/**
|
|
2208
|
+
* Opt-in CONTENT seam (requires `useLocalStorage`). The engine persists the spatial state
|
|
2209
|
+
* (camera + tree) itself; your *content* (e.g. note bodies) is yours — these callbacks let it
|
|
2210
|
+
* ride the same debounced + `pagehide`-flushed localStorage, keyed by `id`, so you don't
|
|
2211
|
+
* reinvent that machinery.
|
|
2212
|
+
*
|
|
2213
|
+
* `onPersistContent` is invoked on each persist tick; its return value is stored opaquely (the
|
|
2214
|
+
* engine never inspects it — keep it JSON-serializable). `onRestoreContent` is invoked once,
|
|
2215
|
+
* after mount, with the previously-stored value (omitted entirely if there is none). Version
|
|
2216
|
+
* your own content shape inside the blob — the engine does not version it for you.
|
|
2217
|
+
*/
|
|
2218
|
+
onPersistContent?: () => unknown;
|
|
2219
|
+
onRestoreContent?: (content: unknown) => void;
|
|
2220
|
+
/**
|
|
2221
|
+
* Redirect ALL of plurid's persistence (the space snapshot + the `onPersistContent` blob) to a
|
|
2222
|
+
* custom key→string backend instead of `localStorage` — sessionStorage, an in-memory map, a
|
|
2223
|
+
* namespaced/encrypted wrapper, a memory-mirrored IndexedDB. Orthogonal to `useLocalStorage`,
|
|
2224
|
+
* which still gates WHETHER persistence runs; this only changes WHERE. Default: `localStorage`.
|
|
2225
|
+
*/
|
|
2226
|
+
storageAdapter?: PluridStorageAdapter;
|
|
2227
|
+
/**
|
|
2228
|
+
* Programmatic GET of the camera viewpoint: invoked (debounced) whenever the camera settles,
|
|
2229
|
+
* with the ENCODED viewpoint string (the same `v` value the URL uses). Independent of the URL
|
|
2230
|
+
* config — a host can wire its own share links / storage / sync with this + `space.setViewpoint`
|
|
2231
|
+
* (to set) without the engine ever touching the URL.
|
|
2232
|
+
*/
|
|
2233
|
+
onViewpointChange?: (viewpoint: string) => void;
|
|
2234
|
+
/**
|
|
2235
|
+
* The master escape hatch: invoked once after mount with a `PluridApi` ({ store, pubsub,
|
|
2236
|
+
* getSnapshot, getViewpoint }). Lets a host that cares enough read any state, invoke any action,
|
|
2237
|
+
* and observe every change — Plurid stays transparent, the dev stays in full control.
|
|
2238
|
+
*/
|
|
2239
|
+
onReady?: (api: PluridApi) => void;
|
|
2240
|
+
/**
|
|
2241
|
+
* Replace the internal plurid plane with a custom implementation.
|
|
2242
|
+
*/
|
|
2243
|
+
customPlane?: C;
|
|
2244
|
+
/**
|
|
2245
|
+
* Render-slots: return your own element to REPLACE an engine overlay (rendered at the same spot
|
|
2246
|
+
* inside the view), or omit to keep the default. Orthogonal to the `elements.*.show` flags and
|
|
2247
|
+
* `global.micro` (which HIDE the defaults) — these SUBSTITUTE. The slot is invoked on each render.
|
|
2248
|
+
*/
|
|
2249
|
+
renderToolbar?: PluridRenderSlot;
|
|
2250
|
+
renderViewcube?: PluridRenderSlot;
|
|
2251
|
+
renderMinimap?: PluridRenderSlot;
|
|
2252
|
+
renderShortcuts?: PluridRenderSlot;
|
|
2253
|
+
matchedRoute?: IsoMatcherRouteResult<C>;
|
|
2254
|
+
/**
|
|
2255
|
+
* Used to identify the space if using `multispace`.
|
|
2256
|
+
*/
|
|
2257
|
+
space?: string;
|
|
2258
|
+
}
|
|
2259
|
+
type PluridApplicationView = (string | PluridView)[];
|
|
2260
|
+
/**
|
|
2261
|
+
* A render-slot — returns the element to render in place of an engine UI overlay. Typed loosely
|
|
2262
|
+
* (`unknown`) to keep the data layer framework-agnostic; in React it is a `() => ReactNode`.
|
|
2263
|
+
*/
|
|
2264
|
+
type PluridRenderSlot = () => unknown;
|
|
2265
|
+
interface LocalStorageUsage {
|
|
2266
|
+
view: boolean;
|
|
2267
|
+
ui: boolean;
|
|
2268
|
+
}
|
|
2269
|
+
|
|
2270
|
+
type ComponentWithPlurid<T, W> = T & WithPluridComponentProperty<W>;
|
|
2271
|
+
interface WithPluridComponentProperty<W> {
|
|
2272
|
+
plurid: W;
|
|
2273
|
+
}
|
|
2274
|
+
type PlaneComponentWithPluridProperty<T> = ComponentWithPlurid<T, PluridPlaneComponentProperty>;
|
|
2275
|
+
type RouteComponentWithPluridProperty<T> = ComponentWithPlurid<T, PluridRouteComponentProperty>;
|
|
2276
|
+
interface PluridPlaneComponentProperty {
|
|
2277
|
+
route: PluridRouteComponentProperty;
|
|
2278
|
+
plane: PluridPlaneComponentPropertyPlane;
|
|
2279
|
+
pubSub: PluridPubSub;
|
|
2280
|
+
}
|
|
2281
|
+
interface PluridPlaneComponentPropertyPlane {
|
|
2282
|
+
value: string;
|
|
2283
|
+
parameters: Record<string, string>;
|
|
2284
|
+
query: Record<string, string>;
|
|
2285
|
+
fragments: PluridRouteFragments;
|
|
2286
|
+
planeID: string;
|
|
2287
|
+
parentPlaneID?: string;
|
|
2288
|
+
}
|
|
2289
|
+
interface PluridRouteComponentProperty {
|
|
2290
|
+
value: string;
|
|
2291
|
+
parameters: Record<string, string>;
|
|
2292
|
+
query: Record<string, string>;
|
|
2293
|
+
}
|
|
2294
|
+
|
|
2295
|
+
type KeyModifiers = 'SHIFT' | 'ALT' | 'CTRL' | 'META' | 'CTRLMETA';
|
|
2296
|
+
|
|
2297
|
+
interface PluridLink<C, S, M> {
|
|
2298
|
+
/**
|
|
2299
|
+
* The route of the plane.
|
|
2300
|
+
*
|
|
2301
|
+
* If IDs are provided to the planes, the id of the plane.
|
|
2302
|
+
*
|
|
2303
|
+
* The route path can:
|
|
2304
|
+
*
|
|
2305
|
+
* * be a simple string,
|
|
2306
|
+
* e.g. `'/route/to/plane'` or `'/d71b21673037485a'`,
|
|
2307
|
+
* where `d71b21673037485a` is a generated plane ID;
|
|
2308
|
+
*
|
|
2309
|
+
* * be a parametric route,
|
|
2310
|
+
* e.g. `'/route/to/:plane'`, where `:plane` is the parameter value
|
|
2311
|
+
* for the parameter defined in the `PluridPage[]`;
|
|
2312
|
+
*
|
|
2313
|
+
* * receive query `key=value` pairs,
|
|
2314
|
+
* e.g. `'/route/to/plane?id=1&show=true'`, where `id=1` and `show=true` are `key=value` pairs
|
|
2315
|
+
*
|
|
2316
|
+
* * specify a text fragment,
|
|
2317
|
+
* e.g. `'/route/to/plane#:~:text=A%20door,is%20opened.,[0]'`,
|
|
2318
|
+
* where the fragment `#:~:text=A%20door,is%20opened.,[0]`
|
|
2319
|
+
* is loosely based on the https://github.com/WICG/ScrollToTextFragment specification,
|
|
2320
|
+
* and indicates the link to bring into view the first occurence `[0]`, if any,
|
|
2321
|
+
* of the text fragment starting with `A door` and ending with `is opened.`.
|
|
2322
|
+
*
|
|
2323
|
+
* * specify a page element,
|
|
2324
|
+
* e.g. `'/route/to/plane#:~:element=123,[1]'`,
|
|
2325
|
+
* where the fragment `#:~:element=123,[1]`
|
|
2326
|
+
* indicates the link to bring into view the second occurence `[1]`, if any,
|
|
2327
|
+
* of the element with the attribute `data-plurid-element=123`.
|
|
2328
|
+
*
|
|
2329
|
+
*
|
|
2330
|
+
* ### Larger Syntax Structure
|
|
2331
|
+
*
|
|
2332
|
+
* The syntax `/plane` is used to reference only the plurid planes within the same plurid space.
|
|
2333
|
+
*
|
|
2334
|
+
* In order to reference
|
|
2335
|
+
*
|
|
2336
|
+
* + planes within other clusters,
|
|
2337
|
+
* + planes within other universes,
|
|
2338
|
+
* + planes within other spaces of the same route,
|
|
2339
|
+
* + planes within other spaces of a different route,
|
|
2340
|
+
* + planes within other spaces of a different, controlled origin,
|
|
2341
|
+
* + planes within other spaces of a different, foreign origins,
|
|
2342
|
+
*
|
|
2343
|
+
* the syntax `://` has to be used.
|
|
2344
|
+
*
|
|
2345
|
+
*
|
|
2346
|
+
* A plurid link in the same space, same universe, same cluster.
|
|
2347
|
+
*
|
|
2348
|
+
* `://plane`
|
|
2349
|
+
*
|
|
2350
|
+
* example: `://dashboard`
|
|
2351
|
+
*
|
|
2352
|
+
*
|
|
2353
|
+
* A plurid link to another cluster in the same universe, in the same space.
|
|
2354
|
+
*
|
|
2355
|
+
* `://cluster://plane`
|
|
2356
|
+
*
|
|
2357
|
+
* example: `://two://dashboard`
|
|
2358
|
+
*
|
|
2359
|
+
*
|
|
2360
|
+
* A plurid link to another universe in the same space.
|
|
2361
|
+
*
|
|
2362
|
+
* `://universe://cluster://page`
|
|
2363
|
+
*
|
|
2364
|
+
* example: `://one://two://dashboard`
|
|
2365
|
+
*
|
|
2366
|
+
*
|
|
2367
|
+
* A plurid link to a different space within the same route
|
|
2368
|
+
*
|
|
2369
|
+
* `://space://universe://cluster://plane`
|
|
2370
|
+
*
|
|
2371
|
+
* example: `://user123://dashboard`
|
|
2372
|
+
*
|
|
2373
|
+
*
|
|
2374
|
+
* A plurid link to a different space within an another route.
|
|
2375
|
+
*
|
|
2376
|
+
* `://route://space://universe://cluster://plane`
|
|
2377
|
+
*
|
|
2378
|
+
* example: `://payment://user123://dashboard`
|
|
2379
|
+
*
|
|
2380
|
+
*
|
|
2381
|
+
* A plurid link to a different space within a controlled origin.
|
|
2382
|
+
*
|
|
2383
|
+
* `https://controlled-origin://route://space://universe://cluster://plane`
|
|
2384
|
+
*
|
|
2385
|
+
* example: `https://example-c.com://payment://user123://dashboard`
|
|
2386
|
+
*
|
|
2387
|
+
*
|
|
2388
|
+
* A plurid link to a different space within a foreign origin.
|
|
2389
|
+
*
|
|
2390
|
+
* `https://foreign-origin://route://space://universe://cluster://plane`
|
|
2391
|
+
*
|
|
2392
|
+
* example: `https://example-f.com://payment://user123://dashboard`
|
|
2393
|
+
*
|
|
2394
|
+
*
|
|
2395
|
+
* To handle clusters of clusters use the `|>` syntax, which shows a nesting of clusters,
|
|
2396
|
+
* e.g. `://clusterC|>clusterB|>clusterA`,
|
|
2397
|
+
* denotes that Cluster C includes Cluster B which includes Cluster A.
|
|
2398
|
+
*
|
|
2399
|
+
*/
|
|
2400
|
+
route: string;
|
|
2401
|
+
/**
|
|
2402
|
+
* Format the link as a simple anchor element. Default `false`.
|
|
2403
|
+
*/
|
|
2404
|
+
devisible?: boolean;
|
|
2405
|
+
/**
|
|
2406
|
+
* String character to be added inline after the PluridLink content. The default is `'`.
|
|
2407
|
+
*
|
|
2408
|
+
* If `devisible` the suffix is disabled.
|
|
2409
|
+
*/
|
|
2410
|
+
suffix?: string;
|
|
2411
|
+
/**
|
|
2412
|
+
* Execute function at click (onClick Event).
|
|
2413
|
+
*/
|
|
2414
|
+
atClick?: (event?: MouseEvent | M) => void;
|
|
2415
|
+
/**
|
|
2416
|
+
* Show or not the default Not Found component, or pass a custom component
|
|
2417
|
+
*/
|
|
2418
|
+
notFound?: boolean | C;
|
|
2419
|
+
preview?: boolean;
|
|
2420
|
+
previewFadeIn?: number;
|
|
2421
|
+
previewFadeOut?: number;
|
|
2422
|
+
previewOffsetX?: number;
|
|
2423
|
+
previewOffsetY?: number;
|
|
2424
|
+
previewComponent?: C;
|
|
2425
|
+
style?: S;
|
|
2426
|
+
className?: string;
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
type PluridMetastateState = Pick<PluridState, 'configuration' | 'space' | 'ui'>;
|
|
2430
|
+
interface PluridMetastate {
|
|
2431
|
+
states: Record<string, PluridMetastateState>;
|
|
2432
|
+
}
|
|
2433
|
+
|
|
2434
|
+
type PluridalWindow<C> = typeof window & {
|
|
2435
|
+
__pluridPlanesRegistrar__: PluridPlanesRegistrar<C>;
|
|
2436
|
+
};
|
|
2437
|
+
|
|
2438
|
+
interface PluridContext<C> {
|
|
2439
|
+
planesRegistrar?: PluridPlanesRegistrar<C>;
|
|
2440
|
+
planeContext?: PluridPlaneContext<any>;
|
|
2441
|
+
planeContextValue?: any;
|
|
2442
|
+
customPlane?: C;
|
|
2443
|
+
planeNotFound?: boolean | C;
|
|
2444
|
+
planeRenderError?: boolean | C;
|
|
2445
|
+
matchedRoute?: IsoMatcherRouteResult<C> | undefined;
|
|
2446
|
+
hostname?: string;
|
|
2447
|
+
defaultPubSub: PluridPubSub;
|
|
2448
|
+
registerPubSub: (pubsub: PluridPubSub) => void;
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2451
|
+
interface ShortcutName {
|
|
2452
|
+
name: InternationalizationFieldType;
|
|
2453
|
+
internationalizedKey?: boolean;
|
|
2454
|
+
key: string;
|
|
2455
|
+
modifier?: string | string[];
|
|
2456
|
+
}
|
|
2457
|
+
type ShortcutNamesTypes = keyof typeof SHORTCUTS;
|
|
2458
|
+
type ShortcutNames = Record<ShortcutNamesTypes, ShortcutName>;
|
|
2459
|
+
|
|
2460
|
+
interface WheelDeltas {
|
|
2461
|
+
deltaX: number;
|
|
2462
|
+
deltaY: number;
|
|
2463
|
+
}
|
|
2464
|
+
interface TransformModes {
|
|
2465
|
+
rotation: boolean;
|
|
2466
|
+
translation: boolean;
|
|
2467
|
+
scale: boolean;
|
|
2468
|
+
}
|
|
2469
|
+
|
|
2470
|
+
declare const compareTypes: CompareTypes;
|
|
2471
|
+
|
|
2472
|
+
declare const defaultConfigurationGlobal: PluridConfigurationGlobal;
|
|
2473
|
+
declare const defaultConfigurationElements: PluridConfigurationElements;
|
|
2474
|
+
declare const defaultConfigurationSpace: PluridConfigurationSpace;
|
|
2475
|
+
declare const defaultConfigurationNetwork: PluridConfigurationNetwork;
|
|
2476
|
+
declare const defaultConfigurationDevelopment: PluridConfigurationDevelopment;
|
|
2477
|
+
declare const defaultConfiguration: PluridConfiguration;
|
|
2478
|
+
declare const layoutNames: {
|
|
2479
|
+
COLUMNS: string;
|
|
2480
|
+
ROWS: string;
|
|
2481
|
+
FACE_TO_FACE: string;
|
|
2482
|
+
ZIG_ZAG: string;
|
|
2483
|
+
SHEAVES: string;
|
|
2484
|
+
META: string;
|
|
2485
|
+
};
|
|
2486
|
+
|
|
2487
|
+
declare const PLURID_DEFAULT_CONFIGURATION_SPACE_CULLING_DISTANCE = 1500;
|
|
2488
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_SUFFIX = "'";
|
|
2489
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_SHOW = true;
|
|
2490
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_IN = 800;
|
|
2491
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_OUT = 400;
|
|
2492
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_OFFSET_X = 5;
|
|
2493
|
+
declare const PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_OFFSET_Y = 0;
|
|
2494
|
+
declare const PLURID_ROUTE_SEPARATOR = "://";
|
|
2495
|
+
declare const PLURID_ROUTE_DEFAULT = "default";
|
|
2496
|
+
declare const PLURID_ROUTE_DEFAULT_PATH_VALUE = "/";
|
|
2497
|
+
declare const PLURID_ROUTE_DEFAULT_PATH = "p";
|
|
2498
|
+
declare const PLURID_ROUTE_DEFAULT_SPACE_VALUE = "default";
|
|
2499
|
+
declare const PLURID_ROUTE_DEFAULT_SPACE = "s";
|
|
2500
|
+
declare const PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE = "default";
|
|
2501
|
+
declare const PLURID_ROUTE_DEFAULT_UNIVERSE = "u";
|
|
2502
|
+
declare const PLURID_ROUTE_DEFAULT_CLUSTER_VALUE = "default";
|
|
2503
|
+
declare const PLURID_ROUTE_DEFAULT_CLUSTER = "c";
|
|
2504
|
+
declare const PLURID_DEFAULT_CONFIGURATION_NETWORK_HOST = "originhost";
|
|
2505
|
+
declare const PLURID_ROUTER_STORAGE = "__PLURID_ROUTER__";
|
|
2506
|
+
declare const PLURID_DEFAULT_RESIZE_DEBOUNCE_TIME = 50;
|
|
2507
|
+
declare const PLURID_DEFAULT_PREVENT_OVERSCROLL_TIMEOUT = 250;
|
|
2508
|
+
declare const PLURID_DEFAULT_ANIMATED_TRANSFORM_TIMEOUT = 500;
|
|
2509
|
+
|
|
2510
|
+
declare const PLURID_ENTITY_VIEW = "PluridView";
|
|
2511
|
+
declare const PLURID_ENTITY_APPLICATION_CONFIGURATOR = "PluridApplicationConfigurator";
|
|
2512
|
+
declare const PLURID_ENTITY_TRANSFORM_ORIGIN = "PluridTransformOrigin";
|
|
2513
|
+
declare const PLURID_ENTITY_PLANE = "PluridPlane";
|
|
2514
|
+
declare const PLURID_ENTITY_PLANE_BRIDGE = "PluridPlaneBridge";
|
|
2515
|
+
declare const PLURID_ENTITY_PLANE_CONTROLS = "PluridPlaneControls";
|
|
2516
|
+
declare const PLURID_ENTITY_PLANE_CONTENT = "PluridPlaneContent";
|
|
2517
|
+
declare const PLURID_ENTITY_PLANE_CONFIGURATOR = "PluridPlaneConfigurator";
|
|
2518
|
+
declare const PLURID_ENTITY_PLANE_DEBUGGER = "PluridPlaneDebugger";
|
|
2519
|
+
declare const PLURID_ENTITY_LINK = "PluridLink";
|
|
2520
|
+
declare const PLURID_ENTITY_ROOT = "PluridRoot";
|
|
2521
|
+
declare const PLURID_ENTITY_ROOTS = "PluridRoots";
|
|
2522
|
+
declare const PLURID_ENTITY_PLANE_LINKS = "PluridPlaneLinks";
|
|
2523
|
+
declare const PLURID_ENTITY_ALIGNMENT_GUIDES = "PluridAlignmentGuides";
|
|
2524
|
+
declare const PLURID_ENTITY_SPACE = "PluridSpace";
|
|
2525
|
+
declare const PLURID_ENTITY_SPACE_DEBUGGER = "PluridSpaceDebugger";
|
|
2526
|
+
declare const PLURID_ENTITY_MULTISPACE = "PluridMultispace";
|
|
2527
|
+
declare const PLURID_ENTITY_TOOLBAR = "PluridToolbar";
|
|
2528
|
+
declare const PLURID_ENTITY_VIEWCUBE = "PluridViewcube";
|
|
2529
|
+
declare const PLURID_ENTITY_UNIVERSE_EXPLORER = "PluridUniverseExplorer";
|
|
2530
|
+
|
|
2531
|
+
declare const PLURID_ROUTER_LOCATION_CHANGED = "pluridrouterlocationchanged";
|
|
2532
|
+
declare const PLURID_ROUTER_LOCATION_STORED = "pluridrouterlocationstored";
|
|
2533
|
+
|
|
2534
|
+
declare const directions: {
|
|
2535
|
+
left: string;
|
|
2536
|
+
right: string;
|
|
2537
|
+
up: string;
|
|
2538
|
+
down: string;
|
|
2539
|
+
};
|
|
2540
|
+
|
|
2541
|
+
declare const internationalization: {
|
|
2542
|
+
chinese: Internationalization;
|
|
2543
|
+
english: Internationalization;
|
|
2544
|
+
french: Internationalization;
|
|
2545
|
+
german: Internationalization;
|
|
2546
|
+
hindi: Internationalization;
|
|
2547
|
+
italian: Internationalization;
|
|
2548
|
+
japanese: Internationalization;
|
|
2549
|
+
romanian: Internationalization;
|
|
2550
|
+
russian: Internationalization;
|
|
2551
|
+
spanish: Internationalization;
|
|
2552
|
+
fields: {
|
|
2553
|
+
readonly viewcubeFront: "viewcubeFront";
|
|
2554
|
+
readonly viewcubeBack: "viewcubeBack";
|
|
2555
|
+
readonly viewcubeLeft: "viewcubeLeft";
|
|
2556
|
+
readonly viewcubeRight: "viewcubeRight";
|
|
2557
|
+
readonly viewcubeTop: "viewcubeTop";
|
|
2558
|
+
readonly viewcubeBase: "viewcubeBase";
|
|
2559
|
+
readonly toolbarTransformRotate: "toolbarTransformRotate";
|
|
2560
|
+
readonly toolbarTransformScale: "toolbarTransformScale";
|
|
2561
|
+
readonly toolbarTransformTranslate: "toolbarTransformTranslate";
|
|
2562
|
+
readonly toolbarDrawerGlobalTitle: "toolbarDrawerGlobalTitle";
|
|
2563
|
+
readonly toolbarDrawerGlobalGeneralTheme: "toolbarDrawerGlobalGeneralTheme";
|
|
2564
|
+
readonly toolbarDrawerGlobalInteractionTheme: "toolbarDrawerGlobalInteractionTheme";
|
|
2565
|
+
readonly toolbarDrawerGlobalLanguage: "toolbarDrawerGlobalLanguage";
|
|
2566
|
+
readonly toolbarDrawerTransformTitle: "toolbarDrawerTransformTitle";
|
|
2567
|
+
readonly toolbarDrawerTransformMultiModeTransform: "toolbarDrawerTransformMultiModeTransform";
|
|
2568
|
+
readonly toolbarDrawerTransformAllowRotationX: "toolbarDrawerTransformAllowRotationX";
|
|
2569
|
+
readonly toolbarDrawerTransformAllowRotationY: "toolbarDrawerTransformAllowRotationY";
|
|
2570
|
+
readonly toolbarDrawerTransformAllowTranslationX: "toolbarDrawerTransformAllowTranslationX";
|
|
2571
|
+
readonly toolbarDrawerTransformAllowTranslationY: "toolbarDrawerTransformAllowTranslationY";
|
|
2572
|
+
readonly toolbarDrawerTransformAllowTranslationZ: "toolbarDrawerTransformAllowTranslationZ";
|
|
2573
|
+
readonly toolbarDrawerTransformAllowScale: "toolbarDrawerTransformAllowScale";
|
|
2574
|
+
readonly toolbarDrawerTransformTouchTransform: "toolbarDrawerTransformTouchTransform";
|
|
2575
|
+
readonly toolbarDrawerSpaceTitle: "toolbarDrawerSpaceTitle";
|
|
2576
|
+
readonly toolbarDrawerSpaceTransparentUserInterface: "toolbarDrawerSpaceTransparentUserInterface";
|
|
2577
|
+
readonly toolbarDrawerSpaceShowTransformOrigin: "toolbarDrawerSpaceShowTransformOrigin";
|
|
2578
|
+
readonly toolbarDrawerSpaceTransformOriginSize: "toolbarDrawerSpaceTransformOriginSize";
|
|
2579
|
+
readonly toolbarDrawerSpacePlaneOpacity: "toolbarDrawerSpacePlaneOpacity";
|
|
2580
|
+
readonly toolbarDrawerSpaceLayoutType: "toolbarDrawerSpaceLayoutType";
|
|
2581
|
+
readonly toolbarDrawerToolbarTitle: "toolbarDrawerToolbarTitle";
|
|
2582
|
+
readonly toolbarDrawerToolbarAlwaysOpaque: "toolbarDrawerToolbarAlwaysOpaque";
|
|
2583
|
+
readonly toolbarDrawerToolbarShowTransformIcons: "toolbarDrawerToolbarShowTransformIcons";
|
|
2584
|
+
readonly toolbarDrawerToolbarShowTransformArrows: "toolbarDrawerToolbarShowTransformArrows";
|
|
2585
|
+
readonly toolbarDrawerToolbarConcealToolbar: "toolbarDrawerToolbarConcealToolbar";
|
|
2586
|
+
readonly toolbarDrawerViewcubeTitle: "toolbarDrawerViewcubeTitle";
|
|
2587
|
+
readonly toolbarDrawerViewcubeShowViewcube: "toolbarDrawerViewcubeShowViewcube";
|
|
2588
|
+
readonly toolbarDrawerViewcubeShowTransformButtons: "toolbarDrawerViewcubeShowTransformButtons";
|
|
2589
|
+
readonly toolbarDrawerViewcubeAlwaysOpaque: "toolbarDrawerViewcubeAlwaysOpaque";
|
|
2590
|
+
readonly toolbarDrawerViewcubeConcealViewcube: "toolbarDrawerViewcubeConcealViewcube";
|
|
2591
|
+
readonly toolbarDrawerMinimapTitle: "toolbarDrawerMinimapTitle";
|
|
2592
|
+
readonly toolbarDrawerMinimapShowMinimap: "toolbarDrawerMinimapShowMinimap";
|
|
2593
|
+
readonly toolbarDrawerMinimapTransparent: "toolbarDrawerMinimapTransparent";
|
|
2594
|
+
readonly toolbarDrawerTechnicalTitle: "toolbarDrawerTechnicalTitle";
|
|
2595
|
+
readonly toolbarDrawerTechnicalCullingDistance: "toolbarDrawerTechnicalCullingDistance";
|
|
2596
|
+
readonly toolbarDrawerShortcutsTitle: "toolbarDrawerShortcutsTitle";
|
|
2597
|
+
readonly toolbarDrawerShortcutsToggleFirstPerson: "toolbarDrawerShortcutsToggleFirstPerson";
|
|
2598
|
+
readonly toolbarDrawerShortcutsMoveForward: "toolbarDrawerShortcutsMoveForward";
|
|
2599
|
+
readonly toolbarDrawerShortcutsMoveBackward: "toolbarDrawerShortcutsMoveBackward";
|
|
2600
|
+
readonly toolbarDrawerShortcutsMoveLeft: "toolbarDrawerShortcutsMoveLeft";
|
|
2601
|
+
readonly toolbarDrawerShortcutsMoveRight: "toolbarDrawerShortcutsMoveRight";
|
|
2602
|
+
readonly toolbarDrawerShortcutsMoveUp: "toolbarDrawerShortcutsMoveUp";
|
|
2603
|
+
readonly toolbarDrawerShortcutsMoveDown: "toolbarDrawerShortcutsMoveDown";
|
|
2604
|
+
readonly toolbarDrawerShortcutsTurnLeft: "toolbarDrawerShortcutsTurnLeft";
|
|
2605
|
+
readonly toolbarDrawerShortcutsTurnRight: "toolbarDrawerShortcutsTurnRight";
|
|
2606
|
+
readonly toolbarDrawerShortcutsTurnUp: "toolbarDrawerShortcutsTurnUp";
|
|
2607
|
+
readonly toolbarDrawerShortcutsTurnDown: "toolbarDrawerShortcutsTurnDown";
|
|
2608
|
+
readonly toolbarDrawerShortcutsRotateUp: "toolbarDrawerShortcutsRotateUp";
|
|
2609
|
+
readonly toolbarDrawerShortcutsRotateDown: "toolbarDrawerShortcutsRotateDown";
|
|
2610
|
+
readonly toolbarDrawerShortcutsRotateLeft: "toolbarDrawerShortcutsRotateLeft";
|
|
2611
|
+
readonly toolbarDrawerShortcutsRotateRight: "toolbarDrawerShortcutsRotateRight";
|
|
2612
|
+
readonly toolbarDrawerShortcutsToggleRotate: "toolbarDrawerShortcutsToggleRotate";
|
|
2613
|
+
readonly toolbarDrawerShortcutsTranslateUp: "toolbarDrawerShortcutsTranslateUp";
|
|
2614
|
+
readonly toolbarDrawerShortcutsTranslateDown: "toolbarDrawerShortcutsTranslateDown";
|
|
2615
|
+
readonly toolbarDrawerShortcutsTranslateLeft: "toolbarDrawerShortcutsTranslateLeft";
|
|
2616
|
+
readonly toolbarDrawerShortcutsTranslateRight: "toolbarDrawerShortcutsTranslateRight";
|
|
2617
|
+
readonly toolbarDrawerShortcutsTranslateIn: "toolbarDrawerShortcutsTranslateIn";
|
|
2618
|
+
readonly toolbarDrawerShortcutsTranslateOut: "toolbarDrawerShortcutsTranslateOut";
|
|
2619
|
+
readonly toolbarDrawerShortcutsToggleTranslate: "toolbarDrawerShortcutsToggleTranslate";
|
|
2620
|
+
readonly toolbarDrawerShortcutsScaleUp: "toolbarDrawerShortcutsScaleUp";
|
|
2621
|
+
readonly toolbarDrawerShortcutsScaleDown: "toolbarDrawerShortcutsScaleDown";
|
|
2622
|
+
readonly toolbarDrawerShortcutsToggleScale: "toolbarDrawerShortcutsToggleScale";
|
|
2623
|
+
readonly toolbarDrawerShortcutsFocusPlane: "toolbarDrawerShortcutsFocusPlane";
|
|
2624
|
+
readonly toolbarDrawerShortcutsFocusParent: "toolbarDrawerShortcutsFocusParent";
|
|
2625
|
+
readonly toolbarDrawerShortcutsRefreshPlane: "toolbarDrawerShortcutsRefreshPlane";
|
|
2626
|
+
readonly toolbarDrawerShortcutsIsolatePlane: "toolbarDrawerShortcutsIsolatePlane";
|
|
2627
|
+
readonly toolbarDrawerShortcutsOpenClosedPlane: "toolbarDrawerShortcutsOpenClosedPlane";
|
|
2628
|
+
readonly toolbarDrawerShortcutsClosePlane: "toolbarDrawerShortcutsClosePlane";
|
|
2629
|
+
readonly toolbarDrawerShortcutsPreviousRoot: "toolbarDrawerShortcutsPreviousRoot";
|
|
2630
|
+
readonly toolbarDrawerShortcutsNextRoot: "toolbarDrawerShortcutsNextRoot";
|
|
2631
|
+
readonly toolbarDrawerShortcutsFocusRoot: "toolbarDrawerShortcutsFocusRoot";
|
|
2632
|
+
readonly toolbarDrawerShortcutsArrowOrScrollUp: "toolbarDrawerShortcutsArrowOrScrollUp";
|
|
2633
|
+
readonly toolbarDrawerShortcutsArrowOrScrollDown: "toolbarDrawerShortcutsArrowOrScrollDown";
|
|
2634
|
+
readonly toolbarDrawerShortcutsArrowOrScrollLeft: "toolbarDrawerShortcutsArrowOrScrollLeft";
|
|
2635
|
+
readonly toolbarDrawerShortcutsArrowOrScrollRight: "toolbarDrawerShortcutsArrowOrScrollRight";
|
|
2636
|
+
};
|
|
2637
|
+
languages: InternationalizationLanguageType[];
|
|
2638
|
+
};
|
|
2639
|
+
|
|
2640
|
+
declare const keyModifiers: Record<KeyModifiers, string>;
|
|
2641
|
+
|
|
2642
|
+
declare const PROTOCOL_SEPARATOR = "://";
|
|
2643
|
+
declare const HTTP_PROTOCOL = "http";
|
|
2644
|
+
declare const HTTPS_PROTOCOL = "https";
|
|
2645
|
+
declare const PLURID_PROTOCOL = "plurid";
|
|
2646
|
+
declare const protocols: {
|
|
2647
|
+
http: string;
|
|
2648
|
+
https: string;
|
|
2649
|
+
plurid: string;
|
|
2650
|
+
};
|
|
2651
|
+
|
|
2652
|
+
declare const shortcutsNames: ShortcutNames;
|
|
2653
|
+
declare const defaultShortcuts: ({
|
|
2654
|
+
type: SHORTCUTS;
|
|
2655
|
+
key: string;
|
|
2656
|
+
modifier?: undefined;
|
|
2657
|
+
} | {
|
|
2658
|
+
type: SHORTCUTS;
|
|
2659
|
+
key: string;
|
|
2660
|
+
modifier: KEY_MODIFIERS;
|
|
2661
|
+
} | {
|
|
2662
|
+
type: SHORTCUTS;
|
|
2663
|
+
key: string;
|
|
2664
|
+
modifier: KEY_MODIFIERS[];
|
|
2665
|
+
})[];
|
|
2666
|
+
|
|
2667
|
+
declare const ROTATION_STEP = 3.01;
|
|
2668
|
+
declare const TRANSLATION_STEP = 25;
|
|
2669
|
+
declare const SCALE_STEP = 0.05;
|
|
2670
|
+
declare const SCALE_LOWER_LIMIT = 0.1;
|
|
2671
|
+
declare const SCALE_UPPER_LIMIT = 4;
|
|
2672
|
+
declare const ROOTS_GAP = 50;
|
|
2673
|
+
declare const PLANE_DEFAULT_ANGLE = 90.1;
|
|
2674
|
+
declare const FOCUS_ANCHOR_SUFFIX = "-focus";
|
|
2675
|
+
|
|
2676
|
+
declare const defaultTreePlane: TreePlane;
|
|
2677
|
+
|
|
2678
|
+
export { type CompareType, type CompareTypeEqual, type CompareTypeEqualGreaterThan, type CompareTypeEqualLessThan, type CompareTypeGreaterThan, type CompareTypeLessThan, type CompareTypes, type ComponentWithPlurid, type Coordinates, FOCUS_ANCHOR_SUFFIX, type FlatPluridConfiguration, HTTPS_PROTOCOL, HTTP_PROTOCOL, type Identified, type Indexed, type Internationalization, type InternationalizationChinese, type InternationalizationEnglish, type InternationalizationFieldType, type InternationalizationFields, type InternationalizationFrench, type InternationalizationGerman, type InternationalizationHindi, type InternationalizationItalian, type InternationalizationJapanese, type InternationalizationLanguageType, type InternationalizationRomanian, type InternationalizationRussian, type InternationalizationSpanish, type IsoMatcherContext, type IsoMatcherData, type IsoMatcherIndexedPlane, type IsoMatcherIndexedPlaneBase, type IsoMatcherIndexedPlanePlane, type IsoMatcherIndexedPlaneRoutePlane, type IsoMatcherIndexedRoute, type IsoMatcherPlaneResult, type IsoMatcherPlaneResultBase, type IsoMatcherPlaneResultMatch, type IsoMatcherPlaneResultPlane, type IsoMatcherPlaneResultRoutePlane, type IsoMatcherPlaneType, type IsoMatcherResult, type IsoMatcherResultBase, type IsoMatcherRouteResult, type IsoMatcherRouteResultBase, type IsoMatcherRouteResultRoute, type IsoMatcherRouteResultRoutePlane, KEY_MODIFIERS, type KeyModifiers, LAYOUT_TYPES, type Layout, type LayoutColumns, type LayoutFaceToFace, type LayoutMeta, type LayoutMetaLayout, type LayoutRows, type LayoutSheaves, type LayoutZigZag, type LinkCoordinates, type LocalStorageUsage, type LocationCoordinates, PLANE_DEFAULT_ANGLE, PLURID_DEFAULT_ANIMATED_TRANSFORM_TIMEOUT, PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_IN, PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_FADE_OUT, PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_OFFSET_X, PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_OFFSET_Y, PLURID_DEFAULT_CONFIGURATION_LINK_PREVIEW_SHOW, PLURID_DEFAULT_CONFIGURATION_LINK_SUFFIX, PLURID_DEFAULT_CONFIGURATION_NETWORK_HOST, PLURID_DEFAULT_CONFIGURATION_SPACE_CULLING_DISTANCE, PLURID_DEFAULT_PREVENT_OVERSCROLL_TIMEOUT, PLURID_DEFAULT_RESIZE_DEBOUNCE_TIME, PLURID_ENTITY_ALIGNMENT_GUIDES, PLURID_ENTITY_APPLICATION_CONFIGURATOR, PLURID_ENTITY_LINK, PLURID_ENTITY_MULTISPACE, PLURID_ENTITY_PLANE, PLURID_ENTITY_PLANE_BRIDGE, PLURID_ENTITY_PLANE_CONFIGURATOR, PLURID_ENTITY_PLANE_CONTENT, PLURID_ENTITY_PLANE_CONTROLS, PLURID_ENTITY_PLANE_DEBUGGER, PLURID_ENTITY_PLANE_LINKS, PLURID_ENTITY_ROOT, PLURID_ENTITY_ROOTS, PLURID_ENTITY_SPACE, PLURID_ENTITY_SPACE_DEBUGGER, PLURID_ENTITY_TOOLBAR, PLURID_ENTITY_TRANSFORM_ORIGIN, PLURID_ENTITY_UNIVERSE_EXPLORER, PLURID_ENTITY_VIEW, PLURID_ENTITY_VIEWCUBE, PLURID_PROTOCOL, PLURID_PUBSUB_TOPIC, PLURID_ROUTER_LOCATION_CHANGED, PLURID_ROUTER_LOCATION_STORED, PLURID_ROUTER_STORAGE, PLURID_ROUTE_DEFAULT, PLURID_ROUTE_DEFAULT_CLUSTER, PLURID_ROUTE_DEFAULT_CLUSTER_VALUE, PLURID_ROUTE_DEFAULT_PATH, PLURID_ROUTE_DEFAULT_PATH_VALUE, PLURID_ROUTE_DEFAULT_SPACE, PLURID_ROUTE_DEFAULT_SPACE_VALUE, PLURID_ROUTE_DEFAULT_UNIVERSE, PLURID_ROUTE_DEFAULT_UNIVERSE_VALUE, PLURID_ROUTE_SEPARATOR, PROTOCOL_SEPARATOR, type PathParameters, type PathQuery, type PlaneComponentWithPluridProperty, type PlaneLink, type PlaneLinkAnchor, type PluridApi, type PluridApplication, type PluridApplicationView, type PluridChangeKind, type PluridCollaborationSnapshot, type PluridConfiguration, type PluridConfigurationDevelopment, type PluridConfigurationElements, type PluridConfigurationElementsLink, type PluridConfigurationElementsMinimap, type PluridConfigurationElementsPlane, type PluridConfigurationElementsPlaneControls, type PluridConfigurationElementsPlaneControlsPathbar, type PluridConfigurationElementsSwitch, type PluridConfigurationElementsToggle, type PluridConfigurationElementsToolbar, type PluridConfigurationElementsViewcube, type PluridConfigurationGlobal, type PluridConfigurationNetwork, type PluridConfigurationSpace, type PluridConfigurationSpaceGestures, type PluridConfigurationSpaceGesturesButtonMap, type PluridConfigurationSpaceShortcuts, type PluridConfigurationSpaceTimings, type PluridConfigurationSpaceTransformLocks, type PluridConfigurationSpaceTransformOrigin, type PluridConfigurationTheme, type PluridContext, type PluridLayout, type PluridLink, type PluridMetastate, type PluridMetastateState, type PluridPartialConfiguration, type PluridPlane, type PluridPlaneComponentProperty, type PluridPlaneComponentPropertyPlane, type PluridPlaneContext, type PluridPlaneObject, type PluridPlaneOptions, type PluridPlaneTuple, type PluridPlanesRegistrar, type PluridPreserve, type PluridPreserveAfterServe, type PluridPreserveOnError, type PluridPreserveOnServe, type PluridPreserveResponse, type PluridPreserveResponseProviders, type PluridPreserveResponseTemplate, type PluridPreserveTransmission, type PluridPreserveTransmissionContext, type PluridPubSub, type PluridPubSubCallback, type PluridPubSubDataValueNumber, type PluridPubSubDataValueString, type PluridPubSubMessageChanged, type PluridPubSubMessageClosePlane, type PluridPubSubMessageIsolatePlane, type PluridPubSubMessageNavigateToPlane, type PluridPubSubMessageNavigateToRoot, type PluridPubSubMessageRefreshPlane, type PluridPubSubMessageRemovePlaneLink, type PluridPubSubMessageSetPlaneLinks, type PluridPubSubMessageSetPlanePath, type PluridPubSubMessageSetSelection, type PluridPubSubMessageSetTree, type PluridPubSubMessageSetViewpoint, type PluridPubSubMessageSpaceTransformData, type PluridPubSubMessageToggleSelection, type PluridPubSubMessageViewAddPlaneData, type PluridPubSubMessageViewRemovePlaneData, type PluridPubSubMessageViewSetPlanesData, type PluridPubSubOptions, type PluridPubSubPublishMessage, type PluridPubSubPublishMessageAddPlaneLink, type PluridPubSubPublishMessageApplyRemoteMutation, type PluridPubSubPublishMessageChanged, type PluridPubSubPublishMessageClearSelection, type PluridPubSubPublishMessageClosePlane, type PluridPubSubPublishMessageCollaborationMutation, type PluridPubSubPublishMessageConfiguration, type PluridPubSubPublishMessageFitToView, type PluridPubSubPublishMessageIsolatePlane, type PluridPubSubPublishMessageNavigateToPlane, type PluridPubSubPublishMessageNavigateToRoot, type PluridPubSubPublishMessageNextRoot, type PluridPubSubPublishMessageOpenClosedPlane, type PluridPubSubPublishMessagePreviousRoot, type PluridPubSubPublishMessageRedo, type PluridPubSubPublishMessageRefreshPlane, type PluridPubSubPublishMessageRemovePlaneLink, type PluridPubSubPublishMessageResetTransform, type PluridPubSubPublishMessageSetPlaneLinks, type PluridPubSubPublishMessageSetPlanePath, type PluridPubSubPublishMessageSetSelection, type PluridPubSubPublishMessageSetTree, type PluridPubSubPublishMessageSetViewpoint, type PluridPubSubPublishMessageSpaceAnimatedTransform, type PluridPubSubPublishMessageSpaceRotateDown, type PluridPubSubPublishMessageSpaceRotateLeft, type PluridPubSubPublishMessageSpaceRotateRight, type PluridPubSubPublishMessageSpaceRotateUp, type PluridPubSubPublishMessageSpaceRotateXTo, type PluridPubSubPublishMessageSpaceRotateXWith, type PluridPubSubPublishMessageSpaceRotateYTo, type PluridPubSubPublishMessageSpaceRotateYWith, type PluridPubSubPublishMessageSpaceScaleDown, type PluridPubSubPublishMessageSpaceScaleUp, type PluridPubSubPublishMessageSpaceScaleWith, type PluridPubSubPublishMessageSpaceTransform, type PluridPubSubPublishMessageSpaceTranslateDown, type PluridPubSubPublishMessageSpaceTranslateLeft, type PluridPubSubPublishMessageSpaceTranslateRight, type PluridPubSubPublishMessageSpaceTranslateUp, type PluridPubSubPublishMessageSpaceTranslateXTo, type PluridPubSubPublishMessageSpaceTranslateXWith, type PluridPubSubPublishMessageSpaceTranslateYTo, type PluridPubSubPublishMessageSpaceTranslateYWith, type PluridPubSubPublishMessageSpaceTranslateZTo, type PluridPubSubPublishMessageSpaceTranslateZWith, type PluridPubSubPublishMessageToggleSelection, type PluridPubSubPublishMessageUndo, type PluridPubSubPublishMessageViewAddPlane, type PluridPubSubPublishMessageViewRemovePlane, type PluridPubSubPublishMessageViewSetPlanes, type PluridPubSubSubscribeMessage, type PluridPubSubSubscribeMessageAddPlaneLink, type PluridPubSubSubscribeMessageApplyRemoteMutation, type PluridPubSubSubscribeMessageChanged, type PluridPubSubSubscribeMessageClearSelection, type PluridPubSubSubscribeMessageClosePlane, type PluridPubSubSubscribeMessageCollaborationMutation, type PluridPubSubSubscribeMessageConfiguration, type PluridPubSubSubscribeMessageFitToView, type PluridPubSubSubscribeMessageIsolatePlane, type PluridPubSubSubscribeMessageNavigateToPlane, type PluridPubSubSubscribeMessageNavigateToRoot, type PluridPubSubSubscribeMessageNextRoot, type PluridPubSubSubscribeMessageOpenClosedPlane, type PluridPubSubSubscribeMessagePreviousRoot, type PluridPubSubSubscribeMessageRedo, type PluridPubSubSubscribeMessageRefreshPlane, type PluridPubSubSubscribeMessageRemovePlaneLink, type PluridPubSubSubscribeMessageResetTransform, type PluridPubSubSubscribeMessageSetPlaneLinks, type PluridPubSubSubscribeMessageSetPlanePath, type PluridPubSubSubscribeMessageSetSelection, type PluridPubSubSubscribeMessageSetTree, type PluridPubSubSubscribeMessageSetViewpoint, type PluridPubSubSubscribeMessageSpaceAnimatedTransform, type PluridPubSubSubscribeMessageSpaceRotateDown, type PluridPubSubSubscribeMessageSpaceRotateLeft, type PluridPubSubSubscribeMessageSpaceRotateRight, type PluridPubSubSubscribeMessageSpaceRotateUp, type PluridPubSubSubscribeMessageSpaceRotateXTo, type PluridPubSubSubscribeMessageSpaceRotateXWith, type PluridPubSubSubscribeMessageSpaceRotateYTo, type PluridPubSubSubscribeMessageSpaceRotateYWith, type PluridPubSubSubscribeMessageSpaceScaleDown, type PluridPubSubSubscribeMessageSpaceScaleUp, type PluridPubSubSubscribeMessageSpaceScaleWith, type PluridPubSubSubscribeMessageSpaceTransform, type PluridPubSubSubscribeMessageSpaceTranslateDown, type PluridPubSubSubscribeMessageSpaceTranslateLeft, type PluridPubSubSubscribeMessageSpaceTranslateRight, type PluridPubSubSubscribeMessageSpaceTranslateUp, type PluridPubSubSubscribeMessageSpaceTranslateXTo, type PluridPubSubSubscribeMessageSpaceTranslateXWith, type PluridPubSubSubscribeMessageSpaceTranslateYTo, type PluridPubSubSubscribeMessageSpaceTranslateYWith, type PluridPubSubSubscribeMessageSpaceTranslateZTo, type PluridPubSubSubscribeMessageSpaceTranslateZWith, type PluridPubSubSubscribeMessageToggleSelection, type PluridPubSubSubscribeMessageUndo, type PluridPubSubSubscribeMessageViewAddPlane, type PluridPubSubSubscribeMessageViewRemovePlane, type PluridPubSubSubscribeMessageViewSetPlanes, type PluridPubSubTopic, type PluridPubSubTopicKeys, type PluridPubSubTopicKeysType, type PluridRenderSlot, type PluridRoute, type PluridRouteComponentProperty, type PluridRouteFragment, type PluridRouteFragmentElement, type PluridRouteFragmentText, type PluridRouteFragments, type PluridRouteMultispace, type PluridRouteMultispaceAlignment, type PluridRouteMultispaceSnapType, type PluridRouteParameter, type PluridRoutePlane, type PluridRoutePlaneObject, type PluridRoutePlaneOptions, type PluridRoutePlaneTuple, type PluridRouteResolver, type PluridRouteSpace, type PluridRouteUniverse, type PluridRouterProperties, type PluridRouterStatic, type PluridShortcutID, type PluridState, type PluridStateShortcuts, type PluridStateSpace, type PluridStateThemes, type PluridStateUI, type PluridStorageAdapter, type PluridStore, type PluridUniverse, type PluridView, type PluridalWindow, ROOTS_GAP, ROTATION_STEP, type RecursivePartial, type RegisteredPluridPlane, type RouteClusterDivision, type RouteComponentWithPluridProperty, type RouteDivision, type RouteDivisions, type RouteHostDivision, type RouteHostProtocol, type RoutePathDivision, type RoutePlaneDivision, type RouteSegment, type RouteSpaceDivision, type RouteUniverseDivision, SCALE_LOWER_LIMIT, SCALE_STEP, SCALE_UPPER_LIMIT, SHORTCUTS, SIZES, type ShortcutName, type ShortcutNames, type ShortcutNamesTypes, type SpaceLocation, type SpaceSize, type SpaceTransform, TOOLBAR_DRAWERS, TRANSFORM_MODES, TRANSFORM_TOUCHES, TRANSLATION_STEP, type TopPlanePoint, type TransformModes, type TreePlane, type TreePlaneLocation, type ViewSize, type WheelDeltas, type WithID, type WithPluridComponentProperty, compareTypes, defaultConfiguration, defaultConfigurationDevelopment, defaultConfigurationElements, defaultConfigurationGlobal, defaultConfigurationNetwork, defaultConfigurationSpace, defaultShortcuts, defaultTreePlane, directions, internationalization, keyModifiers, layoutNames, protocols, shortcutsNames };
|