@aura3d/engine 4.1.2 → 4.1.3

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 (141) hide show
  1. package/README.md +52 -730
  2. package/dist/audio/synth/SynthCueBank.d.ts.map +1 -1
  3. package/dist/audio/synth/SynthCueBank.js +11 -2
  4. package/dist/audio/synth/SynthCueBank.js.map +1 -1
  5. package/dist/audio/synth/types.d.ts +4 -0
  6. package/dist/audio/synth/types.d.ts.map +1 -1
  7. package/dist/aura3d-cli/commands/evidence/index.d.ts +3 -0
  8. package/dist/aura3d-cli/commands/evidence/index.d.ts.map +1 -0
  9. package/dist/aura3d-cli/commands/evidence/index.js +12 -0
  10. package/dist/aura3d-cli/commands/evidence/index.js.map +1 -0
  11. package/dist/aura3d-cli/commands/evidence/judge.d.ts +18 -0
  12. package/dist/aura3d-cli/commands/evidence/judge.d.ts.map +1 -0
  13. package/dist/aura3d-cli/commands/evidence/judge.js +194 -0
  14. package/dist/aura3d-cli/commands/evidence/judge.js.map +1 -0
  15. package/dist/aura3d-cli/commands/evidence/judgeLib.d.ts +84 -0
  16. package/dist/aura3d-cli/commands/evidence/judgeLib.d.ts.map +1 -0
  17. package/dist/aura3d-cli/commands/evidence/judgeLib.js +178 -0
  18. package/dist/aura3d-cli/commands/evidence/judgeLib.js.map +1 -0
  19. package/dist/aura3d-cli/commands/registry.d.ts +1 -0
  20. package/dist/aura3d-cli/commands/registry.d.ts.map +1 -1
  21. package/dist/aura3d-cli/commands/registry.js +1 -0
  22. package/dist/aura3d-cli/commands/registry.js.map +1 -1
  23. package/dist/aura3d-cli/look/capture.d.ts +15 -7
  24. package/dist/aura3d-cli/look/capture.d.ts.map +1 -1
  25. package/dist/aura3d-cli/look/capture.js +85 -13
  26. package/dist/aura3d-cli/look/capture.js.map +1 -1
  27. package/dist/create-aura3d/index.js +1 -1
  28. package/dist/engine/agent-api/compiler/geometry.d.ts +13 -0
  29. package/dist/engine/agent-api/compiler/geometry.d.ts.map +1 -1
  30. package/dist/engine/agent-api/compiler/geometry.js +30 -3
  31. package/dist/engine/agent-api/compiler/geometry.js.map +1 -1
  32. package/dist/engine/agent-api/compiler/primitives.d.ts +1 -2
  33. package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
  34. package/dist/engine/agent-api/compiler/primitives.js +21 -4
  35. package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
  36. package/dist/engine/agent-api/index.d.ts +4 -0
  37. package/dist/engine/agent-api/index.d.ts.map +1 -1
  38. package/dist/engine/agent-api/index.js +1 -0
  39. package/dist/engine/agent-api/index.js.map +1 -1
  40. package/dist/engine/agent-api/nodes/cameras.d.ts +7 -0
  41. package/dist/engine/agent-api/nodes/cameras.d.ts.map +1 -1
  42. package/dist/engine/agent-api/nodes/cameras.js +7 -0
  43. package/dist/engine/agent-api/nodes/cameras.js.map +1 -1
  44. package/dist/engine/agent-api/nodes/chaseCamera.d.ts +122 -0
  45. package/dist/engine/agent-api/nodes/chaseCamera.d.ts.map +1 -0
  46. package/dist/engine/agent-api/nodes/chaseCamera.js +130 -0
  47. package/dist/engine/agent-api/nodes/chaseCamera.js.map +1 -0
  48. package/dist/engine/agent-api/nodes/effects.composite.d.ts +1 -0
  49. package/dist/engine/agent-api/nodes/effects.composite.d.ts.map +1 -1
  50. package/dist/engine/agent-api/nodes/effects.composite.js +2 -0
  51. package/dist/engine/agent-api/nodes/effects.composite.js.map +1 -1
  52. package/dist/engine/agent-api/nodes/effects.toon.d.ts +26 -0
  53. package/dist/engine/agent-api/nodes/effects.toon.d.ts.map +1 -0
  54. package/dist/engine/agent-api/nodes/effects.toon.js +70 -0
  55. package/dist/engine/agent-api/nodes/effects.toon.js.map +1 -0
  56. package/dist/engine/agent-api/nodes/prefabs/index.d.ts +3 -0
  57. package/dist/engine/agent-api/nodes/prefabs/index.d.ts.map +1 -1
  58. package/dist/engine/agent-api/nodes/prefabs/index.js +3 -0
  59. package/dist/engine/agent-api/nodes/prefabs/index.js.map +1 -1
  60. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.d.ts +32 -0
  61. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.d.ts.map +1 -0
  62. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.js +77 -0
  63. package/dist/engine/agent-api/nodes/prefabs/objectiveMarker.js.map +1 -0
  64. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts +1 -1
  65. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -1
  66. package/dist/engine/production-runtime/actor/ModelTextureShare.js +1 -1
  67. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -1
  68. package/dist/engine/public/index.d.ts +52 -67
  69. package/dist/engine/public/index.d.ts.map +1 -1
  70. package/dist/engine/public/index.js +59 -56
  71. package/dist/engine/public/index.js.map +1 -1
  72. package/dist/engine/qa/countedRng.d.ts +2 -0
  73. package/dist/engine/qa/countedRng.d.ts.map +1 -1
  74. package/dist/engine/qa/countedRng.js +3 -0
  75. package/dist/engine/qa/countedRng.js.map +1 -1
  76. package/dist/engine/qa/fixedStepLoop.d.ts +2 -0
  77. package/dist/engine/qa/fixedStepLoop.d.ts.map +1 -1
  78. package/dist/engine/qa/fixedStepLoop.js +3 -0
  79. package/dist/engine/qa/fixedStepLoop.js.map +1 -1
  80. package/dist/engine/qa/hooks.js +1 -1
  81. package/dist/engine/qa/hooks.js.map +1 -1
  82. package/dist/game/evidence/beacon.d.ts +16 -6
  83. package/dist/game/evidence/beacon.d.ts.map +1 -1
  84. package/dist/game/evidence/beacon.js +32 -14
  85. package/dist/game/evidence/beacon.js.map +1 -1
  86. package/dist/game/hud/canvasMinimap.d.ts +60 -0
  87. package/dist/game/hud/canvasMinimap.d.ts.map +1 -0
  88. package/dist/game/hud/canvasMinimap.js +62 -0
  89. package/dist/game/hud/canvasMinimap.js.map +1 -0
  90. package/dist/game/hud/compass.d.ts +16 -0
  91. package/dist/game/hud/compass.d.ts.map +1 -0
  92. package/dist/game/hud/compass.js +15 -0
  93. package/dist/game/hud/compass.js.map +1 -0
  94. package/dist/game/index.d.ts +4 -0
  95. package/dist/game/index.d.ts.map +1 -1
  96. package/dist/game/index.js +2 -0
  97. package/dist/game/index.js.map +1 -1
  98. package/dist/math/Random.d.ts +3 -0
  99. package/dist/math/Random.d.ts.map +1 -1
  100. package/dist/math/Random.js +7 -0
  101. package/dist/math/Random.js.map +1 -1
  102. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  103. package/dist/rendering/WebGL2Device.js +3 -4
  104. package/dist/rendering/WebGL2Device.js.map +1 -1
  105. package/dist/rendering/geometry/Primitives.d.ts +4 -1
  106. package/dist/rendering/geometry/Primitives.d.ts.map +1 -1
  107. package/dist/rendering/geometry/Primitives.js +5 -1
  108. package/dist/rendering/geometry/Primitives.js.map +1 -1
  109. package/dist/rendering/renderer/CullingBatching.d.ts.map +1 -1
  110. package/dist/rendering/renderer/CullingBatching.js +3 -7
  111. package/dist/rendering/renderer/CullingBatching.js.map +1 -1
  112. package/dist/rendering/renderer/InstanceBounds.d.ts +18 -0
  113. package/dist/rendering/renderer/InstanceBounds.d.ts.map +1 -0
  114. package/dist/rendering/renderer/InstanceBounds.js +68 -0
  115. package/dist/rendering/renderer/InstanceBounds.js.map +1 -0
  116. package/dist/rendering/renderer/RenderShared.d.ts.map +1 -1
  117. package/dist/rendering/renderer/RenderShared.js +3 -7
  118. package/dist/rendering/renderer/RenderShared.js.map +1 -1
  119. package/dist/rendering/shadows/DirectionalCascadeFitter.d.ts.map +1 -1
  120. package/dist/rendering/shadows/DirectionalCascadeFitter.js +19 -10
  121. package/dist/rendering/shadows/DirectionalCascadeFitter.js.map +1 -1
  122. package/dist/rendering/webgl2/LdrPostprocessShader.d.ts +24 -0
  123. package/dist/rendering/webgl2/LdrPostprocessShader.d.ts.map +1 -0
  124. package/dist/rendering/webgl2/LdrPostprocessShader.js +233 -0
  125. package/dist/rendering/webgl2/LdrPostprocessShader.js.map +1 -0
  126. package/dist/rendering/webgl2/LegacyPost.d.ts +5 -3
  127. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  128. package/dist/rendering/webgl2/LegacyPost.js +23 -191
  129. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  130. package/package.json +25 -25
  131. package/templates/cinematic-scene/package.json +4 -3
  132. package/templates/mini-game/index.html +3 -1
  133. package/templates/mini-game/package.json +4 -3
  134. package/templates/mini-game/public/fonts/graphik/Graphik-Medium-Web.woff2 +0 -0
  135. package/templates/mini-game/public/fonts/graphik/Graphik-Regular-Web.woff2 +0 -0
  136. package/templates/mini-game/src/main.ts +1 -1
  137. package/templates/product-viewer/package.json +4 -3
  138. package/templates/production-asset-inspector/package.json +1 -1
  139. package/templates/production-material-studio/package.json +1 -1
  140. package/templates/production-product-configurator/package.json +1 -1
  141. package/templates/production-product-viewer/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Primitives.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/geometry/Primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAapE,MAAM,MAAM,iBAAiB,GACzB,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAC7D,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GACnE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAeD,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,yBAAyB,GAAG,SAAS,EAC7C,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,EACxD,mBAAmB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtD,QAAQ,CAsLV"}
