@aura3d/engine 4.0.4 → 4.0.6

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 (64) hide show
  1. package/README.md +2 -2
  2. package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js +1 -1
  3. package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js.map +1 -1
  4. package/dist/aura3d-cli/migrate-three/emit.js +3 -3
  5. package/dist/aura3d-cli/migrate-three/emit.js.map +1 -1
  6. package/dist/aura3d-cli/migrate-three/mappings.d.ts.map +1 -1
  7. package/dist/aura3d-cli/migrate-three/mappings.js +3 -1
  8. package/dist/aura3d-cli/migrate-three/mappings.js.map +1 -1
  9. package/dist/create-aura3d/index.js +1 -1
  10. package/dist/engine/agent-api/compiler/customMaterial.d.ts +26 -3
  11. package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
  12. package/dist/engine/agent-api/compiler/customMaterial.js +115 -9
  13. package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
  14. package/dist/engine/agent-api/compiler/customTextures.d.ts +17 -0
  15. package/dist/engine/agent-api/compiler/customTextures.d.ts.map +1 -0
  16. package/dist/engine/agent-api/compiler/customTextures.js +84 -0
  17. package/dist/engine/agent-api/compiler/customTextures.js.map +1 -0
  18. package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
  19. package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
  20. package/dist/engine/agent-api/compiler/errors.js.map +1 -1
  21. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  22. package/dist/engine/agent-api/compiler/primitives.js +7 -1
  23. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  24. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  25. package/dist/engine/agent-api/compiler/renderer.js +12 -0
  26. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  27. package/dist/engine/agent-api/index.d.ts +2 -0
  28. package/dist/engine/agent-api/index.d.ts.map +1 -1
  29. package/dist/engine/agent-api/index.js +2 -0
  30. package/dist/engine/agent-api/index.js.map +1 -1
  31. package/dist/engine/agent-api/nodes/material.d.ts +6 -0
  32. package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
  33. package/dist/engine/agent-api/nodes/material.js +6 -0
  34. package/dist/engine/agent-api/nodes/material.js.map +1 -1
  35. package/dist/engine/agent-api/nodes/tsl/emit.d.ts +48 -0
  36. package/dist/engine/agent-api/nodes/tsl/emit.d.ts.map +1 -0
  37. package/dist/engine/agent-api/nodes/tsl/emit.js +361 -0
  38. package/dist/engine/agent-api/nodes/tsl/emit.js.map +1 -0
  39. package/dist/engine/agent-api/nodes/tsl/index.d.ts +115 -0
  40. package/dist/engine/agent-api/nodes/tsl/index.d.ts.map +1 -0
  41. package/dist/engine/agent-api/nodes/tsl/index.js +175 -0
  42. package/dist/engine/agent-api/nodes/tsl/index.js.map +1 -0
  43. package/dist/engine/agent-api/nodes/tsl/interpret.d.ts +21 -0
  44. package/dist/engine/agent-api/nodes/tsl/interpret.d.ts.map +1 -0
  45. package/dist/engine/agent-api/nodes/tsl/interpret.js +113 -0
  46. package/dist/engine/agent-api/nodes/tsl/interpret.js.map +1 -0
  47. package/dist/engine/agent-api/nodes/tsl/ir.d.ts +204 -0
  48. package/dist/engine/agent-api/nodes/tsl/ir.d.ts.map +1 -0
  49. package/dist/engine/agent-api/nodes/tsl/ir.js +501 -0
  50. package/dist/engine/agent-api/nodes/tsl/ir.js.map +1 -0
  51. package/dist/engine/agent-api/nodes/types.d.ts +2 -2
  52. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  53. package/dist/engine/public/index.d.ts +2 -2
  54. package/dist/engine/public/index.d.ts.map +1 -1
  55. package/dist/engine/public/index.js +1 -1
  56. package/dist/engine/public/index.js.map +1 -1
  57. package/package.json +26 -26
  58. package/templates/cinematic-scene/package.json +2 -2
  59. package/templates/mini-game/package.json +2 -2
  60. package/templates/product-viewer/package.json +2 -2
  61. package/templates/production-asset-inspector/package.json +1 -1
  62. package/templates/production-material-studio/package.json +1 -1
  63. package/templates/production-product-configurator/package.json +1 -1
  64. package/templates/production-product-viewer/package.json +1 -1
@@ -24,13 +24,23 @@
24
24
  * Known honest limits (documented, not silently applied):
