@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":"effects-api.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/vfx/effects-api.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8EAA8E;AAC9E,sEAAsE;AAKtE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,yDAAyD,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAyB3C,qHAAqH;AACrH,MAAM,iBAAiB,GAA2B,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAE5I,MAAM,aAAa,GAAgC;IACjD,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7H,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrI,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACtI,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3H,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC9H,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClI,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAC7L,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAClL,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClI,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACrI,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAC3L,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IACpL,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvI,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;CACrL,CAAC;AAEF,8EAA8E;AAC9E,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAU,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAE3E,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,CAAoB;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,MAA8B;IAC3E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI;QACJ;YACE,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY;oBACzD,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB;aACF;SACmB;KACvB,CAAC,CACH,CAAC;IAEF,qEAAqE;IACrE,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,aAAa,GAA0O;QAC3P,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;QAC/D,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;QACjE,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC9B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CAAC;IACF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAQ,EAAE;QAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,EAAE,kDAAkD,CAAC,CAAC;YAC7G,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,0EAA0E;QAC1E,IAAI,IAAI,KAAK,aAAa;YAAE,iBAAiB,EAAE,CAAC;IAClD,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,aAAa,GAAwB,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,IAAI,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;YACtD,QAAQ,GAAG,CAAC,CAAC,CAAC;YACd,GAAG,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,EAAE,CAAC;YAClB,aAAa,GAAG,IAAI,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACpF,GAAG,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,QAAQ,GAAG,CAAC,CAAC;QACb,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACxD,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,KAAqB,EAAE,EAAE;gBACpD,IAAI,QAAQ,GAAG,CAAC;oBAAE,OAAO;gBACzB,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClC,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,QAAkB,EAClB,OAAyJ,EAC/H,EAAE;QAC5B,MAAM,EAAE,GAAG,MAAM,cAAc,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,gEAAgE;QAChE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,UAAU,CAAC;gBAChB,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChE,qEAAqE;gBACrE,qEAAqE;gBACrE,wCAAwC;gBACxC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;gBAC/B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;gBACzB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;aAChC,CAAC,CAAC;QACL,CAAC;QACD,oEAAoE;QACpE,IAAI,SAAS,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;YAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACrC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,IAAI,KAAK,CAAC,SAAS;gBAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;YACvC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,EAAE;YACF,QAAQ;YACR,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACxG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1E,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY;YAC9D,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gFAAgF;YAChF,iGAAiG;YACjG,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YAC9D,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,kHAAkH;YAClH,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI;YAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,OAAO;YACL,EAAE;YACF,IAAI,KAAK;gBACP,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC;YAC3C,CAAC;YACD,IAAI,EAAE,CAAC,CAA2B,EAAE,EAAE;gBACpC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpB,IAAI,KAAK,CAAC,SAAS;oBAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,CAAC,EAAE,SAAS;oBAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,WAAW,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAsB,CAAC;SACnF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,OAAO;YACT,OAAO,MAAM,CAAC,cAAc,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,IAAkB;YAC5B,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,IAAiB,EAAE,QAAkB,EAAE,OAAO;YAClD,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,MAAuC,EAAE,EAA+B,EAAE,OAAO;YACrF,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/D,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,+FAA+F;YAC/F,sEAAsE;YACtE,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,OAAO;YACpB,KAAK,OAAO,CAAC;YACb,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,wCAAwC,CAAC,CAAC;YAC3F,OAAO;gBACL,EAAE,EAAE,MAAM,cAAc,EAAE,EAAE;gBAC5B,IAAI,KAAK;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;gBACd,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;aACtB,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,EAAE,EAAE,OAAO;YACf,oEAAoE;YACpE,2BAA2B;YAC3B,MAAM,EAAE,GAAG,MAAM,cAAc,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;gBACrB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;gBACf,EAAE;gBACF,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;oBAClB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,WAAW,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;oBACrC,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E;aACF,CAAC,CAAC;YACH,OAAO;gBACL,EAAE;gBACF,IAAI,KAAK;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,WAAW,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAsB,CAAC;aACnF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO;YACT,MAAM,GAAG,GAAG,EAAuC,CAAC;YACpD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,GAAkE,CAAC;QAC5E,CAAC;QACD,cAAc,CAAC,IAAY,EAAE,IAAuB;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,SAAS;YACX,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK;YACH,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC5C,IAAI,KAAK,CAAC,SAAS;oBAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;gDAGgD;AAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAW,CAAC;AACpC,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAmB,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,OAAO,EAAoB,CAAC;AAKpD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsB,CAAC;AACzD,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AAEnD,MAAM,UAAU,0BAA0B,CAAC,GAAuB;IAChE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,wBAAwB,GAAG,IAAI,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,sCAAsC;IACvE,MAAM,MAAM,GAAG,iBAAiB,GAAG,CAAC,KAAK,kBAAkB,MAAM,CAAC,MAAM,oBAAoB,CAAC;IAC7F,wBAAwB,GAAG,MAAM,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,cAAc,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,kBAAkB,CAAC;QAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,WAAW,CAAC,GAAG,CAAC,GAAc,CAAC,KAAK,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAuB;IAClE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3B,wBAAwB,GAAG,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,GAAG;QAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;gCAKgC;AAChC,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAgC;IACnF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,GAAyB,EAAE;QAClG,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,EAAG,GAAgD,CAAC,OAAO,EAAE,IAAI;KACtE,CAAC,CAAC,CAAC;IACJ,IAAI,GAAG,CAAC,MAAM;QAAE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnF,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChC,uBAAuB,EAAE,CAAC;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,eAAe,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,yEAAyE;AACzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAmC,CAAC;AAE/D,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,MAAoC;IACpF,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,MAAM,CAAC,CAAwB,EAAE,QAAkC;IAC1E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"effects-api.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/vfx/effects-api.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,43 @@
1
+ /**
2
+ * PRD-10 §4.1/§7.3 — builder-time QR flag read for the `*.surface`-style
3
+ * upgrade paths. Builders run before `createAuraApp` resolves the app's flags,
4
+ * so the builder decides from the same source chain the app will use. The
5
+ * C-36 handlers still gate on the app-resolved flag, so a builder that saw a
6
+ * flag off never produces a world node a flag-off app could see.
7
+ *
8
+ * GU47 E-G (WP-7): the builder read used to see the environment only, so
9
+ * `qualityRebuild: { flags }` and `?a3d-qr=` were ignored at build time and a
10
+ * builder could disagree with its own app. It now resolves exactly like
11
+ * `createAuraApp`: the app's declared `qualityRebuild` (see
12
+ * `setWorldBuilderFlags`, `world.useAppFlags`), then the URL `?a3d-qr=` list
13
+ * (unless the app declared `allowUrlFlags: false`), then the environment, then
14
+ * the flags.state defaults.
15
+ */
16
+ import { type QrFlagInput } from "../../contracts/flags.js";
1
17
  import type { QrFlagName, QrFlags } from "../../../rendering/contracts/index.js";
