@aura3d/engine 4.6.1 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +37 -6
  275. package/dist/engine/production-runtime/effects/LiveAtmosphere.d.ts.map +1 -1
  276. package/dist/engine/production-runtime/effects/LiveAtmosphere.js +93 -10
  277. package/dist/engine/production-runtime/effects/LiveAtmosphere.js.map +1 -1
  278. package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts +71 -1
  279. package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts.map +1 -1
  280. package/dist/engine/production-runtime/effects/ProductionEffectSystem.js +356 -6
  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
@@ -1 +1 @@
1
- {"version":3,"file":"postBridge.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/postBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postBridge.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/postBridge.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,10 @@
15
15
  import { createRendererPostprocessPlanDiagnostics, postGraphV2LastOutcome, postSkippedReasons, postStagesRan, postV2ModulesReady, postVelocityCoverage, volumetricLightDirection } from "../../rendering/index.js";
16
16
  import { registerPostPass, registeredPostPasses } from "../../rendering/contracts/index.js";
17
17
  import { AuraRuntimeError, groups } from "./index.js";
18
- import { expandPostPreset, presetCapabilityDegraded } from "./postPresets.js";
18
+ import { expandPostPreset } from "./postPresets.js";
19
19
  import { mergeLookColorGrade } from "./looks/lookGrade.js";
20
+ import { lookOutputPreset } from "./looks/looks.js";
21
+ import { colorToRgba } from "./colorUtils.js";
20
22
  /** Mirrors `postProductionBuild` in the renderer (§6.9 prod-skip rule). */
21
23
  function postProductionBuildBridge() {
22
24
  const meta = import.meta;
@@ -298,22 +300,43 @@ export class Prd03PostSurface {
298
300
  canvas;
299
301
  app;
300
302
  requestedTier = null;
303
+ /** GU47 E-C (EC-5): this app's runtime effect overrides (`setEffect` / `setEffectEnabled`). */
304
+ runtimeOverrides;
305
+ /** Releases of the passes this surface registered and that are still live. */
306
+ releases = new Set();
301
307
  constructor(flags, canvas, app) {
302
308
  this.flags = flags;
303
309
  this.canvas = canvas;
304
310
  this.app = app;
311
+ this.runtimeOverrides = adoptRuntimePostOverrides(canvas);
305
312
  }
306
313
  addPostPass(pass) {
307
314
  if (!this.flags.on("A3D_QR_POST"))
308
315
  return () => { };
309
316
  const descriptor = customPassToDescriptor(pass);
310
- const release = registerPostPass(descriptor);
311
- return () => {
317
+ const unregister = registerPostPass(descriptor);
318
+ const release = () => {
319
+ if (!this.releases.delete(release))
320
+ return;
312
321
  // SH-03: removing a pass leaves no residue — registry entry AND staged
313
322
  // setPassUniform overrides both go away.
314
323
  passUniformOverrides.delete(descriptor.id);
315
- release();
324
+ unregister();
316
325
  };
326
+ this.releases.add(release);
327
+ return release;
328
+ }
329
+ /**
330
+ * GU47 phase 2: `app.dispose()` releases every pass this app added. The C-13
331
+ * registry is page-global, so a pass the app never released used to outlive
332
+ * it: the next app on the page that added a pass with the same name threw
333
+ * `REGISTRY_DUPLICATE:prd03.custom.<name>`, and any other app kept running
334
+ * the dead app's pass. Releasing is idempotent (the returned release and
335
+ * dispose may both run).
336
+ */
337
+ dispose() {
338
+ for (const release of [...this.releases])
339
+ release();
317
340
  }
318
341
  /**
319
342
  * SH-03: mutate one numeric uniform of a registered custom pass
@@ -342,6 +365,22 @@ export class Prd03PostSurface {
342
365
  }
343
366
  overrides.set(key, value);
344
367
  }
368
+ /**
369
+ * GU47 E-C (EC-5): `app.post.setEffect("bloom", { intensity: 1.4 })`. The
370
+ * patch is validated now and merged into this app's override store; the
371
+ * next frame's post derivation (`createRootPostPipeline`) applies it to the
372
+ * effect node — no scene rebuild, no shader rebuild.
373
+ */
374
+ setEffect(name, patch) {
375
+ writeRuntimePostEffect(this.runtimeOverrides, name, patch, undefined);
376
+ }
377
+ /** GU47 E-C (EC-5): drop one runtime-controllable effect from the chain, or restore it. */
378
+ setEffectEnabled(name, enabled) {
379
+ if (typeof enabled !== "boolean") {
380
+ throw new AuraRuntimeError("POST_FIELD_UNSUPPORTED", `app.post.setEffectEnabled(${String(name)}) expects a boolean`);
381
+ }
382
+ writeRuntimePostEffect(this.runtimeOverrides, name, undefined, enabled);
383
+ }
345
384
  setQualityTier(tier) {
346
385
  this.requestedTier = tier;
347
386
  // The compiler reads the shared context store when resolving tier AA (Phase 1).
@@ -381,6 +420,174 @@ export function createPrd03PostSurface(app, ctx) {
381
420
  return new Prd03PostSurface(ctx.flags, app.canvas ?? undefined, app);
382
421
  }
383
422
  /* ------------------------------------------------------------------------- */
423
+ /* GU47 E-C (EC-5): runtime post control (`app.post.setEffect`) */
424
+ /* ------------------------------------------------------------------------- */
425
+ /** `app.post.setEffect` / `setEffectEnabled` names (factory names) → the effect node id they drive. */
426
+ export const POST_RUNTIME_EFFECTS = Object.freeze({
427
+ bloom: "bloom",
428
+ colorGrade: "color-grade",
429
+ depthOfField: "depth-of-field",
430
+ motionBlur: "motion-blur",
431
+ chromaticAberration: "chromatic-aberration",
432
+ volumetricFog: "volumetric-fog",
433
+ vignette: "vignette",
434
+ // GU47 E-E handoff H4: retarget the outline at runtime (`setEffect("outline", { targets: [id] })`).
435
+ outline: "outline",
436
+ // GU47 pass 4 (g19): an fps governor drops GTAO and grain at runtime (`setEffectEnabled("ambientOcclusion", false)`).
437
+ ambientOcclusion: "ambient-occlusion",
438
+ filmGrain: "film-grain"
439
+ });
440
+ const canvasRuntimeOverrides = new WeakMap();
441
+ /**
442
+ * The store a canvas-less derivation reads: the most recently created or
443
+ * written app's. Exact for one app per page (every live game); the compiler
444
+ * passes the canvas once E-G's `compiler/postprocess.ts` hook lands, which
445
+ * scopes two apps on one page exactly.
446
+ */
447
+ let latestRuntimeOverrides = new Map();
448
+ /** A fresh store for a new post surface; it becomes the canvas-less default. */
449
+ function adoptRuntimePostOverrides(canvas) {
450
+ const store = new Map();
451
+ if (canvas)
452
+ canvasRuntimeOverrides.set(canvas, store);
453
+ latestRuntimeOverrides = store;
454
+ return store;
455
+ }
456
+ function runtimePostOverridesFor(canvas) {
457
+ return (canvas ? canvasRuntimeOverrides.get(canvas) : undefined) ?? latestRuntimeOverrides;
458
+ }
459
+ /** Test hook: forgets the canvas-less runtime overrides (per-canvas stores go with their canvas). */
460
+ export function resetRuntimePostOverrides() {
461
+ latestRuntimeOverrides = new Map();
462
+ }
463
+ const RUNTIME_EFFECT_IDS = new Set(Object.values(POST_RUNTIME_EFFECTS));
464
+ function runtimeEffectId(name) {
465
+ if (typeof name === "string") {
466
+ if (Object.prototype.hasOwnProperty.call(POST_RUNTIME_EFFECTS, name))
467
+ return POST_RUNTIME_EFFECTS[name];
468
+ if (RUNTIME_EFFECT_IDS.has(name))
469
+ return name;
470
+ }
471
+ throw new AuraRuntimeError("POST_FIELD_UNSUPPORTED", `app.post: "${String(name)}" is not a runtime post effect (use ${Object.keys(POST_RUNTIME_EFFECTS).join(", ")}).`);
472
+ }
473
+ function runtimePatchValue(effectName, key, value, effectId) {
474
+ const reject = (why) => {
475
+ throw new AuraRuntimeError("POST_FIELD_UNSUPPORTED", `app.post.setEffect(${effectName}, { ${key} }) ${why}`);
476
+ };
477
+ // GU47 E-E handoff H4: outline `targets` is a list of node names / runtime ids (an empty list inks nothing).
478
+ if (key === "targets") {
479
+ if (!Array.isArray(value) || !value.every((entry) => typeof entry === "string" && entry.trim().length > 0)) {
480
+ reject("expects an array of node names");
481
+ }
482
+ return Object.freeze([...value]);
483
+ }
484
+ if (typeof value === "number")
485
+ return Number.isFinite(value) ? value : reject("expects a finite number");
486
+ if (typeof value === "boolean")
487
+ return value;
488
+ if (typeof value === "string") {
489
+ if (!value.trim())
490
+ reject("expects a non-empty string");
491
+ // A CSS-style colour string becomes the RGB triple the bridge reads (the
492
+ // compiled outline parses the colour string itself).
493
+ if (key === "color" && effectId !== "outline") {
494
+ const [r, g, b] = colorToRgba(value);
495
+ return [r, g, b];
496
+ }
497
+ return value;
498
+ }
499
+ if (Array.isArray(value)) {
500
+ if (value.length === 0 || value.length > 4 || !value.every((entry) => typeof entry === "number" && Number.isFinite(entry))) {
501
+ reject("expects 1-4 finite numbers");
502
+ }
503
+ // `tiltShift` is an object on the node; the flat patch carries [bandCenter, bandWidth, angleDeg?].
504
+ if (key === "tiltShift") {
505
+ if (value.length < 2)
506
+ reject("expects [bandCenter, bandWidth, angleDeg?]");
507
+ return { bandCenter: value[0], bandWidth: value[1], ...(value.length > 2 ? { angleDeg: value[2] } : {}) };
508
+ }
509
+ return Object.freeze([...value]);
510
+ }
511
+ return reject("expects a number, string, boolean or number array");
512
+ }
513
+ /** Validates and merges one `setEffect` / `setEffectEnabled` call into `store`. */
514
+ function writeRuntimePostEffect(store, name, patch, enabled) {
515
+ const effectId = runtimeEffectId(name);
516
+ const values = new Map();
517
+ if (patch !== undefined) {
518
+ if (patch === null || typeof patch !== "object" || Array.isArray(patch)) {
519
+ throw new AuraRuntimeError("POST_FIELD_UNSUPPORTED", `app.post.setEffect(${name}) expects a field patch object`);
520
+ }
521
+ const allowed = POST_EFFECT_FIELDS[effectId] ?? [];
522
+ for (const [key, value] of Object.entries(patch)) {
523
+ if (key !== "intensity" && !allowed.includes(key)) {
524
+ throw new AuraRuntimeError("POST_FIELD_UNSUPPORTED", `app.post.setEffect(${name}): "${key}" is not a ${effectId} field (fields: intensity, ${allowed.join(", ")}).`);
525
+ }
526
+ values.set(key, runtimePatchValue(name, key, value, effectId));
527
+ }
528
+ }
529
+ let state = store.get(effectId);
530
+ if (!state) {
531
+ state = { enabled: undefined, patch: new Map() };
532
+ store.set(effectId, state);
533
+ }
534
+ for (const [key, value] of values)
535
+ state.patch.set(key, value);
536
+ if (enabled !== undefined)
537
+ state.enabled = enabled;
538
+ latestRuntimeOverrides = store;
539
+ }
540
+ function patchedEffectNode(node, state) {
541
+ if (state.patch.size === 0)
542
+ return node;
543
+ const patch = Object.fromEntries(state.patch);
544
+ // The v2 bloom mapping and the compiler's bloom bag read the pre-cap
545
+ // `postIntensity` and the `radius` spread alias; mirror them so a runtime
546
+ // intensity / scatter reaches both.
547
+ if (node.effect === "bloom") {
548
+ if (state.patch.has("intensity"))
549
+ patch.postIntensity = patch.intensity;
550
+ if (state.patch.has("scatter"))
551
+ patch.radius = patch.scatter;
552
+ }
553
+ // `postAuthored` (CCR-03-3) marks authored keys; patched keys count as authored.
554
+ const postAuthored = node.postAuthored === undefined ? undefined : [...new Set([...node.postAuthored, ...state.patch.keys()])];
555
+ return { ...node, ...patch, ...(postAuthored ? { postAuthored } : {}) };
556
+ }
557
+ /**
558
+ * Applies the runtime post overrides (`app.post.setEffect` /
559
+ * `setEffectEnabled`) to a flattened node list: patched effects get their
560
+ * fields (marked authored), disabled effects are dropped, and an effect that
561
+ * was patched or enabled but is not declared is appended over its defaults.
562
+ * Non-effect nodes pass through; with no overrides the input is returned as
563
+ * is. Idempotent, so the compiler and the bridge may both apply it.
564
+ */
565
+ export function applyRuntimePostOverrides(nodes, canvas) {
566
+ const store = runtimePostOverridesFor(canvas);
567
+ if (store.size === 0)
568
+ return nodes;
569
+ const result = [];
570
+ const present = new Set();
571
+ for (const node of nodes) {
572
+ const state = node.kind === "effect" ? store.get(node.effect) : undefined;
573
+ if (!state) {
574
+ result.push(node);
575
+ continue;
576
+ }
577
+ present.add(node.effect);
578
+ if (state.enabled === false)
579
+ continue;
580
+ result.push(patchedEffectNode(node, state));
581
+ }
582
+ for (const [effectId, state] of store) {
583
+ if (present.has(effectId) || state.enabled === false || (state.enabled !== true && state.patch.size === 0))
584
+ continue;
585
+ const declared = { kind: "effect", effect: effectId, postAuthored: [] };
586
+ result.push(patchedEffectNode(declared, state));
587
+ }
588
+ return result;
589
+ }
590
+ /* ------------------------------------------------------------------------- */
384
591
  /* Phase 2 — C-13 v2 bridge: field validation + v2 option assembly */
385
592
  /* ------------------------------------------------------------------------- */
386
593
  /**
@@ -409,11 +616,16 @@ export const POST_EFFECT_FIELDS = {
409
616
  "film-grain": ["intensity", "size", "luminanceResponse"],
410
617
  "chromatic-aberration": ["intensity"],
411
618
  // Lane-07 factories route through this bridge on the v2 chain (§6.9).
412
- "volumetric-fog": ["density", "color", "volumetricQuality", "lightPosition", "heightFalloff", "heightReference"],
413
- "depth-of-field": ["focusDistance", "fStop", "focalLength", "maxBlur"],
619
+ // GU47 E-C (EC-8): `godRayDensity` (S4 shaft density, decoupled from the fog
620
+ // `density`) and the DOF `tiltShift` band; E-F adds the factory option types.
621
+ "volumetric-fog": ["density", "color", "volumetricQuality", "lightPosition", "heightFalloff", "heightReference", "godRayDensity"],
622
+ "depth-of-field": ["focusDistance", "fStop", "focalLength", "maxBlur", "tiltShift"],
414
623
  "motion-blur": ["shutter", "maxBlur", "samples", "tileSize", "timeScale"],
415
- "screen-space-reflections": ["maxDistance", "intensity"],
416
- outline: ["color", "width", "threshold"]
624
+ // GU47 E-C (EC-6): S3 roughness hint (cutoff 0.5) and hit thickness.
625
+ "screen-space-reflections": ["maxDistance", "intensity", "roughness", "thickness"],
626
+ // GU47 E-E (WP-5): `targets` names the nodes whose silhouettes get ink
627
+ // (compiled to renderer match keys by `nodes/outlineTargets.ts`).
628
+ outline: ["color", "width", "threshold", "targets"]
417
629
  };
418
630
  /**
419
631
  * §7.1 deprecated fields — accepted with a `post-field-deprecated` diagnostic,
@@ -487,6 +699,147 @@ function rgbField(node, field, fallback) {
487
699
  }
488
700
  return fallback;
489
701
  }
702
+ /**
703
+ * GU47 E-C: grade terms (`lift`, `gamma`, `gain`, `shadows`, `midtones`,
704
+ * `highlights`) also accept a scalar applied to all three channels — the
705
+ * `AuraEffectNode` field had been typed `number` for shadows/highlights while
706
+ * the bridge only read RGB, so a numeric value never reached a pixel.
707
+ * Non-finite channels fall back per channel.
708
+ */
709
+ function gradeRgbField(node, field, fallback) {
710
+ const value = node[field];
711
+ if (typeof value === "number")
712
+ return Number.isFinite(value) ? { r: value, g: value, b: value } : fallback;
713
+ const rgb = rgbField(node, field, fallback);
714
+ return {
715
+ r: Number.isFinite(rgb.r) ? rgb.r : fallback.r,
716
+ g: Number.isFinite(rgb.g) ? rgb.g : fallback.g,
717
+ b: Number.isFinite(rgb.b) ? rgb.b : fallback.b
718
+ };
719
+ }
720
+ /** Temperature / tint are normalised white-balance offsets in [-1, 1] (0 = neutral). */
721
+ const clampUnit = (value) => Math.min(1, Math.max(-1, value));
722
+ /** The DOF node's tilt-shift band, centre/width clamped to [0, 1]; `undefined` when absent or malformed. */
723
+ function dofTiltShiftOf(node) {
724
+ const tilt = node.tiltShift;
725
+ if (!tilt || typeof tilt !== "object")
726
+ return undefined;
727
+ const { bandCenter, bandWidth, angleDeg } = tilt;
728
+ if (typeof bandCenter !== "number" || !Number.isFinite(bandCenter) || typeof bandWidth !== "number" || !Number.isFinite(bandWidth))
729
+ return undefined;
730
+ return {
731
+ bandCenter: Math.min(1, Math.max(0, bandCenter)),
732
+ bandWidth: Math.min(1, Math.max(0, bandWidth)),
733
+ ...(typeof angleDeg === "number" && Number.isFinite(angleDeg) ? { angleDeg } : {})
734
+ };
735
+ }
736
+ /**
737
+ * GU47 E-C (EC-7): every material `bloom` weight in the scene. `bloom` is
738
+ * E-D's new `AuraMaterialSpec` field (0..2, default 1), read structurally
739
+ * until that merges.
740
+ */
741
+ function materialBloomWeights(nodes) {
742
+ const weights = [];
743
+ for (const node of nodes) {
744
+ const material = node.material;
745
+ if (material && typeof material === "object" && "bloom" in material)
746
+ weights.push(material.bloom);
747
+ }
748
+ return weights;
749
+ }
750
+ /** Mirrors `NativeBloomPyramid.selectiveBloomActive`: a weight that clamps to anything but 1 needs the prefilter's alpha weight. */
751
+ function selectiveBloomActive(weights) {
752
+ return weights.some((weight) => typeof weight === "number" && Number.isFinite(weight) && Math.min(2, Math.max(0, weight)) !== 1);
753
+ }
754
+ /** volumetricFog `godRayDensity` (S4 march fraction) clamped to [0.05, 1]; `undefined` when not authored. */
755
+ function godRayDensityOf(node) {
756
+ const value = node.godRayDensity;
757
+ return typeof value === "number" && Number.isFinite(value) ? Math.min(1, Math.max(0.05, value)) : undefined;
758
+ }
759
+ /** Served `.cube` URL → load state. Shared by every app on the page (same URL, same bytes). */
760
+ const postLutRecords = new Map();
761
+ /**
762
+ * The served URL of a `colorGrade({ lut })` value: a typed `.cube` asset
763
+ * (`aura3d assets add grade.cube --type lut` → `assets.grade`, whose `url` is
764
+ * the hashed public path) or a plain URL string. `null` for anything else.
765
+ */
766
+ export function postLutUrl(lut) {
767
+ if (typeof lut === "string")
768
+ return lut.trim() ? lut.trim() : null;
769
+ if (lut && typeof lut === "object") {
770
+ const url = lut.url;
771
+ if (typeof url === "string" && url.trim())
772
+ return url.trim();
773
+ }
774
+ return null;
775
+ }
776
+ /**
777
+ * Seeds a `.cube` by URL so the first frame binds it without a fetch (inline
778
+ * grades, tests, preloaders). A later `colorGrade({ lut: url })` uses it.
779
+ */
780
+ export function preloadPostLut(url, cube) {
781
+ postLutRecords.set(url, { status: "ready", cube, settled: Promise.resolve() });
782
+ }
783
+ /** Settles once every requested `.cube` has loaded or failed (capture specs await it). */
784
+ export function postLutsSettled() {
785
+ return Promise.all([...postLutRecords.values()].map((record) => record.settled)).then(() => undefined);
786
+ }
787
+ /** Test hook: forgets every requested / preloaded LUT. */
788
+ export function resetPostLuts() {
789
+ postLutRecords.clear();
790
+ }
791
+ function requestPostLut(url) {
792
+ const existing = postLutRecords.get(url);
793
+ if (existing)
794
+ return existing;
795
+ const record = { status: "pending", settled: Promise.resolve() };
796
+ postLutRecords.set(url, record);
797
+ const host = globalThis;
798
+ if (typeof host.fetch !== "function") {
799
+ record.status = "failed";
800
+ record.error = "fetch is unavailable";
801
+ return record;
802
+ }
803
+ record.settled = (async () => {
804
+ try {
805
+ const response = await host.fetch(url);
806
+ if (!response.ok)
807
+ throw new Error(`HTTP ${response.status}`);
808
+ record.cube = await response.text();
809
+ record.status = "ready";
810
+ }
811
+ catch (error) {
812
+ record.status = "failed";
813
+ record.error = error instanceof Error ? error.message : String(error);
814
+ }
815
+ })();
816
+ return record;
817
+ }
818
+ /**
819
+ * `pipeline.lut` for the S10b display grade. With the `.cube` text loaded the
820
+ * bag carries it (the renderer parses and uploads once per source); while it
821
+ * loads, or after the load failed, the bag carries `status` instead, the tail
822
+ * binds the identity LUT exactly as an authored lut rendered before GU47, and
823
+ * a `POST_LUT_PENDING` / `POST_LUT_UNAVAILABLE` diagnostic says why.
824
+ */
825
+ function resolvePipelineLut(gradeNode, diagnostics) {
826
+ const value = gradeNode.lut;
827
+ if (value === undefined || value === null || value === "")
828
+ return undefined;
829
+ const url = postLutUrl(value);
830
+ if (!url) {
831
+ diagnostics.push({ code: "POST_LUT_UNAVAILABLE", effect: "color-grade", field: "lut", message: "colorGrade lut must be a typed .cube asset (aura3d assets add <file.cube> --type lut) or a served .cube URL." });
832
+ return undefined;
833
+ }
834
+ const intensity = Math.min(1, Math.max(0, numberField(gradeNode, "lutIntensity", 1)));
835
+ const record = requestPostLut(url);
836
+ if (record.status === "ready" && record.cube !== undefined)
837
+ return { source: url, intensity, cube: record.cube };
838
+ diagnostics.push(record.status === "failed"
839
+ ? { code: "POST_LUT_UNAVAILABLE", effect: "color-grade", field: "lut", message: `colorGrade lut ${url} failed to load (${record.error ?? "unknown"}); S10b binds the identity LUT.` }
840
+ : { code: "POST_LUT_PENDING", effect: "color-grade", field: "lut", message: `colorGrade lut ${url} is loading; S10b binds the identity LUT until it arrives.` });
841
+ return { source: url, intensity, status: record.status === "failed" ? "failed" : "pending" };
842
+ }
490
843
  /**
491
844
  * §6.6 v2 bloom mapping: authored fields win; fields absent from
492
845
  * `postAuthored` take the v2 defaults (factory defaults are legacy). A
@@ -535,8 +888,13 @@ export function mapBloomOptionsV2(node, mipLevels) {
535
888
  * `AuraRuntimeError("POST_FIELD_UNSUPPORTED", ...)` on an unknown effect-node
536
889
  * field — this runs inside the compile, so `app.ready()` rejects before the
537
890
  * first frame instead of the error dying inside `diagnostics.errors`.
891
+ *
892
+ * GU47 E-C (EC-5): the runtime overrides of `app.post.setEffect` /
893
+ * `setEffectEnabled` apply after the look-grade merge and preset expansion,
894
+ * every derivation (the compiler derives once per frame). `canvas` scopes
895
+ * them to one app; without it the latest app's overrides apply.
538
896
  */
539
- export function createRootPostPipeline(snapshot, camera, output, tierSettings, lights = [], tierResolution) {
897
+ export function createRootPostPipeline(snapshot, camera, output, tierSettings, lights = [], tierResolution, canvas) {
540
898
  const nodes = groups.flatten(snapshot.nodes);
541
899
  const diagnostics = [];
542
900
  for (const node of nodes) {
@@ -553,20 +911,17 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
553
911
  // §6.8 (Phase 5): `output.preset` expands into `output` + effect nodes.
554
912
  // Authored `output` fields win over the preset's; an authored effect node
555
913
  // overrides the preset's same-effect node field by field. Presets naming
556
- // agx/neutral render aces while C-05's operator selection is a stub.
914
+ // agx/neutral render that operator (GU47 E-C, EC-3).
557
915
  // CR-4: a grade authored next to a look wins over the look's grade field by field (looks/lookGrade.ts).
558
916
  const authoredEffectNodes = mergeLookColorGrade(nodes.filter((node) => node.kind === "effect"));
559
- const expansion = expandPostPreset(output, authoredEffectNodes);
917
+ // GU47 E-A handoff: a look's declared post preset (the `output.preset` child
918
+ // `looks.preset` emits, or a v1 look node's preset) applies when the app
919
+ // authors no `output.preset`. Authored `output` fields still win over the
920
+ // preset's, and the look's own grade/bloom nodes win field by field.
921
+ const lookPreset = output?.preset === undefined ? lookOutputPreset(snapshot.nodes) : undefined;
922
+ const expansion = expandPostPreset(lookPreset === undefined ? output : { ...output, preset: lookPreset }, authoredEffectNodes);
560
923
  const effectiveOutput = expansion.output;
561
- const effectNodes = expansion.nodes;
562
- if (expansion.preset && presetCapabilityDegraded(expansion.preset, output?.toneMapping)) {
563
- diagnostics.push({
564
- code: "preset-capability-degraded",
565
- effect: "output",
566
- field: "preset",
567
- message: `preset "${expansion.preset.id}" declares ${expansion.preset.output.toneMapping}; renders as "aces" until C-05's operator selection is real.`
568
- });
569
- }
924
+ const effectNodes = applyRuntimePostOverrides(expansion.nodes, canvas);
570
925
  const tierDisabled = (stage, reason) => {
571
926
  diagnostics.push({
572
927
  code: "post-tier-disabled",
@@ -616,6 +971,24 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
616
971
  const bloom = bloomNode ? mapBloomOptionsV2(bloomNode, tierSettings.bloomMipLevels) : undefined;
617
972
  if (bloom)
618
973
  diagnostics.push(...bloom.diagnostics);
974
+ // GU47 E-C (EC-7): a material `bloom` weight other than 1 asks for the
975
+ // prefilter's alpha weight. Not stamped (GU47 phase 2): no forward program
976
+ // writes the weight, and on the generated path every opaque pixel's HDR
977
+ // alpha already carries the S2 indirect-fraction tag (2 + f_ind,
978
+ // `post/chunks/indirectFraction.glsl.ts`), which `auraBloomWeight` clamps
979
+ // to 2, doubling the bloom of every surface instead of masking one (receipt
980
+ // effects-selective-bloom: wall at weight 0 bloomed by 157). Until the
981
+ // forward write and a non-colliding encoding land, bloom stays unweighted
982
+ // and the scene is told so.
983
+ const selectiveBloomRequested = Boolean(bloom) && selectiveBloomActive(materialBloomWeights(nodes));
984
+ if (selectiveBloomRequested) {
985
+ diagnostics.push({
986
+ code: "POST_SELECTIVE_BLOOM_UNAVAILABLE",
987
+ effect: "bloom",
988
+ field: "material.bloom",
989
+ message: "material bloom weights are ignored: the forward pass does not write the weight yet, so bloom applies to every surface over the threshold."
990
+ });
991
+ }
619
992
  const exposure = (effectiveOutput?.exposure ?? 1) * authoredNumber(gradeNode ?? {}, "exposure", 1);
620
993
  const toneMapping = effectiveOutput?.toneMapping ?? "aces";
621
994
  // §6.8 tier gates (Phase 5): `resolvePostTier` decides which authored or
@@ -637,6 +1010,14 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
637
1010
  const ssrEnabled = tierResolution === undefined || tierResolution.ssr.enabled;
638
1011
  if (ssrNode && !ssrEnabled)
639
1012
  tierDisabled("S3-ssr", "SSR off below High");
1013
+ // GU47 phase 2 (receipt effects-ssr): S3 has no per-pixel material inputs.
1014
+ if (ssrNode && ssrEnabled) {
1015
+ diagnostics.push({
1016
+ code: "POST_SSR_MATERIAL_INPUTS_UNAVAILABLE",
1017
+ effect: "screen-space-reflections",
1018
+ message: "S3 reflects with dielectric F0 0.04 and the node roughness for the whole frame: the forward pass writes no per-pixel metalness or roughness, so metallic surfaces reflect weaker than their material."
1019
+ });
1020
+ }
640
1021
  const grainEnabled = tierResolution === undefined || tierResolution.allowsFilmGrain;
641
1022
  if (grainNode && !grainEnabled)
642
1023
  tierDisabled("S12-film-grain", "grain off on Low");
@@ -650,6 +1031,8 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
650
1031
  const aeEnabled = tierResolution === undefined || tierResolution.autoExposure;
651
1032
  if (aeRequested && !aeEnabled)
652
1033
  tierDisabled("S8-auto-exposure", "auto-exposure off on Low");
1034
+ // GU47 E-C (EC-2): the S10b `.cube` LUT, once loaded.
1035
+ const lutBag = gradeNode ? resolvePipelineLut(gradeNode, diagnostics) : undefined;
653
1036
  const options = {
654
1037
  antiAliasing: "off", // resolved by the caller through resolvePostAntiAlias
655
1038
  depthRange: {
@@ -664,6 +1047,7 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
664
1047
  // prd03-taa 1-px line moved ~1 px and spread over five rows, promote run
665
1048
  // 38203056326) and armed the S12 RCAS sharpen on every frame.
666
1049
  renderScale: 1,
1050
+ // `selective: true` is not stamped (see POST_SELECTIVE_BLOOM_UNAVAILABLE above).
667
1051
  ...(bloom ? { bloom: bloom.options } : {}),
668
1052
  exposure,
669
1053
  toneMapping: toneMapping,
@@ -689,10 +1073,16 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
689
1073
  samples: (tierResolution?.godRays.enabled === true ? tierResolution.godRays.samples : 32),
690
1074
  decay: 0.94,
691
1075
  weight: numberField(volumetricNode, "intensity", 0.7),
692
- density: numberField(volumetricNode, "density", 0.18),
1076
+ // GU47 E-C (EC-8): S4 shaft density comes from `godRayDensity` only;
1077
+ // the fog `density` no longer rides along (S4 never read it), and an
1078
+ // omitted value keeps the full march.
1079
+ ...(godRayDensityOf(volumetricNode) !== undefined ? { density: godRayDensityOf(volumetricNode) } : {}),
1080
+ // GU47 phase 2: the fog `density` is the shaft medium (distance scaling), never the march density.
1081
+ medium: numberField(volumetricNode, "density", 0.18),
693
1082
  intensity: numberField(volumetricNode, "intensity", 0.7),
694
1083
  color: rgbField(volumetricNode, "color", { r: 0.44, g: 0.52, b: 0.73 }),
695
- lightWorld: Array.isArray(volumetricNode.lightPosition) ? volumetricNode.lightPosition.slice(0, 3) : undefined,
1084
+ // GU47 pass 4 (g08, g18): only a 3-number lightPosition is a world point; the UV pair is the forward anchor.
1085
+ lightWorld: Array.isArray(volumetricNode.lightPosition) && volumetricNode.lightPosition.length === 3 ? volumetricNode.lightPosition.slice(0, 3) : undefined,
696
1086
  ...(godRayLightDirection ? { lightDirection: godRayLightDirection } : {})
697
1087
  }
698
1088
  } : {}),
@@ -707,7 +1097,9 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
707
1097
  focalLengthMm: numberField(dofNode, "focalLength", 50),
708
1098
  maxBlurPx: numberField(dofNode, "maxBlur", 12),
709
1099
  halfRes: tierResolution?.dof.enabled === true ? tierResolution.dof.halfRes : true,
710
- sensorHeightMm: 24
1100
+ sensorHeightMm: 24,
1101
+ // GU47 E-C (EC-8): screen-space band mode replaces the thin-lens CoC.
1102
+ ...(dofTiltShiftOf(dofNode) ? { tiltShift: dofTiltShiftOf(dofNode) } : {})
711
1103
  }
712
1104
  } : {}),
713
1105
  ...(mbNode && mbEnabled ? {
@@ -725,24 +1117,35 @@ export function createRootPostPipeline(snapshot, camera, output, tierSettings, l
725
1117
  tileSize: numberField(mbNode, "tileSize", 16) <= 16 ? 16 : 20
726
1118
  }
727
1119
  } : {}),
728
- ...(ssrNode && ssrEnabled ? { ssr: { intensity: numberField(ssrNode, "intensity", 0.9), maxDistance: numberField(ssrNode, "maxDistance", 18) } } : {}),
1120
+ // GU47 E-C (EC-6): an authored screenSpaceReflections node runs the S3
1121
+ // trace (v2Stages); roughness/thickness ride along only when authored.
1122
+ ...(ssrNode && ssrEnabled ? {
1123
+ ssr: {
1124
+ intensity: numberField(ssrNode, "intensity", 0.9),
1125
+ maxDistance: numberField(ssrNode, "maxDistance", 18),
1126
+ ...(Number.isFinite(numberField(ssrNode, "roughness", NaN)) ? { roughness: numberField(ssrNode, "roughness", 0) } : {}),
1127
+ ...(Number.isFinite(numberField(ssrNode, "thickness", NaN)) ? { thickness: numberField(ssrNode, "thickness", 0.25) } : {})
1128
+ }
1129
+ } : {}),
729
1130
  ...(gradeNode ? {
730
1131
  grade: {
731
- temperature: authoredNumber(gradeNode, "temperature", 0),
732
- tint: authoredNumber(gradeNode, "tint", 0),
1132
+ // GU47 E-C: these reach pixels in the S10 linear grade (v2Stages
1133
+ // `runHdrGradeDraw`); an all-default bag resolves to no draw.
1134
+ temperature: clampUnit(authoredNumber(gradeNode, "temperature", 0)),
1135
+ tint: clampUnit(authoredNumber(gradeNode, "tint", 0)),
733
1136
  contrast: authoredNumber(gradeNode, "contrast", 1),
734
1137
  saturation: authoredNumber(gradeNode, "saturation", 1),
735
1138
  vibrance: authoredNumber(gradeNode, "vibrance", 0),
736
- lift: rgbField(gradeNode, "lift", { r: 0, g: 0, b: 0 }),
737
- gamma: rgbField(gradeNode, "gamma", { r: 1, g: 1, b: 1 }),
738
- gain: rgbField(gradeNode, "gain", { r: 1, g: 1, b: 1 }),
739
- shadows: rgbField(gradeNode, "shadows", { r: 1, g: 1, b: 1 }),
740
- midtones: rgbField(gradeNode, "midtones", { r: 1, g: 1, b: 1 }),
741
- highlights: rgbField(gradeNode, "highlights", { r: 1, g: 1, b: 1 }),
1139
+ lift: gradeRgbField(gradeNode, "lift", { r: 0, g: 0, b: 0 }),
1140
+ gamma: gradeRgbField(gradeNode, "gamma", { r: 1, g: 1, b: 1 }),
1141
+ gain: gradeRgbField(gradeNode, "gain", { r: 1, g: 1, b: 1 }),
1142
+ shadows: gradeRgbField(gradeNode, "shadows", { r: 1, g: 1, b: 1 }),
1143
+ midtones: gradeRgbField(gradeNode, "midtones", { r: 1, g: 1, b: 1 }),
1144
+ highlights: gradeRgbField(gradeNode, "highlights", { r: 1, g: 1, b: 1 }),
742
1145
  lutIntensity: authoredNumber(gradeNode, "lutIntensity", 1)
743
1146
  }
744
1147
  } : {}),
745
- ...(gradeNode?.lut ? { lut: { source: gradeNode.lut, intensity: numberField(gradeNode, "lutIntensity", 1) } } : {}),
1148
+ ...(lutBag ? { lut: lutBag } : {}),
746
1149
  ...(vignetteNode ? {
747
1150
  vignette: {
748
1151
  intensity: numberField(vignetteNode, "intensity", 0.3),