@aura3d/rendering 4.0.3 → 4.0.5

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
@@ -1,13 +1,19 @@
1
1
  import { Material, type MaterialUniformDescriptor, type RenderState } from "./Material.js";
2
2
  import type { RenderDevice, RenderShaderProgram, UniformValue } from "./RenderDevice.js";
3
- import { ShaderLibrary } from "./ShaderLibraryCore.js";
3
+ import { ShaderLibrary, type ShaderSourcePair } from "./ShaderLibraryCore.js";
4
4
  export interface PortableShaderStagePair {
5
5
  readonly vertex: string;
6
6
  readonly fragment: string;
7
7
  }
8
8
  export interface PortableShaderSources {
9
9
  readonly glsl: PortableShaderStagePair;
10
- readonly wgsl: PortableShaderStagePair;
10
+ /**
11
+ * threejs-parity SH-02: optional. `createAuraApp` mounts WebGL2 where GLSL
12
+ * is authoritative; omitting `wgsl` produces a WebGL2-only material — the
13
+ * WebGPU device fails closed (`WGSL_PROGRAM_MISSING`) rather than silently
14
+ * rasterizing the GLSL program.
15
+ */
16
+ readonly wgsl?: PortableShaderStagePair;
11
17
  }
12
18
  export interface PortableShaderUniform extends MaterialUniformDescriptor {
13
19
  readonly value: UniformValue;
@@ -55,6 +61,10 @@ export declare class PortableShaderMaterial extends Material {
55
61
  /** Runs native asynchronous diagnostics (WGSL on WebGPU) before program creation. */
56
62
  compileAsync(device: RenderDevice): Promise<PortableShaderCompilationResult>;
57
63
  dispose(): void;
58
- private sourcePair;
64
+ /**
65
+ * Protected (SH-02): the engine adapter publishes this exact pair into the
66
+ * global shader-source registry so the renderer-owned library resolves it.
67
+ */
68
+ protected sourcePair(sources: PortableShaderSources): ShaderSourcePair;
59
69
  }
60
70
  //# sourceMappingURL=PortableShaderMaterial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PortableShaderMaterial.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/PortableShaderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAyB,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAY3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC;AAED,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC5C,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,qBAAa,8BAA+B,SAAQ,KAAK;aAC3B,WAAW,EAAE,SAAS,MAAM,EAAE;gBAA9B,WAAW,EAAE,SAAS,MAAM,EAAE;CAI3D;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;IAClD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,OAAO,EAAE,6BAA6B;IAsBlD,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAED,IAAI,WAAW,IAAI,SAAS,MAAM,EAAE,CAEnC;IAEQ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAQ9D,yFAAyF;IACzF,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAU/C,gFAAgF;IAChF,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,+BAA+B;IAgB9D,qFAAqF;IAC/E,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAyBzE,OAAO,IAAI,IAAI;IAMxB,OAAO,CAAC,UAAU;CAanB"}
1
+ {"version":3,"file":"PortableShaderMaterial.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/PortableShaderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAyB,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAY3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC5C,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,qBAAa,8BAA+B,SAAQ,KAAK;aAC3B,WAAW,EAAE,SAAS,MAAM,EAAE;gBAA9B,WAAW,EAAE,SAAS,MAAM,EAAE;CAI3D;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;IAClD,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,OAAO,EAAE,6BAA6B;IAsBlD,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAED,IAAI,WAAW,IAAI,SAAS,MAAM,EAAE,CAEnC;IAEQ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAQ9D,yFAAyF;IACzF,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAU/C,gFAAgF;IAChF,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,+BAA+B;IAgB9D,qFAAqF;IAC/E,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAyBzE,OAAO,IAAI,IAAI;IAMxB;;;OAGG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB;CAiBvE"}
@@ -131,17 +131,25 @@ export class PortableShaderMaterial extends Material {
131
131
  this.shaderLibrary.unregister(this.shaderKey);
132
132
  super.dispose();
133
133
  }
134
+ /**
135
+ * Protected (SH-02): the engine adapter publishes this exact pair into the
136
+ * global shader-source registry so the renderer-owned library resolves it.
137
+ */
134
138
  sourcePair(sources) {
135
139
  return {
136
140
  name: this.shaderKey,
137
141
  marker: this.marker,
138
142
  vertex: withMarker(sources.glsl.vertex, this.marker),
139
143
  fragment: withMarker(sources.glsl.fragment, this.marker),
140
- webgpu: {
141
- vertex: withMarker(sources.wgsl.vertex, this.marker),
142
- fragment: withMarker(sources.wgsl.fragment, this.marker)
143
- },
144
- portableBindings: this.bindings
144
+ ...(sources.wgsl
145
+ ? {
146
+ webgpu: {
147
+ vertex: withMarker(sources.wgsl.vertex, this.marker),
148
+ fragment: withMarker(sources.wgsl.fragment, this.marker)
149
+ },
150
+ portableBindings: this.bindings
151
+ }
152
+ : {})
145
153
  };
146
154
  }
147
155
  }