18
+ /** The `qualityRebuild` option shape of `createAuraApp` / `createGameApp`. */
19
+ export interface AuraWorldBuilderFlagSource {
20
+ readonly flags?: QrFlagInput;
21
+ readonly allowUrlFlags?: boolean;
22
+ }
23
+ /**
24
+ * Declare the app's flags for builder-time reads. Pass the same
25
+ * `qualityRebuild` object you give `createAuraApp` (or an app's resolved
26
+ * `QrFlags`) BEFORE building the scene; `null` clears the declaration.
27
+ */
28
+ export declare function setWorldBuilderFlags(source: AuraWorldBuilderFlagSource | QrFlags | null | undefined): void;
29
+ /** The flags a world builder decides with right now (same chain as the app). */
30
+ export declare function worldBuilderFlags(): QrFlags;
2
31
  export declare function worldBuilderFlagOn(name: QrFlagName): boolean;
3
- export type AuraWorldSubFlag = "A3D_QR_WORLD_TERRAIN" | "A3D_QR_WORLD_WATER" | "A3D_QR_WORLD_BIOME";
32
+ export type AuraWorldSubFlag = "A3D_QR_WORLD_TERRAIN" | "A3D_QR_WORLD_WATER" | "A3D_QR_WORLD_BIOME" | "A3D_QR_WORLD_WIND";
4
33
  /**
5
34
  * §13 — sub-flags are ON BY DEFAULT when `A3D_QR_WORLD` is on; they exist as
6
35
  * route-level kill switches, not opt-ins. An explicitly set sub-flag value
7
36
  * (`world.biome` / `-world.biome` list tokens, `A3D_QR_WORLD_BIOME=1|0`,
8
- * per-app flags) always wins over the parent default.
37
+ * per-app flags, a flags.state `default-on` promotion) always wins over the
38
+ * parent default.
9
39
  */
