@aura3d/rendering 4.3.7 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/DepthPass.d.ts +7 -0
  2. package/dist/DepthPass.d.ts.map +1 -1
  3. package/dist/DepthPass.js +43 -6
  4. package/dist/DepthPass.js.map +1 -1
  5. package/dist/ForwardPass.d.ts +82 -5
  6. package/dist/ForwardPass.d.ts.map +1 -1
  7. package/dist/ForwardPass.js +180 -35
  8. package/dist/ForwardPass.js.map +1 -1
  9. package/dist/MaterialBinding.js +6 -2
  10. package/dist/MaterialBinding.js.map +1 -1
  11. package/dist/RenderDevice.d.ts +5 -0
  12. package/dist/RenderDevice.d.ts.map +1 -1
  13. package/dist/RenderDevice.js.map +1 -1
  14. package/dist/Renderer.d.ts +8 -0
  15. package/dist/Renderer.d.ts.map +1 -1
  16. package/dist/Renderer.js +37 -6
  17. package/dist/Renderer.js.map +1 -1
  18. package/dist/RendererPostprocessPlan.d.ts.map +1 -1
  19. package/dist/RendererPostprocessPlan.js +8 -1
  20. package/dist/RendererPostprocessPlan.js.map +1 -1
  21. package/dist/ShaderChunks.d.ts.map +1 -1
  22. package/dist/ShaderChunks.js +3 -1
  23. package/dist/ShaderChunks.js.map +1 -1
  24. package/dist/ShaderLibrary.d.ts.map +1 -1
  25. package/dist/ShaderLibrary.js +17 -5
  26. package/dist/ShaderLibrary.js.map +1 -1
  27. package/dist/ShaderLibraryCore.d.ts.map +1 -1
  28. package/dist/ShaderLibraryCore.js +2 -1
  29. package/dist/ShaderLibraryCore.js.map +1 -1
  30. package/dist/WebGL2Device.d.ts +19 -1
  31. package/dist/WebGL2Device.d.ts.map +1 -1
  32. package/dist/WebGL2Device.js +114 -37
  33. package/dist/WebGL2Device.js.map +1 -1
  34. package/dist/WebGL2StateCache.d.ts +22 -0
  35. package/dist/WebGL2StateCache.d.ts.map +1 -1
  36. package/dist/WebGL2StateCache.js +71 -42
  37. package/dist/WebGL2StateCache.js.map +1 -1
  38. package/dist/contracts/core.d.ts.map +1 -1
  39. package/dist/contracts/core.js +22 -2
  40. package/dist/contracts/core.js.map +1 -1
  41. package/dist/contracts/program.d.ts.map +1 -1
  42. package/dist/contracts/program.js +8 -1
  43. package/dist/contracts/program.js.map +1 -1
  44. package/dist/contracts/quality.d.ts +21 -0
  45. package/dist/contracts/quality.d.ts.map +1 -1
  46. package/dist/contracts/quality.js +5 -0
  47. package/dist/contracts/quality.js.map +1 -1
  48. package/dist/contracts/renderItem.d.ts +6 -0
  49. package/dist/contracts/renderItem.d.ts.map +1 -1
  50. package/dist/contracts/structuralMemo.d.ts +23 -0
  51. package/dist/contracts/structuralMemo.d.ts.map +1 -0
  52. package/dist/contracts/structuralMemo.js +81 -0
  53. package/dist/contracts/structuralMemo.js.map +1 -0
  54. package/dist/environment/EnvironmentCache.d.ts.map +1 -1
  55. package/dist/environment/EnvironmentCache.js +6 -1
  56. package/dist/environment/EnvironmentCache.js.map +1 -1
  57. package/dist/environment/FirstFrameGate.d.ts +23 -0
  58. package/dist/environment/FirstFrameGate.d.ts.map +1 -0
  59. package/dist/environment/FirstFrameGate.js +58 -0
  60. package/dist/environment/FirstFrameGate.js.map +1 -0
  61. package/dist/environment/Rgb9e5Cube.d.ts.map +1 -1
  62. package/dist/environment/Rgb9e5Cube.js +8 -4
  63. package/dist/environment/Rgb9e5Cube.js.map +1 -1
  64. package/dist/environment/probeBuild.d.ts +29 -0
  65. package/dist/environment/probeBuild.d.ts.map +1 -1
  66. package/dist/environment/probeBuild.js +124 -45
  67. package/dist/environment/probeBuild.js.map +1 -1
  68. package/dist/forward/Lighting.d.ts +43 -3
  69. package/dist/forward/Lighting.d.ts.map +1 -1
  70. package/dist/forward/Lighting.js +127 -17
  71. package/dist/forward/Lighting.js.map +1 -1
  72. package/dist/forward/contactShadowMaskStore.d.ts +41 -0
  73. package/dist/forward/contactShadowMaskStore.d.ts.map +1 -0
  74. package/dist/forward/contactShadowMaskStore.js +85 -0
  75. package/dist/forward/contactShadowMaskStore.js.map +1 -0
  76. package/dist/geometry/Shape.d.ts.map +1 -1
  77. package/dist/geometry/Shape.js +7 -2
  78. package/dist/geometry/Shape.js.map +1 -1
  79. package/dist/geometry/Support.d.ts +4 -0
  80. package/dist/geometry/Support.d.ts.map +1 -1
  81. package/dist/geometry/Support.js +3 -2
  82. package/dist/geometry/Support.js.map +1 -1
  83. package/dist/index.d.ts +6 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +5 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/passes/ContactShadowPass.d.ts +40 -3
  88. package/dist/passes/ContactShadowPass.d.ts.map +1 -1
  89. package/dist/passes/ContactShadowPass.js +73 -13
  90. package/dist/passes/ContactShadowPass.js.map +1 -1
  91. package/dist/passes/Prd02ContactShadowsContributor.d.ts +19 -0
  92. package/dist/passes/Prd02ContactShadowsContributor.d.ts.map +1 -1
  93. package/dist/passes/Prd02ContactShadowsContributor.js +179 -28
  94. package/dist/passes/Prd02ContactShadowsContributor.js.map +1 -1
  95. package/dist/post/v2Stages.d.ts.map +1 -1
  96. package/dist/post/v2Stages.js +2 -0
  97. package/dist/post/v2Stages.js.map +1 -1
  98. package/dist/program/ProgramFeatures.d.ts +6 -0
  99. package/dist/program/ProgramFeatures.d.ts.map +1 -1
  100. package/dist/program/ProgramFeatures.js +11 -5
  101. package/dist/program/ProgramFeatures.js.map +1 -1
  102. package/dist/program/ProgramGenerator.d.ts +6 -0
  103. package/dist/program/ProgramGenerator.d.ts.map +1 -1
  104. package/dist/program/ProgramGenerator.js +36 -1
  105. package/dist/program/ProgramGenerator.js.map +1 -1
  106. package/dist/program/ProgramKey.d.ts.map +1 -1
  107. package/dist/program/ProgramKey.js +4 -1
  108. package/dist/program/ProgramKey.js.map +1 -1
  109. package/dist/program/chunks/shadow_forward.glsl.d.ts +1 -1
  110. package/dist/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  111. package/dist/program/chunks/shadow_forward.glsl.js +4 -1
  112. package/dist/program/chunks/shadow_forward.glsl.js.map +1 -1
  113. package/dist/quality/DirectPath.d.ts +56 -0
  114. package/dist/quality/DirectPath.d.ts.map +1 -0
  115. package/dist/quality/DirectPath.js +74 -0
  116. package/dist/quality/DirectPath.js.map +1 -0
  117. package/dist/renderer/Background.d.ts +0 -5
  118. package/dist/renderer/Background.d.ts.map +1 -1
  119. package/dist/renderer/Background.js +56 -4
  120. package/dist/renderer/Background.js.map +1 -1
  121. package/dist/renderer/InstanceFrustumCull.d.ts +41 -0
  122. package/dist/renderer/InstanceFrustumCull.d.ts.map +1 -0
  123. package/dist/renderer/InstanceFrustumCull.js +138 -0
  124. package/dist/renderer/InstanceFrustumCull.js.map +1 -0
  125. package/dist/renderer/ShadowOrchestration.d.ts +2 -0
  126. package/dist/renderer/ShadowOrchestration.d.ts.map +1 -1
  127. package/dist/renderer/ShadowOrchestration.js +1 -0
  128. package/dist/renderer/ShadowOrchestration.js.map +1 -1
  129. package/dist/renderer/coreOutputPostRoute.d.ts +0 -5
  130. package/dist/renderer/coreOutputPostRoute.d.ts.map +1 -1
  131. package/dist/renderer/coreOutputPostRoute.js +12 -2
  132. package/dist/renderer/coreOutputPostRoute.js.map +1 -1
  133. package/dist/resources/InstanceBuffer.d.ts +2 -0
  134. package/dist/resources/InstanceBuffer.d.ts.map +1 -1
  135. package/dist/resources/InstanceBuffer.js +23 -0
  136. package/dist/resources/InstanceBuffer.js.map +1 -1
  137. package/dist/shaders/chunks/contact_shadow.glsl.d.ts +11 -6
  138. package/dist/shaders/chunks/contact_shadow.glsl.d.ts.map +1 -1
  139. package/dist/shaders/chunks/contact_shadow.glsl.js +41 -19
  140. package/dist/shaders/chunks/contact_shadow.glsl.js.map +1 -1
  141. package/dist/shaders/chunks/contact_shadow_mask.glsl.d.ts +12 -0
  142. package/dist/shaders/chunks/contact_shadow_mask.glsl.d.ts.map +1 -0
  143. package/dist/shaders/chunks/contact_shadow_mask.glsl.js +21 -0
  144. package/dist/shaders/chunks/contact_shadow_mask.glsl.js.map +1 -0
  145. package/dist/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
  146. package/dist/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
  147. package/dist/shaders/chunks/lighting_ibl.glsl.js +8 -2
  148. package/dist/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
  149. package/dist/shadows/CascadeUse.d.ts +31 -0
  150. package/dist/shadows/CascadeUse.d.ts.map +1 -0
  151. package/dist/shadows/CascadeUse.js +60 -0
  152. package/dist/shadows/CascadeUse.js.map +1 -0
  153. package/dist/shadows/Prd02DepthShaderLibrary.d.ts +7 -1
  154. package/dist/shadows/Prd02DepthShaderLibrary.d.ts.map +1 -1
  155. package/dist/shadows/Prd02DepthShaderLibrary.js +12 -3
  156. package/dist/shadows/Prd02DepthShaderLibrary.js.map +1 -1
  157. package/dist/shadows/Prd02ShadowBridge.d.ts +12 -1
  158. package/dist/shadows/Prd02ShadowBridge.d.ts.map +1 -1
  159. package/dist/shadows/Prd02ShadowBridge.js +17 -5
  160. package/dist/shadows/Prd02ShadowBridge.js.map +1 -1
  161. package/dist/shadows/Prd02ShadowsContributor.d.ts +4 -0
  162. package/dist/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
  163. package/dist/shadows/Prd02ShadowsContributor.js +3 -1
  164. package/dist/shadows/Prd02ShadowsContributor.js.map +1 -1
  165. package/dist/shadows/ShadowFilterTier.d.ts +51 -0
  166. package/dist/shadows/ShadowFilterTier.d.ts.map +1 -0
  167. package/dist/shadows/ShadowFilterTier.js +89 -0
  168. package/dist/shadows/ShadowFilterTier.js.map +1 -0
  169. package/dist/shadows/ShadowSystem.d.ts +15 -0
  170. package/dist/shadows/ShadowSystem.d.ts.map +1 -1
  171. package/dist/shadows/ShadowSystem.js +12 -2
  172. package/dist/shadows/ShadowSystem.js.map +1 -1
  173. package/dist/shadows/shadowLegacy.d.ts +12 -0
  174. package/dist/shadows/shadowLegacy.d.ts.map +1 -1
  175. package/dist/shadows/shadowLegacy.js +24 -0
  176. package/dist/shadows/shadowLegacy.js.map +1 -1
  177. package/dist/webgl2/BloomFusion.d.ts +31 -0
  178. package/dist/webgl2/BloomFusion.d.ts.map +1 -0
  179. package/dist/webgl2/BloomFusion.js +25 -0
  180. package/dist/webgl2/BloomFusion.js.map +1 -0
  181. package/dist/webgl2/ContextLifecycle.d.ts +14 -0
  182. package/dist/webgl2/ContextLifecycle.d.ts.map +1 -1
  183. package/dist/webgl2/ContextLifecycle.js +44 -5
  184. package/dist/webgl2/ContextLifecycle.js.map +1 -1
  185. package/dist/webgl2/LegacyPost.d.ts +30 -0
  186. package/dist/webgl2/LegacyPost.d.ts.map +1 -1
  187. package/dist/webgl2/LegacyPost.js +259 -27
  188. package/dist/webgl2/LegacyPost.js.map +1 -1
  189. package/dist/webgl2/MultiDraw.d.ts +2 -0
  190. package/dist/webgl2/MultiDraw.d.ts.map +1 -1
  191. package/dist/webgl2/MultiDraw.js +33 -7
  192. package/dist/webgl2/MultiDraw.js.map +1 -1
  193. package/dist/webgl2/Samplers.d.ts +10 -1
  194. package/dist/webgl2/Samplers.d.ts.map +1 -1
  195. package/dist/webgl2/Samplers.js +24 -1
  196. package/dist/webgl2/Samplers.js.map +1 -1
  197. package/dist/webgl2/TextureFormats.d.ts +12 -0
  198. package/dist/webgl2/TextureFormats.d.ts.map +1 -1
  199. package/dist/webgl2/TextureFormats.js +16 -0
  200. package/dist/webgl2/TextureFormats.js.map +1 -1
  201. package/package.json +3 -3