25
25
  * - `i32`/`bool` ride the float uniform channel; GLSL aliases emit int()/bool() casts.
26
26
  * - `mat3` is padded into a mat4 slot; its alias emits `mat3(u_x)`.
27
- * - `texture2d` accepts a `TextureBinding`; an `AuraTextureRef` lowers to a
28
- * non-required binding so the renderer uses its fallback texture.
27
+ * - `texture2d` accepts a `TextureBinding`, a `texture.*` handle
28
+ * (`AuraTextureRef`, resolved to its real device texture with the handle's
29
+ * sampler state), a raw rendering `Texture` (for example a render-target
30
+ * colour attachment), or a texture asset ref (`assets.x`, loaded by
31
+ * `upgradeCustomMaterialTextures` after mount). Handle sampler fields are
32
+ * re-synced every frame without recompiling; `needsUpdate` re-uploads the
33
+ * same device texture. A uniform with no texture samples the renderer's
34
+ * white fallback and is named in `customDiagnostics`
35
+ * (`CUSTOM_TEXTURE_UNBOUND`). The handle's `repeat/offset/rotation` are not
36
+ * applied: a custom shader receives raw UVs and owns its own transform.
29
37
  * - `fog` is recorded in `customDiagnostics`, never silently applied.
30
38
  */
31
- import { PortableShaderMaterial, ShaderPreprocessor, ShaderLibrary, SHADER_CHUNKS, TextureBinding, globalShaderChunkEntries, globalShaderWgslChunkSource, isTextureBinding, registerGlobalShaderSource, unregisterGlobalShaderSource } from "../../../rendering/index.js";
39
+ import { PortableShaderMaterial, ShaderPreprocessor, ShaderLibrary, SHADER_CHUNKS, Texture, TextureBinding, globalShaderChunkEntries, globalShaderWgslChunkSource, isTextureBinding, registerGlobalShaderSource, unregisterGlobalShaderSource } from "../../../rendering/index.js";
32
40
  import { AuraRuntimeError } from "./errors.js";
33
41
  import { assertCustomAttributeName } from "../RootGeometry.js";
42
+ import { auraTextureRefTexture } from "../nodes/texture.js";
43
+ import { auraTextureRefSampler, auraTextureRefTransform, isAuraTextureRef } from "./textures.js";
34
44
  /* ------------------------------------------------------------------------- */
35
45
  /* Validation (SH-02) */
36
46
  /* ------------------------------------------------------------------------- */
@@ -138,6 +148,19 @@ export function assertAuraCustomMaterialSpec(spec, owner = "material.custom") {
138
148
  }
139
149
  }
140
150
  const isTextureRef = (value) => isRecord(value) && value.kind === "aura-texture-ref" && typeof value.id === "string";
