@aura3d/rendering 4.0.2 → 4.0.4

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 (240) hide show
  1. package/dist/EnvironmentPlatform.d.ts.map +1 -1
  2. package/dist/EnvironmentPlatform.js +6 -2
  3. package/dist/EnvironmentPlatform.js.map +1 -1
  4. package/dist/ForwardPass.d.ts +2 -0
  5. package/dist/ForwardPass.d.ts.map +1 -1
  6. package/dist/ForwardPass.js +70 -5
  7. package/dist/ForwardPass.js.map +1 -1
  8. package/dist/Geometry.d.ts +40 -0
  9. package/dist/Geometry.d.ts.map +1 -1
  10. package/dist/Geometry.js +39 -2
  11. package/dist/Geometry.js.map +1 -1
  12. package/dist/IndexBuffer.d.ts +16 -1
  13. package/dist/IndexBuffer.d.ts.map +1 -1
  14. package/dist/IndexBuffer.js +46 -1
  15. package/dist/IndexBuffer.js.map +1 -1
  16. package/dist/InstancedPBRMaterial.d.ts +2 -0
  17. package/dist/InstancedPBRMaterial.d.ts.map +1 -1
  18. package/dist/InstancedPBRMaterial.js +1 -0
  19. package/dist/InstancedPBRMaterial.js.map +1 -1
  20. package/dist/Material.d.ts +9 -0
  21. package/dist/Material.d.ts.map +1 -1
  22. package/dist/Material.js +3 -0
  23. package/dist/Material.js.map +1 -1
  24. package/dist/PBRMaterial.d.ts +2 -0
  25. package/dist/PBRMaterial.d.ts.map +1 -1
  26. package/dist/PBRMaterial.js +1 -0
  27. package/dist/PBRMaterial.js.map +1 -1
  28. package/dist/PortableShaderMaterial.d.ts +13 -3
  29. package/dist/PortableShaderMaterial.d.ts.map +1 -1
  30. package/dist/PortableShaderMaterial.js +24 -12
  31. package/dist/PortableShaderMaterial.js.map +1 -1
  32. package/dist/RenderDevice.d.ts +98 -0
  33. package/dist/RenderDevice.d.ts.map +1 -1
  34. package/dist/RenderDevice.js +129 -0
  35. package/dist/RenderDevice.js.map +1 -1
  36. package/dist/Renderer.d.ts +94 -0
  37. package/dist/Renderer.d.ts.map +1 -1
  38. package/dist/Renderer.js +321 -26
  39. package/dist/Renderer.js.map +1 -1
  40. package/dist/Sampler.d.ts +35 -0
  41. package/dist/Sampler.d.ts.map +1 -1
  42. package/dist/Sampler.js +96 -0
  43. package/dist/Sampler.js.map +1 -1
  44. package/dist/ShaderLibraryCore.d.ts +14 -0
  45. package/dist/ShaderLibraryCore.d.ts.map +1 -1
  46. package/dist/ShaderLibraryCore.js +94 -4
  47. package/dist/ShaderLibraryCore.js.map +1 -1
  48. package/dist/Texture.d.ts +53 -1
  49. package/dist/Texture.d.ts.map +1 -1
  50. package/dist/Texture.js +53 -2
  51. package/dist/Texture.js.map +1 -1
  52. package/dist/UnlitMaterial.d.ts +46 -0
  53. package/dist/UnlitMaterial.d.ts.map +1 -1
  54. package/dist/UnlitMaterial.js +32 -3
  55. package/dist/UnlitMaterial.js.map +1 -1
  56. package/dist/VertexFormat.d.ts +19 -1
  57. package/dist/VertexFormat.d.ts.map +1 -1
  58. package/dist/VertexFormat.js +40 -1
  59. package/dist/VertexFormat.js.map +1 -1
  60. package/dist/WebGL2Device.d.ts +16 -0
  61. package/dist/WebGL2Device.d.ts.map +1 -1
  62. package/dist/WebGL2Device.js +31 -6
  63. package/dist/WebGL2Device.js.map +1 -1
  64. package/dist/WebGPUDevice.d.ts +92 -1
  65. package/dist/WebGPUDevice.d.ts.map +1 -1
  66. package/dist/WebGPUDevice.js +417 -44
  67. package/dist/WebGPUDevice.js.map +1 -1
  68. package/dist/batching/BatchedGeometryPool.d.ts +22 -1
  69. package/dist/batching/BatchedGeometryPool.d.ts.map +1 -1
  70. package/dist/batching/BatchedGeometryPool.js +50 -2
  71. package/dist/batching/BatchedGeometryPool.js.map +1 -1
  72. package/dist/batching/DrawDataTexture.d.ts +21 -1
  73. package/dist/batching/DrawDataTexture.d.ts.map +1 -1
  74. package/dist/batching/DrawDataTexture.js +30 -4
  75. package/dist/batching/DrawDataTexture.js.map +1 -1
  76. package/dist/batching/MultiDrawBatch.d.ts +26 -0
  77. package/dist/batching/MultiDrawBatch.d.ts.map +1 -1
  78. package/dist/batching/MultiDrawBatch.js +64 -2
  79. package/dist/batching/MultiDrawBatch.js.map +1 -1
  80. package/dist/batching/index.d.ts +2 -2
  81. package/dist/batching/index.d.ts.map +1 -1
  82. package/dist/batching/index.js +2 -2
  83. package/dist/batching/index.js.map +1 -1
  84. package/dist/compute/ComputeContext.d.ts +84 -0
  85. package/dist/compute/ComputeContext.d.ts.map +1 -0
  86. package/dist/compute/ComputeContext.js +371 -0
  87. package/dist/compute/ComputeContext.js.map +1 -0
  88. package/dist/compute/index.d.ts +4 -0
  89. package/dist/compute/index.d.ts.map +1 -0
  90. package/dist/compute/index.js +3 -0
  91. package/dist/compute/index.js.map +1 -0
  92. package/dist/compute/types.d.ts +108 -0
  93. package/dist/compute/types.d.ts.map +1 -0
  94. package/dist/compute/types.js +25 -0
  95. package/dist/compute/types.js.map +1 -0
  96. package/dist/contracts/core.d.ts +1 -1
  97. package/dist/contracts/core.d.ts.map +1 -1
  98. package/dist/contracts/core.js.map +1 -1
  99. package/dist/contracts/flags.state.d.ts.map +1 -1
  100. package/dist/contracts/flags.state.js +20 -1
  101. package/dist/contracts/flags.state.js.map +1 -1
  102. package/dist/contracts/output.d.ts +1 -1
  103. package/dist/contracts/output.d.ts.map +1 -1
  104. package/dist/contracts/output.js.map +1 -1
  105. package/dist/contracts/post.d.ts +7 -0
  106. package/dist/contracts/post.d.ts.map +1 -1
  107. package/dist/contracts/post.js.map +1 -1
  108. package/dist/contracts/renderItem.d.ts +15 -0
  109. package/dist/contracts/renderItem.d.ts.map +1 -1
  110. package/dist/contracts/renderSource.d.ts +3 -1
  111. package/dist/contracts/renderSource.d.ts.map +1 -1
  112. package/dist/contracts/sampling.d.ts +23 -0
  113. package/dist/contracts/sampling.d.ts.map +1 -1
  114. package/dist/contracts/sampling.js.map +1 -1
  115. package/dist/environment/EnvironmentCache.d.ts.map +1 -1
  116. package/dist/environment/EnvironmentCache.js +7 -3
  117. package/dist/environment/EnvironmentCache.js.map +1 -1
  118. package/dist/environment/RoomEnvironmentScene.d.ts +2 -2
  119. package/dist/environment/RoomEnvironmentScene.d.ts.map +1 -1
  120. package/dist/environment/RoomEnvironmentScene.js.map +1 -1
  121. package/dist/geometry/Circle.d.ts +14 -0
  122. package/dist/geometry/Circle.d.ts.map +1 -0
  123. package/dist/geometry/Circle.js +31 -0
  124. package/dist/geometry/Circle.js.map +1 -0
  125. package/dist/geometry/Cone.d.ts +37 -0
  126. package/dist/geometry/Cone.d.ts.map +1 -0
  127. package/dist/geometry/Cone.js +129 -0
  128. package/dist/geometry/Cone.js.map +1 -0
  129. package/dist/geometry/Convex.d.ts +19 -0
  130. package/dist/geometry/Convex.d.ts.map +1 -0
  131. package/dist/geometry/Convex.js +27 -0
  132. package/dist/geometry/Convex.js.map +1 -0
  133. package/dist/geometry/Edges.d.ts +15 -0
  134. package/dist/geometry/Edges.d.ts.map +1 -0
  135. package/dist/geometry/Edges.js +98 -0
  136. package/dist/geometry/Edges.js.map +1 -0
  137. package/dist/geometry/Extrude.d.ts +29 -0
  138. package/dist/geometry/Extrude.d.ts.map +1 -0
  139. package/dist/geometry/Extrude.js +403 -0
  140. package/dist/geometry/Extrude.js.map +1 -0
  141. package/dist/geometry/Lathe.d.ts +20 -0
  142. package/dist/geometry/Lathe.d.ts.map +1 -0
  143. package/dist/geometry/Lathe.js +94 -0
  144. package/dist/geometry/Lathe.js.map +1 -0
  145. package/dist/geometry/Polyhedron.d.ts +21 -0
  146. package/dist/geometry/Polyhedron.d.ts.map +1 -0
  147. package/dist/geometry/Polyhedron.js +201 -0
  148. package/dist/geometry/Polyhedron.js.map +1 -0
  149. package/dist/geometry/Primitives.d.ts +38 -2
  150. package/dist/geometry/Primitives.d.ts.map +1 -1
  151. package/dist/geometry/Primitives.js +114 -0
  152. package/dist/geometry/Primitives.js.map +1 -1
  153. package/dist/geometry/Ring.d.ts +16 -0
  154. package/dist/geometry/Ring.d.ts.map +1 -0
  155. package/dist/geometry/Ring.js +44 -0
  156. package/dist/geometry/Ring.js.map +1 -0
  157. package/dist/geometry/RoundedBox.d.ts +22 -0
  158. package/dist/geometry/RoundedBox.d.ts.map +1 -0
  159. package/dist/geometry/RoundedBox.js +191 -0
  160. package/dist/geometry/RoundedBox.js.map +1 -0
  161. package/dist/geometry/Shape.d.ts +15 -0
  162. package/dist/geometry/Shape.d.ts.map +1 -0
  163. package/dist/geometry/Shape.js +44 -0
  164. package/dist/geometry/Shape.js.map +1 -0
  165. package/dist/geometry/Support.d.ts +137 -0
  166. package/dist/geometry/Support.d.ts.map +1 -0
  167. package/dist/geometry/Support.js +1066 -0
  168. package/dist/geometry/Support.js.map +1 -0
  169. package/dist/geometry/TorusKnot.d.ts +18 -0
  170. package/dist/geometry/TorusKnot.d.ts.map +1 -0
  171. package/dist/geometry/TorusKnot.js +83 -0
  172. package/dist/geometry/TorusKnot.js.map +1 -0
  173. package/dist/geometry/Tube.d.ts +19 -0
  174. package/dist/geometry/Tube.d.ts.map +1 -0
  175. package/dist/geometry/Tube.js +70 -0
  176. package/dist/geometry/Tube.js.map +1 -0
  177. package/dist/geometry/Wireframe.d.ts +19 -0
  178. package/dist/geometry/Wireframe.d.ts.map +1 -0
  179. package/dist/geometry/Wireframe.js +63 -0
  180. package/dist/geometry/Wireframe.js.map +1 -0
  181. package/dist/index.d.ts +38 -7
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +25 -3
  184. package/dist/index.js.map +1 -1
  185. package/dist/lanes/prd11.js +1 -1
  186. package/dist/lanes/prd11.js.map +1 -1
  187. package/dist/output/ToneMappingOperators.glsl.d.ts +1 -1
  188. package/dist/output/ToneMappingOperators.glsl.d.ts.map +1 -1
  189. package/dist/output/ToneMappingOperators.glsl.js +9 -1
  190. package/dist/output/ToneMappingOperators.glsl.js.map +1 -1
  191. package/dist/post/v2Entry.d.ts +1 -0
  192. package/dist/post/v2Entry.d.ts.map +1 -1
  193. package/dist/post/v2Entry.js.map +1 -1
  194. package/dist/post/v2Stages.d.ts +30 -1
  195. package/dist/post/v2Stages.d.ts.map +1 -1
  196. package/dist/post/v2Stages.js +87 -21
  197. package/dist/post/v2Stages.js.map +1 -1
  198. package/dist/program/ProgramCache.d.ts.map +1 -1
  199. package/dist/program/ProgramCache.js +12 -0
  200. package/dist/program/ProgramCache.js.map +1 -1
  201. package/dist/program/ProgramGenerator.d.ts.map +1 -1
  202. package/dist/program/ProgramGenerator.js +3 -0
  203. package/dist/program/ProgramGenerator.js.map +1 -1
  204. package/dist/reference/PostProcessPass.d.ts +1 -1
  205. package/dist/reference/PostProcessPass.d.ts.map +1 -1
  206. package/dist/reference/PostProcessPass.js +8 -1
  207. package/dist/reference/PostProcessPass.js.map +1 -1
  208. package/dist/renderer/CullingBatching.d.ts +44 -2
  209. package/dist/renderer/CullingBatching.d.ts.map +1 -1
  210. package/dist/renderer/CullingBatching.js +66 -11
  211. package/dist/renderer/CullingBatching.js.map +1 -1
  212. package/dist/shaders/chunks/lighting_mirrors.d.ts +2 -2
  213. package/dist/shaders/chunks/lighting_mirrors.d.ts.map +1 -1
  214. package/dist/shaders/chunks/lighting_mirrors.js.map +1 -1
  215. package/dist/shadows/DirectionalCascadeFitter.d.ts +8 -8
  216. package/dist/shadows/DirectionalCascadeFitter.d.ts.map +1 -1
  217. package/dist/shadows/DirectionalCascadeFitter.js.map +1 -1
  218. package/dist/shadows/ShadowAtlas.d.ts +5 -5
  219. package/dist/shadows/ShadowAtlas.d.ts.map +1 -1
  220. package/dist/shadows/ShadowAtlas.js.map +1 -1
  221. package/dist/vfx/ProceduralVolumeEmitter.d.ts +11 -0
  222. package/dist/vfx/ProceduralVolumeEmitter.d.ts.map +1 -1
  223. package/dist/vfx/ProceduralVolumeEmitter.js +20 -6
  224. package/dist/vfx/ProceduralVolumeEmitter.js.map +1 -1
  225. package/dist/webgl2/ContextLifecycle.d.ts +36 -0
  226. package/dist/webgl2/ContextLifecycle.d.ts.map +1 -1
  227. package/dist/webgl2/ContextLifecycle.js +110 -2
  228. package/dist/webgl2/ContextLifecycle.js.map +1 -1
  229. package/dist/webgl2/LegacyPost.d.ts +16 -1
  230. package/dist/webgl2/LegacyPost.d.ts.map +1 -1
  231. package/dist/webgl2/LegacyPost.js +49 -16
  232. package/dist/webgl2/LegacyPost.js.map +1 -1
  233. package/dist/webgl2/MultiDraw.d.ts.map +1 -1
  234. package/dist/webgl2/MultiDraw.js +42 -2
  235. package/dist/webgl2/MultiDraw.js.map +1 -1
  236. package/dist/webgl2/TextureUpload.d.ts +7 -0
  237. package/dist/webgl2/TextureUpload.d.ts.map +1 -1
  238. package/dist/webgl2/TextureUpload.js +54 -10
  239. package/dist/webgl2/TextureUpload.js.map +1 -1
  240. package/package.json +3 -3
