@flighthq/scene3d-resources 0.3.0-next.906.07cea63 → 0.3.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.
Files changed (108) hide show
  1. package/dist/anisotropyPbrScene3DMaterialTextures.d.ts +3 -0
  2. package/dist/anisotropyPbrScene3DMaterialTextures.d.ts.map +1 -0
  3. package/dist/anisotropyPbrScene3DMaterialTextures.js +10 -0
  4. package/dist/anisotropyPbrScene3DMaterialTextures.js.map +1 -0
  5. package/dist/awd2Load.d.ts.map +1 -1
  6. package/dist/awd2Load.js +3 -2
  7. package/dist/awd2Load.js.map +1 -1
  8. package/dist/clearcoatPbrScene3DMaterialTextures.d.ts +3 -0
  9. package/dist/clearcoatPbrScene3DMaterialTextures.d.ts.map +1 -0
  10. package/dist/clearcoatPbrScene3DMaterialTextures.js +14 -0
  11. package/dist/clearcoatPbrScene3DMaterialTextures.js.map +1 -0
  12. package/dist/contract.d.ts +10 -1
  13. package/dist/contract.d.ts.map +1 -1
  14. package/dist/contract.js +10 -1
  15. package/dist/contract.js.map +1 -1
  16. package/dist/enableScene3DResourceFailureGuards.d.ts.map +1 -1
  17. package/dist/enableScene3DResourceFailureGuards.js +2 -2
  18. package/dist/enableScene3DResourceFailureGuards.js.map +1 -1
  19. package/dist/explainScene3DResourceCoverage.d.ts +4 -0
  20. package/dist/explainScene3DResourceCoverage.d.ts.map +1 -0
  21. package/dist/explainScene3DResourceCoverage.js +42 -0
  22. package/dist/explainScene3DResourceCoverage.js.map +1 -0
  23. package/dist/getScene3DResourceTextures.d.ts +3 -2
  24. package/dist/getScene3DResourceTextures.d.ts.map +1 -1
  25. package/dist/getScene3DResourceTextures.js +23 -27
  26. package/dist/getScene3DResourceTextures.js.map +1 -1
  27. package/dist/imageResourceFetch.d.ts +2 -2
  28. package/dist/imageResourceFetch.d.ts.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/iridescencePbrScene3DMaterialTextures.d.ts +3 -0
  34. package/dist/iridescencePbrScene3DMaterialTextures.d.ts.map +1 -0
  35. package/dist/iridescencePbrScene3DMaterialTextures.js +12 -0
  36. package/dist/iridescencePbrScene3DMaterialTextures.js.map +1 -0
  37. package/dist/loadScene3DResources.d.ts +4 -0
  38. package/dist/loadScene3DResources.d.ts.map +1 -0
  39. package/dist/{resolveScene3DResourcesAndWait.js → loadScene3DResources.js} +11 -21
  40. package/dist/loadScene3DResources.js.map +1 -0
  41. package/dist/resolveScene3DResources.d.ts +4 -3
  42. package/dist/resolveScene3DResources.d.ts.map +1 -1
  43. package/dist/resolveScene3DResources.js +49 -26
  44. package/dist/resolveScene3DResources.js.map +1 -1
  45. package/dist/revealScene3DResourcesOnResolve.d.ts +2 -2
  46. package/dist/revealScene3DResourcesOnResolve.d.ts.map +1 -1
  47. package/dist/revealScene3DResourcesOnResolve.js +9 -6
  48. package/dist/revealScene3DResourcesOnResolve.js.map +1 -1
  49. package/dist/sceneMaterialTextureRegistry.d.ts +6 -2
  50. package/dist/sceneMaterialTextureRegistry.d.ts.map +1 -1
  51. package/dist/sceneMaterialTextureRegistry.js +31 -8
  52. package/dist/sceneMaterialTextureRegistry.js.map +1 -1
  53. package/dist/sceneResourceRecovery.d.ts +2 -4
  54. package/dist/sceneResourceRecovery.d.ts.map +1 -1
  55. package/dist/sceneResourceRecovery.js +9 -28
  56. package/dist/sceneResourceRecovery.js.map +1 -1
  57. package/dist/sceneResourceResolver.d.ts.map +1 -1
  58. package/dist/sceneResourceResolver.js +6 -2
  59. package/dist/sceneResourceResolver.js.map +1 -1
  60. package/dist/shadedScene3DMaterialTextures.d.ts +3 -0
  61. package/dist/shadedScene3DMaterialTextures.d.ts.map +1 -0
  62. package/dist/shadedScene3DMaterialTextures.js +30 -0
  63. package/dist/shadedScene3DMaterialTextures.js.map +1 -0
  64. package/dist/sheenPbrScene3DMaterialTextures.d.ts +3 -0
  65. package/dist/sheenPbrScene3DMaterialTextures.d.ts.map +1 -0
  66. package/dist/sheenPbrScene3DMaterialTextures.js +12 -0
  67. package/dist/sheenPbrScene3DMaterialTextures.js.map +1 -0
  68. package/dist/specularPbrScene3DMaterialTextures.d.ts +3 -0
  69. package/dist/specularPbrScene3DMaterialTextures.d.ts.map +1 -0
  70. package/dist/specularPbrScene3DMaterialTextures.js +12 -0
  71. package/dist/specularPbrScene3DMaterialTextures.js.map +1 -0
  72. package/dist/transmissionVolumePbrScene3DMaterialTextures.d.ts +3 -0
  73. package/dist/transmissionVolumePbrScene3DMaterialTextures.d.ts.map +1 -0
  74. package/dist/transmissionVolumePbrScene3DMaterialTextures.js +12 -0
  75. package/dist/transmissionVolumePbrScene3DMaterialTextures.js.map +1 -0
  76. package/dist/wrappedDiffusePbrScene3DMaterialTextures.d.ts +3 -0
  77. package/dist/wrappedDiffusePbrScene3DMaterialTextures.d.ts.map +1 -0
  78. package/dist/wrappedDiffusePbrScene3DMaterialTextures.js +12 -0
  79. package/dist/wrappedDiffusePbrScene3DMaterialTextures.js.map +1 -0
  80. package/package.json +16 -13
  81. package/src/anisotropyPbrScene3DMaterialTextures.test.ts +26 -0
  82. package/src/awd2Load.test.ts +2 -2
  83. package/src/clearcoatPbrScene3DMaterialTextures.test.ts +36 -0
  84. package/src/enableScene3DResourceFailureGuards.test.ts +9 -8
  85. package/src/explainScene3DResourceCoverage.test.ts +115 -0
  86. package/src/getScene3DResourceTextures.test.ts +65 -38
  87. package/src/gltfLoad.test.ts +2 -2
  88. package/src/imageResourceFetch.test.ts +3 -3
  89. package/src/iridescencePbrScene3DMaterialTextures.test.ts +34 -0
  90. package/src/{resolveScene3DResourcesAndWait.test.ts → loadScene3DResources.test.ts} +40 -18
  91. package/src/md2Load.test.ts +2 -2
  92. package/src/md5Load.test.ts +2 -2
  93. package/src/objLoad.test.ts +2 -2
  94. package/src/resolveScene3DResources.test.ts +136 -53
  95. package/src/revealScene3DResourcesOnResolve.test.ts +39 -21
  96. package/src/sceneMaterialTextureRegistry.test.ts +118 -26
  97. package/src/sceneResourceRecovery.test.ts +13 -47
  98. package/src/sceneResourceResolver.test.ts +14 -11
  99. package/src/sceneResourceResolverTreeShaking.test.ts +1 -1
  100. package/src/shadedScene3DMaterialTextures.test.ts +52 -0
  101. package/src/sheenPbrScene3DMaterialTextures.test.ts +29 -0
  102. package/src/specularPbrScene3DMaterialTextures.test.ts +29 -0
  103. package/src/threeDsLoad.test.ts +2 -2
  104. package/src/transmissionVolumePbrScene3DMaterialTextures.test.ts +34 -0
  105. package/src/wrappedDiffusePbrScene3DMaterialTextures.test.ts +34 -0
  106. package/dist/resolveScene3DResourcesAndWait.d.ts +0 -4
  107. package/dist/resolveScene3DResourcesAndWait.d.ts.map +0 -1
  108. package/dist/resolveScene3DResourcesAndWait.js.map +0 -1