10
40
  export declare function worldSubflagOn(flags: QrFlags, sub: AuraWorldSubFlag): boolean;
11
- /** Builder-time variant of `worldSubflagOn` (env is the only flag source). */
41
+ /** Builder-time variant of `worldSubflagOn` (same source chain as the app). */
12
42
  export declare function worldBuilderSubflagOn(sub: AuraWorldSubFlag): boolean;
13
43
  //# sourceMappingURL=flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/flags.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAI5D;AAED,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEpG;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAI7E;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAGpE"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAE1G;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,IAAI,OAAO,CAY3C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAE1H;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAI7E;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAEpE"}
@@ -1,22 +1,55 @@
1
1
  /**
2
2
  * PRD-10 §4.1/§7.3 — builder-time QR flag read for the `*.surface`-style
3
- * upgrade paths. Builders run before `createAuraApp`, so the only flag source
4
- * they can see is the environment (`A3D_QR` / `A3D_QR_*` vars); per-app
5
- * `qualityRebuild.flags` are read by the compiler instead. The C-36 handlers
6
- * still gate on the app-resolved flag, so an env-off build never produces a
7
- * world node a flag-off app could see.
3
+ * upgrade paths. Builders run before `createAuraApp` resolves the app's flags,
4
+ * so the builder decides from the same source chain the app will use. The
5
+ * C-36 handlers still gate on the app-resolved flag, so a builder that saw a
6
+ * flag off never produces a world node a flag-off app could see.
7
+ *
8
+ * GU47 E-G (WP-7): the builder read used to see the environment only, so
9
+ * `qualityRebuild: { flags }` and `?a3d-qr=` were ignored at build time and a
10
+ * builder could disagree with its own app. It now resolves exactly like
11
+ * `createAuraApp`: the app's declared `qualityRebuild` (see
12
+ * `setWorldBuilderFlags`, `world.useAppFlags`), then the URL `?a3d-qr=` list
13
+ * (unless the app declared `allowUrlFlags: false`), then the environment, then
14
+ * the flags.state defaults.
8
15
  */
9
16
  import { resolveQrFlags } from "../../contracts/flags.js";
