@neta-art/cohub 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -2
- package/dist/board/editor/animation.d.ts +3 -0
- package/dist/board/editor/animation.js +16 -1
- package/dist/board/editor/clipboard.js +7 -0
- package/dist/board/editor/copy.js +23 -18
- package/dist/board/editor/creation.d.ts +5 -1
- package/dist/board/editor/creation.js +2 -1
- package/dist/board/editor/deletion.js +3 -3
- package/dist/board/editor/document.d.ts +8 -2
- package/dist/board/editor/document.js +54 -7
- package/dist/board/editor/editor.d.ts +18 -3
- package/dist/board/editor/editor.js +11 -1
- package/dist/board/editor/query.d.ts +5 -5
- package/dist/board/editor/query.js +14 -12
- package/dist/board/editor/selection.js +2 -1
- package/dist/board/export/index.d.ts +25 -4
- package/dist/board/export/index.js +45 -12
- package/dist/board/export/node/index.d.ts +5 -4
- package/dist/board/export/node/index.js +16 -11
- package/dist/board/export/node/scripts.d.ts +16 -0
- package/dist/board/export/node/scripts.js +258 -0
- package/dist/board/export/scene.d.ts +2 -1
- package/dist/board/export/scene.js +20 -6
- package/dist/board/model/animation.d.ts +4 -1
- package/dist/board/model/animation.js +34 -7
- package/dist/board/model/authoring.d.ts +20 -0
- package/dist/board/model/authoring.js +185 -0
- package/dist/board/model/export-plan.js +1 -0
- package/dist/board/model/file-preview.js +1 -1
- package/dist/board/model/file-snapshot.js +3 -2
- package/dist/board/model/image-key.js +6 -2
- package/dist/board/model/index.d.ts +13 -6
- package/dist/board/model/index.js +14 -8
- package/dist/board/model/items/builtin.js +2 -2
- package/dist/board/model/items/create.d.ts +4 -2
- package/dist/board/model/items/create.js +6 -5
- package/dist/board/model/items/index.d.ts +2 -2
- package/dist/board/model/items/index.js +2 -2
- package/dist/board/model/media-playback.d.ts +2 -1
- package/dist/board/model/media-playback.js +14 -4
- package/dist/board/model/media.js +7 -1
- package/dist/board/model/sampling.d.ts +19 -0
- package/dist/board/model/sampling.js +96 -0
- package/dist/board/model/script-example.d.ts +4 -0
- package/dist/board/model/script-example.js +21 -0
- package/dist/board/model/script-hit.d.ts +10 -0
- package/dist/board/model/script-hit.js +52 -0
- package/dist/board/model/script-index.d.ts +7 -0
- package/dist/board/model/script-index.js +15 -0
- package/dist/board/model/script-scene.d.ts +24 -0
- package/dist/board/model/script-scene.js +267 -0
- package/dist/board/model/script.d.ts +105 -0
- package/dist/board/model/script.js +1 -0
- package/dist/board/render/css-color.d.ts +6 -1
- package/dist/board/render/css-color.js +34 -20
- package/dist/board/render/diagnostics.d.ts +20 -0
- package/dist/board/render/diagnostics.js +117 -0
- package/dist/board/render/index.d.ts +9 -6
- package/dist/board/render/index.js +9 -6
- package/dist/board/render/palette.d.ts +2 -1
- package/dist/board/render/palette.js +6 -2
- package/dist/board/render/renderers/arrow-card-renderer.js +3 -2
- package/dist/board/render/renderers/audio-card-renderer.js +2 -1
- package/dist/board/render/renderers/board-renderer-registry.d.ts +10 -5
- package/dist/board/render/renderers/board-renderer-registry.js +3 -3
- package/dist/board/render/renderers/custom-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/{sketch-card-renderer.js → custom-card-renderer.js} +16 -15
- package/dist/board/render/renderers/draw-card-renderer.js +3 -2
- package/dist/board/render/renderers/effect-card-renderer.js +22 -5
- package/dist/board/render/renderers/frame-card-renderer.js +30 -14
- package/dist/board/render/renderers/image-card-renderer.js +43 -4
- package/dist/board/render/renderers/shape-card-renderer.js +10 -27
- package/dist/board/render/renderers/text-card-renderer.js +5 -3
- package/dist/board/render/renderers/unknown-card-renderer.js +1 -0
- package/dist/board/render/renderers/video-card-renderer.js +2 -1
- package/dist/board/render/sampling.d.ts +22 -0
- package/dist/board/render/sampling.js +21 -0
- package/dist/board/render/script-export.d.ts +11 -0
- package/dist/board/render/script-export.js +86 -0
- package/dist/board/render/script-host.d.ts +31 -0
- package/dist/board/render/script-host.js +421 -0
- package/dist/board/render/script-modules.d.ts +2 -0
- package/dist/board/render/script-modules.js +2 -0
- package/dist/board/render/script-runtime.d.ts +29 -0
- package/dist/board/render/script-runtime.js +213 -0
- package/dist/board/render/script-sandbox.d.ts +4 -0
- package/dist/board/render/script-sandbox.js +173 -0
- package/dist/board/render/stroke.d.ts +2 -1
- package/dist/board/render/stroke.js +22 -1
- package/dist/board/render/text-measurement.js +1 -1
- package/dist/board/stage/assets.js +6 -1
- package/dist/board/stage/maintenance.d.ts +5 -0
- package/dist/board/stage/maintenance.js +11 -0
- package/dist/board/stage/scene.js +5 -2
- package/dist/board/stage/script-pointer.d.ts +19 -0
- package/dist/board/stage/script-pointer.js +35 -0
- package/dist/board/stage/stage.d.ts +10 -0
- package/dist/board/stage/stage.js +249 -43
- package/dist/board/stage/texture-pool.js +2 -3
- package/dist/chunks/environment.d.ts +266 -23
- package/dist/chunks/host-bridge.d.ts +2 -2
- package/dist/chunks/http.d.ts +88 -7
- package/dist/chunks/http.js +155 -63
- package/dist/chunks/transport.js +3 -1
- package/dist/chunks/websocket.d.ts +9 -1
- package/dist/chunks/websocket.js +16 -2
- package/dist/host-bridge.js +2 -1
- package/dist/http.d.ts +2 -2
- package/dist/index.d.ts +182 -4
- package/dist/index.js +1374 -126
- package/dist/protocol/dist/board-assets.d.ts +1 -0
- package/dist/protocol/dist/board-constants.js +2 -2
- package/dist/protocol/dist/board-model.d.ts +201 -11
- package/dist/protocol/dist/board-model.js +33 -14
- package/dist/protocol/dist/board-patch.js +2 -1
- package/dist/protocol/dist/board-schema.d.ts +4 -2
- package/dist/protocol/dist/board-schema.js +18 -4
- package/dist/protocol/dist/board-script-modules.d.ts +25 -0
- package/dist/protocol/dist/board-script-modules.js +127 -0
- package/dist/protocol/dist/display/index.d.ts +1 -0
- package/dist/protocol/dist/index.d.ts +4 -2
- package/dist/protocol/dist/realtime/types.d.ts +1 -0
- package/dist/protocol/dist/rtc/index.d.ts +1 -0
- package/package.json +2 -1
- package/dist/board/export/node/sketch.d.ts +0 -19
- package/dist/board/export/node/sketch.js +0 -146
- package/dist/board/render/renderers/sketch-card-renderer.d.ts +0 -5
- package/dist/board/render/sketch-host.d.ts +0 -14
- package/dist/board/render/sketch-host.js +0 -216
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./board.js";
|
|
@@ -7,7 +7,7 @@ function clampBoardStrokeSize(size) {
|
|
|
7
7
|
if (!Number.isFinite(size)) return BOARD_ARROW_STROKE_SIZE;
|
|
8
8
|
return Math.min(64, Math.max(1, size));
|
|
9
9
|
}
|
|
10
|
-
const BOARD_FONT_STACK = "\"Geist\", system-ui, -apple-system, \"Noto Sans CJK SC\", \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif";
|
|
11
|
-
const BOARD_MONO_FONT_STACK = "\"Geist Mono\", \"Fira Code\", ui-monospace, \"Noto Sans Mono CJK SC\", monospace";
|
|
10
|
+
const BOARD_FONT_STACK = "\"Geist\", system-ui, -apple-system, \"Noto Sans CJK SC\", \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", \"Noto Sans Math\", \"Noto Sans Symbols 2\", \"DejaVu Sans\", \"FreeSans\", \"FreeSerif\", sans-serif";
|
|
11
|
+
const BOARD_MONO_FONT_STACK = "\"Geist Mono\", \"Fira Code\", ui-monospace, \"Noto Sans Mono CJK SC\", \"Noto Sans Math\", \"DejaVu Sans\", \"FreeSans\", \"FreeSerif\", monospace";
|
|
12
12
|
//#endregion
|
|
13
13
|
export { BOARD_ARROW_STROKE_SIZE, BOARD_FONT_STACK, BOARD_MONO_FONT_STACK, BOARD_STROKE_MAX_SIZE, BOARD_STROKE_MIN_SIZE, BOARD_TEXT_FONT_FAMILY, clampBoardStrokeSize };
|
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
//#region ../protocol/dist/board-model.d.ts
|
|
3
3
|
declare const BOARD_ID_MAX_LENGTH = 160;
|
|
4
4
|
declare const BOARD_CAMERA_TARGET: "camera";
|
|
5
|
+
declare const BoardKeySchema: z.ZodString;
|
|
5
6
|
declare const BoardIdSchema: z.ZodString;
|
|
6
7
|
declare const BoardVec2Schema: z.ZodObject<{
|
|
7
8
|
x: z.ZodNumber;
|
|
@@ -44,10 +45,31 @@ declare const BoardStyleSchema: z.ZodObject<{
|
|
|
44
45
|
}, z.core.$strict>;
|
|
45
46
|
type BoardStyle = z.infer<typeof BoardStyleSchema>;
|
|
46
47
|
declare function isSafeBoardSourcePath(value: string): boolean;
|
|
48
|
+
type BoardMediaSource = {
|
|
49
|
+
kind: "url" | "file";
|
|
50
|
+
value: string;
|
|
51
|
+
};
|
|
52
|
+
declare function parseBoardMediaSource(src: string): BoardMediaSource | null;
|
|
53
|
+
declare const BoardMediaSourceSchema: z.ZodString;
|
|
54
|
+
declare const BoardScriptSchema: z.ZodObject<{
|
|
55
|
+
src: z.ZodString;
|
|
56
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
57
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
58
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
59
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
type BoardScript = z.infer<typeof BoardScriptSchema>;
|
|
47
62
|
declare const BOARD_TEXT_ALIGNS: readonly ["left", "center", "right"];
|
|
48
63
|
declare const BOARD_SHAPE_GEOMETRIES: readonly ["rectangle", "rounded", "ellipse", "diamond", "triangle", "path"];
|
|
49
64
|
type BoardShapeGeometry = (typeof BOARD_SHAPE_GEOMETRIES)[number];
|
|
50
65
|
declare const BoardFrameItemSchema: z.ZodObject<{
|
|
66
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
67
|
+
src: z.ZodString;
|
|
68
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
69
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
70
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
71
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
}, z.core.$strict>>;
|
|
51
73
|
parent: z.ZodOptional<z.ZodString>;
|
|
52
74
|
z: z.ZodOptional<z.ZodNumber>;
|
|
53
75
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -92,10 +114,21 @@ declare const BoardFrameItemSchema: z.ZodObject<{
|
|
|
92
114
|
type: z.ZodLiteral<"frame">;
|
|
93
115
|
props: z.ZodPrefault<z.ZodObject<{
|
|
94
116
|
label: z.ZodDefault<z.ZodString>;
|
|
117
|
+
decoration: z.ZodOptional<z.ZodEnum<{
|
|
118
|
+
frame: "frame";
|
|
119
|
+
none: "none";
|
|
120
|
+
}>>;
|
|
95
121
|
clip: z.ZodDefault<z.ZodBoolean>;
|
|
96
122
|
}, z.core.$strict>>;
|
|
97
123
|
}, z.core.$strict>;
|
|
98
124
|
declare const BoardTextItemSchema: z.ZodObject<{
|
|
125
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
126
|
+
src: z.ZodString;
|
|
127
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
128
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
129
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
130
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
131
|
+
}, z.core.$strict>>;
|
|
99
132
|
parent: z.ZodOptional<z.ZodString>;
|
|
100
133
|
z: z.ZodOptional<z.ZodNumber>;
|
|
101
134
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -151,6 +184,13 @@ declare const BoardTextItemSchema: z.ZodObject<{
|
|
|
151
184
|
}, z.core.$strict>>;
|
|
152
185
|
}, z.core.$strict>;
|
|
153
186
|
declare const BoardShapeItemSchema: z.ZodObject<{
|
|
187
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
188
|
+
src: z.ZodString;
|
|
189
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
190
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
191
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
192
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
193
|
+
}, z.core.$strict>>;
|
|
154
194
|
parent: z.ZodOptional<z.ZodString>;
|
|
155
195
|
z: z.ZodOptional<z.ZodNumber>;
|
|
156
196
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -219,6 +259,13 @@ declare const BoardDrawPointSchema: z.ZodObject<{
|
|
|
219
259
|
}, z.core.$strict>;
|
|
220
260
|
type BoardDrawPoint = z.infer<typeof BoardDrawPointSchema>;
|
|
221
261
|
declare const BoardDrawItemSchema: z.ZodObject<{
|
|
262
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
263
|
+
src: z.ZodString;
|
|
264
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
265
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
266
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
267
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
268
|
+
}, z.core.$strict>>;
|
|
222
269
|
parent: z.ZodOptional<z.ZodString>;
|
|
223
270
|
z: z.ZodOptional<z.ZodNumber>;
|
|
224
271
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -320,6 +367,13 @@ type BoardArrowEnd = z.infer<typeof BoardArrowEndSchema>;
|
|
|
320
367
|
declare const BOARD_ARROW_ROUTES: readonly ["straight", "curve", "orthogonal"];
|
|
321
368
|
type BoardArrowRoute = (typeof BOARD_ARROW_ROUTES)[number];
|
|
322
369
|
declare const BoardArrowItemSchema: z.ZodObject<{
|
|
370
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
371
|
+
src: z.ZodString;
|
|
372
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
373
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
374
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
375
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
376
|
+
}, z.core.$strict>>;
|
|
323
377
|
parent: z.ZodOptional<z.ZodString>;
|
|
324
378
|
z: z.ZodOptional<z.ZodNumber>;
|
|
325
379
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -434,6 +488,13 @@ declare const BoardCropSchema: z.ZodObject<{
|
|
|
434
488
|
h: z.ZodNumber;
|
|
435
489
|
}, z.core.$strict>;
|
|
436
490
|
declare const BoardImageItemSchema: z.ZodObject<{
|
|
491
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
492
|
+
src: z.ZodString;
|
|
493
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
494
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
495
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
496
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
497
|
+
}, z.core.$strict>>;
|
|
437
498
|
parent: z.ZodOptional<z.ZodString>;
|
|
438
499
|
z: z.ZodOptional<z.ZodNumber>;
|
|
439
500
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -499,6 +560,13 @@ declare const BoardImageItemSchema: z.ZodObject<{
|
|
|
499
560
|
}, z.core.$strict>;
|
|
500
561
|
}, z.core.$strict>;
|
|
501
562
|
declare const BoardVideoItemSchema: z.ZodObject<{
|
|
563
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
564
|
+
src: z.ZodString;
|
|
565
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
566
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
567
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
568
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
569
|
+
}, z.core.$strict>>;
|
|
502
570
|
parent: z.ZodOptional<z.ZodString>;
|
|
503
571
|
z: z.ZodOptional<z.ZodNumber>;
|
|
504
572
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -559,6 +627,13 @@ declare const BoardVideoItemSchema: z.ZodObject<{
|
|
|
559
627
|
}, z.core.$strict>;
|
|
560
628
|
}, z.core.$strict>;
|
|
561
629
|
declare const BoardAudioItemSchema: z.ZodObject<{
|
|
630
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
631
|
+
src: z.ZodString;
|
|
632
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
633
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
634
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
635
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
636
|
+
}, z.core.$strict>>;
|
|
562
637
|
parent: z.ZodOptional<z.ZodString>;
|
|
563
638
|
z: z.ZodOptional<z.ZodNumber>;
|
|
564
639
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -619,6 +694,13 @@ declare const BoardAudioItemSchema: z.ZodObject<{
|
|
|
619
694
|
}, z.core.$strict>;
|
|
620
695
|
}, z.core.$strict>;
|
|
621
696
|
declare const BoardFileItemSchema: z.ZodObject<{
|
|
697
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
698
|
+
src: z.ZodString;
|
|
699
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
700
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
701
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
702
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
703
|
+
}, z.core.$strict>>;
|
|
622
704
|
parent: z.ZodOptional<z.ZodString>;
|
|
623
705
|
z: z.ZodOptional<z.ZodNumber>;
|
|
624
706
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -759,6 +841,13 @@ declare const BoardTaskSnapshotSchema: z.ZodObject<{
|
|
|
759
841
|
}, z.core.$strict>;
|
|
760
842
|
type BoardTaskSnapshot = z.infer<typeof BoardTaskSnapshotSchema>;
|
|
761
843
|
declare const BoardTaskItemSchema: z.ZodObject<{
|
|
844
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
845
|
+
src: z.ZodString;
|
|
846
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
847
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
848
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
849
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
850
|
+
}, z.core.$strict>>;
|
|
762
851
|
parent: z.ZodOptional<z.ZodString>;
|
|
763
852
|
z: z.ZodOptional<z.ZodNumber>;
|
|
764
853
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -907,6 +996,13 @@ declare const BOARD_EFFECT_KIND_INFO: {
|
|
|
907
996
|
};
|
|
908
997
|
};
|
|
909
998
|
declare const BoardEffectItemSchema: z.ZodObject<{
|
|
999
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1000
|
+
src: z.ZodString;
|
|
1001
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1002
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1003
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1004
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1005
|
+
}, z.core.$strict>>;
|
|
910
1006
|
parent: z.ZodOptional<z.ZodString>;
|
|
911
1007
|
z: z.ZodOptional<z.ZodNumber>;
|
|
912
1008
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -969,7 +1065,7 @@ declare const BoardEffectItemSchema: z.ZodObject<{
|
|
|
969
1065
|
seed: z.ZodOptional<z.ZodString>;
|
|
970
1066
|
}, z.core.$strict>;
|
|
971
1067
|
}, z.core.$strict>;
|
|
972
|
-
declare const
|
|
1068
|
+
declare const BoardCustomItemSchema: z.ZodObject<{
|
|
973
1069
|
parent: z.ZodOptional<z.ZodString>;
|
|
974
1070
|
z: z.ZodOptional<z.ZodNumber>;
|
|
975
1071
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1011,15 +1107,25 @@ declare const BoardSketchItemSchema: z.ZodObject<{
|
|
|
1011
1107
|
width: z.ZodNumber;
|
|
1012
1108
|
height: z.ZodNumber;
|
|
1013
1109
|
}, z.core.$strict>>;
|
|
1014
|
-
type: z.ZodLiteral<"
|
|
1015
|
-
|
|
1110
|
+
type: z.ZodLiteral<"custom">;
|
|
1111
|
+
script: z.ZodObject<{
|
|
1016
1112
|
src: z.ZodString;
|
|
1017
|
-
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.
|
|
1113
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1114
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1018
1115
|
seed: z.ZodOptional<z.ZodString>;
|
|
1116
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1019
1117
|
}, z.core.$strict>;
|
|
1118
|
+
props: z.ZodDefault<z.ZodObject<{}, z.core.$strict>>;
|
|
1020
1119
|
}, z.core.$strict>;
|
|
1021
1120
|
declare const BOARD_EXTENSION_TYPE_PATTERN: RegExp;
|
|
1022
1121
|
declare const BoardExtensionItemSchema: z.ZodObject<{
|
|
1122
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1123
|
+
src: z.ZodString;
|
|
1124
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1125
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1126
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1127
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1128
|
+
}, z.core.$strict>>;
|
|
1023
1129
|
parent: z.ZodOptional<z.ZodString>;
|
|
1024
1130
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1025
1131
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1066,6 +1172,13 @@ declare const BoardExtensionItemSchema: z.ZodObject<{
|
|
|
1066
1172
|
}, z.core.$strict>;
|
|
1067
1173
|
declare const BOARD_ITEM_SCHEMAS: {
|
|
1068
1174
|
readonly frame: z.ZodObject<{
|
|
1175
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1176
|
+
src: z.ZodString;
|
|
1177
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1178
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1179
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1180
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1181
|
+
}, z.core.$strict>>;
|
|
1069
1182
|
parent: z.ZodOptional<z.ZodString>;
|
|
1070
1183
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1071
1184
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1110,10 +1223,21 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1110
1223
|
type: z.ZodLiteral<"frame">;
|
|
1111
1224
|
props: z.ZodPrefault<z.ZodObject<{
|
|
1112
1225
|
label: z.ZodDefault<z.ZodString>;
|
|
1226
|
+
decoration: z.ZodOptional<z.ZodEnum<{
|
|
1227
|
+
frame: "frame";
|
|
1228
|
+
none: "none";
|
|
1229
|
+
}>>;
|
|
1113
1230
|
clip: z.ZodDefault<z.ZodBoolean>;
|
|
1114
1231
|
}, z.core.$strict>>;
|
|
1115
1232
|
}, z.core.$strict>;
|
|
1116
1233
|
readonly text: z.ZodObject<{
|
|
1234
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1235
|
+
src: z.ZodString;
|
|
1236
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1237
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1238
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1239
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1240
|
+
}, z.core.$strict>>;
|
|
1117
1241
|
parent: z.ZodOptional<z.ZodString>;
|
|
1118
1242
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1119
1243
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1169,6 +1293,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1169
1293
|
}, z.core.$strict>>;
|
|
1170
1294
|
}, z.core.$strict>;
|
|
1171
1295
|
readonly shape: z.ZodObject<{
|
|
1296
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1297
|
+
src: z.ZodString;
|
|
1298
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1299
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1300
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1301
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1302
|
+
}, z.core.$strict>>;
|
|
1172
1303
|
parent: z.ZodOptional<z.ZodString>;
|
|
1173
1304
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1174
1305
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1231,6 +1362,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1231
1362
|
}, z.core.$strict>>;
|
|
1232
1363
|
}, z.core.$strict>;
|
|
1233
1364
|
readonly draw: z.ZodObject<{
|
|
1365
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1366
|
+
src: z.ZodString;
|
|
1367
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1368
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1369
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1370
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1371
|
+
}, z.core.$strict>>;
|
|
1234
1372
|
parent: z.ZodOptional<z.ZodString>;
|
|
1235
1373
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1236
1374
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1278,6 +1416,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1278
1416
|
}, z.core.$strict>;
|
|
1279
1417
|
}, z.core.$strict>;
|
|
1280
1418
|
readonly arrow: z.ZodObject<{
|
|
1419
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1420
|
+
src: z.ZodString;
|
|
1421
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1422
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1423
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1424
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1425
|
+
}, z.core.$strict>>;
|
|
1281
1426
|
parent: z.ZodOptional<z.ZodString>;
|
|
1282
1427
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1283
1428
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1373,6 +1518,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1373
1518
|
}, z.core.$strict>;
|
|
1374
1519
|
}, z.core.$strict>;
|
|
1375
1520
|
readonly image: z.ZodObject<{
|
|
1521
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1522
|
+
src: z.ZodString;
|
|
1523
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1524
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1525
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1526
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1527
|
+
}, z.core.$strict>>;
|
|
1376
1528
|
parent: z.ZodOptional<z.ZodString>;
|
|
1377
1529
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1378
1530
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1438,6 +1590,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1438
1590
|
}, z.core.$strict>;
|
|
1439
1591
|
}, z.core.$strict>;
|
|
1440
1592
|
readonly video: z.ZodObject<{
|
|
1593
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1594
|
+
src: z.ZodString;
|
|
1595
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1596
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1597
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1598
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1599
|
+
}, z.core.$strict>>;
|
|
1441
1600
|
parent: z.ZodOptional<z.ZodString>;
|
|
1442
1601
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1443
1602
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1498,6 +1657,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1498
1657
|
}, z.core.$strict>;
|
|
1499
1658
|
}, z.core.$strict>;
|
|
1500
1659
|
readonly audio: z.ZodObject<{
|
|
1660
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1661
|
+
src: z.ZodString;
|
|
1662
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1663
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1664
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1665
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1666
|
+
}, z.core.$strict>>;
|
|
1501
1667
|
parent: z.ZodOptional<z.ZodString>;
|
|
1502
1668
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1503
1669
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1558,6 +1724,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1558
1724
|
}, z.core.$strict>;
|
|
1559
1725
|
}, z.core.$strict>;
|
|
1560
1726
|
readonly file: z.ZodObject<{
|
|
1727
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1728
|
+
src: z.ZodString;
|
|
1729
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1730
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1731
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1732
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1733
|
+
}, z.core.$strict>>;
|
|
1561
1734
|
parent: z.ZodOptional<z.ZodString>;
|
|
1562
1735
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1563
1736
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1617,6 +1790,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1617
1790
|
}, z.core.$strict>;
|
|
1618
1791
|
}, z.core.$strict>;
|
|
1619
1792
|
readonly task: z.ZodObject<{
|
|
1793
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1794
|
+
src: z.ZodString;
|
|
1795
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1796
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1797
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1798
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1799
|
+
}, z.core.$strict>>;
|
|
1620
1800
|
parent: z.ZodOptional<z.ZodString>;
|
|
1621
1801
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1622
1802
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1710,6 +1890,13 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1710
1890
|
}, z.core.$strict>;
|
|
1711
1891
|
}, z.core.$strict>;
|
|
1712
1892
|
readonly effect: z.ZodObject<{
|
|
1893
|
+
script: z.ZodOptional<z.ZodObject<{
|
|
1894
|
+
src: z.ZodString;
|
|
1895
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
1896
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1897
|
+
seed: z.ZodOptional<z.ZodString>;
|
|
1898
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1899
|
+
}, z.core.$strict>>;
|
|
1713
1900
|
parent: z.ZodOptional<z.ZodString>;
|
|
1714
1901
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1715
1902
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1772,7 +1959,7 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1772
1959
|
seed: z.ZodOptional<z.ZodString>;
|
|
1773
1960
|
}, z.core.$strict>;
|
|
1774
1961
|
}, z.core.$strict>;
|
|
1775
|
-
readonly
|
|
1962
|
+
readonly custom: z.ZodObject<{
|
|
1776
1963
|
parent: z.ZodOptional<z.ZodString>;
|
|
1777
1964
|
z: z.ZodOptional<z.ZodNumber>;
|
|
1778
1965
|
position: z.ZodDefault<z.ZodObject<{
|
|
@@ -1814,12 +2001,15 @@ declare const BOARD_ITEM_SCHEMAS: {
|
|
|
1814
2001
|
width: z.ZodNumber;
|
|
1815
2002
|
height: z.ZodNumber;
|
|
1816
2003
|
}, z.core.$strict>>;
|
|
1817
|
-
type: z.ZodLiteral<"
|
|
1818
|
-
|
|
2004
|
+
type: z.ZodLiteral<"custom">;
|
|
2005
|
+
script: z.ZodObject<{
|
|
1819
2006
|
src: z.ZodString;
|
|
1820
|
-
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.
|
|
2007
|
+
params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
2008
|
+
targets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1821
2009
|
seed: z.ZodOptional<z.ZodString>;
|
|
2010
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1822
2011
|
}, z.core.$strict>;
|
|
2012
|
+
props: z.ZodDefault<z.ZodObject<{}, z.core.$strict>>;
|
|
1823
2013
|
}, z.core.$strict>;
|
|
1824
2014
|
};
|
|
1825
2015
|
type BoardBuiltinItemType = keyof typeof BOARD_ITEM_SCHEMAS;
|
|
@@ -1835,11 +2025,11 @@ type BoardAudioItem = z.infer<typeof BoardAudioItemSchema>;
|
|
|
1835
2025
|
type BoardFileItem = z.infer<typeof BoardFileItemSchema>;
|
|
1836
2026
|
type BoardTaskItem = z.infer<typeof BoardTaskItemSchema>;
|
|
1837
2027
|
type BoardEffectItem = z.infer<typeof BoardEffectItemSchema>;
|
|
1838
|
-
type
|
|
2028
|
+
type BoardCustomItem = z.infer<typeof BoardCustomItemSchema>;
|
|
1839
2029
|
type BoardExtensionItem = Omit<z.infer<typeof BoardExtensionItemSchema>, "type"> & {
|
|
1840
2030
|
type: `${string}.${string}`;
|
|
1841
2031
|
};
|
|
1842
|
-
type BoardBuiltinItem = BoardFrameItem | BoardTextItem | BoardShapeItem | BoardDrawItem | BoardArrowItem | BoardImageItem | BoardVideoItem | BoardAudioItem | BoardFileItem | BoardTaskItem | BoardEffectItem |
|
|
2032
|
+
type BoardBuiltinItem = BoardFrameItem | BoardTextItem | BoardShapeItem | BoardDrawItem | BoardArrowItem | BoardImageItem | BoardVideoItem | BoardAudioItem | BoardFileItem | BoardTaskItem | BoardEffectItem | BoardCustomItem;
|
|
1843
2033
|
type BoardItem = BoardBuiltinItem | BoardExtensionItem;
|
|
1844
2034
|
type BoardItemType = BoardItem["type"];
|
|
1845
2035
|
type BoardFileBackedItem = BoardImageItem | BoardVideoItem | BoardAudioItem | BoardFileItem;
|
|
@@ -2049,4 +2239,4 @@ type BoardDelta = {
|
|
|
2049
2239
|
};
|
|
2050
2240
|
declare function isEmptyBoardDelta(delta: BoardDelta): boolean;
|
|
2051
2241
|
//#endregion
|
|
2052
|
-
export { BOARD_ANCHOR_SIDES, BOARD_ARROW_ROUTES, BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_DASHES, BOARD_DERIVED_SIZE_TYPES, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ENTER_PRESETS, BOARD_EXTENSION_TYPE_PATTERN, BOARD_GRID_DEFAULT_SIZE, BOARD_GRID_MAX_SIZE, BOARD_GRID_MIN_SIZE, BOARD_ID_MAX_LENGTH, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BOARD_PLAY_MODES, BOARD_SHAPE_GEOMETRIES, BOARD_TASK_ARTIFACT_LIMIT, BOARD_TEXT_ALIGNS, BoardAnchorSide, BoardAnimation, BoardAnimationHeader, BoardAnimationHeaderSchema, BoardAnimationSchema, BoardArrowAnchor, BoardArrowAnchorSchema, BoardArrowBinding, BoardArrowBindingSchema, BoardArrowEnd, BoardArrowEndSchema, BoardArrowItem, BoardArrowItemSchema, BoardArrowRoute, BoardAudioItem, BoardAudioItemSchema, BoardBackgroundSchema, BoardBuiltinItem, BoardBuiltinItemType, BoardColor, BoardColorSchema, BoardColorToken, BoardCropSchema, BoardDash, BoardDelta, BoardDiagnostic, BoardDocument, BoardDrawItem, BoardDrawItemSchema, BoardDrawPoint, BoardDrawPointSchema, BoardEaseSchema, BoardEffectItem, BoardEffectItemSchema, BoardEffectKind, BoardEnterPreset, BoardExtensionItem, BoardExtensionItemSchema, BoardFileBackedItem, BoardFileItem, BoardFileItemSchema, BoardFrameItem, BoardFrameItemSchema, BoardIdSchema, BoardImageItem, BoardImageItemSchema, BoardItem, BoardItemType, BoardKeyframe, BoardKeyframeSchema, BoardMarker, BoardMarkerSchema, BoardMediaSnapshot, BoardMediaSnapshotSchema, BoardPatch, BoardPatchSchema, BoardPlayMode, BoardSettings, BoardSettingsSchema, BoardShapeGeometry, BoardShapeItem, BoardShapeItemSchema, BoardSize, BoardSizeSchema,
|
|
2242
|
+
export { BOARD_ANCHOR_SIDES, BOARD_ARROW_ROUTES, BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_DASHES, BOARD_DERIVED_SIZE_TYPES, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ENTER_PRESETS, BOARD_EXTENSION_TYPE_PATTERN, BOARD_GRID_DEFAULT_SIZE, BOARD_GRID_MAX_SIZE, BOARD_GRID_MIN_SIZE, BOARD_ID_MAX_LENGTH, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BOARD_PLAY_MODES, BOARD_SHAPE_GEOMETRIES, BOARD_TASK_ARTIFACT_LIMIT, BOARD_TEXT_ALIGNS, BoardAnchorSide, BoardAnimation, BoardAnimationHeader, BoardAnimationHeaderSchema, BoardAnimationSchema, BoardArrowAnchor, BoardArrowAnchorSchema, BoardArrowBinding, BoardArrowBindingSchema, BoardArrowEnd, BoardArrowEndSchema, BoardArrowItem, BoardArrowItemSchema, BoardArrowRoute, BoardAudioItem, BoardAudioItemSchema, BoardBackgroundSchema, BoardBuiltinItem, BoardBuiltinItemType, BoardColor, BoardColorSchema, BoardColorToken, BoardCropSchema, BoardCustomItem, BoardCustomItemSchema, BoardDash, BoardDelta, BoardDiagnostic, BoardDocument, BoardDrawItem, BoardDrawItemSchema, BoardDrawPoint, BoardDrawPointSchema, BoardEaseSchema, BoardEffectItem, BoardEffectItemSchema, BoardEffectKind, BoardEnterPreset, BoardExtensionItem, BoardExtensionItemSchema, BoardFileBackedItem, BoardFileItem, BoardFileItemSchema, BoardFrameItem, BoardFrameItemSchema, BoardIdSchema, BoardImageItem, BoardImageItemSchema, BoardItem, BoardItemType, BoardKeySchema, BoardKeyframe, BoardKeyframeSchema, BoardMarker, BoardMarkerSchema, BoardMediaSnapshot, BoardMediaSnapshotSchema, BoardMediaSource, BoardMediaSourceSchema, BoardPatch, BoardPatchSchema, BoardPlayMode, BoardScript, BoardScriptSchema, BoardSettings, BoardSettingsSchema, BoardShapeGeometry, BoardShapeItem, BoardShapeItemSchema, BoardSize, BoardSizeSchema, BoardStyle, BoardStyleSchema, BoardTaskArtifact, BoardTaskArtifactSchema, BoardTaskItem, BoardTaskItemSchema, BoardTaskSnapshot, BoardTaskSnapshotSchema, BoardTextItem, BoardTextItemSchema, BoardTrack, BoardTrackSchema, BoardVec2, BoardVec2Schema, BoardVideoItem, BoardVideoItemSchema, boardItemSchema, emptyBoardDocument, hasAuthoredSize, isBoardColorString, isBoardEase, isBuiltinItem, isBuiltinItemType, isEmptyBoardDelta, isFileBackedItem, isMediaItem, isSafeBoardSourcePath, parseBoardItem, parseBoardMediaSource };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { normalizeBoardRemoteUrl } from "./board-url.js";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
//#region ../protocol/dist/board-model.js
|
|
3
4
|
const BOARD_ID_MAX_LENGTH = 160;
|
|
4
5
|
const BOARD_CAMERA_TARGET = "camera";
|
|
5
|
-
const
|
|
6
|
+
const BoardKeySchema = z.string().min(1).max(160).regex(/^[^\s/]+$/, "ids must not contain whitespace or '/'");
|
|
7
|
+
const BoardIdSchema = BoardKeySchema.refine((value) => value !== BOARD_CAMERA_TARGET, "\"camera\" is reserved");
|
|
6
8
|
const finite = z.number().finite();
|
|
7
9
|
const nonNegative = finite.nonnegative();
|
|
8
10
|
const ratio = finite.min(0).max(1);
|
|
@@ -50,10 +52,29 @@ const BoardStyleSchema = z.object({
|
|
|
50
52
|
trim: ratio.optional()
|
|
51
53
|
}).strict();
|
|
52
54
|
function isSafeBoardSourcePath(value) {
|
|
53
|
-
return value.length > 0 && value.length <= 4096 && !value.startsWith("/") && !value.includes("\\") && value.split("/").every((part) => part.length > 0 && part !== "." && part !== "..");
|
|
55
|
+
return value.length > 0 && value.length <= 4096 && !value.startsWith("/") && !/^[a-z][a-z\d+.-]*:/i.test(value.trimStart()) && !value.includes("\\") && value.split("/").every((part) => part.length > 0 && part !== "." && part !== "..");
|
|
54
56
|
}
|
|
55
57
|
const srcSchema = z.string().refine(isSafeBoardSourcePath, "src must be a relative Space file path");
|
|
58
|
+
function parseBoardMediaSource(src) {
|
|
59
|
+
if (isSafeBoardSourcePath(src)) return {
|
|
60
|
+
kind: "file",
|
|
61
|
+
value: src
|
|
62
|
+
};
|
|
63
|
+
return normalizeBoardRemoteUrl(src) ? {
|
|
64
|
+
kind: "url",
|
|
65
|
+
value: src
|
|
66
|
+
} : null;
|
|
67
|
+
}
|
|
68
|
+
const BoardMediaSourceSchema = z.string().max(4096).refine((src) => parseBoardMediaSource(src) !== null, "src must be a public HTTP(S) URL or relative Space file path").describe("Prefer a stable public HTTP(S) URL; relative Space file paths remain supported.");
|
|
69
|
+
const BoardScriptSchema = z.object({
|
|
70
|
+
src: srcSchema.refine((path) => /\.m?js$/.test(path), "script src must be a .js or .mjs module"),
|
|
71
|
+
params: z.record(z.string(), z.json()).default({}),
|
|
72
|
+
targets: z.record(z.string().min(1).max(80), BoardIdSchema).default({}),
|
|
73
|
+
seed: z.string().min(1).max(160).optional(),
|
|
74
|
+
enabled: z.boolean().default(true)
|
|
75
|
+
}).strict();
|
|
56
76
|
const itemEnvelope = {
|
|
77
|
+
script: BoardScriptSchema.optional(),
|
|
57
78
|
parent: BoardIdSchema.optional(),
|
|
58
79
|
z: finite.optional(),
|
|
59
80
|
position: BoardVec2Schema.default({
|
|
@@ -98,6 +119,7 @@ const BoardFrameItemSchema = z.object({
|
|
|
98
119
|
type: z.literal("frame"),
|
|
99
120
|
props: z.object({
|
|
100
121
|
label: z.string().max(280).default(""),
|
|
122
|
+
decoration: z.enum(["frame", "none"]).optional(),
|
|
101
123
|
clip: z.boolean().default(true)
|
|
102
124
|
}).strict().prefault({})
|
|
103
125
|
}).strict();
|
|
@@ -197,7 +219,7 @@ const BoardMediaSnapshotSchema = z.object({
|
|
|
197
219
|
coverUrl: z.string().optional()
|
|
198
220
|
}).strict();
|
|
199
221
|
const fileProps = {
|
|
200
|
-
src:
|
|
222
|
+
src: BoardMediaSourceSchema,
|
|
201
223
|
snapshot: BoardMediaSnapshotSchema.optional()
|
|
202
224
|
};
|
|
203
225
|
const timedFileProps = {
|
|
@@ -369,14 +391,11 @@ const BoardEffectItemSchema = z.object({
|
|
|
369
391
|
seed: z.string().min(1).max(160).optional()
|
|
370
392
|
}).strict()
|
|
371
393
|
}).strict();
|
|
372
|
-
const
|
|
394
|
+
const BoardCustomItemSchema = z.object({
|
|
373
395
|
...boxed(480, 320),
|
|
374
|
-
type: z.literal("
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
params: z.record(z.string(), z.unknown()).default({}),
|
|
378
|
-
seed: z.string().min(1).max(160).optional()
|
|
379
|
-
}).strict()
|
|
396
|
+
type: z.literal("custom"),
|
|
397
|
+
script: BoardScriptSchema,
|
|
398
|
+
props: z.object({}).strict().default({})
|
|
380
399
|
}).strict();
|
|
381
400
|
const BOARD_EXTENSION_TYPE_PATTERN = /^[a-z][a-z0-9]*(?:\.[a-z0-9-]+)+$/;
|
|
382
401
|
const BoardExtensionItemSchema = z.object({
|
|
@@ -400,7 +419,7 @@ const BOARD_ITEM_SCHEMAS = {
|
|
|
400
419
|
file: BoardFileItemSchema,
|
|
401
420
|
task: BoardTaskItemSchema,
|
|
402
421
|
effect: BoardEffectItemSchema,
|
|
403
|
-
|
|
422
|
+
custom: BoardCustomItemSchema
|
|
404
423
|
};
|
|
405
424
|
const BOARD_ITEM_TYPES = Object.keys(BOARD_ITEM_SCHEMAS);
|
|
406
425
|
function isBuiltinItemType(type) {
|
|
@@ -533,7 +552,7 @@ const BoardAnimationHeaderSchema = z.object({
|
|
|
533
552
|
end: z.enum(["hold", "reset"]).default("hold"),
|
|
534
553
|
markers: z.array(BoardMarkerSchema).max(1e4).default([])
|
|
535
554
|
}).strict();
|
|
536
|
-
const BoardAnimationSchema = BoardAnimationHeaderSchema.extend({ tracks: z.record(
|
|
555
|
+
const BoardAnimationSchema = BoardAnimationHeaderSchema.extend({ tracks: z.record(BoardKeySchema, BoardTrackSchema).default({}) }).strict();
|
|
537
556
|
const BOARD_ENTER_PRESETS = [
|
|
538
557
|
"fade-in",
|
|
539
558
|
"rise",
|
|
@@ -583,10 +602,10 @@ const patchObject = z.record(z.string(), z.unknown());
|
|
|
583
602
|
const BoardPatchSchema = z.object({
|
|
584
603
|
board: patchObject.nullable().optional(),
|
|
585
604
|
items: z.record(BoardIdSchema, patchObject.nullable()).optional(),
|
|
586
|
-
animations: z.record(BoardIdSchema, patchObject.and(z.object({ tracks: z.record(
|
|
605
|
+
animations: z.record(BoardIdSchema, patchObject.and(z.object({ tracks: z.record(BoardKeySchema, patchObject.nullable()).optional() })).nullable()).optional()
|
|
587
606
|
}).strict();
|
|
588
607
|
function isEmptyBoardDelta(delta) {
|
|
589
608
|
return !delta.board && Object.keys(delta.items ?? {}).length === 0 && Object.keys(delta.animations ?? {}).length === 0 && Object.keys(delta.tracks ?? {}).length === 0;
|
|
590
609
|
}
|
|
591
610
|
//#endregion
|
|
592
|
-
export { BOARD_ANCHOR_SIDES, BOARD_ARROW_ROUTES, BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_DASHES, BOARD_DERIVED_SIZE_TYPES, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ENTER_PRESETS, BOARD_EXTENSION_TYPE_PATTERN, BOARD_GRID_DEFAULT_SIZE, BOARD_GRID_MAX_SIZE, BOARD_GRID_MIN_SIZE, BOARD_ID_MAX_LENGTH, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BOARD_PLAY_MODES, BOARD_SHAPE_GEOMETRIES, BOARD_TASK_ARTIFACT_LIMIT, BOARD_TEXT_ALIGNS, BoardAnimationHeaderSchema, BoardAnimationSchema, BoardArrowAnchorSchema, BoardArrowBindingSchema, BoardArrowEndSchema, BoardArrowItemSchema, BoardAudioItemSchema, BoardBackgroundSchema, BoardColorSchema, BoardCropSchema, BoardDrawItemSchema, BoardDrawPointSchema, BoardEaseSchema, BoardEffectItemSchema, BoardExtensionItemSchema, BoardFileItemSchema, BoardFrameItemSchema, BoardIdSchema, BoardImageItemSchema, BoardKeyframeSchema, BoardMarkerSchema, BoardMediaSnapshotSchema, BoardPatchSchema, BoardSettingsSchema, BoardShapeItemSchema, BoardSizeSchema,
|
|
611
|
+
export { BOARD_ANCHOR_SIDES, BOARD_ARROW_ROUTES, BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_DASHES, BOARD_DERIVED_SIZE_TYPES, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ENTER_PRESETS, BOARD_EXTENSION_TYPE_PATTERN, BOARD_GRID_DEFAULT_SIZE, BOARD_GRID_MAX_SIZE, BOARD_GRID_MIN_SIZE, BOARD_ID_MAX_LENGTH, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BOARD_PLAY_MODES, BOARD_SHAPE_GEOMETRIES, BOARD_TASK_ARTIFACT_LIMIT, BOARD_TEXT_ALIGNS, BoardAnimationHeaderSchema, BoardAnimationSchema, BoardArrowAnchorSchema, BoardArrowBindingSchema, BoardArrowEndSchema, BoardArrowItemSchema, BoardAudioItemSchema, BoardBackgroundSchema, BoardColorSchema, BoardCropSchema, BoardCustomItemSchema, BoardDrawItemSchema, BoardDrawPointSchema, BoardEaseSchema, BoardEffectItemSchema, BoardExtensionItemSchema, BoardFileItemSchema, BoardFrameItemSchema, BoardIdSchema, BoardImageItemSchema, BoardKeySchema, BoardKeyframeSchema, BoardMarkerSchema, BoardMediaSnapshotSchema, BoardMediaSourceSchema, BoardPatchSchema, BoardScriptSchema, BoardSettingsSchema, BoardShapeItemSchema, BoardSizeSchema, BoardStyleSchema, BoardTaskArtifactSchema, BoardTaskItemSchema, BoardTaskSnapshotSchema, BoardTextItemSchema, BoardTrackSchema, BoardVec2Schema, BoardVideoItemSchema, boardItemSchema, emptyBoardDocument, hasAuthoredSize, isBoardColorString, isBoardEase, isBuiltinItem, isBuiltinItemType, isEmptyBoardDelta, isFileBackedItem, isMediaItem, isSafeBoardSourcePath, parseBoardItem, parseBoardMediaSource };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region ../protocol/dist/board-schema.d.ts
|
|
2
2
|
type JsonSchema = Record<string, unknown>;
|
|
3
|
-
declare const BOARD_SCHEMA_TARGETS: readonly ["board", "animation", "track", "camera", ...("arrow" | "audio" | "draw" | "effect" | "file" | "frame" | "image" | "shape" | "
|
|
3
|
+
declare const BOARD_SCHEMA_TARGETS: readonly ["board", "animation", "track", "camera", ...("arrow" | "audio" | "custom" | "draw" | "effect" | "file" | "frame" | "image" | "shape" | "task" | "text" | "video")[]];
|
|
4
4
|
type BoardJsonSchemaResult = {
|
|
5
5
|
schema?: JsonSchema;
|
|
6
6
|
properties?: Array<{
|
|
@@ -11,6 +11,7 @@ type BoardJsonSchemaResult = {
|
|
|
11
11
|
description: string;
|
|
12
12
|
parameters: Record<string, string>;
|
|
13
13
|
}>;
|
|
14
|
+
semantics?: Record<string, string>;
|
|
14
15
|
};
|
|
15
16
|
declare function boardJsonSchema(target: string): BoardJsonSchemaResult | null;
|
|
16
17
|
declare function boardSchemaOverview(): {
|
|
@@ -19,7 +20,8 @@ declare function boardSchemaOverview(): {
|
|
|
19
20
|
rotation: string;
|
|
20
21
|
length: string;
|
|
21
22
|
};
|
|
22
|
-
|
|
23
|
+
coordinates: string;
|
|
24
|
+
types: ("arrow" | "audio" | "custom" | "draw" | "effect" | "file" | "frame" | "image" | "shape" | "task" | "text" | "video")[];
|
|
23
25
|
colors: {
|
|
24
26
|
tokens: readonly ["brand", "neutral", "black", "white", "blue", "green", "amber", "violet", "rose"];
|
|
25
27
|
css: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BoardAnimationHeaderSchema, BoardSettingsSchema, BoardTrackSchema, isBuiltinItemType } from "./board-model.js";
|
|
1
|
+
import { BOARD_CAMERA_TARGET, BOARD_COLOR_TOKENS, BOARD_EFFECT_KINDS, BOARD_EFFECT_KIND_INFO, BOARD_ITEM_SCHEMAS, BOARD_ITEM_TYPES, BoardAnimationHeaderSchema, BoardKeySchema, BoardSettingsSchema, BoardTrackSchema, isBuiltinItemType } from "./board-model.js";
|
|
2
2
|
import { listBoardProperties } from "./board-patch.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region ../protocol/dist/board-schema.js
|
|
@@ -19,13 +19,26 @@ const BOARD_SCHEMA_TARGETS = [
|
|
|
19
19
|
function boardJsonSchema(target) {
|
|
20
20
|
if (target === "board") return { schema: toJsonSchema(BoardSettingsSchema) };
|
|
21
21
|
if (target === "animation") return {
|
|
22
|
-
schema: toJsonSchema(BoardAnimationHeaderSchema.extend({ tracks: z.record(
|
|
23
|
-
properties: listBoardProperties("animation")
|
|
22
|
+
schema: toJsonSchema(BoardAnimationHeaderSchema.extend({ tracks: z.record(BoardKeySchema, BoardTrackSchema).optional() })),
|
|
23
|
+
properties: listBoardProperties("animation"),
|
|
24
|
+
semantics: { composition: "Target another animation's time property to drive its local clock. Parent markers control pauses; child markers are not automatically promoted." }
|
|
25
|
+
};
|
|
26
|
+
if (target === "track") return {
|
|
27
|
+
schema: toJsonSchema(BoardTrackSchema),
|
|
28
|
+
semantics: {
|
|
29
|
+
boundary: "Before the first keyframe and after the last, the value is held. Use opacity tracks to control visibility.",
|
|
30
|
+
easing: "Defaults to linear. The destination keyframe controls the incoming segment. Supports CSS easing keywords, cubic-bezier() and steps().",
|
|
31
|
+
composition: "replace: the most recently started track wins; ties use the lexicographically larger track ID. Before any start, the nearest upcoming track wins. add: numbers and positions add; opacity and scale multiply.",
|
|
32
|
+
interpolation: "auto interpolates numbers, colors and vectors; other values step. spline smooths vector motion. orient follows the position tangent."
|
|
33
|
+
}
|
|
24
34
|
};
|
|
25
|
-
if (target === "track") return { schema: toJsonSchema(BoardTrackSchema) };
|
|
26
35
|
if (target === "effect") return {
|
|
27
36
|
schema: toJsonSchema(BOARD_ITEM_SCHEMAS.effect),
|
|
28
37
|
properties: listBoardProperties("effect"),
|
|
38
|
+
semantics: {
|
|
39
|
+
follow: "follow is used by trail only. Parent a particle effect to a decoration:none frame to move it with other items.",
|
|
40
|
+
time: "Effects use animation time in milliseconds. trail samples target history; seed makes procedural particles repeatable."
|
|
41
|
+
},
|
|
29
42
|
kinds: Object.fromEntries(BOARD_EFFECT_KINDS.map((kind) => [kind, BOARD_EFFECT_KIND_INFO[kind]]))
|
|
30
43
|
};
|
|
31
44
|
if (target === "camera") return { properties: listBoardProperties(BOARD_CAMERA_TARGET) };
|
|
@@ -42,6 +55,7 @@ function boardSchemaOverview() {
|
|
|
42
55
|
rotation: "degrees",
|
|
43
56
|
length: "board units (1 = 1 CSS px at zoom 1)"
|
|
44
57
|
},
|
|
58
|
+
coordinates: "Positions, draw points and unbound arrow endpoints are relative to their parent frame; without a parent they are world coordinates. Shape paths are fitted to the item size.",
|
|
45
59
|
types: BOARD_ITEM_TYPES,
|
|
46
60
|
colors: {
|
|
47
61
|
tokens: BOARD_COLOR_TOKENS,
|