@flighthq/scene-document 0.4.1-next.37.ff47e13 → 0.4.1-next.515.b0834fe

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.
Files changed (40) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +2 -1
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +2 -1
  5. package/dist/contract.js.map +1 -1
  6. package/dist/flightDocumentText.d.ts +5 -0
  7. package/dist/flightDocumentText.d.ts.map +1 -0
  8. package/dist/flightDocumentText.js +617 -0
  9. package/dist/flightDocumentText.js.map +1 -0
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/sceneDocumentMaterializationSelection.d.ts +13 -0
  15. package/dist/sceneDocumentMaterializationSelection.d.ts.map +1 -0
  16. package/dist/sceneDocumentMaterializationSelection.js +55 -0
  17. package/dist/sceneDocumentMaterializationSelection.js.map +1 -0
  18. package/dist/sceneDocumentRefusal.d.ts +6 -0
  19. package/dist/sceneDocumentRefusal.d.ts.map +1 -0
  20. package/dist/sceneDocumentRefusal.js +60 -0
  21. package/dist/sceneDocumentRefusal.js.map +1 -0
  22. package/dist/sceneDocumentScene2DMaterialization.d.ts +4 -5
  23. package/dist/sceneDocumentScene2DMaterialization.d.ts.map +1 -1
  24. package/dist/sceneDocumentScene2DMaterialization.js +81 -277
  25. package/dist/sceneDocumentScene2DMaterialization.js.map +1 -1
  26. package/dist/sceneDocumentScene3DMaterialization.d.ts +4 -4
  27. package/dist/sceneDocumentScene3DMaterialization.d.ts.map +1 -1
  28. package/dist/sceneDocumentScene3DMaterialization.js +145 -291
  29. package/dist/sceneDocumentScene3DMaterialization.js.map +1 -1
  30. package/dist/sceneDocumentYamlSubset.d.ts +3 -1
  31. package/dist/sceneDocumentYamlSubset.d.ts.map +1 -1
  32. package/dist/sceneDocumentYamlSubset.js.map +1 -1
  33. package/package.json +10 -9
  34. package/src/flightDocumentText.test.ts +179 -0
  35. package/src/sceneDocumentMaterializationSelection.test.ts +56 -0
  36. package/src/sceneDocumentMultiSceneMaterialization.test.ts +209 -0
  37. package/src/sceneDocumentRefusal.test.ts +143 -0
  38. package/src/sceneDocumentScene2DMaterialization.test.ts +188 -62
  39. package/src/sceneDocumentScene3DMaterialization.test.ts +485 -159
  40. package/src/sceneDocumentYamlSubset.test.ts +8 -0
@@ -1,158 +1,155 @@
1
- import { createCamera3D } from '@flighthq/camera/contract';
2
- import { createTransform3D } from '@flighthq/geometry/contract';
3
- import { createScene3DLights } from '@flighthq/lighting/contract';
4
- import { addNodeChild, getNodeChildren } from '@flighthq/node/contract';
1
+ import { createCamera3D, setCamera3DViewMatrix4FromMatrix4 } from '@flighthq/camera/contract';
2
+ import { getEntityRuntime } from '@flighthq/entity/contract';
3
+ import { acquireMatrix4, composeMatrix4FromTransform3D, createTransform3D, decomposeMatrix4ToTransform3D, inverseMatrix4, releaseMatrix4, } from '@flighthq/geometry/contract';
4
+ import { addNodeChild, getNodeChildren, getNodeWorldMatrix4 } from '@flighthq/node/contract';
5
5
  import { getRegistryTableEntry } from '@flighthq/registry/contract';
6
- import { createScene3D } from '@flighthq/scene3d/contract';
7
- import { AmbientLightKind, DirectionalLightKind, FlightDocumentRefusalReason } from '@flighthq/types/contract';
8
- import { parseSceneDocumentYamlSubset } from './sceneDocumentYamlSubset';
6
+ import { createScene3D, createScene3DLightsFromDocument } from '@flighthq/scene3d/contract';
7
+ import { AmbientLightKind, DirectionalLightKind, FlightDocumentRefusalReason, Node3DTraitsKey, } from '@flighthq/types/contract';
8
+ import { explainFlightDocumentText, parseFlightDocumentText } from './flightDocumentText';
9
+ import { selectFlightDocumentScene } from './sceneDocumentMaterializationSelection';
10
+ import { checkUnregisteredNodeKinds, createSceneRefusal } from './sceneDocumentRefusal';
9
11
  export function createFlightDocumentFromScene3D(source, cameras, lights, schemas) {
10
12
  return {
11
13
  cameras: cameras.map((c) => ({ ...c })),
12
14
  kind: 'Scene3D',
13
15
  lights: lights.map((l) => ({ ...l })),
14
- resources: [],
15
16
  scene: writeNode(source.root, schemas),
16
- version: 1,
17
17
  };
18
18
  }