package/dist/Sampler.js CHANGED
@@ -50,6 +50,47 @@ export class Sampler {
50
50
  maxAnisotropy: anisotropy
51
51
  });
52
52
  }
53
+ /**
54
+ * threejs-parity ST-02/ST-04 (L4): build a sampler from an
55
+ * `AuraTextureSampling` descriptor — the shape `texture.*` handles and
56
+ * `material.sampling`/`slotSampling` carry. Per-axis `wrapS`/`wrapT` win
57
+ * over the shared `wrap`; `minFilter`/`magFilter` (three names or numeric
58
+ * enum) win over the legacy `filter` shorthand
59
+ * ("trilinear"/"bilinear"/"nearest").
60
+ */
61
+ static fromSampling(sampling, options = {}) {
62
+ const fallbackWrap = options.defaultWrap ?? "clamp-to-edge";
63
+ const legacyFilter = sampling?.filter;
64
+ const legacyMin = legacyFilter === "nearest"
65
+ ? "nearest"
66
+ : legacyFilter === "bilinear"
67
+ ? "linear"
68
+ : "linear-mipmap-linear";
69
+ const legacyMag = legacyFilter === "nearest" ? "nearest" : "linear";
70
+ return new Sampler({
71
+ minFilter: threeToMinFilter(sampling?.minFilter) ?? legacyMin,
72
+ magFilter: threeToMagFilter(sampling?.magFilter) ?? legacyMag,
73
+ addressU: auraWrapMode(sampling?.wrapS ?? sampling?.wrap) ?? fallbackWrap,
74
+ addressV: auraWrapMode(sampling?.wrapT ?? sampling?.wrap) ?? fallbackWrap,
75
+ maxAnisotropy: sampling?.anisotropy ?? options.anisotropy ?? 1
76
+ });
77
+ }
78
+ /**
79
+ * threejs-parity ST-02/ST-04 (L4): a three `Texture` sampler view —
80
+ * `{ wrapS, wrapT, minFilter, magFilter, anisotropy }` where wrap/filter
81
+ * fields accept three's numeric enums (RepeatWrapping 1000, ClampToEdgeWrapping
82
+ * 1001, MirroredRepeatWrapping 1002, NearestFilter 1003 …
83
+ * LinearMipmapLinearFilter 1008) or the matching Aura strings.
84
+ */
85
+ static fromThree(info) {
86
+ return new Sampler({
87
+ minFilter: threeToMinFilter(info?.minFilter) ?? "linear-mipmap-linear",
88
+ magFilter: threeToMagFilter(info?.magFilter) ?? "linear",
89
+ addressU: threeToWrapMode(info?.wrapS) ?? "repeat",
90
+ addressV: threeToWrapMode(info?.wrapT) ?? "repeat",
91
+ maxAnisotropy: info?.anisotropy ?? 1
92
+ });
93
+ }
53
94
  }
