@aura3d/engine 4.6.2 → 4.7.1

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 (514) hide show
  1. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +12 -0
  2. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
  3. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +26 -1
  4. package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
  5. package/dist/assets/vfx/LICENSE.md +1 -0
  6. package/dist/assets/vfx/aura-vfx-1k.png +0 -0
  7. package/dist/assets/vfx/aura-vfx-2k.png +0 -0
  8. package/dist/aura3d-cli/admission/cubeLut.d.ts +18 -0
  9. package/dist/aura3d-cli/admission/cubeLut.d.ts.map +1 -0
  10. package/dist/aura3d-cli/admission/cubeLut.js +53 -0
  11. package/dist/aura3d-cli/admission/cubeLut.js.map +1 -0
  12. package/dist/aura3d-cli/asset-core-types.d.ts +7 -4
  13. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  14. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  15. package/dist/aura3d-cli/cli-help.js +7 -4
  16. package/dist/aura3d-cli/cli-help.js.map +1 -1
  17. package/dist/aura3d-cli/cli-options.d.ts +1 -1
  18. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  19. package/dist/aura3d-cli/cli-options.js +2 -2
  20. package/dist/aura3d-cli/cli-options.js.map +1 -1
  21. package/dist/aura3d-cli/cli.js +3 -2
  22. package/dist/aura3d-cli/cli.js.map +1 -1
  23. package/dist/aura3d-cli/commands/assets/certifyCategories.d.ts +26 -0
  24. package/dist/aura3d-cli/commands/assets/certifyCategories.d.ts.map +1 -0
  25. package/dist/aura3d-cli/commands/assets/certifyCategories.js +31 -0
  26. package/dist/aura3d-cli/commands/assets/certifyCategories.js.map +1 -0
  27. package/dist/aura3d-cli/commands/assets/optimize.d.ts +66 -0
  28. package/dist/aura3d-cli/commands/assets/optimize.d.ts.map +1 -1
  29. package/dist/aura3d-cli/commands/assets/optimize.js +270 -1
  30. package/dist/aura3d-cli/commands/assets/optimize.js.map +1 -1
  31. package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts.map +1 -1
  32. package/dist/aura3d-cli/commands/assets/optimizeVerb.js +26 -1
  33. package/dist/aura3d-cli/commands/assets/optimizeVerb.js.map +1 -1
  34. package/dist/aura3d-cli/commands/evidence/judge.d.ts +50 -1
  35. package/dist/aura3d-cli/commands/evidence/judge.d.ts.map +1 -1
  36. package/dist/aura3d-cli/commands/evidence/judge.js +154 -6
  37. package/dist/aura3d-cli/commands/evidence/judge.js.map +1 -1
  38. package/dist/aura3d-cli/commands/prd05/index.js +1 -1
  39. package/dist/aura3d-cli/commands/prd05/index.js.map +1 -1
  40. package/dist/aura3d-cli/index.d.ts.map +1 -1
  41. package/dist/aura3d-cli/index.js +25 -9
  42. package/dist/aura3d-cli/index.js.map +1 -1
  43. package/dist/aura3d-cli/look/judge.d.ts +53 -5
  44. package/dist/aura3d-cli/look/judge.d.ts.map +1 -1
  45. package/dist/aura3d-cli/look/judge.js +226 -50
  46. package/dist/aura3d-cli/look/judge.js.map +1 -1
  47. package/dist/create-aura3d/index.js +1 -1
  48. package/dist/engine/agent-api/RootRuntimeSupport.d.ts +7 -0
  49. package/dist/engine/agent-api/RootRuntimeSupport.d.ts.map +1 -1
  50. package/dist/engine/agent-api/RootRuntimeSupport.js +7 -0
  51. package/dist/engine/agent-api/RootRuntimeSupport.js.map +1 -1
  52. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts +2 -0
  53. package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
  54. package/dist/engine/agent-api/app/actorAnimationHandle.js +149 -2
  55. package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
  56. package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
  57. package/dist/engine/agent-api/app/createAuraApp.js +13 -1
  58. package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
  59. package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
  60. package/dist/engine/agent-api/app/frameLoop.js +4 -2
  61. package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
  62. package/dist/engine/agent-api/camera/layers/cinematicBars.d.ts +2 -0
  63. package/dist/engine/agent-api/camera/layers/cinematicBars.d.ts.map +1 -1
  64. package/dist/engine/agent-api/camera/layers/cinematicBars.js +4 -0
  65. package/dist/engine/agent-api/camera/layers/cinematicBars.js.map +1 -1
  66. package/dist/engine/agent-api/compiler/compileScene.d.ts +11 -1
  67. package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
  68. package/dist/engine/agent-api/compiler/compileScene.js +27 -1
  69. package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
  70. package/dist/engine/agent-api/compiler/customMaterial.d.ts +16 -5
  71. package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
  72. package/dist/engine/agent-api/compiler/customMaterial.js +149 -20
  73. package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
  74. package/dist/engine/agent-api/compiler/environment.d.ts +57 -1
  75. package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
  76. package/dist/engine/agent-api/compiler/environment.js +170 -5
  77. package/dist/engine/agent-api/compiler/environment.js.map +1 -1
  78. package/dist/engine/agent-api/compiler/fog.js +1 -1
  79. package/dist/engine/agent-api/compiler/fog.js.map +1 -1
  80. package/dist/engine/agent-api/compiler/lights.d.ts +92 -0
  81. package/dist/engine/agent-api/compiler/lights.d.ts.map +1 -1
  82. package/dist/engine/agent-api/compiler/lights.js +358 -1
  83. package/dist/engine/agent-api/compiler/lights.js.map +1 -1
  84. package/dist/engine/agent-api/compiler/observations.d.ts +34 -0
  85. package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
  86. package/dist/engine/agent-api/compiler/observations.js +77 -5
  87. package/dist/engine/agent-api/compiler/observations.js.map +1 -1
  88. package/dist/engine/agent-api/compiler/postprocess.d.ts +10 -0
  89. package/dist/engine/agent-api/compiler/postprocess.d.ts.map +1 -1
  90. package/dist/engine/agent-api/compiler/postprocess.js +28 -7
  91. package/dist/engine/agent-api/compiler/postprocess.js.map +1 -1
  92. package/dist/engine/agent-api/compiler/renderInput.d.ts +2 -0
  93. package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
  94. package/dist/engine/agent-api/compiler/renderInput.js +15 -2
  95. package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
  96. package/dist/engine/agent-api/compiler/renderer.d.ts +6 -0
  97. package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
  98. package/dist/engine/agent-api/compiler/renderer.js +14 -3
  99. package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
  100. package/dist/engine/agent-api/diagnostics.d.ts +16 -0
  101. package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
  102. package/dist/engine/agent-api/diagnostics.js +45 -2
  103. package/dist/engine/agent-api/diagnostics.js.map +1 -1
  104. package/dist/engine/agent-api/index.d.ts +2 -0
  105. package/dist/engine/agent-api/index.d.ts.map +1 -1
  106. package/dist/engine/agent-api/index.js +3 -0
  107. package/dist/engine/agent-api/index.js.map +1 -1
  108. package/dist/engine/agent-api/looks/lookPresets.d.ts +2 -0
  109. package/dist/engine/agent-api/looks/lookPresets.d.ts.map +1 -1
  110. package/dist/engine/agent-api/looks/lookPresets.js.map +1 -1
  111. package/dist/engine/agent-api/looks/looks.d.ts +12 -2
  112. package/dist/engine/agent-api/looks/looks.d.ts.map +1 -1
  113. package/dist/engine/agent-api/looks/looks.js +365 -65
  114. package/dist/engine/agent-api/looks/looks.js.map +1 -1
  115. package/dist/engine/agent-api/nodes/builder.d.ts +8 -0
  116. package/dist/engine/agent-api/nodes/builder.d.ts.map +1 -1
  117. package/dist/engine/agent-api/nodes/builder.js +15 -0
  118. package/dist/engine/agent-api/nodes/builder.js.map +1 -1
  119. package/dist/engine/agent-api/nodes/effects.composite.d.ts +13 -9
  120. package/dist/engine/agent-api/nodes/effects.composite.d.ts.map +1 -1
  121. package/dist/engine/agent-api/nodes/effects.d.ts +65 -14
  122. package/dist/engine/agent-api/nodes/effects.d.ts.map +1 -1
  123. package/dist/engine/agent-api/nodes/effects.js +49 -16
  124. package/dist/engine/agent-api/nodes/effects.js.map +1 -1
  125. package/dist/engine/agent-api/nodes/effects.post.d.ts +62 -5
  126. package/dist/engine/agent-api/nodes/effects.post.d.ts.map +1 -1
  127. package/dist/engine/agent-api/nodes/effects.post.js +30 -17
  128. package/dist/engine/agent-api/nodes/effects.post.js.map +1 -1
  129. package/dist/engine/agent-api/nodes/effects.toon.d.ts +65 -1
  130. package/dist/engine/agent-api/nodes/effects.toon.d.ts.map +1 -1
  131. package/dist/engine/agent-api/nodes/effects.toon.js +186 -23
  132. package/dist/engine/agent-api/nodes/effects.toon.js.map +1 -1
  133. package/dist/engine/agent-api/nodes/groups.d.ts.map +1 -1
  134. package/dist/engine/agent-api/nodes/groups.js +2 -2
  135. package/dist/engine/agent-api/nodes/groups.js.map +1 -1
  136. package/dist/engine/agent-api/nodes/instances.d.ts +130 -90
  137. package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
  138. package/dist/engine/agent-api/nodes/instances.js +192 -48
  139. package/dist/engine/agent-api/nodes/instances.js.map +1 -1
  140. package/dist/engine/agent-api/nodes/material.d.ts +8 -1
  141. package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
  142. package/dist/engine/agent-api/nodes/material.js +82 -0
  143. package/dist/engine/agent-api/nodes/material.js.map +1 -1
  144. package/dist/engine/agent-api/nodes/outlineTargets.d.ts +16 -0
  145. package/dist/engine/agent-api/nodes/outlineTargets.d.ts.map +1 -0
  146. package/dist/engine/agent-api/nodes/outlineTargets.js +46 -0
  147. package/dist/engine/agent-api/nodes/outlineTargets.js.map +1 -0
  148. package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
  149. package/dist/engine/agent-api/nodes/scene.js +2 -2
  150. package/dist/engine/agent-api/nodes/scene.js.map +1 -1
  151. package/dist/engine/agent-api/nodes/sky.d.ts +23 -6
  152. package/dist/engine/agent-api/nodes/sky.d.ts.map +1 -1
  153. package/dist/engine/agent-api/nodes/sky.js +2 -0
  154. package/dist/engine/agent-api/nodes/sky.js.map +1 -1
  155. package/dist/engine/agent-api/nodes/types/runtime.d.ts +28 -1
  156. package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
  157. package/dist/engine/agent-api/nodes/types.d.ts +71 -3
  158. package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
  159. package/dist/engine/agent-api/performanceEvidence.js +7 -2
  160. package/dist/engine/agent-api/performanceEvidence.js.map +1 -1
  161. package/dist/engine/agent-api/postBridge.d.ts +75 -3
  162. package/dist/engine/agent-api/postBridge.d.ts.map +1 -1
  163. package/dist/engine/agent-api/postBridge.js +436 -33
  164. package/dist/engine/agent-api/postBridge.js.map +1 -1
  165. package/dist/engine/agent-api/postPresets.d.ts +8 -4
  166. package/dist/engine/agent-api/postPresets.d.ts.map +1 -1
  167. package/dist/engine/agent-api/postPresets.js +12 -11
  168. package/dist/engine/agent-api/postPresets.js.map +1 -1
  169. package/dist/engine/agent-api/publishedUnion.d.ts +7 -4
  170. package/dist/engine/agent-api/publishedUnion.d.ts.map +1 -1
  171. package/dist/engine/agent-api/publishedUnion.js +1 -1
  172. package/dist/engine/agent-api/publishedUnion.js.map +1 -1
  173. package/dist/engine/agent-api/rendererDiagnostics.js +4 -6
  174. package/dist/engine/agent-api/rendererDiagnostics.js.map +1 -1
  175. package/dist/engine/agent-api/vfx/atmosphere-api.d.ts +2 -4
  176. package/dist/engine/agent-api/vfx/atmosphere-api.d.ts.map +1 -1
  177. package/dist/engine/agent-api/vfx/atmosphere-api.js +2 -1
  178. package/dist/engine/agent-api/vfx/atmosphere-api.js.map +1 -1
  179. package/dist/engine/agent-api/vfx/effects-api.d.ts +3 -0
  180. package/dist/engine/agent-api/vfx/effects-api.d.ts.map +1 -1
  181. package/dist/engine/agent-api/vfx/effects-api.js +337 -74
  182. package/dist/engine/agent-api/vfx/effects-api.js.map +1 -1
  183. package/dist/engine/agent-api/world/flags.d.ts +33 -3
  184. package/dist/engine/agent-api/world/flags.d.ts.map +1 -1
  185. package/dist/engine/agent-api/world/flags.js +44 -12
  186. package/dist/engine/agent-api/world/flags.js.map +1 -1
  187. package/dist/engine/agent-api/world/index.d.ts +10 -1
  188. package/dist/engine/agent-api/world/index.d.ts.map +1 -1
  189. package/dist/engine/agent-api/world/index.js +11 -2
  190. package/dist/engine/agent-api/world/index.js.map +1 -1
  191. package/dist/engine/agent-api/world/scatter.d.ts +50 -3
  192. package/dist/engine/agent-api/world/scatter.d.ts.map +1 -1
  193. package/dist/engine/agent-api/world/scatter.js +93 -7
  194. package/dist/engine/agent-api/world/scatter.js.map +1 -1
  195. package/dist/engine/agent-api/world/terrain.d.ts +8 -0
  196. package/dist/engine/agent-api/world/terrain.d.ts.map +1 -1
  197. package/dist/engine/agent-api/world/terrain.js +6 -1
  198. package/dist/engine/agent-api/world/terrain.js.map +1 -1
  199. package/dist/engine/contracts/animation.d.ts +30 -12
  200. package/dist/engine/contracts/animation.d.ts.map +1 -1
  201. package/dist/engine/contracts/animation.js +2 -0
  202. package/dist/engine/contracts/animation.js.map +1 -1
  203. package/dist/engine/contracts/art.d.ts +1 -1
  204. package/dist/engine/contracts/art.d.ts.map +1 -1
  205. package/dist/engine/contracts/atmosphere.d.ts +43 -9
  206. package/dist/engine/contracts/atmosphere.d.ts.map +1 -1
  207. package/dist/engine/contracts/atmosphere.js.map +1 -1
  208. package/dist/engine/contracts/camera.d.ts +8 -2
  209. package/dist/engine/contracts/camera.d.ts.map +1 -1
  210. package/dist/engine/contracts/camera.js +14 -3
  211. package/dist/engine/contracts/camera.js.map +1 -1
  212. package/dist/engine/contracts/effects.d.ts +83 -37
  213. package/dist/engine/contracts/effects.d.ts.map +1 -1
  214. package/dist/engine/contracts/effects.js +2 -1
  215. package/dist/engine/contracts/effects.js.map +1 -1
  216. package/dist/engine/contracts/flags.d.ts.map +1 -1
  217. package/dist/engine/contracts/flags.js +29 -4
  218. package/dist/engine/contracts/flags.js.map +1 -1
  219. package/dist/engine/contracts/lighting.d.ts +33 -1
  220. package/dist/engine/contracts/lighting.d.ts.map +1 -1
  221. package/dist/engine/contracts/lighting.js +13 -1
  222. package/dist/engine/contracts/lighting.js.map +1 -1
  223. package/dist/engine/contracts/looks.d.ts +57 -1
  224. package/dist/engine/contracts/looks.d.ts.map +1 -1
  225. package/dist/engine/contracts/looks.js.map +1 -1
  226. package/dist/engine/contracts/materials.d.ts +25 -0
  227. package/dist/engine/contracts/materials.d.ts.map +1 -1
  228. package/dist/engine/contracts/materials.js +4 -1
  229. package/dist/engine/contracts/materials.js.map +1 -1
  230. package/dist/engine/contracts/post.d.ts +14 -0
  231. package/dist/engine/contracts/post.d.ts.map +1 -1
  232. package/dist/engine/contracts/post.js +2 -0
  233. package/dist/engine/contracts/post.js.map +1 -1
  234. package/dist/engine/instances-model/CrowdKit.d.ts +231 -0
  235. package/dist/engine/instances-model/CrowdKit.d.ts.map +1 -0
  236. package/dist/engine/instances-model/CrowdKit.js +496 -0
  237. package/dist/engine/instances-model/CrowdKit.js.map +1 -0
  238. package/dist/engine/lanes/prd02.d.ts +36 -2
  239. package/dist/engine/lanes/prd02.d.ts.map +1 -1
  240. package/dist/engine/lanes/prd02.js +120 -7
  241. package/dist/engine/lanes/prd02.js.map +1 -1
  242. package/dist/engine/lanes/prd03.d.ts.map +1 -1
  243. package/dist/engine/lanes/prd03.js +9 -1
  244. package/dist/engine/lanes/prd03.js.map +1 -1
  245. package/dist/engine/lanes/prd07.d.ts.map +1 -1
  246. package/dist/engine/lanes/prd07.js +12 -7
  247. package/dist/engine/lanes/prd07.js.map +1 -1
  248. package/dist/engine/production-runtime/GlbResourceCache.d.ts +140 -0
  249. package/dist/engine/production-runtime/GlbResourceCache.d.ts.map +1 -0
  250. package/dist/engine/production-runtime/GlbResourceCache.js +237 -0
  251. package/dist/engine/production-runtime/GlbResourceCache.js.map +1 -0
  252. package/dist/engine/production-runtime/ModelMaterialOverrides.d.ts +53 -2
  253. package/dist/engine/production-runtime/ModelMaterialOverrides.d.ts.map +1 -1
  254. package/dist/engine/production-runtime/ModelMaterialOverrides.js +142 -1
  255. package/dist/engine/production-runtime/ModelMaterialOverrides.js.map +1 -1
  256. package/dist/engine/production-runtime/TypedGLBActor.d.ts +55 -0
  257. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  258. package/dist/engine/production-runtime/TypedGLBActor.js +205 -3
  259. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  260. package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -1
  261. package/dist/engine/production-runtime/actor/ModelTextureShare.js +5 -2
  262. package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -1
  263. package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.d.ts.map +1 -1
  264. package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.js +10 -1
  265. package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.js.map +1 -1
  266. package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts +55 -0
  267. package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts.map +1 -1
  268. package/dist/engine/production-runtime/effects/EffectNodeLowering.js +71 -7
  269. package/dist/engine/production-runtime/effects/EffectNodeLowering.js.map +1 -1
  270. package/dist/engine/production-runtime/effects/FlipbookAtlas.d.ts +85 -0
  271. package/dist/engine/production-runtime/effects/FlipbookAtlas.d.ts.map +1 -1
  272. package/dist/engine/production-runtime/effects/FlipbookAtlas.js +164 -0
  273. package/dist/engine/production-runtime/effects/FlipbookAtlas.js.map +1 -1
  274. package/dist/engine/production-runtime/effects/LiveAtmosphere.d.ts +39 -6
  275. package/dist/engine/production-runtime/effects/LiveAtmosphere.d.ts.map +1 -1
  276. package/dist/engine/production-runtime/effects/LiveAtmosphere.js +102 -10
  277. package/dist/engine/production-runtime/effects/LiveAtmosphere.js.map +1 -1
  278. package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts +73 -1
  279. package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts.map +1 -1
  280. package/dist/engine/production-runtime/effects/ProductionEffectSystem.js +367 -7
  281. package/dist/engine/production-runtime/effects/ProductionEffectSystem.js.map +1 -1
  282. package/dist/engine/production-runtime/world/WaterRuntime.d.ts +9 -0
  283. package/dist/engine/production-runtime/world/WaterRuntime.d.ts.map +1 -1
  284. package/dist/engine/production-runtime/world/WaterRuntime.js +27 -11
  285. package/dist/engine/production-runtime/world/WaterRuntime.js.map +1 -1
  286. package/dist/engine/production-runtime/world/WorldFramePasses.d.ts +11 -1
  287. package/dist/engine/production-runtime/world/WorldFramePasses.d.ts.map +1 -1
  288. package/dist/engine/production-runtime/world/WorldFramePasses.js +37 -1
  289. package/dist/engine/production-runtime/world/WorldFramePasses.js.map +1 -1
  290. package/dist/engine/public/index.d.ts +22 -0
  291. package/dist/engine/public/index.d.ts.map +1 -1
  292. package/dist/engine/public/index.js +14 -0
  293. package/dist/engine/public/index.js.map +1 -1
  294. package/dist/game/art/define.d.ts +1 -1
  295. package/dist/game/art/define.d.ts.map +1 -1
  296. package/dist/game/art/define.js +1 -1
  297. package/dist/game/art/define.js.map +1 -1
  298. package/dist/game/fonts/register.d.ts +16 -1
  299. package/dist/game/fonts/register.d.ts.map +1 -1
  300. package/dist/game/fonts/register.js +18 -7
  301. package/dist/game/fonts/register.js.map +1 -1
  302. package/dist/game/hud/themes.d.ts +33 -8
  303. package/dist/game/hud/themes.d.ts.map +1 -1
  304. package/dist/game/hud/themes.js +125 -22
  305. package/dist/game/hud/themes.js.map +1 -1
  306. package/dist/game/index.d.ts +4 -2
  307. package/dist/game/index.d.ts.map +1 -1
  308. package/dist/game/index.js +2 -1
  309. package/dist/game/index.js.map +1 -1
  310. package/dist/game/juice/audioReactive.d.ts +42 -0
  311. package/dist/game/juice/audioReactive.d.ts.map +1 -0
  312. package/dist/game/juice/audioReactive.js +68 -0
  313. package/dist/game/juice/audioReactive.js.map +1 -0
  314. package/dist/game/styles/themes/arcade-neon.css +2 -1
  315. package/dist/game/styles/themes/fighting.css +2 -1
  316. package/dist/game/styles/themes/ink-scroll.css +15 -0
  317. package/dist/game/styles/themes/motorsport.css +2 -1
  318. package/dist/game/styles/themes/plain.css +2 -1
  319. package/dist/game/styles/themes/sci-fi-telemetry.css +2 -1
  320. package/dist/game/styles/themes/sky-expedition.css +15 -0
  321. package/dist/game/styles/themes/sports-broadcast.css +2 -1
  322. package/dist/game/styles/themes/storybook.css +15 -0
  323. package/dist/game/styles/themes/tabletop.css +2 -1
  324. package/dist/game/styles.css +3 -1
  325. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
  326. package/dist/rendering/ClusteredForwardLighting.js +3 -1
  327. package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
  328. package/dist/rendering/DepthPass.d.ts +25 -0
  329. package/dist/rendering/DepthPass.d.ts.map +1 -1
  330. package/dist/rendering/DepthPass.js +149 -1
  331. package/dist/rendering/DepthPass.js.map +1 -1
  332. package/dist/rendering/ForwardPass.d.ts +84 -0
  333. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  334. package/dist/rendering/ForwardPass.js +236 -12
  335. package/dist/rendering/ForwardPass.js.map +1 -1
  336. package/dist/rendering/LightUniforms.d.ts +12 -0
  337. package/dist/rendering/LightUniforms.d.ts.map +1 -1
  338. package/dist/rendering/LightUniforms.js +9 -1
  339. package/dist/rendering/LightUniforms.js.map +1 -1
  340. package/dist/rendering/atmosphere/CloudLayer.d.ts +15 -0
  341. package/dist/rendering/atmosphere/CloudLayer.d.ts.map +1 -1
  342. package/dist/rendering/atmosphere/CloudLayer.js +27 -5
  343. package/dist/rendering/atmosphere/CloudLayer.js.map +1 -1
  344. package/dist/rendering/atmosphere/GradientSky.d.ts +3 -3
  345. package/dist/rendering/atmosphere/GradientSky.d.ts.map +1 -1
  346. package/dist/rendering/atmosphere/GradientSky.js +20 -9
  347. package/dist/rendering/atmosphere/GradientSky.js.map +1 -1
  348. package/dist/rendering/atmosphere/HeightFog.d.ts.map +1 -1
  349. package/dist/rendering/atmosphere/HeightFog.js +9 -0
  350. package/dist/rendering/atmosphere/HeightFog.js.map +1 -1
  351. package/dist/rendering/atmosphere/SkyBackgroundPass.d.ts +11 -0
  352. package/dist/rendering/atmosphere/SkyBackgroundPass.d.ts.map +1 -1
  353. package/dist/rendering/atmosphere/SkyBackgroundPass.js +40 -7
  354. package/dist/rendering/atmosphere/SkyBackgroundPass.js.map +1 -1
  355. package/dist/rendering/atmosphere/StarField.d.ts +21 -0
  356. package/dist/rendering/atmosphere/StarField.d.ts.map +1 -1
  357. package/dist/rendering/atmosphere/StarField.js +24 -1
  358. package/dist/rendering/atmosphere/StarField.js.map +1 -1
  359. package/dist/rendering/atmosphere/sky.glsl.d.ts.map +1 -1
  360. package/dist/rendering/atmosphere/sky.glsl.js +8 -0
  361. package/dist/rendering/atmosphere/sky.glsl.js.map +1 -1
  362. package/dist/rendering/contracts/flags.state.d.ts.map +1 -1
  363. package/dist/rendering/contracts/flags.state.js +19 -0
  364. package/dist/rendering/contracts/flags.state.js.map +1 -1
  365. package/dist/rendering/forward/Lighting.d.ts +7 -1
  366. package/dist/rendering/forward/Lighting.d.ts.map +1 -1
  367. package/dist/rendering/forward/Lighting.js +24 -1
  368. package/dist/rendering/forward/Lighting.js.map +1 -1
  369. package/dist/rendering/forward/Velocity.d.ts +8 -0
  370. package/dist/rendering/forward/Velocity.d.ts.map +1 -1
  371. package/dist/rendering/forward/Velocity.js +10 -0
  372. package/dist/rendering/forward/Velocity.js.map +1 -1
  373. package/dist/rendering/lanes/prd03.d.ts +1 -1
  374. package/dist/rendering/lanes/prd03.d.ts.map +1 -1
  375. package/dist/rendering/lanes/prd03.js +6 -1
  376. package/dist/rendering/lanes/prd03.js.map +1 -1
  377. package/dist/rendering/lanes/prd07.d.ts.map +1 -1
  378. package/dist/rendering/lanes/prd07.js +5 -2
  379. package/dist/rendering/lanes/prd07.js.map +1 -1
  380. package/dist/rendering/post/DisplayLutCache.d.ts +10 -2
  381. package/dist/rendering/post/DisplayLutCache.d.ts.map +1 -1
  382. package/dist/rendering/post/DisplayLutCache.js +15 -3
  383. package/dist/rendering/post/DisplayLutCache.js.map +1 -1
  384. package/dist/rendering/post/PostGraph.d.ts +23 -0
  385. package/dist/rendering/post/PostGraph.d.ts.map +1 -1
  386. package/dist/rendering/post/PostGraph.js.map +1 -1
  387. package/dist/rendering/post/PostQualityTiers.d.ts +36 -0
  388. package/dist/rendering/post/PostQualityTiers.d.ts.map +1 -1
  389. package/dist/rendering/post/PostQualityTiers.js +75 -0
  390. package/dist/rendering/post/PostQualityTiers.js.map +1 -1
  391. package/dist/rendering/post/chunks/velocity.glsl.d.ts +7 -0
  392. package/dist/rendering/post/chunks/velocity.glsl.d.ts.map +1 -1
  393. package/dist/rendering/post/chunks/velocity.glsl.js +12 -1
  394. package/dist/rendering/post/chunks/velocity.glsl.js.map +1 -1
  395. package/dist/rendering/post/shaders/displayGrade.glsl.d.ts +15 -1
  396. package/dist/rendering/post/shaders/displayGrade.glsl.d.ts.map +1 -1
  397. package/dist/rendering/post/shaders/displayGrade.glsl.js +26 -2
  398. package/dist/rendering/post/shaders/displayGrade.glsl.js.map +1 -1
  399. package/dist/rendering/post/shaders/dof.glsl.d.ts +11 -1
  400. package/dist/rendering/post/shaders/dof.glsl.d.ts.map +1 -1
  401. package/dist/rendering/post/shaders/dof.glsl.js +22 -0
  402. package/dist/rendering/post/shaders/dof.glsl.js.map +1 -1
  403. package/dist/rendering/post/shaders/finalize.glsl.d.ts +1 -1
  404. package/dist/rendering/post/shaders/finalize.glsl.d.ts.map +1 -1
  405. package/dist/rendering/post/shaders/finalize.glsl.js +3 -2
  406. package/dist/rendering/post/shaders/finalize.glsl.js.map +1 -1
  407. package/dist/rendering/post/shaders/godrays.glsl.d.ts +24 -1
  408. package/dist/rendering/post/shaders/godrays.glsl.d.ts.map +1 -1
  409. package/dist/rendering/post/shaders/godrays.glsl.js +45 -5
  410. package/dist/rendering/post/shaders/godrays.glsl.js.map +1 -1
  411. package/dist/rendering/post/shaders/hdrGrade.glsl.d.ts +66 -0
  412. package/dist/rendering/post/shaders/hdrGrade.glsl.d.ts.map +1 -0
  413. package/dist/rendering/post/shaders/hdrGrade.glsl.js +159 -0
  414. package/dist/rendering/post/shaders/hdrGrade.glsl.js.map +1 -0
  415. package/dist/rendering/post/shaders/ssr.glsl.d.ts +39 -0
  416. package/dist/rendering/post/shaders/ssr.glsl.d.ts.map +1 -0
  417. package/dist/rendering/post/shaders/ssr.glsl.js +163 -0
  418. package/dist/rendering/post/shaders/ssr.glsl.js.map +1 -0
  419. package/dist/rendering/post/v2Stages.d.ts +53 -0
  420. package/dist/rendering/post/v2Stages.d.ts.map +1 -1
  421. package/dist/rendering/post/v2Stages.js +314 -23
  422. package/dist/rendering/post/v2Stages.js.map +1 -1
  423. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +19 -0
  424. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -1
  425. package/dist/rendering/postprocess/NativeBloomPyramid.js +37 -0
  426. package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -1
  427. package/dist/rendering/program/ProgramGenerator.d.ts.map +1 -1
  428. package/dist/rendering/program/ProgramGenerator.js +12 -1
  429. package/dist/rendering/program/ProgramGenerator.js.map +1 -1
  430. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +12 -0
  431. package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
  432. package/dist/rendering/program/chunks/shadow_forward.glsl.js +57 -0
  433. package/dist/rendering/program/chunks/shadow_forward.glsl.js.map +1 -1
  434. package/dist/rendering/renderer/Background.d.ts.map +1 -1
  435. package/dist/rendering/renderer/Background.js +26 -2
  436. package/dist/rendering/renderer/Background.js.map +1 -1
  437. package/dist/rendering/renderer/FrameGraph.d.ts +8 -0
  438. package/dist/rendering/renderer/FrameGraph.d.ts.map +1 -1
  439. package/dist/rendering/renderer/FrameGraph.js +46 -7
  440. package/dist/rendering/renderer/FrameGraph.js.map +1 -1
  441. package/dist/rendering/renderer/OutlineTargets.d.ts +99 -0
  442. package/dist/rendering/renderer/OutlineTargets.d.ts.map +1 -0
  443. package/dist/rendering/renderer/OutlineTargets.js +286 -0
  444. package/dist/rendering/renderer/OutlineTargets.js.map +1 -0
  445. package/dist/rendering/renderer/PostprocessExecution.d.ts +5 -0
  446. package/dist/rendering/renderer/PostprocessExecution.d.ts.map +1 -1
  447. package/dist/rendering/renderer/PostprocessExecution.js +70 -4
  448. package/dist/rendering/renderer/PostprocessExecution.js.map +1 -1
  449. package/dist/rendering/renderer/postSkipped.d.ts +6 -0
  450. package/dist/rendering/renderer/postSkipped.d.ts.map +1 -1
  451. package/dist/rendering/renderer/postSkipped.js +8 -0
  452. package/dist/rendering/renderer/postSkipped.js.map +1 -1
  453. package/dist/rendering/shaders/chunks/author/ibl.glsl.d.ts +20 -0
  454. package/dist/rendering/shaders/chunks/author/ibl.glsl.d.ts.map +1 -0
  455. package/dist/rendering/shaders/chunks/author/ibl.glsl.js +84 -0
  456. package/dist/rendering/shaders/chunks/author/ibl.glsl.js.map +1 -0
  457. package/dist/rendering/shaders/chunks/author/index.d.ts +3 -1
  458. package/dist/rendering/shaders/chunks/author/index.d.ts.map +1 -1
  459. package/dist/rendering/shaders/chunks/author/index.js +38 -3
  460. package/dist/rendering/shaders/chunks/author/index.js.map +1 -1
  461. package/dist/rendering/shaders/chunks/author/lights.glsl.d.ts +16 -0
  462. package/dist/rendering/shaders/chunks/author/lights.glsl.d.ts.map +1 -0
  463. package/dist/rendering/shaders/chunks/author/lights.glsl.js +112 -0
  464. package/dist/rendering/shaders/chunks/author/lights.glsl.js.map +1 -0
  465. package/dist/rendering/shaders/chunks/author/shadow.glsl.d.ts +16 -2
  466. package/dist/rendering/shaders/chunks/author/shadow.glsl.d.ts.map +1 -1
  467. package/dist/rendering/shaders/chunks/author/shadow.glsl.js +46 -2
  468. package/dist/rendering/shaders/chunks/author/shadow.glsl.js.map +1 -1
  469. package/dist/rendering/shaders/chunks/instance_color_target.glsl.d.ts +34 -0
  470. package/dist/rendering/shaders/chunks/instance_color_target.glsl.d.ts.map +1 -0
  471. package/dist/rendering/shaders/chunks/instance_color_target.glsl.js +101 -0
  472. package/dist/rendering/shaders/chunks/instance_color_target.glsl.js.map +1 -0
  473. package/dist/rendering/shaders/chunks/rim.glsl.d.ts +37 -0
  474. package/dist/rendering/shaders/chunks/rim.glsl.d.ts.map +1 -0
  475. package/dist/rendering/shaders/chunks/rim.glsl.js +50 -0
  476. package/dist/rendering/shaders/chunks/rim.glsl.js.map +1 -0
  477. package/dist/rendering/shadows/Prd02ShadowBridge.d.ts +26 -3
  478. package/dist/rendering/shadows/Prd02ShadowBridge.d.ts.map +1 -1
  479. package/dist/rendering/shadows/Prd02ShadowBridge.js +134 -8
  480. package/dist/rendering/shadows/Prd02ShadowBridge.js.map +1 -1
  481. package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
  482. package/dist/rendering/shadows/Prd02ShadowsContributor.js +4 -16
  483. package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
  484. package/dist/rendering/vfx/VfxAtlas.d.ts +10 -0
  485. package/dist/rendering/vfx/VfxAtlas.d.ts.map +1 -1
  486. package/dist/rendering/vfx/VfxAtlas.js +18 -3
  487. package/dist/rendering/vfx/VfxAtlas.js.map +1 -1
  488. package/dist/rendering/webgl2/LegacyPost.d.ts +9 -1
  489. package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
  490. package/dist/rendering/webgl2/LegacyPost.js +23 -7
  491. package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
  492. package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
  493. package/dist/rendering/webgl2/MultiDraw.js +51 -1
  494. package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
  495. package/dist/rendering/world/vegetation/WindField.d.ts.map +1 -1
  496. package/dist/rendering/world/vegetation/WindField.js +4 -1
  497. package/dist/rendering/world/vegetation/WindField.js.map +1 -1
  498. package/dist/rendering/world/water/ReflectionViewPass.d.ts.map +1 -1
  499. package/dist/rendering/world/water/ReflectionViewPass.js +12 -2
  500. package/dist/rendering/world/water/ReflectionViewPass.js.map +1 -1
  501. package/dist/rendering/world/water/SceneCopyFallback.d.ts.map +1 -1
  502. package/dist/rendering/world/water/SceneCopyFallback.js +9 -2
  503. package/dist/rendering/world/water/SceneCopyFallback.js.map +1 -1
  504. package/dist/rendering/world/water/WaterMaterial.d.ts.map +1 -1
  505. package/dist/rendering/world/water/WaterMaterial.js +8 -2
  506. package/dist/rendering/world/water/WaterMaterial.js.map +1 -1
  507. package/package.json +25 -25
  508. package/templates/cinematic-scene/package.json +2 -2
  509. package/templates/mini-game/package.json +2 -2
  510. package/templates/product-viewer/package.json +2 -2
  511. package/templates/production-asset-inspector/package.json +1 -1
  512. package/templates/production-material-studio/package.json +1 -1
  513. package/templates/production-product-configurator/package.json +1 -1
  514. package/templates/production-product-viewer/package.json +1 -1