@@ -1,10 +1,10 @@
1
- import { loadImageResourceFromBytes } from '@flighthq/image/contract';
1
+ import { createImageResourceFailure, loadImageResourceFromBytes } from '@flighthq/image/contract';
2
2
  import { queueResourceLoad } from '@flighthq/loader/contract';
3
3
  import { emitSignal } from '@flighthq/signals/contract';
4
- import { ImageResourceFailureKind, ResourceResolutionState, ImageResourceReferenceKind, } from '@flighthq/types/contract';
4
+ import { ImageResourceFailureKind, ImageTextureSourceKind, ResourceResolutionState, ImageResourceReferenceKind, } from '@flighthq/types/contract';
5
5
  import { Scene3DResourceResolverRuntimeKey } from '@flighthq/types/contract';
6
- import { getScene3DResourceTextures } from './getScene3DResourceTextures';
7
- // Resolves one texture's ref to an ImageResource (or null for an expected failure): Embedded bytes
6
+ import { getScene3DResourceTextures, getScene3DTextureResourceReference } from './getScene3DResourceTextures';
7
+ // Resolves one texture's ref to an Image (or null for an expected failure): Embedded bytes
8
8
  // decode through @flighthq/image; External URIs go through the resolver's fetch seam. Cancellation is
9
9
  // carried by `signal` (both paths reject on abort). Exported for direct testing of the two ref kinds.
10
10
  export function resolveOneScene3DResourceTexture(resolver, ref, signal) {
@@ -13,28 +13,23 @@ export function resolveOneScene3DResourceTexture(resolver, ref, signal) {
13
13
  }
14
14
  return resolver.fetch(ref, signal);
15
15
  }