54
95
  // glTF sampler enums: CLAMP_TO_EDGE 33071, MIRRORED_REPEAT 33648, REPEAT 10497.
55
96
  const GLTF_WRAP_MODES = {
@@ -65,6 +106,61 @@ const GLTF_MIN_FILTERS = {
65
106
  9986: "nearest-mipmap-linear",
66
107
  9987: "linear-mipmap-linear"
67
108
  };
109
+ // threejs-parity ST-04 (L4): three.js numeric enums (three/src/constants.js).
110
+ // RepeatWrapping 1000, ClampToEdgeWrapping 1001, MirroredRepeatWrapping 1002;
111
+ // NearestFilter 1003, NearestMipmapNearest 1004, NearestMipmapLinear 1005,
112
+ // LinearFilter 1006, LinearMipmapNearest 1007, LinearMipmapLinear 1008.
113
+ const THREE_WRAP_MODES = {
114
+ 1000: "repeat",
115
+ 1001: "clamp-to-edge",
116
+ 1002: "mirror-repeat"
117
+ };
118
+ const THREE_MIN_FILTERS = {
119
+ 1003: "nearest",
120
+ 1004: "nearest-mipmap-nearest",
121
+ 1005: "nearest-mipmap-linear",
122
+ 1006: "linear",
123
+ 1007: "linear-mipmap-nearest",
124
+ 1008: "linear-mipmap-linear"
125
+ };
126
+ const THREE_MAG_FILTERS = {
127
+ 1003: "nearest",
128
+ 1006: "linear"
129
+ };
130
+ /** threejs-parity ST-04 (L4): Aura wrap name → device address mode. */
131
+ export function auraWrapMode(wrap) {
132
+ if (wrap === undefined)
133
+ return undefined;
134
+ if (wrap === "clamp" || wrap === "clamp-to-edge")
135
+ return "clamp-to-edge";
136
+ if (wrap === "mirror" || wrap === "mirror-repeat")
137
+ return "mirror-repeat";
138
+ return "repeat";
139
+ }
140
+ /** threejs-parity ST-04 (L4): three wrap enum or Aura name → device address mode. */
141
+ export function threeToWrapMode(wrap) {
142
+ if (wrap === undefined)
143
+ return undefined;
144
+ if (typeof wrap === "number")
145
+ return THREE_WRAP_MODES[wrap];
146
+ return auraWrapMode(wrap);
147
+ }
148
+ /** threejs-parity ST-04 (L4): three min-filter enum or name → `TextureMinFilter`. */
149
+ export function threeToMinFilter(filter) {
150
+ if (filter === undefined)
151
+ return undefined;
152
+ if (typeof filter === "number")
153
+ return THREE_MIN_FILTERS[filter];
154
+ return filter;
155
+ }
156
+ /** threejs-parity ST-04 (L4): three mag-filter enum or name → `TextureMagFilter`. */
157
+ export function threeToMagFilter(filter) {
158
+ if (filter === undefined)
159
+ return undefined;
160
+ if (typeof filter === "number")
161
+ return THREE_MAG_FILTERS[filter];
162
+ return filter;
163
+ }
68
164
  /** Device-quantized sampler anisotropy steps (muse3jsparity-PRD C3). */
69
165
  export const SAMPLER_ANISOTROPY_STEPS = [1, 2, 4, 8, 16];
70
166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Sampler.js","sourceRoot":"","sources":["../../../../packages/rendering/src/Sampler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sampler.js","sourceRoot":"","sources":["../../../../packages/rendering/src/Sampler.ts"],"names":[],"mappings":"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"}
@@ -100,4 +100,18 @@ export declare function registerLeanDepthShader(library: ShaderLibrary): void;
100
100
  export declare function registerLeanEnvironmentBackgroundShader(library: ShaderLibrary): void;
101
101
  export declare function createLeanCoreShaderLibrary(): ShaderLibrary;
102
102
  export declare const DEFAULT_TEXTURED_PBR_EXTENSION_ATLAS_VARIANT = "extension-scalar-atlas";
103
+ /** SH-10: register a `#include <name>` chunk for every ShaderLibrary. Duplicate and built-in names throw. */
104
+ export declare function registerShaderChunk(name: string, glsl: string, wgsl?: string): void;
105
+ export declare function globalShaderChunkRevision(): number;
106
+ /** GLSL chunk source by name (global registry only; built-ins live on the library). */
107
+ export declare function globalShaderChunkSource(name: string): string | undefined;
108
+ /** WGSL chunk source for `name` — the registered `wgsl` half wins, else the GLSL source doubles as a shared snippet. */
109
+ export declare function globalShaderWgslChunkSource(name: string): string | undefined;
110
+ export declare function globalShaderChunkEntries(): IterableIterator<[string, string]>;
111
+ /** All globally registered chunk names (diagnostics/tests). */
112
+ export declare function globalShaderChunkNames(): readonly string[];
113
+ /** SH-02: publish a portable shader source pair so any ShaderLibrary resolves it. Idempotent per name. */
114
+ export declare function registerGlobalShaderSource(pair: ShaderSourcePair): void;
115
+ export declare function unregisterGlobalShaderSource(name: string): boolean;
116
+ export declare function globalShaderSource(name: string): ShaderSourcePair | undefined;
103
117
  //# sourceMappingURL=ShaderLibraryCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderLibraryCore.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibraryCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShaderLibraryCore.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibraryCore.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,13 @@ export class ShaderLibrary {
37
37
  return removed;
38
38
  }
