@nodaro/shared 2.27.0 → 3.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/dist/index.cjs +1379 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1935 -72
- package/dist/index.d.ts +1935 -72
- package/dist/index.js +1299 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/scene3d-camera-track.test.ts +235 -0
- package/src/__tests__/scene3d-v2-edit.test.ts +83 -0
- package/src/__tests__/scene3d-v2-fixtures.ts +232 -0
- package/src/__tests__/scene3d-v2-resources.test.ts +239 -0
- package/src/__tests__/scene3d-v2.test.ts +742 -0
- package/src/__tests__/scene3d.test.ts +6 -6
- package/src/index.ts +6 -0
- package/src/scene3d-camera-track.ts +369 -0
- package/src/scene3d-edit.ts +10 -10
- package/src/scene3d-v2-edit.ts +156 -0
- package/src/scene3d-v2-plan.ts +694 -0
- package/src/scene3d-v2-resources.ts +382 -0
- package/src/scene3d-v2.ts +666 -0
- package/src/scene3d.ts +39 -13
package/dist/index.d.cts
CHANGED
|
@@ -11997,7 +11997,13 @@ interface Scene3DReference {
|
|
|
11997
11997
|
startSeconds?: number;
|
|
11998
11998
|
endSeconds?: number;
|
|
11999
11999
|
}
|
|
12000
|
-
|
|
12000
|
+
/**
|
|
12001
|
+
* The v1 plan. `Scene3DPlan` is the DISCRIMINATED UNION of this and
|
|
12002
|
+
* `Scene3DPlanV2` (see `scene3d-v2.ts`) — a consumer holding one must narrow
|
|
12003
|
+
* with `isScene3DPlanV1` / `isScene3DPlanV2` before reading version-specific
|
|
12004
|
+
* fields. Nothing about v1's shape, bounds or messages changed when v2 landed.
|
|
12005
|
+
*/
|
|
12006
|
+
interface Scene3DPlanV1 {
|
|
12001
12007
|
planType: typeof SCENE3D_PLAN_TYPE;
|
|
12002
12008
|
schemaVersion: typeof SCENE3D_SCHEMA_VERSION;
|
|
12003
12009
|
/** UUID. Changes on EVERY accepted edit. */
|
|
@@ -12125,10 +12131,14 @@ declare const scene3DReferenceSchema: z.ZodObject<{
|
|
|
12125
12131
|
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12126
12132
|
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12127
12133
|
}, z.core.$strict>;
|
|
12128
|
-
|
|
12134
|
+
/** One cross-field failure, in the shape `ctx.addIssue` wants. Shared by the
|
|
12135
|
+
* v1 and v2 validators so both report the same way. */
|
|
12136
|
+
interface Scene3DSemanticIssue {
|
|
12129
12137
|
path: (string | number)[];
|
|
12130
12138
|
message: string;
|
|
12131
12139
|
}
|
|
12140
|
+
/** @internal Historic in-file name. */
|
|
12141
|
+
type SemanticIssue = Scene3DSemanticIssue;
|
|
12132
12142
|
/**
|
|
12133
12143
|
* Every rule that needs more than one field: duration, identity, hierarchy,
|
|
12134
12144
|
* reference resolution and keyframe tracks.
|
|
@@ -12137,12 +12147,174 @@ interface SemanticIssue {
|
|
|
12137
12147
|
* report the SAME sentences without re-parsing, and so a caller holding an
|
|
12138
12148
|
* already-parsed plan can re-check it cheaply.
|
|
12139
12149
|
*/
|
|
12140
|
-
declare function
|
|
12150
|
+
declare function scene3DPlanV1Issues(plan: Scene3DPlanV1): SemanticIssue[];
|
|
12141
12151
|
/**
|
|
12142
12152
|
* THE plan validator. Structure first (zod), then the cross-field rules — a
|
|
12143
12153
|
* consumer that parses with this cannot be handed a cycle, a dangling parent,
|
|
12144
12154
|
* an out-of-range keyframe or a 90-second "one-minute-max" scene.
|
|
12145
12155
|
*/
|
|
12156
|
+
/**
|
|
12157
|
+
* The v1 object shape WITHOUT the cross-field pass. Exported only so
|
|
12158
|
+
* `scene3DAnyPlanSchema` can discriminate on `schemaVersion` (zod cannot
|
|
12159
|
+
* discriminate through a `superRefine`); parse with `scene3DPlanV1Schema`.
|
|
12160
|
+
*/
|
|
12161
|
+
declare const scene3DPlanV1ObjectSchema: z.ZodObject<{
|
|
12162
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
12163
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
12164
|
+
revisionId: z.ZodUUID;
|
|
12165
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
12166
|
+
width: z.ZodNumber;
|
|
12167
|
+
height: z.ZodNumber;
|
|
12168
|
+
fps: z.ZodNumber;
|
|
12169
|
+
durationInFrames: z.ZodNumber;
|
|
12170
|
+
backgroundColor: z.ZodString;
|
|
12171
|
+
camera: z.ZodObject<{
|
|
12172
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12173
|
+
target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12174
|
+
focalLengthMm: z.ZodNumber;
|
|
12175
|
+
sensorWidthMm: z.ZodDefault<z.ZodNumber>;
|
|
12176
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12177
|
+
frame: z.ZodNumber;
|
|
12178
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12179
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12180
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
12181
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
12182
|
+
linear: "linear";
|
|
12183
|
+
easeInOut: "easeInOut";
|
|
12184
|
+
}>>;
|
|
12185
|
+
}, z.core.$strict>>>;
|
|
12186
|
+
}, z.core.$strict>;
|
|
12187
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
12188
|
+
id: z.ZodString;
|
|
12189
|
+
name: z.ZodString;
|
|
12190
|
+
primitive: z.ZodEnum<{
|
|
12191
|
+
group: "group";
|
|
12192
|
+
box: "box";
|
|
12193
|
+
sphere: "sphere";
|
|
12194
|
+
cylinder: "cylinder";
|
|
12195
|
+
cone: "cone";
|
|
12196
|
+
plane: "plane";
|
|
12197
|
+
capsule: "capsule";
|
|
12198
|
+
}>;
|
|
12199
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
12200
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12201
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12202
|
+
rotation: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12203
|
+
scale: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12204
|
+
color: z.ZodString;
|
|
12205
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12206
|
+
frame: z.ZodNumber;
|
|
12207
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12208
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12209
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12210
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
12211
|
+
linear: "linear";
|
|
12212
|
+
easeInOut: "easeInOut";
|
|
12213
|
+
}>>;
|
|
12214
|
+
}, z.core.$strict>>>;
|
|
12215
|
+
}, z.core.$strict>>;
|
|
12216
|
+
lighting: z.ZodObject<{
|
|
12217
|
+
ambientIntensity: z.ZodNumber;
|
|
12218
|
+
keyIntensity: z.ZodNumber;
|
|
12219
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12220
|
+
}, z.core.$strict>;
|
|
12221
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12222
|
+
id: z.ZodString;
|
|
12223
|
+
url: z.ZodString;
|
|
12224
|
+
kind: z.ZodEnum<{
|
|
12225
|
+
image: "image";
|
|
12226
|
+
video: "video";
|
|
12227
|
+
}>;
|
|
12228
|
+
role: z.ZodEnum<{
|
|
12229
|
+
motion: "motion";
|
|
12230
|
+
layout: "layout";
|
|
12231
|
+
appearance: "appearance";
|
|
12232
|
+
}>;
|
|
12233
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
12234
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12235
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12236
|
+
}, z.core.$strict>>>;
|
|
12237
|
+
}, z.core.$strict>;
|
|
12238
|
+
declare const scene3DPlanV1Schema: z.ZodObject<{
|
|
12239
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
12240
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
12241
|
+
revisionId: z.ZodUUID;
|
|
12242
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
12243
|
+
width: z.ZodNumber;
|
|
12244
|
+
height: z.ZodNumber;
|
|
12245
|
+
fps: z.ZodNumber;
|
|
12246
|
+
durationInFrames: z.ZodNumber;
|
|
12247
|
+
backgroundColor: z.ZodString;
|
|
12248
|
+
camera: z.ZodObject<{
|
|
12249
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12250
|
+
target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12251
|
+
focalLengthMm: z.ZodNumber;
|
|
12252
|
+
sensorWidthMm: z.ZodDefault<z.ZodNumber>;
|
|
12253
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12254
|
+
frame: z.ZodNumber;
|
|
12255
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12256
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12257
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
12258
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
12259
|
+
linear: "linear";
|
|
12260
|
+
easeInOut: "easeInOut";
|
|
12261
|
+
}>>;
|
|
12262
|
+
}, z.core.$strict>>>;
|
|
12263
|
+
}, z.core.$strict>;
|
|
12264
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
12265
|
+
id: z.ZodString;
|
|
12266
|
+
name: z.ZodString;
|
|
12267
|
+
primitive: z.ZodEnum<{
|
|
12268
|
+
group: "group";
|
|
12269
|
+
box: "box";
|
|
12270
|
+
sphere: "sphere";
|
|
12271
|
+
cylinder: "cylinder";
|
|
12272
|
+
cone: "cone";
|
|
12273
|
+
plane: "plane";
|
|
12274
|
+
capsule: "capsule";
|
|
12275
|
+
}>;
|
|
12276
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
12277
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12278
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12279
|
+
rotation: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12280
|
+
scale: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12281
|
+
color: z.ZodString;
|
|
12282
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12283
|
+
frame: z.ZodNumber;
|
|
12284
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12285
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12286
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
12287
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
12288
|
+
linear: "linear";
|
|
12289
|
+
easeInOut: "easeInOut";
|
|
12290
|
+
}>>;
|
|
12291
|
+
}, z.core.$strict>>>;
|
|
12292
|
+
}, z.core.$strict>>;
|
|
12293
|
+
lighting: z.ZodObject<{
|
|
12294
|
+
ambientIntensity: z.ZodNumber;
|
|
12295
|
+
keyIntensity: z.ZodNumber;
|
|
12296
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12297
|
+
}, z.core.$strict>;
|
|
12298
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12299
|
+
id: z.ZodString;
|
|
12300
|
+
url: z.ZodString;
|
|
12301
|
+
kind: z.ZodEnum<{
|
|
12302
|
+
image: "image";
|
|
12303
|
+
video: "video";
|
|
12304
|
+
}>;
|
|
12305
|
+
role: z.ZodEnum<{
|
|
12306
|
+
motion: "motion";
|
|
12307
|
+
layout: "layout";
|
|
12308
|
+
appearance: "appearance";
|
|
12309
|
+
}>;
|
|
12310
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
12311
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12312
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12313
|
+
}, z.core.$strict>>>;
|
|
12314
|
+
}, z.core.$strict>;
|
|
12315
|
+
/** @deprecated v1-only, and it always was. Kept so every existing v1 call site
|
|
12316
|
+
* keeps EXACTLY its current accept/reject set. Use `scene3DPlanV1Schema` for
|
|
12317
|
+
* v1, or `scene3DAnyPlanSchema` when either version is acceptable. */
|
|
12146
12318
|
declare const scene3DPlanSchema: z.ZodObject<{
|
|
12147
12319
|
planType: z.ZodLiteral<"3d-scene">;
|
|
12148
12320
|
schemaVersion: z.ZodLiteral<1>;
|
|
@@ -12220,18 +12392,21 @@ declare const scene3DPlanSchema: z.ZodObject<{
|
|
|
12220
12392
|
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
12221
12393
|
}, z.core.$strict>>>;
|
|
12222
12394
|
}, z.core.$strict>;
|
|
12395
|
+
/** @deprecated Renamed to `scene3DPlanV1Issues`. */
|
|
12396
|
+
declare const scene3DPlanIssues: typeof scene3DPlanV1Issues;
|
|
12223
12397
|
/** Order-insensitive deep equality over the JSON subset a plan is made of. */
|
|
12224
12398
|
declare function scene3DDeepEqual(a: unknown, b: unknown): boolean;
|
|
12225
12399
|
/** RFC-4122 v4 id, from the platform CSPRNG where there is one. Browser,
|
|
12226
12400
|
* Node 18+ and the Remotion renderer all expose `globalThis.crypto`. */
|
|
12227
12401
|
declare function newScene3DRevisionId(): string;
|
|
12228
|
-
/** Narrowing helper for callers holding `unknown` (job output, workflow JSON).
|
|
12229
|
-
|
|
12402
|
+
/** Narrowing helper for callers holding `unknown` (job output, workflow JSON).
|
|
12403
|
+
* V1 ONLY — `isScene3DPlan` (in `scene3d-v2.ts`) accepts either version. */
|
|
12404
|
+
declare function isScene3DPlanV1(value: unknown): value is Scene3DPlanV1;
|
|
12230
12405
|
/** What a finished `generate-3d-scene` / `edit-3d-scene` job carries in
|
|
12231
12406
|
* `output_data`. The canvas, the SDK and the DAG output extractor all read
|
|
12232
12407
|
* THIS shape — `scenePlan` is also the node's stored plan field. */
|
|
12233
12408
|
interface Scene3DJobOutput {
|
|
12234
|
-
scenePlan:
|
|
12409
|
+
scenePlan: Scene3DPlanV1;
|
|
12235
12410
|
/** One paragraph naming what changed. Absent on a first generation. */
|
|
12236
12411
|
changeSummary?: string;
|
|
12237
12412
|
}
|
|
@@ -12523,7 +12698,7 @@ interface Scene3DEditOptions {
|
|
|
12523
12698
|
}
|
|
12524
12699
|
type Scene3DEditResult = {
|
|
12525
12700
|
ok: true;
|
|
12526
|
-
plan:
|
|
12701
|
+
plan: Scene3DPlanV1;
|
|
12527
12702
|
changedObjectIds: string[];
|
|
12528
12703
|
changeSummary: string;
|
|
12529
12704
|
} | {
|
|
@@ -12557,69 +12732,1757 @@ declare function summarizeScene3DOperations(operations: readonly Scene3DEditOper
|
|
|
12557
12732
|
* plan validator rejects it, as does removing an object a reference points
|
|
12558
12733
|
* at.
|
|
12559
12734
|
*/
|
|
12560
|
-
declare function applyScene3DEditOperations(plan:
|
|
12561
|
-
|
|
12562
|
-
/**
|
|
12563
|
-
*
|
|
12564
|
-
*
|
|
12565
|
-
*
|
|
12566
|
-
*
|
|
12567
|
-
*
|
|
12568
|
-
*
|
|
12569
|
-
*
|
|
12570
|
-
*
|
|
12571
|
-
*
|
|
12572
|
-
*
|
|
12573
|
-
*
|
|
12574
|
-
*
|
|
12575
|
-
*
|
|
12576
|
-
*
|
|
12577
|
-
*
|
|
12578
|
-
*
|
|
12579
|
-
*
|
|
12580
|
-
*
|
|
12581
|
-
*
|
|
12582
|
-
*
|
|
12583
|
-
*
|
|
12584
|
-
*
|
|
12585
|
-
*
|
|
12586
|
-
*
|
|
12587
|
-
*
|
|
12588
|
-
*
|
|
12589
|
-
*
|
|
12590
|
-
*
|
|
12591
|
-
*
|
|
12592
|
-
*
|
|
12593
|
-
|
|
12594
|
-
|
|
12595
|
-
* `
|
|
12596
|
-
*
|
|
12597
|
-
*
|
|
12598
|
-
*
|
|
12599
|
-
*
|
|
12600
|
-
*
|
|
12601
|
-
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
*
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
*
|
|
12615
|
-
*
|
|
12616
|
-
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
*
|
|
12620
|
-
*
|
|
12621
|
-
*
|
|
12622
|
-
|
|
12623
|
-
|
|
12735
|
+
declare function applyScene3DEditOperations(plan: Scene3DPlanV1, operations: readonly Scene3DEditOperation[] | unknown, options?: Scene3DEditOptions): Scene3DEditResult;
|
|
12736
|
+
|
|
12737
|
+
/**
|
|
12738
|
+
* Scene3D v2 — the PUBLIC wire contract for exported (GLB-backed) scenes.
|
|
12739
|
+
*
|
|
12740
|
+
* One Scene3D family, two schema versions. `Scene3DPlan` is the discriminated
|
|
12741
|
+
* union `Scene3DPlanV1 | Scene3DPlanV2`, keyed on `schemaVersion`; v1 (see
|
|
12742
|
+
* `scene3d.ts`) is untouched — same fields, same bounds, same messages — and a
|
|
12743
|
+
* default v1 authoring request must never come back as v2.
|
|
12744
|
+
*
|
|
12745
|
+
* What v2 adds over v1's inline primitives:
|
|
12746
|
+
*
|
|
12747
|
+
* - **Assets.** Geometry lives in GLB files referenced by opaque id + SHA-256
|
|
12748
|
+
* digest, never by an expiring URL. The camera lives in a sidecar
|
|
12749
|
+
* (`scene3d-camera-track.ts`), one sample per frame, so a 720-frame baked
|
|
12750
|
+
* move is not squeezed through v1's 240-keyframe budget.
|
|
12751
|
+
* - **Semantic entities.** A user-selectable object or assembly — a person, a
|
|
12752
|
+
* car, a prop, an environment — not every mesh in the export. Entities carry
|
|
12753
|
+
* stable ids, anchors, identity colour and material-role bindings, so
|
|
12754
|
+
* recolouring a person cannot recolour its chair.
|
|
12755
|
+
* - **Shots.** Explicit contiguous integer ranges covering the whole timeline,
|
|
12756
|
+
* with hard cuts. Interpolation never spans a cut.
|
|
12757
|
+
* - **Overlays.** Deterministic entity/camera overrides applied over immutable
|
|
12758
|
+
* baked bytes, in a fixed order, so a rebuild cannot silently drop a manual
|
|
12759
|
+
* edit.
|
|
12760
|
+
* - **Provenance.** Which engine/compiler/exporter/renderer produced this, and
|
|
12761
|
+
* the canonical content hash of the revision.
|
|
12762
|
+
*
|
|
12763
|
+
* This file is STRUCTURE ONLY: shapes, bounds, cross-references. How a scene is
|
|
12764
|
+
* authored, how a camera move is solved and what any of it costs are not part
|
|
12765
|
+
* of the published contract and are not here.
|
|
12766
|
+
*
|
|
12767
|
+
* It owns the VOCABULARY — constants, types and per-component schemas. The
|
|
12768
|
+
* whole-plan schema and every cross-field rule live in `scene3d-v2-plan.ts`,
|
|
12769
|
+
* which builds on this; the dense camera sidecar lives in
|
|
12770
|
+
* `scene3d-camera-track.ts`. Consumers import all three from the package root.
|
|
12771
|
+
*
|
|
12772
|
+
* ## World conventions (identical to v1, and now stated on the wire)
|
|
12773
|
+
*
|
|
12774
|
+
* Meters, Y up, right-handed, zero-based frames. `units`/`upAxis`/`handedness`
|
|
12775
|
+
* are required literals so a reader can refuse a manifest that assumes anything
|
|
12776
|
+
* else instead of quietly rendering a Z-up scene on its side. Conversion from
|
|
12777
|
+
* the authoring package's basis happens exactly once, at export: a GLB that is
|
|
12778
|
+
* already Y-up must not be rotated again, and the renderer must not replace an
|
|
12779
|
+
* exported camera quaternion with a `lookAt()`.
|
|
12780
|
+
*/
|
|
12781
|
+
|
|
12782
|
+
/** The v2 discriminator value. v1's `SCENE3D_SCHEMA_VERSION` is unchanged. */
|
|
12783
|
+
declare const SCENE3D_SCHEMA_VERSION_V2 = 2;
|
|
12784
|
+
/** Every version this package can parse AND validate. An SDK consumer checks a
|
|
12785
|
+
* plan against this BEFORE trying to render one it cannot understand. */
|
|
12786
|
+
declare const SCENE3D_SUPPORTED_SCHEMA_VERSIONS: readonly [1, 2];
|
|
12787
|
+
type Scene3DSupportedSchemaVersion = (typeof SCENE3D_SUPPORTED_SCHEMA_VERSIONS)[number];
|
|
12788
|
+
/** Authoring engines a v2 manifest may name. Open-ended on the wire (the field
|
|
12789
|
+
* is a bounded slug) so a new engine does not need a package release; this
|
|
12790
|
+
* list is what the current platform ships. */
|
|
12791
|
+
declare const SCENE3D_V2_ENGINES: readonly ["blender-cloud", "blender-local"];
|
|
12792
|
+
type Scene3DKnownEngine = (typeof SCENE3D_V2_ENGINES)[number];
|
|
12793
|
+
/**
|
|
12794
|
+
* Admission bounds for v2. Server-configured ceilings are returned in
|
|
12795
|
+
* capabilities; these are the contract's hard maxima, quoted by the route Zod,
|
|
12796
|
+
* the builder, the renderer and the docs so they cannot drift apart.
|
|
12797
|
+
*
|
|
12798
|
+
* v1's `SCENE3D_LIMITS` is NOT changed by any of this — "raise maxObjects" was
|
|
12799
|
+
* never the v2 design.
|
|
12800
|
+
*/
|
|
12801
|
+
declare const SCENE3D_V2_LIMITS: {
|
|
12802
|
+
/** Both the seconds and the frame ceiling apply; neither waives the other. */
|
|
12803
|
+
readonly maxDurationSeconds: 60;
|
|
12804
|
+
readonly minDurationInFrames: 1;
|
|
12805
|
+
readonly maxDurationInFrames: 3600;
|
|
12806
|
+
readonly minFps: 15;
|
|
12807
|
+
readonly maxFps: 60;
|
|
12808
|
+
readonly defaultFps: 24;
|
|
12809
|
+
/** Even integers only — an odd axis breaks H.264 chroma subsampling. */
|
|
12810
|
+
readonly minDimensionPx: 100;
|
|
12811
|
+
readonly maxDimensionPx: 1920;
|
|
12812
|
+
readonly minEntities: 1;
|
|
12813
|
+
/** SEMANTIC entities, not exported mesh nodes. */
|
|
12814
|
+
readonly maxEntities: 100;
|
|
12815
|
+
/** Enforced during asset normalization, after decode — see
|
|
12816
|
+
* `scene3DV2NormalizationIssues` in `scene3d-v2-resources.ts`. */
|
|
12817
|
+
readonly maxMeshNodes: 2000;
|
|
12818
|
+
readonly maxTriangles: 200000;
|
|
12819
|
+
readonly maxHierarchyDepth: 16;
|
|
12820
|
+
/** Decoded manifest JSON. Measured on the bytes, before `JSON.parse`. */
|
|
12821
|
+
readonly maxManifestBytes: number;
|
|
12822
|
+
/** Decoded camera-track JSON. */
|
|
12823
|
+
readonly maxCameraTrackBytes: number;
|
|
12824
|
+
/** Total DECLARED bytes of the assets the renderer downloads. Compression
|
|
12825
|
+
* does not waive the decoded geometry limits above. */
|
|
12826
|
+
readonly maxRendererAssetBytes: number;
|
|
12827
|
+
/** A `blend-source` is a separately authorized download, never handed to the
|
|
12828
|
+
* browser renderer, and therefore not part of the renderer budget. */
|
|
12829
|
+
readonly maxBlendSourceBytes: number;
|
|
12830
|
+
readonly maxAssets: 64;
|
|
12831
|
+
readonly maxShots: 32;
|
|
12832
|
+
readonly maxShotEntityIds: 16;
|
|
12833
|
+
/** v1's reference limit, unchanged until deliberately expanded. */
|
|
12834
|
+
readonly maxReferences: 8;
|
|
12835
|
+
readonly maxAnchorsPerEntity: 32;
|
|
12836
|
+
readonly maxMaterialBindingsPerEntity: 16;
|
|
12837
|
+
readonly maxOverrides: 200;
|
|
12838
|
+
readonly minPosterDimensionPx: 16;
|
|
12839
|
+
readonly maxPosterDimensionPx: 4096;
|
|
12840
|
+
readonly maxIdLength: 64;
|
|
12841
|
+
readonly maxAssetIdLength: 128;
|
|
12842
|
+
readonly maxNodeIdLength: 128;
|
|
12843
|
+
readonly maxNameLength: 120;
|
|
12844
|
+
readonly maxLabelLength: 120;
|
|
12845
|
+
readonly maxMaterialNameLength: 120;
|
|
12846
|
+
readonly maxVersionLength: 64;
|
|
12847
|
+
readonly maxCoordinate: 1000;
|
|
12848
|
+
readonly minSize: 0.001;
|
|
12849
|
+
readonly maxSize: 1000;
|
|
12850
|
+
readonly maxIntensity: 100;
|
|
12851
|
+
};
|
|
12852
|
+
/** The overlay operation vocabulary this package understands. An override
|
|
12853
|
+
* written by a NEWER writer is rejected with an explicit message rather than
|
|
12854
|
+
* silently skipped — a dropped edit is worse than a refused manifest. */
|
|
12855
|
+
declare const SCENE3D_V2_OVERRIDE_OPERATION_VERSION = 1;
|
|
12856
|
+
/**
|
|
12857
|
+
* The GLB `extras` keys the exporter writes and the importer reads. Blender
|
|
12858
|
+
* display names and array indices are NOT durable identifiers: a re-export
|
|
12859
|
+
* renames `Cube.003` and reorders children, and a hit-test would then select a
|
|
12860
|
+
* different entity. Both ends import these constants — never the literals.
|
|
12861
|
+
*/
|
|
12862
|
+
declare const SCENE3D_GLB_EXTRAS_ENTITY_ID = "nodaroEntityId";
|
|
12863
|
+
declare const SCENE3D_GLB_EXTRAS_SUBPART_ID = "nodaroSubpartId";
|
|
12864
|
+
declare const SCENE3D_GLB_EXTRAS_MATERIAL_ROLE = "nodaroMaterialRole";
|
|
12865
|
+
/** Nothing outside this set is read from `extras`; an importer ignores the rest
|
|
12866
|
+
* rather than trusting arbitrary exporter metadata. */
|
|
12867
|
+
declare const SCENE3D_GLB_EXTRAS_ALLOWLIST: readonly ["nodaroEntityId", "nodaroSubpartId", "nodaroMaterialRole"];
|
|
12868
|
+
/** What an entity IS, for selection, grouping and validation reporting. It is
|
|
12869
|
+
* advisory: no rule anywhere requires a head on a car or a wheel on a person. */
|
|
12870
|
+
type Scene3DEntityRole = "person" | "vehicle" | "prop" | "environment" | "other";
|
|
12871
|
+
declare const SCENE3D_ENTITY_ROLES: readonly Scene3DEntityRole[];
|
|
12872
|
+
/** The v1 primitive vocabulary MINUS `group` — grouping is `visual.kind:"group"`
|
|
12873
|
+
* in v2, so there is exactly one way to say "no geometry". */
|
|
12874
|
+
type Scene3DV2Primitive = Exclude<Scene3DPrimitive, "group">;
|
|
12875
|
+
declare const SCENE3D_V2_PRIMITIVES: readonly Scene3DV2Primitive[];
|
|
12876
|
+
/** Deterministic overlays an entity accepts. Geometry and pose are deliberately
|
|
12877
|
+
* absent: those rebuild through the authoring engine, they are not overlays. */
|
|
12878
|
+
type Scene3DEntityCapability = "transform" | "color" | "visibility";
|
|
12879
|
+
declare const SCENE3D_ENTITY_CAPABILITIES: readonly Scene3DEntityCapability[];
|
|
12880
|
+
/** What an entity accepts when it does not say. */
|
|
12881
|
+
declare const SCENE3D_DEFAULT_ENTITY_CAPABILITIES: readonly Scene3DEntityCapability[];
|
|
12882
|
+
type Scene3DAssetKind = "glb" | "camera-track-json" | "poster" | "validation-report" | "blend-source";
|
|
12883
|
+
declare const SCENE3D_ASSET_KINDS: readonly Scene3DAssetKind[];
|
|
12884
|
+
type Scene3DAssetRole = "scene-geometry" | "entity-geometry" | "camera-track" | "poster" | "validation-report" | "source";
|
|
12885
|
+
declare const SCENE3D_ASSET_ROLES: readonly Scene3DAssetRole[];
|
|
12886
|
+
/** Which kinds may carry which role. A role is not decoration — it is what lets
|
|
12887
|
+
* a resolver decide whether bytes go to the renderer, the UI or an authorized
|
|
12888
|
+
* download, without sniffing the file. */
|
|
12889
|
+
declare const SCENE3D_ASSET_ROLE_KINDS: Readonly<Record<Scene3DAssetRole, Scene3DAssetKind>>;
|
|
12890
|
+
/** The kinds the BROWSER downloads. `blend-source` is never in this set: it is
|
|
12891
|
+
* a separately authorized download and it does not spend the renderer budget. */
|
|
12892
|
+
declare const SCENE3D_RENDERER_ASSET_KINDS: readonly Scene3DAssetKind[];
|
|
12893
|
+
/** The one material role a `primitive` entity has: its own `color`. */
|
|
12894
|
+
declare const SCENE3D_PRIMITIVE_MATERIAL_ROLE = "identity";
|
|
12895
|
+
/** The standardized clay look, pinned by id. Browser preview, critic stills and
|
|
12896
|
+
* the final export must implement a given preset identically. */
|
|
12897
|
+
declare const SCENE3D_CLAY_LIGHTING_PRESETS: readonly ["clay-studio-v1"];
|
|
12898
|
+
type Scene3DClayLightingPreset = (typeof SCENE3D_CLAY_LIGHTING_PRESETS)[number];
|
|
12899
|
+
/** A stable contact/selection location in entity-local space. Names are free
|
|
12900
|
+
* structural labels (`face`, `seat`, `wheel.frontLeft`, `roof`, `lookAt`) —
|
|
12901
|
+
* human anatomy is never required. */
|
|
12902
|
+
interface Scene3DAnchor {
|
|
12903
|
+
name: string;
|
|
12904
|
+
position: Vec3;
|
|
12905
|
+
/** Euler XYZ radians. Absent = identity orientation. */
|
|
12906
|
+
rotation?: Vec3;
|
|
12907
|
+
}
|
|
12908
|
+
/** Binds an editable colour ROLE to a real material inside the entity's own
|
|
12909
|
+
* asset root. Recolouring `bodyPaint` on a car must not touch its tires, and
|
|
12910
|
+
* cannot reach a material that belongs to a different entity. */
|
|
12911
|
+
interface Scene3DMaterialBinding {
|
|
12912
|
+
role: string;
|
|
12913
|
+
materialName: string;
|
|
12914
|
+
/** Baked colour for the role, sRGB opaque hex. */
|
|
12915
|
+
color?: string;
|
|
12916
|
+
roughness?: number;
|
|
12917
|
+
}
|
|
12918
|
+
/** Maps a clip inside the referenced GLB onto public frames. Sampling is
|
|
12919
|
+
* `time = (frame - startFrame) / fps` — never a wall-clock mixer delta, or
|
|
12920
|
+
* scrubbing backwards would not reproduce the rendered frame. */
|
|
12921
|
+
interface Scene3DAssetAnimation {
|
|
12922
|
+
clipName: string;
|
|
12923
|
+
startFrame: number;
|
|
12924
|
+
endFrameExclusive: number;
|
|
12925
|
+
/** Absent/false = hold the last sample after the window. */
|
|
12926
|
+
loop?: boolean;
|
|
12927
|
+
}
|
|
12928
|
+
type Scene3DEntityVisual =
|
|
12929
|
+
/** Organizational identity: a transform and a name, no geometry of its own. */
|
|
12930
|
+
{
|
|
12931
|
+
kind: "group";
|
|
12932
|
+
}
|
|
12933
|
+
/** The v1 primitive vocabulary and validated dimensions. */
|
|
12934
|
+
| {
|
|
12935
|
+
kind: "primitive";
|
|
12936
|
+
primitive: Scene3DV2Primitive;
|
|
12937
|
+
dimensions: Vec3;
|
|
12938
|
+
color: string;
|
|
12939
|
+
}
|
|
12940
|
+
/** An authorized GLB plus the exported node that roots this entity. */
|
|
12941
|
+
| {
|
|
12942
|
+
kind: "asset";
|
|
12943
|
+
assetId: string;
|
|
12944
|
+
rootNodeId: string;
|
|
12945
|
+
animation?: Scene3DAssetAnimation;
|
|
12946
|
+
};
|
|
12947
|
+
interface Scene3DEntityV2 {
|
|
12948
|
+
id: string;
|
|
12949
|
+
name: string;
|
|
12950
|
+
/** Transform parent, another entity. Cycles are rejected. */
|
|
12951
|
+
parentId?: string;
|
|
12952
|
+
role?: Scene3DEntityRole;
|
|
12953
|
+
/**
|
|
12954
|
+
* Local base transform. REQUIRED for `group` and `primitive`.
|
|
12955
|
+
*
|
|
12956
|
+
* OPTIONAL for `asset`, where the GLB node's own transform is authoritative:
|
|
12957
|
+
* a value here is an informational frame-0 snapshot and the renderer must NOT
|
|
12958
|
+
* apply it on top of the node transform. Applying both is the
|
|
12959
|
+
* double-transform bug that puts a car at twice its offset.
|
|
12960
|
+
*/
|
|
12961
|
+
position?: Vec3;
|
|
12962
|
+
rotation?: Vec3;
|
|
12963
|
+
scale?: Vec3;
|
|
12964
|
+
/** The selection/identity chip colour. Opaque hex, sRGB. */
|
|
12965
|
+
identityColor?: string;
|
|
12966
|
+
anchors?: Scene3DAnchor[];
|
|
12967
|
+
/** Deterministic overlays this entity accepts. Absent = all of them. */
|
|
12968
|
+
capabilities?: Scene3DEntityCapability[];
|
|
12969
|
+
/** Currently frozen subset. An overlay is accepted iff its capability is
|
|
12970
|
+
* advertised AND not locked. */
|
|
12971
|
+
locks?: Scene3DEntityCapability[];
|
|
12972
|
+
/** `asset` entities only. */
|
|
12973
|
+
materialBindings?: Scene3DMaterialBinding[];
|
|
12974
|
+
visual: Scene3DEntityVisual;
|
|
12975
|
+
}
|
|
12976
|
+
/** A reference to immutable bytes. IDs and digests are persisted; short-lived
|
|
12977
|
+
* transport URLs are issued by the authenticated resolver and never stored. */
|
|
12978
|
+
interface Scene3DAssetRef {
|
|
12979
|
+
assetId: string;
|
|
12980
|
+
kind: Scene3DAssetKind;
|
|
12981
|
+
role: Scene3DAssetRole;
|
|
12982
|
+
byteLength: number;
|
|
12983
|
+
/** Lowercase hex SHA-256 of the bytes. */
|
|
12984
|
+
sha256: string;
|
|
12985
|
+
/** Set when this revision reuses an earlier revision's immutable bytes. */
|
|
12986
|
+
originRevisionId?: string;
|
|
12987
|
+
}
|
|
12988
|
+
/** A contiguous half-open frame range `[startFrame, endFrameExclusive)`. */
|
|
12989
|
+
interface Scene3DShot {
|
|
12990
|
+
id: string;
|
|
12991
|
+
startFrame: number;
|
|
12992
|
+
endFrameExclusive: number;
|
|
12993
|
+
label?: string;
|
|
12994
|
+
/** Who the shot is ABOUT — used by validation reporting and the UI. */
|
|
12995
|
+
subjectEntityIds?: string[];
|
|
12996
|
+
/** Who is deliberately in front of the lens (an over-the-shoulder anchor). */
|
|
12997
|
+
foregroundEntityIds?: string[];
|
|
12998
|
+
}
|
|
12999
|
+
interface Scene3DClayLighting {
|
|
13000
|
+
preset: Scene3DClayLightingPreset;
|
|
13001
|
+
ambientIntensity: number;
|
|
13002
|
+
keyIntensity: number;
|
|
13003
|
+
keyPosition: Vec3;
|
|
13004
|
+
}
|
|
13005
|
+
/** Which space a constant transform override is expressed in. Declared, so the
|
|
13006
|
+
* renderer never multiplies the same parent transform in twice. */
|
|
13007
|
+
type Scene3DOverrideSpace = "local" | "world";
|
|
13008
|
+
interface Scene3DOverrideProvenance {
|
|
13009
|
+
id: string;
|
|
13010
|
+
/** The revision this override was authored against. */
|
|
13011
|
+
sourceRevisionId: string;
|
|
13012
|
+
/** That revision's canonical content hash when the override was authored. */
|
|
13013
|
+
sourceContentHash: string;
|
|
13014
|
+
operationVersion: number;
|
|
13015
|
+
}
|
|
13016
|
+
type Scene3DOverride = Scene3DOverrideProvenance & ({
|
|
13017
|
+
kind: "entity-transform";
|
|
13018
|
+
entityId: string;
|
|
13019
|
+
space: Scene3DOverrideSpace;
|
|
13020
|
+
position?: Vec3;
|
|
13021
|
+
rotation?: Vec3;
|
|
13022
|
+
scale?: Vec3;
|
|
13023
|
+
} | {
|
|
13024
|
+
kind: "entity-color";
|
|
13025
|
+
entityId: string;
|
|
13026
|
+
materialRole: string;
|
|
13027
|
+
color: string;
|
|
13028
|
+
} | {
|
|
13029
|
+
kind: "entity-visibility";
|
|
13030
|
+
entityId: string;
|
|
13031
|
+
visible: boolean;
|
|
13032
|
+
} | {
|
|
13033
|
+
kind: "camera-shot-offset";
|
|
13034
|
+
shotId: string;
|
|
13035
|
+
positionOffset?: Vec3;
|
|
13036
|
+
targetOffset?: Vec3;
|
|
13037
|
+
});
|
|
13038
|
+
/**
|
|
13039
|
+
* Who built this revision and from what. Source versioning and renderer
|
|
13040
|
+
* versioning are independent — a renderer upgrade does not invalidate a scene.
|
|
13041
|
+
*
|
|
13042
|
+
* Every string here is a bounded slug, which is a structural guarantee that no
|
|
13043
|
+
* native path or block of prose fits in one. Scrubbing credentials
|
|
13044
|
+
* out of the values it does accept remains the producer's duty.
|
|
13045
|
+
*/
|
|
13046
|
+
interface Scene3DProvenance {
|
|
13047
|
+
engine: string;
|
|
13048
|
+
engineVersion: string;
|
|
13049
|
+
recipeVersion: string;
|
|
13050
|
+
compilerVersion: string;
|
|
13051
|
+
exporterVersion: string;
|
|
13052
|
+
rendererVersion: string;
|
|
13053
|
+
sourceRevisionId?: string;
|
|
13054
|
+
/** The retained `blend-source` asset, when one was kept. */
|
|
13055
|
+
sourceArtifactId?: string;
|
|
13056
|
+
/** Canonical content hash of this revision — see `scene3d-v2-resources.ts`. */
|
|
13057
|
+
contentHash: string;
|
|
13058
|
+
}
|
|
13059
|
+
interface Scene3DPlanV2 {
|
|
13060
|
+
planType: typeof SCENE3D_PLAN_TYPE;
|
|
13061
|
+
schemaVersion: typeof SCENE3D_SCHEMA_VERSION_V2;
|
|
13062
|
+
revisionId: string;
|
|
13063
|
+
parentRevisionId?: string;
|
|
13064
|
+
width: number;
|
|
13065
|
+
height: number;
|
|
13066
|
+
fps: number;
|
|
13067
|
+
durationInFrames: number;
|
|
13068
|
+
units: "meters";
|
|
13069
|
+
upAxis: "Y";
|
|
13070
|
+
handedness: "right";
|
|
13071
|
+
objects: Scene3DEntityV2[];
|
|
13072
|
+
assets: Scene3DAssetRef[];
|
|
13073
|
+
cameraTrackAssetId: string;
|
|
13074
|
+
shots: Scene3DShot[];
|
|
13075
|
+
lighting: Scene3DClayLighting;
|
|
13076
|
+
backgroundColor: string;
|
|
13077
|
+
references?: Scene3DReference[];
|
|
13078
|
+
overrides?: Scene3DOverride[];
|
|
13079
|
+
provenance: Scene3DProvenance;
|
|
13080
|
+
}
|
|
13081
|
+
/** Opaque storage id. Deliberately slash-free: an asset id is an ID, resolved
|
|
13082
|
+
* server-side against ownership — never a path and never a URL. */
|
|
13083
|
+
declare const scene3DAssetIdSchema: z.ZodString;
|
|
13084
|
+
/** A node name inside an exported GLB. */
|
|
13085
|
+
declare const scene3DNodeIdSchema: z.ZodString;
|
|
13086
|
+
declare const scene3DSha256Schema: z.ZodString;
|
|
13087
|
+
/**
|
|
13088
|
+
* A version/engine token. The charset excludes `/`, `\`, `:` and whitespace, so
|
|
13089
|
+
* a native filesystem path cannot be spelled as one; the 64-character cap
|
|
13090
|
+
* excludes prose.
|
|
13091
|
+
*/
|
|
13092
|
+
declare const scene3DVersionTokenSchema: z.ZodString;
|
|
13093
|
+
declare const scene3DEngineIdSchema: z.ZodString;
|
|
13094
|
+
/** Anchor names and material roles share the id charset (dots allowed, so
|
|
13095
|
+
* `wheel.frontLeft` is one name and not a path). */
|
|
13096
|
+
declare const scene3DAnchorNameSchema: z.ZodString;
|
|
13097
|
+
declare const scene3DMaterialRoleSchema: z.ZodString;
|
|
13098
|
+
declare const scene3DMaterialNameSchema: z.ZodString;
|
|
13099
|
+
declare const scene3DEntityCapabilitySchema: z.ZodEnum<{
|
|
13100
|
+
transform: "transform";
|
|
13101
|
+
color: "color";
|
|
13102
|
+
visibility: "visibility";
|
|
13103
|
+
}>;
|
|
13104
|
+
declare const scene3DAnchorSchema: z.ZodObject<{
|
|
13105
|
+
name: z.ZodString;
|
|
13106
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13107
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13108
|
+
}, z.core.$strict>;
|
|
13109
|
+
declare const scene3DMaterialBindingSchema: z.ZodObject<{
|
|
13110
|
+
role: z.ZodString;
|
|
13111
|
+
materialName: z.ZodString;
|
|
13112
|
+
color: z.ZodOptional<z.ZodString>;
|
|
13113
|
+
roughness: z.ZodOptional<z.ZodNumber>;
|
|
13114
|
+
}, z.core.$strict>;
|
|
13115
|
+
declare const scene3DAssetAnimationSchema: z.ZodObject<{
|
|
13116
|
+
clipName: z.ZodString;
|
|
13117
|
+
startFrame: z.ZodNumber;
|
|
13118
|
+
endFrameExclusive: z.ZodNumber;
|
|
13119
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13120
|
+
}, z.core.$strict>;
|
|
13121
|
+
declare const scene3DEntityVisualSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13122
|
+
kind: z.ZodLiteral<"group">;
|
|
13123
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13124
|
+
kind: z.ZodLiteral<"primitive">;
|
|
13125
|
+
primitive: z.ZodEnum<{
|
|
13126
|
+
box: "box";
|
|
13127
|
+
sphere: "sphere";
|
|
13128
|
+
cylinder: "cylinder";
|
|
13129
|
+
cone: "cone";
|
|
13130
|
+
plane: "plane";
|
|
13131
|
+
capsule: "capsule";
|
|
13132
|
+
}>;
|
|
13133
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13134
|
+
color: z.ZodString;
|
|
13135
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13136
|
+
kind: z.ZodLiteral<"asset">;
|
|
13137
|
+
assetId: z.ZodString;
|
|
13138
|
+
rootNodeId: z.ZodString;
|
|
13139
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
13140
|
+
clipName: z.ZodString;
|
|
13141
|
+
startFrame: z.ZodNumber;
|
|
13142
|
+
endFrameExclusive: z.ZodNumber;
|
|
13143
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13144
|
+
}, z.core.$strict>>;
|
|
13145
|
+
}, z.core.$strict>], "kind">;
|
|
13146
|
+
declare const scene3DEntityV2Schema: z.ZodObject<{
|
|
13147
|
+
id: z.ZodString;
|
|
13148
|
+
name: z.ZodString;
|
|
13149
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
13150
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
13151
|
+
other: "other";
|
|
13152
|
+
person: "person";
|
|
13153
|
+
vehicle: "vehicle";
|
|
13154
|
+
prop: "prop";
|
|
13155
|
+
environment: "environment";
|
|
13156
|
+
}>>;
|
|
13157
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13158
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13159
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13160
|
+
identityColor: z.ZodOptional<z.ZodString>;
|
|
13161
|
+
anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13162
|
+
name: z.ZodString;
|
|
13163
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13164
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13165
|
+
}, z.core.$strict>>>;
|
|
13166
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13167
|
+
transform: "transform";
|
|
13168
|
+
color: "color";
|
|
13169
|
+
visibility: "visibility";
|
|
13170
|
+
}>>>;
|
|
13171
|
+
locks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13172
|
+
transform: "transform";
|
|
13173
|
+
color: "color";
|
|
13174
|
+
visibility: "visibility";
|
|
13175
|
+
}>>>;
|
|
13176
|
+
materialBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13177
|
+
role: z.ZodString;
|
|
13178
|
+
materialName: z.ZodString;
|
|
13179
|
+
color: z.ZodOptional<z.ZodString>;
|
|
13180
|
+
roughness: z.ZodOptional<z.ZodNumber>;
|
|
13181
|
+
}, z.core.$strict>>>;
|
|
13182
|
+
visual: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13183
|
+
kind: z.ZodLiteral<"group">;
|
|
13184
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13185
|
+
kind: z.ZodLiteral<"primitive">;
|
|
13186
|
+
primitive: z.ZodEnum<{
|
|
13187
|
+
box: "box";
|
|
13188
|
+
sphere: "sphere";
|
|
13189
|
+
cylinder: "cylinder";
|
|
13190
|
+
cone: "cone";
|
|
13191
|
+
plane: "plane";
|
|
13192
|
+
capsule: "capsule";
|
|
13193
|
+
}>;
|
|
13194
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13195
|
+
color: z.ZodString;
|
|
13196
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13197
|
+
kind: z.ZodLiteral<"asset">;
|
|
13198
|
+
assetId: z.ZodString;
|
|
13199
|
+
rootNodeId: z.ZodString;
|
|
13200
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
13201
|
+
clipName: z.ZodString;
|
|
13202
|
+
startFrame: z.ZodNumber;
|
|
13203
|
+
endFrameExclusive: z.ZodNumber;
|
|
13204
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13205
|
+
}, z.core.$strict>>;
|
|
13206
|
+
}, z.core.$strict>], "kind">;
|
|
13207
|
+
}, z.core.$strict>;
|
|
13208
|
+
declare const scene3DAssetRefSchema: z.ZodObject<{
|
|
13209
|
+
assetId: z.ZodString;
|
|
13210
|
+
kind: z.ZodEnum<{
|
|
13211
|
+
glb: "glb";
|
|
13212
|
+
"camera-track-json": "camera-track-json";
|
|
13213
|
+
poster: "poster";
|
|
13214
|
+
"validation-report": "validation-report";
|
|
13215
|
+
"blend-source": "blend-source";
|
|
13216
|
+
}>;
|
|
13217
|
+
role: z.ZodEnum<{
|
|
13218
|
+
source: "source";
|
|
13219
|
+
poster: "poster";
|
|
13220
|
+
"validation-report": "validation-report";
|
|
13221
|
+
"scene-geometry": "scene-geometry";
|
|
13222
|
+
"entity-geometry": "entity-geometry";
|
|
13223
|
+
"camera-track": "camera-track";
|
|
13224
|
+
}>;
|
|
13225
|
+
byteLength: z.ZodNumber;
|
|
13226
|
+
sha256: z.ZodString;
|
|
13227
|
+
originRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13228
|
+
}, z.core.$strict>;
|
|
13229
|
+
declare const scene3DShotSchema: z.ZodObject<{
|
|
13230
|
+
id: z.ZodString;
|
|
13231
|
+
startFrame: z.ZodNumber;
|
|
13232
|
+
endFrameExclusive: z.ZodNumber;
|
|
13233
|
+
label: z.ZodOptional<z.ZodString>;
|
|
13234
|
+
subjectEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13235
|
+
foregroundEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13236
|
+
}, z.core.$strict>;
|
|
13237
|
+
declare const scene3DClayLightingSchema: z.ZodObject<{
|
|
13238
|
+
preset: z.ZodEnum<{
|
|
13239
|
+
"clay-studio-v1": "clay-studio-v1";
|
|
13240
|
+
}>;
|
|
13241
|
+
ambientIntensity: z.ZodNumber;
|
|
13242
|
+
keyIntensity: z.ZodNumber;
|
|
13243
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13244
|
+
}, z.core.$strict>;
|
|
13245
|
+
declare const scene3DOverrideSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13246
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
13247
|
+
entityId: z.ZodString;
|
|
13248
|
+
space: z.ZodEnum<{
|
|
13249
|
+
local: "local";
|
|
13250
|
+
world: "world";
|
|
13251
|
+
}>;
|
|
13252
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13253
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13254
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13255
|
+
id: z.ZodString;
|
|
13256
|
+
sourceRevisionId: z.ZodUUID;
|
|
13257
|
+
sourceContentHash: z.ZodString;
|
|
13258
|
+
operationVersion: z.ZodNumber;
|
|
13259
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13260
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
13261
|
+
entityId: z.ZodString;
|
|
13262
|
+
materialRole: z.ZodString;
|
|
13263
|
+
color: z.ZodString;
|
|
13264
|
+
id: z.ZodString;
|
|
13265
|
+
sourceRevisionId: z.ZodUUID;
|
|
13266
|
+
sourceContentHash: z.ZodString;
|
|
13267
|
+
operationVersion: z.ZodNumber;
|
|
13268
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13269
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
13270
|
+
entityId: z.ZodString;
|
|
13271
|
+
visible: z.ZodBoolean;
|
|
13272
|
+
id: z.ZodString;
|
|
13273
|
+
sourceRevisionId: z.ZodUUID;
|
|
13274
|
+
sourceContentHash: z.ZodString;
|
|
13275
|
+
operationVersion: z.ZodNumber;
|
|
13276
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13277
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
13278
|
+
shotId: z.ZodString;
|
|
13279
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13280
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13281
|
+
id: z.ZodString;
|
|
13282
|
+
sourceRevisionId: z.ZodUUID;
|
|
13283
|
+
sourceContentHash: z.ZodString;
|
|
13284
|
+
operationVersion: z.ZodNumber;
|
|
13285
|
+
}, z.core.$strict>], "kind">;
|
|
13286
|
+
declare const scene3DProvenanceSchema: z.ZodObject<{
|
|
13287
|
+
engine: z.ZodString;
|
|
13288
|
+
engineVersion: z.ZodString;
|
|
13289
|
+
recipeVersion: z.ZodString;
|
|
13290
|
+
compilerVersion: z.ZodString;
|
|
13291
|
+
exporterVersion: z.ZodString;
|
|
13292
|
+
rendererVersion: z.ZodString;
|
|
13293
|
+
sourceRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13294
|
+
sourceArtifactId: z.ZodOptional<z.ZodString>;
|
|
13295
|
+
contentHash: z.ZodString;
|
|
13296
|
+
}, z.core.$strict>;
|
|
13297
|
+
type Issue$3 = Scene3DSemanticIssue;
|
|
13298
|
+
/** Decoded byte length of a JSON payload, browser and Node alike. Size is
|
|
13299
|
+
* checked on the BYTES, before `JSON.parse` allocates anything. */
|
|
13300
|
+
declare function scene3DJsonByteLength(text: string): number;
|
|
13301
|
+
/** What every `parse…Json` admission helper returns: the value, or the issues
|
|
13302
|
+
* that stopped it — never a throw, so a route can map issues to a 400. */
|
|
13303
|
+
type Scene3DParseResult<T> = {
|
|
13304
|
+
ok: true;
|
|
13305
|
+
value: T;
|
|
13306
|
+
} | {
|
|
13307
|
+
ok: false;
|
|
13308
|
+
issues: Issue$3[];
|
|
13309
|
+
};
|
|
13310
|
+
/** Flattens a zod failure into the same issue shape the semantic validators use. */
|
|
13311
|
+
declare function scene3DZodIssues(error: z.ZodError): Issue$3[];
|
|
13312
|
+
|
|
13313
|
+
/**
|
|
13314
|
+
* The Scene3D v2 PLAN: whole-manifest schema, every cross-field rule, and the
|
|
13315
|
+
* V1|V2 union the rest of the platform reads.
|
|
13316
|
+
*
|
|
13317
|
+
* `scene3d-v2.ts` says what a v2 entity, asset, shot or override looks like on
|
|
13318
|
+
* its own. Nothing there can catch the failures that actually reach a renderer,
|
|
13319
|
+
* because every one of them is a relationship:
|
|
13320
|
+
*
|
|
13321
|
+
* - an entity whose GLB is not in `assets`, or two entities claiming the same
|
|
13322
|
+
* exported root node;
|
|
13323
|
+
* - a parent chain that loops, or nests deeper than the transform walk allows;
|
|
13324
|
+
* - shots with a one-frame gap, so some frame belongs to no shot at all;
|
|
13325
|
+
* - a colour override naming a material role its entity never declared — the
|
|
13326
|
+
* bug where recolouring a person also repaints its chair;
|
|
13327
|
+
* - two overrides driving one channel, or one driving a locked entity;
|
|
13328
|
+
* - declared asset bytes over the download budget.
|
|
13329
|
+
*
|
|
13330
|
+
* All of it runs in `scene3DPlanV2Issues`, which the schema calls from a
|
|
13331
|
+
* `superRefine` and a caller holding an already-parsed plan can call directly —
|
|
13332
|
+
* the same split v1 uses, so both versions report failures identically.
|
|
13333
|
+
*/
|
|
13334
|
+
|
|
13335
|
+
/** THE plan type. Narrow with `isScene3DPlanV1` / `isScene3DPlanV2` before
|
|
13336
|
+
* reading version-specific fields. */
|
|
13337
|
+
type Scene3DPlan = Scene3DPlanV1 | Scene3DPlanV2;
|
|
13338
|
+
interface Scene3DJobOutputV2 {
|
|
13339
|
+
scenePlan: Scene3DPlanV2;
|
|
13340
|
+
changeSummary?: string;
|
|
13341
|
+
}
|
|
13342
|
+
/** Job output when either version may come back. */
|
|
13343
|
+
interface Scene3DJobOutputAny {
|
|
13344
|
+
scenePlan: Scene3DPlan;
|
|
13345
|
+
changeSummary?: string;
|
|
13346
|
+
}
|
|
13347
|
+
type Issue$2 = Scene3DSemanticIssue;
|
|
13348
|
+
/** An overlay is accepted iff the entity advertises the capability AND has not
|
|
13349
|
+
* frozen it. One rule, checked in exactly one place. */
|
|
13350
|
+
declare function scene3DEntityAcceptsOverlay(entity: Scene3DEntityV2, capability: Scene3DEntityCapability): boolean;
|
|
13351
|
+
/**
|
|
13352
|
+
* Every v2 rule that needs more than one field: timing, identity, hierarchy,
|
|
13353
|
+
* asset resolution and budgets, shot coverage, overlay ownership and locks.
|
|
13354
|
+
*
|
|
13355
|
+
* Split out of the schema's `superRefine` (exactly as v1 does) so a caller
|
|
13356
|
+
* holding an already-parsed plan can re-check it without re-parsing.
|
|
13357
|
+
*/
|
|
13358
|
+
declare function scene3DPlanV2Issues(plan: Scene3DPlanV2): Issue$2[];
|
|
13359
|
+
/**
|
|
13360
|
+
* The v2 object shape WITHOUT the cross-field pass. Exported so
|
|
13361
|
+
* `scene3DAnyPlanSchema` can discriminate on `schemaVersion`; parse with
|
|
13362
|
+
* `scene3DPlanV2Schema`.
|
|
13363
|
+
*
|
|
13364
|
+
* Deliberately free of `.default()`: `parse(x)` must deep-equal `x`, or a
|
|
13365
|
+
* producer hashing raw JSON and a consumer hashing parsed output would compute
|
|
13366
|
+
* different content hashes for the same revision.
|
|
13367
|
+
*/
|
|
13368
|
+
declare const scene3DPlanV2ObjectSchema: z.ZodObject<{
|
|
13369
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
13370
|
+
schemaVersion: z.ZodLiteral<2>;
|
|
13371
|
+
revisionId: z.ZodUUID;
|
|
13372
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13373
|
+
width: z.ZodNumber;
|
|
13374
|
+
height: z.ZodNumber;
|
|
13375
|
+
fps: z.ZodNumber;
|
|
13376
|
+
durationInFrames: z.ZodNumber;
|
|
13377
|
+
units: z.ZodLiteral<"meters">;
|
|
13378
|
+
upAxis: z.ZodLiteral<"Y">;
|
|
13379
|
+
handedness: z.ZodLiteral<"right">;
|
|
13380
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
13381
|
+
id: z.ZodString;
|
|
13382
|
+
name: z.ZodString;
|
|
13383
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
13384
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
13385
|
+
other: "other";
|
|
13386
|
+
person: "person";
|
|
13387
|
+
vehicle: "vehicle";
|
|
13388
|
+
prop: "prop";
|
|
13389
|
+
environment: "environment";
|
|
13390
|
+
}>>;
|
|
13391
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13392
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13393
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13394
|
+
identityColor: z.ZodOptional<z.ZodString>;
|
|
13395
|
+
anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13396
|
+
name: z.ZodString;
|
|
13397
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13398
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13399
|
+
}, z.core.$strict>>>;
|
|
13400
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13401
|
+
transform: "transform";
|
|
13402
|
+
color: "color";
|
|
13403
|
+
visibility: "visibility";
|
|
13404
|
+
}>>>;
|
|
13405
|
+
locks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13406
|
+
transform: "transform";
|
|
13407
|
+
color: "color";
|
|
13408
|
+
visibility: "visibility";
|
|
13409
|
+
}>>>;
|
|
13410
|
+
materialBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13411
|
+
role: z.ZodString;
|
|
13412
|
+
materialName: z.ZodString;
|
|
13413
|
+
color: z.ZodOptional<z.ZodString>;
|
|
13414
|
+
roughness: z.ZodOptional<z.ZodNumber>;
|
|
13415
|
+
}, z.core.$strict>>>;
|
|
13416
|
+
visual: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13417
|
+
kind: z.ZodLiteral<"group">;
|
|
13418
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13419
|
+
kind: z.ZodLiteral<"primitive">;
|
|
13420
|
+
primitive: z.ZodEnum<{
|
|
13421
|
+
box: "box";
|
|
13422
|
+
sphere: "sphere";
|
|
13423
|
+
cylinder: "cylinder";
|
|
13424
|
+
cone: "cone";
|
|
13425
|
+
plane: "plane";
|
|
13426
|
+
capsule: "capsule";
|
|
13427
|
+
}>;
|
|
13428
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13429
|
+
color: z.ZodString;
|
|
13430
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13431
|
+
kind: z.ZodLiteral<"asset">;
|
|
13432
|
+
assetId: z.ZodString;
|
|
13433
|
+
rootNodeId: z.ZodString;
|
|
13434
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
13435
|
+
clipName: z.ZodString;
|
|
13436
|
+
startFrame: z.ZodNumber;
|
|
13437
|
+
endFrameExclusive: z.ZodNumber;
|
|
13438
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13439
|
+
}, z.core.$strict>>;
|
|
13440
|
+
}, z.core.$strict>], "kind">;
|
|
13441
|
+
}, z.core.$strict>>;
|
|
13442
|
+
assets: z.ZodArray<z.ZodObject<{
|
|
13443
|
+
assetId: z.ZodString;
|
|
13444
|
+
kind: z.ZodEnum<{
|
|
13445
|
+
glb: "glb";
|
|
13446
|
+
"camera-track-json": "camera-track-json";
|
|
13447
|
+
poster: "poster";
|
|
13448
|
+
"validation-report": "validation-report";
|
|
13449
|
+
"blend-source": "blend-source";
|
|
13450
|
+
}>;
|
|
13451
|
+
role: z.ZodEnum<{
|
|
13452
|
+
source: "source";
|
|
13453
|
+
poster: "poster";
|
|
13454
|
+
"validation-report": "validation-report";
|
|
13455
|
+
"scene-geometry": "scene-geometry";
|
|
13456
|
+
"entity-geometry": "entity-geometry";
|
|
13457
|
+
"camera-track": "camera-track";
|
|
13458
|
+
}>;
|
|
13459
|
+
byteLength: z.ZodNumber;
|
|
13460
|
+
sha256: z.ZodString;
|
|
13461
|
+
originRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13462
|
+
}, z.core.$strict>>;
|
|
13463
|
+
cameraTrackAssetId: z.ZodString;
|
|
13464
|
+
shots: z.ZodArray<z.ZodObject<{
|
|
13465
|
+
id: z.ZodString;
|
|
13466
|
+
startFrame: z.ZodNumber;
|
|
13467
|
+
endFrameExclusive: z.ZodNumber;
|
|
13468
|
+
label: z.ZodOptional<z.ZodString>;
|
|
13469
|
+
subjectEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13470
|
+
foregroundEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13471
|
+
}, z.core.$strict>>;
|
|
13472
|
+
lighting: z.ZodObject<{
|
|
13473
|
+
preset: z.ZodEnum<{
|
|
13474
|
+
"clay-studio-v1": "clay-studio-v1";
|
|
13475
|
+
}>;
|
|
13476
|
+
ambientIntensity: z.ZodNumber;
|
|
13477
|
+
keyIntensity: z.ZodNumber;
|
|
13478
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13479
|
+
}, z.core.$strict>;
|
|
13480
|
+
backgroundColor: z.ZodString;
|
|
13481
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13482
|
+
id: z.ZodString;
|
|
13483
|
+
url: z.ZodString;
|
|
13484
|
+
kind: z.ZodEnum<{
|
|
13485
|
+
image: "image";
|
|
13486
|
+
video: "video";
|
|
13487
|
+
}>;
|
|
13488
|
+
role: z.ZodEnum<{
|
|
13489
|
+
motion: "motion";
|
|
13490
|
+
layout: "layout";
|
|
13491
|
+
appearance: "appearance";
|
|
13492
|
+
}>;
|
|
13493
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
13494
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13495
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13496
|
+
}, z.core.$strict>>>;
|
|
13497
|
+
overrides: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13498
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
13499
|
+
entityId: z.ZodString;
|
|
13500
|
+
space: z.ZodEnum<{
|
|
13501
|
+
local: "local";
|
|
13502
|
+
world: "world";
|
|
13503
|
+
}>;
|
|
13504
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13505
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13506
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13507
|
+
id: z.ZodString;
|
|
13508
|
+
sourceRevisionId: z.ZodUUID;
|
|
13509
|
+
sourceContentHash: z.ZodString;
|
|
13510
|
+
operationVersion: z.ZodNumber;
|
|
13511
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13512
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
13513
|
+
entityId: z.ZodString;
|
|
13514
|
+
materialRole: z.ZodString;
|
|
13515
|
+
color: z.ZodString;
|
|
13516
|
+
id: z.ZodString;
|
|
13517
|
+
sourceRevisionId: z.ZodUUID;
|
|
13518
|
+
sourceContentHash: z.ZodString;
|
|
13519
|
+
operationVersion: z.ZodNumber;
|
|
13520
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13521
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
13522
|
+
entityId: z.ZodString;
|
|
13523
|
+
visible: z.ZodBoolean;
|
|
13524
|
+
id: z.ZodString;
|
|
13525
|
+
sourceRevisionId: z.ZodUUID;
|
|
13526
|
+
sourceContentHash: z.ZodString;
|
|
13527
|
+
operationVersion: z.ZodNumber;
|
|
13528
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13529
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
13530
|
+
shotId: z.ZodString;
|
|
13531
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13532
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13533
|
+
id: z.ZodString;
|
|
13534
|
+
sourceRevisionId: z.ZodUUID;
|
|
13535
|
+
sourceContentHash: z.ZodString;
|
|
13536
|
+
operationVersion: z.ZodNumber;
|
|
13537
|
+
}, z.core.$strict>], "kind">>>;
|
|
13538
|
+
provenance: z.ZodObject<{
|
|
13539
|
+
engine: z.ZodString;
|
|
13540
|
+
engineVersion: z.ZodString;
|
|
13541
|
+
recipeVersion: z.ZodString;
|
|
13542
|
+
compilerVersion: z.ZodString;
|
|
13543
|
+
exporterVersion: z.ZodString;
|
|
13544
|
+
rendererVersion: z.ZodString;
|
|
13545
|
+
sourceRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13546
|
+
sourceArtifactId: z.ZodOptional<z.ZodString>;
|
|
13547
|
+
contentHash: z.ZodString;
|
|
13548
|
+
}, z.core.$strict>;
|
|
13549
|
+
}, z.core.$strict>;
|
|
13550
|
+
/** THE v2 plan validator: structure first, then the cross-field rules. */
|
|
13551
|
+
declare const scene3DPlanV2Schema: z.ZodObject<{
|
|
13552
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
13553
|
+
schemaVersion: z.ZodLiteral<2>;
|
|
13554
|
+
revisionId: z.ZodUUID;
|
|
13555
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13556
|
+
width: z.ZodNumber;
|
|
13557
|
+
height: z.ZodNumber;
|
|
13558
|
+
fps: z.ZodNumber;
|
|
13559
|
+
durationInFrames: z.ZodNumber;
|
|
13560
|
+
units: z.ZodLiteral<"meters">;
|
|
13561
|
+
upAxis: z.ZodLiteral<"Y">;
|
|
13562
|
+
handedness: z.ZodLiteral<"right">;
|
|
13563
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
13564
|
+
id: z.ZodString;
|
|
13565
|
+
name: z.ZodString;
|
|
13566
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
13567
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
13568
|
+
other: "other";
|
|
13569
|
+
person: "person";
|
|
13570
|
+
vehicle: "vehicle";
|
|
13571
|
+
prop: "prop";
|
|
13572
|
+
environment: "environment";
|
|
13573
|
+
}>>;
|
|
13574
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13575
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13576
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13577
|
+
identityColor: z.ZodOptional<z.ZodString>;
|
|
13578
|
+
anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13579
|
+
name: z.ZodString;
|
|
13580
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13581
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13582
|
+
}, z.core.$strict>>>;
|
|
13583
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13584
|
+
transform: "transform";
|
|
13585
|
+
color: "color";
|
|
13586
|
+
visibility: "visibility";
|
|
13587
|
+
}>>>;
|
|
13588
|
+
locks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13589
|
+
transform: "transform";
|
|
13590
|
+
color: "color";
|
|
13591
|
+
visibility: "visibility";
|
|
13592
|
+
}>>>;
|
|
13593
|
+
materialBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13594
|
+
role: z.ZodString;
|
|
13595
|
+
materialName: z.ZodString;
|
|
13596
|
+
color: z.ZodOptional<z.ZodString>;
|
|
13597
|
+
roughness: z.ZodOptional<z.ZodNumber>;
|
|
13598
|
+
}, z.core.$strict>>>;
|
|
13599
|
+
visual: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13600
|
+
kind: z.ZodLiteral<"group">;
|
|
13601
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13602
|
+
kind: z.ZodLiteral<"primitive">;
|
|
13603
|
+
primitive: z.ZodEnum<{
|
|
13604
|
+
box: "box";
|
|
13605
|
+
sphere: "sphere";
|
|
13606
|
+
cylinder: "cylinder";
|
|
13607
|
+
cone: "cone";
|
|
13608
|
+
plane: "plane";
|
|
13609
|
+
capsule: "capsule";
|
|
13610
|
+
}>;
|
|
13611
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13612
|
+
color: z.ZodString;
|
|
13613
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13614
|
+
kind: z.ZodLiteral<"asset">;
|
|
13615
|
+
assetId: z.ZodString;
|
|
13616
|
+
rootNodeId: z.ZodString;
|
|
13617
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
13618
|
+
clipName: z.ZodString;
|
|
13619
|
+
startFrame: z.ZodNumber;
|
|
13620
|
+
endFrameExclusive: z.ZodNumber;
|
|
13621
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13622
|
+
}, z.core.$strict>>;
|
|
13623
|
+
}, z.core.$strict>], "kind">;
|
|
13624
|
+
}, z.core.$strict>>;
|
|
13625
|
+
assets: z.ZodArray<z.ZodObject<{
|
|
13626
|
+
assetId: z.ZodString;
|
|
13627
|
+
kind: z.ZodEnum<{
|
|
13628
|
+
glb: "glb";
|
|
13629
|
+
"camera-track-json": "camera-track-json";
|
|
13630
|
+
poster: "poster";
|
|
13631
|
+
"validation-report": "validation-report";
|
|
13632
|
+
"blend-source": "blend-source";
|
|
13633
|
+
}>;
|
|
13634
|
+
role: z.ZodEnum<{
|
|
13635
|
+
source: "source";
|
|
13636
|
+
poster: "poster";
|
|
13637
|
+
"validation-report": "validation-report";
|
|
13638
|
+
"scene-geometry": "scene-geometry";
|
|
13639
|
+
"entity-geometry": "entity-geometry";
|
|
13640
|
+
"camera-track": "camera-track";
|
|
13641
|
+
}>;
|
|
13642
|
+
byteLength: z.ZodNumber;
|
|
13643
|
+
sha256: z.ZodString;
|
|
13644
|
+
originRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13645
|
+
}, z.core.$strict>>;
|
|
13646
|
+
cameraTrackAssetId: z.ZodString;
|
|
13647
|
+
shots: z.ZodArray<z.ZodObject<{
|
|
13648
|
+
id: z.ZodString;
|
|
13649
|
+
startFrame: z.ZodNumber;
|
|
13650
|
+
endFrameExclusive: z.ZodNumber;
|
|
13651
|
+
label: z.ZodOptional<z.ZodString>;
|
|
13652
|
+
subjectEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13653
|
+
foregroundEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13654
|
+
}, z.core.$strict>>;
|
|
13655
|
+
lighting: z.ZodObject<{
|
|
13656
|
+
preset: z.ZodEnum<{
|
|
13657
|
+
"clay-studio-v1": "clay-studio-v1";
|
|
13658
|
+
}>;
|
|
13659
|
+
ambientIntensity: z.ZodNumber;
|
|
13660
|
+
keyIntensity: z.ZodNumber;
|
|
13661
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13662
|
+
}, z.core.$strict>;
|
|
13663
|
+
backgroundColor: z.ZodString;
|
|
13664
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13665
|
+
id: z.ZodString;
|
|
13666
|
+
url: z.ZodString;
|
|
13667
|
+
kind: z.ZodEnum<{
|
|
13668
|
+
image: "image";
|
|
13669
|
+
video: "video";
|
|
13670
|
+
}>;
|
|
13671
|
+
role: z.ZodEnum<{
|
|
13672
|
+
motion: "motion";
|
|
13673
|
+
layout: "layout";
|
|
13674
|
+
appearance: "appearance";
|
|
13675
|
+
}>;
|
|
13676
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
13677
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13678
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13679
|
+
}, z.core.$strict>>>;
|
|
13680
|
+
overrides: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13681
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
13682
|
+
entityId: z.ZodString;
|
|
13683
|
+
space: z.ZodEnum<{
|
|
13684
|
+
local: "local";
|
|
13685
|
+
world: "world";
|
|
13686
|
+
}>;
|
|
13687
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13688
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13689
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13690
|
+
id: z.ZodString;
|
|
13691
|
+
sourceRevisionId: z.ZodUUID;
|
|
13692
|
+
sourceContentHash: z.ZodString;
|
|
13693
|
+
operationVersion: z.ZodNumber;
|
|
13694
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13695
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
13696
|
+
entityId: z.ZodString;
|
|
13697
|
+
materialRole: z.ZodString;
|
|
13698
|
+
color: z.ZodString;
|
|
13699
|
+
id: z.ZodString;
|
|
13700
|
+
sourceRevisionId: z.ZodUUID;
|
|
13701
|
+
sourceContentHash: z.ZodString;
|
|
13702
|
+
operationVersion: z.ZodNumber;
|
|
13703
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13704
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
13705
|
+
entityId: z.ZodString;
|
|
13706
|
+
visible: z.ZodBoolean;
|
|
13707
|
+
id: z.ZodString;
|
|
13708
|
+
sourceRevisionId: z.ZodUUID;
|
|
13709
|
+
sourceContentHash: z.ZodString;
|
|
13710
|
+
operationVersion: z.ZodNumber;
|
|
13711
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13712
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
13713
|
+
shotId: z.ZodString;
|
|
13714
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13715
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13716
|
+
id: z.ZodString;
|
|
13717
|
+
sourceRevisionId: z.ZodUUID;
|
|
13718
|
+
sourceContentHash: z.ZodString;
|
|
13719
|
+
operationVersion: z.ZodNumber;
|
|
13720
|
+
}, z.core.$strict>], "kind">>>;
|
|
13721
|
+
provenance: z.ZodObject<{
|
|
13722
|
+
engine: z.ZodString;
|
|
13723
|
+
engineVersion: z.ZodString;
|
|
13724
|
+
recipeVersion: z.ZodString;
|
|
13725
|
+
compilerVersion: z.ZodString;
|
|
13726
|
+
exporterVersion: z.ZodString;
|
|
13727
|
+
rendererVersion: z.ZodString;
|
|
13728
|
+
sourceRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13729
|
+
sourceArtifactId: z.ZodOptional<z.ZodString>;
|
|
13730
|
+
contentHash: z.ZodString;
|
|
13731
|
+
}, z.core.$strict>;
|
|
13732
|
+
}, z.core.$strict>;
|
|
13733
|
+
/**
|
|
13734
|
+
* Either version, discriminated on `schemaVersion` — so an unknown version
|
|
13735
|
+
* reports "Invalid discriminator value. Expected '1' | '2'" instead of a pile
|
|
13736
|
+
* of unknown-key errors from whichever branch failed last.
|
|
13737
|
+
*/
|
|
13738
|
+
declare const scene3DAnyPlanSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13739
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
13740
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
13741
|
+
revisionId: z.ZodUUID;
|
|
13742
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13743
|
+
width: z.ZodNumber;
|
|
13744
|
+
height: z.ZodNumber;
|
|
13745
|
+
fps: z.ZodNumber;
|
|
13746
|
+
durationInFrames: z.ZodNumber;
|
|
13747
|
+
backgroundColor: z.ZodString;
|
|
13748
|
+
camera: z.ZodObject<{
|
|
13749
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13750
|
+
target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13751
|
+
focalLengthMm: z.ZodNumber;
|
|
13752
|
+
sensorWidthMm: z.ZodDefault<z.ZodNumber>;
|
|
13753
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13754
|
+
frame: z.ZodNumber;
|
|
13755
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13756
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13757
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
13758
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
13759
|
+
linear: "linear";
|
|
13760
|
+
easeInOut: "easeInOut";
|
|
13761
|
+
}>>;
|
|
13762
|
+
}, z.core.$strict>>>;
|
|
13763
|
+
}, z.core.$strict>;
|
|
13764
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
13765
|
+
id: z.ZodString;
|
|
13766
|
+
name: z.ZodString;
|
|
13767
|
+
primitive: z.ZodEnum<{
|
|
13768
|
+
group: "group";
|
|
13769
|
+
box: "box";
|
|
13770
|
+
sphere: "sphere";
|
|
13771
|
+
cylinder: "cylinder";
|
|
13772
|
+
cone: "cone";
|
|
13773
|
+
plane: "plane";
|
|
13774
|
+
capsule: "capsule";
|
|
13775
|
+
}>;
|
|
13776
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
13777
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13778
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13779
|
+
rotation: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13780
|
+
scale: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13781
|
+
color: z.ZodString;
|
|
13782
|
+
keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13783
|
+
frame: z.ZodNumber;
|
|
13784
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13785
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13786
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13787
|
+
easing: z.ZodOptional<z.ZodEnum<{
|
|
13788
|
+
linear: "linear";
|
|
13789
|
+
easeInOut: "easeInOut";
|
|
13790
|
+
}>>;
|
|
13791
|
+
}, z.core.$strict>>>;
|
|
13792
|
+
}, z.core.$strict>>;
|
|
13793
|
+
lighting: z.ZodObject<{
|
|
13794
|
+
ambientIntensity: z.ZodNumber;
|
|
13795
|
+
keyIntensity: z.ZodNumber;
|
|
13796
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13797
|
+
}, z.core.$strict>;
|
|
13798
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13799
|
+
id: z.ZodString;
|
|
13800
|
+
url: z.ZodString;
|
|
13801
|
+
kind: z.ZodEnum<{
|
|
13802
|
+
image: "image";
|
|
13803
|
+
video: "video";
|
|
13804
|
+
}>;
|
|
13805
|
+
role: z.ZodEnum<{
|
|
13806
|
+
motion: "motion";
|
|
13807
|
+
layout: "layout";
|
|
13808
|
+
appearance: "appearance";
|
|
13809
|
+
}>;
|
|
13810
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
13811
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13812
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13813
|
+
}, z.core.$strict>>>;
|
|
13814
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13815
|
+
planType: z.ZodLiteral<"3d-scene">;
|
|
13816
|
+
schemaVersion: z.ZodLiteral<2>;
|
|
13817
|
+
revisionId: z.ZodUUID;
|
|
13818
|
+
parentRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13819
|
+
width: z.ZodNumber;
|
|
13820
|
+
height: z.ZodNumber;
|
|
13821
|
+
fps: z.ZodNumber;
|
|
13822
|
+
durationInFrames: z.ZodNumber;
|
|
13823
|
+
units: z.ZodLiteral<"meters">;
|
|
13824
|
+
upAxis: z.ZodLiteral<"Y">;
|
|
13825
|
+
handedness: z.ZodLiteral<"right">;
|
|
13826
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
13827
|
+
id: z.ZodString;
|
|
13828
|
+
name: z.ZodString;
|
|
13829
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
13830
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
13831
|
+
other: "other";
|
|
13832
|
+
person: "person";
|
|
13833
|
+
vehicle: "vehicle";
|
|
13834
|
+
prop: "prop";
|
|
13835
|
+
environment: "environment";
|
|
13836
|
+
}>>;
|
|
13837
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13838
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13839
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13840
|
+
identityColor: z.ZodOptional<z.ZodString>;
|
|
13841
|
+
anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13842
|
+
name: z.ZodString;
|
|
13843
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13844
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13845
|
+
}, z.core.$strict>>>;
|
|
13846
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13847
|
+
transform: "transform";
|
|
13848
|
+
color: "color";
|
|
13849
|
+
visibility: "visibility";
|
|
13850
|
+
}>>>;
|
|
13851
|
+
locks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
13852
|
+
transform: "transform";
|
|
13853
|
+
color: "color";
|
|
13854
|
+
visibility: "visibility";
|
|
13855
|
+
}>>>;
|
|
13856
|
+
materialBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13857
|
+
role: z.ZodString;
|
|
13858
|
+
materialName: z.ZodString;
|
|
13859
|
+
color: z.ZodOptional<z.ZodString>;
|
|
13860
|
+
roughness: z.ZodOptional<z.ZodNumber>;
|
|
13861
|
+
}, z.core.$strict>>>;
|
|
13862
|
+
visual: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13863
|
+
kind: z.ZodLiteral<"group">;
|
|
13864
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13865
|
+
kind: z.ZodLiteral<"primitive">;
|
|
13866
|
+
primitive: z.ZodEnum<{
|
|
13867
|
+
box: "box";
|
|
13868
|
+
sphere: "sphere";
|
|
13869
|
+
cylinder: "cylinder";
|
|
13870
|
+
cone: "cone";
|
|
13871
|
+
plane: "plane";
|
|
13872
|
+
capsule: "capsule";
|
|
13873
|
+
}>;
|
|
13874
|
+
dimensions: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13875
|
+
color: z.ZodString;
|
|
13876
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13877
|
+
kind: z.ZodLiteral<"asset">;
|
|
13878
|
+
assetId: z.ZodString;
|
|
13879
|
+
rootNodeId: z.ZodString;
|
|
13880
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
13881
|
+
clipName: z.ZodString;
|
|
13882
|
+
startFrame: z.ZodNumber;
|
|
13883
|
+
endFrameExclusive: z.ZodNumber;
|
|
13884
|
+
loop: z.ZodOptional<z.ZodBoolean>;
|
|
13885
|
+
}, z.core.$strict>>;
|
|
13886
|
+
}, z.core.$strict>], "kind">;
|
|
13887
|
+
}, z.core.$strict>>;
|
|
13888
|
+
assets: z.ZodArray<z.ZodObject<{
|
|
13889
|
+
assetId: z.ZodString;
|
|
13890
|
+
kind: z.ZodEnum<{
|
|
13891
|
+
glb: "glb";
|
|
13892
|
+
"camera-track-json": "camera-track-json";
|
|
13893
|
+
poster: "poster";
|
|
13894
|
+
"validation-report": "validation-report";
|
|
13895
|
+
"blend-source": "blend-source";
|
|
13896
|
+
}>;
|
|
13897
|
+
role: z.ZodEnum<{
|
|
13898
|
+
source: "source";
|
|
13899
|
+
poster: "poster";
|
|
13900
|
+
"validation-report": "validation-report";
|
|
13901
|
+
"scene-geometry": "scene-geometry";
|
|
13902
|
+
"entity-geometry": "entity-geometry";
|
|
13903
|
+
"camera-track": "camera-track";
|
|
13904
|
+
}>;
|
|
13905
|
+
byteLength: z.ZodNumber;
|
|
13906
|
+
sha256: z.ZodString;
|
|
13907
|
+
originRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13908
|
+
}, z.core.$strict>>;
|
|
13909
|
+
cameraTrackAssetId: z.ZodString;
|
|
13910
|
+
shots: z.ZodArray<z.ZodObject<{
|
|
13911
|
+
id: z.ZodString;
|
|
13912
|
+
startFrame: z.ZodNumber;
|
|
13913
|
+
endFrameExclusive: z.ZodNumber;
|
|
13914
|
+
label: z.ZodOptional<z.ZodString>;
|
|
13915
|
+
subjectEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13916
|
+
foregroundEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13917
|
+
}, z.core.$strict>>;
|
|
13918
|
+
lighting: z.ZodObject<{
|
|
13919
|
+
preset: z.ZodEnum<{
|
|
13920
|
+
"clay-studio-v1": "clay-studio-v1";
|
|
13921
|
+
}>;
|
|
13922
|
+
ambientIntensity: z.ZodNumber;
|
|
13923
|
+
keyIntensity: z.ZodNumber;
|
|
13924
|
+
keyPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
13925
|
+
}, z.core.$strict>;
|
|
13926
|
+
backgroundColor: z.ZodString;
|
|
13927
|
+
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13928
|
+
id: z.ZodString;
|
|
13929
|
+
url: z.ZodString;
|
|
13930
|
+
kind: z.ZodEnum<{
|
|
13931
|
+
image: "image";
|
|
13932
|
+
video: "video";
|
|
13933
|
+
}>;
|
|
13934
|
+
role: z.ZodEnum<{
|
|
13935
|
+
motion: "motion";
|
|
13936
|
+
layout: "layout";
|
|
13937
|
+
appearance: "appearance";
|
|
13938
|
+
}>;
|
|
13939
|
+
objectId: z.ZodOptional<z.ZodString>;
|
|
13940
|
+
startSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13941
|
+
endSeconds: z.ZodOptional<z.ZodNumber>;
|
|
13942
|
+
}, z.core.$strict>>>;
|
|
13943
|
+
overrides: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13944
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
13945
|
+
entityId: z.ZodString;
|
|
13946
|
+
space: z.ZodEnum<{
|
|
13947
|
+
local: "local";
|
|
13948
|
+
world: "world";
|
|
13949
|
+
}>;
|
|
13950
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13951
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13952
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13953
|
+
id: z.ZodString;
|
|
13954
|
+
sourceRevisionId: z.ZodUUID;
|
|
13955
|
+
sourceContentHash: z.ZodString;
|
|
13956
|
+
operationVersion: z.ZodNumber;
|
|
13957
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13958
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
13959
|
+
entityId: z.ZodString;
|
|
13960
|
+
materialRole: z.ZodString;
|
|
13961
|
+
color: z.ZodString;
|
|
13962
|
+
id: z.ZodString;
|
|
13963
|
+
sourceRevisionId: z.ZodUUID;
|
|
13964
|
+
sourceContentHash: z.ZodString;
|
|
13965
|
+
operationVersion: z.ZodNumber;
|
|
13966
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13967
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
13968
|
+
entityId: z.ZodString;
|
|
13969
|
+
visible: z.ZodBoolean;
|
|
13970
|
+
id: z.ZodString;
|
|
13971
|
+
sourceRevisionId: z.ZodUUID;
|
|
13972
|
+
sourceContentHash: z.ZodString;
|
|
13973
|
+
operationVersion: z.ZodNumber;
|
|
13974
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13975
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
13976
|
+
shotId: z.ZodString;
|
|
13977
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13978
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
13979
|
+
id: z.ZodString;
|
|
13980
|
+
sourceRevisionId: z.ZodUUID;
|
|
13981
|
+
sourceContentHash: z.ZodString;
|
|
13982
|
+
operationVersion: z.ZodNumber;
|
|
13983
|
+
}, z.core.$strict>], "kind">>>;
|
|
13984
|
+
provenance: z.ZodObject<{
|
|
13985
|
+
engine: z.ZodString;
|
|
13986
|
+
engineVersion: z.ZodString;
|
|
13987
|
+
recipeVersion: z.ZodString;
|
|
13988
|
+
compilerVersion: z.ZodString;
|
|
13989
|
+
exporterVersion: z.ZodString;
|
|
13990
|
+
rendererVersion: z.ZodString;
|
|
13991
|
+
sourceRevisionId: z.ZodOptional<z.ZodUUID>;
|
|
13992
|
+
sourceArtifactId: z.ZodOptional<z.ZodString>;
|
|
13993
|
+
contentHash: z.ZodString;
|
|
13994
|
+
}, z.core.$strict>;
|
|
13995
|
+
}, z.core.$strict>], "schemaVersion">;
|
|
13996
|
+
/** Zod for a client's `acceptedSceneSchemaVersions`. */
|
|
13997
|
+
declare const scene3DAcceptedSchemaVersionsSchema: z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
|
|
13998
|
+
declare function isScene3DPlanV2(value: unknown): value is Scene3DPlanV2;
|
|
13999
|
+
/** Accepts EITHER version. `isScene3DPlanV1` (in `scene3d.ts`) is the v1-only
|
|
14000
|
+
* form; narrow with one of them before reading version-specific fields. */
|
|
14001
|
+
declare function isScene3DPlan(value: unknown): value is Scene3DPlan;
|
|
14002
|
+
/**
|
|
14003
|
+
* The schema version a value CLAIMS, without validating the rest of it.
|
|
14004
|
+
*
|
|
14005
|
+
* Returns the number even when this package cannot handle it, so an SDK
|
|
14006
|
+
* consumer can say "this scene is v3, upgrade to render it" instead of "invalid
|
|
14007
|
+
* plan". `null` means it is not a Scene3D plan at all.
|
|
14008
|
+
*/
|
|
14009
|
+
declare function scene3DPlanSchemaVersion(value: unknown): number | null;
|
|
14010
|
+
declare function isScene3DSchemaVersionSupported(version: number): version is Scene3DSupportedSchemaVersion;
|
|
14011
|
+
declare function isKnownScene3DEngine(engine: string): engine is Scene3DKnownEngine;
|
|
14012
|
+
/**
|
|
14013
|
+
* The shot owning `frame`, or `-1`. Ranges are half-open and contiguous, so
|
|
14014
|
+
* this is total over `[0, durationInFrames)` on a validated plan — and it is
|
|
14015
|
+
* the ONLY place a renderer decides which side of a cut a frame is on.
|
|
14016
|
+
*/
|
|
14017
|
+
declare function scene3DShotIndexForFrame(shots: readonly Scene3DShot[], frame: number): number;
|
|
14018
|
+
declare function scene3DShotForFrame(shots: readonly Scene3DShot[], frame: number): Scene3DShot | undefined;
|
|
14019
|
+
|
|
14020
|
+
/**
|
|
14021
|
+
* Scene3D v2 resource admission and revision identity.
|
|
14022
|
+
*
|
|
14023
|
+
* Two gates and one hash, all of which have to agree across the builder, the
|
|
14024
|
+
* platform route and the renderer — so they live in one published place instead
|
|
14025
|
+
* of being re-derived three times.
|
|
14026
|
+
*
|
|
14027
|
+
* **Pre-allocation gate** (`scene3DV2AdmissionIssues`). Everything checkable
|
|
14028
|
+
* from the manifest alone, BEFORE a byte is fetched or a decoder is handed
|
|
14029
|
+
* anything: declared asset sizes, counts, timeline length, hierarchy depth, and
|
|
14030
|
+
* the decoded size of the manifest itself. A limit enforced after the download
|
|
14031
|
+
* is not a limit.
|
|
14032
|
+
*
|
|
14033
|
+
* **Post-decode gate** (`scene3DV2NormalizationIssues`). What only the actual
|
|
14034
|
+
* bytes can answer: real length versus declared, digest versus declared,
|
|
14035
|
+
* triangles, mesh nodes, node depth, image dimensions. A 2 MiB GLB can decode
|
|
14036
|
+
* to a hundred million triangles, so compression never waives a geometry
|
|
14037
|
+
* budget.
|
|
14038
|
+
*
|
|
14039
|
+
* **Content hash.** The canonical form of a revision, which is what makes
|
|
14040
|
+
* "these two revisions are the same scene" a decidable question — for
|
|
14041
|
+
* content-addressed caching, and for asserting after a rebuild that the entities
|
|
14042
|
+
* the user locked really did come back unchanged.
|
|
14043
|
+
*/
|
|
14044
|
+
|
|
14045
|
+
type Issue$1 = Scene3DSemanticIssue;
|
|
14046
|
+
interface Scene3DV2ResourceUsage {
|
|
14047
|
+
entities: number;
|
|
14048
|
+
assets: number;
|
|
14049
|
+
shots: number;
|
|
14050
|
+
overrides: number;
|
|
14051
|
+
references: number;
|
|
14052
|
+
frames: number;
|
|
14053
|
+
durationSeconds: number;
|
|
14054
|
+
/** Deepest entity parent chain, 1 for a flat scene. */
|
|
14055
|
+
hierarchyDepth: number;
|
|
14056
|
+
/** Declared bytes of everything the browser downloads. */
|
|
14057
|
+
rendererAssetBytes: number;
|
|
14058
|
+
/** Declared bytes of the camera sidecar. */
|
|
14059
|
+
cameraTrackBytes: number;
|
|
14060
|
+
/** Declared bytes of the retained native source, which the browser never sees. */
|
|
14061
|
+
blendSourceBytes: number;
|
|
14062
|
+
}
|
|
14063
|
+
/** Deepest parent chain, counting the entity itself. Bounded by the entity
|
|
14064
|
+
* count even on a cyclic plan, so it is safe to call before validation. */
|
|
14065
|
+
declare function scene3DV2HierarchyDepth(entities: readonly Scene3DEntityV2[]): number;
|
|
14066
|
+
/** What this manifest CLAIMS it will cost. Also the shape a capabilities or
|
|
14067
|
+
* quote surface displays — it is derived, never authored. */
|
|
14068
|
+
declare function scene3DV2ResourceUsage(plan: Scene3DPlanV2): Scene3DV2ResourceUsage;
|
|
14069
|
+
/**
|
|
14070
|
+
* The pre-allocation gate. `manifestBytes` is the DECODED size of the manifest
|
|
14071
|
+
* as it arrived — pass it when admitting a downloaded manifest, omit it when
|
|
14072
|
+
* the plan is already in memory.
|
|
14073
|
+
*
|
|
14074
|
+
* Most of these are also enforced by `scene3DPlanV2Schema`; this function is
|
|
14075
|
+
* what a caller runs when it wants the budget answer without re-parsing, and
|
|
14076
|
+
* what makes the ceilings quotable in one place by capabilities and docs.
|
|
14077
|
+
*/
|
|
14078
|
+
declare function scene3DV2AdmissionIssues(plan: Scene3DPlanV2, manifestBytes?: number): Issue$1[];
|
|
14079
|
+
/**
|
|
14080
|
+
* What the normalizer measured on the ACTUAL bytes of one asset. Optional
|
|
14081
|
+
* fields are "not applicable to this kind" — a poster has image dimensions and
|
|
14082
|
+
* no triangles; a GLB is the other way round.
|
|
14083
|
+
*/
|
|
14084
|
+
interface Scene3DNormalizedAssetStats {
|
|
14085
|
+
assetId: string;
|
|
14086
|
+
kind: Scene3DAssetKind;
|
|
14087
|
+
/** Decoded length, after any transport compression. */
|
|
14088
|
+
byteLength: number;
|
|
14089
|
+
/** Digest of the decoded bytes, lowercase hex, when computed. */
|
|
14090
|
+
sha256?: string;
|
|
14091
|
+
meshNodes?: number;
|
|
14092
|
+
triangles?: number;
|
|
14093
|
+
/** Deepest node chain inside the asset's own scene graph. */
|
|
14094
|
+
maxNodeDepth?: number;
|
|
14095
|
+
imageWidth?: number;
|
|
14096
|
+
imageHeight?: number;
|
|
14097
|
+
}
|
|
14098
|
+
/**
|
|
14099
|
+
* The post-decode gate: does what arrived match what the manifest promised, and
|
|
14100
|
+
* does the resolved geometry fit the budget?
|
|
14101
|
+
*
|
|
14102
|
+
* Mesh nodes and triangles are summed ACROSS assets — the ceiling is on the
|
|
14103
|
+
* scene the renderer assembles, not on any single file.
|
|
14104
|
+
*/
|
|
14105
|
+
declare function scene3DV2NormalizationIssues(plan: Scene3DPlanV2, stats: readonly Scene3DNormalizedAssetStats[]): Issue$1[];
|
|
14106
|
+
/** Size-gate on the bytes, then parse, then the full v2 schema. Refuses an
|
|
14107
|
+
* oversized manifest before `JSON.parse` allocates it. */
|
|
14108
|
+
declare function parseScene3DPlanV2Json(text: string): Scene3DParseResult<Scene3DPlanV2>;
|
|
14109
|
+
/**
|
|
14110
|
+
* Fields excluded from the canonical form.
|
|
14111
|
+
*
|
|
14112
|
+
* `revisionId`/`parentRevisionId` are IDENTITY, not content: two revisions with
|
|
14113
|
+
* the same scene must hash the same, or a content-addressed cache never hits
|
|
14114
|
+
* and "did the rebuild preserve the locked entities?" cannot be answered by
|
|
14115
|
+
* comparing hashes. `provenance.contentHash` is excluded because a value cannot
|
|
14116
|
+
* contain its own hash.
|
|
14117
|
+
*
|
|
14118
|
+
* Everything else is in — entities, anchors, material bindings, overrides, asset
|
|
14119
|
+
* digests, shots, lighting, provenance versions.
|
|
14120
|
+
*/
|
|
14121
|
+
declare const SCENE3D_V2_CONTENT_HASH_EXCLUDED: readonly ["revisionId", "parentRevisionId"];
|
|
14122
|
+
/**
|
|
14123
|
+
* The exact bytes a revision's content hash is computed over: recursively
|
|
14124
|
+
* key-sorted JSON with the identity fields removed. Key order in the input
|
|
14125
|
+
* cannot change the result, so a manifest that survives a round-trip through a
|
|
14126
|
+
* database or a re-serialization still hashes the same.
|
|
14127
|
+
*/
|
|
14128
|
+
declare function canonicalScene3DPlanV2Json(plan: Scene3DPlanV2): string;
|
|
14129
|
+
/**
|
|
14130
|
+
* SHA-256 of the canonical form, lowercase hex — the value that belongs in
|
|
14131
|
+
* `provenance.contentHash`. Uses WebCrypto, which the browser, Node 18+ and the
|
|
14132
|
+
* Remotion renderer all expose, so producer and consumer compute it the same
|
|
14133
|
+
* way.
|
|
14134
|
+
*/
|
|
14135
|
+
declare function computeScene3DPlanV2ContentHash(plan: Scene3DPlanV2): Promise<string>;
|
|
14136
|
+
/** Does the manifest's declared `provenance.contentHash` match its content? */
|
|
14137
|
+
declare function verifyScene3DPlanV2ContentHash(plan: Scene3DPlanV2): Promise<boolean>;
|
|
14138
|
+
|
|
14139
|
+
/**
|
|
14140
|
+
* The Scene3D v2 camera sidecar — one baked sample per frame.
|
|
14141
|
+
*
|
|
14142
|
+
* A 30-second scene is 720 camera samples. V1's 240-keyframe interpolated track
|
|
14143
|
+
* cannot carry that, and interpolating a sparse track across a hard cut blends
|
|
14144
|
+
* two shots into a frame that belongs to neither. So v2 moves the camera out of
|
|
14145
|
+
* the manifest into this dense JSON asset, and the rule becomes trivial:
|
|
14146
|
+
*
|
|
14147
|
+
* **at integer frame `f`, use `samples[f]`.**
|
|
14148
|
+
*
|
|
14149
|
+
* No interpolation, no easing, no "nearest key". Pausing, scrubbing backwards
|
|
14150
|
+
* and rendering frames out of order therefore produce identical state, which is
|
|
14151
|
+
* the whole reason preview and export can be trusted to agree.
|
|
14152
|
+
*
|
|
14153
|
+
* Two things this format refuses to guess at:
|
|
14154
|
+
*
|
|
14155
|
+
* - **Orientation is a quaternion, not a look-at.** A renderer that replaces the
|
|
14156
|
+
* exported quaternion with `lookAt(target)` throws away the authored roll and
|
|
14157
|
+
* the handheld component. `target` is carried for inspection and intent only.
|
|
14158
|
+
* - **Projection is a matrix, not a lens number.** A focal length cannot express
|
|
14159
|
+
* sensor fit or lens shift, and re-deriving a projection at a different aspect
|
|
14160
|
+
* silently reframes every shot. `focalLengthMm` is metadata; the 16-element
|
|
14161
|
+
* column-major matrix is authoritative.
|
|
14162
|
+
*
|
|
14163
|
+
* Changing fps or aspect ratio is an explicit resample/reprojection producing a
|
|
14164
|
+
* NEW revision — never a render-time override. `scene3DCameraTrackPlanIssues`
|
|
14165
|
+
* is what makes that non-negotiable.
|
|
14166
|
+
*/
|
|
14167
|
+
|
|
14168
|
+
declare const SCENE3D_CAMERA_TRACK_FORMAT = "scene3d-camera-track";
|
|
14169
|
+
declare const SCENE3D_CAMERA_TRACK_VERSION = 1;
|
|
14170
|
+
declare const SCENE3D_CAMERA_TRACK_LIMITS: {
|
|
14171
|
+
readonly maxJsonBytes: number;
|
|
14172
|
+
readonly maxFrameCount: 3600;
|
|
14173
|
+
readonly minFps: 15;
|
|
14174
|
+
readonly maxFps: 60;
|
|
14175
|
+
/** A unit quaternion off by more than this is a bug, not float noise. */
|
|
14176
|
+
readonly quaternionTolerance: 0.0001;
|
|
14177
|
+
/** Absolute tolerance on the projection entries that must be exactly zero
|
|
14178
|
+
* (or exactly ∓1) in a perspective matrix. */
|
|
14179
|
+
readonly projectionEpsilon: 0.000001;
|
|
14180
|
+
/** Relative tolerance when comparing declared near/far against the values the
|
|
14181
|
+
* projection matrix implies. */
|
|
14182
|
+
readonly nearFarRelativeTolerance: 0.001;
|
|
14183
|
+
/** Relative tolerance on `m[0]/m[5]` vs the manifest's `height/width`. */
|
|
14184
|
+
readonly aspectRelativeTolerance: 0.001;
|
|
14185
|
+
readonly minNear: 0.0001;
|
|
14186
|
+
readonly maxFar: 10000000;
|
|
14187
|
+
};
|
|
14188
|
+
interface Scene3DCameraSample {
|
|
14189
|
+
position: Vec3;
|
|
14190
|
+
/** `[x, y, z, w]` — that order, normalized. */
|
|
14191
|
+
quaternion: [number, number, number, number];
|
|
14192
|
+
/** Exactly 16 entries, COLUMN-MAJOR (Three.js `Matrix4.elements` order). */
|
|
14193
|
+
projectionMatrix: number[];
|
|
14194
|
+
near: number;
|
|
14195
|
+
far: number;
|
|
14196
|
+
/** Authoring intent, for inspection and validation reporting. A renderer must
|
|
14197
|
+
* never feed this back through `lookAt()`. */
|
|
14198
|
+
target?: Vec3;
|
|
14199
|
+
/** Metadata only; the projection matrix wins. */
|
|
14200
|
+
focalLengthMm?: number;
|
|
14201
|
+
}
|
|
14202
|
+
interface Scene3DCameraTrackV1 {
|
|
14203
|
+
format: typeof SCENE3D_CAMERA_TRACK_FORMAT;
|
|
14204
|
+
version: typeof SCENE3D_CAMERA_TRACK_VERSION;
|
|
14205
|
+
/** Always 0: public frames are zero-based, and the exporter has already
|
|
14206
|
+
* subtracted the authoring package's start frame. */
|
|
14207
|
+
frameStart: 0;
|
|
14208
|
+
frameCount: number;
|
|
14209
|
+
fps: number;
|
|
14210
|
+
samples: Scene3DCameraSample[];
|
|
14211
|
+
}
|
|
14212
|
+
declare const scene3DCameraSampleSchema: z.ZodObject<{
|
|
14213
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14214
|
+
quaternion: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14215
|
+
projectionMatrix: z.ZodArray<z.ZodNumber>;
|
|
14216
|
+
near: z.ZodNumber;
|
|
14217
|
+
far: z.ZodNumber;
|
|
14218
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14219
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
14220
|
+
}, z.core.$strict>;
|
|
14221
|
+
/** Structure only; `scene3DCameraTrackIssues` carries the numeric rules. */
|
|
14222
|
+
declare const scene3DCameraTrackObjectSchema: z.ZodObject<{
|
|
14223
|
+
format: z.ZodLiteral<"scene3d-camera-track">;
|
|
14224
|
+
version: z.ZodLiteral<1>;
|
|
14225
|
+
frameStart: z.ZodLiteral<0>;
|
|
14226
|
+
frameCount: z.ZodNumber;
|
|
14227
|
+
fps: z.ZodNumber;
|
|
14228
|
+
samples: z.ZodArray<z.ZodObject<{
|
|
14229
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14230
|
+
quaternion: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14231
|
+
projectionMatrix: z.ZodArray<z.ZodNumber>;
|
|
14232
|
+
near: z.ZodNumber;
|
|
14233
|
+
far: z.ZodNumber;
|
|
14234
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14235
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
14236
|
+
}, z.core.$strict>>;
|
|
14237
|
+
}, z.core.$strict>;
|
|
14238
|
+
type Issue = Scene3DSemanticIssue;
|
|
14239
|
+
/**
|
|
14240
|
+
* Is this a real PERSPECTIVE projection, and does it agree with the declared
|
|
14241
|
+
* near/far?
|
|
14242
|
+
*
|
|
14243
|
+
* Column-major layout produced by every Three.js/glTF perspective camera:
|
|
14244
|
+
*
|
|
14245
|
+
* ```text
|
|
14246
|
+
* m0 0 m8 0
|
|
14247
|
+
* 0 m5 m9 0
|
|
14248
|
+
* 0 0 m10 m14
|
|
14249
|
+
* 0 0 -1 0
|
|
14250
|
+
* ```
|
|
14251
|
+
*
|
|
14252
|
+
* `m8`/`m9` carry lens shift and are free. Everything else is pinned. Inverting
|
|
14253
|
+
* the two depth terms recovers `near = m14 / (m10 - 1)` and
|
|
14254
|
+
* `far = m14 / (m10 + 1)`, which is how a matrix that quietly disagrees with its
|
|
14255
|
+
* own declared clip planes gets caught.
|
|
14256
|
+
*
|
|
14257
|
+
* Exported because the builder validates its export with the same function the
|
|
14258
|
+
* renderer admits it with.
|
|
14259
|
+
*/
|
|
14260
|
+
declare function scene3DProjectionIssues(matrix: readonly number[], near: number, far: number, path: (string | number)[]): Issue[];
|
|
14261
|
+
/**
|
|
14262
|
+
* The numeric rules the schema cannot express: exact sample count, normalized
|
|
14263
|
+
* quaternions, and a real perspective projection on every frame.
|
|
14264
|
+
*
|
|
14265
|
+
* Split out of the schema (as v1 does) so a caller holding a parsed track can
|
|
14266
|
+
* re-check it, and so the per-sample walk stays one readable loop over up to
|
|
14267
|
+
* 3,600 samples.
|
|
14268
|
+
*/
|
|
14269
|
+
declare function scene3DCameraTrackIssues(track: Scene3DCameraTrackV1): Issue[];
|
|
14270
|
+
/** THE camera-track validator: structure, then the numeric rules. */
|
|
14271
|
+
declare const scene3DCameraTrackSchema: z.ZodObject<{
|
|
14272
|
+
format: z.ZodLiteral<"scene3d-camera-track">;
|
|
14273
|
+
version: z.ZodLiteral<1>;
|
|
14274
|
+
frameStart: z.ZodLiteral<0>;
|
|
14275
|
+
frameCount: z.ZodNumber;
|
|
14276
|
+
fps: z.ZodNumber;
|
|
14277
|
+
samples: z.ZodArray<z.ZodObject<{
|
|
14278
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14279
|
+
quaternion: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
14280
|
+
projectionMatrix: z.ZodArray<z.ZodNumber>;
|
|
14281
|
+
near: z.ZodNumber;
|
|
14282
|
+
far: z.ZodNumber;
|
|
14283
|
+
target: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14284
|
+
focalLengthMm: z.ZodOptional<z.ZodNumber>;
|
|
14285
|
+
}, z.core.$strict>>;
|
|
14286
|
+
}, z.core.$strict>;
|
|
14287
|
+
declare function isScene3DCameraTrack(value: unknown): value is Scene3DCameraTrackV1;
|
|
14288
|
+
/**
|
|
14289
|
+
* Track ↔ manifest agreement. A track that is valid on its own can still be the
|
|
14290
|
+
* WRONG track for this scene: a different fps, a different length, or a
|
|
14291
|
+
* projection baked for another aspect ratio. Each of those silently reframes or
|
|
14292
|
+
* retimes every shot, so each is an error here rather than a render-time
|
|
14293
|
+
* surprise.
|
|
14294
|
+
*/
|
|
14295
|
+
declare function scene3DCameraTrackPlanIssues(track: Scene3DCameraTrackV1, plan: Pick<Scene3DPlanV2, "fps" | "durationInFrames" | "width" | "height">): Issue[];
|
|
14296
|
+
/**
|
|
14297
|
+
* The sample for an integer frame. `undefined` outside `[0, frameCount)` — a
|
|
14298
|
+
* caller must fail rather than clamp, because a clamped frame is a wrong frame
|
|
14299
|
+
* that looks plausible.
|
|
14300
|
+
*/
|
|
14301
|
+
declare function scene3DSampleForFrame(track: Scene3DCameraTrackV1, frame: number): Scene3DCameraSample | undefined;
|
|
14302
|
+
/**
|
|
14303
|
+
* Size-gate, then parse, then validate. This is the admission path for a
|
|
14304
|
+
* downloaded camera track: an 80 MiB "8 MiB" track is refused before
|
|
14305
|
+
* `JSON.parse` gets a chance to allocate it.
|
|
14306
|
+
*/
|
|
14307
|
+
declare function parseScene3DCameraTrackJson(text: string): Scene3DParseResult<Scene3DCameraTrackV1>;
|
|
14308
|
+
|
|
14309
|
+
/**
|
|
14310
|
+
* The parts of `settings.studio` that must not leave the owner's account.
|
|
14311
|
+
*
|
|
14312
|
+
* A shared production is read by anyone with the link. Three things inside the
|
|
14313
|
+
* document are the OWNER'S working state and nobody else's business:
|
|
14314
|
+
*
|
|
14315
|
+
* - `trash` — the recycle bin, which holds every shot, still and clip they
|
|
14316
|
+
* deleted, with prompts and urls intact. A share viewer receiving the bin is
|
|
14317
|
+
* the sharpest of the three: it hands out work the owner explicitly threw away.
|
|
14318
|
+
* - the in-flight job markers — `pendingClips` / `pendingStills` per shot, and
|
|
14319
|
+
* `pendingMusic` / `pendingDraft` on the document. A viewer cannot land any
|
|
14320
|
+
* of them and does not own them; all they carry across is job ids.
|
|
14321
|
+
* - `freecutDraftUrl` — an unsaved editor draft.
|
|
14322
|
+
*
|
|
14323
|
+
* They do NOT all live at the same level, and that is the whole reason this
|
|
14324
|
+
* file exists rather than one array: the writer puts `trash` and
|
|
14325
|
+
* `freecutDraftUrl` on `settings.studio` itself, and puts the per-shot markers
|
|
14326
|
+
* on the `settings.studio.shots[]` entry. A strip that walked only the top
|
|
14327
|
+
* level would pass its own test and still hand a share viewer every marker in
|
|
14328
|
+
* the production.
|
|
14329
|
+
*
|
|
14330
|
+
* It lives in `@nodaro/shared` because two independent readers need the SAME
|
|
14331
|
+
* list: the public share read (which is the reason the list exists) and the
|
|
14332
|
+
* production writer's own bundle projection. A second copy of a list like this
|
|
14333
|
+
* does not stay equal — it goes one key stale and the stale side is the one
|
|
14334
|
+
* that publishes.
|
|
14335
|
+
*
|
|
14336
|
+
* This is a plain JSON walker on purpose. `settings` is a free-form column that
|
|
14337
|
+
* a client owns end to end; the projection reads the keys it must drop and
|
|
14338
|
+
* nothing else, so it never needs — and must never grow — a dependency on
|
|
14339
|
+
* whatever writes the rest of the document.
|
|
14340
|
+
*/
|
|
14341
|
+
/**
|
|
14342
|
+
* `settings.studio`'s OWN transient keys.
|
|
14343
|
+
*
|
|
14344
|
+
* The per-shot pending lists are on this list as well as the shot one on
|
|
14345
|
+
* purpose: nothing writes them here today, and a stray one from an older
|
|
14346
|
+
* client — or from a client that is not the studio editor at all — still must
|
|
14347
|
+
* not ride out to a viewer.
|
|
14348
|
+
*/
|
|
14349
|
+
declare const STUDIO_TRANSIENT_KEYS: readonly ["trash", "pendingStills", "pendingClips", "pendingMusic", "pendingDraft", "freecutDraftUrl"];
|
|
14350
|
+
/**
|
|
14351
|
+
* ...and a SHOT entry's, which is where the per-shot markers actually are.
|
|
14352
|
+
*
|
|
14353
|
+
* `pendingClip` (singular) is the pre-concurrent-markers shape; the editor's
|
|
14354
|
+
* reader still migrates it on parse, so a row can still be carrying one and it
|
|
14355
|
+
* is still in-flight state.
|
|
14356
|
+
*/
|
|
14357
|
+
declare const STUDIO_SHOT_TRANSIENT_KEYS: readonly ["pendingClips", "pendingClip", "pendingStills"];
|
|
14358
|
+
/**
|
|
14359
|
+
* A production's `settings` with the owner's working state removed.
|
|
14360
|
+
*
|
|
14361
|
+
* Copy-on-write, and structurally: it rebuilds the objects without those keys
|
|
14362
|
+
* rather than deleting from the caller's, so the stored row is untouched. A
|
|
14363
|
+
* `settings` with no `studio` comes back unchanged — this is a studio concern,
|
|
14364
|
+
* and a workflow that is not a production has nothing here to strip.
|
|
14365
|
+
*
|
|
14366
|
+
* Takes and returns `unknown` because the column is free-form and every caller
|
|
14367
|
+
* already holds it as whatever its own layer calls JSON; narrowing here would
|
|
14368
|
+
* only move the cast one line up.
|
|
14369
|
+
*/
|
|
14370
|
+
declare function stripStudioTransientSettings(settings: unknown): unknown;
|
|
14371
|
+
|
|
14372
|
+
/** Immutable, deterministic edits over a baked scene. No asset bytes are mutated. */
|
|
14373
|
+
|
|
14374
|
+
/** Callers describe values. Revision identity and provenance are assigned here. */
|
|
14375
|
+
declare const scene3DV2OverrideInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14376
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
14377
|
+
entityId: z.ZodString;
|
|
14378
|
+
space: z.ZodEnum<{
|
|
14379
|
+
local: "local";
|
|
14380
|
+
world: "world";
|
|
14381
|
+
}>;
|
|
14382
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14383
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14384
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14385
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14386
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
14387
|
+
entityId: z.ZodString;
|
|
14388
|
+
materialRole: z.ZodString;
|
|
14389
|
+
color: z.ZodString;
|
|
14390
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14391
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
14392
|
+
entityId: z.ZodString;
|
|
14393
|
+
visible: z.ZodBoolean;
|
|
14394
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14395
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
14396
|
+
shotId: z.ZodString;
|
|
14397
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14398
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14399
|
+
}, z.core.$strict>], "kind">;
|
|
14400
|
+
declare const scene3DV2EditOperationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14401
|
+
op: z.ZodLiteral<"set-override">;
|
|
14402
|
+
override: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14403
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
14404
|
+
entityId: z.ZodString;
|
|
14405
|
+
space: z.ZodEnum<{
|
|
14406
|
+
local: "local";
|
|
14407
|
+
world: "world";
|
|
14408
|
+
}>;
|
|
14409
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14410
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14411
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14412
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14413
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
14414
|
+
entityId: z.ZodString;
|
|
14415
|
+
materialRole: z.ZodString;
|
|
14416
|
+
color: z.ZodString;
|
|
14417
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14418
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
14419
|
+
entityId: z.ZodString;
|
|
14420
|
+
visible: z.ZodBoolean;
|
|
14421
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14422
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
14423
|
+
shotId: z.ZodString;
|
|
14424
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14425
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14426
|
+
}, z.core.$strict>], "kind">;
|
|
14427
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14428
|
+
op: z.ZodLiteral<"remove-override">;
|
|
14429
|
+
overrideId: z.ZodString;
|
|
14430
|
+
}, z.core.$strict>], "op">;
|
|
14431
|
+
declare const scene3DV2EditOperationsSchema: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14432
|
+
op: z.ZodLiteral<"set-override">;
|
|
14433
|
+
override: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14434
|
+
kind: z.ZodLiteral<"entity-transform">;
|
|
14435
|
+
entityId: z.ZodString;
|
|
14436
|
+
space: z.ZodEnum<{
|
|
14437
|
+
local: "local";
|
|
14438
|
+
world: "world";
|
|
14439
|
+
}>;
|
|
14440
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14441
|
+
rotation: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14442
|
+
scale: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14443
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14444
|
+
kind: z.ZodLiteral<"entity-color">;
|
|
14445
|
+
entityId: z.ZodString;
|
|
14446
|
+
materialRole: z.ZodString;
|
|
14447
|
+
color: z.ZodString;
|
|
14448
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14449
|
+
kind: z.ZodLiteral<"entity-visibility">;
|
|
14450
|
+
entityId: z.ZodString;
|
|
14451
|
+
visible: z.ZodBoolean;
|
|
14452
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14453
|
+
kind: z.ZodLiteral<"camera-shot-offset">;
|
|
14454
|
+
shotId: z.ZodString;
|
|
14455
|
+
positionOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14456
|
+
targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
14457
|
+
}, z.core.$strict>], "kind">;
|
|
14458
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14459
|
+
op: z.ZodLiteral<"remove-override">;
|
|
14460
|
+
overrideId: z.ZodString;
|
|
14461
|
+
}, z.core.$strict>], "op">>;
|
|
14462
|
+
type Scene3DV2OverrideInput = z.infer<typeof scene3DV2OverrideInputSchema>;
|
|
14463
|
+
type Scene3DV2EditOperation = z.infer<typeof scene3DV2EditOperationSchema>;
|
|
14464
|
+
interface Scene3DV2EditOptions {
|
|
14465
|
+
expectedRevisionId: string;
|
|
14466
|
+
expectedContentHash?: string;
|
|
14467
|
+
lockedObjectIds?: readonly string[];
|
|
14468
|
+
/** Hosts may allocate identity at admission for idempotent job replay. */
|
|
14469
|
+
newRevisionId?: string;
|
|
14470
|
+
}
|
|
14471
|
+
type Scene3DV2EditResult = {
|
|
14472
|
+
ok: true;
|
|
14473
|
+
plan: Scene3DPlanV2;
|
|
14474
|
+
changeSummary: string;
|
|
14475
|
+
} | {
|
|
14476
|
+
ok: false;
|
|
14477
|
+
code: "invalid_plan" | "invalid_operations" | "stale_revision" | "locked";
|
|
14478
|
+
message: string;
|
|
14479
|
+
};
|
|
14480
|
+
/**
|
|
14481
|
+
* Edits are all-or-nothing. The expected revision and content hash are checked
|
|
14482
|
+
* before writing, and the result is validated and hashed before acceptance.
|
|
14483
|
+
* A source file belongs to its exact base revision: until the host materializes
|
|
14484
|
+
* these edits, the new revision must not advertise the old native download.
|
|
14485
|
+
*/
|
|
14486
|
+
declare function applyScene3DV2EditOperations(input: Scene3DPlanV2, operations: readonly Scene3DV2EditOperation[], options: Scene3DV2EditOptions): Promise<Scene3DV2EditResult>;
|
|
12624
14487
|
|
|
12625
|
-
export { ACCESS_LEVELS, ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AGGREGATE_LANE_SOURCE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, type AccessLevel, type AddBRollResult, AddBRollResultSchema, type AggregateableType, type AggregationBuckets, type AiAvatarDurationBucket, type AiAvatarEngine, type AiAvatarResolution, type AiWriterProvider, type AlaCarteBoard, type AnalyzedScene, type AnchorSceneStyleResult, AnchorSceneStyleResultSchema, type Animal, type AnimalSubcategory, type AssetRef, AssetRefSchema, type AudioCrossfadeCurve, type AudioFxPreset, type AudioLayer, type AuditImagesResult, AuditImagesResultSchema, type AuditImagesShotEntry, AuditImagesShotEntrySchema, AuditPromptIssueSchema, type AuditPromptResult, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, type BoardEntityKind, type BoardPromptContext, type BoardTemplate, BridgeToNextSceneInputSchema, type BridgeToNextSceneResult, BridgeToNextSceneResultSchema, type BrowseCommunityParams, type BrowseCommunityResult, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLABORATOR_ROLES, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, type CaptionStyle, type CastCoverageCriticVerdict, CastCoverageCriticVerdictSchema, type CharacterAspectRatio, type CharacterAssetType, type CharacterAssetTypeForAspect, type CharacterAttachColumn, type CharacterDef, type CharacterFacet, type CharacterImageCriticVerdict, CharacterImageCriticVerdictSchema, type CharacterLoraFields, type CharacterMentionTokenInfo, CharacterMetadataSchema, type CharacterMotionProvider, type CharacterReferencePhoto, type CharacterReferencePhotoKind, type CharacterVariantAssetBucket, type CharacterVariantAssetItem, type CharacterVoiceSpec, type ChatEnabledStage, type ChatTurnResponse, ChatTurnResponseSchema, type CinematicResolution, type ClipLook, type CloneListingResult, type CollaboratorRole, type CombineTransition, type CombineTransitionGroup, type CombineVideosEstimatorInput, type CommunityCard, type CommunityEntityType, type CommunityFullDetail, type CommunityReportReason, type CommunitySort, type ComponentHandle, type ComponentMetadata, type ConnectedReference, type CreatureAttachColumn, CriticIssueSchema, type CustomEntry, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, type DescribedReference, type DetectionResult, DetectionResultSchema, type DialogueLine, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_BUCKET_FIELDS, ENTITY_DB_ID_FIELD, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_KIND_SCALAR_FIELDS, ENTITY_NAME_FIELD, ENTITY_NODE_KINDS, ENTITY_SCALAR_FIELDS, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TABLE, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, type EntityKind, type EntityMentionTokenInfo, type EntityMetadata, EntityMetadataSchema, type EntityNodeKind, type EntityReferenceInput, type EntityRejectInput, EntityRejectInputSchema, type EntitySlot, type EntityStaleEvent, EntityStaleEventSchema, type EntityStateChangeEvent, EntityStateChangeEventSchema, type EntityStatus, type EntityStudioKind, type EntityStyle, type EntityType, type EvaluateConditionOptions, type ExportedPreset, type ExposableField, type ExposableOutput, type ExposedSetting, type ExtendVideoProvider, type ExtraRefCharacterContext, type ExtraRefInput, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_MODE_ADAPTIVE_ONLY_ASPECT, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, type FaceSwapProvider, type FavoriteListingResult, type FeaturedEntity, type FilmCreditEstimate, type FilterListCondition, type FilterListOperator, type FilterOperator, type FixContinuityInput, FixContinuityInputSchema, type FixContinuityResult, FixContinuityResultSchema, type Flux2Model, type FreecutExportCompletePayload, type FreecutExportProgressPayload, type FreecutImportFile, type FreecutRequestImportPayload, type FullSelectorMode, type Furniture, type FurnitureSubcategory, GEMINI_OMNI_PROVIDERS, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GRANTED_ACCESS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_ANCHOR_CHOICES, GVP_DEFAULT_PROVIDER, GVP_END_FRAME_PROVIDERS, GVP_EXTEND_PROVIDERS, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, type GenerateMotionResult, GenerateMotionResultSchema, type GenericEdge, type GenericNode, type GrantedAccess, type GvpAnchorChoice, type GvpAnchorWireMode, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, type HintEdgeLike, type HintGraphContext, type HintNodeLike, type I18nCatalogId, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_ASPECT_RATIO_VALUES, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, type IdentityFidelity, type IdentityMeta, type ImageAspectRatio, type ImageCriticIssue, ImageCriticIssueSchema, type ImageCriticLeafMode, type ImageCriticMetadataKey, type ImageCriticMode, type ImageCriticNodeIssue, type ImageCriticResult, ImageCriticResultSchema, type ImageCriticVerdict, ImageCriticVerdictSchema, type ImageEditProvider, type ImageGenProvider, type ImageI2IProvider, type ImageMaskMode, type ImageMentionTokenInfo, type ImageToVideoProvider, type ImprovePromptInput, ImprovePromptInputSchema, type ImprovePromptResult, ImprovePromptResultSchema, type InputFieldSchema, type InvitationDelivery, type InvitationPreview, type InvitationState, type InvitationView, type JoinCodeView, type JsonEvalResult, type JsonFilter, type JsonPatch, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, type KieApiFormat, type KineticCaptionStyle, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LLM_VENDOR_LABELS, LLM_VENDOR_ORDER, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, type LabeledOption, type LipSyncDurationBucket, type LipSyncProvider, type LlmFeature, type LlmModelDef, type LlmModelGroup, type LlmReasoningEffort, type LlmRouteDefaults, type LlmTier, type LlmVendor, type LocaleCatalogMap, type LocaleDirection, type LocaleId, type LocationAssetType, type LocationAtmosphereProvider, type LocationAttachColumn, type LocationCatalogRef, type LocationImageCriticVerdict, LocationImageCriticVerdictSchema, type LocationMentionTokenInfo, LocationMetadataSchema, type LocationReferencePhotoKind, type LocationUsageMode, LocationsCoverageCriticIssueSchema, type LocationsCoverageCriticVerdict, LocationsCoverageCriticVerdictSchema, type LoopTrimEstimatorInput, type LoopVideoEstimatorInput, type LoraEligibleRef, type LoraRouting, type LottieOverlayCatalogEntry, type LottieSlotField, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MEMBER_STATUSES, MINIMAX_H3_DEFAULT_RESOLUTION, MINIMAX_H3_PROVIDERS, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_PARAM_NODE_TYPES, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, type MaskRegionDescriptor, type MatchCutVerdict, MatchCutVerdictSchema, type MeOrganizations, type Member, type MemberStatus, type MinimalEdge, type MinimalNode, type ModelCatalogEntry, type ModelInputAdjustment, type ModelKind, type ModelMenuOption, type ModelMode, type ModelNodeTarget, type ModelPromptingStyle, type ModelRecommendation, type ModelTreeLine, type ModelTreeVariant, type ModelValidationIssue, type ModifyImageProvider, type MotionTransferProviderType, type MusicProvider, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, type NodaroLoadTimelinePayload, type NodaroLoadVideoPayload, type NodeDefaultType, type NodeParamAdjustment, type NodePresetExport, type NormalizedImageGen, type NormalizedModelInput, type NormalizedNodes, type NormalizedVideoRequest, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, ORG_ERROR_CODES, ORG_KINDS, ORG_ROLES, ORG_STATUSES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, type ObjectAspectRatio, type ObjectAssetType, type ObjectAssetTypeForAspect, type ObjectAttachColumn, ObjectMetadataSchema, type ObjectMotionProvider, type ObjectsValidationIssue, type ObjectsValidationResult, OptimizeForModelInputSchema, type OptimizeForModelResult, OptimizeForModelResultSchema, type OrgAuditEntry, type OrgErrorCode, type OrgKind, type OrgMemberView, type OrgPage, type OrgRole, type OrgSettings, OrgSettingsSchema, type OrgStatus, type OrganizationSummary, type OrganizationView, type OutputFormat, type OutputMode, type OutputType, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PAYG_RETENTION_DAYS, PER_FORMAT_DURATION_BOUNDS, PICKER_TO_COMBINE_TRANSITION, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PRESET_SETTING_KEYS, PRICING_DEFAULT_DURATION_SEC, PRICING_DEFAULT_RESOLUTION, PROMPT_HARD_CEILING, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, type PanelGenRequest, type PanelRequest, type PanelSource, type PipelineActivationMode, type PipelineCompletedEvent, PipelineCompletedEventSchema, type PipelineConfig, PipelineConfigSchema, type PipelineDriftSummary, PipelineDriftSummarySchema, type PipelineEditorDecisionsReadyEvent, PipelineEditorDecisionsReadyEventSchema, type PipelineEvent, type PipelineForkedEvent, PipelineForkedEventSchema, type PipelineFormat, type PipelineInput, PipelineInputSchema, type PipelineLifecycleEvent, type PipelineMode, type PipelineModelStage, type PipelineMusicReadyEvent, PipelineMusicReadyEventSchema, type PipelineOutputResolution, type PipelinePinnableImageModel, type PipelinePinnableScriptLlm, type PipelinePinnableVideoModel, type PipelineStageName, PipelineStageNameSchema, type PipelineStageStatus, PipelineStageStatusSchema, type PipelineState, PipelineStateSchema, type PipelineStatus, PipelineStatusSchema, type PipelineType, type PixelBox, type PresentationItem, type PresetEntry, type PresetSettingKey, type PresetSettings, PresetSettingsSchema, type PriceVariant, type PricedVideoSelection, type ProgressSegment, type ProjectedCatalog, type ProjectedCatalogDimension, type ProjectedCatalogOption, type PromptAffixFields, type PromptAffixes, type ProposedChange, type PublishListingParams, type PublishListingResult, QA_CHECK_PROVIDERS, type QaCheckProvider, type QualityLevel, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, REF_TOKEN_NAMESPACE_PREFIXES, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, type ReduceMeta, type ReduceStrategy, type ReduceStrategyId, type RefCandidate, type RefModalityEdge, type RefTokenKind, type RefVideoDurationLimit, type ReferenceBoardProvider, type ReferenceModality, type ReferenceSheet, type ReferenceSource, type ReportListingResult, type ResolveCharacterAspectOptions, type ResolveObjectAspectOptions, type ResolveSeparatorOptions, type ResolvedDialogueVoiceLine, type RouterConditionGroup, SCENE3D_DEFAULT_DURATION_SECONDS, SCENE3D_DEFAULT_FPS, SCENE3D_EDIT_NODE_TYPE, SCENE3D_GENERATE_NODE_TYPE, SCENE3D_LIMITS, SCENE3D_PLAN_FIELD, SCENE3D_PLAN_TYPE, SCENE3D_PRIMITIVES, SCENE3D_SCHEMA_VERSION, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_5_REF_LIMITS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, STUDIO_SHOT_TRANSIENT_KEYS, STUDIO_TRANSIENT_KEYS, SUBMISSION_STATUSES, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_HARD_CEILING, SUNO_MODELS, SUNO_SELECT_OPERATIONS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUNO_TRACK_SOURCE_TYPES, SUNO_VERSION_PRICED_OPERATIONS, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, type SafetyRetryPolicy, type Scene3DCamera, type Scene3DCameraChanges, type Scene3DCameraKeyframe, type Scene3DEasing, type Scene3DEditErrorCode, type Scene3DEditOperation, type Scene3DEditOptions, type Scene3DEditResult, type Scene3DJobOutput, type Scene3DLighting, type Scene3DLightingChanges, type Scene3DObject, type Scene3DObjectChanges, type Scene3DObjectKeyframe, type Scene3DPlan, type Scene3DPrimitive, type Scene3DReference, type Scene3DReferenceKind, type Scene3DReferenceRole, type SceneData, type SceneHelperName, SceneHelperNameSchema, type SceneInputMode, SceneInputModeSchema, type SceneMetadata, SceneMetadataSchema, type SceneNodeData, SceneNodeDataSchema, SceneSpecSchema, type ScraperActorId, type ScriptCriticVerdict, ScriptCriticVerdictSchema, type ScriptProvider, type Season, type SectionKind, type SelectorConfig, type SelectorFields, type SelectorMode, type SelectorPredicateOp, type SelectorResult, type SemanticAspectRatio, type SeparatorPreset, type SharedListing, type SharedVoice, type SheetAspect, type SheetBackground, type SheetCostEstimate, type SheetEntry, type SheetFlavour, type SheetGenerationPlan, type SheetPreset, type SheetPresetId, type SheetSection, type SheetSkin, type SheetTextData, type SheetType, type ShotElement, type ShotImageElement, type ShotShapeElement, type ShotSpec, ShotSpecSchema, type ShotTextElement, type ShowrunnerPlan, ShowrunnerPlanSchema, type SidecarLoader, type SlotControlDescriptor, type SlotControlKind, type SlotVariation, type SocialMediaContentType, type SocialMediaPlatform, type SocialMediaSpec, type SortDirection, type SortListOptions, type SortType, type StageAwaitingSubGateEvent, StageAwaitingSubGateEventSchema, type StaticCaptionStyle, type StoryboardCohesionCriticVerdict, StoryboardCohesionCriticVerdictSchema, type StyleDirectives, StyleDirectivesSchema, type SubGateName, SubGateNameSchema, type SubmissionStatus, type SunoAddTrackModel, type SunoModel, type SupportedFontName, type SurroundDirection, type Swatch, T2I_TO_I2I_VARIANT, TASK_CHAINED_EDIT_PROVIDERS, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TOPAZ_DEFAULT_UPSCALE_FACTOR, TOPAZ_UPSCALE_FACTORS, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, type TextToAudioProvider, type TextToVideoProvider, type TopazUpscaleAdjustment, type TopazUpscaleFactor, type TopazUpscaleResolution, type TranscribeProvider, type TransitionType, TransitionTypeSchema, type TrimVideoEstimatorInput, type TtsProvider, UPSCALE_IMAGE_PROVIDERS, USAGE_GROUP_BYS, USAGE_MODES, type UpscaleImageProvider, type UsageGroupBy, type UsageLogEntry, type UsageMode, type UsageQuery, type UsageReport, type UsageReportRow, type UsageReportTotals, type UsageVarianceRow, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_AUDIO_MODES, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_STORY_JUMPS, VIDEO_ANALYSIS_TEXT_KINDS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TIMES_OF_DAY, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_AUDIT_BUCKET_CREDITS, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_PROVIDERS_WITHOUT_DISPATCH, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_REF_VIDEO_DURATION_LIMITS, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, type ValidateMatchCutInput, ValidateMatchCutInputSchema, type ValidateMatchCutResult, ValidateMatchCutResultSchema, type ValidationField, type Vec3, type Vehicle, type VehicleSubcategory, type VideoAnalysisAudioMode, type VideoAnalysisClipTransitionIn, type VideoAnalysisEntitySource, type VideoAnalysisMixedTier, type VideoAnalysisModelTier, type VideoAnalysisResult, type VideoAnalysisShotAngle, type VideoAnalysisSpeedEffect, type VideoAnalysisTextKind, type VideoAnalysisTier, type VideoAnalysisTransition, type VideoAnalysisVisualEffect, type VideoAudioCapability, type VideoAudioMode, type VideoClipCost, type VideoCriticFrameMode, type VideoCriticMetadataKey, type VideoCriticShotFields, type VideoCriticVerdict, VideoCriticVerdictSchema, type VideoGenProvider, type VideoModeAlias, type VideoModelCapabilities, type VideoToVideoProvider, type VideoUpscaleProvider, type Voice, type VoiceChangerModel, type VoiceClone, type VoiceDesignModel, type VoiceLibraryParams, type VoiceLibraryResponse, type VoiceMatch, VoiceMatchSchema, type VoiceType, WAN_3_DEFAULT_RESOLUTION, WAN_3_PROVIDERS, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, WORKFLOW_VISIBILITIES, WORKSPACE_HEADER, WORKSPACE_HEADER_LOWER, WORKSPACE_ROLES, type Weapon, type WeaponSubcategory, type WindowAnalysis, type WindowScene, type WorkflowAssetKind, type WorkflowExport, type WorkflowExportCharacter, type WorkflowExportCreature, type WorkflowExportLocation, type WorkflowExportObject, type WorkflowImportReport, type WorkflowImportSkippedAsset, type WorkflowMediaRef, type WorkflowPortability, type WorkflowVisibility, type WorkspaceMemberView, type WorkspaceRole, type WorkspaceSettings, WorkspaceSettingsSchema, type WorkspaceSummary, type WorkspaceView, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applyScene3DEditOperations, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromAuditCreditId, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildVideoAnalysisCreditId, buildVideoAuditCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, checkRefVideoDurations, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, classifyRefToken, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, computeAggregateLanes, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultResolutionFor, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeNodeAdjustments, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entityHydrationColumns, entityMentionSlug, entityMentionSlugForRef, entityScalarFields, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findEntityMentionTokens, findImageMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAnimalPromptHint, getAnimalTerm, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, groupLlmModelsByVendor, hasContiguousSegmentDurations, hasFeature, hexToRgbaArray, humanizeSlotSid, imageMentionSlug, imageMentionSlugForRef, imageReferenceLimit, inferMusicVideo, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGeminiOmniProvider, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isLocationUsageMode, isMinimaxH3Provider, isObjectAspectRatio, isOversizedScene, isPaygRetentionActive, isPerSecondLipSyncProvider, isScene3DHttpUrl, isScene3DPlan, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, isWan3Provider, jsonResultToList, knownEntitySlugsFromRefs, knownImageSlugsFromRefs, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, maxSegmentSecFor, maxSegmentsFor, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, minSegmentSecFor, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, newScene3DRevisionId, normalizeLottieLayers, normalizeMinimaxH3Resolution, normalizeModelInput, normalizeNodeModelParams, normalizePinterestUrl, normalizeRoleSlug, normalizeVideoRequestParams, normalizeWan3Resolution, orderedLlmModels, parseAttributedDialogue, parseCharacterMentionToken, parseEntityMentionToken, parseGroupHandle, parseHandleId, parseImageMentionToken, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetApplyClearKeys, presetDataMatches, presetEntries, pricedVideoSelection, qualityOptionsByKind, readPromptAffixes, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerCatalogSidecars, registerSidecarLoaders, renderAnalyzedScene, resetCatalogSidecars, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEffectiveTier, resolveEntityAspect, resolveFieldMappings, resolveGvpAnchorWire, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveNormalizedImageGen, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSlideshowTransition, resolveSourceThroughConnectedList, resolveStoredTier, resolveSwitchXCreditId, resolveTopazUpscale, resolveVideoAnalysisModel, resolveVideoModeForInputs, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, rotationVec3Schema, runSelector, safetyRetryPolicy, sanitizeRole, scaleVec3Schema, scene3DCameraChangesSchema, scene3DCameraKeyframeSchema, scene3DCameraSchema, scene3DColorSchema, scene3DDeepEqual, scene3DEasingSchema, scene3DEditOperationSchema, scene3DEditOperationsSchema, scene3DIdSchema, scene3DLightingChangesSchema, scene3DLightingSchema, scene3DObjectChangesSchema, scene3DObjectKeyframeSchema, scene3DObjectSchema, scene3DPlanIssues, scene3DPlanSchema, scene3DPrimitiveSchema, scene3DReferenceSchema, scene3DUrlSchema, searchModelVariants, seedance2AudioLimitSec, segmentDurationsFor, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, setRegisteredPersonPackFields, settledWithLimit, sizeVec3Schema, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripDerivedAnalysisFields, stripExportContent, stripStudioTransientSettings, stripTransientRuntimeData, summarizeScene3DOperations, sunoCreditType, supportedDefaultDimensions, supportsAdvancedMode, supportsEndAnchor, supportsExtendRender, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, uiAspectRatioFill, uiDurationFill, uiResolutionFill, unresolvedRefTokens, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, vec3Schema, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoAuditCreditsForBucket, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoNegativeSuffix, videoProviderFoldsLoneEndFrame, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };
|
|
14488
|
+
export { ACCESS_LEVELS, ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AGGREGATE_LANE_SOURCE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, type AccessLevel, type AddBRollResult, AddBRollResultSchema, type AggregateableType, type AggregationBuckets, type AiAvatarDurationBucket, type AiAvatarEngine, type AiAvatarResolution, type AiWriterProvider, type AlaCarteBoard, type AnalyzedScene, type AnchorSceneStyleResult, AnchorSceneStyleResultSchema, type Animal, type AnimalSubcategory, type AssetRef, AssetRefSchema, type AudioCrossfadeCurve, type AudioFxPreset, type AudioLayer, type AuditImagesResult, AuditImagesResultSchema, type AuditImagesShotEntry, AuditImagesShotEntrySchema, AuditPromptIssueSchema, type AuditPromptResult, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, type BoardEntityKind, type BoardPromptContext, type BoardTemplate, BridgeToNextSceneInputSchema, type BridgeToNextSceneResult, BridgeToNextSceneResultSchema, type BrowseCommunityParams, type BrowseCommunityResult, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLABORATOR_ROLES, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, type CaptionStyle, type CastCoverageCriticVerdict, CastCoverageCriticVerdictSchema, type CharacterAspectRatio, type CharacterAssetType, type CharacterAssetTypeForAspect, type CharacterAttachColumn, type CharacterDef, type CharacterFacet, type CharacterImageCriticVerdict, CharacterImageCriticVerdictSchema, type CharacterLoraFields, type CharacterMentionTokenInfo, CharacterMetadataSchema, type CharacterMotionProvider, type CharacterReferencePhoto, type CharacterReferencePhotoKind, type CharacterVariantAssetBucket, type CharacterVariantAssetItem, type CharacterVoiceSpec, type ChatEnabledStage, type ChatTurnResponse, ChatTurnResponseSchema, type CinematicResolution, type ClipLook, type CloneListingResult, type CollaboratorRole, type CombineTransition, type CombineTransitionGroup, type CombineVideosEstimatorInput, type CommunityCard, type CommunityEntityType, type CommunityFullDetail, type CommunityReportReason, type CommunitySort, type ComponentHandle, type ComponentMetadata, type ConnectedReference, type CreatureAttachColumn, CriticIssueSchema, type CustomEntry, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, type DescribedReference, type DetectionResult, DetectionResultSchema, type DialogueLine, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_BUCKET_FIELDS, ENTITY_DB_ID_FIELD, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_KIND_SCALAR_FIELDS, ENTITY_NAME_FIELD, ENTITY_NODE_KINDS, ENTITY_SCALAR_FIELDS, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TABLE, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, type EntityKind, type EntityMentionTokenInfo, type EntityMetadata, EntityMetadataSchema, type EntityNodeKind, type EntityReferenceInput, type EntityRejectInput, EntityRejectInputSchema, type EntitySlot, type EntityStaleEvent, EntityStaleEventSchema, type EntityStateChangeEvent, EntityStateChangeEventSchema, type EntityStatus, type EntityStudioKind, type EntityStyle, type EntityType, type EvaluateConditionOptions, type ExportedPreset, type ExposableField, type ExposableOutput, type ExposedSetting, type ExtendVideoProvider, type ExtraRefCharacterContext, type ExtraRefInput, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_MODE_ADAPTIVE_ONLY_ASPECT, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, type FaceSwapProvider, type FavoriteListingResult, type FeaturedEntity, type FilmCreditEstimate, type FilterListCondition, type FilterListOperator, type FilterOperator, type FixContinuityInput, FixContinuityInputSchema, type FixContinuityResult, FixContinuityResultSchema, type Flux2Model, type FreecutExportCompletePayload, type FreecutExportProgressPayload, type FreecutImportFile, type FreecutRequestImportPayload, type FullSelectorMode, type Furniture, type FurnitureSubcategory, GEMINI_OMNI_PROVIDERS, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GRANTED_ACCESS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_ANCHOR_CHOICES, GVP_DEFAULT_PROVIDER, GVP_END_FRAME_PROVIDERS, GVP_EXTEND_PROVIDERS, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, type GenerateMotionResult, GenerateMotionResultSchema, type GenericEdge, type GenericNode, type GrantedAccess, type GvpAnchorChoice, type GvpAnchorWireMode, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, type HintEdgeLike, type HintGraphContext, type HintNodeLike, type I18nCatalogId, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_ASPECT_RATIO_VALUES, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, type IdentityFidelity, type IdentityMeta, type ImageAspectRatio, type ImageCriticIssue, ImageCriticIssueSchema, type ImageCriticLeafMode, type ImageCriticMetadataKey, type ImageCriticMode, type ImageCriticNodeIssue, type ImageCriticResult, ImageCriticResultSchema, type ImageCriticVerdict, ImageCriticVerdictSchema, type ImageEditProvider, type ImageGenProvider, type ImageI2IProvider, type ImageMaskMode, type ImageMentionTokenInfo, type ImageToVideoProvider, type ImprovePromptInput, ImprovePromptInputSchema, type ImprovePromptResult, ImprovePromptResultSchema, type InputFieldSchema, type InvitationDelivery, type InvitationPreview, type InvitationState, type InvitationView, type JoinCodeView, type JsonEvalResult, type JsonFilter, type JsonPatch, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, type KieApiFormat, type KineticCaptionStyle, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LLM_VENDOR_LABELS, LLM_VENDOR_ORDER, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, type LabeledOption, type LipSyncDurationBucket, type LipSyncProvider, type LlmFeature, type LlmModelDef, type LlmModelGroup, type LlmReasoningEffort, type LlmRouteDefaults, type LlmTier, type LlmVendor, type LocaleCatalogMap, type LocaleDirection, type LocaleId, type LocationAssetType, type LocationAtmosphereProvider, type LocationAttachColumn, type LocationCatalogRef, type LocationImageCriticVerdict, LocationImageCriticVerdictSchema, type LocationMentionTokenInfo, LocationMetadataSchema, type LocationReferencePhotoKind, type LocationUsageMode, LocationsCoverageCriticIssueSchema, type LocationsCoverageCriticVerdict, LocationsCoverageCriticVerdictSchema, type LoopTrimEstimatorInput, type LoopVideoEstimatorInput, type LoraEligibleRef, type LoraRouting, type LottieOverlayCatalogEntry, type LottieSlotField, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MEMBER_STATUSES, MINIMAX_H3_DEFAULT_RESOLUTION, MINIMAX_H3_PROVIDERS, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_PARAM_NODE_TYPES, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, type MaskRegionDescriptor, type MatchCutVerdict, MatchCutVerdictSchema, type MeOrganizations, type Member, type MemberStatus, type MinimalEdge, type MinimalNode, type ModelCatalogEntry, type ModelInputAdjustment, type ModelKind, type ModelMenuOption, type ModelMode, type ModelNodeTarget, type ModelPromptingStyle, type ModelRecommendation, type ModelTreeLine, type ModelTreeVariant, type ModelValidationIssue, type ModifyImageProvider, type MotionTransferProviderType, type MusicProvider, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, type NodaroLoadTimelinePayload, type NodaroLoadVideoPayload, type NodeDefaultType, type NodeParamAdjustment, type NodePresetExport, type NormalizedImageGen, type NormalizedModelInput, type NormalizedNodes, type NormalizedVideoRequest, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, ORG_ERROR_CODES, ORG_KINDS, ORG_ROLES, ORG_STATUSES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, type ObjectAspectRatio, type ObjectAssetType, type ObjectAssetTypeForAspect, type ObjectAttachColumn, ObjectMetadataSchema, type ObjectMotionProvider, type ObjectsValidationIssue, type ObjectsValidationResult, OptimizeForModelInputSchema, type OptimizeForModelResult, OptimizeForModelResultSchema, type OrgAuditEntry, type OrgErrorCode, type OrgKind, type OrgMemberView, type OrgPage, type OrgRole, type OrgSettings, OrgSettingsSchema, type OrgStatus, type OrganizationSummary, type OrganizationView, type OutputFormat, type OutputMode, type OutputType, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PAYG_RETENTION_DAYS, PER_FORMAT_DURATION_BOUNDS, PICKER_TO_COMBINE_TRANSITION, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PRESET_SETTING_KEYS, PRICING_DEFAULT_DURATION_SEC, PRICING_DEFAULT_RESOLUTION, PROMPT_HARD_CEILING, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, type PanelGenRequest, type PanelRequest, type PanelSource, type PipelineActivationMode, type PipelineCompletedEvent, PipelineCompletedEventSchema, type PipelineConfig, PipelineConfigSchema, type PipelineDriftSummary, PipelineDriftSummarySchema, type PipelineEditorDecisionsReadyEvent, PipelineEditorDecisionsReadyEventSchema, type PipelineEvent, type PipelineForkedEvent, PipelineForkedEventSchema, type PipelineFormat, type PipelineInput, PipelineInputSchema, type PipelineLifecycleEvent, type PipelineMode, type PipelineModelStage, type PipelineMusicReadyEvent, PipelineMusicReadyEventSchema, type PipelineOutputResolution, type PipelinePinnableImageModel, type PipelinePinnableScriptLlm, type PipelinePinnableVideoModel, type PipelineStageName, PipelineStageNameSchema, type PipelineStageStatus, PipelineStageStatusSchema, type PipelineState, PipelineStateSchema, type PipelineStatus, PipelineStatusSchema, type PipelineType, type PixelBox, type PresentationItem, type PresetEntry, type PresetSettingKey, type PresetSettings, PresetSettingsSchema, type PriceVariant, type PricedVideoSelection, type ProgressSegment, type ProjectedCatalog, type ProjectedCatalogDimension, type ProjectedCatalogOption, type PromptAffixFields, type PromptAffixes, type ProposedChange, type PublishListingParams, type PublishListingResult, QA_CHECK_PROVIDERS, type QaCheckProvider, type QualityLevel, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, REF_TOKEN_NAMESPACE_PREFIXES, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, type ReduceMeta, type ReduceStrategy, type ReduceStrategyId, type RefCandidate, type RefModalityEdge, type RefTokenKind, type RefVideoDurationLimit, type ReferenceBoardProvider, type ReferenceModality, type ReferenceSheet, type ReferenceSource, type ReportListingResult, type ResolveCharacterAspectOptions, type ResolveObjectAspectOptions, type ResolveSeparatorOptions, type ResolvedDialogueVoiceLine, type RouterConditionGroup, SCENE3D_ASSET_KINDS, SCENE3D_ASSET_ROLES, SCENE3D_ASSET_ROLE_KINDS, SCENE3D_CAMERA_TRACK_FORMAT, SCENE3D_CAMERA_TRACK_LIMITS, SCENE3D_CAMERA_TRACK_VERSION, SCENE3D_CLAY_LIGHTING_PRESETS, SCENE3D_DEFAULT_DURATION_SECONDS, SCENE3D_DEFAULT_ENTITY_CAPABILITIES, SCENE3D_DEFAULT_FPS, SCENE3D_EDIT_NODE_TYPE, SCENE3D_ENTITY_CAPABILITIES, SCENE3D_ENTITY_ROLES, SCENE3D_GENERATE_NODE_TYPE, SCENE3D_GLB_EXTRAS_ALLOWLIST, SCENE3D_GLB_EXTRAS_ENTITY_ID, SCENE3D_GLB_EXTRAS_MATERIAL_ROLE, SCENE3D_GLB_EXTRAS_SUBPART_ID, SCENE3D_LIMITS, SCENE3D_PLAN_FIELD, SCENE3D_PLAN_TYPE, SCENE3D_PRIMITIVES, SCENE3D_PRIMITIVE_MATERIAL_ROLE, SCENE3D_RENDERER_ASSET_KINDS, SCENE3D_SCHEMA_VERSION, SCENE3D_SCHEMA_VERSION_V2, SCENE3D_SUPPORTED_SCHEMA_VERSIONS, SCENE3D_V2_CONTENT_HASH_EXCLUDED, SCENE3D_V2_ENGINES, SCENE3D_V2_LIMITS, SCENE3D_V2_OVERRIDE_OPERATION_VERSION, SCENE3D_V2_PRIMITIVES, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_5_REF_LIMITS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, STUDIO_SHOT_TRANSIENT_KEYS, STUDIO_TRANSIENT_KEYS, SUBMISSION_STATUSES, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_HARD_CEILING, SUNO_MODELS, SUNO_SELECT_OPERATIONS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUNO_TRACK_SOURCE_TYPES, SUNO_VERSION_PRICED_OPERATIONS, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, type SafetyRetryPolicy, type Scene3DAnchor, type Scene3DAssetAnimation, type Scene3DAssetKind, type Scene3DAssetRef, type Scene3DAssetRole, type Scene3DCamera, type Scene3DCameraChanges, type Scene3DCameraKeyframe, type Scene3DCameraSample, type Scene3DCameraTrackV1, type Scene3DClayLighting, type Scene3DClayLightingPreset, type Scene3DEasing, type Scene3DEditErrorCode, type Scene3DEditOperation, type Scene3DEditOptions, type Scene3DEditResult, type Scene3DEntityCapability, type Scene3DEntityRole, type Scene3DEntityV2, type Scene3DEntityVisual, type Scene3DJobOutput, type Scene3DJobOutputAny, type Scene3DJobOutputV2, type Scene3DKnownEngine, type Scene3DLighting, type Scene3DLightingChanges, type Scene3DMaterialBinding, type Scene3DNormalizedAssetStats, type Scene3DObject, type Scene3DObjectChanges, type Scene3DObjectKeyframe, type Scene3DOverride, type Scene3DOverrideSpace, type Scene3DParseResult, type Scene3DPlan, type Scene3DPlanV1, type Scene3DPlanV2, type Scene3DPrimitive, type Scene3DProvenance, type Scene3DReference, type Scene3DReferenceKind, type Scene3DReferenceRole, type Scene3DSemanticIssue, type Scene3DShot, type Scene3DSupportedSchemaVersion, type Scene3DV2EditOperation, type Scene3DV2EditOptions, type Scene3DV2EditResult, type Scene3DV2OverrideInput, type Scene3DV2Primitive, type Scene3DV2ResourceUsage, type SceneData, type SceneHelperName, SceneHelperNameSchema, type SceneInputMode, SceneInputModeSchema, type SceneMetadata, SceneMetadataSchema, type SceneNodeData, SceneNodeDataSchema, SceneSpecSchema, type ScraperActorId, type ScriptCriticVerdict, ScriptCriticVerdictSchema, type ScriptProvider, type Season, type SectionKind, type SelectorConfig, type SelectorFields, type SelectorMode, type SelectorPredicateOp, type SelectorResult, type SemanticAspectRatio, type SeparatorPreset, type SharedListing, type SharedVoice, type SheetAspect, type SheetBackground, type SheetCostEstimate, type SheetEntry, type SheetFlavour, type SheetGenerationPlan, type SheetPreset, type SheetPresetId, type SheetSection, type SheetSkin, type SheetTextData, type SheetType, type ShotElement, type ShotImageElement, type ShotShapeElement, type ShotSpec, ShotSpecSchema, type ShotTextElement, type ShowrunnerPlan, ShowrunnerPlanSchema, type SidecarLoader, type SlotControlDescriptor, type SlotControlKind, type SlotVariation, type SocialMediaContentType, type SocialMediaPlatform, type SocialMediaSpec, type SortDirection, type SortListOptions, type SortType, type StageAwaitingSubGateEvent, StageAwaitingSubGateEventSchema, type StaticCaptionStyle, type StoryboardCohesionCriticVerdict, StoryboardCohesionCriticVerdictSchema, type StyleDirectives, StyleDirectivesSchema, type SubGateName, SubGateNameSchema, type SubmissionStatus, type SunoAddTrackModel, type SunoModel, type SupportedFontName, type SurroundDirection, type Swatch, T2I_TO_I2I_VARIANT, TASK_CHAINED_EDIT_PROVIDERS, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TOPAZ_DEFAULT_UPSCALE_FACTOR, TOPAZ_UPSCALE_FACTORS, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, type TextToAudioProvider, type TextToVideoProvider, type TopazUpscaleAdjustment, type TopazUpscaleFactor, type TopazUpscaleResolution, type TranscribeProvider, type TransitionType, TransitionTypeSchema, type TrimVideoEstimatorInput, type TtsProvider, UPSCALE_IMAGE_PROVIDERS, USAGE_GROUP_BYS, USAGE_MODES, type UpscaleImageProvider, type UsageGroupBy, type UsageLogEntry, type UsageMode, type UsageQuery, type UsageReport, type UsageReportRow, type UsageReportTotals, type UsageVarianceRow, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_AUDIO_MODES, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_STORY_JUMPS, VIDEO_ANALYSIS_TEXT_KINDS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TIMES_OF_DAY, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_AUDIT_BUCKET_CREDITS, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_PROVIDERS_WITHOUT_DISPATCH, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_REF_VIDEO_DURATION_LIMITS, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, type ValidateMatchCutInput, ValidateMatchCutInputSchema, type ValidateMatchCutResult, ValidateMatchCutResultSchema, type ValidationField, type Vec3, type Vehicle, type VehicleSubcategory, type VideoAnalysisAudioMode, type VideoAnalysisClipTransitionIn, type VideoAnalysisEntitySource, type VideoAnalysisMixedTier, type VideoAnalysisModelTier, type VideoAnalysisResult, type VideoAnalysisShotAngle, type VideoAnalysisSpeedEffect, type VideoAnalysisTextKind, type VideoAnalysisTier, type VideoAnalysisTransition, type VideoAnalysisVisualEffect, type VideoAudioCapability, type VideoAudioMode, type VideoClipCost, type VideoCriticFrameMode, type VideoCriticMetadataKey, type VideoCriticShotFields, type VideoCriticVerdict, VideoCriticVerdictSchema, type VideoGenProvider, type VideoModeAlias, type VideoModelCapabilities, type VideoToVideoProvider, type VideoUpscaleProvider, type Voice, type VoiceChangerModel, type VoiceClone, type VoiceDesignModel, type VoiceLibraryParams, type VoiceLibraryResponse, type VoiceMatch, VoiceMatchSchema, type VoiceType, WAN_3_DEFAULT_RESOLUTION, WAN_3_PROVIDERS, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, WORKFLOW_VISIBILITIES, WORKSPACE_HEADER, WORKSPACE_HEADER_LOWER, WORKSPACE_ROLES, type Weapon, type WeaponSubcategory, type WindowAnalysis, type WindowScene, type WorkflowAssetKind, type WorkflowExport, type WorkflowExportCharacter, type WorkflowExportCreature, type WorkflowExportLocation, type WorkflowExportObject, type WorkflowImportReport, type WorkflowImportSkippedAsset, type WorkflowMediaRef, type WorkflowPortability, type WorkflowVisibility, type WorkspaceMemberView, type WorkspaceRole, type WorkspaceSettings, WorkspaceSettingsSchema, type WorkspaceSummary, type WorkspaceView, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applyScene3DEditOperations, applyScene3DV2EditOperations, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromAuditCreditId, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildVideoAnalysisCreditId, buildVideoAuditCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalScene3DPlanV2Json, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, checkRefVideoDurations, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, classifyRefToken, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, computeAggregateLanes, computeScene3DPlanV2ContentHash, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultResolutionFor, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeNodeAdjustments, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entityHydrationColumns, entityMentionSlug, entityMentionSlugForRef, entityScalarFields, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findEntityMentionTokens, findImageMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAnimalPromptHint, getAnimalTerm, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, groupLlmModelsByVendor, hasContiguousSegmentDurations, hasFeature, hexToRgbaArray, humanizeSlotSid, imageMentionSlug, imageMentionSlugForRef, imageReferenceLimit, inferMusicVideo, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGeminiOmniProvider, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isKnownScene3DEngine, isLocationUsageMode, isMinimaxH3Provider, isObjectAspectRatio, isOversizedScene, isPaygRetentionActive, isPerSecondLipSyncProvider, isScene3DCameraTrack, isScene3DHttpUrl, isScene3DPlan, isScene3DPlanV1, isScene3DPlanV2, isScene3DSchemaVersionSupported, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, isWan3Provider, jsonResultToList, knownEntitySlugsFromRefs, knownImageSlugsFromRefs, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, maxSegmentSecFor, maxSegmentsFor, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, minSegmentSecFor, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, newScene3DRevisionId, normalizeLottieLayers, normalizeMinimaxH3Resolution, normalizeModelInput, normalizeNodeModelParams, normalizePinterestUrl, normalizeRoleSlug, normalizeVideoRequestParams, normalizeWan3Resolution, orderedLlmModels, parseAttributedDialogue, parseCharacterMentionToken, parseEntityMentionToken, parseGroupHandle, parseHandleId, parseImageMentionToken, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, parseScene3DCameraTrackJson, parseScene3DPlanV2Json, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetApplyClearKeys, presetDataMatches, presetEntries, pricedVideoSelection, qualityOptionsByKind, readPromptAffixes, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerCatalogSidecars, registerSidecarLoaders, renderAnalyzedScene, resetCatalogSidecars, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEffectiveTier, resolveEntityAspect, resolveFieldMappings, resolveGvpAnchorWire, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveNormalizedImageGen, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSlideshowTransition, resolveSourceThroughConnectedList, resolveStoredTier, resolveSwitchXCreditId, resolveTopazUpscale, resolveVideoAnalysisModel, resolveVideoModeForInputs, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, rotationVec3Schema, runSelector, safetyRetryPolicy, sanitizeRole, scaleVec3Schema, scene3DAcceptedSchemaVersionsSchema, scene3DAnchorNameSchema, scene3DAnchorSchema, scene3DAnyPlanSchema, scene3DAssetAnimationSchema, scene3DAssetIdSchema, scene3DAssetRefSchema, scene3DCameraChangesSchema, scene3DCameraKeyframeSchema, scene3DCameraSampleSchema, scene3DCameraSchema, scene3DCameraTrackIssues, scene3DCameraTrackObjectSchema, scene3DCameraTrackPlanIssues, scene3DCameraTrackSchema, scene3DClayLightingSchema, scene3DColorSchema, scene3DDeepEqual, scene3DEasingSchema, scene3DEditOperationSchema, scene3DEditOperationsSchema, scene3DEngineIdSchema, scene3DEntityAcceptsOverlay, scene3DEntityCapabilitySchema, scene3DEntityV2Schema, scene3DEntityVisualSchema, scene3DIdSchema, scene3DJsonByteLength, scene3DLightingChangesSchema, scene3DLightingSchema, scene3DMaterialBindingSchema, scene3DMaterialNameSchema, scene3DMaterialRoleSchema, scene3DNodeIdSchema, scene3DObjectChangesSchema, scene3DObjectKeyframeSchema, scene3DObjectSchema, scene3DOverrideSchema, scene3DPlanIssues, scene3DPlanSchema, scene3DPlanSchemaVersion, scene3DPlanV1Issues, scene3DPlanV1ObjectSchema, scene3DPlanV1Schema, scene3DPlanV2Issues, scene3DPlanV2ObjectSchema, scene3DPlanV2Schema, scene3DPrimitiveSchema, scene3DProjectionIssues, scene3DProvenanceSchema, scene3DReferenceSchema, scene3DSampleForFrame, scene3DSha256Schema, scene3DShotForFrame, scene3DShotIndexForFrame, scene3DShotSchema, scene3DUrlSchema, scene3DV2AdmissionIssues, scene3DV2EditOperationSchema, scene3DV2EditOperationsSchema, scene3DV2HierarchyDepth, scene3DV2NormalizationIssues, scene3DV2OverrideInputSchema, scene3DV2ResourceUsage, scene3DVersionTokenSchema, scene3DZodIssues, searchModelVariants, seedance2AudioLimitSec, segmentDurationsFor, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, setRegisteredPersonPackFields, settledWithLimit, sizeVec3Schema, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripDerivedAnalysisFields, stripExportContent, stripStudioTransientSettings, stripTransientRuntimeData, summarizeScene3DOperations, sunoCreditType, supportedDefaultDimensions, supportsAdvancedMode, supportsEndAnchor, supportsExtendRender, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, uiAspectRatioFill, uiDurationFill, uiResolutionFill, unresolvedRefTokens, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, vec3Schema, verifyScene3DPlanV2ContentHash, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoAuditCreditsForBucket, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoNegativeSuffix, videoProviderFoldsLoneEndFrame, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };
|