@aura3d/engine 4.5.0 → 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 (199) hide show
  1. package/README.md +1 -0
  2. package/dist/animation/pose/BoneMask.d.ts +8 -0
  3. package/dist/animation/pose/BoneMask.d.ts.map +1 -1
  4. package/dist/animation/pose/BoneMask.js +18 -1
  5. package/dist/animation/pose/BoneMask.js.map +1 -1
  6. package/dist/animation/pose/PoseMixer.d.ts +18 -2
  7. package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
  8. package/dist/animation/pose/PoseMixer.js +52 -4
  9. package/dist/animation/pose/PoseMixer.js.map +1 -1
  10. package/dist/animation/pose/RetargetWorker.d.ts +8 -1
  11. package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
  12. package/dist/animation/pose/RetargetWorker.js +30 -2
  13. package/dist/animation/pose/RetargetWorker.js.map +1 -1
  14. package/dist/aura3d-cli/index.d.ts +6 -0
  15. package/dist/aura3d-cli/index.d.ts.map +1 -1
  16. package/dist/aura3d-cli/index.js +28 -0
  17. package/dist/aura3d-cli/index.js.map +1 -1
  18. package/dist/create-aura3d/cli.js +22 -2
  19. package/dist/create-aura3d/cli.js.map +1 -1
  20. package/dist/create-aura3d/index.d.ts +11 -0
  21. package/dist/create-aura3d/index.d.ts.map +1 -1
  22. package/dist/create-aura3d/index.js +9 -2
  23. package/dist/create-aura3d/index.js.map +1 -1
  24. package/dist/create-aura3d/template-assets.d.ts +53 -0
  25. package/dist/create-aura3d/template-assets.d.ts.map +1 -0
  26. package/dist/create-aura3d/template-assets.js +116 -0
  27. package/dist/create-aura3d/template-assets.js.map +1 -0
  28. package/dist/engine/agent-api/Clock.d.ts +5 -2
  29. package/dist/engine/agent-api/Clock.d.ts.map +1 -1
  30. package/dist/engine/agent-api/Clock.js +9 -4
  31. package/dist/engine/agent-api/Clock.js.map +1 -1
  32. package/dist/engine/agent-api/animationMask.d.ts +14 -2
  33. package/dist/engine/agent-api/animationMask.d.ts.map +1 -1
  34. package/dist/engine/agent-api/animationMask.js +19 -4
  35. package/dist/engine/agent-api/animationMask.js.map +1 -1
  36. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
  37. package/dist/engine/agent-api/app/actorAnimationHandle.js +7 -4
  38. package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
  39. package/dist/engine/agent-api/app/canvas.d.ts +21 -0
  40. package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
  41. package/dist/engine/agent-api/app/canvas.js +119 -7
  42. package/dist/engine/agent-api/app/canvas.js.map +1 -1
  43. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  44. package/dist/engine/agent-api/app/createAuraApp.js +104 -15
  45. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  46. package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
  47. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  48. package/dist/engine/agent-api/app/frameLoop.js +93 -12
  49. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  50. package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
  51. package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
  52. package/dist/engine/agent-api/app/parentFit.js +13 -9
  53. package/dist/engine/agent-api/app/parentFit.js.map +1 -1
  54. package/dist/engine/agent-api/app/renderPath.d.ts +31 -2
  55. package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -1
  56. package/dist/engine/agent-api/app/renderPath.js +128 -22
  57. package/dist/engine/agent-api/app/renderPath.js.map +1 -1
  58. package/dist/engine/agent-api/app/rendererOptions.d.ts +27 -4
  59. package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
  60. package/dist/engine/agent-api/app/rendererOptions.js +63 -16
  61. package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
  62. package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
  63. package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
  64. package/dist/engine/agent-api/app/runtimeNodes.js +76 -2
  65. package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
  66. package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
  67. package/dist/engine/agent-api/compiler/animation.js +4 -3
  68. package/dist/engine/agent-api/compiler/animation.js.map +1 -1
  69. package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
  70. package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
  71. package/dist/engine/agent-api/compiler/compileScene.js +103 -11
  72. package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
  73. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
  74. package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
  75. package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
  76. package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
  77. package/dist/engine/agent-api/compiler/environment.d.ts +37 -0
  78. package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
  79. package/dist/engine/agent-api/compiler/environment.js +129 -11
  80. package/dist/engine/agent-api/compiler/environment.js.map +1 -1
  81. package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
  82. package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
  83. package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
  84. package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
  85. package/dist/engine/agent-api/compiler/primitives.d.ts +13 -1
  86. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  87. package/dist/engine/agent-api/compiler/primitives.js +28 -3
  88. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  89. package/dist/engine/agent-api/compiler/renderer.d.ts +5 -3
  90. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  91. package/dist/engine/agent-api/compiler/renderer.js +33 -7
  92. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  93. package/dist/engine/agent-api/compiler/shadows.d.ts +4 -1
  94. package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
  95. package/dist/engine/agent-api/compiler/shadows.js +6 -2
  96. package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
  97. package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
  98. package/dist/engine/agent-api/nodes/instances.js +16 -4
  99. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  100. package/dist/engine/agent-api/nodes/model.d.ts +15 -0
  101. package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
  102. package/dist/engine/agent-api/nodes/model.js +37 -0
  103. package/dist/engine/agent-api/nodes/model.js.map +1 -1
  104. package/dist/engine/agent-api/nodes/physics.d.ts +25 -0
  105. package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
  106. package/dist/engine/agent-api/nodes/physics.js +107 -11
  107. package/dist/engine/agent-api/nodes/physics.js.map +1 -1
  108. package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
  109. package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
  110. package/dist/engine/agent-api/nodes/primitives.js +11 -8
  111. package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
  112. package/dist/engine/agent-api/nodes/types/runtime.d.ts +5 -0
  113. package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
  114. package/dist/engine/agent-api/nodes/types.d.ts +2 -0
  115. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  116. package/dist/engine/contracts/environment.d.ts +9 -0
  117. package/dist/engine/contracts/environment.d.ts.map +1 -1
  118. package/dist/engine/contracts/environment.js.map +1 -1
  119. package/dist/engine/contracts/lighting.d.ts +3 -0
  120. package/dist/engine/contracts/lighting.d.ts.map +1 -1
  121. package/dist/engine/contracts/lighting.js.map +1 -1
  122. package/dist/engine/lanes/prd02.d.ts +12 -4
  123. package/dist/engine/lanes/prd02.d.ts.map +1 -1
  124. package/dist/engine/lanes/prd02.js +23 -7
  125. package/dist/engine/lanes/prd02.js.map +1 -1
  126. package/dist/game/touch/TouchControls.d.ts.map +1 -1
  127. package/dist/game/touch/TouchControls.js +48 -12
  128. package/dist/game/touch/TouchControls.js.map +1 -1
  129. package/dist/react/index.d.ts +13 -0
  130. package/dist/react/index.d.ts.map +1 -1
  131. package/dist/react/index.js +88 -8
  132. package/dist/react/index.js.map +1 -1
  133. package/dist/rendering/DepthPass.d.ts +7 -0
  134. package/dist/rendering/DepthPass.d.ts.map +1 -1
  135. package/dist/rendering/DepthPass.js +40 -4
  136. package/dist/rendering/DepthPass.js.map +1 -1
  137. package/dist/rendering/ForwardPass.d.ts +69 -5
  138. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  139. package/dist/rendering/ForwardPass.js +119 -27
  140. package/dist/rendering/ForwardPass.js.map +1 -1
  141. package/dist/rendering/RenderDevice.d.ts +5 -0
  142. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  143. package/dist/rendering/RenderDevice.js.map +1 -1
  144. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  145. package/dist/rendering/RendererPostprocessPlan.js +8 -1
  146. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  147. package/dist/rendering/WebGL2Device.d.ts +3 -0
  148. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  149. package/dist/rendering/WebGL2Device.js +20 -0
  150. package/dist/rendering/WebGL2Device.js.map +1 -1
  151. package/dist/rendering/forward/Lighting.d.ts +32 -0
  152. package/dist/rendering/forward/Lighting.d.ts.map +1 -1
  153. package/dist/rendering/forward/Lighting.js +103 -3
  154. package/dist/rendering/forward/Lighting.js.map +1 -1
  155. package/dist/rendering/index.d.ts +2 -2
  156. package/dist/rendering/index.d.ts.map +1 -1
  157. package/dist/rendering/index.js +1 -1
  158. package/dist/rendering/index.js.map +1 -1
  159. package/dist/rendering/post/v2Stages.d.ts.map +1 -1
  160. package/dist/rendering/post/v2Stages.js +2 -0
  161. package/dist/rendering/post/v2Stages.js.map +1 -1
  162. package/dist/rendering/quality/DirectPath.d.ts +13 -0
  163. package/dist/rendering/quality/DirectPath.d.ts.map +1 -1
  164. package/dist/rendering/quality/DirectPath.js +33 -1
  165. package/dist/rendering/quality/DirectPath.js.map +1 -1
  166. package/dist/rendering/renderer/Background.d.ts.map +1 -1
  167. package/dist/rendering/renderer/Background.js +31 -2
  168. package/dist/rendering/renderer/Background.js.map +1 -1
  169. package/dist/rendering/renderer/InstanceFrustumCull.d.ts +5 -3
  170. package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -1
  171. package/dist/rendering/renderer/InstanceFrustumCull.js +17 -6
  172. package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -1
  173. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
  174. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
  175. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
  176. package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
  177. package/dist/rendering/shadows/CascadeUse.d.ts +3 -0
  178. package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -1
  179. package/dist/rendering/shadows/CascadeUse.js +16 -1
  180. package/dist/rendering/shadows/CascadeUse.js.map +1 -1
  181. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
  182. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
  183. package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
  184. package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
  185. package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
  186. package/dist/rendering/webgl2/ContextLifecycle.js +14 -2
  187. package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
  188. package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
  189. package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
  190. package/dist/rendering/webgl2/MultiDraw.js +24 -6
  191. package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
  192. package/package.json +25 -25
  193. package/templates/cinematic-scene/package.json +2 -2
  194. package/templates/mini-game/package.json +2 -2
  195. package/templates/product-viewer/package.json +2 -2
  196. package/templates/production-asset-inspector/package.json +1 -1
  197. package/templates/production-material-studio/package.json +1 -1
  198. package/templates/production-product-configurator/package.json +1 -1
  199. package/templates/production-product-viewer/package.json +1 -1