151
+ /** `assets.x` texture refs carry a url; the texture itself loads after mount. */
152
+ const isAssetTextureRef = (value) => isRecord(value) && value.kind === "aura-asset-ref" && value.type === "texture";
153
+ /**
154
+ * A `texture.*` handle → a binding over its real device texture with the
155
+ * handle's sampler state. A ref with no backing texture (never uploaded) keeps
156
+ * the fallback-sampling placeholder so the material still compiles.
157
+ */
158
+ function bindingForTextureRef(ref, name) {
159
+ const texture = auraTextureRefTexture(ref);
160
+ if (!texture)
161
+ return new TextureBinding({ name, texture: null, required: false });
162
+ return new TextureBinding({ name, texture, sampler: auraTextureRefSampler(ref), transform: auraTextureRefTransform(ref), required: false });
163
+ }
141
164
  const numericArray = (value) => {
142
165
  if (typeof value === "number")
143
166
  return [value];
@@ -185,9 +208,14 @@ export function normalizeCustomUniformValue(type, value, name = "uniform") {
185
208
  if (type === "texture2d") {
186
209
  if (isTextureBinding(value))
187
210
  return value;
188
- if (isTextureRef(value))
211
+ if (value instanceof Texture)
212
+ return new TextureBinding({ name, texture: value, required: false });
213
+ if (isAuraTextureRef(value))
214
+ return bindingForTextureRef(value, name);
215
+ // Placeholder until `upgradeCustomMaterialTextures` loads the asset's url.
216
+ if (isAssetTextureRef(value))
189
217
  return new TextureBinding({ name, texture: null, required: false });
190
- invalidSpec("material.custom", `uniform "${name}" expects a TextureBinding or AuraTextureRef value`);
218
+ invalidSpec("material.custom", `uniform "${name}" expects a TextureBinding, a texture handle (texture.*), a Texture (for example a render-target colour attachment) or a texture asset ref`);
191
219
  }
192
220
  if (type === "color3" && typeof value === "string") {
193
221
  const color = parseColor3(value);
@@ -445,6 +473,10 @@ const normalizeHashableValue = (value) => {
445
473
  return { kind: "texture-binding", name: value.name };
446
474
  if (isTextureRef(value))
447
475
  return { kind: "texture-ref", id: value.id };
476
+ if (value instanceof Texture)
477
+ return { kind: "texture", label: value.label };
478
+ if (isAssetTextureRef(value))
479
+ return { kind: "asset-texture-ref", id: value.id };
448
480
  return numericArray(value) ?? value;
449
481
  };
450
482
  /** FNV-1a over the canonical spec — identical specs share one program cache entry. */
@@ -476,6 +508,14 @@ const adapterPreprocessor = new ShaderPreprocessor();
476
508
  const globalSourceRefs = new Map();
477
509
  /** material → authored-name → lowered uniform descriptor (runtime setUniform lookup). */
478
510
  const publicUniformsByMaterial = new WeakMap();
511
+ /** material → lowered uniform name → live `texture.*` handle bound there (sampler state re-syncs each frame). */
512
+ const liveTextureRefsByMaterial = new WeakMap();
513
+ /** Lowered `u_*` uniform name for an authored uniform name. */
514
+ export const customUniformNameFor = (publicName) => publicName.startsWith("u_") ? publicName : `u_${publicName}`;
515
+ /** Authored names of the texture2d uniforms declared on a custom material. */
516
+ export function customTextureUniformNames(material) {
517
+ return [...(publicUniformsByMaterial.get(material)?.values() ?? [])].filter((uniform) => uniform.auraType === "texture2d").map((uniform) => uniform.publicName);
518
+ }
479
519
  function adapterLibraryFor(_name) {
480
520
  // One fresh library per material instance: two materials that lower to the
481
521
  // same cache key may coexist (register() throws on duplicate names in a
@@ -521,6 +561,14 @@ export class AuraCustomShaderMaterial extends PortableShaderMaterial {
521
561
  });
522
562
  this.fogRequested = spec.fog === true;
523
563
  publicUniformsByMaterial.set(this, new Map(uniforms.map((uniform) => [uniform.publicName, uniform])));
564
+ const liveRefs = new Map();
565
+ for (const [publicName, uniform] of Object.entries(spec.uniforms ?? {})) {
566
+ const value = isRecord(uniform) ? uniform.value : undefined;
567
+ if (isAuraTextureRef(value))
568
+ liveRefs.set(customUniformNameFor(publicName), { publicName, ref: value });
569
+ }
570
+ if (liveRefs.size > 0)
571
+ liveTextureRefsByMaterial.set(this, liveRefs);
524
572
  registerGlobalShaderSource(this.sourcePair(this.sources));
525
573
  globalSourceRefs.set(this.shaderKey, (globalSourceRefs.get(this.shaderKey) ?? 0) + 1);
526
574
  }
@@ -537,9 +585,22 @@ export class AuraCustomShaderMaterial extends PortableShaderMaterial {
537
585
  globalSourceRefs.set(this.shaderKey, refs);
538
586
  }
539
587
  }
540
- /** Diagnostics authored-side: `fog` is recorded here, never silently applied. */
588
+ /**
589
+ * Diagnostics authored-side: `fog` is recorded here, never silently applied,
590
+ * and a texture2d uniform with no texture is named (`CUSTOM_TEXTURE_UNBOUND`)
591
+ * because the shader then samples the renderer's white fallback.
592
+ */
541
593
  get customDiagnostics() {
542
- return this.fogRequested ? ["material.custom: fog is not wired to custom shaders — the field is recorded, not applied"] : [];
594
+ const out = [];
595
+ if (this.fogRequested)
596
+ out.push("material.custom: fog is not wired to custom shaders — the field is recorded, not applied");
597
+ for (const publicName of customTextureUniformNames(this)) {
598
+ const binding = this.getParameter(customUniformNameFor(publicName));
599
+ if (isTextureBinding(binding) && !binding.texture) {
600
+ out.push(`[CUSTOM_TEXTURE_UNBOUND] material.custom: texture uniform "${publicName}" has no texture; the shader samples the white fallback`);
601
+ }
602
+ }
603
+ return out;
543
604
  }
544
605
  }
