@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
@@ -1,71 +1,118 @@
1
- import type { AuraAssetRef, AuraColor, AuraMaterialSpec, AuraModelNode, AuraModelOptions, AuraPrimitiveNode, AuraPrimitiveOptions, AuraTransformSpec } from "../nodes/types.js";
1
+ import type { AuraAssetRef, AuraColor, AuraGroupNode, AuraMaterialSpec, AuraModelNode, AuraModelOptions, AuraPrimitiveNode, AuraPrimitiveOptions, AuraSceneNode, AuraTransformSpec, AuraVec3 } from "../nodes/types.js";
2
2
  import { AuraNodeBuilder } from "../nodes/builder.js";
3
3
  import { type AuraCustomGeometrySpec } from "../RootGeometry.js";
4
+ import { type AuraWindOptions } from "../world/wind.js";
5
+ import type { AuraWindSpec } from "../../contracts/world.js";
6
+ import { type FrameContributor } from "../../../rendering/contracts/index.js";
7
+ import type { RenderItem } from "../../../rendering/index.js";
8
+ /**
9
+ * GU47 E-G (WP-7): what an instance colour multiplies — `"base"` (base
10
+ * colour, today's behaviour), `"emissive"` (emissive only) or `"both"`.
11
+ * Stamped on the node for the renderer (E-D reads it).
12
+ * GU47(E-D): E-D declares `AuraInstanceColorTarget` and the node fields
13
+ * `AuraPrimitiveNode.instanceColorTarget` / `AuraModelNode.instanceColorTarget`
14
+ * in nodes/types.ts; swap this local alias and the structural stamps below to
15
+ * them once E-D merges.
16
+ */
17
+ type InstanceColorTarget = "base" | "emissive" | "both";
18
+ /**
19
+ * GU47 E-G (WP-7): instance wind without the WORLD lane. `true` sways with
20
+ * the default wind (or the scene's `world.wind` node when WORLD is on); an
21
+ * object tunes it with the `world.wind` options plus `assetHeight`, the
22
+ * mesh-local height that bends fully (default 1, in the mesh's own units).
23
+ * Every wind instance in a frame shares one wind field (the first wind node).
24
+ */
25
+ export type AuraInstanceWindOption = boolean | (AuraWindOptions & {
26
+ readonly assetHeight?: number;
27
+ });
28
+ /** The options every `instances.<primitive>` builder takes. */
29
+ export type AuraInstancedPrimitiveOptions = AuraPrimitiveOptions & {
30
+ readonly transforms: readonly AuraTransformSpec[];
31
+ readonly colors?: readonly AuraColor[];
32
+ /** GU47 E-G: what the instance `colors` tint (default `"base"`). */
33
+ readonly instanceColorTarget?: InstanceColorTarget;
34
+ /** GU47 E-G: bend the instances in the wind (Path G `prd10.wind` deform, no WORLD lane needed). */
35
+ readonly wind?: AuraInstanceWindOption;
36
+ };
37
+ /** The resolved wind a wind-opted node carries (`node.instanceWind`). */
38
+ export interface AuraInstanceWind {
39
+ readonly wind: Required<AuraWindSpec>;
40
+ readonly assetHeight: number;
41
+ }
42
+ /** Resolve a `wind` option (`false`/absent → null). */
43
+ export declare function resolveInstanceWind(option: AuraInstanceWindOption | undefined): AuraInstanceWind | null;
44
+ /**
45
+ * Collect contributor (flag `A3D_QR_WORLD_WIND`): labels the render items of
46
+ * wind-opted instance nodes with the `prd10.wind:` prefix (the feature's
47
+ * selection contract) and, unless the WORLD lane publishes its own wind,
48
+ * publishes this frame's wind for the deform. Registered on the first
49
+ * wind-opted build, so apps without instance wind never run it.
50
+ */
51
+ export declare const INSTANCE_WIND_CONTRIBUTOR: FrameContributor;
52
+ /** Prefix the items of wind nodes; returns the first wind found (the frame's wind field). */
53
+ export declare function labelInstanceWindItems(items: RenderItem[]): {
54
+ readonly items: RenderItem[];
55
+ readonly wind: AuraInstanceWind | null;
56
+ };
57
+ /**
58
+ * GU47 E-G (WP-7): one clustered point light per instance of
59
+ * `instances.model` (lamp posts, lanterns). `offset` is in the instance's
60
+ * local frame (it rotates and scales with the instance); `power` is in watts
61
+ * and `distance` is the light range in metres (`lights.point`).
62
+ */
63
+ export interface AuraInstanceLightsOptions {
64
+ readonly offset: AuraVec3;
65
+ readonly color: string;
66
+ readonly power: number;
67
+ readonly distance: number;
68
+ }
69
+ /** `instances.model` options. */
70
+ export type AuraInstancedModelOptions = AuraModelOptions & {
71
+ readonly transforms: readonly AuraTransformSpec[];
72
+ readonly colors?: readonly AuraColor[];
73
+ readonly lod?: {
74
+ readonly levels: readonly {
75
+ readonly maxDistance: number;
76
+ }[];
77
+ readonly hysteresis?: number;
78
+ };
79
+ readonly instancingAware?: boolean;
80
+ readonly maxInstancesPerDraw?: number;
81
+ readonly static?: boolean;
82
+ readonly chunkSize?: number;
83
+ readonly shadowLod?: "none" | "lod1" | "impostor";
84
+ /** Wind sway; GU47 E-G: works without the WORLD lane (see `AuraInstanceWindOption`). */
85
+ readonly wind?: AuraInstanceWindOption;
86
+ readonly impostor?: AuraAssetRef<"texture"> | "none";
87
+ /** GU47 E-G: what the instance `colors` tint (default `"base"`). */
88
+ readonly instanceColorTarget?: InstanceColorTarget;
89
+ /** GU47 E-G: one point light per instance; the builder then returns a group (model + lights). */
90
+ readonly lights?: AuraInstanceLightsOptions;
91
+ };
92
+ /** `instances.model`: a group (model + per-instance point lights) when `lights` is set, else the model node. */
93
+ export interface AuraInstancesModelBuilder {
94
+ <TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraInstancedModelOptions & {
95
+ readonly lights: AuraInstanceLightsOptions;
96
+ }): AuraNodeBuilder<AuraGroupNode>;
97
+ <TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraInstancedModelOptions): AuraNodeBuilder<AuraModelNode>;
98
+ }
4
99
  export declare const instances: {
5
- readonly box: (options: AuraPrimitiveOptions & {
6
- readonly transforms: readonly AuraTransformSpec[];
7
- readonly colors?: readonly AuraColor[];
8
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
9
- readonly sphere: (options: AuraPrimitiveOptions & {
10
- readonly transforms: readonly AuraTransformSpec[];
11
- readonly colors?: readonly AuraColor[];
12
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
13
- readonly plane: (options: AuraPrimitiveOptions & {
14
- readonly transforms: readonly AuraTransformSpec[];
15
- readonly colors?: readonly AuraColor[];
16
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
17
- readonly cylinder: (options: AuraPrimitiveOptions & {
18
- readonly transforms: readonly AuraTransformSpec[];
19
- readonly colors?: readonly AuraColor[];
20
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
21
- readonly capsule: (options: AuraPrimitiveOptions & {
22
- readonly transforms: readonly AuraTransformSpec[];
23
- readonly colors?: readonly AuraColor[];
24
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
25
- readonly torus: (options: AuraPrimitiveOptions & {
26
- readonly transforms: readonly AuraTransformSpec[];
27
- readonly colors?: readonly AuraColor[];
28
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
29
- readonly cone: (options: AuraPrimitiveOptions & {
30
- readonly transforms: readonly AuraTransformSpec[];
31
- readonly colors?: readonly AuraColor[];
32
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
33
- readonly circle: (options: AuraPrimitiveOptions & {
34
- readonly transforms: readonly AuraTransformSpec[];
35
- readonly colors?: readonly AuraColor[];
36
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
37
- readonly ring: (options: AuraPrimitiveOptions & {
38
- readonly transforms: readonly AuraTransformSpec[];
39
- readonly colors?: readonly AuraColor[];
40
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
41
- readonly tube: (options: AuraPrimitiveOptions & {
42
- readonly transforms: readonly AuraTransformSpec[];
43
- readonly colors?: readonly AuraColor[];
44
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
45
- readonly lathe: (options: AuraPrimitiveOptions & {
46
- readonly transforms: readonly AuraTransformSpec[];
47
- readonly colors?: readonly AuraColor[];
48
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
49
- readonly extrude: (options: AuraPrimitiveOptions & {
50
- readonly transforms: readonly AuraTransformSpec[];
51
- readonly colors?: readonly AuraColor[];
52
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
53
- readonly shape: (options: AuraPrimitiveOptions & {
54
- readonly transforms: readonly AuraTransformSpec[];
55
- readonly colors?: readonly AuraColor[];
56
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
57
- readonly torusKnot: (options: AuraPrimitiveOptions & {
58
- readonly transforms: readonly AuraTransformSpec[];
59
- readonly colors?: readonly AuraColor[];
60
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
61
- readonly polyhedron: (options: AuraPrimitiveOptions & {
62
- readonly transforms: readonly AuraTransformSpec[];
63
- readonly colors?: readonly AuraColor[];
64
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
65
- readonly roundedBox: (options: AuraPrimitiveOptions & {
66
- readonly transforms: readonly AuraTransformSpec[];
67
- readonly colors?: readonly AuraColor[];
68
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
100
+ readonly box: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
101
+ readonly sphere: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
102
+ readonly plane: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
103
+ readonly cylinder: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
104
+ readonly capsule: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
105
+ readonly torus: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
106
+ readonly cone: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
107
+ readonly circle: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
108
+ readonly ring: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
109
+ readonly tube: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
110
+ readonly lathe: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
111
+ readonly extrude: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
112
+ readonly shape: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
113
+ readonly torusKnot: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
114
+ readonly polyhedron: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
115
+ readonly roundedBox: (options: AuraInstancedPrimitiveOptions) => AuraNodeBuilder<AuraPrimitiveNode>;
69
116
  /**
70
117
  * SG-01 (parity-L5): `instances.mesh(geometry, material, count)` — three.js
71
118
  * `InstancedMesh` parity on the dense instance store (per-instance
@@ -74,33 +121,28 @@ export declare const instances: {
74
121
  * `Geometry`, a builtin primitive name, or an `AuraCustomGeometrySpec`.
75
122
  */
76
123
  readonly mesh: (geometry: import("./instancedMesh.js").AuraInstancedGeometryInput, material: AuraMaterialSpec | undefined, count: number) => import("./instancedMesh.js").AuraInstancedMeshHandle;
77
- readonly custom: (spec: AuraCustomGeometrySpec, options: Omit<AuraPrimitiveOptions, "geometry"> & {
78
- readonly transforms: readonly AuraTransformSpec[];
79
- readonly colors?: readonly AuraColor[];
80
- }) => AuraNodeBuilder<AuraPrimitiveNode>;
124
+ readonly custom: (spec: AuraCustomGeometrySpec, options: Omit<AuraInstancedPrimitiveOptions, "geometry">) => AuraNodeBuilder<AuraPrimitiveNode>;
81
125
  /**
82
126
  * P2 instanced GLB models (muse3jsparity-PRD): one draw class for repeated
83
127
  * static models. Skinned actors fall back with a D1 warning at mount (E1
84
128
  * owns rigs); explicitly unaware materials warn at build.
129
+ *
130
+ * Skinned GLBs do not instance (each draws once). For skinned crowds use the
131
+ * crowd kit instead: `loadCrowdPoses(asset, ...)` + `createCrowd(...)`, one
132
+ * draw per baked pose (GU47 E-H). No option here can carry the async bake.
85
133
  */
86
- readonly model: <TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraModelOptions & {
87
- readonly transforms: readonly AuraTransformSpec[];
88
- readonly colors?: readonly AuraColor[];
89
- readonly lod?: {
90
- readonly levels: readonly {
91
- readonly maxDistance: number;
92
- }[];
93
- readonly hysteresis?: number;
94
- };
95
- readonly instancingAware?: boolean;
96
- readonly maxInstancesPerDraw?: number;
97
- readonly static?: boolean;
98
- readonly chunkSize?: number;
99
- readonly shadowLod?: "none" | "lod1" | "impostor";
100
- readonly wind?: boolean;
101
- readonly impostor?: AuraAssetRef<"texture"> | "none";
102
- }) => AuraNodeBuilder<AuraModelNode>;
134
+ readonly model: typeof instancedModel;
103
135
  };
136
+ declare function instancedModel<TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraInstancedModelOptions & {
137
+ readonly lights: AuraInstanceLightsOptions;
138
+ }): AuraNodeBuilder<AuraGroupNode>;
139
+ declare function instancedModel<TAsset extends AuraAssetRef<"model">>(asset: TAsset, options: AuraInstancedModelOptions): AuraNodeBuilder<AuraModelNode>;
140
+ /**
141
+ * GU47 E-G (WP-7): one `lights.point` per instance at
142
+ * `position + R(rotation) * (scale * offset)`, in the model node's space.
143
+ * Many point lights take the renderer's clustered-light path.
144
+ */
145
+ export declare function instanceLightNodes(name: string, transforms: readonly AuraTransformSpec[], spec: AuraInstanceLightsOptions): AuraSceneNode[];
104
146
  /** §7.1.5 scatter placements block carried on a model node pending promotion. */
105
147
  export interface AuraScatterPlacement {
106
148
  readonly asset: AuraAssetRef<"model">;
@@ -112,8 +154,6 @@ export interface AuraScatterPlacement {
112
154
  readonly chunkSize?: number;
113
155
  readonly tags?: readonly string[];
114
156
  }
115
- export declare function instancedPrimitive(primitiveName: AuraPrimitiveNode["primitive"], options: AuraPrimitiveOptions & {
116
- readonly transforms: readonly AuraTransformSpec[];
117
- readonly colors?: readonly AuraColor[];
118
- }): AuraNodeBuilder<AuraPrimitiveNode>;
157
+ export declare function instancedPrimitive(primitiveName: AuraPrimitiveNode["primitive"], options: AuraInstancedPrimitiveOptions): AuraNodeBuilder<AuraPrimitiveNode>;
158
+ export {};
119
159
  //# sourceMappingURL=instances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/nodes/instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/nodes/instances.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,83 @@ import { INSTANCED_PRIMITIVE_OPTION_KEYS, primitive } from "../nodes/primitives.
12
12
  import { createInstancedModelNode } from "../../instances-model/InstancedModel.js";
13
13
  import { defineAuraCustomGeometry } from "../RootGeometry.js";
14
14
  import { material } from "./material.js";
15
+ import { lights } from "./lights.js";
15
16
  import { instancedMeshFactory } from "./batchedState.js";
16
17
  import { lazyNamespace } from "../lazyNamespace.js";
18
+ import { normalizeWind } from "../world/wind.js";
19
+ import { registerFrameContributor } from "../../../rendering/contracts/index.js";
20
+ import { setPrd10WindState } from "../../../rendering/world/index.js";
21
+ /**
22
+ * Wind-opted nodes by their `userData` object: the compiler forwards a
23
+ * node's `userData` reference onto every render item it emits, so the
24
+ * contributor below can find the items of wind nodes without a label or
25
+ * compiler change. The builder gives each wind node its own copy.
26
+ */
27
+ const instanceWindByUserData = new WeakMap();
28
+ let instanceWindNodeCount = 0;
29
+ /** Resolve a `wind` option (`false`/absent → null). */
30
+ export function resolveInstanceWind(option) {
31
+ if (option === undefined || option === false)
32
+ return null;
33
+ const opts = option === true ? undefined : option;
34
+ const height = opts?.assetHeight;
35
+ return { wind: normalizeWind(opts), assetHeight: typeof height === "number" && Number.isFinite(height) && height > 0 ? height : 1 };
36
+ }
37
+ /** The Path G opt-in label prefix of the `prd10.wind` feature. */
38
+ const WIND_LABEL_PREFIX = "prd10.wind:";
39
+ /**
40
+ * Collect contributor (flag `A3D_QR_WORLD_WIND`): labels the render items of
41
+ * wind-opted instance nodes with the `prd10.wind:` prefix (the feature's
42
+ * selection contract) and, unless the WORLD lane publishes its own wind,
43
+ * publishes this frame's wind for the deform. Registered on the first
44
+ * wind-opted build, so apps without instance wind never run it.
45
+ */
46
+ export const INSTANCE_WIND_CONTRIBUTOR = {
47
+ id: "prd10.instanceWind",
48
+ owner: "prd10",
49
+ flag: "A3D_QR_WORLD_WIND",
50
+ phases: ["collect"],
51
+ order: 10,
52
+ collect(items, ctx) {
53
+ if (instanceWindNodeCount === 0)
54
+ return items;
55
+ const out = labelInstanceWindItems(items);
56
+ if (out.wind && !ctx.flags.on("A3D_QR_WORLD"))
57
+ setPrd10WindState(out.wind.wind, ctx.timeSeconds, out.wind.assetHeight);
58
+ return out.items;
59
+ }
60
+ };
61
+ /** Prefix the items of wind nodes; returns the first wind found (the frame's wind field). */
62
+ export function labelInstanceWindItems(items) {
63
+ let wind = null;
64
+ let out = null;
65
+ for (let i = 0; i < items.length; i += 1) {
66
+ const item = items[i];
67
+ const data = item.userData;
68
+ const spec = typeof data === "object" && data !== null ? instanceWindByUserData.get(data) : undefined;
69
+ if (!spec)
70
+ continue;
71
+ wind ??= spec;
72
+ const label = item.label ?? "";
73
+ if (label.startsWith(WIND_LABEL_PREFIX))
74
+ continue;
75
+ out ??= items.slice();
76
+ out[i] = { ...item, label: `${WIND_LABEL_PREFIX}${label}` };
77
+ }
78
+ return { items: out ?? items, wind };
79
+ }
80
+ let releaseInstanceWindContributor = null;
81
+ /**
82
+ * Give a wind-opted node its own `userData` (a copy of the authored one),
83
+ * register it and make sure the contributor is installed.
84
+ */
85
+ function adoptInstanceWind(userData, wind) {
86
+ const own = typeof userData === "object" && userData !== null ? { ...userData } : {};
87
+ instanceWindByUserData.set(own, wind);
88
+ instanceWindNodeCount += 1;
89
+ releaseInstanceWindContributor ??= registerFrameContributor(INSTANCE_WIND_CONTRIBUTOR);
90
+ return own;
91
+ }
17
92
  export const instances = lazyNamespace(() => ({
18
93
  box: (options) => instancedPrimitive("box", options),
19
94
  sphere: (options) => instancedPrimitive("sphere", options),
@@ -46,58 +121,115 @@ export const instances = lazyNamespace(() => ({
46
121
  * P2 instanced GLB models (muse3jsparity-PRD): one draw class for repeated
47
122
  * static models. Skinned actors fall back with a D1 warning at mount (E1
48
123
  * owns rigs); explicitly unaware materials warn at build.
124
+ *
125
+ * Skinned GLBs do not instance (each draws once). For skinned crowds use the
126
+ * crowd kit instead: `loadCrowdPoses(asset, ...)` + `createCrowd(...)`, one
127
+ * draw per baked pose (GU47 E-H). No option here can carry the async bake.
49
128
  */
50
- model: (asset, options) => {
51
- const built = createInstancedModelNode({
52
- asset,
53
- ...(options.name !== undefined ? { name: options.name } : {}),
54
- transforms: options.transforms.map((transform) => ({
55
- ...(transform.position !== undefined ? { position: [...transform.position] } : {}),
56
- ...(transform.rotation !== undefined ? { rotation: [...transform.rotation] } : {}),
57
- ...(transform.scale !== undefined
58
- ? { scale: typeof transform.scale === "number" ? transform.scale : [...transform.scale] }
59
- : {})
60
- })),
61
- ...(options.colors ? { colors: [...options.colors] } : {}),
62
- ...(options.lod ? { lod: options.lod } : {}),
63
- materialInstancingAware: options.instancingAware ?? true,
64
- ...(options.maxInstancesPerDraw !== undefined ? { maxInstancesPerDraw: options.maxInstancesPerDraw } : {}),
65
- ...(options.material?.name !== undefined ? { materialName: options.material.name } : {})
66
- });
67
- const base = buildModel(asset, options, { builder: "instances.model", validKeys: INSTANCED_MODEL_OPTION_KEYS }).toJSON();
68
- // PRD-10 T3.8: world options present ⇒ stamp the §7.1.5 placements block
69
- // (structural extension of the model node; promoted to `kind:"scatter"` by
70
- // the C-36 world handler under A3D_QR_WORLD — see compiler/world.ts).
71
- const worldOpted = options.static !== undefined || options.chunkSize !== undefined || options.shadowLod !== undefined || options.wind !== undefined || options.impostor !== undefined;
72
- const placements = worldOpted ? packScatterPlacements(asset, options.transforms, options.colors, options) : undefined;
73
- const node = {
74
- ...base,
75
- ...(placements ? { placements } : {}),
76
- instances: built.node.instances.map((transform) => ({
77
- ...(transform.position ? { position: [...transform.position] } : {}),
78
- ...(transform.rotation ? { rotation: [...transform.rotation] } : {}),
79
- ...(transform.scale !== undefined ? { scale: transform.scale } : {})
80
- })),
81
- // Safe: the builder only accepts AuraColor strings above, so no RGB tuples reach the node.
82
- ...(built.node.instanceColors ? { instanceColors: [...built.node.instanceColors] } : {}),
83
- ...(built.node.instanceLod ? { instanceLod: built.node.instanceLod } : {}),
84
- instanceCulling: {
85
- instanceCount: built.node.instanceCulling.instanceCount,
86
- centroid: [...built.node.instanceCulling.centroid],
87
- boundingRadius: built.node.instanceCulling.boundingRadius,
88
- cullable: true
89
- },
90
- ...(built.diagnostics.fallbackWarning ? { instancedModelWarning: built.diagnostics.fallbackWarning.diagnostic } : {})
91
- };
92
- return new AuraNodeBuilder(node);
93
- }
129
+ model: instancedModel
94
130
  }));
131
+ function instancedModel(asset, options) {
132
+ const model = instancedModelNode(asset, options);
133
+ if (!options.lights)
134
+ return model;
135
+ const node = model.toJSON();
136
+ const group = {
137
+ kind: "group",
138
+ name: `${node.name ?? "instances.model"} with lights`,
139
+ children: [node, ...instanceLightNodes(node.name ?? "instances.model", options.transforms, options.lights)]
140
+ };
141
+ return new AuraNodeBuilder(group);
142
+ }
143
+ /** Rotate `v` by Euler XYZ radians — the same basis as `packScatterPlacements` (three.js XYZ order). */
144
+ function rotateEulerXYZ(v, r) {
145
+ const cx = Math.cos(r[0]), sx = Math.sin(r[0]);
146
+ const cy = Math.cos(r[1]), sy = Math.sin(r[1]);
147
+ const cz = Math.cos(r[2]), sz = Math.sin(r[2]);
148
+ const m00 = cy * cz, m01 = -cy * sz, m02 = sy;
149
+ const m10 = cz * sx * sy + cx * sz, m11 = cx * cz - sx * sy * sz, m12 = -cy * sx;
150
+ const m20 = sx * sz - cx * cz * sy, m21 = cx * sy * sz + cz * sx, m22 = cx * cy;
151
+ return [m00 * v[0] + m01 * v[1] + m02 * v[2], m10 * v[0] + m11 * v[1] + m12 * v[2], m20 * v[0] + m21 * v[1] + m22 * v[2]];
152
+ }
153
+ /**
154
+ * GU47 E-G (WP-7): one `lights.point` per instance at
155
+ * `position + R(rotation) * (scale * offset)`, in the model node's space.
156
+ * Many point lights take the renderer's clustered-light path.
157
+ */
158
+ export function instanceLightNodes(name, transforms, spec) {
159
+ return transforms.map((t, i) => {
160
+ const p = t.position ?? [0, 0, 0];
161
+ const s = t.scale === undefined ? [1, 1, 1] : typeof t.scale === "number" ? [t.scale, t.scale, t.scale] : t.scale;
162
+ const local = [spec.offset[0] * s[0], spec.offset[1] * s[1], spec.offset[2] * s[2]];
163
+ const o = rotateEulerXYZ(local, t.rotation ?? [0, 0, 0]);
164
+ return lights.point({
165
+ name: `${name} light ${i}`,
166
+ position: [p[0] + o[0], p[1] + o[1], p[2] + o[2]],
167
+ color: spec.color,
168
+ power: spec.power,
169
+ distance: spec.distance
170
+ }).toJSON();
171
+ });
172
+ }
173
+ function instancedModelNode(asset, options) {
174
+ const built = createInstancedModelNode({
175
+ asset,
176
+ ...(options.name !== undefined ? { name: options.name } : {}),
177
+ transforms: options.transforms.map((transform) => ({
178
+ ...(transform.position !== undefined ? { position: [...transform.position] } : {}),
179
+ ...(transform.rotation !== undefined ? { rotation: [...transform.rotation] } : {}),
180
+ ...(transform.scale !== undefined
181
+ ? { scale: typeof transform.scale === "number" ? transform.scale : [...transform.scale] }
182
+ : {})
183
+ })),
184
+ ...(options.colors ? { colors: [...options.colors] } : {}),
185
+ ...(options.lod ? { lod: options.lod } : {}),
186
+ materialInstancingAware: options.instancingAware ?? true,
187
+ ...(options.maxInstancesPerDraw !== undefined ? { maxInstancesPerDraw: options.maxInstancesPerDraw } : {}),
188
+ ...(options.material?.name !== undefined ? { materialName: options.material.name } : {})
189
+ });
190
+ const base = buildModel(asset, options, { builder: "instances.model", validKeys: INSTANCED_MODEL_OPTION_KEYS }).toJSON();
191
+ // PRD-10 T3.8: world options present ⇒ stamp the §7.1.5 placements block
192
+ // (structural extension of the model node; promoted to `kind:"scatter"` by
193
+ // the C-36 world handler under A3D_QR_WORLD — see compiler/world.ts).
194
+ const worldOpted = options.static !== undefined || options.chunkSize !== undefined || options.shadowLod !== undefined || options.wind !== undefined || options.impostor !== undefined;
195
+ const instanceWind = resolveInstanceWind(options.wind);
196
+ const placements = worldOpted
197
+ ? packScatterPlacements(asset, options.transforms, options.colors, { ...options, wind: options.wind === undefined ? undefined : instanceWind !== null })
198
+ : undefined;
199
+ const node = {
200
+ ...base,
201
+ ...(placements ? { placements } : {}),
202
+ ...(options.instanceColorTarget !== undefined ? { instanceColorTarget: options.instanceColorTarget } : {}),
203
+ // GU47 E-G (WP-7): wind without the WORLD lane (see INSTANCE_WIND_CONTRIBUTOR).
204
+ ...(instanceWind ? { instanceWind, userData: adoptInstanceWind(base.userData, instanceWind) } : {}),
205
+ instances: built.node.instances.map((transform) => ({
206
+ ...(transform.position ? { position: [...transform.position] } : {}),
207
+ ...(transform.rotation ? { rotation: [...transform.rotation] } : {}),
208
+ ...(transform.scale !== undefined ? { scale: transform.scale } : {})
209
+ })),
210
+ // Safe: the builder only accepts AuraColor strings above, so no RGB tuples reach the node.
211
+ ...(built.node.instanceColors ? { instanceColors: [...built.node.instanceColors] } : {}),
212
+ ...(built.node.instanceLod ? { instanceLod: built.node.instanceLod } : {}),
213
+ instanceCulling: {
214
+ instanceCount: built.node.instanceCulling.instanceCount,
215
+ centroid: [...built.node.instanceCulling.centroid],
216
+ boundingRadius: built.node.instanceCulling.boundingRadius,
217
+ cullable: true
218
+ },
219
+ ...(built.diagnostics.fallbackWarning ? { instancedModelWarning: built.diagnostics.fallbackWarning.diagnostic } : {})
220
+ };
221
+ return new AuraNodeBuilder(node);
222
+ }
95
223
  /** `instances.model` reads the `model()` options plus these (anim-phys-06). */
96
224
  const INSTANCED_MODEL_OPTION_KEYS = [
97
225
  ...MODEL_OPTION_KEYS,
98
226
  "transforms", "colors", "lod", "instancingAware", "maxInstancesPerDraw",
99
- "static", "chunkSize", "shadowLod", "wind", "impostor"
227
+ "static", "chunkSize", "shadowLod", "wind", "impostor",
228
+ // GU47 E-G (WP-7)
229
+ "instanceColorTarget", "lights"
100
230
  ];
231
+ /** `instances.<primitive>` / `instances.custom` read the primitive options plus these. */
232
+ const INSTANCED_PRIMITIVE_BUILDER_KEYS = [...INSTANCED_PRIMITIVE_OPTION_KEYS, "instanceColorTarget", "wind"];
101
233
  /** Compose `transforms` into packed row-major mat3x4 matrices (12 f32 each). */
102
234
  function packScatterPlacements(asset, transforms, colors, options) {
103
235
  const matrices = new Float32Array(transforms.length * 12);
@@ -147,12 +279,24 @@ export function instancedPrimitive(primitiveName, options) {
147
279
  // Zero transforms is valid (a pool that is empty this frame): the compiler skips the node with INSTANCES_EMPTY.
148
280
  if (options.colors && options.colors.length !== options.transforms.length)
149
281
  throw new Error("Aura3D instance color count must match transform count.");
150
- const { transforms, colors, ...primitiveOptions } = options;
282
+ const { transforms, colors, instanceColorTarget, wind, ...primitiveOptions } = options;
151
283
  // The OPTION_IGNORED note names `instances.<kind>` and accepts `transforms` / `colors` (anim-phys-07).
152
- return primitive(primitiveName, { ...primitiveOptions, instances: transforms, instanceColors: colors }, {
284
+ const built = primitive(primitiveName, { ...primitiveOptions, instances: transforms, instanceColors: colors }, {
153
285
  builder: `instances.${primitiveName}`,
154
- validKeys: INSTANCED_PRIMITIVE_OPTION_KEYS,
286
+ validKeys: INSTANCED_PRIMITIVE_BUILDER_KEYS,
155
287
  options
156
288
  });
289
+ const instanceWind = resolveInstanceWind(wind);
290
+ if (instanceColorTarget === undefined && !instanceWind)
291
+ return built;
292
+ // GU47 E-G (WP-7): stamp the colour target for the renderer (GU47(E-D) node
293
+ // field) and opt the node into wind without the WORLD lane.
294
+ const base = built.toJSON();
295
+ const node = {
296
+ ...base,
297
+ ...(instanceColorTarget !== undefined ? { instanceColorTarget } : {}),
298
+ ...(instanceWind ? { instanceWind, userData: adoptInstanceWind(base.userData, instanceWind) } : {})
299
+ };
300
+ return new AuraNodeBuilder(node);
157
301
  }
158
302
  //# sourceMappingURL=instances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/nodes/instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/nodes/instances.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AuraCustomMaterialSpec, AuraEditableMaterialParameters, AuraMaterialCapabilityDiagnostics, AuraMaterialCapabilityInput, AuraMaterialInspectorPanel, AuraMaterialSpec, AuraMaterialVisualQAResult, AuraProceduralTextureSpec, AuraSceneNode } from "../nodes/types.js";
1
+ import type { AuraCustomMaterialSpec, AuraEditableMaterialParameters, AuraMaterialCapabilityDiagnostics, AuraMaterialCapabilityInput, AuraMaterialInspectorPanel, AuraMaterialSpec, AuraMaterialVisualQAResult, AuraProceduralTextureSpec, AuraSceneNode, AuraToonMaterialOptions } from "../nodes/types.js";
2
2
  import { materialNode } from "./tsl/index.js";
3
3
  import { proceduralTexture } from "../nodes/materialTools.js";
4
4
  import type { AuraSolarPlanetMaterialPreset } from "../nodes/types.js";
@@ -12,6 +12,8 @@ import type { AuraSolarPlanetMaterialPreset } from "../nodes/types.js";
12
12
  export declare const AURA_PRESET_DEFAULTS: unique symbol;
13
13
  /** Merge `defaults` with `options` and mark which resulting fields the user did not supply. */
14
14
  export declare function resolveMaterialSpecDefaults(defaults: AuraMaterialSpec, options: AuraMaterialSpec): AuraMaterialSpec;
15
+ /** GU47 E-D (PRD §3.1): `material.toon(opts)` lowers to a `material.custom` spec over the `a3d_lights` / `a3d_toon` / `a3d_rim` chunks. */
16
+ export declare function toonMaterial(options?: AuraToonMaterialOptions): AuraMaterialSpec;
15
17
  export declare const material: {
16
18
  /**
17
19
  * threejs-parity SH-02 (L1): three-style custom shader material. `spec.glsl`
@@ -21,6 +23,11 @@ export declare const material: {
21
23
  * here rather than at mount.
22
24
  */
23
25
  readonly custom: (spec: AuraCustomMaterialSpec) => AuraMaterialSpec;
26
+ /**
27
+ * GU47 E-D: cel-shaded material (`AuraToonMaterialOptions`): every scene light banded into `steps` between
28
+ * `shadowColor` and `color` (or through a `ramp` texture), hemisphere fill, optional `rim`, scene fog, shadows.
29
+ */
30
+ readonly toon: (options?: AuraToonMaterialOptions) => AuraMaterialSpec;
24
31
  /**
25
32
  * SH-01 (L1-11): TSL-subset node material — `colorNode/emissiveNode/opacityNode/positionNode`
26
33
  * graphs built with `tsl.*` lower to a GLSL `material.custom` spec. GLSL only; see `tsl`.