@@ -193,14 +201,18 @@ function validatePortableShaderSources(sources, uniforms, marker) {
193
201
  if (uniform.required !== false && !reflected.uniforms.has(uniform.name))
194
202
  diagnostics.push(`GLSL is missing schema uniform ${uniform.name}`);
195
203
  }
196
- for (const [stage, source] of Object.entries(sources.wgsl)) {
197
- if (!source.includes(WGSL_BINDINGS_MARKER))
198
- diagnostics.push(`WGSL ${stage} stage is missing ${WGSL_BINDINGS_MARKER}`);
204
+ // SH-02: WGSL is optional; when present both stages must carry the bindings
205
+ // marker and their entry points. An absent WGSL pair simply compiles WebGL2-only.
206
+ if (sources.wgsl) {
207
+ for (const [stage, source] of Object.entries(sources.wgsl)) {
208
+ if (!source.includes(WGSL_BINDINGS_MARKER))
209
+ diagnostics.push(`WGSL ${stage} stage is missing ${WGSL_BINDINGS_MARKER}`);
210
+ }
211
+ if (!/@vertex\b/.test(sources.wgsl.vertex))
212
+ diagnostics.push("WGSL vertex stage is missing an @vertex entry point");
213
+ if (!/@fragment\b/.test(sources.wgsl.fragment))
214
+ diagnostics.push("WGSL fragment stage is missing an @fragment entry point");
199
215
  }
200
- if (!/@vertex\b/.test(sources.wgsl.vertex))
201
- diagnostics.push("WGSL vertex stage is missing an @vertex entry point");
202
- if (!/@fragment\b/.test(sources.wgsl.fragment))
203
- diagnostics.push("WGSL fragment stage is missing an @fragment entry point");
204
216
  return diagnostics;
205
217
  }