10
- export function worldBuilderFlagOn(name) {
17
+ let declared = null;
18
+ function isResolvedFlags(value) {
19
+ return typeof value.on === "function" && typeof value.values === "object";
20
+ }
21
+ /**
22
+ * Declare the app's flags for builder-time reads. Pass the same
23
+ * `qualityRebuild` object you give `createAuraApp` (or an app's resolved
24
+ * `QrFlags`) BEFORE building the scene; `null` clears the declaration.
25
+ */
26
+ export function setWorldBuilderFlags(source) {
27
+ declared = source ?? null;
28
+ }
29
+ /** The flags a world builder decides with right now (same chain as the app). */
30
+ export function worldBuilderFlags() {
31
+ if (declared !== null && isResolvedFlags(declared))
32
+ return declared;
33
+ const source = declared;
11
34
  const proc = globalThis.process;
12
- const flags = resolveQrFlags({ env: proc?.env ?? {} });
13
- return flags.on(name);
35
+ const href = source?.allowUrlFlags === false
36
+ ? undefined
37
+ : typeof location !== "undefined" && typeof location.href === "string" ? location.href : undefined;
38
+ return resolveQrFlags({
39
+ ...(source?.flags !== undefined ? { options: source.flags } : {}),
40
+ ...(href !== undefined ? { url: href } : {}),
41
+ env: proc?.env ?? {}
42
+ });
43
+ }
44
+ export function worldBuilderFlagOn(name) {
45
+ return worldBuilderFlags().on(name);
14
46
  }
15
47
  /**
16
48
  * §13 — sub-flags are ON BY DEFAULT when `A3D_QR_WORLD` is on; they exist as
17
49
  * route-level kill switches, not opt-ins. An explicitly set sub-flag value
18
50
  * (`world.biome` / `-world.biome` list tokens, `A3D_QR_WORLD_BIOME=1|0`,
19
- * per-app flags) always wins over the parent default.
51
+ * per-app flags, a flags.state `default-on` promotion) always wins over the
52
+ * parent default.
20
53
  */
21
54
  export function worldSubflagOn(flags, sub) {
22
55
  const v = flags.values[sub];
@@ -24,9 +57,8 @@ export function worldSubflagOn(flags, sub) {
24
57
  return v !== false && v !== "off" && v !== "0";
25
58
  return flags.on("A3D_QR_WORLD");
26
59
  }
27
- /** Builder-time variant of `worldSubflagOn` (env is the only flag source). */
60
+ /** Builder-time variant of `worldSubflagOn` (same source chain as the app). */
28
61
  export function worldBuilderSubflagOn(sub) {
29
- const proc = globalThis.process;
30
- return worldSubflagOn(resolveQrFlags({ env: proc?.env ?? {} }), sub);
62
+ return worldSubflagOn(worldBuilderFlags(), sub);
31
63
  }
32
64
  //# sourceMappingURL=flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,MAAM,IAAI,GAAI,UAAmF,CAAC,OAAO,CAAC;IAC1G,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,GAAqB;IAClE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC;IACpE,OAAO,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,MAAM,IAAI,GAAI,UAAmF,CAAC,OAAO,CAAC;IAC1G,OAAO,cAAc,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,cAAc,EAAoB,MAAM,0BAA0B,CAAC;AAS5E,IAAI,QAAQ,GAAgD,IAAI,CAAC;AAEjE,SAAS,eAAe,CAAC,KAA2C;IAClE,OAAO,OAAQ,KAAiB,CAAC,EAAE,KAAK,UAAU,IAAI,OAAQ,KAAiB,CAAC,MAAM,KAAK,QAAQ,CAAC;AACtG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA+D;IAClG,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB;IAC/B,IAAI,QAAQ,KAAK,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC;IACxB,MAAM,IAAI,GAAI,UAAmF,CAAC,OAAO,CAAC;IAC1G,MAAM,IAAI,GAAG,MAAM,EAAE,aAAa,KAAK,KAAK;QAC1C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,OAAO,iBAAiB,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAID;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,GAAqB;IAClE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC;IACpE,OAAO,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,qBAAqB,CAAC,GAAqB;IACzD,OAAO,cAAc,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC"}
@@ -23,7 +23,15 @@ import { worldPlaceAlong, worldPlaceGrid, worldPlacePoisson } from "./placement.
23
23
  import { worldRoom } from "./room.js";
24
24
  import { worldStreet } from "./street.js";
25
25
  import { worldBiome, worldTimeOfDay, worldWind } from "./timeOfDay.js";
26
- /** §7.1 `world.*` builder namespace. */
26
+ import { setWorldBuilderFlags } from "./flags.js";
27
+ export { setWorldBuilderFlags, worldBuilderFlags, type AuraWorldBuilderFlagSource } from "./flags.js";
28
+ /**
29
+ * §7.1 `world.*` builder namespace. GU47 E-G (WP-7): exported from the
30
+ * `@aura3d/engine` root. `world.scatter` / `world.grass` accept a heightfield
31
+ * sampler `heightAt: (x, z) => y`; `world.useAppFlags(qualityRebuild)` makes
32
+ * builder-time flag reads (`water.surface`, `environments.outdoor`, ...) use
33
+ * the app's `qualityRebuild.flags` — call it before building the scene.
34
+ */
27
35
  export declare const world: {
28
36
  readonly terrain: typeof worldTerrain;
29
37
  readonly water: typeof worldWater;
@@ -49,5 +57,6 @@ export declare const world: {
49
57
  };
50
58
  readonly timeOfDay: typeof worldTimeOfDay;
51
59
  readonly wind: typeof worldWind;
60
+ readonly useAppFlags: typeof setWorldBuilderFlags;
52
61
  };
53
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAe,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpF,wCAAwC;AACxC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;CAiBR,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAe,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEtG;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBR,CAAC"}
@@ -24,7 +24,15 @@ import { worldPlaceAlong, worldPlaceGrid, worldPlacePoisson } from "./placement.
24
24
  import { worldRoom } from "./room.js";
25
25
  import { worldStreet } from "./street.js";
26
26
  import { worldBiome, worldBiomes, worldTimeOfDay, worldWind } from "./timeOfDay.js";
27
- /** §7.1 `world.*` builder namespace. */
27
+ import { setWorldBuilderFlags } from "./flags.js";
28
+ export { setWorldBuilderFlags, worldBuilderFlags } from "./flags.js";
29
+ /**
30
+ * §7.1 `world.*` builder namespace. GU47 E-G (WP-7): exported from the
31
+ * `@aura3d/engine` root. `world.scatter` / `world.grass` accept a heightfield
32
+ * sampler `heightAt: (x, z) => y`; `world.useAppFlags(qualityRebuild)` makes
33
+ * builder-time flag reads (`water.surface`, `environments.outdoor`, ...) use
34
+ * the app's `qualityRebuild.flags` — call it before building the scene.
35
+ */
28
36
  export const world = {
29
37
  terrain: worldTerrain,
30
38
  water: worldWater,
@@ -41,6 +49,7 @@ export const world = {
41
49
  biome: worldBiome,
42
50
  biomes: worldBiomes,
43
51
  timeOfDay: worldTimeOfDay,
44
- wind: worldWind
52
+ wind: worldWind,
53
+ useAppFlags: setWorldBuilderFlags
45
54
  };
46
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpF,wCAAwC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,iBAAiB;IAC/B,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,SAAS;CACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAmC,MAAM,YAAY,CAAC;AAEtG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,iBAAiB;IAC/B,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;CACzB,CAAC"}
@@ -12,9 +12,15 @@
12
12
  * straddling a shared cell border may sit closer than `minDistance` — the
13
13
  * spec's correctness unit is the cell.
14
14
  */
15
- import type { AuraAssetRef, AuraColor } from "../index.js";
15
+ import type { AuraAssetRef, AuraColor, AuraTransformSpec } from "../index.js";
16
16
  import type { AuraTierValue, AuraWorldNodeBase } from "./types.js";
17
17
  import { AuraWorldNodeBuilder, type AuraTerrainHandle, type AuraWorldShape } from "./terrain.js";
18
+ /**
19
+ * GU47 E-G (WP-7): a game's own ground height in world metres at `(x, z)`
20
+ * (for example the course or track function the sim already uses). Accepted
21
+ * by `world.scatter({ heightAt })` and `world.grass({ heightAt, bounds })`.
22
+ */
23
+ export type AuraHeightfieldSampler = (x: number, z: number) => number;
18
24
  export interface AuraScatterAsset {
19
25
  readonly asset: AuraAssetRef<"model">;
20
26
  readonly weight?: number;
@@ -55,6 +61,14 @@ export interface AuraScatterOptions extends AuraWorldNodeBase {
55
61
  readonly shadows?: AuraTierValue<"none" | "near" | "all">;
56
62
  readonly budget?: AuraTierValue<number>;
57
63
  readonly collision?: "none" | "trunk-capsules";
64
+ /**
65
+ * GU47 E-G: when set, every placement takes its height (and its slope, by
66
+ * central differences) from this sampler instead of the surface, so an
67
+ * area surface follows the game's own ground instead of the flat `y`.
68
+ * Layer `height`/`slopeDeg` rules read the sampled values; terrain layer
69
+ * weights (`onLayers`) still come from a terrain surface.
70
+ */
71
+ readonly heightAt?: AuraHeightfieldSampler;
58
72
  }
59
73
  export interface AuraScatterPlacement {
60
74
  readonly asset: AuraAssetRef<"model">;
@@ -77,6 +91,18 @@ export interface AuraScatterResult {
77
91
  readonly instanceCount: number;
78
92
  readonly perAsset: Readonly<Record<string, number>>;
79
93
  readonly checksum: string;
94
+ /**
95
+ * GU47 E-G: the planned placements per asset id as `instances.model`
96
+ * transforms (position, Y rotation in radians, uniform scale), so a game can
97
+ * draw a scatter plan with `instances.model(asset, { transforms })` without
98
+ * turning the WORLD lane on. Same order as the checksum buffer.
99
+ */
100
+ readonly transforms: Readonly<Record<string, readonly AuraTransformSpec[]>>;
101
+ }
102
+ /** GU47 E-G: the grass area a heightfield sampler is baked over (world metres, x/z). */
103
+ export interface AuraGrassBounds {
104
+ readonly min: readonly [number, number];
105
+ readonly max: readonly [number, number];
80
106
  }
81
107
  export interface AuraGrassOptions extends AuraWorldNodeBase {
82
108
  /** Stable node id; auto-assigned when omitted. */
@@ -96,6 +122,21 @@ export interface AuraGrassNode extends AuraWorldNodeBase {
96
122
  readonly id: string;
97
123
  readonly options: AuraGrassOptions;
98
124
  }
125
+ /**
126
+ * GU47 E-G: `world.grass` input — a terrain handle (as before), or a
127
+ * heightfield sampler plus the x/z `bounds` it covers. The sampler is baked
128
+ * once into a hidden height grid (`resolution` samples per side, default 65)
129
+ * that the GPU blades sample; the grid's terrain node is never added to the
130
+ * scene, so nothing but the grass draws.
131
+ */
132
+ export type AuraGrassInput = (AuraGrassOptions & {
133
+ readonly heightAt?: undefined;
134
+ }) | (Omit<AuraGrassOptions, "terrain"> & {
135
+ readonly terrain?: undefined;
136
+ readonly heightAt: AuraHeightfieldSampler;
137
+ readonly bounds: AuraGrassBounds;
138
+ readonly resolution?: number;
139
+ });
99
140
  /** uint32 mix — the per-cell stream seed `hash(seed, layerIndex, cellX, cellZ)`. */
100
141
  export declare function scatterHash(seed: number, layerIndex: number, cellX: number, cellZ: number): number;
101
142
  /** Mulberry32-style float stream [0, 1). */
@@ -155,6 +196,12 @@ export declare function packScatterPlacement(asset: AuraAssetRef<"model">, insta
155
196
  * `options` (not `placements`) so the compile handler re-plans identically.
156
197
  */
157
198
  export declare function worldScatter(options: AuraScatterOptions): AuraScatterResult;
158
- /** §7.1.5 `world.grass(options)` — node only; blades are generated on the GPU (§8.5). */
159
- export declare function worldGrass(options: AuraGrassOptions): AuraWorldNodeBuilder<AuraGrassNode>;
199
+ /** GU47 E-G: one placement as an `instances.model` transform (same basis as `packScatterPlacement`). */
200
+ export declare function scatterInstanceTransform(p: ScatterInstance): AuraTransformSpec;
201
+ /**
202
+ * §7.1.5 `world.grass(options)` — node only; blades are generated on the GPU (§8.5).
203
+ * GU47 E-G: pass `{ heightAt, bounds }` instead of `terrain` to grow grass on
204
+ * the game's own ground (see `AuraGrassInput`).
205
+ */
206
+ export declare function worldGrass(input: AuraGrassInput): AuraWorldNodeBuilder<AuraGrassNode>;
160
207
  //# sourceMappingURL=scatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scatter.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/scatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scatter.d.ts","sourceRoot":"","sources":["../../../../../../packages/engine/src/agent-api/world/scatter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AuraWorldNodeBuilder, terrainRecordFor } from "./terrain.js";
1
+ import { AuraWorldNodeBuilder, terrainRecordFor, worldTerrain } from "./terrain.js";
2
2
  // ---------------------------------------------------------------- hash/rng --
3
3
  /** uint32 mix — the per-cell stream seed `hash(seed, layerIndex, cellX, cellZ)`. */
4
4
  export function scatterHash(seed, layerIndex, cellX, cellZ) {
@@ -98,6 +98,28 @@ function terrainSampler(handle) {
98
98
  return null;
99
99
  return handle;
100
100
  }
101
+ /** Central-difference step (metres) for the slope of a heightfield sampler. */
102
+ const HEIGHTFIELD_SLOPE_STEP = 0.25;
103
+ /**
104
+ * GU47 E-G: wrap a heightfield sampler — heights from the sampler, slope from
105
+ * its central differences, layer weights still from the surface.
106
+ */
107
+ function heightfieldSurfaceSampler(heightAt, base = AREA_SAMPLER_BASE) {
108
+ const h = HEIGHTFIELD_SLOPE_STEP;
109
+ const sample = (x, z) => {
110
+ const y = heightAt(x, z);
111
+ return Number.isFinite(y) ? y : 0;
112
+ };
113
+ return {
114
+ heightAt: sample,
115
+ slopeDegAt: (x, z) => {
116
+ const dx = (sample(x + h, z) - sample(x - h, z)) / (2 * h);
117
+ const dz = (sample(x, z + h) - sample(x, z - h)) / (2 * h);
118
+ return (Math.atan(Math.hypot(dx, dz)) * 180) / Math.PI;
119
+ },
120
+ layerWeightsAt: (x, z) => base.layerWeightsAt(x, z)
121
+ };
122
+ }
101
123
  /**
102
124
  * The rules predicate shared by `planScatterInstances` and the compile-time
103
125
  * handler: slope/height/`onLayers`/`exclude`. `densityMask` is asset data and
@@ -190,11 +212,12 @@ function excludeInside(record, shape, x, z) {
190
212
  */
191
213
  export function planScatterInstances(options) {
192
214
  const record = "kind" in options.surface ? null : terrainRecordFor(options.surface.id) ?? null;
193
- const sampler = "kind" in options.surface
215
+ const surfaceSampler = "kind" in options.surface
194
216
  ? areaSampler(options.surface.y ?? 0)
195
217
  : terrainSampler(options.surface);
196
- if (!sampler)
218
+ if (!surfaceSampler)
197
219
  return [];
220
+ const sampler = options.heightAt ? heightfieldSurfaceSampler(options.heightAt, surfaceSampler) : surfaceSampler;
198
221
  const bounds = surfaceBounds(options, record);
199
222
  if (bounds.max[0] <= bounds.min[0] || bounds.max[1] <= bounds.min[1])
200
223
  return [];
@@ -372,11 +395,13 @@ export function worldScatter(options) {
372
395
  const node = { kind: "scatter", id, name: options.name ?? id, options };
373
396
  const instances = planScatterInstances(options);
374
397
  const perAsset = {};
398
+ const transforms = {};
375
399
  const allMatrices = new Float32Array(instances.length * 12);
376
400
  instances.forEach((p, i) => {
377
401
  const layer = options.layers[p.layerIndex];
378
402
  const asset = layer.assets[p.assetIndex];
379
403
  perAsset[asset.asset.id] = (perAsset[asset.asset.id] ?? 0) + 1;
404
+ (transforms[asset.asset.id] ??= []).push(scatterInstanceTransform(p));
380
405
  const packed = packScatterPlacement(asset.asset, [p]);
381
406
  allMatrices.set(packed.matrices, i * 12);
382
407
  });
@@ -384,12 +409,73 @@ export function worldScatter(options) {
384
409
  node,
385
410
  instanceCount: instances.length,
386
411
  perAsset,
387
- checksum: scatterChecksum(allMatrices)
412
+ checksum: scatterChecksum(allMatrices),
413
+ transforms
388
414
  };
389
415
  }
390
- /** §7.1.5 `world.grass(options)` — node only; blades are generated on the GPU (§8.5). */
391
- export function worldGrass(options) {
392
- const id = options.id ?? `grass-${++grassSeq}`;
416
+ /** GU47 E-G: one placement as an `instances.model` transform (same basis as `packScatterPlacement`). */
417
+ export function scatterInstanceTransform(p) {
418
+ const position = [p.x, p.y, p.z];
419
+ const rotation = [0, (p.yawDeg * Math.PI) / 180, 0];
420
+ return { position, rotation, scale: p.scale };
421
+ }
422
+ /** Default bake resolution (samples per side) for `world.grass({ heightAt })`. */
423
+ const GRASS_HEIGHTFIELD_RESOLUTION = 65;
424
+ /**
425
+ * GU47 E-G: bake a heightfield sampler over `bounds` into a sampling-only
426
+ * terrain record and return its handle. Heights are stored raw in metres with
427
+ * `heightScale` 1: the terrain handle and the grass shader both read
428
+ * `grid * heightScale` and ignore `origin[1]`, so a normalized grid offset by
429
+ * its minimum would float or sink every blade by that minimum.
430
+ */
431
+ function bakeGrassHeightfield(id, heightAt, bounds, resolution) {
432
+ const [x0, z0] = bounds.min;
433
+ const [x1, z1] = bounds.max;
434
+ if (!(x1 > x0) || !(z1 > z0))
435
+ throw new Error("world.grass: bounds.max must exceed bounds.min on x and z");
436
+ const n = Math.max(2, Math.min(513, Math.round(resolution)));
437
+ const heights = new Float32Array(n * n);
438
+ for (let row = 0; row < n; row += 1) {
439
+ const z = z0 + ((z1 - z0) * row) / (n - 1);
440
+ for (let col = 0; col < n; col += 1) {
441
+ const x = x0 + ((x1 - x0) * col) / (n - 1);
442
+ const y = heightAt(x, z);
443
+ heights[row * n + col] = Number.isFinite(y) ? y : 0;
444
+ }
445
+ }
446
+ const handle = worldTerrain({
447
+ id: `${id}.heightfield`,
448
+ name: `${id} heightfield`,
449
+ height: { kind: "array", columns: n, rows: n, heights },
450
+ size: [x1 - x0, z1 - z0],
451
+ heightScale: 1,
452
+ origin: [x0, 0, z0],
453
+ layers: [{ name: "grass-meadow", preset: "grass-meadow" }],
454
+ collider: false,
455
+ castShadow: false
456
+ }).handle;
457
+ // The terrain pass draws every listed record whether or not its node is in
458
+ // the scene; mark this one sampling-only so only the blades use it.
459
+ const record = terrainRecordFor(handle.id);
460
+ if (record)
461
+ record.samplingOnly = true;
462
+ return handle;
463
+ }
464
+ /**
465
+ * §7.1.5 `world.grass(options)` — node only; blades are generated on the GPU (§8.5).
466
+ * GU47 E-G: pass `{ heightAt, bounds }` instead of `terrain` to grow grass on
467
+ * the game's own ground (see `AuraGrassInput`).
468
+ */
469
+ export function worldGrass(input) {
470
+ const id = input.id ?? `grass-${++grassSeq}`;
471
+ let options;
472
+ if (input.heightAt !== undefined) {
473
+ const { heightAt, bounds, resolution, ...rest } = input;
474
+ options = { ...rest, terrain: bakeGrassHeightfield(id, heightAt, bounds, resolution ?? GRASS_HEIGHTFIELD_RESOLUTION) };
475
+ }
476
+ else {
477
+ options = input;
478
+ }
393
479
  const node = { kind: "grass", id, name: options.name ?? id, options };
394
480
  return new AuraWorldNodeBuilder({ ...node });
395
481
  }