@@ -38,6 +38,19 @@ export interface RenderPathDecision {
38
38
  export declare const QUALITY_MODES: readonly AuraQualityMode[];
39
39
  export declare function isQualityMode(value: unknown): value is AuraQualityMode;
40
40
  export declare function resolveRenderPath(input: RenderPathInput): RenderPathDecision;
41
+ /** The parts of a render item {@link directPathItemBlockers} reads (structural, so no GL types are needed). */
42
+ export interface DirectPathItemLike {
43
+ readonly label?: string;
44
+ readonly material?: unknown;
45
+ }
46
+ /**
47
+ * RP-01: reasons a decoded scene needs the HDR target that the authored snapshot cannot show, read from the render items a GLB
48
+ * produced. Blending happens after the in-shader encode on the direct path (display space) but before it on the HDR path (linear),
49
+ * so a BLEND material renders differently (50% white over black: 113/255 direct against 197/255 HDR). Transmission needs the
50
+ * HDR scene-colour capture. The transmission test mirrors `itemReportsTransmissionLobe` (forward/Transmission.ts). Each reason
51
+ * appears once.
52
+ */
53
+ export declare function directPathItemBlockers(items: readonly DirectPathItemLike[]): string[];
41
54
  /** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
42
55
  export declare function withDirectPath(flags: QrFlags): QrFlags;
43
56
  //# sourceMappingURL=DirectPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectPath.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,eAAe,EAAsD,CAAC;AAE3G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAY5E;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"DirectPath.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,eAAe,EAAsD,CAAC;AAE3G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAc5E;AAED,+GAA+G;AAC/G,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAiBrF;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD"}
@@ -28,13 +28,45 @@ export function resolveRenderPath(input) {
28
28
  return { path: "hdr-msaa", quality, reason: `quality "${quality}" always uses the HDR multisampled target` };
29
29
  }
30
30
  if (quality === "safe-basic") {
31
- return { path: "direct", quality, reason: 'quality "safe-basic" always uses the direct path' };
31
+ // RP-06: the direct path has no post chain, so whatever would have needed the HDR target is dropped; name it.
32
+ const dropped = input.blockers.length > 0 ? `; not rendered on this path: ${input.blockers.join("; ")}` : "";
33
+ return { path: "direct", quality, reason: `quality "safe-basic" always uses the direct path${dropped}` };
32
34
  }
33
35
  if (input.blockers.length > 0) {
34
36
  return { path: "hdr-msaa", quality, reason: `scene needs the HDR target: ${input.blockers.join("; ")}` };
35
37
  }
36
38
  return { path: "direct", quality, reason: "scene authors no post-processing, HDR output or transmission" };
37
39
  }
40
+ function numericParameter(material, name) {
41
+ const value = material.getParameter?.(name);
42
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
43
+ }
44
+ /**
45
+ * RP-01: reasons a decoded scene needs the HDR target that the authored snapshot cannot show, read from the render items a GLB
46
+ * produced. Blending happens after the in-shader encode on the direct path (display space) but before it on the HDR path (linear),
47
+ * so a BLEND material renders differently (50% white over black: 113/255 direct against 197/255 HDR). Transmission needs the
48
+ * HDR scene-colour capture. The transmission test mirrors `itemReportsTransmissionLobe` (forward/Transmission.ts). Each reason
49
+ * appears once.
50
+ */
51
+ export function directPathItemBlockers(items) {
52
+ const reasons = new Set();
53
+ for (const item of items) {
54
+ const material = item.material;
55
+ if (!material)
56
+ continue;
57
+ const base = material.baseMaterial ?? material;
58
+ if (base.renderState?.blend) {
59
+ reasons.add("decoded GLB has a transparent (BLEND) material");
60
+ continue;
61
+ }
62
+ if (numericParameter(base, "u_transmissionFactor") > 0.001
63
+ || numericParameter(base, "u_diffuseTransmissionFactor") > 0.001
64
+ || numericParameter(base, "u_volumeThicknessFactor") > 0.001) {
65
+ reasons.add("decoded GLB has a transmission material");
66
+ }
67
+ }
68
+ return [...reasons];
69
+ }
38
70
  /** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
39
71
  export function withDirectPath(flags) {
40
72
  return withCoreOutputOff(flags);
@@ -1 +1 @@
1
- {"version":3,"file":"DirectPath.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAsBpE,MAAM,CAAC,MAAM,aAAa,GAA+B,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3G,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC;IACxC,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,OAAO,2CAA2C,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,+BAA+B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,8DAA8D,EAAE,CAAC;AAC7G,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"DirectPath.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA8BtC,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,SAAS,CAU1I;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,YAAY,GACnB,4BAA4B,GAAG,SAAS,CA8C1C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,0BAA0B,GAAG,SAAS,CAgBtI;AAKD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAI1G;AAKD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,GAAG,0BAA0B,CAQ1H;AAmBD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAAG,SAAS,CA6D5G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,KAAK,GAAG,SAAS,CAG3I;AA6CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qCAAqC,EAAE,0BAWnD,CAAC"}
1
+ {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA4DtC,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,SAAS,CAU1I;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,YAAY,GACnB,4BAA4B,GAAG,SAAS,CA8C1C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,0BAA0B,GAAG,SAAS,CAgBtI;AAKD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAI1G;AAKD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,GAAG,0BAA0B,CAQ1H;AAoBD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAAG,SAAS,CAiE5G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,KAAK,GAAG,SAAS,CAG3I;AA6CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qCAAqC,EAAE,0BAWnD,CAAC"}
@@ -14,6 +14,31 @@ const PRD02_BACKGROUND_SAMPLER = new Sampler({
14
14
  addressU: "clamp-to-edge",
15
15
  addressV: "clamp-to-edge"
16
16
  });
17
+ function sameHemisphere(a, b) {
18
+ if (a === null || b === null)
19
+ return a === b;
20
+ for (let i = 0; i < 3; i += 1) {
21
+ if (a.sky[i] !== b.sky[i] || a.ground[i] !== b.ground[i] || a.direction[i] !== b.direction[i])
22
+ return false;
23
+ }
24
+ return true;
25
+ }
26
+ /**
27
+ * The ambient scalar every program reads, with the hemisphere's flat mean folded in (programs without the PRD-02
28
+ * chunk keep the hemisphere at its horizontal-normal value; the chunk's pack takes the mean back out).
29
+ */
30
+ function ambientWithHemisphereMean(ambient, hemisphere) {
31
+ if (!hemisphere)
32
+ return ambient;
33
+ const total = [0, 0, 0];
34
+ for (let i = 0; i < 3; i += 1) {
35
+ total[i] = (ambient ? ambient.color[i] * ambient.intensity : 0) + (hemisphere.sky[i] + hemisphere.ground[i]) / 2;
36
+ }
37
+ const peak = Math.max(total[0], total[1], total[2]);
38
+ if (!(peak > 0))
39
+ return ambient;
40
+ return { color: [total[0] / peak, total[1] / peak, total[2] / peak], intensity: peak };
41
+ }
17
42
  export function collectEnvironmentBackground(source) {
18
43
  if (source instanceof Scene || isIterable(source) || source.environmentBackground === false)
19
44
  return undefined;
@@ -158,13 +183,15 @@ export function resolvePrd02EnvironmentLighting(source) {
158
183
  const meta = source;
159
184
  const diffuse = meta.environmentProbeDiffuseIntensity ?? 1;
160
185
  const specular = meta.environmentProbeSpecularIntensity ?? 1;
161
- const ambient = meta.environmentProbeAmbient ?? null;
186
+ const hemisphere = meta.environmentProbeHemisphere ?? null;
187
+ const ambient = ambientWithHemisphereMean(meta.environmentProbeAmbient ?? null, hemisphere);
162
188
  const withProbe = rendererQrFlags().on("A3D_QR_COMPILER") && rendererQrFlags().on("A3D_QR_LIGHTING");
163
189
  const memo = prd02LightingMemo.get(probe);
164
190
  if (memo
165
191
  && memo.diffuse === diffuse
166
192
  && memo.specular === specular
167
193
  && memo.withProbe === withProbe
194
+ && sameHemisphere(memo.hemisphere, hemisphere)
168
195
  && (memo.ambient === null
169
196
  ? ambient === null
170
197
  : ambient !== null
@@ -198,12 +225,14 @@ export function resolvePrd02EnvironmentLighting(source) {
198
225
  // LIGHTING-only lighting object stays byte-identical.
199
226
  ...(withProbe
200
227
  ? { environmentProbe: probe }
201
- : {})
228
+ : {}),
229
+ ...(hemisphere ? { hemisphere: { sky: [...hemisphere.sky], ground: [...hemisphere.ground], direction: [...hemisphere.direction] } } : {})
202
230
  };
203
231
  prd02LightingMemo.set(probe, {
204
232
  diffuse,
205
233
  specular,
206
234
  withProbe,
235
+ hemisphere: hemisphere ? { sky: [...hemisphere.sky], ground: [...hemisphere.ground], direction: [...hemisphere.direction] } : null,
207
236
  ambient: ambient ? [ambient.color[0], ambient.color[1], ambient.color[2], ambient.intensity] : null,
208
237
  result
209
238
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,10 @@
6
6
  * whose bounding sphere intersects the view frustum, in draw order, so the draw is pixel-identical and cheaper. It is conservative: the
7
7
  * sphere is inflated, and anything it cannot reason about (non-finite matrices, tiny draws) is left to the caller's normal path.
8
8
  *
9
- * The scan itself is allocation-free (module scratch for the keep list); only the compacted output arrays are allocated, and only when
10
- * something was culled.
9
+ * The scan and the output are allocation-free in steady state (SI-2): the keep list and the compacted transforms and colours live in
10
+ * module scratch buffers that grow on demand and are reused, so the result arrays are views that stay valid only until the next call.
11
+ * Every consumer in the forward draw copies them synchronously (InstanceBuffer.setMatrices, the uniform pack, createBuffer with data).
12
+ * Before this a 900-slot pool with most slots parked off-screen allocated about 72 KB of fresh arrays per frame.
11
13
  */
12
14
  /** Below this many instances the GPU handles the draw trivially and the scan would cost more than it saves. */
13
15
  export declare const MIN_CULLED_INSTANCES = 512;
@@ -32,7 +34,7 @@ export interface InstanceFrustumCullResult {
32
34
  readonly total: number;
33
35
  }
34
36
  /**
35
- * Returns the visible subset, or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
37
+ * Returns the visible subset (views into reused scratch, valid until the next call), or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
36
38
  * A result with `count === 0` means every instance is outside the frustum.
37
39
  */
38
40
  export declare function cullInstancesToFrustum(input: InstanceFrustumCullInput): InstanceFrustumCullResult | null;
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceFrustumCull.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+GAA+G;AAC/G,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC,MAAM,WAAW,wBAAwB;IACvC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAkCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,IAAI,CAgExG"}
1
+ {"version":3,"file":"InstanceFrustumCull.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+GAA+G;AAC/G,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC,MAAM,WAAW,wBAAwB;IACvC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAwCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,IAAI,CAoExG"}
@@ -6,14 +6,21 @@
6
6
  * whose bounding sphere intersects the view frustum, in draw order, so the draw is pixel-identical and cheaper. It is conservative: the
7
7
  * sphere is inflated, and anything it cannot reason about (non-finite matrices, tiny draws) is left to the caller's normal path.
8
8
  *
9
- * The scan itself is allocation-free (module scratch for the keep list); only the compacted output arrays are allocated, and only when
10
- * something was culled.
9
+ * The scan and the output are allocation-free in steady state (SI-2): the keep list and the compacted transforms and colours live in
10
+ * module scratch buffers that grow on demand and are reused, so the result arrays are views that stay valid only until the next call.
11
+ * Every consumer in the forward draw copies them synchronously (InstanceBuffer.setMatrices, the uniform pack, createBuffer with data).
12
+ * Before this a 900-slot pool with most slots parked off-screen allocated about 72 KB of fresh arrays per frame.
11
13
  */
12
14
  /** Below this many instances the GPU handles the draw trivially and the scan would cost more than it saves. */
13
15
  export const MIN_CULLED_INSTANCES = 512;
14
16
  /** Conservative inflation of each instance's bounding sphere (covers wind sway, rounding and TAA jitter). */
15
17
  const RADIUS_INFLATION = 1.15;
16
18
  let keepScratch = new Uint32Array(0);
19
+ let transformScratch = new Float32Array(0);
20
+ let colorScratch = new Float32Array(0);
21
+ function grown(current, length) {
22
+ return current.length >= length ? current : new Float32Array(Math.max(length, current.length * 2));
23
+ }
17
24
  const planes = new Float64Array(24);
18
25
  function extractPlanes(vp) {
19
26
  // Gribb-Hartmann on a column-major matrix: row i = (m[i], m[4+i], m[8+i], m[12+i]).
@@ -50,7 +57,7 @@ function isIdentity(m) {
50
57
  return true;
51
58
  }
52
59
  /**
53
- * Returns the visible subset, or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
60
+ * Returns the visible subset (views into reused scratch, valid until the next call), or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
54
61
  * A result with `count === 0` means every instance is outside the frustum.
55
62
  */
56
63
  export function cullInstancesToFrustum(input) {
@@ -113,9 +120,13 @@ export function cullInstancesToFrustum(input) {
113
120
  }
114
121
  if (kept === total)
115
122
  return null;
116
- // Fresh arrays: the draw (and any deferred multi-draw bookkeeping) may hold them past this call.
117
- const outTransforms = new Float32Array(kept * 16);
118
- const outColors = colors !== undefined ? new Float32Array(kept * 4) : undefined;
123
+ transformScratch = grown(transformScratch, kept * 16);
124
+ const outTransforms = transformScratch.subarray(0, kept * 16);
125
+ let outColors;
126
+ if (colors !== undefined) {
127
+ colorScratch = grown(colorScratch, kept * 4);
128
+ outColors = colorScratch.subarray(0, kept * 4);
129
+ }
119
130
  for (let k = 0; k < kept; k += 1) {
120
131
  const i = keepScratch[k];
121
132
  outTransforms.set(transforms.subarray(i * 16, i * 16 + 16), k * 16);
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceFrustumCull.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstanceFrustumCull.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,11 @@ export declare const LIGHTING_IBL_CHUNK_GLSL = "\nuniform samplerCube u_envSpecu
24
24
  * (which divide by pi) and applied once as exit radiance. `a3dEnvIrradiance`
25
25
  * keeps the name/scale the C-03 lobe IBL calls read from the default body
26
26
  * (true irradiance, cf. `PI * a3dSampleEnvironment(N, 8.0)` there).
27
+ *
28
+ * LIGHT-05/08: the hemisphere pair (true irradiance, no 1/pi) is split out the
29
+ * same way and applied as a plain Lambert term, as three.js r185 does for
30
+ * `HemisphereLight` (it joins `irradiance`, never `iblIrradiance`), so it
31
+ * does not feed the multiscatter energy terms of the probe.
27
32
  */
28
- export declare const LIGHTING_IBL_CALL_GLSL = "\nvec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);\nvec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance, vec3(0.0));\nindirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);\nindirectDiffuse += u_ambientIrradiance * material.diffuseContribution;\nindirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);\n";
33
+ export declare const LIGHTING_IBL_CALL_GLSL = "\nvec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);\nvec3 a3dHemiIrradiance = mix(u_hemiGround, u_hemiSky, dot(N, u_hemiDirection) * 0.5 + 0.5);\nvec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance - a3dHemiIrradiance, vec3(0.0));\nindirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);\nindirectDiffuse += (u_ambientIrradiance + a3dHemiIrradiance * 0.31830989) * material.diffuseContribution;\nindirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);\n";
29
34
  //# sourceMappingURL=lighting_ibl.glsl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lighting_ibl.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,gxGAuFnC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,saAMlC,CAAC"}
1
+ {"version":3,"file":"lighting_ibl.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,gxGAuFnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,0jBAOlC,CAAC"}
@@ -111,12 +111,18 @@ vec3 a3d_iblDiffuseFresnel(vec3 f0, float roughness, float ndv) {
111
111
  * (which divide by pi) and applied once as exit radiance. `a3dEnvIrradiance`
112
112
  * keeps the name/scale the C-03 lobe IBL calls read from the default body
113
113
  * (true irradiance, cf. `PI * a3dSampleEnvironment(N, 8.0)` there).
114
+ *
115
+ * LIGHT-05/08: the hemisphere pair (true irradiance, no 1/pi) is split out the
116
+ * same way and applied as a plain Lambert term, as three.js r185 does for
117
+ * `HemisphereLight` (it joins `irradiance`, never `iblIrradiance`), so it
118
+ * does not feed the multiscatter energy terms of the probe.
114
119
  */
115
120
  export const LIGHTING_IBL_CALL_GLSL = /* glsl */ `
116
121
  vec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);
117
- vec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance, vec3(0.0));
122
+ vec3 a3dHemiIrradiance = mix(u_hemiGround, u_hemiSky, dot(N, u_hemiDirection) * 0.5 + 0.5);
123
+ vec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance - a3dHemiIrradiance, vec3(0.0));
118
124
  indirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);
119
- indirectDiffuse += u_ambientIrradiance * material.diffuseContribution;
125
+ indirectDiffuse += (u_ambientIrradiance + a3dHemiIrradiance * 0.31830989) * material.diffuseContribution;
120
126
  indirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);
121
127
  `;
122
128
  //# sourceMappingURL=lighting_ibl.glsl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lighting_ibl.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFjD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;;;;;;CAMhD,CAAC"}
1
+ {"version":3,"file":"lighting_ibl.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFjD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;;;;;;;CAOhD,CAAC"}
@@ -9,11 +9,14 @@
9
9
  * `selectForwardShadowMap`), the same item centre (`renderItemWorldCenter`) and the same camera inputs the renderer hands the forward pass
10
10
  * (`resolvedCamera.viewMatrix`, `cameraPosition`). Every cascade no receiver picks is reported as unused. Because the decision is computed by the
11
11
  * forward path's own function and not by a parallel formula, a skipped cascade is one the forward path cannot select for these receivers.
12
+ * Instanced receivers (SI-1) select by instance coverage (`forwardCascadePosition`); every cascade holding any of their instances counts as used.
12
13
  */
13
14
  import type { RenderItem } from "../contracts/renderItem.js";
14
15
  export interface CascadeUseFit {
15
16
  readonly index: number;
16
17
  readonly splitFar: number;
18
+ /** The cascade's unbiased light view-projection (what the bridge hands the forward pass as `lightMatrix`); needed for instanced receivers. */
19
+ readonly drawViewProjection?: ArrayLike<number>;
17
20
  }
18
21
  /** The camera inputs `ForwardPass` receives as `cameraViewMatrix` / `cameraPosition`; they decide which depth the forward path measures. */
19
22
  export interface CascadeUseCamera {
@@ -1 +1 @@
1
- {"version":3,"file":"CascadeUse.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,4IAA4I;AAC5I,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,aAAa,EAAE,EAC9B,SAAS,EAAE,SAAS,UAAU,EAAE,EAChC,MAAM,EAAE,gBAAgB,GACvB,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAiBjC"}
1
+ {"version":3,"file":"CascadeUse.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8IAA8I;IAC9I,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,4IAA4I;AAC5I,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,aAAa,EAAE,EAC9B,SAAS,EAAE,SAAS,UAAU,EAAE,EAChC,MAAM,EAAE,gBAAgB,GACvB,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CA4BjC"}
@@ -9,8 +9,9 @@
9
9
  * `selectForwardShadowMap`), the same item centre (`renderItemWorldCenter`) and the same camera inputs the renderer hands the forward pass
10
10
  * (`resolvedCamera.viewMatrix`, `cameraPosition`). Every cascade no receiver picks is reported as unused. Because the decision is computed by the
11
11
  * forward path's own function and not by a parallel formula, a skipped cascade is one the forward path cannot select for these receivers.
12
+ * Instanced receivers (SI-1) select by instance coverage (`forwardCascadePosition`); every cascade holding any of their instances counts as used.
12
13
  */
13
- import { forwardCascadeSelectionDepth, renderItemWorldCenter } from "../forward/Lighting.js";
14
+ import { forwardCascadeSelectionDepth, forwardInstanceCascadeCoverage, forwardInstancedCascadeReceiver, renderItemWorldCenter } from "../forward/Lighting.js";
14
15
  /**
15
16
  * Indices of cascades no receiver can select, or `undefined` when the answer cannot be given safely (fewer than two cascades, no receivers,
16
17
  * neither a view matrix nor an eye, non-finite depths). `undefined` means "render every cascade".
@@ -34,6 +35,20 @@ export function unusedCascadeIndices(fits, receivers, camera) {
34
35
  break;
35
36
  }
36
37
  used.add(pick);
38
+ // SI-1: an instanced receiver picks the cascade holding most of its (camera-culled) instance centres. The culled set is only known
39
+ // inside the forward draw, so mark every cascade that holds any instance: the forward pick is always one of them or the centre pick.
40
+ if (forwardInstancedCascadeReceiver(item)) {
41
+ const coverage = forwardInstanceCascadeCoverage(item, fits.map((fit) => fit.drawViewProjection), false);
42
+ if (!coverage) {
43
+ if (fits.some((fit) => fit.drawViewProjection === undefined))
44
+ return undefined;
45
+ // Non-finite instance data: the forward pass falls back to the centre pick, already counted.
46
+ }
47
+ else {
48
+ coverage.counts.forEach((count, i) => { if (count > 0)
49
+ used.add(i); });
50
+ }
51
+ }
37
52
  if (used.size === fits.length)
38
53
  return undefined;
39
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CascadeUse.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAc1F;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,SAAgC,EAChC,MAAwB;IAExB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;QAC1H,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,iEAAiE;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;gBAAC,IAAI,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"CascadeUse.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAgB3J;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,SAAgC,EAChC,MAAwB;IAExB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;QAC1H,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,iEAAiE;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;gBAAC,IAAI,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,mIAAmI;QACnI,qIAAqI;QACrI,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC/E,6FAA6F;YAC/F,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC"}
@@ -35,6 +35,10 @@ export interface Prd02ShadowDiagnostics {
35
35
  readonly filter: string;
36
36
  readonly casterVariants: readonly string[];
37
37
  readonly sampled: boolean;
38
+ /** Sun row only: cascades fitted this frame. */
39
+ readonly cascadeCount?: number;
40
+ /** Sun row only (SI-5): cascade indices allocated but not redrawn because no receiver can select them (PRD-2 WP-7). */
41
+ readonly skippedCascades?: readonly number[];
38
42
  }[];
39
43
  readonly droppedFeatures: readonly string[];
40
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Prd02ShadowsContributor.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAqC,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGzF,OAAO,KAAK,EAA+C,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAanI,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAElG;AAkBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,uBAAuB,GAAG;IACvE,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,CAAC;CAChD,CAgDA;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,EAAE,CAAC;IACJ,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAID,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,CAEtE;AAoED,wBAAgB,6BAA6B,IAAI,gBAAgB,CAuBhE"}
1
+ {"version":3,"file":"Prd02ShadowsContributor.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAqC,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGzF,OAAO,KAAK,EAA+C,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAanI,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAElG;AAkBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,uBAAuB,GAAG;IACvE,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,CAAC;CAChD,CAgDA;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,gDAAgD;QAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,uHAAuH;QACvH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC9C,EAAE,CAAC;IACJ,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAID,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,CAEtE;AAsED,wBAAgB,6BAA6B,IAAI,gBAAgB,CAuBhE"}
@@ -157,7 +157,9 @@ class Prd02ShadowsRenderPass extends BaseRenderPass {
157
157
  light: "sun",
158
158
  filter: config.filter,
159
159
  casterVariants: diag.casterVariants,
160
- sampled: rendered && diag.cascadeCount > 0
160
+ sampled: rendered && diag.cascadeCount > 0,
161
+ cascadeCount: diag.cascadeCount,
162
+ skippedCascades: [...diag.skippedCascades]
161
163
  },
162
164
  ...Array.from({ length: diag.localLights }, (_, i) => ({
163
165
  light: `local-${i}`,
@@ -1 +1 @@
1
- {"version":3,"file":"Prd02ShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prd02ShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextLifecycle.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextLifecycle.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,11 @@ export class WebGL2ContextLifecycle {
87
87
  }
88
88
  }
89
89
  isDeviceLost() {
90
- return this.host.contextLost;
90
+ // The context can be gone before the webglcontextlost event is dispatched; WebGL reports that synchronously.
91
+ if (this.host.contextLost)
92
+ return true;
93
+ const gl = this.host.gl;
94
+ return typeof gl?.isContextLost === "function" && gl.isContextLost();
91
95
  }
92
96
  /** SC-01: viewport/scissor override and the render target it was set on (override applies only while that target is bound). */
93
97
  viewportOverride = null;
@@ -318,7 +322,15 @@ export class WebGL2ContextLifecycle {
318
322
  }
319
323
  readError() {
320
324
  const error = this.host.gl.getError();
321
- return error === this.host.gl.NO_ERROR ? null : `0x${error.toString(16)}`;
325
+ if (error === this.host.gl.NO_ERROR)
326
+ return null;
327
+ // CONTEXT_LOST_WEBGL (0x9242) is the loss signal, not a GL fault: the lost/restored events own that state. Treating it as
328
+ // a fault threw "LDR postprocess presentation failed: 0x9242" from the frame in which the context went (top-tennis C8).
329
+ if (error === CONTEXT_LOST_WEBGL)
330
+ return null;
331
+ return `0x${error.toString(16)}`;
322
332
  }
323
333
  }
334
+ /** WebGL's context-lost error code (`WEBGL_lose_context` and real GPU resets). */
335
+ const CONTEXT_LOST_WEBGL = 0x9242;
324
336
  //# sourceMappingURL=ContextLifecycle.js.map