206
218
  function portableUniformValueDiagnostic(descriptor, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"PortableShaderMaterial.js","sourceRoot":"","sources":["../../../../packages/rendering/src/PortableShaderMaterial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortableShaderMaterial.js","sourceRoot":"","sources":["../../../../packages/rendering/src/PortableShaderMaterial.ts"],"names":[],"mappings":"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"}
@@ -345,6 +345,31 @@ export interface RenderDevice {
345
345
  * Optional (PRD-07 P6-T4): offscreen mini-passes that divert mid-frame need
346
346
  * it to restore the caller's binding; when absent they must stay off. */
347
347
  getRenderTarget?(): RenderTarget | null;
348
+ /**
349
+ * threejs-parity L7/SC-01 (P2, Array/Stereo cameras): raster viewport rect
350
+ * in target pixels, origin bottom-left. By default it is frame-scoped:
351
+ * `beginFrame` resets it to the full frame and it only applies while the
352
+ * target it was set on stays bound. With `{ persistent: true }` (XR) it is
353
+ * scoped to the default (canvas / external) framebuffer instead and survives
354
+ * `beginFrame` and the post/present passes until `resetViewport()`.
355
+ * Optional — devices without it keep full-frame rasterization.
356
+ */
357
+ setViewport?(x: number, y: number, width: number, height: number, options?: RenderDeviceViewportOptions): void;
358
+ /**
359
+ * Clears the persistent viewport and any frame-scoped viewport override
360
+ * (XR session end, or a caller handing the device back).
361
+ */
362
+ resetViewport?(): void;
363
+ /**
364
+ * XR: frames draw into `framebuffer` (e.g. an `XRWebGLLayer` framebuffer,
365
+ * `width` x `height` pixels) instead of the canvas until this is called with
366
+ * `null`. Optional — devices without it can only draw to the canvas.
367
+ */
368
+ setExternalFramebuffer?(framebuffer: unknown | null, width: number, height: number): void;
369
+ /** threejs-parity L7/SC-01 (P2): scissor rect in target pixels; gated by `setScissorTest`. */
370
+ setScissor?(x: number, y: number, width: number, height: number): void;
371
+ /** threejs-parity L7/SC-01 (P2): enables/disables scissor clipping (three's `setScissorTest`). */
372
+ setScissorTest?(enabled: boolean): void;
348
373
  writeRenderTargetPixels?(target: RenderTarget, pixels: Uint8Array): void;
349
374
  presentRenderTarget?(source: RenderTarget): void;
350
375
  presentLdrPostprocess?(source: RenderTarget, options: LdrPostprocessPresentationOptions): void;
@@ -394,6 +419,16 @@ export declare class RenderDeviceError extends Error {
394
419
  readonly details: Readonly<Record<string, unknown>>;
395
420
  constructor(message: string, code: string, details?: Readonly<Record<string, unknown>>);
396
421
  }
422
+ /**
423
+ * Message for a failed shader compile: the first lines of the driver info log
424
+ * go in the text (a thrown error shows "ERROR: 0:12: 'u_time' : redefinition"
425
+ * instead of only "WebGL shader compile failed"). The full log stays on
426
+ * `RenderDeviceError.details.log`.
427
+ */
428
+ export declare function shaderCompileFailureMessage(log: string, context?: {
429
+ readonly label?: string;
430
+ readonly stage?: string;
431
+ }): string;
397
432
  export declare class MockRenderBuffer implements RenderBuffer {
398
433
  readonly id: number;
399
434
  readonly usage: BufferUsage;
@@ -440,6 +475,33 @@ export declare class MockRenderTarget implements RenderTarget {
440
475
  });
441
476
  dispose(): void;
442
477
  }
478
+ export interface MockViewportCall {
479
+ readonly call: "viewport" | "scissor" | "scissorTest" | "resetViewport" | "externalFramebuffer";
480
+ readonly args: readonly (number | boolean)[];
481
+ /** `viewport` only: true when set with `{ persistent: true }`. */
482
+ readonly persistent?: boolean;
483
+ }
484
+ export interface MockDrawViewState {
485
+ readonly viewport: {
486
+ readonly x: number;
487
+ readonly y: number;
488
+ readonly width: number;
489
+ readonly height: number;
490
+ };
491
+ readonly scissor: {
492
+ readonly x: number;
493
+ readonly y: number;
494
+ readonly width: number;
495
+ readonly height: number;
496
+ } | null;
497
+ /** XR external framebuffer handle the draw went to (null for the canvas or a render target). */
498
+ readonly framebuffer: unknown | null;
499
+ readonly destination: "canvas" | "external" | "render-target";
500
+ }
501
+ export interface RenderDeviceViewportOptions {
502
+ /** XR: scope to the default (canvas / external) framebuffer and survive `beginFrame` and post/present passes until `resetViewport()`. */
503
+ readonly persistent?: boolean;
504
+ }
443
505
  export declare class MockRenderDevice implements RenderDevice {
444
506
  readonly kind = "mock";
445
507
  readonly info: RenderDeviceInfo;
@@ -458,6 +520,20 @@ export declare class MockRenderDevice implements RenderDevice {
458
520
  private frameActive;
459
521
  private viewportWidth;
460
522
  private viewportHeight;
523
+ /** threejs-parity L7/SC-01: per-frame viewport/scissor rects (target pixels). */
524
+ private viewportRect;
525
+ private scissorRect;
526
+ private scissorTestEnabled;
527
+ /** SC-01: render target the viewport/scissor override was set on (null = default framebuffer); the override only applies while it is bound. */
528
+ private viewStateTarget;
529
+ /** XR: persistent viewport for the default framebuffer; survives `beginFrame`. */
530
+ private persistentViewportRect;
531
+ /** XR: framebuffer frames draw into instead of the canvas. */
532
+ private externalFramebuffer;
533
+ /** True once a frame-scoped `setViewport` ran this frame (cleared by `beginFrame` / `resetViewport`). */
534
+ private frameViewportSet;
535
+ private viewportCallLog;
536
+ private drawViewStateLog;
461
537
  private clearColor;
462
538
  /** C-28 (PRD 11): per-frame fields; zeroed by resetFrameCounters(). Live gauges come from getDiagnostics(). */
463
539
  private frameCounters;
@@ -480,9 +556,31 @@ export declare class MockRenderDevice implements RenderDevice {
480
556
  readFloatPixels(x: number, y: number, width: number, height: number): Float32Array;
481
557
  readDepthPixels(x: number, y: number, width: number, height: number): Float32Array;
482
558
  beginFrame(width: number, height: number): void;
559
+ /** threejs-parity L7/SC-01 (P2): raster viewport override, target pixels. */
560
+ setViewport(x: number, y: number, width: number, height: number, options?: RenderDeviceViewportOptions): void;
561
+ /** Clears the persistent viewport and the frame-scoped override. */
562
+ resetViewport(): void;
563
+ /** XR: frames draw into `framebuffer` (size `width` x `height`) instead of the canvas until called with null. */
564
+ setExternalFramebuffer(framebuffer: unknown | null, width: number, height: number): void;
565
+ /** The XR framebuffer currently standing in for the canvas, or null. */
566
+ getExternalFramebuffer(): {
567
+ readonly handle: unknown;
568
+ readonly width: number;
569
+ readonly height: number;
570
+ } | null;
571
+ /** threejs-parity L7/SC-01 (P2): scissor rect, target pixels. */
572
+ setScissor(x: number, y: number, width: number, height: number): void;
573
+ /** threejs-parity L7/SC-01 (P2): scissor-test toggle. */
574
+ setScissorTest(enabled: boolean): void;
575
+ /** SC-01: ordered record of viewport/scissor API calls this frame (cleared by `beginFrame`). */
576
+ getViewportCalls(): ReadonlyArray<MockViewportCall>;
577
+ /** SC-01: the effective viewport/scissor each draw this frame was issued under, aligned with the draw order. */
578
+ getDrawViewStates(): readonly MockDrawViewState[];
483
579
  clear(color: readonly [number, number, number, number]): void;
484
580
  clearRenderTarget(color: readonly [number, number, number, number], attachment?: number): void;
485
581
  draw(command: DrawCommand): void;
582
+ /** Viewport/scissor in force for the bound target: the override while its target is bound, else the full target. */
583
+ private effectiveViewState;
486
584
  endFrame(): void;
487
585
  /** C-28 (PRD 11): native measured counters. Per-frame fields describe the frame in progress; live gauges come from diagnostics. */
488
586
  counters(): import("./contracts/device.js").DeviceCounters;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/RenderDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/RenderDevice.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,26 @@ export class RenderDeviceError extends Error {
91
91
  this.name = "RenderDeviceError";
92
92
  }
93
93
  }
94
+ const SHADER_LOG_MAX_LINES = 6;
95
+ const SHADER_LOG_MAX_CHARS = 900;
96
+ /**
97
+ * Message for a failed shader compile: the first lines of the driver info log
98
+ * go in the text (a thrown error shows "ERROR: 0:12: 'u_time' : redefinition"
99
+ * instead of only "WebGL shader compile failed"). The full log stays on
100
+ * `RenderDeviceError.details.log`.
101
+ */
102
+ export function shaderCompileFailureMessage(log, context = {}) {
103
+ const lines = log.split("\n").map((line) => line.trim()).filter((line) => line.length > 0);
104
+ const where = [context.label, context.stage].filter((part) => typeof part === "string" && part.length > 0).join(", ");
105
+ const head = `WebGL shader compile failed${where ? ` (${where})` : ""}`;
106
+ if (lines.length === 0)
107
+ return head;
108
+ let body = lines.slice(0, SHADER_LOG_MAX_LINES).join("\n");
109
+ const truncated = lines.length > SHADER_LOG_MAX_LINES || body.length > SHADER_LOG_MAX_CHARS;
110
+ if (body.length > SHADER_LOG_MAX_CHARS)
111
+ body = body.slice(0, SHADER_LOG_MAX_CHARS);
112
+ return `${head}:\n${body}${truncated ? "\n…" : ""}`;
113
+ }
94
114
  export class MockRenderBuffer {
95
115
  id;
96
116
  usage;
@@ -209,6 +229,20 @@ export class MockRenderDevice {
209
229
  frameActive = false;
210
230
  viewportWidth = 0;
211
231
  viewportHeight = 0;
232
+ /** threejs-parity L7/SC-01: per-frame viewport/scissor rects (target pixels). */
233
+ viewportRect = { x: 0, y: 0, width: 0, height: 0 };
234
+ scissorRect = { x: 0, y: 0, width: 0, height: 0 };
235
+ scissorTestEnabled = false;
236
+ /** SC-01: render target the viewport/scissor override was set on (null = default framebuffer); the override only applies while it is bound. */
237
+ viewStateTarget = null;
238
+ /** XR: persistent viewport for the default framebuffer; survives `beginFrame`. */
239
+ persistentViewportRect = null;
240
+ /** XR: framebuffer frames draw into instead of the canvas. */
241
+ externalFramebuffer = null;
242
+ /** True once a frame-scoped `setViewport` ran this frame (cleared by `beginFrame` / `resetViewport`). */
243
+ frameViewportSet = false;
244
+ viewportCallLog = [];
245
+ drawViewStateLog = [];
212
246
  clearColor = [0, 0, 0, 1];
213
247
  /** C-28 (PRD 11): per-frame fields; zeroed by resetFrameCounters(). Live gauges come from getDiagnostics(). */
214
248
  frameCounters = { drawCalls: 0, bufferCreates: 0, textureUploads: 0, readbacks: 0, renderTargetsCreated: 0, programCompiles: 0 };
@@ -538,8 +572,82 @@ export class MockRenderDevice {
538
572
  this.frameActive = true;
539
573
  this.viewportWidth = width;
540
574
  this.viewportHeight = height;
575
+ // threejs-parity L7/SC-01: viewport/scissor state is per-frame —
576
+ // `beginFrame` resets it to the full frame rect, scissor test off.
577
+ this.viewportRect = { x: 0, y: 0, width, height };
578
+ this.scissorRect = { x: 0, y: 0, width, height };
579
+ this.scissorTestEnabled = false;
580
+ this.viewStateTarget = null;
581
+ this.frameViewportSet = false;
582
+ this.viewportCallLog = [];
583
+ this.drawViewStateLog = [];
541
584
  this.drawCommands.length = 0;
542
585
  }
586
+ /** threejs-parity L7/SC-01 (P2): raster viewport override, target pixels. */
587
+ setViewport(x, y, width, height, options) {
588
+ this.assertAlive();
589
+ if (width <= 0 || height <= 0) {
590
+ throw new RenderDeviceError("Viewport dimensions must be positive", "INVALID_VIEWPORT", { width, height });
591
+ }
592
+ if (options?.persistent) {
593
+ this.persistentViewportRect = { x, y, width, height };
594
+ }
595
+ else {
596
+ this.viewportRect = { x, y, width, height };
597
+ this.viewStateTarget = this.activeRenderTarget;
598
+ this.frameViewportSet = true;
599
+ }
600
+ this.viewportCallLog.push({ call: "viewport", args: [x, y, width, height], persistent: options?.persistent === true });
601
+ }
602
+ /** Clears the persistent viewport and the frame-scoped override. */
603
+ resetViewport() {
604
+ this.assertAlive();
605
+ this.persistentViewportRect = null;
606
+ this.viewportRect = this.externalFramebuffer
607
+ ? { x: 0, y: 0, width: this.externalFramebuffer.width, height: this.externalFramebuffer.height }
608
+ : { x: 0, y: 0, width: this.viewportWidth, height: this.viewportHeight };
609
+ this.viewStateTarget = null;
610
+ this.frameViewportSet = false;
611
+ this.viewportCallLog.push({ call: "resetViewport", args: [] });
612
+ }
613
+ /** XR: frames draw into `framebuffer` (size `width` x `height`) instead of the canvas until called with null. */
614
+ setExternalFramebuffer(framebuffer, width, height) {
615
+ this.assertAlive();
616
+ if (framebuffer !== null && (!(width > 0) || !(height > 0))) {
617
+ throw new RenderDeviceError("External framebuffer dimensions must be positive", "INVALID_FRAME_SIZE", { width, height });
618
+ }
619
+ this.externalFramebuffer = framebuffer === null ? null : { handle: framebuffer, width, height };
620
+ this.viewportCallLog.push({ call: "externalFramebuffer", args: framebuffer === null ? [] : [width, height] });
621
+ }
622
+ /** The XR framebuffer currently standing in for the canvas, or null. */
623
+ getExternalFramebuffer() {
624
+ return this.externalFramebuffer;
625
+ }
626
+ /** threejs-parity L7/SC-01 (P2): scissor rect, target pixels. */
627
+ setScissor(x, y, width, height) {
628
+ this.assertAlive();
629
+ if (width < 0 || height < 0) {
630
+ throw new RenderDeviceError("Scissor dimensions must be non-negative", "INVALID_SCISSOR", { width, height });
631
+ }
632
+ this.scissorRect = { x, y, width, height };
633
+ this.viewStateTarget = this.activeRenderTarget;
634
+ this.viewportCallLog.push({ call: "scissor", args: [x, y, width, height] });
635
+ }
636
+ /** threejs-parity L7/SC-01 (P2): scissor-test toggle. */
637
+ setScissorTest(enabled) {
638
+ this.assertAlive();
639
+ this.scissorTestEnabled = enabled;
640
+ this.viewStateTarget = this.activeRenderTarget;
641
+ this.viewportCallLog.push({ call: "scissorTest", args: [enabled] });
642
+ }
643
+ /** SC-01: ordered record of viewport/scissor API calls this frame (cleared by `beginFrame`). */
644
+ getViewportCalls() {
645
+ return this.viewportCallLog;
646
+ }
647
+ /** SC-01: the effective viewport/scissor each draw this frame was issued under, aligned with the draw order. */
648
+ getDrawViewStates() {
649
+ return this.drawViewStateLog;
650
+ }
543
651
  clear(color) {
544
652
  this.assertAlive();
545
653
  this.assertFrame();
@@ -639,8 +747,26 @@ export class MockRenderDevice {
639
747
  });
640
748
  }
641
749
  this.drawCommands.push(command);
750
+ this.drawViewStateLog.push(this.effectiveViewState());
642
751
  this.frameCounters.drawCalls += 1;
643
752
  }
753
+ /** Viewport/scissor in force for the bound target: the override while its target is bound, else the full target. */
754
+ effectiveViewState() {
755
+ const live = this.viewStateTarget === this.activeRenderTarget;
756
+ const toCanvas = this.activeRenderTarget === null;
757
+ const full = this.activeRenderTarget
758
+ ? { x: 0, y: 0, width: this.activeRenderTarget.width, height: this.activeRenderTarget.height }
759
+ : this.externalFramebuffer
760
+ ? { x: 0, y: 0, width: this.externalFramebuffer.width, height: this.externalFramebuffer.height }
761
+ : { x: 0, y: 0, width: this.viewportWidth, height: this.viewportHeight };
762
+ const persistent = toCanvas ? this.persistentViewportRect : null;
763
+ return {
764
+ viewport: live && this.frameViewportSet ? { ...this.viewportRect } : persistent ? { ...persistent } : full,
765
+ scissor: live && this.scissorTestEnabled ? { ...this.scissorRect } : null,
766
+ framebuffer: toCanvas ? this.externalFramebuffer?.handle ?? null : null,
767
+ destination: !toCanvas ? "render-target" : this.externalFramebuffer ? "external" : "canvas"
768
+ };
769
+ }
644
770
  endFrame() {
645
771
  this.assertAlive();
646
772
  this.assertFrame();
@@ -676,6 +802,9 @@ export class MockRenderDevice {
676
802
  ["frameActive", this.frameActive],
677
803
  ["viewportWidth", this.viewportWidth],
678
804
  ["viewportHeight", this.viewportHeight],
805
+ ["viewport", `${this.viewportRect.x},${this.viewportRect.y},${this.viewportRect.width},${this.viewportRect.height}`],
806
+ ["scissor", `${this.scissorRect.x},${this.scissorRect.y},${this.scissorRect.width},${this.scissorRect.height}`],
807
+ ["scissorTest", this.scissorTestEnabled],
679
808
  ["clearR", this.clearColor[0]],
680
809
  ["clearG", this.clearColor[1]],
681
810
  ["clearB", this.clearColor[2]],