39
39
  getRevision() {
40
- return this.revision;
40
+ // threejs-parity SH-10: globally registered chunks (`registerShaderChunk`)
41
+ // feed every library's include map, so their revision is folded in here —
42
+ // registering a chunk bumps the effective revision of every ShaderLibrary.
43
+ return this.revision + globalShaderChunkRevision();
41
44
  }
42
45
  registerChunk(name, source) {
43
- if (this.chunks.has(name)) {
46
+ if (this.chunks.has(name) || globalShaderChunkSource(name) !== undefined) {
44
47
  throw new Error(`Shader chunk is already registered: ${name}`);
45
48
  }
46
49
  this.chunks.set(name, source);
@@ -48,7 +51,11 @@ export class ShaderLibrary {
48
51
  this.revision += 1;
49
52
  }
50
53
  get(name) {
51
- const shader = this.shaders.get(name);
54
+ // threejs-parity SH-02: engine-compiled custom materials publish their
55
+ // shader pair process-wide (`registerGlobalShaderSource`) so the
56
+ // renderer-owned library — which the material never sees — resolves the
57
+ // same `aura3d/portable/…` key at compileSource time.
58
+ const shader = this.shaders.get(name) ?? globalShaderSource(name);
52
59
  if (!shader) {
53
60
  throw new Error(`Shader is not registered: ${name}`);
54
61
  }
@@ -56,7 +63,11 @@ export class ShaderLibrary {
56
63
  }
57
64
  compileSource(name, options = {}) {
58
65
  const shader = this.get(name);
59
- const includes = new Map([...this.chunks, ...(options.includes ?? new Map())]);
66
+ // Include precedence (lowest → highest): global `registerShaderChunk`
67
+ // chunks, this library's own chunks (built-ins + registerChunk), then
68
+ // per-call `options.includes` — the SH-09 patch map lands in the last tier
69
+ // so a patched name replaces the registered source for that compile only.
70
+ const includes = new Map([...globalShaderChunkEntries(), ...this.chunks, ...(options.includes ?? new Map())]);
60
71
  const preprocessOptions = { ...options, includes };
61
72
  const vertex = this.preprocessor.preprocess(shader.vertex, preprocessOptions).source;
62
73
  const fragment = this.preprocessor.preprocess(shader.fragment, preprocessOptions).source;
@@ -851,4 +862,83 @@ export function createLeanCoreShaderLibrary() {
851
862
  return library;
852
863
  }
853
864
  export const DEFAULT_TEXTURED_PBR_EXTENSION_ATLAS_VARIANT = "extension-scalar-atlas";
865
+ /* ------------------------------------------------------------------------ */
866
+ /* threejs-parity SH-02/SH-10 — process-wide shader chunk + source registry */
867
+ /* */
868
+ /* `material.custom(spec)` compiles to `PortableShaderMaterial` inside the */
869
+ /* engine adapter (`agent-api/compiler/customMaterial.ts`); the material */
870
+ /* registers its pair here so the renderer-owned ShaderLibrary (which the */
871
+ /* adapter never sees) resolves the same `aura3d/portable/…` key. */
872
+ /* */
873
+ /* `registerShaderChunk(name, glsl, wgsl?)` is the public, mutable chunk */
874
+ /* surface (SH-10): registered GLSL lands in every library's `#include` */
875
+ /* map (below instance chunks and per-compile `includes`/patch overrides), */
876
+ /* registration bumps a revision folded into `ShaderLibrary.getRevision()`, */
877
+ /* and duplicate/built-in names throw. The optional `wgsl` half is kept */
878
+ /* separate — WGSL stages are expanded once by the engine adapter (no */
879
+ /* WGSL preprocessor runs at compileSource time). */
880
+ /* ------------------------------------------------------------------------ */
881
+ const globalShaderChunks = new Map();
882
+ const globalShaderWgslChunks = new Map();
883
+ const globalShaderSourcesByName = new Map();
884
+ let globalChunkRevision = 0;
885
+ let builtinChunkNames = null;
886
+ const builtinChunkNameSet = () => builtinChunkNames ??= new Set(SHADER_CHUNKS.map((chunk) => chunk.name));
887
+ const assertChunkName = (name) => {
888
+ if (typeof name !== "string" || !/^[A-Za-z_][A-Za-z0-9_-]*$/.test(name)) {
889
+ throw new Error(`Shader chunk name is invalid: ${String(name)}`);
890
+ }
891
+ };
892
+ /** SH-10: register a `#include <name>` chunk for every ShaderLibrary. Duplicate and built-in names throw. */
893
+ export function registerShaderChunk(name, glsl, wgsl) {
894
+ assertChunkName(name);
895
+ if (typeof glsl !== "string" || !glsl.trim()) {
896
+ throw new Error(`Shader chunk ${name} requires non-empty GLSL source`);
897
+ }
898
+ if (wgsl !== undefined && typeof wgsl !== "string") {
899
+ throw new Error(`Shader chunk ${name} WGSL source must be a string`);
900
+ }
901
+ if (builtinChunkNameSet().has(name) || globalShaderChunks.has(name)) {
902
+ throw new Error(`Shader chunk is already registered: ${name}`);
903
+ }
904
+ globalShaderChunks.set(name, glsl);
905
+ if (wgsl !== undefined)
906
+ globalShaderWgslChunks.set(name, wgsl);
907
+ globalChunkRevision += 1;
908
+ }
909
+ export function globalShaderChunkRevision() {
910
+ return globalChunkRevision;
911
+ }
912
+ /** GLSL chunk source by name (global registry only; built-ins live on the library). */
913
+ export function globalShaderChunkSource(name) {
914
+ return globalShaderChunks.get(name);
915
+ }
916
+ /** WGSL chunk source for `name` — the registered `wgsl` half wins, else the GLSL source doubles as a shared snippet. */
917
+ export function globalShaderWgslChunkSource(name) {
918
+ return globalShaderWgslChunks.get(name) ?? globalShaderChunks.get(name);
919
+ }
920
+ export function globalShaderChunkEntries() {
921
+ return globalShaderChunks.entries();
922
+ }
923
+ /** All globally registered chunk names (diagnostics/tests). */
924
+ export function globalShaderChunkNames() {
925
+ return [...globalShaderChunks.keys()];
926
+ }
927
+ /** SH-02: publish a portable shader source pair so any ShaderLibrary resolves it. Idempotent per name. */
928
+ export function registerGlobalShaderSource(pair) {
929
+ const existing = globalShaderSourcesByName.get(pair.name);
930
+ if (existing) {
931
+ if (existing.marker !== pair.marker || existing.vertex !== pair.vertex || existing.fragment !== pair.fragment) {
932
+ throw new Error(`Global shader source ${pair.name} is already registered with different source`);
933
+ }
934
+ return;
935
+ }
936
+ globalShaderSourcesByName.set(pair.name, pair);
937
+ }
938
+ export function unregisterGlobalShaderSource(name) {
939
+ return globalShaderSourcesByName.delete(name);
940
+ }
941
+ export function globalShaderSource(name) {
942
+ return globalShaderSourcesByName.get(name);
943
+ }
854
944
  //# sourceMappingURL=ShaderLibraryCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderLibraryCore.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibraryCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShaderLibraryCore.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibraryCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgC,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAgCrE,MAAM,OAAO,aAAa;IACP,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9C,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnC,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,QAAQ,GAAG,CAAC,CAAC;IAErB,QAAQ,CAAC,MAAwB;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,MAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,WAAW;QACT,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,OAAO,IAAI,CAAC,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IACrD,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,MAAc;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,uEAAuE;QACvE,iEAAiE;QACjE,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,UAAmC,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,sEAAsE;QACtE,sEAAsE;QACtE,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,wBAAwB,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,iBAAiB,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,MAAM,0BAA0B,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM;YACN,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,WAAmB,EAAE,UAAmC,EAAE;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,cAAc,GAA4B;YAC9C,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,YAAY,CAAC,MAAwB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,yCAAyC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,wBAAwB,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACxH,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,wBAAwB,MAAM,CAAC,MAAM,wBAAwB,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,wDAAwD,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,MAAwB;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,mCAAmC,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,WAAmB,EAAE,OAAgC;IAC1F,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI;QACJ,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnG,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC9G,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AACxD,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAClE,MAAM,CAAC,MAAM,mCAAmC,GAAG,wBAAwB,CAAC;AAC5E,MAAM,CAAC,MAAM,qCAAqC,GAAG,gCAAgC,CAAC;AACtF,MAAM,CAAC,MAAM,iCAAiC,GAAG,sBAAsB,CAAC;AACxE,MAAM,CAAC,MAAM,mCAAmC,GAAG,8BAA8B,CAAC;AAClF,MAAM,CAAC,MAAM,kCAAkC,GAAG,uBAAuB,CAAC;AAC1E,MAAM,CAAC,MAAM,oCAAoC,GAAG,+BAA+B,CAAC;AACpF,MAAM,CAAC,MAAM,iCAAiC,GAAG,sBAAsB,CAAC;AACxE,MAAM,CAAC,MAAM,mCAAmC,GAAG,8BAA8B,CAAC;AAClF,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AACpE,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAC9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,wBAAwB,CAAC;AAC1F,MAAM,CAAC,MAAM,mDAAmD,GAAG,gCAAgC,CAAC;AACpG,MAAM,CAAC,MAAM,+CAA+C,GAAG,sBAAsB,CAAC;AACtF,MAAM,CAAC,MAAM,iDAAiD,GAAG,8BAA8B,CAAC;AAChG,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AACpE,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAC9E,MAAM,CAAC,MAAM,qCAAqC,GAAG,uBAAuB,CAAC;AAC7E,MAAM,CAAC,MAAM,uCAAuC,GAAG,+BAA+B,CAAC;AACvF,MAAM,CAAC,MAAM,gCAAgC,GAAG,qBAAqB,CAAC;AACtE,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC;AAChF,MAAM,CAAC,MAAM,+CAA+C,GAAG,oBAAoB,CAAC;AACpF,MAAM,CAAC,MAAM,yDAAyD,GAAG,8BAA8B,CAAC;AACxG,MAAM,CAAC,MAAM,+DAA+D,GAAG,oCAAoC,CAAC;AACpH,MAAM,CAAC,MAAM,iDAAiD,GAAG,sBAAsB,CAAC;AACxF,MAAM,CAAC,MAAM,mEAAmE,GAAG,wCAAwC,CAAC;AAC5H,MAAM,CAAC,MAAM,gEAAgE,GAAG,qCAAqC,CAAC;AACtH,MAAM,CAAC,MAAM,2DAA2D,GAAG,gCAAgC,CAAC;AAC5G,MAAM,CAAC,MAAM,wDAAwD,GAAG,6BAA6B,CAAC;AACtG,MAAM,CAAC,MAAM,2EAA2E,GAAG,gDAAgD,CAAC;AAC5I;;;;GAIG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,0BAA0B,CAAC;AAChF,MAAM,CAAC,MAAM,uCAAuC,GAAG,kCAAkC,CAAC;AAE1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AACxD,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAClE,MAAM,CAAC,MAAM,0CAA0C,GAAG,+BAA+B,CAAC;AAC1F,MAAM,CAAC,MAAM,4CAA4C,GAAG,uCAAuC,CAAC;AAEpG,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC;QACf,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE;KACP,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC/B;QACG,QAAQ,EAAE;KACT,2BAA2B;;;;;;;;;;;;;;;;;CAiB/B;KACE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC;QACf,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;KACP,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC7B;QACG,QAAQ,EAAE;KACT,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4b7B;KACE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC;QACf,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE;KACP,2BAA2B;;;;;;;CAO/B;QACG,QAAQ,EAAE;KACT,2BAA2B;;;;;;CAM/B;KACE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,OAAsB;IAC5E,OAAO,CAAC,QAAQ,CAAC;QACf,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE;KACP,4CAA4C;;;;;;;;CAQhD;QACG,QAAQ,EAAE;KACT,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEhD;KACE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,oBAAoB,EAAE,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,uCAAuC,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,4CAA4C,GAAG,wBAAwB,CAAC;AAErF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACrD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACzD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAA4B,CAAC;AACtE,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AAEjD,MAAM,mBAAmB,GAAG,GAAgB,EAAE,CAC5C,iBAAiB,KAAK,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1E,MAAM,eAAe,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY,EAAE,IAAa;IAC3E,eAAe,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,iCAAiC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,+BAA+B,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,mBAAmB,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAC;QACnG,CAAC;QACD,OAAO;IACT,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
package/dist/Texture.d.ts CHANGED
@@ -42,8 +42,28 @@ export interface TextureDescriptor {
42
42
  * `update()`-driven re-uploads. Devices allocate immutable storage once
43
43
  * (`texStorage2D`) and refresh it via `texSubImage2D`; non-dynamic textures
44
44
  * keep the legacy `texImage2D` path.
45
+ *
46
+ * threejs-parity ST-03 (L4): `dynamic` may be combined with `source` for
47
+ * canvas/video textures — the source image is re-uploaded in place whenever
48
+ * `markNeedsUpdate()`/`needsUpdate` bumps `revision`.
45
49
  */
46
50
  readonly dynamic?: boolean;
51
+ /**
52
+ * threejs-parity ST-02 (L4): vertical flip applied to `source` uploads
53
+ * (three's `Texture.flipY`). WebGL2 applies it through
54
+ * `UNPACK_FLIP_Y_WEBGL`; WebGPU through `copyExternalImageToTexture`'s
55
+ * `flipY` option or the canvas readback path. Ignored for raw data,
56
+ * compressed, cube and depth textures (three applies flipY only to image
57
+ * uploads as well).
58
+ */
59
+ readonly flipY?: boolean;
60
+ /**
61
+ * threejs-parity ST-02 (L4): whether the device generates a full mip chain
62
+ * after uploading (three's `Texture.generateMipmaps`, default true).
63
+ * Source-backed textures honour it on every revision upload; flat data
64
+ * textures honour it on the initial upload.
65
+ */
66
+ readonly generateMipmaps?: boolean;
47
67
  /**
48
68
  * Render-target attachment created by a device's `createRenderTarget`. The
49
69
  * GPU storage is allocated by the device (texStorage2D for cube faces), so
@@ -57,12 +77,21 @@ export declare class Texture {
57
77
  readonly height: number;
58
78
  readonly dimension: TextureDimension;
59
79
  readonly format: TextureFormat;
60
- readonly colorSpace: TextureColorSpace;
80
+ /**
81
+ * threejs-parity ST-02 (L4): mutable — a handle may re-point the colour
82
+ * interpretation; writers must also mark `needsUpdate` so the next upload
83
+ * re-uploads with the new transfer function.
84
+ */
85
+ colorSpace: TextureColorSpace;
61
86
  readonly label: string;
62
87
  readonly data: TexturePixelData | null;
63
88
  readonly mipLevels: readonly TextureMipLevel[];
64
89
  readonly cubeFaces: readonly TextureCubeFaceLevel[];
65
90
  readonly source: TexImageSource | null;
91
+ /** threejs-parity ST-02 (L4): see {@link TextureDescriptor.flipY}. */
92
+ flipY: boolean;
93
+ /** threejs-parity ST-02 (L4): see {@link TextureDescriptor.generateMipmaps}. */
94
+ generateMipmaps: boolean;
66
95
  readonly fallbackData: Uint8Array | null;
67
96
  readonly fallbackMipLevels: readonly TextureMipLevel[];
68
97
  /** C-18: layer count for `2d-array` textures; 1 for 2d/cube. */
@@ -78,6 +107,29 @@ export declare class Texture {
78
107
  get fallbackTextureLevels(): readonly TextureMipLevel[];
79
108
  /** C-18 (PR 0a): content revision, incremented by `update`. */
80
109
  revision: number;
110
+ /**
111
+ * threejs-parity ST-02/ST-03 (L4): dirty flag mirroring three's
112
+ * `Texture.needsUpdate`. Setting it true bumps {@link revision} exactly once
113
+ * per dirty cycle (repeated `true` writes while still dirty do not bump
114
+ * again); devices clear it once the revision has been uploaded, so a
115
+ * canvas/video texture only re-uploads after a fresh mark.
116
+ */
117
+ private _needsUpdate;
118
+ get needsUpdate(): boolean;
119
+ set needsUpdate(value: boolean);
120
+ /**
121
+ * Mark the texture's content changed for the next upload. Idempotent while
122
+ * a previous mark is still unconsumed — the second+ `needsUpdate = true`
123
+ * before an upload does not produce extra revisions.
124
+ */
125
+ markNeedsUpdate(): void;
126
+ /**
127
+ * threejs-parity ST-03 (L4): optional source-driven poll for live sources
128
+ * (video textures). Devices call it before comparing `revision` on the
129
+ * cached handle, letting a source mark `needsUpdate` when a new frame is
130
+ * ready — per-frame video upload without an app-level driver.
131
+ */
132
+ pollContentRevision?: () => void;
81
133
  /**
82
134
  * C-18: the pending sub-region recorded by the last `update`. Consumed by the
83
135
  * device's texture upload path and cleared after the re-upload is issued.
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/Texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/Texture.ts"],"names":[],"mappings":"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"}
package/dist/Texture.js CHANGED
@@ -13,12 +13,21 @@ export class Texture {
13
13
  height;
14
14
  dimension;
15
15
  format;
16
+ /**
17
+ * threejs-parity ST-02 (L4): mutable — a handle may re-point the colour
18
+ * interpretation; writers must also mark `needsUpdate` so the next upload
19
+ * re-uploads with the new transfer function.
20
+ */
16
21
  colorSpace;
17
22
  label;
18
23
  data;
19
24
  mipLevels;
20
25
  cubeFaces;
21
26
  source;
27
+ /** threejs-parity ST-02 (L4): see {@link TextureDescriptor.flipY}. */
28
+ flipY;
29
+ /** threejs-parity ST-02 (L4): see {@link TextureDescriptor.generateMipmaps}. */
30
+ generateMipmaps;
22
31
  fallbackData;
23
32
  fallbackMipLevels;
24
33
  /** C-18: layer count for `2d-array` textures; 1 for 2d/cube. */
@@ -55,6 +64,8 @@ export class Texture {
55
64
  this.mipLevels = descriptor.mipLevels ? cloneMipLevels(descriptor.mipLevels, "mipLevels") : [];
56
65
  this.cubeFaces = descriptor.cubeFaces ? cloneCubeFaces(descriptor.cubeFaces) : [];
57
66
  this.source = descriptor.source ?? null;
67
+ this.flipY = descriptor.flipY === true;
68
+ this.generateMipmaps = descriptor.generateMipmaps ?? true;
58
69
  this.fallbackData = descriptor.fallbackData ? new Uint8Array(descriptor.fallbackData) : null;
59
70
  this.fallbackMipLevels = descriptor.fallbackMipLevels ? cloneMipLevels(descriptor.fallbackMipLevels, "fallbackMipLevels") : [];
60
71
  this.dynamic = descriptor.dynamic === true;
@@ -62,8 +73,10 @@ export class Texture {
62
73
  if (this.dimension === "2d-array" && (!Number.isInteger(this.layers) || this.layers < 1)) {
63
74
  throw new Error("2d-array textures require layers to be a positive integer");
64
75
  }
65
- if (this.dynamic && (this.dimension !== "2d" || this.mipLevels.length > 0 || this.source || isCompressedTextureFormat(this.format) || this.format === "depth24")) {
66
- throw new Error("dynamic textures must be flat, non-compressed 2D textures without an image source");
76
+ // threejs-parity ST-03 (L4): `dynamic` + `source` is the canvas/video
77
+ // combination — re-uploaded in place from the live source on each revision.
78
+ if (this.dynamic && (this.dimension !== "2d" || this.mipLevels.length > 0 || isCompressedTextureFormat(this.format) || this.format === "depth24")) {
79
+ throw new Error("dynamic textures must be flat, non-compressed 2D textures (an image source is allowed for canvas/video re-uploads)");
67
80
  }
68
81
  if (this.dimension === "cube") {
69
82
  if (this.data || this.mipLevels.length > 0 || this.source || this.fallbackData || this.fallbackMipLevels.length > 0) {
@@ -168,6 +181,43 @@ export class Texture {
168
181
  }
169
182
  /** C-18 (PR 0a): content revision, incremented by `update`. */
170
183
  revision = 0;
184
+ /**
185
+ * threejs-parity ST-02/ST-03 (L4): dirty flag mirroring three's
186
+ * `Texture.needsUpdate`. Setting it true bumps {@link revision} exactly once
187
+ * per dirty cycle (repeated `true` writes while still dirty do not bump
188
+ * again); devices clear it once the revision has been uploaded, so a
189
+ * canvas/video texture only re-uploads after a fresh mark.
190
+ */
191
+ _needsUpdate = false;
192
+ get needsUpdate() {
193
+ return this._needsUpdate;
194
+ }
195
+ set needsUpdate(value) {
196
+ if (value) {
197
+ this.markNeedsUpdate();
198
+ }
199
+ else {
200
+ this._needsUpdate = false;
201
+ }
202
+ }
203
+ /**
204
+ * Mark the texture's content changed for the next upload. Idempotent while
205
+ * a previous mark is still unconsumed — the second+ `needsUpdate = true`
206
+ * before an upload does not produce extra revisions.
207
+ */
208
+ markNeedsUpdate() {
209
+ if (this.disposed || this._needsUpdate)
210
+ return;
211
+ this._needsUpdate = true;
212
+ this.revision += 1;
213
+ }
214
+ /**
215
+ * threejs-parity ST-03 (L4): optional source-driven poll for live sources
216
+ * (video textures). Devices call it before comparing `revision` on the
217
+ * cached handle, letting a source mark `needsUpdate` when a new frame is
218
+ * ready — per-frame video upload without an app-level driver.
219
+ */
220
+ pollContentRevision;
171
221
  /**
172
222
  * C-18: the pending sub-region recorded by the last `update`. Consumed by the
173
223
  * device's texture upload path and cleared after the re-upload is issued.
@@ -210,6 +260,7 @@ export class Texture {
210
260
  }
211
261
  this.data = data;
212
262
  this.pendingUpdateRegion = region ?? null;
263
+ this._needsUpdate = true;
213
264
  this.revision += 1;
214
265
  }
215
266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../packages/rendering/src/Texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../packages/rendering/src/Texture.ts"],"names":[],"mappings":"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"}