1
+ {"version":3,"file":"Primitives.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/geometry/Primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAapE,MAAM,MAAM,iBAAiB,GACzB,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAC7D,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GACnE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAeD,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,yBAAyB,GAAG,SAAS,EAC7C,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,GAAG;IACzD,2HAA2H;IAC3H,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,EACD,mBAAmB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtD,QAAQ,CA0LV"}
@@ -47,7 +47,11 @@ export function clearPrimitiveGeometryCache() {
47
47
  */
48
48
  export function createPrimitiveGeometry(primitive, params, tier, effectiveDimensions) {
49
49
  const half = tier.primitiveSegments === "half";
50
- const seg = (v, fb, min) => (half ? halve(v, fb, min) : full(v, fb, min));
50
+ const defaultScale = tier.defaultSegmentScale ?? 1;
51
+ const seg = (v, fb, min) => {
52
+ const requested = v ?? fb * defaultScale;
53
+ return half ? halve(requested, fb, min) : full(requested, fb, min);
54
+ };
51
55
  let key;
52
56
  let build;
53
57
  switch (primitive) {
@@ -1 +1 @@
1
- {"version":3,"file":"Primitives.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/geometry/Primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Primitives.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/geometry/Primitives.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CullingBatching.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/CullingBatching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CullingBatching.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/CullingBatching.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { Geometry } from "../Geometry.js";
4
4
  import { createStaticMeshConsolidationCache } from "../MeshConsolidation.js";
5
5
  import { batchStaticRenderItems } from "../SceneOptimization.js";
6
6
  import { toMat4 } from "./RenderShared.js";
7
+ import { instancedWorldBounds } from "./InstanceBounds.js";
7
8
  import { skinnedItemLocalBounds } from "./SkinnedBounds.js";
8
9
  import { planBatches } from "../batching/StaticMergePlanner.js";
9
10
  import { buildMultiDrawBatch, refreshMultiDrawBatch, synthesizeMultiDrawItems } from "../batching/MultiDrawBatch.js";
@@ -12,7 +13,7 @@ import { MaterialInstance } from "../MaterialInstance.js";
12
13
  import { rendererQrFlags } from "./FrameGraph.js";
13
14
  import { Frustum } from "../../math/index.js";
14
15
  import { cull, packFrustumPlanes } from "../performance/FrustumCuller.js";
15
- import { Bounds3 as SceneBounds3, Camera, identityMat4, multiplyMat4, toMathMat4 } from "../../scene/index.js";
16
+ import { Bounds3 as SceneBounds3, Camera, identityMat4, toMathMat4 } from "../../scene/index.js";
16
17
  export function explicitCullingFrustum(source, cameraViewProjection, camera) {
17
18
  // Explicit render-item sources were historically never culled, so culling
18
19
  // stays opt-in: only an explicit `frustumCulling: true` turns it on.
@@ -127,12 +128,7 @@ function boundsFromLocal(envelope, modelMatrix, instanceTransforms) {
127
128
  if (!instanceTransforms || instanceTransforms.length < 16) {
128
129
  return local.transform(modelMatrix);
129
130
  }
130
- let bounds = new SceneBounds3();
131
- for (let offset = 0; offset + 16 <= instanceTransforms.length; offset += 16) {
132
- const instanceMatrix = toMat4(instanceTransforms.slice(offset, offset + 16), "instanceTransforms");
133
- bounds = bounds.union(local.transform(multiplyMat4(modelMatrix, instanceMatrix)));
134
- }
135
- return bounds;
131
+ return instancedWorldBounds(envelope, modelMatrix, instanceTransforms);
136
132
  }
137
133
  export function applyRendererOwnedStaticMeshConsolidation(source, items) {
138
134
  if (!source.staticMeshConsolidation)
@@ -1 +1 @@
1
- {"version":3,"file":"CullingBatching.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/CullingBatching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CullingBatching.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/CullingBatching.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,4EAA4E;AAG5E,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAA+B,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAyB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAgE,MAAM,gCAAgC,CAAC;AAC3H,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAuB,MAAM,4BAA4B,CAAC;AACvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,EAAa,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAErG,MAAM,UAAU,sBAAsB,CACpC,MAAoB,EACpB,oBAAsC,EACtC,MAA0B;IAE1B,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,oBAAoB;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAA4B,EAC5B,OAA4B,EAC5B,WAAwC;AACxC,gEAAgE;AAChE,mBAAkC;AAClC,iFAAiF;AACjF,eAAwB;IAExB,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAW,EAAE,CACjD,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACxC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5C,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,6EAA6E;IAC7E,gEAAgE;IAChE,uEAAuE;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,SAAS;QAClC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,WAAW,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACnD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC;YAC/B,IAAI,mBAAmB,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;gBAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,SAAS;QACX,CAAC;QACD,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAgB;IACnD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA6B,EAC7B,SAAgC,EAChC,OAA4B,EAC5B,MAAqD;IAErD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACtF,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAU,CAAC;IAClF,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,SAAS;QAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,KAAK,CAAC,CAAC;YACzD,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAgB;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,eAAe,CACtB,QAAiB,EACjB,WAAiB,EACjB,kBAAgE;IAEhE,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IACF,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,yCAAyC,CAAC,MAAoB,EAAE,KAA4B;IAC1G,IAAI,CAAC,MAAM,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,SAAS,GAA6B,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iGAAiG;QACjG,mEAAmE;QACnE,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE;gBAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC9F,kGAAkG;IAClG,gCAAgC;IAChC,IAAI,KAAK,GAAG,6BAA6B,CAAC,GAAG,CAAC,MAA2B,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,kCAAkC,EAAE,CAAC;QAC7C,6BAA6B,CAAC,GAAG,CAAC,MAA2B,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE;QAChD,WAAW,EAAE,4BAA4B;QACzC,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAoB,EAAE,KAA4B;IACjG,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,cAAc,GAAiB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE;gBAC/C,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;gBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,eAAe,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAA2B,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7B,qBAAqB,CAAC,GAAG,CAAC,MAA2B,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IAC5E,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE;QAChD,WAAW,EAAE,uBAAuB;QACpC,GAAG,OAAO;KACX,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAgB;IAC9C,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS;QAChC,IAAI,CAAC,SAAS,KAAK,SAAS;QAC5B,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC3B,IAAI,CAAC,YAAY,KAAK,SAAS;QAC/B,IAAI,CAAC,YAAY,KAAK,SAAS;QAC/B,IAAI,CAAC,kBAAkB,KAAK,SAAS;QACrC,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,kBAAkB,KAAK,SAAS;QACrC,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,IAAwD;IAC9E,OAAO,GAAG,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACxK,CAAC;AAED,SAAS,UAAU,CAAmB,GAAuB,EAAE,QAAW;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAoB,CAAC;AAE/D,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAkB,CAAC;AAE7D,IAAI,yBAAyB,GAAG,CAAC,CAAC;AAElC;;;;;GAKG;AACH,MAAM,6BAA6B,GAAG,IAAI,OAAO,EAAiE,CAAC;AAEnH,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,4EAA4E;AAC5E,yDAAyD;AACzD,8EAA8E;AAE9E,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AAqBjF,MAAM,kBAAkB,GAAyB;IAC/C,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;CACtD,CAAC;AAEF,IAAI,qBAAqB,GAAyB,kBAAkB,CAAC;AAErE,4FAA4F;AAC5F,MAAM,UAAU,0BAA0B;IACxC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA4B;IACvD,6EAA6E;IAC7E,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,KAAK,GAAa,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,YAAY,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrF,KAAK,CAAC,IAAI,CACR,GAAG,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EACvJ,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACrC,IAAI,CAAC,KAAK,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,UAA+B,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CAAC,OAAkC;IACzE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,mBAAmB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA0C;IAChF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,0BAA0B,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,SAAS,GAAG,EAAE,CAAC;IACf,WAAW,GAAiB,EAAE,CAAC;IAC/B,IAAI,GAAqB,IAAI,CAAC;IAC9B,sBAAsB,GAAG,KAAK,CAAC;IAC/B,OAAO,GAAG,CAAC,CAAC;IACpB,wEAAwE;IAChE,gBAAgB,GAAqB,EAAE,CAAC;IAChD,UAAU,GAAyB,kBAAkB,CAAC;IAEtD;;;;;;;;;OASG;IACK,kBAAkB,CAAC,OAA8B;QACvD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,kBAAkB,CAAC;QAChF,OAAO,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,KAA4B,EAAE,UAAiC,EAAE;QACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,kBAAkB,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB;gBAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACxE,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACtF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QACvD,KAAK,OAAO,CAAC;QACb,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;QAClG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC;QACjD,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACzH,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAChH,IAAI,CAAC,UAAU,GAAG;YAChB,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,uEAAuE;YACvE,yEAAyE;YACzE,iEAAiE;YACjE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAClE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC/F,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;YAC9C,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;SAC5G,CAAC;QACF,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,mDAAmD;IACnD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEpE,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoB;IAC5C,gEAAgE;IAChE,uFAAuF;IACvF,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC;IAClC,MAAM,OAAO,GAA+C,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1H,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Bounds3 as SceneBounds3 } from "../../scene/index.js";
2
+ interface BoundsLike {
3
+ readonly min: ArrayLike<number>;
4
+ readonly max: ArrayLike<number>;
5
+ }
6
+ /**
7
+ * World AABB of `envelope` drawn once per `instanceTransforms` matrix under `modelMatrix` (world = model · instance ·
8
+ * local). Allocation-free per instance: each instance's box is the transformed centre plus |M₃ₓ₃| · half-extents, which is
9
+ * exactly the AABB of the eight transformed corners for an affine matrix. The previous per-instance
10
+ * slice / matrix multiply / Bounds3 union allocated ~15 objects per instance per call and ran several times per frame.
11
+ * `instanceTransforms.length % 16` leftovers are ignored unless `rejectPartial` (the legacy `renderableWorldBounds` contract).
12
+ */
13
+ export declare function instancedWorldBounds(envelope: BoundsLike, modelMatrix: ArrayLike<number>, instanceTransforms: ArrayLike<number>, options?: {
14
+ readonly label?: string;
15
+ readonly rejectPartial?: boolean;
16
+ }): SceneBounds3;
17
+ export {};
18
+ //# sourceMappingURL=InstanceBounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceBounds.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAExD,UAAU,UAAU;IAClB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAC9B,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,EACrC,OAAO,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1E,YAAY,CAyCd"}
@@ -0,0 +1,68 @@
1
+ import { RenderDeviceError } from "../RenderDevice.js";
2
+ import { Bounds3 as SceneBounds3 } from "../../scene/index.js";
3
+ /**
4
+ * World AABB of `envelope` drawn once per `instanceTransforms` matrix under `modelMatrix` (world = model · instance ·
5
+ * local). Allocation-free per instance: each instance's box is the transformed centre plus |M₃ₓ₃| · half-extents, which is
6
+ * exactly the AABB of the eight transformed corners for an affine matrix. The previous per-instance
7
+ * slice / matrix multiply / Bounds3 union allocated ~15 objects per instance per call and ran several times per frame.
8
+ * `instanceTransforms.length % 16` leftovers are ignored unless `rejectPartial` (the legacy `renderableWorldBounds` contract).
9
+ */
10
+ export function instancedWorldBounds(envelope, modelMatrix, instanceTransforms, options = {}) {
11
+ const length = instanceTransforms.length;
12
+ const partial = length % 16;
13
+ if (partial !== 0 && options.rejectPartial)
14
+ throw matrixContractError(partial, options.label);
15
+ const result = new SceneBounds3();
16
+ if (!(envelope.min[0] <= envelope.max[0] && envelope.min[1] <= envelope.max[1] && envelope.min[2] <= envelope.max[2]))
17
+ return result;
18
+ const m = modelMatrix;
19
+ const cx = (envelope.min[0] + envelope.max[0]) / 2, cy = (envelope.min[1] + envelope.max[1]) / 2, cz = (envelope.min[2] + envelope.max[2]) / 2;
20
+ const hx = (envelope.max[0] - envelope.min[0]) / 2, hy = (envelope.max[1] - envelope.min[1]) / 2, hz = (envelope.max[2] - envelope.min[2]) / 2;
21
+ let minX = Infinity, minY = Infinity, minZ = Infinity, maxX = -Infinity, maxY = -Infinity, maxZ = -Infinity;
22
+ for (let o = 0; o + 16 <= length; o += 16) {
23
+ const i = instanceTransforms;
24
+ // 3x4 of (model · instance), column-major.
25
+ const a0 = i[o], a1 = i[o + 1], a2 = i[o + 2], a4 = i[o + 4], a5 = i[o + 5], a6 = i[o + 6], a8 = i[o + 8], a9 = i[o + 9], a10 = i[o + 10], a12 = i[o + 12], a13 = i[o + 13], a14 = i[o + 14];
26
+ const e00 = m[0] * a0 + m[4] * a1 + m[8] * a2;
27
+ const e10 = m[1] * a0 + m[5] * a1 + m[9] * a2;
28
+ const e20 = m[2] * a0 + m[6] * a1 + m[10] * a2;
29
+ const e01 = m[0] * a4 + m[4] * a5 + m[8] * a6;
30
+ const e11 = m[1] * a4 + m[5] * a5 + m[9] * a6;
31
+ const e21 = m[2] * a4 + m[6] * a5 + m[10] * a6;
32
+ const e02 = m[0] * a8 + m[4] * a9 + m[8] * a10;
33
+ const e12 = m[1] * a8 + m[5] * a9 + m[9] * a10;
34
+ const e22 = m[2] * a8 + m[6] * a9 + m[10] * a10;
35
+ const tx = m[0] * a12 + m[4] * a13 + m[8] * a14 + m[12];
36
+ const ty = m[1] * a12 + m[5] * a13 + m[9] * a14 + m[13];
37
+ const tz = m[2] * a12 + m[6] * a13 + m[10] * a14 + m[14];
38
+ const wx = e00 * cx + e01 * cy + e02 * cz + tx;
39
+ const wy = e10 * cx + e11 * cy + e12 * cz + ty;
40
+ const wz = e20 * cx + e21 * cy + e22 * cz + tz;
41
+ const ex = Math.abs(e00) * hx + Math.abs(e01) * hy + Math.abs(e02) * hz;
42
+ const ey = Math.abs(e10) * hx + Math.abs(e11) * hy + Math.abs(e12) * hz;
43
+ const ez = Math.abs(e20) * hx + Math.abs(e21) * hy + Math.abs(e22) * hz;
44
+ if (!(Number.isFinite(wx + wy + wz + ex + ey + ez + i[o + 3] + i[o + 7] + i[o + 11] + i[o + 15])))
45
+ throw matrixContractError(16, options.label);
46
+ if (wx - ex < minX)
47
+ minX = wx - ex;
48
+ if (wx + ex > maxX)
49
+ maxX = wx + ex;
50
+ if (wy - ey < minY)
51
+ minY = wy - ey;
52
+ if (wy + ey > maxY)
53
+ maxY = wy + ey;
54
+ if (wz - ez < minZ)
55
+ minZ = wz - ez;
56
+ if (wz + ez > maxZ)
57
+ maxZ = wz + ez;
58
+ }
59
+ if (minX === Infinity)
60
+ return result;
61
+ result.min = [minX, minY, minZ];
62
+ result.max = [maxX, maxY, maxZ];
63
+ return result;
64
+ }
65
+ function matrixContractError(scalars, label) {
66
+ return new RenderDeviceError("Renderer matrix inputs must be finite mat4 values", "RENDERER_MATRIX_CONTRACT", { field: "instanceTransforms", label, scalars });
67
+ }
68
+ //# sourceMappingURL=InstanceBounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceBounds.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceBounds.ts"],"names":[],"mappings":"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,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAE,GAAG,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAE,GAAG,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAE,GAAG,GAAG,CAAC;QACnD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAE,CAAC;QAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAE,CAAC;QAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAE,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAE,CAAC;QAC7D,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAE,CAAC,CAAC;YAAE,MAAM,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpJ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QACvE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QACvE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;YAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,KAAyB;IACrE,OAAO,IAAI,iBAAiB,CAAC,mDAAmD,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACjK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderShared.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/RenderShared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,EAA8B,MAAM,eAAe,CAAC;AAEtG,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,CAExE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAEtG;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAI,EACjB,kBAAkB,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,EACrD,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,EAC1C,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,yBAAyB,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAQ5H"}
1
+ {"version":3,"file":"RenderShared.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/RenderShared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAGxF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,CAExE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAEtG;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAI,EACjB,kBAAkB,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,EACrD,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,EAC1C,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,YAAY,CAWd;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,yBAAyB,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAQ5H"}
@@ -3,7 +3,8 @@
3
3
  import { Geometry } from "../Geometry.js";
4
4
  import { RenderDeviceError } from "../RenderDevice.js";
5
5
  import { computeSkinnedMorphTargetWeightedBounds } from "../SkinningBounds.js";
6
- import { Bounds3 as SceneBounds3, Scene, identityMat4, multiplyMat4 } from "../../scene/index.js";
6
+ import { Bounds3 as SceneBounds3, Scene, identityMat4 } from "../../scene/index.js";
7
+ import { instancedWorldBounds } from "./InstanceBounds.js";
7
8
  export function isIterable(value) {
8
9
  return typeof value[Symbol.iterator] === "function";
9
10
  }
@@ -27,12 +28,7 @@ export function renderableWorldBounds(geometry, modelMatrix, instanceTransforms,
27
28
  if (!instanceTransforms) {
28
29
  return local.transform(modelMatrix);
29
30
  }
30
- let bounds = new SceneBounds3();
31
- for (let offset = 0; offset < instanceTransforms.length; offset += 16) {
32
- const instanceMatrix = toMat4(instanceTransforms.slice(offset, offset + 16), "instanceTransforms");
33
- bounds = bounds.union(local.transform(multiplyMat4(modelMatrix, instanceMatrix)));
34
- }
35
- return bounds;
31
+ return instancedWorldBounds(envelope, modelMatrix, instanceTransforms, { rejectPartial: true });
36
32
  }
37
33
  export function collectItemBounds(items, respectAutoFrameExclusion) {
38
34
  let bounds;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderShared.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/RenderShared.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,yEAAyE;AAGzE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uCAAuC,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAa,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtG,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAQ,KAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAuC,EAAE,KAAa,EAAE,KAAc;IAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,EAAE,0BAA0B,EAAE;YAC3G,KAAK;YACL,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmD;IACjF,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAkB,EAClB,WAAiB,EACjB,kBAAqD,EACrD,YAA0C,EAC1C,YAAgC,EAChC,QAAiC;IAEjC,MAAM,QAAQ,GAAG,uCAAuC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAChC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACtE,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACnG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA4B,EAAE,yBAAkC;IAChG,IAAI,MAAgC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK;YAAE,SAAS;QAC7E,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7M,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"RenderShared.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/RenderShared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionalCascadeFitter.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/DirectionalCascadeFitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DirectionalCascadeFitter.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/DirectionalCascadeFitter.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * ortho centre snaps to the shadow-texel grid so the edge mask is stable
7
7
  * under sub-texel camera motion (the `prd02-17` shimmer gate).
8
8
  */
9
+ import { instancedWorldBounds } from "../renderer/InstanceBounds.js";
9
10
  import { CascadedShadowMaps } from "../CascadedShadowMaps.js";
10
11
  import { skinnedItemLocalBounds } from "../renderer/SkinnedBounds.js";
11
12
  function invertMat4(m) {
@@ -79,6 +80,7 @@ function lightBasis(direction) {
79
80
  function normalize(v) { const l = Math.hypot(v[0], v[1], v[2]) || 1; return [v[0] / l, v[1] / l, v[2] / l]; }
80
81
  function cross(a, b) { return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]]; }
81
82
  function lerp3(a, b, t) { return [a[0] + (b[0] - a[0]) * t, a[1] + (b[1] - a[1]) * t, a[2] + (b[2] - a[2]) * t]; }
83
+ const IDENTITY_MODEL = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
82
84
  /**
83
85
  * World AABB of a caster for the cascade fit. 02-S4: instanced casters cover
84
86
  * every instance (model × instance), and skinned casters use the posed
@@ -105,16 +107,23 @@ function itemWorldBounds(item) {
105
107
  t[2] * p[0] + t[6] * p[1] + t[10] * p[2] + t[14]
106
108
  ];
107
109
  const instances = item.instanceTransforms && item.instanceTransforms.length >= 16 ? item.instanceTransforms : null;
108
- const instanceCount = instances ? Math.floor(instances.length / 16) : 1;
109
- for (let k = 0; k < instanceCount; k += 1) {
110
- for (const p of pts) {
111
- // Instance matrices are model-local (gl_Position = VP · model · instance · p).
112
- const local = instances ? apply(Array.prototype.slice.call(instances, k * 16, k * 16 + 16), p) : p;
113
- const w = m ? apply(m, local) : [local[0], local[1], local[2]];
114
- for (let i = 0; i < 3; i += 1) {
115
- out.min[i] = Math.min(out.min[i], w[i]);
116
- out.max[i] = Math.max(out.max[i], w[i]);
117
- }
110
+ if (instances) {
111
+ // O(instances) per frame: allocation-free box accumulation (see InstanceBounds.ts); non-finite matrices skip the caster.
112
+ try {
113
+ const world = instancedWorldBounds(b, m ?? IDENTITY_MODEL, instances);
114
+ if (!world.min.every(Number.isFinite) || !world.max.every(Number.isFinite))
115
+ return null;
116
+ return { min: [world.min[0], world.min[1], world.min[2]], max: [world.max[0], world.max[1], world.max[2]] };
117
+ }
118
+ catch {
119
+ return null;
120
+ }
121
+ }
122
+ for (const p of pts) {
123
+ const w = m ? apply(m, p) : [p[0], p[1], p[2]];
124
+ for (let i = 0; i < 3; i += 1) {
125
+ out.min[i] = Math.min(out.min[i], w[i]);
126
+ out.max[i] = Math.max(out.max[i], w[i]);
118
127
  }
119
128
  }
120
129
  if (!out.min.every(Number.isFinite) || !out.max.every(Number.isFinite))
@@ -1 +1 @@
1
- {"version":3,"file":"DirectionalCascadeFitter.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/DirectionalCascadeFitter.ts"],"names":[],"mappings":"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AAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,OAAO,GAAG,CAAC;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"}
1
+ {"version":3,"file":"DirectionalCascadeFitter.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/DirectionalCascadeFitter.ts"],"names":[],"mappings":"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AC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,G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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Legacy WebGL2 LDR postprocess fragment shader, compiled per feature variant.
3
+ *
4
+ * The program used to be one uber-shader that chose tone operator, colour grade, sharpening and FXAA from uniforms. Every
5
+ * `finalColorAt` call inlined the whole tone/grade stack, and the FXAA tail calls it five times (nine with sharpening), so the
6
+ * driver compiled and executed ~25 copies of tone mapping + grade even for a frame that only tone-maps. On a software
7
+ * rasteriser (SwiftShader, 640x360) that single fullscreen draw measured ~600 ms against ~30 ms for the same tone-map
8
+ * written without the dead branches. Defining the feature set at compile time compiles only the paths a frame uses; the
9
+ * arithmetic of each enabled path is unchanged.
10
+ */
11
+ export interface LdrProgramVariant {
12
+ readonly toneMapping: boolean;
13
+ /** `toneMappingOperatorId` value (0 clamp, 1 reinhard, 2 aces, 3 filmic, 4 uncharted2, 5 agx, other neutral). */
14
+ readonly operator: number;
15
+ readonly inputSrgb: boolean;
16
+ readonly outputSrgb: boolean;
17
+ readonly grade: boolean;
18
+ /** Sharpening is only meaningful with a grade; callers pass `grade && sharpening > 0`. */
19
+ readonly sharpening: boolean;
20
+ readonly fxaa: boolean;
21
+ }
22
+ export declare function ldrVariantKey(variant: LdrProgramVariant): string;
23
+ export declare function ldrFragmentSource(variant: LdrProgramVariant): string;
24
+ //# sourceMappingURL=LdrPostprocessShader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LdrPostprocessShader.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/LdrPostprocessShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,iHAAiH;IACjH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAyNpE"}