@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,143 +1,167 @@
1
- import { chunk_rgb_to_luminance } from "../../shader/chunk/color/chunk_rgb_to_luminance.js";
2
- import { chunk_rgb_to_YCoCg } from "../../shader/chunk/color/YCoCg/chunk_rgb_to_YCoCg.js";
3
- import { chunk_decode_g_buffer_normal } from "../../shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
4
- import { chunk_safe_sqrt } from "../../shader/chunk/math/chunk_safe_sqrt.js";
5
- import {
6
- chunk_texture_channel_gaussian_3x3
7
- } from "../../shader/chunk/texture/chunk_texture_channel_gaussian_3x3.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 { chunk_luma_edge_stopping_weight } from "../../shader/chunk/filter/chunk_compute_edge_stopping_weight.js";
13
- import { ATORUS_UNIFORMS_STRUCT } from "../denoise/fragment_shader_denoise_ao.js";
14
- import {
15
- chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight
16
- } from "./prefilter/chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight.js";
17
- import {
18
- chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight
19
- } from "./prefilter/chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight.js";
20
-
21
- const resources = new ShaderResourceSetDescriptor();
22
-
23
- // per-pass, four bytes, read-only: immediate data rather than a uniform buffer
24
- resources.setImmediate("settings", ATORUS_UNIFORMS_STRUCT);
25
- resources.createGroup()
26
- .addTexture("tInput")
27
- .addTexture("tDepth")
28
- .addTexture("tNormal", "uint");
29
-
30
- const body = CodeChunk.from(
31
- //language=WGSL
32
- `
33
- const phi_visibility = 10.0;
34
- const phi_normal = 32.0;
35
- const sigma_depth = 1.0;
36
-
37
- @fragment
38
- fn main(
39
- @builtin(position) coord: vec4<f32>,
40
- ) -> @location(0) vec4<f32>{
41
- let ipos = vec2<i32>(coord.xy);
42
- let screen_size = vec2<i32>(textureDimensions(tInput));
43
-
44
- const eps_variance = 1e-10;
45
- const kernel_weights = array<f32,3>( 1.0, 2.0 / 3.0, 1.0 / 6.0 );
46
-
47
- // constant samplers to prevent the compiler from generating code which
48
- // fetches the sampler descriptor from memory for each texture access
49
- let center_color = textureLoad(tInput, ipos, 0);
50
-
51
- let center_color_luma = rgb_to_luminance(center_color.rgb);
52
-
53
- // variance for direct and indirect, filtered using 3x3 gaussin blur
54
- let variance = max(0.0, texture_channel_gaussian_3x3( ipos, tInput, 3));
55
-
56
- // explicitly store/accumulate center pixel with weight 1 to prevent issues
57
- // with the edge-stopping functions
58
- var sum_weight = 1.0;
59
- var sum_color = center_color;
60
-
61
-
62
- let current_normal = decode_g_buffer_normal( textureLoad(tNormal, ipos, 0).xy );
63
- let center_depth = textureLoad(tDepth, ipos, 0).r;
64
-
65
- const offsets = array< vec2<i32>,8>(
66
- vec2( -1, -1 ),
67
- vec2( 0, -1 ) ,
68
- vec2( 1, -1 ),
69
- vec2( -1, 0 ),
70
- vec2( 1, 0 ),
71
- vec2( -1, 1 ),
72
- vec2( 0, 1 ),
73
- vec2( 1, 1 ),
74
- );
75
-
76
- const num_samples = 8;
77
-
78
- let std_dev = safe_sqrt(variance);
79
-
80
- for(var i = 0; i < num_samples; i++){
81
- let offset = offsets[i];
82
-
83
- let p = ipos + offset * settings.step_size;
84
- let inside = all(p >= vec2(0, 0)) && all(p < screen_size);
85
-
86
- if(!inside){
87
- // off-screen
88
- continue;
89
- }
90
-
91
- let kernel = kernel_weights[ abs(offset.x) ] * kernel_weights[ abs(offset.y) ];
92
-
93
- let sample_color = textureLoad(tInput, p, 0);
94
- let sample_color_luma = rgb_to_luminance(sample_color.rgb);
95
-
96
- let sample_normal = decode_g_buffer_normal(textureLoad(tNormal, p, 0).xy);
97
- let sample_depth = textureLoad(tDepth, p, 0).r;
98
-
99
- // compute the edge-stopping functions
100
- var weight = 1.0;
101
-
102
- let phi_luma = max(0.001,std_dev * phi_visibility);
103
-
104
- weight *= ffx_dnsr_reflections_get_edge_stopping_normal_weight(current_normal, sample_normal);
105
- weight *= ffx_dnsr_reflections_get_edge_stopping_depth_weight(center_depth, sample_depth);
106
- weight *= exp(-luma_edge_stopping_weight(center_color_luma,sample_color_luma,phi_luma));
107
-
108
- let w_visibility = weight * kernel;
109
-
110
- // alpha channel contains the variance, therefore the weights need to be squared, see paper for the formula
111
- sum_weight += w_visibility;
112
- sum_color += vec4(vec3(w_visibility), w_visibility * w_visibility) * sample_color;
113
- }
114
-
115
- let out_visibility = sum_color / vec4(vec3(sum_weight), sum_weight * sum_weight);
116
-
117
- return vec4(out_visibility);
118
- }
119
- `,
120
- [
121
- ATORUS_UNIFORMS_STRUCT.declaration_chunk,
122
- chunk_texture_channel_gaussian_3x3,
123
- chunk_decode_g_buffer_normal,
124
- chunk_rgb_to_luminance,
125
- chunk_rgb_to_YCoCg,
126
- chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight,
127
- chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight,
128
- chunk_luma_edge_stopping_weight,
129
- chunk_safe_sqrt,
130
- ]);
131
-
132
- export const ssr_spatial_denoise_shader = new ImageShader({
133
- descriptor: ShaderDescriptor.from({
134
- label: "SSR / spatial denoise",
135
- body,
136
- resources
137
- }),
138
- targets: [
139
- {
140
- format: "rgba16float"
141
- }
142
- ]
143
- })
1
+ import { chunk_ssr_spatial_variance } from "./chunk_ssr_spatial_variance.js";
2
+ import { chunk_ssr_metadata } from "./chunk_ssr_metadata.js";
3
+ import { chunk_rgb_to_luminance } from "../../shader/chunk/color/chunk_rgb_to_luminance.js";
4
+ import { chunk_rgb_to_YCoCg } from "../../shader/chunk/color/YCoCg/chunk_rgb_to_YCoCg.js";
5
+ import { chunk_decode_g_buffer_normal } from "../../shader/chunk/geometry/normal/chunk_decode_g_buffer_normal.js";
6
+ import { chunk_safe_sqrt } from "../../shader/chunk/math/chunk_safe_sqrt.js";
7
+ import {
8
+ chunk_texture_channel_gaussian_3x3
9
+ } from "../../shader/chunk/texture/chunk_texture_channel_gaussian_3x3.js";
10
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
11
+ import { ImageShader } from "../../shader/ImageShader.js";
12
+ import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
13
+ import { ShaderDescriptor } from "../../shader/ShaderDescriptor.js";
14
+ import { chunk_luma_edge_stopping_weight } from "../../shader/chunk/filter/chunk_compute_edge_stopping_weight.js";
15
+ import { ATORUS_UNIFORMS_STRUCT } from "../denoise/fragment_shader_denoise_ao.js";
16
+ import {
17
+ chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight
18
+ } from "./prefilter/chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight.js";
19
+ import {
20
+ chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight
21
+ } from "./prefilter/chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight.js";
22
+
23
+ function create_spatial_shader(with_metadata) {
24
+ const resources = new ShaderResourceSetDescriptor();
25
+
26
+ // per-pass, four bytes, read-only: immediate data rather than a uniform buffer
27
+ resources.setImmediate("settings", ATORUS_UNIFORMS_STRUCT);
28
+ const group = resources.createGroup()
29
+ .addTexture("tInput")
30
+ .addTexture("tDepth")
31
+ .addTexture("tNormal", "uint");
32
+ if (with_metadata) { group.addTexture("tMetadata", "unfilterable-float"); }
33
+
34
+ const body = CodeChunk.from(
35
+ //language=WGSL
36
+ `
37
+ const phi_visibility = 10.0;
38
+ const phi_normal = 32.0;
39
+ const sigma_depth = 1.0;
40
+
41
+ @fragment
42
+ fn main(
43
+ @builtin(position) coord: vec4<f32>,
44
+ ) -> ${with_metadata ? "SSRResolveOutput" : "@location(0) vec4f"}{
45
+ let ipos = vec2<i32>(coord.xy);
46
+ let screen_size = vec2<i32>(textureDimensions(tInput));
47
+
48
+ const eps_variance = 1e-10;
49
+ const kernel_weights = array<f32,3>( 1.0, 2.0 / 3.0, 1.0 / 6.0 );
50
+
51
+ // constant samplers to prevent the compiler from generating code which
52
+ // fetches the sampler descriptor from memory for each texture access
53
+ let center_color = textureLoad(tInput, ipos, 0);
54
+
55
+ let center_color_luma = rgb_to_luminance(center_color.rgb);
56
+
57
+ // variance for direct and indirect, filtered using 3x3 gaussin blur
58
+ let input_variance = max(0.0, texture_channel_gaussian_3x3(ipos, tInput, 3));
59
+ ${with_metadata ? ` let bootstrap_variance = ssr_spatial_variance(tInput,tDepth,tNormal,ipos);
60
+ let variance = max(input_variance,bootstrap_variance);
61
+ var sum_squared_weights = 1.0;` : ` let variance = input_variance;`}
62
+
63
+ // explicitly store/accumulate center pixel with weight 1 to prevent issues
64
+ // with the edge-stopping functions
65
+ var sum_weight = 1.0;
66
+ var sum_color = center_color;
67
+ ${with_metadata ? ` let center_metadata = textureLoad(tMetadata, ipos, 0).rg;
68
+ var distance_moments = ssr_distance_moments(center_metadata.x, center_metadata.y, 1.0);` : ""}
69
+
70
+
71
+ let current_normal = decode_g_buffer_normal( textureLoad(tNormal, ipos, 0).xy );
72
+ let center_depth = textureLoad(tDepth, ipos, 0).r;
73
+
74
+ const offsets = array< vec2<i32>,8>(
75
+ vec2( -1, -1 ),
76
+ vec2( 0, -1 ) ,
77
+ vec2( 1, -1 ),
78
+ vec2( -1, 0 ),
79
+ vec2( 1, 0 ),
80
+ vec2( -1, 1 ),
81
+ vec2( 0, 1 ),
82
+ vec2( 1, 1 ),
83
+ );
84
+
85
+ const num_samples = 8;
86
+
87
+ let std_dev = safe_sqrt(variance);
88
+
89
+ for(var i = 0; i < num_samples; i++){
90
+ let offset: vec2i = offsets[i];
91
+
92
+ let p = ipos + offset * settings.step_size;
93
+ let inside = all(p >= vec2(0, 0)) && all(p < screen_size);
94
+
95
+ if(!inside){
96
+ // off-screen
97
+ continue;
98
+ }
99
+
100
+ let kernel = kernel_weights[ abs(offset.x) ] * kernel_weights[ abs(offset.y) ];
101
+
102
+ let sample_color = textureLoad(tInput, p, 0);
103
+ let sample_color_luma = rgb_to_luminance(sample_color.rgb);
104
+
105
+ let sample_normal = decode_g_buffer_normal(textureLoad(tNormal, p, 0).xy);
106
+ let sample_depth = textureLoad(tDepth, p, 0).r;
107
+
108
+ // compute the edge-stopping functions
109
+ var weight = 1.0;
110
+
111
+ let phi_luma = max(0.001,std_dev * phi_visibility);
112
+
113
+ weight *= ffx_dnsr_reflections_get_edge_stopping_normal_weight(current_normal, sample_normal);
114
+ weight *= ffx_dnsr_reflections_get_edge_stopping_depth_weight(center_depth, sample_depth);
115
+ weight *= exp(-luma_edge_stopping_weight(center_color_luma,sample_color_luma,phi_luma));
116
+
117
+ let w_visibility = weight * kernel;
118
+ ${with_metadata ? ` let metadata = textureLoad(tMetadata, p, 0).rg;
119
+ distance_moments += ssr_distance_moments(metadata.x, metadata.y, w_visibility);` : ""}
120
+
121
+ // alpha channel contains the variance, therefore the weights need to be squared, see paper for the formula
122
+ sum_weight += w_visibility;
123
+ ${with_metadata ? ` sum_squared_weights += w_visibility*w_visibility;` : ""}
124
+ sum_color += vec4(vec3(w_visibility), w_visibility * w_visibility) * sample_color;
125
+ }
126
+
127
+ var out_visibility = sum_color / vec4(vec3(sum_weight), sum_weight * sum_weight);
128
+ ${with_metadata ? ` // Carry bootstrap uncertainty forward so the next passes do not freeze again.
129
+ out_visibility.w = max(out_visibility.w,bootstrap_variance*sum_squared_weights/(sum_weight*sum_weight));` : ""}
130
+
131
+ ${with_metadata ? ` var output: SSRResolveOutput;
132
+ output.radiance = out_visibility;
133
+ output.metadata = ssr_resolve_metadata(distance_moments, 1.0);
134
+ return output;` : " return out_visibility;"}
135
+ }
136
+ `,
137
+ [
138
+ chunk_ssr_metadata,
139
+ ...(with_metadata ? [chunk_ssr_spatial_variance] : []),
140
+ ATORUS_UNIFORMS_STRUCT.declaration_chunk,
141
+ chunk_texture_channel_gaussian_3x3,
142
+ chunk_decode_g_buffer_normal,
143
+ chunk_rgb_to_luminance,
144
+ chunk_rgb_to_YCoCg,
145
+ chunk_ffx_dnsr_reflections_get_edge_stopping_normal_weight,
146
+ chunk_ffx_dnsr_reflections_get_edge_stopping_depth_weight,
147
+ chunk_luma_edge_stopping_weight,
148
+ chunk_safe_sqrt,
149
+ ]);
150
+
151
+ return new ImageShader({
152
+ descriptor: ShaderDescriptor.from({
153
+ label: with_metadata ? "SSR / spatial denoise with metadata" : "SSR / spatial denoise",
154
+ body,
155
+ resources
156
+ }),
157
+ targets: [
158
+ {
159
+ format: "rgba16float"
160
+ },
161
+ ...(with_metadata ? [{ format: "rg32float" }] : [])
162
+ ]
163
+ })
164
+ }
165
+
166
+ export const ssr_spatial_denoise_shader = create_spatial_shader(false);
167
+ export const ssr_spatial_denoise_metadata_shader = create_spatial_shader(true);
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A transient buffer with no producing pass of its own, for a binding a shader both reads and
3
+ * writes — the compute pass helpers create a buffer only for write-only bindings, and a read-write
4
+ * one wants a handle to thread.
5
+ *
6
+ * The buffer is created by an empty pass so the graph has a producer to hang it off; the pass
7
+ * executes nothing.
8
+ *
9
+ * @param {import("../../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} graph
10
+ * @param {string} label
11
+ * @param {import("../../../device/graph/BufferResourceDescriptor.js").BufferResourceDescriptor} descriptor
12
+ * @returns {number} the graph handle
13
+ */
14
+ export function graph_create_buffer(graph: import("../../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph, label: string, descriptor: import("../../../device/graph/BufferResourceDescriptor.js").BufferResourceDescriptor): number;
15
+ //# sourceMappingURL=graph_create_buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_create_buffer.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/shader/graph/graph_create_buffer.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,2CALW,OAAO,8DAA8D,EAAE,UAAU,SACjF,MAAM,cACN,OAAO,mDAAmD,EAAE,wBAAwB,GAClF,MAAM,CAMlB"}
@@ -0,0 +1,20 @@
1
+ import { noop } from "../../../../core/function/noop.js";
2
+
3
+ /**
4
+ * A transient buffer with no producing pass of its own, for a binding a shader both reads and
5
+ * writes — the compute pass helpers create a buffer only for write-only bindings, and a read-write
6
+ * one wants a handle to thread.
7
+ *
8
+ * The buffer is created by an empty pass so the graph has a producer to hang it off; the pass
9
+ * executes nothing.
10
+ *
11
+ * @param {import("../../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} graph
12
+ * @param {string} label
13
+ * @param {import("../../../device/graph/BufferResourceDescriptor.js").BufferResourceDescriptor} descriptor
14
+ * @returns {number} the graph handle
15
+ */
16
+ export function graph_create_buffer(graph, label, descriptor) {
17
+ const pass = graph.add(`${label} / create`, {}, noop);
18
+
19
+ return pass.create(label, descriptor);
20
+ }
@@ -45,10 +45,9 @@ export class GPUViewContext {
45
45
  * @param {number} y
46
46
  */
47
47
  setJitterDelta(x: number, y: number): void;
48
- /**
49
- *
50
- * @returns {Uint32Array}
51
- */
48
+ /** Current raster jitter in internal pixels. @returns {Float32Array} */
49
+ get jitter(): Float32Array;
50
+ /** @returns {Uint32Array} */
52
51
  get resolution(): Uint32Array;
53
52
  /**
54
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GPUViewContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/view/GPUViewContext.js"],"names":[],"mappings":";;;;;;;;AAyBA;;GAEG;AACH;IAiOI;;;;;OAKG;IACH,uEAFW,gBAAgB,EAuB1B;IA1PD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,OAFU,MAAM,CAEL;IAuBX;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAQhB;IAED;;;;OAIG;IACH,kBAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;OAGG;IACH,8BAEC;IAQD;;;OAGG;IACH,0BAEC;IAED;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAUhB;IAgBD;;;OAGG;IACH,oDAEC;IAdD;;;OAGG;IACH,iDAEC;IAgBD;;;OAGG;IACH,qCAEC;IAQD;;;OAGG;IACH,sCAEC;IA4BD;;;OAGG;IACH,qDAEC;IAdD;;;OAGG;IACH,kDAEC;IAgBD;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,6BAEC;IA+BD;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAWnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED,wBA6BC;IAGD;;;OAGG;IACH,mCASC;IAED;;OAEG;IACH,wDAOC;IAED,gBAgBC;IAGL;;;OAGG;IACH,2BAFU,OAAO,CAEwB;;CANxC;oCArXmC,+BAA+B;+BAFpC,6BAA6B;mCAGzB,sCAAsC;iCAFxC,+BAA+B"}
1
+ {"version":3,"file":"GPUViewContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/view/GPUViewContext.js"],"names":[],"mappings":";;;;;;;;AAyBA;;GAEG;AACH;IAiOI;;;;;OAKG;IACH,uEAFW,gBAAgB,EAuB1B;IA1PD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,OAFU,MAAM,CAEL;IAuBX;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAQhB;IAED;;;;OAIG;IACH,kBAHW,MAAM,KACN,MAAM,QAOhB;IAED,wEAAwE;IACxE,2BAAqC;IAErC,6BAA6B;IAC7B,8BAEC;IAQD;;;OAGG;IACH,0BAEC;IAED;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAUhB;IAgBD;;;OAGG;IACH,oDAEC;IAdD;;;OAGG;IACH,iDAEC;IAgBD;;;OAGG;IACH,qCAEC;IAQD;;;OAGG;IACH,sCAEC;IA4BD;;;OAGG;IACH,qDAEC;IAdD;;;OAGG;IACH,kDAEC;IAgBD;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,6BAEC;IA+BD;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAWnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED,wBA6BC;IAGD;;;OAGG;IACH,mCASC;IAED;;OAEG;IACH,wDAOC;IAED,gBAgBC;IAGL;;;OAGG;IACH,2BAFU,OAAO,CAEwB;;CANxC;oCArXmC,+BAA+B;+BAFpC,6BAA6B;mCAGzB,sCAAsC;iCAFxC,+BAA+B"}
@@ -108,10 +108,10 @@ export class GPUViewContext {
108
108
  this.#jitter[1] = y;
109
109
  }
110
110
 
111
- /**
112
- *
113
- * @returns {Uint32Array}
114
- */
111
+ /** Current raster jitter in internal pixels. @returns {Float32Array} */
112
+ get jitter() { return this.#jitter; }
113
+
114
+ /** @returns {Uint32Array} */
115
115
  get resolution() {
116
116
  return this.#resolution;
117
117
  }
@@ -386,4 +386,4 @@ export class GPUViewContext {
386
386
  * @readonly
387
387
  * @type {boolean}
388
388
  */
389
- GPUViewContext.prototype.isGPUViewContext = true;
389
+ GPUViewContext.prototype.isGPUViewContext = true;
@@ -1,24 +0,0 @@
1
- /**
2
- * Build an attribute ("mode 0") stream.
3
- *
4
- * @param {Uint8Array} data `count * byte_stride` bytes
5
- * @param {number} count
6
- * @param {number} byte_stride
7
- * @param {Object} [options]
8
- * @param {number} [options.version] 0 or 1
9
- * @param {number[]} [options.channel_modes] one mode byte per aligned four byte positions;
10
- * version 1 only, defaults to all zero (byte deltas)
11
- * @returns {Uint8Array}
12
- */
13
- export function encode_meshopt_attributes(data: Uint8Array, count: number, byte_stride: number, options?: {
14
- version?: number;
15
- channel_modes?: number[];
16
- }): Uint8Array;
17
- /**
18
- * Build an index-sequence ("mode 2") stream. Every delta is taken against baseline 0.
19
- *
20
- * @param {number[]} indices
21
- * @returns {Uint8Array}
22
- */
23
- export function encode_meshopt_index_sequence(indices: number[]): Uint8Array;
24
- //# sourceMappingURL=__meshopt_test_streams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"__meshopt_test_streams.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/meshopt/__meshopt_test_streams.js"],"names":[],"mappings":"AAuFA;;;;;;;;;;;GAWG;AACH,gDATW,UAAU,SACV,MAAM,eACN,MAAM;IAEW,OAAO,GAAxB,MAAM;IACa,aAAa,GAAhC,MAAM,EAAE;IAEN,UAAU,CAyGtB;AAED;;;;;GAKG;AACH,uDAHW,MAAM,EAAE,GACN,UAAU,CA4BtB"}