19
- export function createFlightDocumentScene3DMaterialization(document, schemas, resolvers) {
20
- if (document.kind !== 'Scene3D')
21
- return null;
22
- if (document.version !== 1)
19
+ export function createFlightDocumentScene3DMaterialization(document, schemas, resolvers, sceneIndex = document.defaultScene) {
20
+ const selection = selectFlightDocumentScene(document, 'Scene3D', sceneIndex);
21
+ if (selection.refusal !== null || selection.scene.kind !== 'Scene3D')
23
22
  return null;
24
- const duplicateRefusal = checkDuplicateLights(document.lights);
23
+ const documentScene = selection.scene;
24
+ const duplicateRefusal = checkDuplicateLights(documentScene.lights, selection.sceneIndex);
25
25
  if (duplicateRefusal !== null)
26
26
  return null;
27
+ const unregisteredRefusal = checkUnregisteredNodeKinds(documentScene.scene, schemas, selection.sceneIndex, 'scene');
28
+ if (unregisteredRefusal !== null)
29
+ return null;
27
30
  const scene = createScene3D();
28
31
  const resources = resolveResources(document.resources, resolvers);
29
- materializeChildren(scene.root, document.scene.children, schemas, resources);
30
- const cameras = materializeCameras(document.cameras);
31
- const lights = materializeLights(document.lights);
32
+ // Same defect as 2D: the authored root's kind and fields were dropped because only its children were
33
+ // materialized, while the writer captured them.
34
+ if (!adoptDocumentRoot3D(scene, documentScene.scene, schemas, resources))
35
+ return null;
36
+ materializeChildren(scene.root, documentScene.scene.children, schemas, resources);
37
+ const materializedNodes = getMaterializedNodes(scene.root);
38
+ const cameras = materializeCameras(documentScene.cameras, materializedNodes);
39
+ const lights = materializeLights(documentScene.lights, materializedNodes);
32
40
  return { cameras, lights, scene };
33
41
  }
34
- export function createFlightDocumentScene3DMaterializationFromText(text, schemas, resolvers) {
35
- const document = parseFlightDocumentFromText(text);
42
+ export function createFlightDocumentScene3DMaterializationFromText(text, schemas, resolvers, sceneIndex) {
43
+ const document = parseFlightDocumentText(text);
36
44
  if (document === null)
37
45
  return null;
38
- return createFlightDocumentScene3DMaterialization(document, schemas, resolvers);
39
- }
40
- export function explainFlightDocumentScene3DRefusal(document) {
41
- if (document.kind !== 'Scene3D') {
42
- return createRefusal(FlightDocumentRefusalReason.StructureInvalid, 'kind');
43
- }
44
- if (document.version !== 1) {
45
- return {
46
- ...createRefusal(FlightDocumentRefusalReason.VersionUnsupported, 'version'),
47
- version: document.version,
48
- };
49
- }
50
- return checkDuplicateLights(document.lights);
46
+ return createFlightDocumentScene3DMaterialization(document, schemas, resolvers, sceneIndex);
51
47
  }
52
- export function explainFlightDocumentScene3DRefusalFromText(text) {
53
- const result = parseSceneDocumentYamlSubset(text);
54
- if (!result.ok) {
55
- return {
56
- actual: result.actual,
57
- column: result.column,
58
- kind: null,
59
- limit: result.limit,
60
- line: result.line,
61
- offset: result.offset,
62
- path: '',
63
- reason: result.kind,
64
- resourceKey: null,
65
- version: null,
66
- };
67
- }
68
- const value = result.value;
69
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
70
- return createRefusal(FlightDocumentRefusalReason.StructureInvalid, '');
71
- }
72
- const mapping = value;
73
- const version = mapping['flight'];
74
- if (typeof version !== 'number') {
75
- return createRefusal(FlightDocumentRefusalReason.StructureInvalid, 'flight');
76
- }
77
- if (version !== 1) {
78
- return {
79
- ...createRefusal(FlightDocumentRefusalReason.VersionUnsupported, 'version'),
80
- version,
81
- };
82
- }
83
- const kind = mapping['kind'];
84
- if (kind !== 'Scene3D') {
85
- return createRefusal(FlightDocumentRefusalReason.StructureInvalid, 'kind');
86
- }
87
- return checkDuplicateLightsFromRaw(mapping['lights']);
48
+ export function explainFlightDocumentScene3DRefusal(document, schemas, sceneIndex = document.defaultScene) {
49
+ const selection = selectFlightDocumentScene(document, 'Scene3D', sceneIndex);
50
+ if (selection.refusal !== null)
51
+ return selection.refusal;
52
+ if (selection.scene.kind !== 'Scene3D')
53
+ return null;
54
+ const lightRefusal = checkDuplicateLights(selection.scene.lights, selection.sceneIndex);
55
+ if (lightRefusal !== null)
56
+ return lightRefusal;
57
+ const unregistered = checkUnregisteredNodeKinds(selection.scene.scene, schemas, selection.sceneIndex, 'scene');
58
+ if (unregistered !== null)
59
+ return unregistered;
60
+ return checkRootKindDimension3D(selection.scene.scene, schemas, selection.sceneIndex);
61
+ }
62
+ export function explainFlightDocumentScene3DRefusalFromText(text, schemas, sceneIndex) {
63
+ const document = parseFlightDocumentText(text);
64
+ if (document === null)
65
+ return explainFlightDocumentText(text);
66
+ return explainFlightDocumentScene3DRefusal(document, schemas, sceneIndex);
88
67
  }
89
- function checkDuplicateLights(lights) {
68
+ function checkDuplicateLights(lights, sceneIndex) {
90
69
  let ambientCount = 0;
91
70
  let directionalCount = 0;
92
71
  for (const light of lights) {
93
72
  if (light.descriptor.kind === AmbientLightKind) {
94
73
  ambientCount++;
95
74
  if (ambientCount > 1) {
96
- return createRefusal(FlightDocumentRefusalReason.DuplicateAmbientLight, 'lights');
75
+ return createSceneRefusal(FlightDocumentRefusalReason.DuplicateAmbientLight, sceneIndex, 'lights');
97
76
  }
98
77
  }
99
78
  if (light.descriptor.kind === DirectionalLightKind) {
100
79
  directionalCount++;
101
80
  if (directionalCount > 1) {
102
- return createRefusal(FlightDocumentRefusalReason.DuplicateDirectionalLight, 'lights');
81
+ return createSceneRefusal(FlightDocumentRefusalReason.DuplicateDirectionalLight, sceneIndex, 'lights');
103
82
  }
104
83
  }
105
84
  }
106
85
  return null;
107
86
  }
108
- function checkDuplicateLightsFromRaw(value) {
109
- if (!Array.isArray(value))
110
- return null;
111
- let ambientCount = 0;
112
- let directionalCount = 0;
113
- for (const item of value) {
114
- if (item === null || typeof item !== 'object' || Array.isArray(item))
115
- continue;
116
- const mapping = item;
117
- const descriptor = mapping['descriptor'];
118
- if (descriptor === null || descriptor === undefined || typeof descriptor !== 'object')
119
- continue;
120
- const kind = descriptor['kind'];
121
- if (kind === AmbientLightKind) {
122
- ambientCount++;
123
- if (ambientCount > 1) {
124
- return createRefusal(FlightDocumentRefusalReason.DuplicateAmbientLight, 'lights');
125
- }
87
+ function materializeCameras(cameras, materializedNodes) {
88
+ const placement = acquireMatrix4();
89
+ const view = acquireMatrix4();
90
+ const out = [];
91
+ for (const source of cameras) {
92
+ const camera = createCamera3D({
93
+ far: source.far,
94
+ near: source.near,
95
+ projection: source.projection,
96
+ });
97
+ const boundNode = getBoundMaterializedNode(source.node, materializedNodes);
98
+ if (boundNode === null) {
99
+ composeMatrix4FromTransform3D(placement, source.transform);
100
+ if (inverseMatrix4(view, placement))
101
+ setCamera3DViewMatrix4FromMatrix4(camera, view);
126
102
  }
127
- if (kind === DirectionalLightKind) {
128
- directionalCount++;
129
- if (directionalCount > 1) {
130
- return createRefusal(FlightDocumentRefusalReason.DuplicateDirectionalLight, 'lights');
131
- }
103
+ else if (inverseMatrix4(view, getNodeWorldMatrix4(boundNode))) {
104
+ setCamera3DViewMatrix4FromMatrix4(camera, view);
132
105
  }
106
+ out.push(camera);
133
107
  }
134
- return null;
108
+ releaseMatrix4(view);
109
+ releaseMatrix4(placement);
110
+ return out;
135
111
  }
136
- function createRefusal(reason, path) {
137
- return {
138
- actual: null,
139
- column: null,
140
- kind: null,
141
- limit: null,
142
- line: null,
143
- offset: null,
144
- path,
145
- reason,
146
- resourceKey: null,
147
- version: null,
148
- };
112
+ function getBoundMaterializedNode(index, materializedNodes) {
113
+ if (index === undefined || !Number.isInteger(index) || index < 0)
114
+ return null;
115
+ return materializedNodes[index] ?? null;
149
116
  }
150
- function materializeCameras(cameras) {
151
- return cameras.map((cam) => createCamera3D({
152
- far: cam.far,
153
- near: cam.near,
154
- projection: cam.projection,
155
- }));
117
+ // Scene3DDocument binding indices address a flat node table. A Flight document stores the same logical
118
+ // population as a nested tree, so flatten it in the binary format's depth-first order, including the scene
119
+ // root at index zero. Keeping this derivation separate from node creation lets the root materializer own how
120
+ // that root is instantiated without creating a second placement model here.
121
+ function getMaterializedNodes(root) {
122
+ const out = [];
123
+ appendMaterializedNodes(out, root);
124
+ return out;
125
+ }
126
+ function appendMaterializedNodes(out, node) {
127
+ out.push(node);
128
+ for (const child of getNodeChildren(node))
129
+ appendMaterializedNodes(out, child);
130
+ }
131
+ function materializeLights(lights, materializedNodes) {
132
+ const resolvedLights = lights.map((source) => {
133
+ const boundNode = getBoundMaterializedNode(source.node, materializedNodes);
134
+ if (boundNode === null)
135
+ return { ...source };
136
+ const transform = createTransform3D();
137
+ decomposeMatrix4ToTransform3D(transform, getNodeWorldMatrix4(boundNode));
138
+ return { ...source, transform };
139
+ });
140
+ const document = {
141
+ animations: [],
142
+ cameras: [],
143
+ lights: resolvedLights,
144
+ materials: [],
145
+ meshes: [],
146
+ metadata: null,
147
+ nodes: [],
148
+ resources: [],
149
+ scenes: [],
150
+ skins: [],
151
+ };
152
+ return createScene3DLightsFromDocument(document);
156
153
  }
157
154
  function materializeChildren(parent, children, schemas, resources) {
158
155
  for (const child of children) {
@@ -166,183 +163,6 @@ function materializeChildren(parent, children, schemas, resources) {
166
163
  materializeChildren(node, child.children, schemas, resources);
167
164
  }
168
165
  }
169
- function materializeLights(lights) {
170
- const ambientEntry = lights.find((l) => l.descriptor.kind === AmbientLightKind);
171
- const directionalEntry = lights.find((l) => l.descriptor.kind === DirectionalLightKind);
172
- return createScene3DLights({
173
- ambient: ambientEntry !== undefined ? ambientEntry.descriptor : null,
174
- directional: directionalEntry !== undefined ? directionalEntry.descriptor : null,
175
- });
176
- }
177
- function parseFlightDocumentFromText(text) {
178
- const result = parseSceneDocumentYamlSubset(text);
179
- if (!result.ok)
180
- return null;
181
- const value = result.value;
182
- if (value === null || typeof value !== 'object' || Array.isArray(value))
183
- return null;
184
- const mapping = value;
185
- const version = mapping['flight'];
186
- if (version !== 1)
187
- return null;
188
- const kind = mapping['kind'];
189
- if (kind !== 'Scene3D')
190
- return null;
191
- const sceneRaw = mapping['scene'];
192
- const scene = parseDocumentNode(sceneRaw) ?? { children: [], fields: {}, kind: 'Node3D' };
193
- const resources = parseResources(mapping['resources']);
194
- const cameras = parseCameras(mapping['cameras']);
195
- const documentLights = parseLights(mapping['lights']);
196
- return {
197
- cameras,
198
- kind: 'Scene3D',
199
- lights: documentLights,
200
- resources,
201
- scene,
202
- version: 1,
203
- };
204
- }
205
- function parseCameras(value) {
206
- if (!Array.isArray(value))
207
- return [];
208
- const out = [];
209
- for (const item of value) {
210
- if (item === null || typeof item !== 'object' || Array.isArray(item))
211
- continue;
212
- const mapping = item;
213
- const far = mapping['far'];
214
- const near = mapping['near'];
215
- const projection = mapping['projection'];
216
- if (typeof far !== 'number' || typeof near !== 'number')
217
- continue;
218
- if (projection === null || projection === undefined || typeof projection !== 'object')
219
- continue;
220
- const transform = parseTransform3D(mapping['transform']);
221
- const cam = {
222
- far,
223
- near,
224
- projection: projection,
225
- transform,
226
- };
227
- const name = mapping['name'];
228
- if (typeof name === 'string')
229
- cam.name = name;
230
- out.push(cam);
231
- }
232
- return out;
233
- }
234
- function parseLights(value) {
235
- if (!Array.isArray(value))
236
- return [];
237
- const out = [];
238
- for (const item of value) {
239
- if (item === null || typeof item !== 'object' || Array.isArray(item))
240
- continue;
241
- const mapping = item;
242
- const descriptorRaw = mapping['descriptor'];
243
- if (descriptorRaw === null || descriptorRaw === undefined || typeof descriptorRaw !== 'object')
244
- continue;
245
- const descriptor = descriptorRaw;
246
- if (typeof descriptor.kind !== 'string')
247
- continue;
248
- const transform = parseTransform3D(mapping['transform']);
249
- const light = { descriptor, transform };
250
- const name = mapping['name'];
251
- if (typeof name === 'string')
252
- light.name = name;
253
- out.push(light);
254
- }
255
- return out;
256
- }
257
- function parseDocumentNode(value) {
258
- if (value === null || value === undefined || typeof value !== 'object' || Array.isArray(value)) {
259
- return null;
260
- }
261
- const mapping = value;
262
- const kind = mapping['kind'];
263
- if (typeof kind !== 'string')
264
- return null;
265
- const childrenRaw = mapping['children'];
266
- const children = [];
267
- if (Array.isArray(childrenRaw)) {
268
- for (const item of childrenRaw) {
269
- const child = parseDocumentNode(item);
270
- if (child !== null)
271
- children.push(child);
272
- }
273
- }
274
- const fields = {};
275
- for (const key of Object.keys(mapping)) {
276
- if (key === 'kind' || key === 'children')
277
- continue;
278
- fields[key] = mapping[key];
279
- }
280
- return { children, fields, kind };
281
- }
282
- function parseResources(value) {
283
- if (!Array.isArray(value))
284
- return [];
285
- const out = [];
286
- for (const item of value) {
287
- if (item === null || typeof item !== 'object' || Array.isArray(item))
288
- continue;
289
- const mapping = item;
290
- const kind = mapping['kind'];
291
- const key = mapping['key'];
292
- if (typeof kind !== 'string' || typeof key !== 'string')
293
- continue;
294
- const fields = {};
295
- for (const k of Object.keys(mapping)) {
296
- if (k === 'kind' || k === 'key')
297
- continue;
298
- fields[k] = mapping[k];
299
- }
300
- out.push({ fields, key, kind });
301
- }
302
- return out;
303
- }
304
- function parseTransform3D(value) {
305
- const identity = createTransform3D();
306
- if (value === null || value === undefined || typeof value !== 'object' || Array.isArray(value)) {
307
- return identity;
308
- }
309
- const mapping = value;
310
- const out = createTransform3D();
311
- parseVector3Into(out.position, mapping['position']);
312
- parseQuaternionInto(out.rotation, mapping['rotation']);
313
- parseVector3Into(out.scale, mapping['scale'], identity.scale);
314
- return out;
315
- }
316
- function parseVector3Into(out, value, fallback) {
317
- if (value === null || value === undefined || typeof value !== 'object' || Array.isArray(value)) {
318
- if (fallback !== undefined) {
319
- out.x = fallback.x;
320
- out.y = fallback.y;
321
- out.z = fallback.z;
322
- }
323
- return;
324
- }
325
- const mapping = value;
326
- if (typeof mapping['x'] === 'number')
327
- out.x = mapping['x'];
328
- if (typeof mapping['y'] === 'number')
329
- out.y = mapping['y'];
330
- if (typeof mapping['z'] === 'number')
331
- out.z = mapping['z'];
332
- }
333
- function parseQuaternionInto(out, value) {
334
- if (value === null || value === undefined || typeof value !== 'object' || Array.isArray(value))
335
- return;
336
- const mapping = value;
337
- if (typeof mapping['w'] === 'number')
338
- out.w = mapping['w'];
339
- if (typeof mapping['x'] === 'number')
340
- out.x = mapping['x'];
341
- if (typeof mapping['y'] === 'number')
342
- out.y = mapping['y'];
343
- if (typeof mapping['z'] === 'number')
344
- out.z = mapping['z'];
345
- }
346
166
  function resolveResources(descriptors, resolvers) {
347
167
  const out = {};
348
168
  if (resolvers === undefined)
@@ -378,4 +198,38 @@ function writeFieldsWithDefaults(out, source, schema) {
378
198
  }
379
199
  }
380
200
  }
201
+ // Replaces the scene's default root with the authored one, carrying its kind and fields. Returns false
202
+ // when the root cannot serve as a 3D root — checked structurally by reading the built node's traits key,
203
+ // so a registered kind of the wrong dimension is caught rather than installed.
204
+ function adoptDocumentRoot3D(scene, documentRoot, schemas, resources) {
205
+ const schema = getRegistryTableEntry(schemas.nodeSchemas, documentRoot.kind);
206
+ if (schema === null)
207
+ return true;
208
+ const root = schema.createNode(documentRoot.fields, resources);
209
+ if (root === null)
210
+ return false;
211
+ const runtime = getEntityRuntime(root);
212
+ if (runtime?.traits !== Node3DTraitsKey)
213
+ return false;
214
+ scene.root = root;
215
+ return true;
216
+ }
217
+ // The 3D half of the wrong-dimension root refusal.
218
+ function checkRootKindDimension3D(documentRoot, schemas, sceneIndex) {
219
+ const schema = getRegistryTableEntry(schemas.nodeSchemas, documentRoot.kind);
220
+ if (schema === null)
221
+ return null;
222
+ const probe = schema.createNode(documentRoot.fields, {
223
+ resolve: () => null,
224
+ });
225
+ if (probe === null)
226
+ return null;
227
+ const runtime = getEntityRuntime(probe);
228
+ if (runtime?.traits === Node3DTraitsKey)
229
+ return null;
230
+ return {
231
+ ...createSceneRefusal(FlightDocumentRefusalReason.RootKindMismatch, sceneIndex, 'scene'),
232
+ kind: documentRoot.kind,
233
+ };
234
+ }
381
235
  //# sourceMappingURL=sceneDocumentScene3DMaterialization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneDocumentScene3DMaterialization.js","sourceRoot":"","sources":["../src/sceneDocumentScene3DMaterialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sceneDocumentScene3DMaterialization.js","sourceRoot":"","sources":["../src/sceneDocumentScene3DMaterialization.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { FlightDocumentRefusalReason } from '@flighthq/types/contract';
1
2
  type SceneDocumentYamlSubsetValue = null | boolean | number | string | SceneDocumentYamlSubsetValue[] | SceneDocumentYamlSubsetMapping;
2
3
  interface SceneDocumentYamlSubsetMapping {
3
4
  [key: string]: SceneDocumentYamlSubsetValue;
@@ -8,7 +9,7 @@ interface SceneDocumentYamlSubsetSuccess {
8
9
  }
9
10
  interface SceneDocumentYamlSubsetRefusal {
10
11
  readonly ok: false;
11
- readonly kind: string;
12
+ readonly kind: SceneDocumentYamlSubsetRefusalReason;
12
13
  readonly limit: number | null;
13
14
  readonly actual: number | null;
14
15
  readonly offset: number;
@@ -16,6 +17,7 @@ interface SceneDocumentYamlSubsetRefusal {
16
17
  readonly column: number;
17
18
  }
18
19
  type SceneDocumentYamlSubsetResult = SceneDocumentYamlSubsetSuccess | SceneDocumentYamlSubsetRefusal;
20
+ type SceneDocumentYamlSubsetRefusalReason = Extract<FlightDocumentRefusalReason, 'flight-document.limit.collection-entries' | 'flight-document.limit.document-code-units' | 'flight-document.limit.key-code-units' | 'flight-document.limit.nesting-depth' | 'flight-document.limit.scalar-code-units' | 'flight-document.limit.total-nodes' | 'flight-document.scalar.number-out-of-range' | 'flight-document.syntax.duplicate-key' | 'flight-document.syntax.expected-flow-delimiter' | 'flight-document.syntax.expected-mapping-entry' | 'flight-document.syntax.expected-mapping-key' | 'flight-document.syntax.expected-scalar' | 'flight-document.syntax.expected-value' | 'flight-document.syntax.invalid-document' | 'flight-document.syntax.invalid-escape' | 'flight-document.syntax.mixed-collection' | 'flight-document.syntax.multiple-root-values' | 'flight-document.syntax.root-indentation' | 'flight-document.syntax.tab-character' | 'flight-document.syntax.trailing-flow-comma' | 'flight-document.syntax.trailing-flow-content' | 'flight-document.syntax.unexpected-indentation' | 'flight-document.syntax.unexpected-token' | 'flight-document.syntax.unterminated-flow-mapping' | 'flight-document.syntax.unterminated-quoted-scalar' | 'flight-document.unsupported.alias' | 'flight-document.unsupported.anchor' | 'flight-document.unsupported.block-scalar' | 'flight-document.unsupported.document-separator' | 'flight-document.unsupported.flow-sequence' | 'flight-document.unsupported.tag'>;
19
21
  /**
20
22
  * Parses the deliberately closed YAML subset that will underlie Flight document text. The module is
21
23
  * private because it yields syntax values only; it does not claim or materialize a scene schema.
@@ -1 +1 @@
1
- {"version":3,"file":"sceneDocumentYamlSubset.d.ts","sourceRoot":"","sources":["../src/sceneDocumentYamlSubset.ts"],"names":[],"mappings":"AAAA,KAAK,4BAA4B,GAC7B,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,4BAA4B,EAAE,GAC9B,8BAA8B,CAAC;AAEnC,UAAU,8BAA8B;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC7C;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;CAC9C;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,6BAA6B,GAAG,8BAA8B,GAAG,8BAA8B,CAAC;AA+CrG;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,6BAA6B,CAc1F"}
1
+ {"version":3,"file":"sceneDocumentYamlSubset.d.ts","sourceRoot":"","sources":["../src/sceneDocumentYamlSubset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,KAAK,4BAA4B,GAC7B,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,4BAA4B,EAAE,GAC9B,8BAA8B,CAAC;AAEnC,UAAU,8BAA8B;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC7C;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;CAC9C;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,oCAAoC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,6BAA6B,GAAG,8BAA8B,GAAG,8BAA8B,CAAC;AAKrG,KAAK,oCAAoC,GAAG,OAAO,CACjD,2BAA2B,EACzB,0CAA0C,GAC1C,2CAA2C,GAC3C,sCAAsC,GACtC,qCAAqC,GACrC,yCAAyC,GACzC,mCAAmC,GACnC,4CAA4C,GAC5C,sCAAsC,GACtC,gDAAgD,GAChD,+CAA+C,GAC/C,6CAA6C,GAC7C,wCAAwC,GACxC,uCAAuC,GACvC,yCAAyC,GACzC,uCAAuC,GACvC,yCAAyC,GACzC,6CAA6C,GAC7C,yCAAyC,GACzC,sCAAsC,GACtC,4CAA4C,GAC5C,8CAA8C,GAC9C,+CAA+C,GAC/C,yCAAyC,GACzC,kDAAkD,GAClD,mDAAmD,GACnD,mCAAmC,GACnC,oCAAoC,GACpC,0CAA0C,GAC1C,gDAAgD,GAChD,2CAA2C,GAC3C,iCAAiC,CACpC,CAAC;AA+CF;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,6BAA6B,CAc1F"}