@woosh/meep-engine 3.17.2 → 3.18.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 (263) hide show
  1. package/editor/actions/concrete/ComponentAddAction.d.ts +1 -0
  2. package/editor/actions/concrete/ComponentAddAction.d.ts.map +1 -1
  3. package/editor/actions/concrete/ComponentAddAction.js +4 -0
  4. package/editor/actions/concrete/ComponentRemoveAction.d.ts +1 -0
  5. package/editor/actions/concrete/ComponentRemoveAction.d.ts.map +1 -1
  6. package/editor/actions/concrete/ComponentRemoveAction.js +4 -0
  7. package/editor/actions/concrete/EntityCreateAction.d.ts +1 -0
  8. package/editor/actions/concrete/EntityCreateAction.d.ts.map +1 -1
  9. package/editor/actions/concrete/EntityCreateAction.js +7 -0
  10. package/editor/actions/concrete/EntityRemoveAction.d.ts +1 -0
  11. package/editor/actions/concrete/EntityRemoveAction.d.ts.map +1 -1
  12. package/editor/actions/concrete/EntityRemoveAction.js +4 -0
  13. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts +10 -0
  14. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts.map +1 -1
  15. package/editor/actions/concrete/PatchTerrainHeightAction.js +107 -85
  16. package/editor/actions/concrete/TransformModifyAction.d.ts +1 -0
  17. package/editor/actions/concrete/TransformModifyAction.d.ts.map +1 -1
  18. package/editor/actions/concrete/TransformModifyAction.js +4 -0
  19. package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
  20. package/editor/particles/effect/ParticleEffectDocument.js +10 -6
  21. package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
  22. package/editor/particles/effect/ParticleReferenceSimulation.js +98 -4
  23. package/editor/particles/effect/make_starter_particle_effect.d.ts.map +1 -1
  24. package/editor/particles/effect/make_starter_particle_effect.js +0 -2
  25. package/editor/tools/engine/ToolEngine.d.ts +30 -0
  26. package/editor/tools/engine/ToolEngine.d.ts.map +1 -1
  27. package/editor/tools/engine/ToolEngine.js +257 -188
  28. package/editor/view/ecs/EntityList.d.ts.map +1 -1
  29. package/editor/view/ecs/EntityList.js +6 -5
  30. package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts.map +1 -1
  31. package/editor/view/particles/effect/ParticleEmitterInspectorView.js +17 -9
  32. package/package.json +1 -1
  33. package/src/CODEC_LAYOUT_VERIFICATION.md +1 -2
  34. package/src/core/binary/meshopt/MESHOPT_VERTEX_BLOCK.d.ts +56 -0
  35. package/src/core/binary/meshopt/MESHOPT_VERTEX_BLOCK.d.ts.map +1 -0
  36. package/src/core/binary/meshopt/MESHOPT_VERTEX_BLOCK.js +73 -0
  37. package/src/core/binary/meshopt/meshopt_decode_vertex_buffer.d.ts.map +1 -1
  38. package/src/core/binary/meshopt/meshopt_decode_vertex_buffer.js +18 -63
  39. package/src/core/binary/meshopt/meshopt_encode_byte_group.d.ts +53 -0
  40. package/src/core/binary/meshopt/meshopt_encode_byte_group.d.ts.map +1 -0
  41. package/src/core/binary/meshopt/meshopt_encode_byte_group.js +140 -0
  42. package/src/core/binary/meshopt/meshopt_encode_data_block.d.ts +32 -0
  43. package/src/core/binary/meshopt/meshopt_encode_data_block.d.ts.map +1 -0
  44. package/src/core/binary/meshopt/meshopt_encode_data_block.js +77 -0
  45. package/src/core/binary/meshopt/meshopt_encode_index_sequence.d.ts +46 -0
  46. package/src/core/binary/meshopt/meshopt_encode_index_sequence.d.ts.map +1 -0
  47. package/src/core/binary/meshopt/meshopt_encode_index_sequence.js +146 -0
  48. package/src/core/binary/meshopt/meshopt_encode_vertex_buffer.d.ts +40 -0
  49. package/src/core/binary/meshopt/meshopt_encode_vertex_buffer.d.ts.map +1 -0
  50. package/src/core/binary/meshopt/meshopt_encode_vertex_buffer.js +700 -0
  51. package/src/core/binary/meshopt/meshopt_write_uint_var.d.ts +24 -0
  52. package/src/core/binary/meshopt/meshopt_write_uint_var.d.ts.map +1 -0
  53. package/src/core/binary/meshopt/meshopt_write_uint_var.js +39 -0
  54. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  55. package/src/core/math/random/seededRandom_Mulberry32.js +4 -2
  56. package/src/core/process/undo/Action.d.ts +19 -0
  57. package/src/core/process/undo/Action.d.ts.map +1 -1
  58. package/src/core/process/undo/Action.js +17 -0
  59. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +78 -0
  60. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -0
  61. package/src/engine/graphics3/GPUParticleEmitterSystem.js +310 -0
  62. package/src/engine/graphics3/GraphicsEngine.d.ts +17 -0
  63. package/src/engine/graphics3/GraphicsEngine.d.ts.map +1 -1
  64. package/src/engine/graphics3/GraphicsEngine.js +30 -10
  65. package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +1 -1
  66. package/src/engine/graphics3/particles/particle_gpu_records.js +0 -2
  67. package/src/engine/interpolation/InterpolationSystem.d.ts +7 -0
  68. package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -1
  69. package/src/engine/interpolation/InterpolationSystem.js +10 -0
  70. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  71. package/src/engine/network/NetworkSession.js +14 -34
  72. package/src/engine/network/time/RenderPlayout.d.ts +76 -0
  73. package/src/engine/network/time/RenderPlayout.d.ts.map +1 -0
  74. package/src/engine/network/time/RenderPlayout.js +163 -0
  75. package/src/engine/network/transport/adapters/WebSocketTransport.d.ts.map +1 -1
  76. package/src/engine/network/transport/adapters/WebSocketTransport.js +11 -4
  77. package/src/engine/physics/ecs/PhysicsSystem.d.ts +4 -12
  78. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  79. package/src/engine/physics/ecs/PhysicsSystem.js +39 -13
  80. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  81. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  82. package/src/engine/sound/simulation/core/VolumeField.js +4 -1
  83. package/src/format/scene/gltf/MESHOPT_COMPRESSION_PLAN.md +23 -2
  84. package/src/shade/playground/particle_system/README.md +139 -139
  85. package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
  86. package/src/shade/playground/particle_system/particle_prototype.js +0 -2
  87. package/src/shade/playground/particle_system/particle_scene.d.ts +6 -9
  88. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  89. package/src/shade/playground/particle_system/particle_scene.js +6 -13
  90. package/src/shade/playground/ssr_reprojection/README.md +103 -0
  91. package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.d.ts +17 -0
  92. package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.d.ts.map +1 -0
  93. package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.js +68 -0
  94. package/src/shade/playground/ssr_reprojection/index.html +79 -0
  95. package/src/shade/playground/ssr_reprojection/main.d.ts +2 -0
  96. package/src/shade/playground/ssr_reprojection/main.d.ts.map +1 -0
  97. package/src/shade/playground/ssr_reprojection/main.js +245 -0
  98. package/src/shade/playground/ssr_reprojection/scene.d.ts +18 -0
  99. package/src/shade/playground/ssr_reprojection/scene.d.ts.map +1 -0
  100. package/src/shade/playground/ssr_reprojection/scene.js +51 -0
  101. package/src/shade/renderer/Renderer.d.ts +2 -23
  102. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  103. package/src/shade/renderer/Renderer.js +185 -218
  104. package/src/shade/renderer/animation/GPUAnimationManager.d.ts +5 -8
  105. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  106. package/src/shade/renderer/animation/GPUAnimationManager.js +12 -12
  107. package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts.map +1 -1
  108. package/src/shade/renderer/buffer/table/GPUTypedTable.js +6 -0
  109. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts.map +1 -1
  110. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.js +7 -0
  111. package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_specular.d.ts +4 -0
  112. package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_specular.d.ts.map +1 -0
  113. package/src/shade/renderer/global_illumination/brick4/gpu/draw/chunk_brick4_sample_specular.js +51 -0
  114. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_specular.d.ts.map +1 -1
  115. package/src/shade/renderer/global_illumination/brick4/gpu/draw/shader_brick4_specular.js +5 -35
  116. package/src/shade/renderer/particles/DESIGN.md +703 -514
  117. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +16 -4
  118. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  119. package/src/shade/renderer/particles/GPUParticleSystem.js +1189 -991
  120. package/src/shade/renderer/particles/ParticleConstants.d.ts +64 -0
  121. package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
  122. package/src/shade/renderer/particles/ParticleConstants.js +71 -0
  123. package/src/shade/renderer/particles/bounds/chunk_particle_bounds.d.ts +57 -0
  124. package/src/shade/renderer/particles/bounds/chunk_particle_bounds.d.ts.map +1 -0
  125. package/src/shade/renderer/particles/bounds/chunk_particle_bounds.js +181 -0
  126. package/src/shade/renderer/particles/bounds/chunk_particle_bounds_unknown.d.ts +7 -0
  127. package/src/shade/renderer/particles/bounds/chunk_particle_bounds_unknown.d.ts.map +1 -0
  128. package/src/shade/renderer/particles/bounds/chunk_particle_bounds_unknown.js +12 -0
  129. package/src/shade/renderer/particles/bounds/graph_particle_bounds.d.ts +33 -0
  130. package/src/shade/renderer/particles/bounds/graph_particle_bounds.d.ts.map +1 -0
  131. package/src/shade/renderer/particles/bounds/graph_particle_bounds.js +67 -0
  132. package/src/shade/renderer/particles/bounds/shader_particle_bounds.d.ts +40 -0
  133. package/src/shade/renderer/particles/bounds/shader_particle_bounds.d.ts.map +1 -0
  134. package/src/shade/renderer/particles/bounds/shader_particle_bounds.js +187 -0
  135. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +15 -2
  136. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
  137. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +14 -8
  138. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts +58 -4
  139. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts.map +1 -1
  140. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.js +79 -4
  141. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.d.ts +23 -1
  142. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.d.ts.map +1 -1
  143. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STATE.js +35 -2
  144. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +4 -2
  145. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -1
  146. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +5 -8
  147. package/src/shade/renderer/particles/data/particle_emitter_record.d.ts.map +1 -1
  148. package/src/shade/renderer/particles/data/particle_emitter_record.js +0 -6
  149. package/src/shade/renderer/particles/graph_particles.d.ts +25 -3
  150. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  151. package/src/shade/renderer/particles/graph_particles.js +108 -31
  152. package/src/shade/renderer/particles/graph_particles_avboit.d.ts +6 -4
  153. package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
  154. package/src/shade/renderer/particles/graph_particles_avboit.js +5 -5
  155. package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts +5 -0
  156. package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts.map +1 -1
  157. package/src/shade/renderer/particles/runtime/EmitterRegistry.js +27 -6
  158. package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.d.ts +4 -0
  159. package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.d.ts.map +1 -1
  160. package/src/shade/renderer/particles/runtime/GPUParticleEmitterContext.js +6 -1
  161. package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +35 -27
  162. package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts.map +1 -1
  163. package/src/shade/renderer/particles/runtime/ParticleEmitter.js +424 -425
  164. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_warmup.d.ts +20 -0
  165. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_warmup.d.ts.map +1 -0
  166. package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts +4 -0
  167. package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts.map +1 -1
  168. package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +38 -2
  169. package/src/shade/renderer/particles/shaders/chunk_particle_spawn_budget.d.ts +22 -0
  170. package/src/shade/renderer/particles/shaders/chunk_particle_spawn_budget.d.ts.map +1 -0
  171. package/src/shade/renderer/particles/shaders/chunk_particle_spawn_budget.js +42 -0
  172. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +1 -1
  173. package/src/shade/renderer/particles/shaders/shader_particle_avboit_occupancy.d.ts.map +1 -1
  174. package/src/shade/renderer/particles/shaders/shader_particle_avboit_occupancy.js +53 -22
  175. package/src/shade/renderer/particles/shaders/shader_particle_emitter_tick.d.ts.map +1 -1
  176. package/src/shade/renderer/particles/shaders/shader_particle_emitter_tick.js +213 -216
  177. package/src/shade/renderer/particles/shaders/shader_particle_reclaim.d.ts +50 -0
  178. package/src/shade/renderer/particles/shaders/shader_particle_reclaim.d.ts.map +1 -0
  179. package/src/shade/renderer/particles/shaders/shader_particle_render.js +1 -1
  180. package/src/shade/renderer/particles/warmup/chunk_particle_warmup_step.d.ts +36 -0
  181. package/src/shade/renderer/particles/warmup/chunk_particle_warmup_step.d.ts.map +1 -0
  182. package/src/shade/renderer/particles/warmup/chunk_particle_warmup_step.js +102 -0
  183. package/src/shade/renderer/particles/warmup/graph_particle_warmup.d.ts +102 -0
  184. package/src/shade/renderer/particles/warmup/graph_particle_warmup.d.ts.map +1 -0
  185. package/src/shade/renderer/particles/warmup/graph_particle_warmup.js +329 -0
  186. package/src/shade/renderer/particles/warmup/shader_particle_warmup.d.ts +112 -0
  187. package/src/shade/renderer/particles/warmup/shader_particle_warmup.d.ts.map +1 -0
  188. package/src/shade/renderer/particles/warmup/shader_particle_warmup.js +318 -0
  189. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts +35 -0
  190. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -0
  191. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +108 -0
  192. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts +3 -0
  193. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -0
  194. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +70 -0
  195. package/src/shade/renderer/particles/warmup/warmup_schedule.d.ts +62 -0
  196. package/src/shade/renderer/particles/warmup/warmup_schedule.d.ts.map +1 -0
  197. package/src/shade/renderer/particles/warmup/warmup_schedule.js +55 -0
  198. package/src/shade/renderer/postprocess/PostProcess.d.ts.map +1 -1
  199. package/src/shade/renderer/postprocess/PostProcess.js +2 -1
  200. package/src/shade/renderer/postprocess/ssr/REPROJECTION_PROPOSAL.md +286 -0
  201. package/src/shade/renderer/postprocess/ssr/SSR.d.ts +57 -21
  202. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  203. package/src/shade/renderer/postprocess/ssr/SSR.js +230 -129
  204. package/src/shade/renderer/postprocess/ssr/SSRReprojectionMode.d.ts +11 -0
  205. package/src/shade/renderer/postprocess/ssr/SSRReprojectionMode.d.ts.map +1 -0
  206. package/src/shade/renderer/postprocess/ssr/SSRReprojectionMode.js +6 -0
  207. package/src/shade/renderer/postprocess/ssr/chunk_ssr_metadata.d.ts +4 -0
  208. package/src/shade/renderer/postprocess/ssr/chunk_ssr_metadata.d.ts.map +1 -0
  209. package/src/shade/renderer/postprocess/ssr/chunk_ssr_metadata.js +32 -0
  210. package/src/shade/renderer/postprocess/ssr/chunk_ssr_spatial_variance.d.ts +4 -0
  211. package/src/shade/renderer/postprocess/ssr/chunk_ssr_spatial_variance.d.ts.map +1 -0
  212. package/src/shade/renderer/postprocess/ssr/chunk_ssr_spatial_variance.js +41 -0
  213. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts +3 -0
  214. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts.map +1 -0
  215. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.js +30 -0
  216. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_sample_history.d.ts +4 -0
  217. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_sample_history.d.ts.map +1 -0
  218. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_sample_history.js +70 -0
  219. package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.d.ts +21 -0
  220. package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.d.ts.map +1 -0
  221. package/src/shade/renderer/postprocess/ssr/resolve/build_ssr_resolve_shader.js +363 -0
  222. package/src/shade/renderer/postprocess/ssr/resolve/chunk_get_neighbour_weight.js +1 -1
  223. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.d.ts +2 -0
  224. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.d.ts.map +1 -0
  225. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_Brick4.js +24 -0
  226. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.d.ts +1 -6
  227. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.d.ts.map +1 -1
  228. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_IBL.js +16 -332
  229. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.d.ts +1 -6
  230. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.d.ts.map +1 -1
  231. package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader_LPV.js +25 -358
  232. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts +0 -5
  233. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
  234. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +201 -276
  235. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts +1 -0
  236. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts.map +1 -1
  237. package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js +167 -143
  238. package/src/shade/renderer/shader/graph/graph_create_buffer.d.ts +15 -0
  239. package/src/shade/renderer/shader/graph/graph_create_buffer.d.ts.map +1 -0
  240. package/src/shade/renderer/shader/graph/graph_create_buffer.js +20 -0
  241. package/src/shade/renderer/view/GPUViewContext.d.ts +3 -4
  242. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  243. package/src/shade/renderer/view/GPUViewContext.js +5 -5
  244. package/src/core/binary/meshopt/__meshopt_test_streams.d.ts +0 -24
  245. package/src/core/binary/meshopt/__meshopt_test_streams.d.ts.map +0 -1
  246. package/src/core/binary/meshopt/__meshopt_test_streams.js +0 -237
  247. package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts +0 -84
  248. package/src/core/geom/3d/atlas/atlas_test_fixtures.d.ts.map +0 -1
  249. package/src/core/geom/3d/atlas/atlas_test_fixtures.js +0 -266
  250. package/src/engine/asset/loaders/gltf_test_fixtures.d.ts +0 -97
  251. package/src/engine/asset/loaders/gltf_test_fixtures.d.ts.map +0 -1
  252. package/src/engine/asset/loaders/gltf_test_fixtures.js +0 -359
  253. package/src/shade/renderer/animation/skin_test_fixtures.d.ts +0 -86
  254. package/src/shade/renderer/animation/skin_test_fixtures.d.ts.map +0 -1
  255. package/src/shade/renderer/animation/skin_test_fixtures.js +0 -250
  256. package/src/shade/renderer/geometry/virtual/format/attribute/vgeo_layers_test_fixtures.d.ts +0 -16
  257. package/src/shade/renderer/geometry/virtual/format/attribute/vgeo_layers_test_fixtures.d.ts.map +0 -1
  258. package/src/shade/renderer/geometry/virtual/format/attribute/vgeo_layers_test_fixtures.js +0 -27
  259. package/src/shade/renderer/particles/particle_test_fixtures.d.ts +0 -151
  260. package/src/shade/renderer/particles/particle_test_fixtures.d.ts.map +0 -1
  261. package/src/shade/renderer/particles/particle_test_fixtures.js +0 -229
  262. package/src/shade/renderer/particles/shaders/chunk_particle_emitter_world_sphere.js +0 -23
  263. package/src/shade/renderer/postprocess/ssr/reproject/shader_ffx_denoiser_reflections_reproject.js +0 -457
