@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.
- package/README.md +2 -2
- package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js +1 -1
- package/dist/aura3d-cli/migrate-three/CompatibilityWarnings.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/emit.js +3 -3
- package/dist/aura3d-cli/migrate-three/emit.js.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.d.ts.map +1 -1
- package/dist/aura3d-cli/migrate-three/mappings.js +3 -1
- package/dist/aura3d-cli/migrate-three/mappings.js.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/engine/agent-api/compiler/customMaterial.d.ts +26 -3
- package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/customMaterial.js +115 -9
- package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
- package/dist/engine/agent-api/compiler/customTextures.d.ts +17 -0
- package/dist/engine/agent-api/compiler/customTextures.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/customTextures.js +84 -0
- package/dist/engine/agent-api/compiler/customTextures.js.map +1 -0
- package/dist/engine/agent-api/compiler/errors.d.ts +1 -1
- package/dist/engine/agent-api/compiler/errors.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/errors.js.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.js +7 -1
- package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +12 -0
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/index.d.ts +2 -0
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +2 -0
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/nodes/material.d.ts +6 -0
- package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/material.js +6 -0
- package/dist/engine/agent-api/nodes/material.js.map +1 -1
- package/dist/engine/agent-api/nodes/tsl/emit.d.ts +48 -0
- package/dist/engine/agent-api/nodes/tsl/emit.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/emit.js +361 -0
- package/dist/engine/agent-api/nodes/tsl/emit.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/index.d.ts +115 -0
- package/dist/engine/agent-api/nodes/tsl/index.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/index.js +175 -0
- package/dist/engine/agent-api/nodes/tsl/index.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.d.ts +21 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.js +113 -0
- package/dist/engine/agent-api/nodes/tsl/interpret.js.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/ir.d.ts +204 -0
- package/dist/engine/agent-api/nodes/tsl/ir.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/tsl/ir.js +501 -0
- package/dist/engine/agent-api/nodes/tsl/ir.js.map +1 -0
- package/dist/engine/agent-api/nodes/types.d.ts +2 -2
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/public/index.d.ts +2 -2
- package/dist/engine/public/index.d.ts.map +1 -1
- package/dist/engine/public/index.js +1 -1
- package/dist/engine/public/index.js.map +1 -1
- package/package.json +26 -26
- package/templates/cinematic-scene/package.json +2 -2
- package/templates/mini-game/package.json +2 -2
- package/templates/product-viewer/package.json +2 -2
- package/templates/production-asset-inspector/package.json +1 -1
- package/templates/production-material-studio/package.json +1 -1
- package/templates/production-product-configurator/package.json +1 -1
- 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
|
|
28
|
-
*
|
|
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 (
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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 };
|