@@ -39,7 +39,7 @@ registerLookLintRule({
39
39
  }
40
40
  });
41
41
  // ---------- PRD-02 Phase 2 — C-09/C-36/C-38/C-31 registrations ----------
42
- import { registerPrd02EnvironmentSources, explicitEnvironmentResolution, prd02AmbientTerm, setRuntimeEnvironmentIntensity } from "../agent-api/compiler/environment.js";
42
+ import { registerPrd02EnvironmentSources, explicitEnvironmentResolution, prd02AmbientTerm, setRuntimeEnvironmentIntensity, environmentProbeOutcome, noteRuntimeEnvironmentNode, requestRuntimeEnvironmentSwap, runtimeEnvironmentFrameRotation, runtimeEnvironmentNode, runtimeEnvironmentRotation, runtimeEnvironmentTextureUrl, setRuntimeEnvironmentRotation, stepRuntimeEnvironment } from "../agent-api/compiler/environment.js";
43
43
  // Ordering guarantee: the registration flag lives in this leaf so the
44
44
  // self-registration below cannot touch uninitialised `let` state when a
45
45
  // cyclic import order runs this lane while compiler/environment.ts is
@@ -48,7 +48,8 @@ import "../agent-api/compiler/environmentSourcesState.js";
48
48
  import { registerNodeHandler, registerOptionCoverage } from "../contracts/compiler.js";