@@ -1,276 +1,201 @@
1
- import { CAMERA_UNIFORM_STRUCT } from "../../camera/CAMERA_UNIFORM_STRUCT.js";
2
- import { chunk_aabb3_normalized_dist } from "../../shader/chunk/geometry/aabb3/chunk_line_aabb3_clipping_distance.js";
3
- import { chunk_get_std_dev } from "../../shader/chunk/math/statistics/chunk_get_std_dev.js";
4
- import {
5
- chunk_texture_sample_catmullrom_hardware_5tap_uv
6
- } from "../../shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.js";
7
- import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
8
- import { ImageShader } from "../../shader/ImageShader.js";
9
- import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
10
- import { ShaderDescriptor } from "../../shader/ShaderDescriptor.js";
11
- import { SAMPLER_LINEAR_UPSCALE } from "../../texture/SAMPLER_LINEAR_UPSCALE.js";
12
- import { chunk_color_clip_to_aabb3 } from "../taa/chunk_color_clip_to_aabb3.js";
13
- import { chunk_taa_decode_color } from "../taa/chunk_taa_decode_color.js";
14
- import { chunk_taa_encode_color } from "../taa/chunk_taa_encode_color.js";
15
- import { chunk_taa_history_color_bounding_box_YCoCg } from "../taa/chunk_taa_history_color_bounding_box_YCoCg.js";
16
- import { chunk_taa_velocity_confidence, chunk_taa_velocity_variance_scale } from "../taa/shader_taa.js";
17
- import { chunk_taa_get_velocity } from "../velocity/chunk_taa_get_velocity.js";
18
-
19
- const resources = new ShaderResourceSetDescriptor();
20
- resources.createGroup()
21
- .addTexture("tInput")
22
- .addTexture("tVelocity")
23
- .addTexture("tOcclusion")
24
- .addTexture("tHistory", "float")
25
- .addSampler("sLinear","filtering", SAMPLER_LINEAR_UPSCALE)
26
- .addUniform("camera_current", CAMERA_UNIFORM_STRUCT)
27
- .addUniform("camera_previous", CAMERA_UNIFORM_STRUCT)
28
- ;
29
-
30
-
31
- /**
32
- * Note: result will be in YCoCg color space
33
- * @see https://projects.blender.org/blender/blender/src/commit/866ef5b468589587395b1ee7480ea75b4c0fbc26/source/blender/draw/engines/eevee_next/shaders/eevee_film_lib.glsl#L340
34
- * @see https://github.com/GameTechDev/TAA/blob/39786709cf70a1e0906196c600f6079571a33ceb/MiniEngine/Core/Shaders/TAAResolve.hlsl#L472
35
- * @type {CodeChunk}
36
- */
37
- export const chunk_ssr_history_color_bounding_box_YCoCg = CodeChunk.from(
38
- //language=WGSL
39
- `
40
- fn ssr_history_color_bounding_box_YCoCg(
41
- current_color_texture: texture_2d<f32>,
42
- in_current_colour_variance:vec4<f32>,
43
- in_screen_st:vec2<i32>,
44
-
45
- in_variance_gamma: f32,
46
-
47
- out_min_c: ptr< function, vec3<f32> >,
48
- out_max_c: ptr< function, vec3<f32> >,
49
- ) {
50
-
51
- const offsets = array< vec2<i32>,8>(
52
- vec2( -1, -1 ),
53
- vec2( 0, -1 ),
54
- vec2( 1, -1 ),
55
-
56
- vec2( -1, 0 ),
57
- vec2( 1, 0 ),
58
-
59
- vec2( -1, 1 ),
60
- vec2( 0, 1 ),
61
- vec2( 1, 1 ),
62
- );
63
-
64
- const iteratorMax = 8;
65
- const rcp_divider = 1.f / 9.f;
66
-
67
- // calcluate mean value (mean) and standard deviation (variance)
68
-
69
- var moment1 = in_current_colour_variance.rgb;
70
- var moment2 = moment1*moment1;
71
- var source_variance = in_current_colour_variance.w;
72
-
73
- for (var i = 0; i < iteratorMax; i++ ) {
74
- let new_st = in_screen_st + offsets[ i ];
75
-
76
- let texel = textureLoad( current_color_texture, new_st, 0 );
77
- let new_colour = taa_encode_color( texel.rgb );
78
-
79
- moment1 += new_colour;
80
- moment2 += new_colour*new_colour;
81
-
82
- source_variance += texel.w;
83
- }
84
-
85
- source_variance *= rcp_divider;
86
-
87
- // get resolve-stage standard deviation
88
- let source_std_dev = sqrt(source_variance);
89
-
90
- // Apply perceptual weighting to variance.
91
- // Y (Luma) is critical for structural sharpness -> Keep strict (1.0x).
92
- // Co/Cg (Chroma) is less noticeable to human perception -> Relax to prevent color flickering/desaturation.
93
- // Cg (green) has stronger visual response than Co (orange) to human perception
94
- const variance_scale = vec3(1.0, 1.4, 1.2);
95
-
96
- // Apply the base gamma to the perceptual scale
97
- let final_sigma = variance_scale * in_variance_gamma * (1 + source_std_dev);
98
-
99
- let mean = moment1 * rcp_divider;
100
- let std_dev = get_std_dev3(mean, moment2 * rcp_divider );
101
-
102
- let sigma = std_dev * final_sigma;
103
-
104
- *out_min_c = mean - sigma;
105
- *out_max_c = mean + sigma;
106
-
107
- }
108
- `,
109
- [
110
- chunk_get_std_dev,
111
- chunk_taa_decode_color,
112
- chunk_taa_encode_color,
113
- ]
114
- )
115
-
116
- /**
117
- * Weight samples more heavily when variance is low (less noise)
118
- * @type {CodeChunk}
119
- */
120
- export const chunk_ssr_variance_weight = CodeChunk.from(
121
- //language=WGSL
122
- `
123
- fn ssr_variance_weight(variance:f32) -> f32{
124
- return 1 / ( 1 + variance );
125
- }
126
- `
127
- )
128
-
129
- const body = CodeChunk.from(
130
- //language=WGSL
131
- `
132
-
133
- @fragment
134
- fn main(
135
- @builtin(position) coord: vec4<f32>,
136
- @location(0) uv: vec2<f32>,
137
- ) -> @location(0) vec4<f32> {
138
- let screenST = vec2<i32>( coord.xy );
139
-
140
- let occlusion = textureLoad(tOcclusion, screenST, 0).r;
141
- let current_texel = textureLoad(tInput, screenST, 0);
142
-
143
- // get velocity
144
- let velocity = taa_get_velocity( tVelocity, screenST );
145
-
146
- // prev frame ST
147
- let prevFrameScreenST = coord.xy - velocity.xy;
148
-
149
- // off-screen history must be rejected explicitly: the depth-clip pass deliberately
150
- // reports confidence 1.0 for fully off-screen footprints (downstream consumers own
151
- // this check — TAA and AO reproject both do it), and the clamp-to-edge sampler would
152
- // otherwise smear border texels in during camera pans
153
- let history_dimensions = vec2f(textureDimensions(tHistory));
154
- let history_within_screen = all(prevFrameScreenST >= vec2(0.0)) && all(prevFrameScreenST < history_dimensions);
155
-
156
- var output: vec4<f32>;
157
-
158
- if( occlusion <= 0.001 || !history_within_screen ) {
159
- // no valid reprojection
160
- output = current_texel;
161
- }else{
162
-
163
- let prev_uv = prevFrameScreenST / vec2<f32>(textureDimensions(tHistory));
164
-
165
- let history_color_raw = max(
166
- vec4(0.0),
167
- texture_sample_catmullrom_hardware_5tap_uv( tHistory, sLinear, prev_uv )
168
- );
169
-
170
- let history_variance = history_color_raw.w;
171
-
172
-
173
- let current_YCoCg = taa_encode_color(current_texel.rgb);
174
- let history_YCoCg = taa_encode_color(history_color_raw.rgb);
175
-
176
-
177
- var current_mean: vec3<f32>;
178
- var current_moment2 : vec3<f32>;
179
-
180
- const FIXED_VARIANCE_SCALE = 2;
181
-
182
- let veclocity_confidence = taa_velocity_confidence(velocity);
183
- let variance_scale = taa_velocity_variance_scale( veclocity_confidence ) * FIXED_VARIANCE_SCALE;
184
-
185
- var min_c: vec3<f32>;
186
- var max_c: vec3<f32>;
187
-
188
- ssr_history_color_bounding_box_YCoCg(
189
- tInput,
190
- vec4(current_YCoCg, current_texel.w),
191
- screenST,
192
- variance_scale,
193
- &min_c,
194
- &max_c,
195
- );
196
-
197
-
198
- // clip history colour to the bounding box of expected colours based on the current frame colour
199
- let adjusted_history_YCoCg = color_clip_to_aabb3(
200
- history_YCoCg,
201
- current_YCoCg,
202
- min_c,
203
- max_c,
204
- );
205
-
206
- var blend = 0.05;
207
-
208
- //
209
- blend = mix(1.0, blend, occlusion * veclocity_confidence);
210
-
211
- // We detect when clamp would occur and dampen the incoming sample's contribution to counteract it.
212
- // see "High Quality Temporal Supersampling" by Brian Karis, EpicGames SIGGRAPH 2014
213
- let t_clamp = saturate(aabb3_normalized_dist_from_center(
214
- current_YCoCg,
215
- adjusted_history_YCoCg,
216
- min_c,
217
- max_c,
218
- ));
219
-
220
- blend *= mix(0.2, 1.0, t_clamp * t_clamp);
221
-
222
- var weight_current = blend;
223
- var weight_history = (1.0 - blend);
224
-
225
- // adjust blend based on variance
226
- weight_current *= ssr_variance_weight(current_texel.w);
227
- weight_history *= ssr_variance_weight(history_variance);
228
-
229
- // renormalize weights
230
- let weight_renorm = 1.0 / (weight_current + weight_history);
231
-
232
- weight_current *= weight_renorm;
233
- weight_history *= weight_renorm;
234
-
235
-
236
- let mixed_color = taa_decode_color( mix(current_YCoCg, adjusted_history_YCoCg, weight_history) );
237
-
238
- let mixed_variance = mix(current_texel.w, history_variance, weight_history);
239
-
240
- output = vec4(
241
- mixed_color,
242
- mixed_variance
243
- );
244
-
245
- }
246
-
247
-
248
- return output;
249
- }
250
- `,
251
- [
252
- chunk_taa_decode_color,
253
- chunk_taa_encode_color,
254
- chunk_taa_get_velocity,
255
- chunk_texture_sample_catmullrom_hardware_5tap_uv,
256
- chunk_taa_history_color_bounding_box_YCoCg,
257
- chunk_color_clip_to_aabb3,
258
- chunk_ssr_history_color_bounding_box_YCoCg,
259
- chunk_taa_velocity_confidence,
260
- chunk_taa_velocity_variance_scale,
261
- chunk_ssr_variance_weight,
262
- chunk_aabb3_normalized_dist,
263
- ]
264
- );
265
-
266
-
267
- export const ssr_reproject_shader = new ImageShader({
268
- descriptor: ShaderDescriptor.from({
269
- label: "SSR Reproject",
270
- body,
271
- resources,
272
- }),
273
- targets: [{
274
- format: "rgba16float",
275
- }]
276
- });
1
+ import { CAMERA_UNIFORM_STRUCT } from "../../camera/CAMERA_UNIFORM_STRUCT.js";
2
+ import { chunk_aabb3_normalized_dist } from "../../shader/chunk/geometry/aabb3/chunk_line_aabb3_clipping_distance.js";
3
+ import { chunk_get_std_dev3 } from "../../shader/chunk/math/statistics/chunk_get_std_dev3.js";
4
+ import { chunk_screen_coordinate_to_world } from "../../shader/chunk/camera/chunk_screen_coordinate_to_world.js";
5
+ import { chunk_get_view_space_depth } from "../../shader/chunk/depth/chunk_get_view_space_depth.js";
6
+ import { chunk_decode_g_buffer_normal } from "../../shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
7
+ import { chunk_decode_g_buffer_roughness } from "../../shader/chunk/material/chunk_decode_g_buffer_roughness.js";
8
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
9
+ import { ImageShader } from "../../shader/ImageShader.js";
10
+ import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
11
+ import { ShaderDescriptor } from "../../shader/ShaderDescriptor.js";
12
+ import { WebGPUStruct } from "../../shader/type/WebGPUStruct.js";
13
+ import { f32, u32, vec2f } from "../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
14
+ import { chunk_color_clip_to_aabb3 } from "../taa/chunk_color_clip_to_aabb3.js";
15
+ import { chunk_taa_decode_color } from "../taa/chunk_taa_decode_color.js";
16
+ import { chunk_taa_encode_color } from "../taa/chunk_taa_encode_color.js";
17
+ import { chunk_taa_velocity_confidence, chunk_taa_velocity_variance_scale } from "../taa/shader_taa.js";
18
+ import { chunk_depth_clip_offset_codec } from "../taa/chunk_depth_clip_offset_codec.js";
19
+ import { chunk_ssr_reprojection } from "./reproject/chunk_ssr_reprojection.js";
20
+ import { chunk_ssr_sample_history } from "./reproject/chunk_ssr_sample_history.js";
21
+
22
+ const settings = WebGPUStruct.from({ history_validity: f32, reprojection_mode: u32, jitter_delta: vec2f });
23
+ const resources = new ShaderResourceSetDescriptor();
24
+ resources.setImmediate("settings", settings);
25
+ resources.createGroup()
26
+ .addTexture("tInput")
27
+ .addTexture("tMetadata", "unfilterable-float")
28
+ .addTexture("tDepth")
29
+ .addTexture("tNormal", "uint")
30
+ .addTexture("tPBR")
31
+ .addTexture("tVelocity")
32
+ .addTexture("tOcclusion")
33
+ .addTexture("tHistory")
34
+ .addTexture("tHistoryMetadata", "unfilterable-float")
35
+ .addTexture("tHistoryGeometry")
36
+ .addTexture("tPreviousDepth")
37
+ .addUniform("camera_current", CAMERA_UNIFORM_STRUCT)
38
+ .addUniform("camera_previous", CAMERA_UNIFORM_STRUCT);
39
+
40
+ /**
41
+ * Note: result will be in YCoCg color space
42
+ * @see https://projects.blender.org/blender/blender/src/commit/866ef5b468589587395b1ee7480ea75b4c0fbc26/source/blender/draw/engines/eevee_next/shaders/eevee_film_lib.glsl#L340
43
+ * @see https://github.com/GameTechDev/TAA/blob/39786709cf70a1e0906196c600f6079571a33ceb/MiniEngine/Core/Shaders/TAAResolve.hlsl#L472
44
+ * @type {CodeChunk}
45
+ */
46
+ export const chunk_ssr_history_color_bounding_box_YCoCg = CodeChunk.from(
47
+ //language=WGSL
48
+ `
49
+ fn ssr_history_color_bounding_box_YCoCg(
50
+ current_color_texture: texture_2d<f32>,
51
+ in_current_colour_variance:vec4<f32>,
52
+ in_screen_st:vec2<i32>,
53
+
54
+ in_variance_gamma: f32,
55
+
56
+ out_min_c: ptr< function, vec3<f32> >,
57
+ out_max_c: ptr< function, vec3<f32> >,
58
+ ) {
59
+
60
+ const offsets = array< vec2<i32>,8>(
61
+ vec2( -1, -1 ),
62
+ vec2( 0, -1 ),
63
+ vec2( 1, -1 ),
64
+
65
+ vec2( -1, 0 ),
66
+ vec2( 1, 0 ),
67
+
68
+ vec2( -1, 1 ),
69
+ vec2( 0, 1 ),
70
+ vec2( 1, 1 ),
71
+ );
72
+
73
+ const iteratorMax = 8;
74
+ const rcp_divider = 1.f / 9.f;
75
+
76
+ // calcluate mean value (mean) and standard deviation (variance)
77
+
78
+ var moment1 = in_current_colour_variance.rgb;
79
+ var moment2 = moment1*moment1;
80
+ var source_variance = in_current_colour_variance.w;
81
+
82
+ for (var i = 0; i < iteratorMax; i++ ) {
83
+ let new_st = clamp(in_screen_st + offsets[i], vec2i(0), vec2i(textureDimensions(current_color_texture)) - 1);
84
+
85
+ let texel = textureLoad( current_color_texture, new_st, 0 );
86
+ let new_colour = taa_encode_color( texel.rgb );
87
+
88
+ moment1 += new_colour;
89
+ moment2 += new_colour*new_colour;
90
+
91
+ source_variance += texel.w;
92
+ }
93
+
94
+ source_variance *= rcp_divider;
95
+
96
+ // get resolve-stage standard deviation
97
+ let source_std_dev = sqrt(source_variance);
98
+
99
+ // Apply perceptual weighting to variance.
100
+ // Y (Luma) is critical for structural sharpness -> Keep strict (1.0x).
101
+ // Co/Cg (Chroma) is less noticeable to human perception -> Relax to prevent color flickering/desaturation.
102
+ // Cg (green) has stronger visual response than Co (orange) to human perception
103
+ const variance_scale = vec3(1.0, 1.4, 1.2);
104
+
105
+ // Apply the base gamma to the perceptual scale
106
+ let final_sigma = variance_scale * in_variance_gamma * (1 + source_std_dev);
107
+
108
+ let mean = moment1 * rcp_divider;
109
+ let std_dev = get_std_dev3(mean, moment2 * rcp_divider );
110
+
111
+ let sigma = std_dev * final_sigma;
112
+
113
+ *out_min_c = mean - sigma;
114
+ *out_max_c = mean + sigma;
115
+
116
+ }
117
+ `,
118
+ [
119
+ chunk_get_std_dev3,
120
+ chunk_taa_decode_color,
121
+ chunk_taa_encode_color,
122
+ ]
123
+ )
124
+
125
+
126
+ const body = CodeChunk.from(/* language=WGSL */ `
127
+ struct SSRTemporalOutput {
128
+ @location(0) radiance: vec4f,
129
+ @location(1) metadata: vec2f,
130
+ @location(2) geometry: vec4f,
131
+ }
132
+
133
+ @fragment
134
+ fn main(@builtin(position) coord: vec4f) -> SSRTemporalOutput {
135
+ let st = vec2i(coord.xy);
136
+ let current = textureLoad(tInput, st, 0);
137
+ let metadata = textureLoad(tMetadata, st, 0).rg;
138
+ let normal = decode_g_buffer_normal(textureLoad(tNormal, st, 0).xy);
139
+ let roughness = decode_g_buffer_roughness(textureLoad(tPBR, st, 0));
140
+ var output: SSRTemporalOutput;
141
+ output.radiance = current;
142
+ output.metadata = metadata;
143
+ output.geometry = vec4f(normal, roughness);
144
+ let depth = textureLoad(tDepth, st, 0).r;
145
+ // A reset must never read history, even when stale textures contain non-finite values.
146
+ if (settings.history_validity <= 0.0 || settings.reprojection_mode == 2u || is_background(depth)) { return output; }
147
+
148
+ let position = screen_coordinate_to_world(vec2u(st), tDepth, camera_current);
149
+ let camera_position = camera_current.view_matrix_inverse[3].xyz;
150
+ let virtual_position = ssr_virtual_position(camera_position, position, metadata.x);
151
+ let plane_tolerance = max(1e-4, 0.002 * get_view_space_depth(depth, camera_current));
152
+ let size = vec2f(textureDimensions(tHistory));
153
+ var history: SSRHistorySample;
154
+ var confidence = 0.0;
155
+ var motion_confidence = 1.0;
156
+ let virtual_eligible = settings.reprojection_mode != 1u && metadata.y >= 0.75 && metadata.x > 0.0 && is_finite(metadata.x) && roughness <= 0.2;
157
+ if (virtual_eligible) {
158
+ let uv = ssr_history_uv(virtual_position, camera_previous.view_projection_matrix);
159
+ history = ssr_sample_history(uv, position, normal, roughness, metadata, virtual_position, true, plane_tolerance);
160
+ confidence = history.confidence;
161
+ }
162
+ if (confidence < 0.5) {
163
+ let velocity = depth_clip_validated_velocity(tOcclusion, tVelocity, st);
164
+ motion_confidence = taa_velocity_confidence(velocity);
165
+ let surface_confidence = textureLoad(tOcclusion, st, 0).r * motion_confidence;
166
+ if (surface_confidence <= 0.001) { return output; }
167
+ let uv = ssr_surface_history_uv(coord.xy, velocity, settings.jitter_delta, size);
168
+ history = ssr_sample_history(uv, position, normal, roughness, metadata, virtual_position, false, plane_tolerance);
169
+ confidence = history.confidence * surface_confidence;
170
+ // Surface correspondence alone cannot justify a long history for a smooth finite reflection.
171
+ if (virtual_eligible) { confidence *= 0.25; }
172
+ }
173
+ if (confidence <= 0.001) { return output; }
174
+
175
+ let current_color = taa_encode_color(current.rgb);
176
+ let history_color = taa_encode_color(history.radiance.rgb);
177
+ var min_c: vec3f;
178
+ var max_c: vec3f;
179
+ ssr_history_color_bounding_box_YCoCg(tInput, vec4f(current_color, current.w), st,
180
+ 2.0 * taa_velocity_variance_scale(motion_confidence), &min_c, &max_c);
181
+ let clipped = color_clip_to_aabb3(history_color, current_color, min_c, max_c);
182
+ let tension = saturate(aabb3_normalized_dist_from_center(current_color, clipped, min_c, max_c));
183
+ let blend = 0.05 * mix(0.2, 1.0, tension * tension);
184
+ // Geometry cannot see motion of the reflected object. Respond to radiance disagreement too.
185
+ let difference = length(history_color - current_color);
186
+ let reactive = 1.0 / (1.0 + 16.0 * difference);
187
+ let weight = ssr_history_weight(current.w, history.radiance.w, blend, confidence * reactive);
188
+ output.radiance = vec4f(taa_decode_color(mix(current_color, clipped, weight)),
189
+ mix(current.w, history.radiance.w, weight));
190
+ return output;
191
+ }
192
+ `, [chunk_ssr_reprojection, chunk_ssr_sample_history, chunk_screen_coordinate_to_world,
193
+ chunk_get_view_space_depth, chunk_decode_g_buffer_normal, chunk_decode_g_buffer_roughness,
194
+ chunk_depth_clip_offset_codec, chunk_taa_encode_color, chunk_taa_decode_color,
195
+ chunk_ssr_history_color_bounding_box_YCoCg, chunk_color_clip_to_aabb3,
196
+ chunk_aabb3_normalized_dist, chunk_taa_velocity_confidence, chunk_taa_velocity_variance_scale]);
197
+
198
+ export const ssr_reproject_shader = new ImageShader({
199
+ descriptor: ShaderDescriptor.from({ label: "SSR Reproject", body, resources }),
200
+ targets: [{ format: "rgba16float" }, { format: "rg32float" }, { format: "rgba16float" }],
201
+ });
@@ -1,3 +1,4 @@
1
1
  export const ssr_spatial_denoise_shader: ImageShader;
2
+ export const ssr_spatial_denoise_metadata_shader: ImageShader;
2
3
  import { ImageShader } from "../../shader/ImageShader.js";
3
4
  //# sourceMappingURL=ssr_spatial_denoise_shader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssr_spatial_denoise_shader.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js"],"names":[],"mappings":"AAmIA,qDAWE;4BAtI0B,6BAA6B"}
1
+ {"version":3,"file":"ssr_spatial_denoise_shader.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js"],"names":[],"mappings":"AAqKA,qDAAuE;AACvE,8DAA+E;4BA5JnD,6BAA6B"}