@@ -1,8 +1,10 @@
1
1
  import { Material } from "./Material.js";
2
+ import { type RenderDevice } from "./RenderDevice.js";
2
3
  import { BaseRenderPass, type RenderPassContext } from "./RenderPass.js";
3
4
  import { type ShaderLibrary } from "./ShaderLibraryCore.js";
4
5
  import { type RenderItem } from "./ForwardPass.js";
5
6
  import type { DepthVariantFeature, ShadowCasterVariantKey } from "./contracts/shadows.js";
7
+ import { InstanceBuffer } from "./resources/InstanceBuffer.js";
6
8
  export interface DepthPassOptions {
7
9
  readonly casters: readonly RenderItem[];
8
10
  readonly shaderLibrary?: ShaderLibrary;
@@ -26,6 +28,11 @@ export interface DepthPassOptions {
26
28
  export declare class DepthMaterial extends Material {
27
29
  constructor();
28
30
  }
31
+ /** Most dense casters kept resident per device; the least recently drawn one is disposed past this. */
32
+ export declare const DEPTH_INSTANCE_BUFFER_CACHE_LIMIT = 64;
33
+ export declare function depthInstanceBufferFor(device: RenderDevice, key: object, matrices: Float32Array): InstanceBuffer;
34
+ /** Test and diagnostics hook: how many dense-caster instance buffers the device keeps resident. */
35
+ export declare function depthInstanceBufferCount(device: RenderDevice): number;
29
36
  export declare class DepthPass extends BaseRenderPass {
30
37
  private readonly options;
31
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DepthPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,EAA0D,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIvF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,sBAAsB,CAAC;IACxE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH;AAED,qBAAa,aAAc,SAAQ,QAAQ;;CAY1C;AAID,qBAAa,SAAU,SAAQ,cAAc;IAmB/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAEnF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEnB,OAAO,EAAE,gBAAgB;IAKtD,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMzC,OAAO,CAAC,UAAU;IAmClB,gFAAgF;IAChF,OAAO,CAAC,iBAAiB;IAsFzB,OAAO,CAAC,SAAS;CAQlB"}
1
+ {"version":3,"file":"DepthPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAA8F,KAAK,YAAY,EAAkE,MAAM,gBAAgB,CAAC;AAC/M,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,EAA0D,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,sBAAsB,CAAC;IACxE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH;AAED,qBAAa,aAAc,SAAQ,QAAQ;;CAY1C;AAID,uGAAuG;AACvG,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAWpD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,cAAc,CAsBhH;AAED,mGAAmG;AACnG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,qBAAa,SAAU,SAAQ,cAAc;IAmB/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAEnF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEnB,OAAO,EAAE,gBAAgB;IAKtD,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMzC,OAAO,CAAC,UAAU;IAoClB,gFAAgF;IAChF,OAAO,CAAC,iBAAiB;IAmFzB,OAAO,CAAC,SAAS;CAQlB"}
package/dist/DepthPass.js CHANGED
@@ -7,6 +7,7 @@ import { createLeanCoreShaderLibrary, DEFAULT_DEPTH_SHADER_NAME } from "./Shader
7
7
  import {} from "./ForwardPass.js";
8
8
  import { prd02DepthProgram, prd02DepthVariantDefines, PRD02_DEPTH_MAX_INSTANCES } from "./shadows/Prd02DepthShaderLibrary.js";
9
9
  import { identityMat4, multiplyMat4 } from "@aura3d/scene";
10
+ import { InstanceBuffer } from "./resources/InstanceBuffer.js";
10
11
  export class DepthMaterial extends Material {
11
12
  constructor() {
12
13
  super({
@@ -21,6 +22,44 @@ export class DepthMaterial extends Material {
21
22
  }
22
23
  }
23
24
  const DEPTH_INSTANCE_ATTRIBUTE_NAMES = ["a_instanceMatrix0", "a_instanceMatrix1", "a_instanceMatrix2", "a_instanceMatrix3"];
25
+ /** Most dense casters kept resident per device; the least recently drawn one is disposed past this. */
26
+ export const DEPTH_INSTANCE_BUFFER_CACHE_LIMIT = 64;
27
+ /**
28
+ * SI-6: persistent per-caster instance buffers for dense (attribute-mode) depth draws, per device. The key is the caster's
29
+ * `instanceTransforms` array, which the renderer passes through from the node unchanged frame to frame. Every cascade draws the same
30
+ * casters, so after the first cascade of a frame `InstanceBuffer.setMatrices` finds identical contents and skips the upload, and the VAO
31
+ * keyed by the buffer id stays cached. Before this each dense caster created and disposed a vertex buffer and a VAO per cascade per frame.
32
+ * Map order is LRU order (a hit is re-inserted at the end).
33
+ */
34
+ const depthInstanceBuffers = new WeakMap();
35
+ export function depthInstanceBufferFor(device, key, matrices) {
36
+ let cache = depthInstanceBuffers.get(device);
37
+ if (!cache) {
38
+ cache = new Map();
39
+ depthInstanceBuffers.set(device, cache);
40
+ }
41
+ const count = Math.floor(matrices.length / 16);
42
+ let entry = cache.get(key);
43
+ if (entry)
44
+ cache.delete(key);
45
+ if (!entry || entry.capacity < count || entry.buffer.bind().matrixBuffer.disposed) {
46
+ entry?.buffer.dispose();
47
+ const capacity = Math.max(16, 2 ** Math.ceil(Math.log2(Math.max(1, count))));
48
+ entry = { buffer: new InstanceBuffer(device, capacity), capacity };
49
+ }
50
+ cache.set(key, entry);
51
+ while (cache.size > DEPTH_INSTANCE_BUFFER_CACHE_LIMIT) {
52
+ const [oldestKey, oldest] = cache.entries().next().value;
53
+ cache.delete(oldestKey);
54
+ oldest.buffer.dispose();
55
+ }
56
+ entry.buffer.setMatrices(matrices, count);
57
+ return entry.buffer;
58
+ }
59
+ /** Test and diagnostics hook: how many dense-caster instance buffers the device keeps resident. */
60
+ export function depthInstanceBufferCount(device) {
61
+ return depthInstanceBuffers.get(device)?.size ?? 0;
62
+ }
24
63
  export class DepthPass extends BaseRenderPass {
25
64
  options;
26
65
  /**
@@ -49,7 +88,8 @@ export class DepthPass extends BaseRenderPass {
49
88
  this.drawCaster(context.device, caster);
50
89
  }
51
90
  }
52
- drawCaster(device, caster) {
91
+ drawCaster(device, source) {
92
+ const caster = source.shadowGeometry !== undefined && source.drawRange === undefined ? { ...source, geometry: source.shadowGeometry } : source;
53
93
  const vertexBuffer = caster.geometry.vertexBuffer.upload(device);
54
94
  const indexBuffer = caster.geometry.indexBuffer?.upload(device);
55
95
  const drawRange = resolveDepthDrawRange(caster.geometry, caster.drawRange);
@@ -88,17 +128,15 @@ export class DepthPass extends BaseRenderPass {
88
128
  const features = this.options.depthVariantFeatures ?? [];
89
129
  const shader = prd02DepthProgram(device, this.shaderLibrary, variant, features);
90
130
  const skinning = caster.skinning;
91
- const instanceTransforms = caster.instanceTransforms ? Float32Array.from(caster.instanceTransforms) : null;
131
+ const instanceTransforms = caster.instanceTransforms instanceof Float32Array ? caster.instanceTransforms : caster.instanceTransforms ? Float32Array.from(caster.instanceTransforms) : null;
92
132
  const instanceTotal = instanceTransforms ? instanceTransforms.length / 16 : 1;
93
133
  // More instances than the uniform array holds ride a per-instance vertex-attribute buffer: one draw for the whole set
94
134
  // instead of ceil(n / 64) draws per cascade (a forest of 2,000 trees was 32 draws in every cascade).
95
135
  const attributeMode = Boolean(variant.instanced && instanceTransforms && instanceTotal > PRD02_DEPTH_MAX_INSTANCES && variant.features["prd02.depthInstanceAttr"] !== undefined);
96
136
  const batchCount = variant.instanced && instanceTransforms && !attributeMode ? Math.ceil(instanceTotal / PRD02_DEPTH_MAX_INSTANCES) : 1;
97
- let instanceBuffer = null;
98
137
  let instanceAttributes = null;
99
138
  if (attributeMode && instanceTransforms) {
100
- instanceBuffer = device.createBuffer("vertex", instanceTransforms.byteLength, instanceTransforms);
101
- const buffer = instanceBuffer;
139
+ const buffer = depthInstanceBufferFor(device, caster.instanceTransforms, instanceTransforms).bind().matrixBuffer;
102
140
  instanceAttributes = DEPTH_INSTANCE_ATTRIBUTE_NAMES.map((shaderName, column) => ({ buffer, shaderName, components: 4, offset: column * 16, stride: 64, divisor: 1 }));
103
141
  }
104
142
  for (let batch = 0; batch < batchCount; batch += 1) {
@@ -162,7 +200,6 @@ export class DepthPass extends BaseRenderPass {
162
200
  }
163
201
  device.draw(command);
164
202
  }
165
- instanceBuffer?.dispose();
166
203
  }
167
204
  getShader(device) {
168
205
  let module = DepthPass.shaderModules.get(this.shaderLibrary);
@@ -1 +1 @@
1
- {"version":3,"file":"DepthPass.js","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DepthPass.js","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { BaseRenderPass, type RenderPassContext } from "./RenderPass.js";
6
6
  import { type SkinningCpuFallbackReason } from "./WebGPUSkinningLimits.js";
7
7
  import { type ShaderLibrary } from "./ShaderLibraryCore.js";
8
8
  import { type ShadowFilterKernel } from "./ShadowMap.js";
9
+ import type { ShadowPcfTapTier } from "./shadows/ShadowFilterTier.js";
9
10
  import type { ForwardSpotShadowMapOptions } from "./shadows/SpotShadowMaps.js";
10
11
  import { TextureBinding } from "./TextureBinding.js";
11
12
  import { type RenderItem } from "./contracts/renderItem.js";
@@ -146,6 +147,18 @@ export interface EnvironmentLightingOptions {
146
147
  * conjunction; absent/null everywhere else, where no code reads it.
147
148
  */
148
149
  readonly environmentProbe?: EnvironmentProbe | null;
150
+ /**
151
+ * LIGHT-05/08: authored hemisphere lights as a directional sky/ground pair (linear rgb, premultiplied by
152
+ * intensity; `direction` is the light's unit up). `color`/`intensity` already include the pair's flat mean
153
+ * (mean(sky, ground), its horizontal-normal value) so every program that reads only the ambient scalar keeps the
154
+ * hemisphere; the PRD-02 IBL pack (`applyPrd02EnvironmentUniforms`) takes that mean back out of the ambient and
155
+ * binds the pair to `u_hemiSky`/`u_hemiGround`/`u_hemiDirection`, which the chunk evaluates per normal.
156
+ */
157
+ readonly hemisphere?: {
158
+ readonly sky: readonly [number, number, number];
159
+ readonly ground: readonly [number, number, number];
160
+ readonly direction: readonly [number, number, number];
161
+ } | null;
149
162
  }
150
163
  export interface ProceduralEnvironmentMapLightingOptions {
151
164
  readonly skyColor: readonly [number, number, number];
@@ -191,6 +204,11 @@ export interface ForwardShadowMapOptions {
191
204
  readonly normalBias?: number;
192
205
  readonly texelSize?: readonly [number, number];
193
206
  readonly filterKernel?: ShadowFilterKernel;
207
+ /**
208
+ * PCF tap-count cap (32 / 16 / 8). A kernel with more taps is reduced to this many at upload; a kernel
209
+ * within the cap, and an unset tier, are used as authored (PRD-2 WP-3, `shadows/ShadowFilterTier.ts`).
210
+ */
211
+ readonly pcfTapTier?: ShadowPcfTapTier;
194
212
  readonly pointLight?: ForwardPointShadowMapOptions;
195
213
  /**
196
214
  * B1 spot shadow path (muse3jsparity-PRD): perspective spot shadow uniforms.
@@ -229,8 +247,7 @@ export declare class ForwardPass extends BaseRenderPass {
229
247
  private generatorProgramCache;
230
248
  private static readonly pipelineCaches;
231
249
  private static readonly uniformPacketPools;
232
- private static readonly instanceSlotPools;
233
- private instanceSlotCursor;
250
+ private static readonly instanceSlotAllocators;
234
251
  private static readonly vertexFormatIds;
235
252
  private static nextVertexFormatId;
236
253
  private static readonly renderStateIds;
@@ -239,9 +256,16 @@ export declare class ForwardPass extends BaseRenderPass {
239
256
  private static nextRequiredAttributeId;
240
257
  private frameWidth;
241
258
  private frameHeight;
259
+ private contactMaskScope;
242
260
  constructor(options: ForwardPassOptions);
243
261
  execute(context: RenderPassContext): void;
244
262
  private drawItem;
263
+ /**
264
+ * Per-instance frustum culling for large instanced items (see renderer/InstanceFrustumCull.ts). Only the main camera of this pass is used,
265
+ * and only for plain meshes: skinned/morphed/custom-attribute items, custom shader materials (vertex displacement) and items that opt out
266
+ * with `frustumCulled: false` always draw every instance.
267
+ */
268
+ private cullInstancesToView;
245
269
  /**
246
270
  * Generated-path instancing (Phase 6): attribute matrices only — the
247
271
  * `u_instanceMatrices[64]` uniform path exists solely in the frozen legacy
@@ -276,12 +300,48 @@ export declare class ForwardPass extends BaseRenderPass {
276
300
  */
277
301
  private pipelineFor;
278
302
  /**
279
- * Persistent attribute-matrix slot for the generated path (Phase 6): slots
280
- * are reused in draw order; capacity/colors mismatches retire the old
281
- * buffer (its VAOs are evicted by the §6.1 dispose fix).
303
+ * Persistent attribute-matrix slot for the generated path (Phase 6). SI-3: slots are keyed by the item's
304
+ * transform array (its owner), not by draw order inside one pass. The order-keyed cursor restarted at 0 in every
305
+ * ForwardPass, so the opaque pass and each transparent segment wrote different items into slot 0 and the
306
+ * content-compare upload skip never hit when several passes drew instanced items.
282
307
  */
283
308
  private instanceSlotFor;
284
309
  }
310
+ /**
311
+ * SI-3: owner-keyed pool of persistent instance buffers. The owner is the item label (with its occurrence index in
312
+ * the pass, so two items sharing a label keep two slots), or the transform array when the item has no label; labels
313
+ * survive the per-frame RenderItem rebuilds that replace arrays. `acquire(owner)` returns the slot that owner used last
314
+ * (re-created only when its capacity or colour layout no longer fits); a new owner takes a slot idle for at least
315
+ * `staleAfterPasses` pass executions, then a new slot up to `maxSlots`, then the least recently used one. Sharing a
316
+ * slot between two draws is still correct (GL orders the uploads), it only costs a re-upload.
317
+ */
318
+ export declare class InstanceSlotAllocator<B> {
319
+ private readonly create;
320
+ private readonly dispose;
321
+ private readonly maxSlots;
322
+ private readonly staleAfterPasses;
323
+ private readonly slots;
324
+ private readonly byOwner;
325
+ private readonly labelCounts;
326
+ private pass;
327
+ constructor(create: (capacity: number, colors: boolean) => B, dispose: (buffer: B) => void, maxSlots?: number, staleAfterPasses?: number);
328
+ /** One pass execution started (the idle clock). */
329
+ beginPass(): void;
330
+ /** `label#n`: the n-th draw with this label in the current pass. */
331
+ labelKey(label: string): string;
332
+ get size(): number;
333
+ acquire(owner: object | string, count: number, colors: boolean): {
334
+ readonly buffer: B;
335
+ readonly capacity: number;
336
+ };
337
+ }
338
+ /**
339
+ * Items the per-instance frustum cull must draw whole: three's `frustumCulled: false`, CPU-unknown vertex motion
340
+ * (skinning, morphs, custom attributes, custom shader materials), draw ranges, and SI-8 `prd10.wind` vegetation. Wind
341
+ * bends a plant's top by up to about 0.74 of its height while the cull sphere (1.15 x the bounds radius) covers about
342
+ * 0.625 of it, so a strongly bent plant at the view edge was culled while still on screen.
343
+ */
344
+ export declare function instanceCullExcluded(item: Pick<RenderItem, "frustumCulled" | "skinning" | "morphTargets" | "morphWeights" | "instanceAttributes" | "drawRange" | "label">, customShaderMaterial: boolean): boolean;
285
345
  /**
286
346
  * Pass-owned feature axes (C-02): lights/shadows/environment/fog shared by every
287
347
  * material in the pass. `clustered` is the pass's resolved state; above
@@ -405,6 +465,23 @@ export declare function prd02IblEnvironmentAvailable(environment: EnvironmentLig
405
465
  * conjunction-off every draw stays byte-identical.
406
466
  */
407
467
  export declare function applyPrd02EnvironmentUniforms(environment: EnvironmentLightingOptions | undefined, item: RenderItem, material: Material | MaterialInstance, uniforms: Map<string, UniformValue>): void;
468
+ /**
469
+ * LIGHT-05/08: splits the pass ambient (which carries the hemisphere's flat mean for the programs that read only
470
+ * the ambient scalar) back into the constant ambient and the directional hemisphere pair for the PRD-02 chunk.
471
+ * With no hemisphere the ambient is passed through unchanged (byte-identical packet).
472
+ */
473
+ export declare function prd02AmbientAndHemisphere(env: EnvironmentLightingOptions): {
474
+ readonly ambient: {
475
+ readonly color: readonly [number, number, number];
476
+ readonly intensity: number;
477
+ };
478
+ readonly hemisphere?: {
479
+ readonly sky: readonly [number, number, number];
480
+ readonly ground: readonly [number, number, number];
481
+ readonly intensity: number;
482
+ readonly direction: readonly [number, number, number];
483
+ };
484
+ };
408
485
  export declare function toMat4Uniform(value: Float32Array | readonly number[], field: string, label?: string): Float32Array;
409
486
  export declare function identityMatrix(): readonly number[];
410
487
  /** C-04 bucket an item lands in for the v2 frame-order split (§9.1). */
@@ -1 +1 @@
1
- {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}