49
49
  import { registerAppExtension } from "../contracts/app.js";
50
50
  import { registerDiagnosticsSection } from "../contracts/diagnostics.js";
51
- import { collectPrd02Lights, physicalLightDescriptor, prd02LightingOn, readLightingModelFromUrl } from "../agent-api/compiler/lights.js";
51
+ import { collectPrd02Lights, physicalLightDescriptor, prd02LightingOn, queueRuntimeLightPatch, readLightingModelFromUrl, recordRuntimeFrameLights, runtimeLightStats, updateRuntimeLight } from "../agent-api/compiler/lights.js";
52
+ import { registerNodeHandleExtension } from "../contracts/runtimeNodes.js";
52
53
  import { auraLightsCounters, auraLightsLastFrame } from "../../rendering/LightUniforms.js";
53
54
  import { prd02ShadowDiagnostics, prd02ContactShadowDiagnostics } from "../../rendering/index.js";
54
55
  // C-09 sources: `prd02.explicit` (400) resolves an authored environment node;
@@ -103,8 +104,28 @@ registerNodeHandler({
103
104
  if (descriptor.shadowRequested && !descriptor.shadowDisabled) {
104
105
  out.feature(light.light === "spot" ? "shadows.spot" : light.light === "point" ? "shadows.point" : "shadows.directional");
105
106
  }
107
+ },
108
+ update(node, handle, ctx, _out, frameTime) {
109
+ // GU47 phase 2: the production renderer passes its frame time in milliseconds (`render(runtimeTime * 1000)`, the
110
+ // unit camera and batched handlers already use); setLight blends run in seconds.
111
+ const timeSeconds = frameTime / 1000;
112
+ const frame = ctx;
113
+ const lights = frame.collectedLights ?? [];
114
+ // GU47 E-B: the light follows its runtime handle (setPosition, setVisible, setLight blends) every frame.
115
+ updateRuntimeLight(node, handle, lights, timeSeconds);
116
+ // The frame's collected lights feed `app.lighting.diagnostics()` (punctualLights / localShadowLights).
117
+ if (frame.runtimeNodes)
118
+ recordRuntimeFrameLights(frame.runtimeNodes, lights);
106
119
  }
107
120
  });