16
- // Advances resolution of `scene`'s texture resources under the given policy. Synchronous and
17
- // fire-and-forget: it starts/cancels loads to match the current working set and returns immediately,
18
- // so the caller re-invokes it as that set changes — that re-invocation IS the streaming/visibility
19
- // driver. Each pass:
20
- // 1. discovers textures and groups them by shared ImageResourceReference identity,
21
- // 2. narrows their subscribers to the working set (all, or those `select` accepts),
22
- // 3. cancels an in-flight load only when its final subscriber leaves, and
23
- // 4. requests each unresolved identity once, fanning the result out to its Texture subscribers.
24
- // Mutates `ref.state` and, on success, binds `texture.storage.image`. Emits the availability signals when
25
- // enabled.
16
+ // Reconciles the selected working set entirely synchronously. It groups shared references, recognizes
17
+ // content already present on a texture, and binds resolver-cached images to every selected subscriber.
18
+ // Acquisition, cancellation, Promise scheduling, and priority policy belong to the explicit update/load
19
+ // operations.
26
20
  export function resolveScene3DResources(scene, resolver, options) {
27
21
  const runtime = resolver[Scene3DResourceResolverRuntimeKey];
28
22
  const textures = [];
29
- getScene3DResourceTextures(scene, resolver.registry, textures);
23
+ getScene3DResourceTextures(textures, scene);
30
24
  const working = new Map();
31
25
  for (let i = 0; i < textures.length; i++) {
32
26
  const texture = textures[i];
33
- const ref = texture.resource;
27
+ const ref = getScene3DTextureResourceReference(scene, texture);
34
28
  if (ref == null)
35
29
  continue;
36
- if (texture.storage.image !== null) {
37
- runtime.resolved.set(ref, texture.storage.image);
30
+ const image = texture.dimension === '2d' ? texture.source : null;
31
+ if (image?.kind === ImageTextureSourceKind) {
32
+ runtime.resolved.set(ref, image);
38
33
  ref.failure = null;
39
34
  ref.state = ResourceResolutionState.Resolved;
40
35
  }
@@ -47,8 +42,40 @@ export function resolveScene3DResources(scene, resolver, options) {
47
42
  }
48
43
  subscribers.push(texture);
49
44
  }
45
+ const resolved = [];
46
+ const unresolved = [];
47
+ for (const [ref, subscribers] of working) {
48
+ const image = runtime.resolved.get(ref);
49
+ if (image === undefined) {
50
+ if (ref.state === ResourceResolutionState.Resolved)
51
+ ref.state = ResourceResolutionState.Unresolved;
52
+ unresolved.push({ ref, textures: subscribers });
53
+ continue;
54
+ }
55
+ ref.failure = null;
56
+ ref.state = ResourceResolutionState.Resolved;
57
+ for (let i = 0; i < subscribers.length; i++) {
58
+ bindResolvedScene3DResource(resolver, subscribers[i], ref, image);
59
+ }
60
+ resolved.push({ image, ref, textures: subscribers });
61
+ }
62
+ return { resolved, scene, unresolved };
63
+ }
64
+ // Explicit progressive pass. Repeated calls reconcile resolver-scoped in-flight state with the current
65
+ // visibility/priority working set; disposal remains the cancellation boundary for the retained resolver.
66
+ export function updateScene3DResourceStreaming(scene, resolver, options) {
67
+ const resources = resolveScene3DResources(scene, resolver, options);
68
+ const working = new Map();
69
+ addScene3DResourceGroupsToWorkingSet(working, resources.resolved);
70
+ addScene3DResourceGroupsToWorkingSet(working, resources.unresolved);
50
71
  cancelDroppedResolutions(resolver, working);
51
72
  requestWorkingResolutions(resolver, working, options);
73
+ return resources;
74
+ }
75
+ function addScene3DResourceGroupsToWorkingSet(out, groups) {
76
+ for (let i = 0; i < groups.length; i++) {
77
+ out.set(groups[i].ref, groups[i].textures);
78
+ }
52
79
  }
53
80
  function cancelDroppedResolutions(resolver, working) {
54
81
  const runtime = resolver[Scene3DResourceResolverRuntimeKey];
@@ -105,9 +132,11 @@ function failScene3DResourceResolution(resolver, ref, entry, cause) {
105
132
  emitScene3DResourceEvent(resolver, texture, ref, false);
106
133
  }
107
134
  function bindResolvedScene3DResource(resolver, texture, ref, image) {
108
- if (texture.storage.image === image)
135
+ if (texture.dimension !== '2d')
109
136
  return;
110
- texture.storage.image = image;
137
+ if (texture.source === image)
138
+ return;
139
+ texture.source = image;
111
140
  texture.version = (texture.version + 1) >>> 0;
112
141
  emitScene3DResourceEvent(resolver, texture, ref, true);
113
142
  }
@@ -167,10 +196,4 @@ function requestWorkingResolutions(resolver, working, options) {
167
196
  }
168
197
  }
169
198
  const _resolvedVoid = Promise.resolve();
170
- function createImageResourceFailure(cause) {
171
- if (cause instanceof Error) {
172
- return { kind: ImageResourceFailureKind.Error, message: cause.message, name: cause.name };
173
- }
174
- return { kind: ImageResourceFailureKind.Error, message: String(cause), name: null };
175
- }
176
199
  //# sourceMappingURL=resolveScene3DResources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveScene3DResources.js","sourceRoot":"","sources":["../src/resolveScene3DResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveScene3DResources.js","sourceRoot":"","sources":["../src/resolveScene3DResources.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { Node3D, Scene3DResourceResolver, Scene3DResourceRevealOptions, TweenManager } from '@flighthq/types/contract';
2
- export declare function revealScene3DResourcesOnResolve(resolver: Scene3DResourceResolver, scene: Readonly<Node3D>, tweenManager: TweenManager, options?: Readonly<Scene3DResourceRevealOptions>): () => void;
1
+ import type { Scene3D, Scene3DResourceResolver, Scene3DResourceRevealOptions, TweenManager } from '@flighthq/types/contract';
2
+ export declare function revealScene3DResourcesOnResolve(resolver: Scene3DResourceResolver, scene: Readonly<Scene3D>, tweenManager: TweenManager, options?: Readonly<Scene3DResourceRevealOptions>): () => void;
3
3
  //# sourceMappingURL=revealScene3DResourcesOnResolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"revealScene3DResourcesOnResolve.d.ts","sourceRoot":"","sources":["../src/revealScene3DResourcesOnResolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,MAAM,EACN,uBAAuB,EACvB,4BAA4B,EAE5B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAkBlC,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC/C,MAAM,IAAI,CAgCZ"}
1
+ {"version":3,"file":"revealScene3DResourcesOnResolve.d.ts","sourceRoot":"","sources":["../src/revealScene3DResourcesOnResolve.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,OAAO,EACP,uBAAuB,EACvB,4BAA4B,EAE5B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAoBlC,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC/C,MAAM,IAAI,CAgCZ"}
@@ -1,8 +1,10 @@
1
1
  import { forEachNodeDescendant } from '@flighthq/node/contract';
2
2
  import { isMesh } from '@flighthq/scene3d/contract';
3
3
  import { connectSignal, disconnectSignal } from '@flighthq/signals/contract';
4
+ import { hasTextureSource } from '@flighthq/texture/contract';
4
5
  import { createTween } from '@flighthq/tween/contract';
5
6
  import { ResourceResolutionState } from '@flighthq/types/contract';
7
+ import { getScene3DTextureResourceReference } from './getScene3DResourceTextures';
6
8
  import { getScene3DMaterialTextures } from './sceneMaterialTextureRegistry';
7
9
  import { enableScene3DResourceSignals } from './sceneResourceSignals';
8
10
  // The standard streamed-texture fade-in, composed from node opacity (P1/P2) + @flighthq/tween: every
@@ -13,8 +15,9 @@ import { enableScene3DResourceSignals } from './sceneResourceSignals';
13
15
  // pass re-requests it. The resolver only reports availability; this recipe animates — the app ticks
14
16
  // the fade via updateTweens(tweenManager, dt), and a node-opacity-honoring renderer makes it visible.
15
17
  //
16
- // Call BEFORE resolveScene3DResources so objects start hidden rather than popping. Returns a disposer
17
- // that disconnects the signal listener (the tween manager and any in-flight tweens are the caller's).
18
+ // Call before loadScene3DResources or updateScene3DResourceStreaming so objects start hidden rather than
19
+ // popping. Returns a disposer that disconnects the signal listener (the tween manager and any in-flight
20
+ // tweens are the caller's).
18
21
  // A texture shared across meshes fades every owning object; an object with several pending textures
19
22
  // fades in when the first of them resolves.
20
23
  export function revealScene3DResourcesOnResolve(resolver, scene, tweenManager, options) {
@@ -68,8 +71,8 @@ function collectPendingTextureOwners(scene, resolver, ownersByTexture, owners) {
68
71
  getScene3DMaterialTextures(resolver.registry, material, slots);
69
72
  for (let j = 0; j < slots.length; j++) {
70
73
  const texture = slots[j];
71
- const ref = texture.resource;
72
- if (ref == null || texture.storage.image !== null || ref.state === ResourceResolutionState.Failed)
74
+ const ref = getScene3DTextureResourceReference(scene, texture);
75
+ if (ref == null || hasTextureSource(texture) || ref.state === ResourceResolutionState.Failed)
73
76
  continue;
74
77
  let ownerState = ownersByNode.get(owner);
75
78
  if (ownerState === undefined) {
@@ -89,7 +92,7 @@ function collectPendingTextureOwners(scene, resolver, ownersByTexture, owners) {
89
92
  }
90
93
  }
91
94
  };
92
- visit(scene);
93
- forEachNodeDescendant(scene, (node) => visit(node));
95
+ visit(scene.root);
96
+ forEachNodeDescendant(scene.root, (node) => visit(node));
94
97
  }
95
98
  //# sourceMappingURL=revealScene3DResourcesOnResolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revealScene3DResourcesOnResolve.js","sourceRoot":"","sources":["../src/revealScene3DResourcesOnResolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revealScene3DResourcesOnResolve.js","sourceRoot":"","sources":["../src/revealScene3DResourcesOnResolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- import type { Kind, Material, Scene3DMaterialTextureLister, Scene3DMaterialTextureRegistry, Texture } from '@flighthq/types/contract';
1
+ import type { Kind, Material, Scene3DMaterialTextureLister, Scene3DMaterialTextureRegistry, Scene3DPbrExtensionTextureLister, Texture } from '@flighthq/types/contract';
2
2
  export declare function createScene3DMaterialTextureRegistry(): Scene3DMaterialTextureRegistry;
3
3
  export declare function getScene3DMaterialTextures(registry: Readonly<Scene3DMaterialTextureRegistry>, material: Readonly<Material>, out: Texture[]): void;
4
- export declare function registerBuiltInScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
4
+ export declare function hasScene3DMaterialTextureLister(registry: Readonly<Scene3DMaterialTextureRegistry>, kind: Kind): boolean;
5
+ export declare function registerExtendedPbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
5
6
  export declare function registerScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry, kind: Kind, lister: Scene3DMaterialTextureLister): void;
7
+ export declare function registerScene3DPbrExtensionTextures(registry: Scene3DMaterialTextureRegistry, kind: Kind, lister: Scene3DPbrExtensionTextureLister): void;
8
+ export declare function registerStandardPbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
9
+ export declare function registerUnlitScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
6
10
  //# sourceMappingURL=sceneMaterialTextureRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneMaterialTextureRegistry.d.ts","sourceRoot":"","sources":["../src/sceneMaterialTextureRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,4BAA4B,EAC5B,8BAA8B,EAE9B,OAAO,EAER,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,oCAAoC,IAAI,8BAA8B,CAErF;AAKD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EAClD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC5B,GAAG,EAAE,OAAO,EAAE,GACb,IAAI,CAGN;AAID,wBAAgB,sCAAsC,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAGrG;AAID,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,8BAA8B,EACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,4BAA4B,GACnC,IAAI,CAEN"}
1
+ {"version":3,"file":"sceneMaterialTextureRegistry.d.ts","sourceRoot":"","sources":["../src/sceneMaterialTextureRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAEJ,QAAQ,EACR,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAGhC,OAAO,EAER,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,oCAAoC,IAAI,8BAA8B,CAErF;AAKD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EAClD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC5B,GAAG,EAAE,OAAO,EAAE,GACb,IAAI,CAGN;AAKD,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,QAAQ,CAAC,8BAA8B,CAAC,EAClD,IAAI,EAAE,IAAI,GACT,OAAO,CAET;AAED,wBAAgB,0CAA0C,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAUzG;AAID,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,8BAA8B,EACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,4BAA4B,GACnC,IAAI,CAEN;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,8BAA8B,EACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gCAAgC,GACvC,IAAI,CAEN;AAED,wBAAgB,0CAA0C,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAEzG;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAEnG"}
@@ -1,7 +1,7 @@
1
1
  import { createEntity } from '@flighthq/entity/contract';
2
- import { StandardPbrMaterialKind, UnlitMaterialKind } from '@flighthq/types/contract';
2
+ import { ExtendedPbrMaterialKind, StandardPbrMaterialKind, UnlitMaterialKind } from '@flighthq/types/contract';
3
3
  export function createScene3DMaterialTextureRegistry() {
4
- return createEntity({ listers: new Map() });
4
+ return createEntity({ extensionListers: new Map(), listers: new Map() });
5
5
  }
6
6
  // Looks up the lister for `material.kind` and, when present, appends the material's non-null Textures
7
7
  // to `out`. An unregistered kind appends nothing. Does not clear `out` — it accumulates across the
@@ -11,19 +11,42 @@ export function getScene3DMaterialTextures(registry, material, out) {
11
11
  if (lister !== undefined)
12
12
  lister(material, out);
13
13
  }
14
- // Registers the built-in surface-material listers (StandardPbrMaterial and UnlitMaterial). Opt-in so
15
- // it carries no top-level side effect; callers that build their own registry invoke it explicitly.
16
- export function registerBuiltInScene3DMaterialTextures(registry) {
17
- registerScene3DMaterialTextures(registry, StandardPbrMaterialKind, listStandardPbrMaterialTextures);
18
- registerScene3DMaterialTextures(registry, UnlitMaterialKind, listUnlitMaterialTextures);
14
+ // Whether `kind` has a lister at all. getScene3DMaterialTextures appends nothing for an unregistered
15
+ // kind, which is indistinguishable from a material that genuinely has no maps — this is the query that
16
+ // separates the two, and it is what explainScene3DResourceCoverage reports through.
17
+ export function hasScene3DMaterialTextureLister(registry, kind) {
18
+ return registry.listers.has(kind);
19
+ }
20
+ export function registerExtendedPbrScene3DMaterialTextures(registry) {
21
+ registerScene3DMaterialTextures(registry, ExtendedPbrMaterialKind, (material, out) => {
22
+ const extended = material;
23
+ listStandardPbrPropertiesTextures(extended.standard, out);
24
+ for (let i = 0; i < extended.extensions.length; i++) {
25
+ const extension = extended.extensions[i];
26
+ const lister = registry.extensionListers.get(extension.kind);
27
+ if (lister !== undefined)
28
+ lister(extension, out);
29
+ }
30
+ });
19
31
  }
20
32
  // Binds `lister` to `kind` (last-write-wins; overriding a built-in with a custom lister is a
21
33
  // feature, not an error — no registration guard).
22
34
  export function registerScene3DMaterialTextures(registry, kind, lister) {
23
35
  registry.listers.set(kind, lister);
24
36
  }
37
+ export function registerScene3DPbrExtensionTextures(registry, kind, lister) {
38
+ registry.extensionListers.set(kind, lister);
39
+ }
40
+ export function registerStandardPbrScene3DMaterialTextures(registry) {
41
+ registerScene3DMaterialTextures(registry, StandardPbrMaterialKind, listStandardPbrMaterialTextures);
42
+ }
43
+ export function registerUnlitScene3DMaterialTextures(registry) {
44
+ registerScene3DMaterialTextures(registry, UnlitMaterialKind, listUnlitMaterialTextures);
45
+ }
25
46
  function listStandardPbrMaterialTextures(material, out) {
26
- const pbr = material;
47
+ listStandardPbrPropertiesTextures(material, out);
48
+ }
49
+ function listStandardPbrPropertiesTextures(pbr, out) {
27
50
  if (pbr.baseColorMap !== null)
28
51
  out.push(pbr.baseColorMap);
29
52
  if (pbr.emissiveMap !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"sceneMaterialTextureRegistry.js","sourceRoot":"","sources":["../src/sceneMaterialTextureRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,UAAU,oCAAoC;IAClD,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,sGAAsG;AACtG,mGAAmG;AACnG,uBAAuB;AACvB,MAAM,UAAU,0BAA0B,CACxC,QAAkD,EAClD,QAA4B,EAC5B,GAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,qGAAqG;AACrG,mGAAmG;AACnG,MAAM,UAAU,sCAAsC,CAAC,QAAwC;IAC7F,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;IACpG,+BAA+B,CAAC,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AAC1F,CAAC;AAED,6FAA6F;AAC7F,kDAAkD;AAClD,MAAM,UAAU,+BAA+B,CAC7C,QAAwC,EACxC,IAAU,EACV,MAAoC;IAEpC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,+BAA+B,CAAC,QAA4B,EAAE,GAAc;IACnF,MAAM,GAAG,GAAG,QAAyC,CAAC;IACtD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,oBAAoB,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1E,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA4B,EAAE,GAAc;IAC7E,MAAM,KAAK,GAAG,QAAmC,CAAC;IAClD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"sceneMaterialTextureRegistry.js","sourceRoot":"","sources":["../src/sceneMaterialTextureRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import type { ImageResourceReference, ImageResourceReferenceResolutionExplanation, ResolveScene3DResourcesOptions, Node3D, Scene3DResourceResolver } from '@flighthq/types/contract';
2
- export declare function explainImageResourceReferenceResolution(ref: Readonly<ImageResourceReference>): ImageResourceReferenceResolutionExplanation;
3
- export declare function resetFailedImageResourceReference(ref: ImageResourceReference): boolean;
4
- export declare function retryFailedScene3DResources(scene: Readonly<Node3D>, resolver: Scene3DResourceResolver, options?: Readonly<ResolveScene3DResourcesOptions>): number;
1
+ import type { Scene3D, Scene3DResourceResolver, UpdateScene3DResourceStreamingOptions } from '@flighthq/types/contract';
2
+ export declare function retryFailedScene3DResources(scene: Readonly<Scene3D>, resolver: Scene3DResourceResolver, options?: Readonly<UpdateScene3DResourceStreamingOptions>): number;
5
3
  //# sourceMappingURL=sceneResourceRecovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceRecovery.d.ts","sourceRoot":"","sources":["../src/sceneResourceRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,2CAA2C,EAC3C,8BAA8B,EAC9B,MAAM,EACN,uBAAuB,EAExB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GACpC,2CAA2C,CAO7C;AAID,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAKtF;AAKD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,MAAM,CAaR"}
1
+ {"version":3,"file":"sceneResourceRecovery.d.ts","sourceRoot":"","sources":["../src/sceneResourceRecovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,OAAO,EACP,uBAAuB,EAEvB,qCAAqC,EACtC,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,qCAAqC,CAAC,GACxD,MAAM,CAaR"}
@@ -1,35 +1,16 @@
1
- import { ResourceResolutionState } from '@flighthq/types/contract';
2
- import { getScene3DResourceTextures } from './getScene3DResourceTextures';
3
- import { resolveScene3DResources } from './resolveScene3DResources';
4
- // Returns a detached plain-data explanation suitable for logs, tools, and serialization. It never
5
- // throws and exposes no resolver runtime or raw thrown value.
6
- export function explainImageResourceReferenceResolution(ref) {
7
- return {
8
- failure: ref.failure === null ? null : { ...ref.failure },
9
- kind: ref.kind,
10
- retryable: ref.state === ResourceResolutionState.Failed,
11
- state: ref.state,
12
- };
13
- }
14
- // Returns a failed reference to the requestable state. Loading/resolved/unresolved references are
15
- // unchanged so this atom cannot invalidate live work or a successfully bound resource accidentally.
16
- export function resetFailedImageResourceReference(ref) {
17
- if (ref.state !== ResourceResolutionState.Failed)
18
- return false;
19
- ref.failure = null;
20
- ref.state = ResourceResolutionState.Unresolved;
21
- return true;
22
- }
23
- // Resets every selected failed identity once, then performs a normal resolver pass under the same
24
- // selection/priority policy. The normal pass remains authoritative for the working set, including its
25
- // documented cancellation behavior when visibility selection drops an existing subscriber.
1
+ import { resetFailedImageResourceReference } from '@flighthq/image/contract';
2
+ import { getScene3DResourceTextures, getScene3DTextureResourceReference } from './getScene3DResourceTextures';
3
+ import { updateScene3DResourceStreaming } from './resolveScene3DResources';
4
+ // Resets every selected failed identity once, then performs a streaming update under the same
5
+ // selection/priority policy. The update remains authoritative for the working set, including cancellation
6
+ // when visibility selection drops an existing subscriber.
26
7
  export function retryFailedScene3DResources(scene, resolver, options) {
27
8
  const textures = [];
28
- getScene3DResourceTextures(scene, resolver.registry, textures);
9
+ getScene3DResourceTextures(textures, scene);
29
10
  const reset = new Set();
30
11
  for (let i = 0; i < textures.length; i++) {
31
12
  const texture = textures[i];
32
- const ref = texture.resource;
13
+ const ref = getScene3DTextureResourceReference(scene, texture);
33
14
  if (ref == null || reset.has(ref))
34
15
  continue;
35
16
  if (options?.select !== undefined && !options.select(texture, ref))
@@ -37,7 +18,7 @@ export function retryFailedScene3DResources(scene, resolver, options) {
37
18
  if (resetFailedImageResourceReference(ref))
38
19
  reset.add(ref);
39
20
  }
40
- resolveScene3DResources(scene, resolver, options);
21
+ updateScene3DResourceStreaming(scene, resolver, options);
41
22
  return reset.size;
42
23
  }
43
24
  //# sourceMappingURL=sceneResourceRecovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceRecovery.js","sourceRoot":"","sources":["../src/sceneResourceRecovery.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,kGAAkG;AAClG,8DAA8D;AAC9D,MAAM,UAAU,uCAAuC,CACrD,GAAqC;IAErC,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE;QACzD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,KAAK,KAAK,uBAAuB,CAAC,MAAM;QACvD,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,oGAAoG;AACpG,MAAM,UAAU,iCAAiC,CAAC,GAA2B;IAC3E,IAAI,GAAG,CAAC,KAAK,KAAK,uBAAuB,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/D,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kGAAkG;AAClG,sGAAsG;AACtG,2FAA2F;AAC3F,MAAM,UAAU,2BAA2B,CACzC,KAAuB,EACvB,QAAiC,EACjC,OAAkD;IAElD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,SAAS;QAC7E,IAAI,iCAAiC,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"sceneResourceRecovery.js","sourceRoot":"","sources":["../src/sceneResourceRecovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAS7E,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE3E,8FAA8F;AAC9F,0GAA0G;AAC1G,0DAA0D;AAC1D,MAAM,UAAU,2BAA2B,CACzC,KAAwB,EACxB,QAAiC,EACjC,OAAyD;IAEzD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,kCAAkC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,SAAS;QAC7E,IAAI,iCAAiC,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,8BAA8B,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceResolver.d.ts","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAYxG,wBAAgB,oCAAoC,CAClD,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,uBAAuB,CAIzB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,uBAAuB,CAgBzB;AAID,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAStF"}
1
+ {"version":3,"file":"sceneResourceResolver.d.ts","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAcxG,wBAAgB,oCAAoC,CAClD,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,uBAAuB,CAQzB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,uBAAuB,CAgBzB;AAID,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAStF"}
@@ -2,12 +2,16 @@ import { createEntity } from '@flighthq/entity/contract';
2
2
  import { cancelResourceLoad, createResourceLoader, disposeResourceLoader, startResourceLoad, } from '@flighthq/loader/contract';
3
3
  import { Scene3DResourceResolverRuntimeKey } from '@flighthq/types/contract';
4
4
  import { fetchWebImageResource } from './imageResourceFetch';
5
- import { createScene3DMaterialTextureRegistry, registerBuiltInScene3DMaterialTextures, } from './sceneMaterialTextureRegistry';
5
+ import { createScene3DMaterialTextureRegistry, registerExtendedPbrScene3DMaterialTextures, registerStandardPbrScene3DMaterialTextures, registerUnlitScene3DMaterialTextures, } from './sceneMaterialTextureRegistry';
6
6
  // Explicit preconfigured assembly for the common Standard PBR + Unlit path. The primitive constructor
7
7
  // above stays empty so importing/creating it cannot silently pull material families into a custom lane.
8
8
  export function createBuiltInScene3DResourceResolver(options) {
9
9
  const resolver = createScene3DResourceResolver(options);
10
- registerBuiltInScene3DMaterialTextures(resolver.registry);
10
+ // Named one by one rather than behind a bag: this assembly's whole contract is which material
11
+ // families it covers, so that list belongs in the source a caller reads, not inside a registrar.
12
+ registerStandardPbrScene3DMaterialTextures(resolver.registry);
13
+ registerUnlitScene3DMaterialTextures(resolver.registry);
14
+ registerExtendedPbrScene3DMaterialTextures(resolver.registry);
11
15
  return resolver;
12
16
  }
13
17
  export function createScene3DResourceResolver(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceResolver.js","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,oCAAoC,EACpC,sCAAsC,GACvC,MAAM,gCAAgC,CAAC;AAExC,sGAAsG;AACtG,wGAAwG;AACxG,MAAM,UAAU,oCAAoC,CAClD,OAAkD;IAElD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACxD,sCAAsC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAkD;IAElD,oGAAoG;IACpG,oGAAoG;IACpG,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,YAAY,CAAC;QAClB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,qBAAqB;QAC9C,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,oCAAoC,EAAE;QACrE,CAAC,iCAAiC,CAAC,EAAE;YACnC,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,MAAM;YACN,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,MAAM,UAAU,8BAA8B,CAAC,QAAiC;IAC9E,MAAM,OAAO,GAAI,QAA+C,CAAC,iCAAiC,CAAC,CAAC;IACpG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"sceneResourceResolver.js","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,oCAAoC,EACpC,0CAA0C,EAC1C,0CAA0C,EAC1C,oCAAoC,GACrC,MAAM,gCAAgC,CAAC;AAExC,sGAAsG;AACtG,wGAAwG;AACxG,MAAM,UAAU,oCAAoC,CAClD,OAAkD;IAElD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACxD,8FAA8F;IAC9F,iGAAiG;IACjG,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,oCAAoC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAkD;IAElD,oGAAoG;IACpG,oGAAoG;IACpG,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,YAAY,CAAC;QAClB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,qBAAqB;QAC9C,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,oCAAoC,EAAE;QACrE,CAAC,iCAAiC,CAAC,EAAE;YACnC,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,MAAM;YACN,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,MAAM,UAAU,8BAA8B,CAAC,QAAiC;IAC9E,MAAM,OAAO,GAAI,QAA+C,CAAC,iCAAiC,CAAC,CAAC;IACpG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Scene3DMaterialTextureRegistry } from '@flighthq/types/contract';
2
+ export declare function registerShadedScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
3
+ //# sourceMappingURL=shadedScene3DMaterialTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadedScene3DMaterialTextures.d.ts","sourceRoot":"","sources":["../src/shadedScene3DMaterialTextures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAkB,MAAM,0BAA0B,CAAC;AAqB/F,wBAAgB,qCAAqC,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAOpG"}
@@ -0,0 +1,30 @@
1
+ import { ShadedMaterialKind } from '@flighthq/types/contract';
2
+ import { registerScene3DMaterialTextures } from './sceneMaterialTextureRegistry';
3
+ // Lists the ShadedMaterial base maps. Registered separately from the surface-material listers'
4
+ // PBR/unlit set so an app that never uses the shaded base pays nothing for it.
5
+ //
6
+ // Registering it is an optimization, not a prerequisite: resolution falls back to every resource-backed
7
+ // texture when a material kind has no lister (see getScene3DResourceTextures), so the cost of omitting
8
+ // it is a texture fetched that no mesh-attached material needed — not an unresolved map. It IS a
9
+ // prerequisite for revealScene3DResourcesOnResolve, which needs texture→owning-node and has no other
10
+ // way to get it; without the lister a ShadedMaterial node is simply never faded in.
11
+ //
12
+ // `getScene3DRequirements` reports this registration for every material kind in a document that carries
13
+ // image resources, which is how a caller finds it without knowing the registry exists.
14
+ //
15
+ // The base maps only. A modifier in `material.modifiers` may carry its own textures (AnimatedNormal,
16
+ // VertexDisplace, Dissolve, Emissive), and those need a per-modifier lister registry of their own — the
17
+ // shape `extensionListers` already has for PBR extensions. No importer emits modifiers yet, so that
18
+ // registry would have nothing to dispatch today.
19
+ export function registerShadedScene3DMaterialTextures(registry) {
20
+ registerScene3DMaterialTextures(registry, ShadedMaterialKind, (material, out) => {
21
+ const shaded = material;
22
+ if (shaded.diffuseMap !== null)
23
+ out.push(shaded.diffuseMap);
24
+ if (shaded.normalMap !== null)
25
+ out.push(shaded.normalMap);
26
+ if (shaded.specularMap !== null)
27
+ out.push(shaded.specularMap);
28
+ });
29
+ }
30
+ //# sourceMappingURL=shadedScene3DMaterialTextures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadedScene3DMaterialTextures.js","sourceRoot":"","sources":["../src/shadedScene3DMaterialTextures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEjF,+FAA+F;AAC/F,+EAA+E;AAC/E,EAAE;AACF,wGAAwG;AACxG,uGAAuG;AACvG,iGAAiG;AACjG,qGAAqG;AACrG,oFAAoF;AACpF,EAAE;AACF,wGAAwG;AACxG,uFAAuF;AACvF,EAAE;AACF,qGAAqG;AACrG,wGAAwG;AACxG,oGAAoG;AACpG,iDAAiD;AACjD,MAAM,UAAU,qCAAqC,CAAC,QAAwC;IAC5F,+BAA+B,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAQ,EAAE;QACpF,MAAM,MAAM,GAAG,QAAoC,CAAC;QACpD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Scene3DMaterialTextureRegistry } from '@flighthq/types/contract';
2
+ export declare function registerSheenPbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
3
+ //# sourceMappingURL=sheenPbrScene3DMaterialTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheenPbrScene3DMaterialTextures.d.ts","sourceRoot":"","sources":["../src/sheenPbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAqB,MAAM,0BAA0B,CAAC;AAKlG,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAMtG"}
@@ -0,0 +1,12 @@
1
+ import { SheenPbrExtensionKind } from '@flighthq/types/contract';
2
+ import { registerScene3DPbrExtensionTextures } from './sceneMaterialTextureRegistry';
3
+ export function registerSheenPbrScene3DMaterialTextures(registry) {
4
+ registerScene3DPbrExtensionTextures(registry, SheenPbrExtensionKind, (extension, out) => {
5
+ const sheen = extension;
6
+ if (sheen.sheenColorMap !== null)
7
+ out.push(sheen.sheenColorMap);
8
+ if (sheen.sheenRoughnessMap !== null)
9
+ out.push(sheen.sheenRoughnessMap);
10
+ });
11
+ }
12
+ //# sourceMappingURL=sheenPbrScene3DMaterialTextures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheenPbrScene3DMaterialTextures.js","sourceRoot":"","sources":["../src/sheenPbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AAErF,MAAM,UAAU,uCAAuC,CAAC,QAAwC;IAC9F,mCAAmC,CAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAC,SAAS,EAAE,GAAG,EAAQ,EAAE;QAC5F,MAAM,KAAK,GAAG,SAAwC,CAAC;QACvD,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Scene3DMaterialTextureRegistry } from '@flighthq/types/contract';
2
+ export declare function registerSpecularPbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
3
+ //# sourceMappingURL=specularPbrScene3DMaterialTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specularPbrScene3DMaterialTextures.d.ts","sourceRoot":"","sources":["../src/specularPbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAwB,MAAM,0BAA0B,CAAC;AAKrG,wBAAgB,0CAA0C,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAMzG"}
@@ -0,0 +1,12 @@
1
+ import { SpecularPbrExtensionKind } from '@flighthq/types/contract';
2
+ import { registerScene3DPbrExtensionTextures } from './sceneMaterialTextureRegistry';
3
+ export function registerSpecularPbrScene3DMaterialTextures(registry) {
4
+ registerScene3DPbrExtensionTextures(registry, SpecularPbrExtensionKind, (extension, out) => {
5
+ const specular = extension;
6
+ if (specular.specularMap !== null)
7
+ out.push(specular.specularMap);
8
+ if (specular.specularColorMap !== null)
9
+ out.push(specular.specularColorMap);
10
+ });
11
+ }
12
+ //# sourceMappingURL=specularPbrScene3DMaterialTextures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specularPbrScene3DMaterialTextures.js","sourceRoot":"","sources":["../src/specularPbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AAErF,MAAM,UAAU,0CAA0C,CAAC,QAAwC;IACjG,mCAAmC,CAAC,QAAQ,EAAE,wBAAwB,EAAE,CAAC,SAAS,EAAE,GAAG,EAAQ,EAAE;QAC/F,MAAM,QAAQ,GAAG,SAA2C,CAAC;QAC7D,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Scene3DMaterialTextureRegistry } from '@flighthq/types/contract';
2
+ export declare function registerTransmissionVolumePbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
3
+ //# sourceMappingURL=transmissionVolumePbrScene3DMaterialTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transmissionVolumePbrScene3DMaterialTextures.d.ts","sourceRoot":"","sources":["../src/transmissionVolumePbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAkC,MAAM,0BAA0B,CAAC;AAK/G,wBAAgB,oDAAoD,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAMnH"}
@@ -0,0 +1,12 @@
1
+ import { TransmissionVolumePbrExtensionKind } from '@flighthq/types/contract';
2
+ import { registerScene3DPbrExtensionTextures } from './sceneMaterialTextureRegistry';
3
+ export function registerTransmissionVolumePbrScene3DMaterialTextures(registry) {
4
+ registerScene3DPbrExtensionTextures(registry, TransmissionVolumePbrExtensionKind, (extension, out) => {
5
+ const transmission = extension;
6
+ if (transmission.transmissionMap !== null)
7
+ out.push(transmission.transmissionMap);
8
+ if (transmission.thicknessMap !== null)
9
+ out.push(transmission.thicknessMap);
10
+ });
11
+ }
12
+ //# sourceMappingURL=transmissionVolumePbrScene3DMaterialTextures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transmissionVolumePbrScene3DMaterialTextures.js","sourceRoot":"","sources":["../src/transmissionVolumePbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AAErF,MAAM,UAAU,oDAAoD,CAAC,QAAwC;IAC3G,mCAAmC,CAAC,QAAQ,EAAE,kCAAkC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAQ,EAAE;QACzG,MAAM,YAAY,GAAG,SAAqD,CAAC;QAC3E,IAAI,YAAY,CAAC,eAAe,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,YAAY,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Scene3DMaterialTextureRegistry } from '@flighthq/types/contract';
2
+ export declare function registerWrappedDiffusePbrScene3DMaterialTextures(registry: Scene3DMaterialTextureRegistry): void;
3
+ //# sourceMappingURL=wrappedDiffusePbrScene3DMaterialTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappedDiffusePbrScene3DMaterialTextures.d.ts","sourceRoot":"","sources":["../src/wrappedDiffusePbrScene3DMaterialTextures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAA8B,MAAM,0BAA0B,CAAC;AAK3G,wBAAgB,gDAAgD,CAAC,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAM/G"}