545
606
  /** Compile an `AuraCustomMaterialSpec` into a renderer-integrated portable material. */
@@ -566,7 +627,7 @@ export function clearCustomUniformWrites(runtimeId) {
566
627
  customUniformWrites.delete(runtimeId);
567
628
  }
568
629
  const inferTypeFromValue = (value) => {
569
- if (isTextureBinding(value) || isTextureRef(value))
630
+ if (isTextureBinding(value) || isTextureRef(value) || value instanceof Texture || isAssetTextureRef(value))
570
631
  return "texture2d";
571
632
  const scalars = numericArray(value);
572
633
  switch (scalars?.length ?? 0) {
@@ -589,10 +650,24 @@ export function applyCustomUniformWrites(material, writes) {
589
650
  for (const [publicName, value] of writes) {
590
651
  const lowered = publics?.get(publicName);
591
652
  const type = lowered?.auraType ?? inferTypeFromValue(value);
592
- const uniformName = lowered?.name ?? (publicName.startsWith("u_") ? publicName : `u_${publicName}`);
653
+ const uniformName = lowered?.name ?? customUniformNameFor(publicName);
593
654
  if (!material.uniformSchema.some((uniform) => uniform.name === uniformName))
594
655
  continue;
595
656
  const normalized = normalizeCustomUniformValue(type, value, publicName);
657
+ if (type === "texture2d") {
658
+ // A newly written handle becomes the live ref; any other texture value stops the per-frame sync.
659
+ let refs = liveTextureRefsByMaterial.get(material);
660
+ if (isAuraTextureRef(value)) {
661
+ if (!refs) {
662
+ refs = new Map();
663
+ liveTextureRefsByMaterial.set(material, refs);
664
+ }
665
+ refs.set(uniformName, { publicName, ref: value });
666
+ }
667
+ else {
668
+ refs?.delete(uniformName);
669
+ }
670
+ }
596
671
  if (uniformValuesEqual(material.getParameters().get(uniformName), normalized))
597
672
  continue;
598
673
  material.setParameter(uniformName, normalized);
@@ -600,9 +675,40 @@ export function applyCustomUniformWrites(material, writes) {
600
675
  }
601
676
  return applied;
602
677
  }
678
+ /**
679
+ * Re-derives each live `texture.*` handle's binding (texture + sampler state)
680
+ * and writes it only when it changed, so wrap/filter edits on the handle reach
681
+ * the draw without a program change. `needsUpdate` needs no sync: the binding
682
+ * points at the same device texture, whose revision the device re-uploads.
683
+ */
684
+ export function syncCustomTextureRefs(material) {
685
+ const refs = liveTextureRefsByMaterial.get(material);
686
+ if (!refs?.size)
687
+ return 0;
688
+ let applied = 0;
689
+ for (const [uniformName, { publicName, ref }] of refs) {
690
+ const next = bindingForTextureRef(ref, publicName);
691
+ if (textureBindingsEqual(material.getParameters().get(uniformName), next))
692
+ continue;
693
+ material.setParameter(uniformName, next);
694
+ applied += 1;
695
+ }
696
+ return applied;
697
+ }
698
+ const samplersEqual = (a, b) => a.minFilter === b.minFilter && a.magFilter === b.magFilter && a.addressU === b.addressU && a.addressV === b.addressV
699
+ && a.addressW === b.addressW && a.maxAnisotropy === b.maxAnisotropy && a.compare === b.compare && a.mirror === b.mirror;
700
+ const pairEqual = (a, b) => a.length === b.length && a.every((entry, index) => entry === b[index]);
701
+ function textureBindingsEqual(a, b) {
702
+ if (!isTextureBinding(a) || !isTextureBinding(b))
703
+ return false;
704
+ return a === b || (a.texture === b.texture && samplersEqual(a.sampler, b.sampler)
705
+ && pairEqual(a.offset, b.offset) && pairEqual(a.scale, b.scale) && a.rotation === b.rotation);
706
+ }
603
707
  const uniformValuesEqual = (a, b) => {
604
708
  if (a === b)
605
709
  return true;
710
+ if (isTextureBinding(a) || isTextureBinding(b))
711
+ return textureBindingsEqual(a, b);
606
712
  if (typeof a === "number" && typeof b === "number")
607
713
  return a === b;
608
714
  const av = numericArray(a);
@@ -1 +1 @@
1
- {"version":3,"file":"customMaterial.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/customMaterial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customMaterial.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/customMaterial.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * R-26 — texture asset refs (`assets.x`) bound to `material.custom` / `material.node`
3
+ * texture2d uniforms. `texture.*` handles and raw `Texture` values resolve
4
+ * synchronously in `customMaterial.ts`; an asset ref only carries a url, so its
5
+ * image loads here after mount (the same fire-and-forget pass the PBR texture
6
+ * upgrade uses). Asset textures sample raw bytes (`linear`): a custom shader
7
+ * owns its own colour management, as three's ShaderMaterial does.
8
+ *
9
+ * Limit: primitive nodes only. A `material.custom` on a `model(...)` node keeps
10
+ * the white fallback for asset refs (named by `CUSTOM_TEXTURE_UNBOUND`).
11
+ */
12
+ import type { ProductionRuntimePrimitiveEntry } from "../nodes/types.js";
13
+ type BitmapLoader = (url: string) => Promise<ImageBitmap>;
14
+ /** Loads and binds asset-ref textures for every primitive custom material (once per resource). */
15
+ export declare function upgradeCustomMaterialTextures(entries: readonly ProductionRuntimePrimitiveEntry[], warn: (message: string) => void, loadBitmap?: BitmapLoader): Promise<void>;
16
+ export {};
17
+ //# sourceMappingURL=customTextures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customTextures.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/customTextures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAgB,+BAA+B,EAAsC,MAAM,mBAAmB,CAAC;AAU3H,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAiD1D,kGAAkG;AAClG,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,SAAS,+BAA+B,EAAE,EACnD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,UAAU,GAAE,YAA4C,GACvD,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * R-26 — texture asset refs (`assets.x`) bound to `material.custom` / `material.node`
3
+ * texture2d uniforms. `texture.*` handles and raw `Texture` values resolve
4
+ * synchronously in `customMaterial.ts`; an asset ref only carries a url, so its
5
+ * image loads here after mount (the same fire-and-forget pass the PBR texture
6
+ * upgrade uses). Asset textures sample raw bytes (`linear`): a custom shader
7
+ * owns its own colour management, as three's ShaderMaterial does.
8
+ *
9
+ * Limit: primitive nodes only. A `material.custom` on a `model(...)` node keeps
10
+ * the white fallback for asset refs (named by `CUSTOM_TEXTURE_UNBOUND`).
11
+ */
12
+ import { PortableShaderMaterial, Texture, TextureBinding } from "../../../rendering/index.js";
13
+ import { customTextureUniformNames, customUniformNameFor } from "./customMaterial.js";
14
+ import { loadProductionPrimitiveBitmap } from "./textures.js";
15
+ const passed = new WeakSet();
16
+ const isRecord = (value) => typeof value === "object" && value !== null;
17
+ const isAssetTextureRef = (value) => isRecord(value) && value.kind === "aura-asset-ref" && value.type === "texture";
18
+ async function bindResource(resource, warn, loadBitmap) {
19
+ const material = resource.material;
20
+ const spec = resource.materialSpec?.kind === "custom" ? resource.materialSpec.custom : undefined;
21
+ if (!spec || !(material instanceof PortableShaderMaterial))
22
+ return;
23
+ const ownedTextures = [];
24
+ const ownedBitmaps = [];
25
+ const disposeOwned = () => {
26
+ for (const texture of ownedTextures)
27
+ texture.dispose();
28
+ for (const bitmap of ownedBitmaps)
29
+ bitmap.close();
30
+ ownedTextures.length = 0;
31
+ ownedBitmaps.length = 0;
32
+ };
33
+ for (const [publicName, uniform] of Object.entries(spec.uniforms ?? {})) {
34
+ const value = isRecord(uniform) ? uniform.value : undefined;
35
+ if (!isAssetTextureRef(value))
36
+ continue;
37
+ if (!value.url) {
38
+ warn(`[CUSTOM_TEXTURE_ASSET_URL_MISSING] "${resource.name}" uniform "${publicName}": asset "${value.id}" has no url; sampling the white fallback`);
39
+ continue;
40
+ }
41
+ try {
42
+ const bitmap = await loadBitmap(value.url);
43
+ if (material.disposed) {
44
+ bitmap.close();
45
+ disposeOwned();
46
+ return;
47
+ }
48
+ ownedBitmaps.push(bitmap);
49
+ const texture = new Texture({ width: bitmap.width, height: bitmap.height, source: bitmap, colorSpace: "linear", label: `${resource.name}-${publicName}` });
50
+ ownedTextures.push(texture);
51
+ material.setParameter(customUniformNameFor(publicName), new TextureBinding({ name: publicName, texture, required: false }));
52
+ }
53
+ catch (error) {
54
+ const message = `[CUSTOM_TEXTURE_ASSET_LOAD_FAILED] "${resource.name}" uniform "${publicName}" (${value.url}): ${error instanceof Error ? error.message : String(error)}; sampling the white fallback`;
55
+ resource.textureWarnings.push(message);
56
+ warn(message);
57
+ }
58
+ }
59
+ if (ownedTextures.length > 0) {
60
+ const previous = resource.textureDisposer;
61
+ resource.textureDisposer = () => { previous?.(); disposeOwned(); };
62
+ }
63
+ // Named once per resource: any texture2d uniform still without a texture samples the white fallback.
64
+ for (const publicName of customTextureUniformNames(material)) {
65
+ const binding = material.getParameter(customUniformNameFor(publicName));
66
+ if (binding instanceof TextureBinding && !binding.texture) {
67
+ const message = `[CUSTOM_TEXTURE_UNBOUND] "${resource.name}" uniform "${publicName}" has no texture; the shader samples the white fallback`;
68
+ resource.textureWarnings.push(message);
69
+ warn(message);
70
+ }
71
+ }
72
+ }
73
+ /** Loads and binds asset-ref textures for every primitive custom material (once per resource). */
74
+ export async function upgradeCustomMaterialTextures(entries, warn, loadBitmap = loadProductionPrimitiveBitmap) {
75
+ for (const entry of entries) {
76
+ for (const resource of entry.resources) {
77
+ if (passed.has(resource))
78
+ continue;
79
+ passed.add(resource);
80
+ await bindResource(resource, warn, loadBitmap);
81
+ }
82
+ }
83
+ }
84
+ //# sourceMappingURL=customTextures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customTextures.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/customTextures.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare class AuraRuntimeError extends Error {
2
- readonly code: "missing-canvas" | "missing-asset" | "failed-glb-load" | "unsupported-texture" | "backend-fallback" | "unknown-node-kind" | "parity-not-implemented" | "invalid-material-spec" | "invalid-primitive-params" | "invalid-camera-spec" | "invalid-lens-flare" | "compute-requires-webgpu" | "invalid-compute-spec" | "POST_FIELD_UNSUPPORTED" | import("../../contracts/compiler.js").AuraDegradationCode;
2
+ readonly code: "missing-canvas" | "missing-asset" | "failed-glb-load" | "unsupported-texture" | "backend-fallback" | "unknown-node-kind" | "parity-not-implemented" | "invalid-material-spec" | "invalid-primitive-params" | "invalid-camera-spec" | "invalid-lens-flare" | "compute-requires-webgpu" | "invalid-compute-spec" | "invalid-tsl-graph" | "tsl-type-mismatch" | "tsl-unsupported-node" | "tsl-unsupported-output" | "tsl-statement-outside-fn" | "tsl-requires-glsl-backend" | "POST_FIELD_UNSUPPORTED" | import("../../contracts/compiler.js").AuraDegradationCode;
3
3
  constructor(code: AuraRuntimeError["code"], message: string, options?: {
4
4
  readonly cause?: unknown;
5
5
  });
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/errors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EACT,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,GAClB,mBAAmB,GAGnB,wBAAwB,GAIxB,uBAAuB,GAGvB,0BAA0B,GAE1B,qBAAqB,GAErB,oBAAoB,GAGpB,yBAAyB,GAGzB,sBAAsB,GAEtB,wBAAwB,GAGxB,OAAO,6BAA6B,EAAE,mBAAmB,CAAC;gBAElD,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAMpG;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,iBAAiB;gBAElB,IAAI,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAOtG"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/errors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EACT,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,GAClB,mBAAmB,GAGnB,wBAAwB,GAIxB,uBAAuB,GAGvB,0BAA0B,GAE1B,qBAAqB,GAErB,oBAAoB,GAGpB,yBAAyB,GAGzB,sBAAsB,GAEtB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,wBAAwB,GACxB,0BAA0B,GAC1B,2BAA2B,GAE3B,wBAAwB,GAGxB,OAAO,6BAA6B,EAAE,mBAAmB,CAAC;gBAElD,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAMpG;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,iBAAiB;gBAElB,IAAI,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAOtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/errors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CA+BiD;IAE9D,YAAY,IAA8B,EAAE,OAAe,EAAE,OAAsC;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,GAAG,CAAS;IACZ,IAAI,GAAG,aAAa,CAAC;IAE9B,YAAY,IAAyF;QACnG,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU,wBAAwB,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,YAAY,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/errors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAsCiD;IAE9D,YAAY,IAA8B,EAAE,OAAe,EAAE,OAAsC;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,GAAG,CAAS;IACZ,IAAI,GAAG,aAAa,CAAC;IAE9B,YAAY,IAAyF;QACnG,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU,wBAAwB,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,YAAY,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/primitives.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAOhQ,OAAO,EAA2E,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACjJ,OAAO,EAAE,sBAAsB,EAAyI,KAAK,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAOnO;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,0BAA0B,GAAG,+BAA+B,EAAE,CAI3J;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,0BAA0B,GAAG,SAAS,kCAAkC,EAAE,CAmD1J;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,SAAI,GAAG,kCAAkC,CAsB5L;AAED,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,EAC1D,IAAI,EAAE,MAAM,GACX,YAAY,CAOd;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,GAAG,YAAY,CAOlI;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMhI;AAED,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,uBAAuB,GAAG,SAAS,GAChD,+BAA+B,CA+CjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,SAAS,0BAA0B,EAAE,EAC5C,WAAW,EAAE,MAAM,GAClB,yBAAyB,CAO3B;AAED,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC,CA4CD;AAED,OAAO,EAAE,QAAQ,EAAe,oBAAoB,EAAE,WAAW,EAAuH,MAAM,mBAAmB,CAAC;AAIlN,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAoN,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAGlR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,UAAU,0BAA0B;IAClC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,0BAA0B,CAsCrG;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAoEtI;AAqBD,wHAAwH;AACxH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,0BAA0B,GAAG,SAAS,GAAG,uBAAuB,GAAG,SAAS,CAG3I;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,0BAA0B,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAYpL;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ,CAInF;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,UAAU,CAK7G;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,yGAAyG;IACzG,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjH,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAIlE;AAwHD,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;;AA+JD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAWH;;;;;GAKG"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/compiler/primitives.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { createModelMatrix, primitiveSize, shouldNormalizeModelNode } from "../s
8
8
  import { selectAuraRootLodLevel } from "../RootGeometry.js";
9
9
  import { evaluateDistancePrioritizedMipResidency } from "../../../assets/browser-index.js";
10
10
  import { PortableShaderMaterial, createDualProbeEnvironmentLightingResources, createProductionEnvironmentLightingResources, createProductionPbrHdrPipelineFromRadiance } from "../../../rendering/index.js";
11
- import { applyCustomUniformWrites, createCustomShaderMaterial, customUniformWritesFor } from "./customMaterial.js";
11
+ import { applyCustomUniformWrites, createCustomShaderMaterial, customUniformWritesFor, syncCustomTextureRefs } from "./customMaterial.js";
12
12
  import { normalizeTextureBudgetBytes } from "../app/rendererOptions.js";
13
13
  import { AuraRuntimeError } from "./errors.js";
14
14
  import { blankProductionPrimitiveTextureState, createSdfTextPrimitiveResource } from "./textures.js";
@@ -124,6 +124,12 @@ export function createProductionInstanceColors(colors, count) {
124
124
  return values;
125
125
  }
126
126
  export function resolveProductionPrimitiveRuntimeState(entry, runtimeNodes) {
127
+ // R-26: live `texture.*` handles bound to custom-material texture2d uniforms
128
+ // keep their sampler state in sync here, with or without a runtime id.
129
+ for (const resource of entry.resources) {
130
+ if (resource.material instanceof PortableShaderMaterial)
131
+ syncCustomTextureRefs(resource.material);
132
+ }
127
133
  const runtimeId = entry.node.runtime?.id;
128
134
  if (!runtimeId)
129
135
  return { node: entry.node, visible: true };