121
+ registerNodeHandleExtension({
122
+ id: "prd02.setLight",
123
+ owner: "prd02",
124
+ flag: "A3D_QR_LIGHTING",
125
+ member: "setLight",
126
+ appliesTo: ["light"],
127
+ create: (handle) => (patch, opts) => queueRuntimeLightPatch(handle, patch, opts)
128
+ });
108
129
  registerNodeHandler({
109
130
  kind: "environment",
110
131
  owner: "prd02",
@@ -117,8 +138,35 @@ registerNodeHandler({
117
138
  out.feature("environment.ibl");
118
139
  if (resolution.background !== false && resolution.background.visible)
119
140
  out.feature("environment.background");
141
+ },
142
+ update(node, _handle, ctx, out, frameTime) {
143
+ // GU47 phase 2: frame time arrives in milliseconds (see the light handler); the crossfade runs in seconds.
144
+ const timeSeconds = frameTime / 1000;
145
+ // GU47 E-B: runtime environment control. The swap (crossfade + texture override the `prd02.explicit` source lays
146
+ // over this node) advances here, before the probe bind reads the environment scale; the frame's yaw rides on the
147
+ // source as `environmentProbeRotation` (radians) for the renderer's probe / IBL sampling and background.
148
+ const owner = ctx.runtimeNodes;
149
+ if (!owner)
150
+ return;
151
+ noteRuntimeEnvironmentNode(node, owner);
152
+ if (!firstEnvironmentNodeOfFrame(owner, node, timeSeconds))
153
+ return;
154
+ const device = ctx.renderer?.device;
155
+ stepRuntimeEnvironment(owner, timeSeconds, (url) => environmentProbeOutcome(device, url));
156
+ const rotation = runtimeEnvironmentFrameRotation(owner, runtimeEnvironmentNode(node));
157
+ if (rotation !== 0 || runtimeEnvironmentRotation(owner) !== undefined)
158
+ out.set("environmentProbeRotation", rotation);
120
159
  }
121
160
  });
161
+ /** The resolution uses the first environment node in scene order; the per-frame swap / rotation follow that one. */
162
+ const environmentFrameFirst = new WeakMap();
163
+ function firstEnvironmentNodeOfFrame(owner, node, timeSeconds) {
164
+ const seen = environmentFrameFirst.get(owner);
165
+ if (seen && seen.time === timeSeconds)
166
+ return seen.node === node;
167
+ environmentFrameFirst.set(owner, { time: timeSeconds, node });
168
+ return true;
169
+ }
122
170
  registerNodeHandler({
123
171
  kind: "probe",
124
172
  owner: "prd02",
@@ -172,6 +220,7 @@ registerOptionCoverage([
172
220
  export class Prd02LightingRuntime {
173
221
  flags;
174
222
  scaleOwner;
223
+ app;
175
224
  rotation = 0;
176
225
  intensity = 1;
177
226
  device = null;
@@ -181,9 +230,10 @@ export class Prd02LightingRuntime {
181
230
  * diagnostics sections report the app's flag state — not a second
182
231
  * ambient `?a3d-qr=` / env resolution.
183
232
  */
184
- constructor(flags, scaleOwner) {
233
+ constructor(flags, scaleOwner, app) {
185
234
  this.flags = flags;
186
235
  this.scaleOwner = scaleOwner;
236
+ this.app = app;
187
237
  }
188
238
  /**
189
239
  * C-28 counters are consumed from the bound device, never counted here
@@ -193,7 +243,18 @@ export class Prd02LightingRuntime {
193
243
  updateProbe(name) { this.pendingProbes.add(name); return Promise.resolve(); }
194
244
  rebakeIrradiance(name) { if (name)
195
245
  this.pendingProbes.add(name); return Promise.resolve(); }
196
- setEnvironmentRotation(radians) { this.rotation = radians; }
246
+ /**
247
+ * GU47 E-B: absolute yaw (radians, about +Y) of the active environment. The mounted scene's per-frame update puts it
248
+ * on the render source as `environmentProbeRotation` for probe / IBL sampling and the background (it wins over the
249
+ * environment node's authored `rotation`).
250
+ */
251
+ setEnvironmentRotation(radians) {
252
+ if (this.scaleOwner)
253
+ setRuntimeEnvironmentRotation(this.scaleOwner, radians);
254
+ else if (!Number.isFinite(radians))
255
+ throw new RangeError(`setEnvironmentRotation expects a finite number of radians, got ${String(radians)}.`);
256
+ this.rotation = radians;
257
+ }
197
258
  /**
198
259
  * Live scale on the environment term (image-based diffuse and specular), applied by the mounted scene's
199
260
  * per-frame update. Lights, the ambient term and the background keep their authored values.
@@ -228,6 +289,9 @@ export class Prd02LightingRuntime {
228
289
  diagnostics() {
229
290
  void this.rotation;
230
291
  void this.intensity;
292
+ void this.environmentRequest;
293
+ // GU47 E-B: counted from the collected lights the app's last frame submitted (visible lights only).
294
+ const stats = runtimeLightStats(this.scaleOwner);
231
295
  return {
232
296
  environment: {
233
297
  source: "prd02", faceSize: 0, mipCount: 0, format: "rgba16f",
@@ -237,9 +301,54 @@ export class Prd02LightingRuntime {
237
301
  droppedFeatures: prd02ShadowDiagnostics()?.droppedFeatures ?? [],
238
302
  contactShadows: prd02ContactShadowDiagnostics().contactShadows,
239
303
  programCompileCount: this.device?.getDiagnostics().programCompileCount ?? 0,
240
- readPixelsCalls: this.device?.getDiagnostics().readPixelsCalls ?? 0
304
+ readPixelsCalls: this.device?.getDiagnostics().readPixelsCalls ?? 0,
305
+ punctualLights: stats.punctualLights,
306
+ localShadowLights: stats.localShadowLights
241
307
  };
242
308
  }
309
+ /**
310
+ * GU47 E-B: swap the scene environment to `texture` (an `.hdr` texture asset). On a scene with an environment node
311
+ * the per-frame update lays the texture over it (the probe rebinds), fading the environment term out over the first
312
+ * half of `crossfadeSeconds` and back in over the second half once the new probe is ready. A scene without one gets
313
+ * an hdri environment node added (no fade; the neutral floor lights the scene until the probe lands).
314
+ */
315
+ setEnvironment(texture, opts) {
316
+ runtimeEnvironmentTextureUrl(texture);
317
+ this.environmentRequest = { texture, ...(opts ? { opts } : {}) };
318
+ if (this.app && !this.addedEnvironment && !sceneHasEnvironment(this.app.scene)) {
319
+ if (opts?.crossfadeSeconds !== undefined && (!Number.isFinite(opts.crossfadeSeconds) || opts.crossfadeSeconds < 0)) {
320
+ throw new RangeError(`setEnvironment crossfadeSeconds expects a finite number >= 0, got ${String(opts.crossfadeSeconds)}.`);
321
+ }
322
+ if (opts?.rotationDeg !== undefined && !Number.isFinite(opts.rotationDeg)) {
323
+ throw new RangeError(`setEnvironment rotationDeg expects a finite number, got ${String(opts.rotationDeg)}.`);
324
+ }
325
+ if (opts?.intensity !== undefined)
326
+ this.setEnvironmentIntensity(opts.intensity);
327
+ this.app.nodes?.add({
328
+ kind: "environment",
329
+ environment: "hdri",
330
+ name: "runtime environment",
331
+ intensity: 1,
332
+ texture,
333
+ background: opts?.background ?? false,
334
+ ...(opts?.rotationDeg !== undefined ? { rotation: (opts.rotationDeg * Math.PI) / 180 } : {}),
335
+ runtime: { id: RUNTIME_ENVIRONMENT_NODE_ID }
336
+ });
337
+ this.addedEnvironment = true;
338
+ return;
339
+ }
340
+ if (this.scaleOwner)
341
+ requestRuntimeEnvironmentSwap(this.scaleOwner, texture, opts ?? {});
342
+ else if (opts?.rotationDeg !== undefined)
343
+ this.rotation = (opts.rotationDeg * Math.PI) / 180;
344
+ }
345
+ environmentRequest = null;
346
+ addedEnvironment = false;
347
+ }
348
+ /** Runtime id of the environment node `setEnvironment` adds to a scene that had none. */
349
+ export const RUNTIME_ENVIRONMENT_NODE_ID = "a3d-runtime-environment";
350
+ function sceneHasEnvironment(scene) {
351
+ return scene ? groups.flatten(scene.nodes).some((node) => node.kind === "environment") : false;
243
352
  }
244
353
  registerAppExtension({
245
354
  id: "prd02.lighting",
@@ -247,7 +356,7 @@ registerAppExtension({
247
356
  owner: "prd02",
248
357
  flag: "A3D_QR_LIGHTING",
249
358
  // The scale is keyed by `app.nodes`, the runtime registry the mounted scene's update receives.
250
- create: (app, ctx) => new Prd02LightingRuntime(ctx.flags, app.nodes)
359
+ create: (app, ctx) => new Prd02LightingRuntime(ctx.flags, app.nodes, app)
251
360
  });
252
361
  registerDiagnosticsSection({
253
362
  id: "prd02.lighting",
@@ -266,7 +375,11 @@ registerDiagnosticsSection({
266
375
  lightsDroppedByCap: counters?.lightsDroppedByCap ?? null,
267
376
  // §4.2 runtime collectedLights: one row per evaluated light.
268
377
  lights: auraLightsLastFrame() ?? null,
269
- timings: lighting?.lightingTimings?.() ?? null
378
+ timings: lighting?.lightingTimings?.() ?? null,
379
+ // GU47 E-B (WP-2 acceptance reads `diagnostics().lighting.shadows`): the observed shadow rows and the light counts.
380
+ shadows: diag?.shadows ?? null,
381
+ punctualLights: diag?.punctualLights ?? null,
382
+ localShadowLights: diag?.localShadowLights ?? null
270
383
  };
271
384
  }
272
385
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prd02.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd02.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prd02.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd02.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prd03.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd03.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EAExB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGpH,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"prd03.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd03.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EAExB,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAGpH,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
@@ -17,7 +17,15 @@ import { collectPostSection, collectExposureSection, createPrd03PostSurface } fr
17
17
  registerDiagnosticsSection({ id: "prd03.post", owner: "prd03", flag: "A3D_QR_POST", key: "post", collect: collectPostSection });
18
18
  registerDiagnosticsSection({ id: "prd03.exposure", owner: "prd03", flag: "A3D_QR_POST", key: "exposure", collect: collectExposureSection });
19
19
  // C-38 post surface — app.post / app.addPostPass / app.setQualityTier.
20
- registerAppExtension({ id: "prd03.post", owner: "prd03", flag: "A3D_QR_POST", member: "post", create: createPrd03PostSurface });
20
+ // `dispose` releases the custom passes the app added (the pass registry is page-global).
21
+ registerAppExtension({
22
+ id: "prd03.post",
23
+ owner: "prd03",
24
+ flag: "A3D_QR_POST",
25
+ member: "post",
26
+ create: createPrd03PostSurface,
27
+ dispose: (surface) => surface.dispose?.()
28
+ });
21
29
  // C-36 merge — the contract table is the published surface; the record is
22
30
  // additive-only and never removes another lane's entries.
23
31
  Object.assign(DIAGNOSTIC_ONLY_FIELDS, PRD03_DIAGNOSTIC_ONLY_FIELDS);
@@ -1 +1 @@
1
- {"version":3,"file":"prd03.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd03.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEhH,oEAAoE;AACpE,kEAAkE;AAClE,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAChI,0BAA0B,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAE5I,uEAAuE;AACvE,oBAAoB,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAEhI,0EAA0E;AAC1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,CAAC,sBAAgG,EAAE,4BAA4B,CAAC,CAAC;AAC9I,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;AAE9C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB;AACxB,yEAAyE;AACzE,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACpH,8EAA8E;AAC9E,+DAA+D;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"prd03.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd03.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEhH,oEAAoE;AACpE,kEAAkE;AAClE,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAChI,0BAA0B,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAE5I,uEAAuE;AACvE,yFAAyF;AACzF,oBAAoB,CAAC;IACnB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,sBAAsB;IAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAE,OAAoC,CAAC,OAAO,EAAE,EAAE;CACxE,CAAC,CAAC;AAEH,0EAA0E;AAC1E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,CAAC,sBAAgG,EAAE,4BAA4B,CAAC,CAAC;AAC9I,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;AAE9C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB;AACxB,yEAAyE;AACzE,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACpH,8EAA8E;AAC9E,+DAA+D;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prd07.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd07.ts"],"names":[],"mappings":"AAuGA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"prd07.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd07.ts"],"names":[],"mappings":"AA2GA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,cAAc,kBAAkB,CAAC"}
@@ -8,7 +8,7 @@ import { registerAppExtension } from "../contracts/app.js";
8
8
  import { registerDiagnosticsSection } from "../contracts/diagnostics.js";
9
9
  import { registerNodeHandler } from "../contracts/compiler.js";
10
10
  import { registerNodeHandleExtension } from "../contracts/runtimeNodes.js";
11
- import { createEffectsExtension, prd07AppDisposed } from "../agent-api/vfx/effects-api.js";
11
+ import { createEffectsExtension, prd07AppDisposed, prd07SystemFor } from "../agent-api/vfx/effects-api.js";
12
12
  import { createAtmosphereExtension } from "../agent-api/vfx/atmosphere-api.js";
13
13
  import { collectEffectsSection, collectAtmosphereSection } from "../agent-api/vfx/diagnostics.js";
14
14
  import { registerPrd07LookLintRules } from "../agent-api/vfx/lookLint.js";
@@ -43,7 +43,9 @@ try {
43
43
  registerAppExtension({
44
44
  id: "prd07.atmosphere",
45
45
  owner: "prd07",
46
- flag: "A3D_QR_VFX_SKY",
46
+ // GU47 E-B: the real atmosphere (live fog state and the compiler/fog.ts binding) installs under A3D_QR_VFX,
47
+ // A3D_QR_VFX_SKY or A3D_QR_VFX_FOG alone (createAtmosphereExtension); it is not a sky-flag extension.
48
+ flag: "A3D_QR_VFX",
47
49
  member: "atmosphere",
48
50
  create: (app, ctx) => createAtmosphereExtension(app, ctx)
49
51
  });
@@ -64,7 +66,7 @@ try {
64
66
  registerDiagnosticsSection({
65
67
  id: "prd07.atmosphere",
66
68
  owner: "prd07",
67
- flag: "A3D_QR_VFX_SKY",
69
+ flag: "A3D_QR_VFX",
68
70
  key: "atmosphere",
69
71
  collect: (app) => collectAtmosphereSection(app)
70
72
  });
@@ -82,16 +84,19 @@ catch (error) {
82
84
  throw error;
83
85
  }
84
86
  // C-36 — handle.setFog for fog effect nodes: node-handle writes merge into the
85
- // app's live fog state.
87
+ // app's live fog state. GU47 E-B: into the spec of the handle's own fog node
88
+ // (app-level setFog only applies to node-free scenes or with overrideSceneFog).
86
89
  registerNodeHandleExtension({
87
90
  id: "prd07.setFog",
88
91
  owner: "prd07",
89
92
  flag: "A3D_QR_VFX",
90
93
  member: "setFog",
91
94
  appliesTo: ["effect"],
92
- create: (_handle, app) => (partial) => {
93
- const atmosphere = app.atmosphere;
94
- atmosphere?.setFog(partial);
95
+ create: (handle, app) => (partial) => {
96
+ if (app && prd07SystemFor(app)?.atmosphere.setNodeFogByRuntimeId(handle.id, partial))
97
+ return;
98
+ const atmosphere = app?.atmosphere;
99
+ atmosphere?.setFog(partial, { overrideSceneFog: true });
95
100
  }
96
101
  });
97
102
  // P1-T18 / §6.8 — look lint.
@@ -1 +1 @@
1
- {"version":3,"file":"prd07.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd07.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,mDAAmD;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,0EAA0E;AAC1E,qEAAqE;AACrE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;AAElD,8EAA8E;AAC9E,8EAA8E;AAC9E,2CAA2C;AAC3C,IAAI,CAAC;IACH,oBAAoB,CAAC;QACnB,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC;QACtD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5C,gBAAgB,CAAC,KAAe,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;QAAE,MAAM,KAAK,CAAC;AAC7G,CAAC;AAED,IAAI,CAAC;IACH,oBAAoB,CAAC;QACnB,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QAAE,MAAM,KAAK,CAAC;AAChH,CAAC;AAED,+BAA+B;AAC/B,IAAI,CAAC;IACH,0BAA0B,CAAC;QACzB,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IACH,0BAA0B,CAAC;QACzB,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAAE,MAAM,KAAK,CAAC;AAC/F,CAAC;AAED,2BAA2B;AAC3B,IAAI,CAAC;IACH,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAAE,MAAM,KAAK,CAAC;AACnG,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,2BAA2B,CAAC;IAC1B,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAmC,EAAE,EAAE;QAChE,MAAM,UAAU,GAAI,GAAwE,CAAC,UAAU,CAAC;QACxG,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEH,6BAA6B;AAC7B,0BAA0B,EAAE,CAAC;AAE7B,iCAAiC;AACjC,2BAA2B,EAAE,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"prd07.js","sourceRoot":"","sources":["../../../../../packages/engine/src/lanes/prd07.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * GU47 E-H (WP-8) — GLB resource cache across `app.setScene`.
3
+ *
4
+ * `setScene` disposes the renderer and every typed GLB actor before the next scene mounts. The
5
+ * parsed-GLB cache in `@aura3d/assets` (`GLTFAssetParseCache`) and the decoded-texture share
6
+ * (`actor/ModelTextureShare`) are reference counted, so the last actor of an asset dropping its
7
+ * lease evicts the parse and the textures, and a scene that mounts the same assets again fetches,
8
+ * parses and decodes every GLB a second time.
9
+ *
10
+ * This cache keeps, per asset key, the parse lease of the last disposed actor of that asset (its
11
+ * render resources and textures are freed at once, as before). The next actor of the same asset
12
+ * finds the parse still referenced, so it loads with 0 GLB fetches and 0 parses, and then hands
13
+ * the kept lease back (`consume`), so at most one kept lease exists per asset and none while an
14
+ * actor of that asset is live. Memory held is the parsed GLB (about its file size), which is what
15
+ * `bytes` charges.
16
+ *
17
+ * Keys: the asset content hash (typed asset tables carry one), the URL and every decode option by
18
+ * value (see `glbResourceCacheKey`), so different decode settings never alias.
19
+ * Bounds: `maxEntries` and `maxBytes` (least recently kept evicted first); an entry is disposed
20
+ * exactly once, on eviction, `consume`, `release` or `clear`.
21
+ */
22
+ export interface GlbResourceCacheEntry {
23
+ /** Bytes the entry is charged against `maxBytes` (file size when known, else an estimate). */
24
+ readonly bytes: number;
25
+ /**
26
+ * True when the GLB uses no draco / meshopt / KTX2 compression, so a re-mount can skip the
27
+ * decoder pre-scan fetch (its only job is to require decoders).
28
+ */
29
+ readonly uncompressed: boolean;
30
+ /** Disposes the kept resources. Called exactly once by the cache. */
31
+ dispose(): void;
32
+ }
33
+ export interface GlbResourceCacheOptions {
34
+ /** Kept assets at most (0 disables the cache). */
35
+ readonly maxEntries?: number;
36
+ /** Charged bytes at most across kept assets. */
37
+ readonly maxBytes?: number;
38
+ }
39
+ export interface GlbResourceCacheSnapshot {
40
+ readonly kind: "aura-glb-resource-cache";
41
+ readonly entries: number;
42
+ readonly bytes: number;
43
+ readonly maxEntries: number;
44
+ readonly maxBytes: number;
45
+ /** Actor loads that found their asset kept (no fetch, no decode). */
46
+ readonly hits: number;
47
+ /** Actor loads that found nothing kept. */
48
+ readonly misses: number;
49
+ /** Disposed actors whose resources were kept. */
50
+ readonly kept: number;
51
+ /** Kept entries disposed to stay inside the bounds. */
52
+ readonly evicted: number;
53
+ readonly keys: readonly string[];
54
+ }
55
+ /** Defaults: generous for a game's own asset set, small next to a phone's memory. */
56
+ export declare const GLB_RESOURCE_CACHE_DEFAULTS: Required<GlbResourceCacheOptions>;
57
+ export declare class GlbResourceCache {
58
+ /** Insertion order = recency (oldest first). */
59
+ private readonly entries;
60
+ private maxEntries;
61
+ private maxBytes;
62
+ private chargedBytes;
63
+ private hits;
64
+ private misses;
65
+ private keptCount;
66
+ private evictedCount;
67
+ constructor(options?: GlbResourceCacheOptions);
68
+ get enabled(): boolean;
69
+ /** Change the bounds; shrinking evicts at once. */
70
+ configure(options: GlbResourceCacheOptions): void;
71
+ /** The kept entry for `key` without changing recency or counters. */
72
+ peek(key: string): GlbResourceCacheEntry | undefined;
73
+ /** Records whether an actor load found its asset kept. */
74
+ noteLoad(key: string): boolean;
75
+ /**
76
+ * Keep a disposed actor's resources. Returns false when the caller must dispose them itself:
77
+ * the cache is off, the asset is already kept, or the entry alone exceeds `maxBytes`.
78
+ */
79
+ keep(key: string, entry: GlbResourceCacheEntry): boolean;
80
+ /**
81
+ * Dispose the kept entry for `key` once a new actor of that asset holds its own parse and
82
+ * texture leases (the kept copy is no longer needed to bridge the remount).
83
+ */
84
+ consume(key: string): boolean;
85
+ /** Dispose and forget one kept entry. */
86
+ release(key: string): boolean;
87
+ /** Dispose every kept entry (app teardown, memory pressure, tests). */
88
+ clear(): void;
89
+ /** Zero the counters (tests). */
90
+ resetStats(): void;
91
+ snapshot(): GlbResourceCacheSnapshot;
92
+ private withinBounds;
93
+ /** Evict least recently kept entries first; `protect` (the entry just kept) goes last. */
94
+ private evictToBounds;
95
+ }
96
+ /**
97
+ * The process-wide cache every typed GLB actor uses, on by default (GU47 E-H: a second `setScene`
98
+ * with the same assets makes 0 GLB fetches). `configureGlbResourceCache({ maxEntries: 0 })` turns
99
+ * it off.
100
+ */
101
+ export declare const glbResourceCache: GlbResourceCache;
102
+ /** Tune the cache bounds (`{ maxEntries: 0 }` turns it off and disposes what it kept). */
103
+ export declare function configureGlbResourceCache(options: GlbResourceCacheOptions): void;
104
+ /** Dispose everything the cache kept (call after the last scene of an app is gone). */
105
+ export declare function clearGlbResourceCache(): void;
106
+ /** Diagnostics: entries, bytes, hits / misses and evictions. */
107
+ export declare function glbResourceCacheSnapshot(): GlbResourceCacheSnapshot;
108
+ /**
109
+ * Cache key for an actor's asset: the content hash, the URL and every decode input, by value.
110
+ * Plain-object options (`decoders`, texture capabilities) are serialised rather than keyed by
111
+ * identity because the renderer builds a fresh `decoders` object per mount, so identity keys
112
+ * would never match across `setScene`. Functions and class instances (an image decoder) keep an
113
+ * identity token.
114
+ */
115
+ export declare function glbResourceCacheKey(options: {
116
+ readonly asset: {
117
+ readonly url: string;
118
+ readonly hash?: string;
119
+ };
120
+ readonly maxTextureSize?: number;
121
+ readonly textureBudget?: number;
122
+ readonly imageDecoder?: unknown;
123
+ readonly decoders?: unknown;
124
+ readonly compressedTextureCapabilities?: unknown;
125
+ }): string;
126
+ /**
127
+ * Cache-key token for a decode option: primitives and plain data by value (so a fresh `decoders: {}` per mount still
128
+ * matches), anything else (decoder instances, functions) by identity. Shared with `actor/ModelTextureShare.ts`.
129
+ */
130
+ export declare function valueToken(value: unknown): string;
131
+ /**
132
+ * Charged size of a kept GLB: the manifest file size when the asset table has one, else an
133
+ * estimate from the loader's counts (vertex attributes, indices, and 4 MiB per decoded image).
134
+ */
135
+ export declare function estimateGlbResourceBytes(sizeBytes: number | undefined, diagnostics: {
136
+ readonly vertexCount: number;
137
+ readonly indexCount: number;
138
+ readonly imageCount: number;
139
+ } | undefined): number;
140
+ //# sourceMappingURL=GlbResourceCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlbResourceCache.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/production-runtime/GlbResourceCache.ts"],"names":[],"mappings":"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"}