@woosh/meep-engine 3.21.0 → 3.22.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 (1596) hide show
  1. package/README.md +96 -213
  2. package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
  3. package/editor/particles/effect/ParticleEffectDocument.js +0 -3
  4. package/editor/particles/effect/ParticleReferenceSimulation.js +1 -1
  5. package/editor/persistence/SceneMetadata.d.ts +9 -4
  6. package/editor/persistence/SceneMetadata.d.ts.map +1 -1
  7. package/editor/persistence/SceneMetadata.js +4 -3
  8. package/editor/tools/TransformToolV2.d.ts +2 -1
  9. package/editor/tools/TransformToolV2.d.ts.map +1 -1
  10. package/editor/tools/engine/Tool.d.ts +1 -1
  11. package/editor/tools/engine/Tool.d.ts.map +1 -1
  12. package/editor/tools/engine/ToolEngine.d.ts +1 -1
  13. package/editor/tools/engine/ToolEngine.d.ts.map +1 -1
  14. package/editor/view/ecs/EntityEditor.d.ts +3 -2
  15. package/editor/view/ecs/EntityEditor.d.ts.map +1 -1
  16. package/editor/view/ecs/EntityList.d.ts +7 -3
  17. package/editor/view/ecs/EntityList.d.ts.map +1 -1
  18. package/editor/view/ecs/EntityList.js +3 -2
  19. package/editor/view/ecs/components/common/NumericIntervalController.d.ts +8 -3
  20. package/editor/view/ecs/components/common/NumericIntervalController.d.ts.map +1 -1
  21. package/editor/view/ecs/components/common/NumericIntervalController.js +3 -2
  22. package/editor/view/ecs/components/common/TextController.d.ts +7 -3
  23. package/editor/view/ecs/components/common/TextController.d.ts.map +1 -1
  24. package/editor/view/ecs/components/common/TextController.js +3 -2
  25. package/editor/view/library/MeshLibraryView.d.ts.map +1 -1
  26. package/editor/view/library/MeshLibraryView.js +3 -2
  27. package/editor/view/node-graph/NodeIconView.d.ts +5 -2
  28. package/editor/view/node-graph/NodeIconView.d.ts.map +1 -1
  29. package/editor/view/node-graph/NodeIconView.js +2 -1
  30. package/editor/view/node-graph/PortView.d.ts +9 -4
  31. package/editor/view/node-graph/PortView.d.ts.map +1 -1
  32. package/editor/view/node-graph/PortView.js +4 -3
  33. package/editor/view/particles/ColorLutGradientView.d.ts +7 -3
  34. package/editor/view/particles/ColorLutGradientView.d.ts.map +1 -1
  35. package/editor/view/particles/ColorLutGradientView.js +3 -2
  36. package/editor/view/particles/ScalarLutCurveView.d.ts +9 -4
  37. package/editor/view/particles/ScalarLutCurveView.d.ts.map +1 -1
  38. package/editor/view/particles/ScalarLutCurveView.js +4 -3
  39. package/editor/view/particles/effect/ParticleEmitterInspectorView.d.ts.map +1 -1
  40. package/editor/view/particles/effect/ParticleEmitterInspectorView.js +0 -1
  41. package/editor/view/tools/ToolView.d.ts +7 -3
  42. package/editor/view/tools/ToolView.d.ts.map +1 -1
  43. package/editor/view/tools/ToolView.js +3 -2
  44. package/package.json +2 -1
  45. package/src/core/binary/allocator/OffsetAllocator.d.ts +24 -1
  46. package/src/core/binary/allocator/OffsetAllocator.d.ts.map +1 -1
  47. package/src/core/binary/allocator/OffsetAllocator.js +101 -1
  48. package/src/core/binary/type/Field.d.ts +5 -1
  49. package/src/core/binary/type/Field.d.ts.map +1 -1
  50. package/src/core/binary/type/Field.js +4 -0
  51. package/src/core/binary/type/Type.d.ts +4 -0
  52. package/src/core/binary/type/Type.d.ts.map +1 -1
  53. package/src/core/binary/type/Type.js +4 -0
  54. package/src/core/cache/Cache.d.ts +15 -7
  55. package/src/core/cache/Cache.d.ts.map +1 -1
  56. package/src/core/cache/Cache.js +7 -6
  57. package/src/core/cache/wtinylfu/CacheRegionWTinylfu.d.ts +5 -2
  58. package/src/core/cache/wtinylfu/CacheRegionWTinylfu.d.ts.map +1 -1
  59. package/src/core/cache/wtinylfu/CacheRegionWTinylfu.js +2 -1
  60. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts +20 -10
  61. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
  62. package/src/core/cache/wtinylfu/CacheWTinylfu.js +9 -8
  63. package/src/core/collection/CuckooFilter.d.ts +8 -4
  64. package/src/core/collection/CuckooFilter.d.ts.map +1 -1
  65. package/src/core/collection/CuckooFilter.js +3 -2
  66. package/src/core/collection/list/List.d.ts +0 -1
  67. package/src/core/collection/list/List.d.ts.map +1 -1
  68. package/src/core/collection/list/List.js +0 -1
  69. package/src/core/collection/map/HashMap.d.ts +12 -7
  70. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  71. package/src/core/collection/map/HashMap.js +5 -5
  72. package/src/core/collection/map/ObservedMap.d.ts +1 -2
  73. package/src/core/collection/map/ObservedMap.d.ts.map +1 -1
  74. package/src/core/collection/map/ObservedMap.js +0 -1
  75. package/src/core/collection/table/RowFirstTable.d.ts +1 -0
  76. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  77. package/src/core/collection/table/RowFirstTable.js +4 -0
  78. package/src/core/color/Color.d.ts +1 -2
  79. package/src/core/color/Color.d.ts.map +1 -1
  80. package/src/core/color/Color.js +5 -4
  81. package/src/core/color/hsv/hsv2rgb_float.d.ts +23 -1
  82. package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -1
  83. package/src/core/color/hsv/hsv2rgb_float.js +31 -3
  84. package/src/core/color/hsv/hsv_to_rgb.d.ts +20 -9
  85. package/src/core/color/hsv/hsv_to_rgb.d.ts.map +1 -1
  86. package/src/core/color/hsv/hsv_to_rgb.js +30 -10
  87. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
  88. package/src/core/color/hsv/hsv_to_rgb_uint8.js +10 -5
  89. package/src/core/function/FunctionCompiler.d.ts +9 -4
  90. package/src/core/function/FunctionCompiler.d.ts.map +1 -1
  91. package/src/core/function/FunctionCompiler.js +8 -6
  92. package/src/core/geom/3d/quaternion/quat3_shortest_arc.d.ts +41 -0
  93. package/src/core/geom/3d/quaternion/quat3_shortest_arc.d.ts.map +1 -0
  94. package/src/core/geom/3d/quaternion/quat3_shortest_arc.js +94 -0
  95. package/src/core/geom/3d/ray/Ray3.d.ts +5 -5
  96. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
  97. package/src/core/geom/3d/ray/Ray3.js +3 -3
  98. package/src/core/geom/3d/shape/AbstractShape3D.d.ts +1 -0
  99. package/src/core/geom/3d/shape/AbstractShape3D.d.ts.map +1 -1
  100. package/src/core/geom/3d/shape/AbstractShape3D.js +4 -0
  101. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts +2 -4
  102. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
  103. package/src/core/geom/3d/shape/ConvexHullShape3D.js +0 -2
  104. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -2
  105. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  106. package/src/core/geom/3d/shape/TransformedShape3D.js +0 -1
  107. package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.d.ts +6 -0
  108. package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.d.ts.map +1 -1
  109. package/src/core/geom/3d/topology/struct/binary/BinaryDataBlock.js +5 -0
  110. package/src/core/geom/3d/topology/struct/binary/BinaryTopology.d.ts +2 -0
  111. package/src/core/geom/3d/topology/struct/binary/BinaryTopology.d.ts.map +1 -1
  112. package/src/core/geom/3d/topology/struct/binary/BinaryTopology.js +5 -0
  113. package/src/core/geom/Quaternion.d.ts +1 -0
  114. package/src/core/geom/Quaternion.d.ts.map +1 -1
  115. package/src/core/geom/Quaternion.js +4 -0
  116. package/src/core/geom/Vector1.d.ts +8 -0
  117. package/src/core/geom/Vector1.d.ts.map +1 -1
  118. package/src/core/geom/Vector1.js +6 -0
  119. package/src/core/geom/Vector3.d.ts +6 -0
  120. package/src/core/geom/Vector3.d.ts.map +1 -1
  121. package/src/core/geom/Vector3.js +5 -0
  122. package/src/core/geom/Vector4.d.ts +10 -2
  123. package/src/core/geom/Vector4.d.ts.map +1 -1
  124. package/src/core/geom/Vector4.js +6 -1
  125. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts +4 -4
  126. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts.map +1 -1
  127. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.js +1 -1
  128. package/src/core/graph/convert_graph_to_dot_string.d.ts +7 -3
  129. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  130. package/src/core/graph/convert_graph_to_dot_string.js +3 -2
  131. package/src/core/localization/Localization.d.ts +3 -2
  132. package/src/core/localization/Localization.d.ts.map +1 -1
  133. package/src/core/localization/Localization.js +4 -0
  134. package/src/core/math/noise/create_simplex_noise_2d.js +6 -6
  135. package/src/core/model/ObservedValue.d.ts +8 -6
  136. package/src/core/model/ObservedValue.d.ts.map +1 -1
  137. package/src/core/model/ObservedValue.js +3 -1
  138. package/src/core/model/node-graph/Connection.d.ts +1 -0
  139. package/src/core/model/node-graph/Connection.d.ts.map +1 -1
  140. package/src/core/model/node-graph/Connection.js +4 -0
  141. package/src/core/model/node-graph/NodeGraph.d.ts +8 -5
  142. package/src/core/model/node-graph/NodeGraph.d.ts.map +1 -1
  143. package/src/core/model/node-graph/NodeGraph.js +3 -3
  144. package/src/core/model/node-graph/json/serializeNodeGraphToJSON.d.ts +9 -4
  145. package/src/core/model/node-graph/json/serializeNodeGraphToJSON.d.ts.map +1 -1
  146. package/src/core/model/node-graph/json/serializeNodeGraphToJSON.js +4 -3
  147. package/src/core/model/node-graph/node/NodeDescription.d.ts +12 -4
  148. package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
  149. package/src/core/model/node-graph/node/NodeDescription.js +10 -3
  150. package/src/core/model/node-graph/node/NodeInstance.d.ts +5 -2
  151. package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
  152. package/src/core/model/node-graph/node/NodeInstance.js +6 -0
  153. package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts +5 -2
  154. package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts.map +1 -1
  155. package/src/core/model/node-graph/node/NodeInstancePortReference.js +6 -0
  156. package/src/core/model/node-graph/node/NodeRegistry.d.ts +2 -1
  157. package/src/core/model/node-graph/node/NodeRegistry.d.ts.map +1 -1
  158. package/src/core/model/node-graph/node/NodeRegistry.js +4 -0
  159. package/src/core/model/node-graph/node/Port.d.ts +12 -5
  160. package/src/core/model/node-graph/node/Port.d.ts.map +1 -1
  161. package/src/core/model/node-graph/node/Port.js +9 -4
  162. package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.d.ts +5 -2
  163. package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.d.ts.map +1 -1
  164. package/src/core/model/node-graph/util/convert_node_graph_to_dot_string.js +2 -1
  165. package/src/core/model/node-graph/util/graph_clone_by_node_subset.d.ts +5 -2
  166. package/src/core/model/node-graph/util/graph_clone_by_node_subset.d.ts.map +1 -1
  167. package/src/core/model/node-graph/util/graph_clone_by_node_subset.js +2 -1
  168. package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.d.ts +5 -2
  169. package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.d.ts.map +1 -1
  170. package/src/core/model/node-graph/util/graph_collect_connections_amongst_nodes.js +2 -1
  171. package/src/core/primitives/Class.d.ts +15 -0
  172. package/src/core/primitives/Class.d.ts.map +1 -0
  173. package/src/core/primitives/Class.js +18 -0
  174. package/src/core/primitives/TypedArray.d.ts +15 -0
  175. package/src/core/primitives/TypedArray.d.ts.map +1 -0
  176. package/src/core/primitives/TypedArray.js +27 -0
  177. package/src/core/process/buildPromiseChain.d.ts +9 -4
  178. package/src/core/process/buildPromiseChain.d.ts.map +1 -1
  179. package/src/core/process/buildPromiseChain.js +4 -3
  180. package/src/core/process/executor/ConcurrentExecutor.d.ts +2 -0
  181. package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
  182. package/src/core/process/executor/ConcurrentExecutor.js +5 -0
  183. package/src/core/process/task/Task.d.ts +17 -7
  184. package/src/core/process/task/Task.d.ts.map +1 -1
  185. package/src/core/process/task/Task.js +12 -6
  186. package/src/engine/Engine.d.ts +17 -7
  187. package/src/engine/Engine.d.ts.map +1 -1
  188. package/src/engine/Engine.js +9 -4
  189. package/src/engine/EngineConfiguration.d.ts +33 -9
  190. package/src/engine/EngineConfiguration.d.ts.map +1 -1
  191. package/src/engine/EngineConfiguration.js +22 -4
  192. package/src/engine/EngineHarness.d.ts +22 -10
  193. package/src/engine/EngineHarness.d.ts.map +1 -1
  194. package/src/engine/EngineHarness.js +13 -8
  195. package/src/engine/EntityCreator.d.ts +26 -11
  196. package/src/engine/EntityCreator.d.ts.map +1 -1
  197. package/src/engine/EntityCreator.js +16 -13
  198. package/src/engine/animation/EntityAnimation.d.ts +1 -1
  199. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  200. package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts +28 -18
  201. package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts.map +1 -1
  202. package/src/engine/animation/curve/actionProcessorOperations/curveActions.js +9 -8
  203. package/src/engine/animation/curve/draw/build_plot_entity_from_array.d.ts +18 -8
  204. package/src/engine/animation/curve/draw/build_plot_entity_from_array.d.ts.map +1 -1
  205. package/src/engine/animation/curve/draw/build_plot_entity_from_array.js +8 -7
  206. package/src/engine/animation/curve/editor/CurveEditorView.d.ts +22 -11
  207. package/src/engine/animation/curve/editor/CurveEditorView.d.ts.map +1 -1
  208. package/src/engine/animation/curve/editor/CurveEditorView.js +7 -6
  209. package/src/engine/animation/curve/editor/DragHandler.d.ts +12 -7
  210. package/src/engine/animation/curve/editor/DragHandler.d.ts.map +1 -1
  211. package/src/engine/animation/curve/editor/DragHandler.js +4 -3
  212. package/src/engine/animation/curve/editor/KeyframeStateManager.d.ts +3 -2
  213. package/src/engine/animation/curve/editor/KeyframeStateManager.d.ts.map +1 -1
  214. package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.d.ts +21 -10
  215. package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.d.ts.map +1 -1
  216. package/src/engine/animation/curve/editor/canvas2dDrawWorldAxisLabels.js +10 -9
  217. package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.d.ts +20 -9
  218. package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.d.ts.map +1 -1
  219. package/src/engine/animation/curve/editor/canvas2dPlotCurveLine.js +9 -8
  220. package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.d.ts +15 -7
  221. package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.d.ts.map +1 -1
  222. package/src/engine/animation/curve/editor/canvas2dPlotCurvePoints.js +7 -6
  223. package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.d.ts +39 -18
  224. package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.d.ts.map +1 -1
  225. package/src/engine/animation/curve/editor/createKeyframeDraggableAspect.js +18 -17
  226. package/src/engine/animation/curve/editor/createPanTool.d.ts +13 -5
  227. package/src/engine/animation/curve/editor/createPanTool.d.ts.map +1 -1
  228. package/src/engine/animation/curve/editor/createPanTool.js +5 -4
  229. package/src/engine/animation/curve/editor/createSelectionBoxTool.d.ts +19 -8
  230. package/src/engine/animation/curve/editor/createSelectionBoxTool.d.ts.map +1 -1
  231. package/src/engine/animation/curve/editor/createSelectionBoxTool.js +8 -7
  232. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts +6 -2
  233. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
  234. package/src/engine/animation/keyed2/AnimationTrackPlayback.js +4 -0
  235. package/src/engine/animation/removeEntityGenericEffect.d.ts +13 -6
  236. package/src/engine/animation/removeEntityGenericEffect.d.ts.map +1 -1
  237. package/src/engine/animation/removeEntityGenericEffect.js +6 -5
  238. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +11 -5
  239. package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +1 -1
  240. package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +5 -4
  241. package/src/engine/asset/Asset.d.ts +6 -3
  242. package/src/engine/asset/Asset.d.ts.map +1 -1
  243. package/src/engine/asset/Asset.js +4 -1
  244. package/src/engine/asset/AssetManager.d.ts +42 -21
  245. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  246. package/src/engine/asset/AssetManager.js +20 -12
  247. package/src/engine/asset/AssetRequest.d.ts +4 -2
  248. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  249. package/src/engine/asset/AssetRequest.js +5 -0
  250. package/src/engine/asset/AssetRequestScope.d.ts +1 -0
  251. package/src/engine/asset/AssetRequestScope.d.ts.map +1 -1
  252. package/src/engine/asset/AssetRequestScope.js +4 -0
  253. package/src/engine/asset/AssetTransformer.d.ts +7 -1
  254. package/src/engine/asset/AssetTransformer.d.ts.map +1 -1
  255. package/src/engine/asset/AssetTransformer.js +5 -0
  256. package/src/engine/asset/PendingAsset.d.ts +8 -0
  257. package/src/engine/asset/PendingAsset.d.ts.map +1 -1
  258. package/src/engine/asset/PendingAsset.js +6 -0
  259. package/src/engine/asset/loaders/ArrayBufferLoader.d.ts +6 -3
  260. package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
  261. package/src/engine/asset/loaders/ArrayBufferLoader.js +2 -1
  262. package/src/engine/asset/loaders/AssetLoader.d.ts +8 -2
  263. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  264. package/src/engine/asset/loaders/AssetLoader.js +5 -0
  265. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts +10 -0
  266. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts.map +1 -1
  267. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts +5 -2
  268. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts.map +1 -1
  269. package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +2 -1
  270. package/src/engine/asset/preloader/AssetPreloader.d.ts +2 -1
  271. package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
  272. package/src/engine/asset/preloader/AssetPreloader.js +4 -0
  273. package/src/engine/development/performance/MetricCollection.d.ts +11 -3
  274. package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
  275. package/src/engine/development/performance/MetricCollection.js +7 -2
  276. package/src/engine/ecs/Entity.d.ts +3 -2
  277. package/src/engine/ecs/Entity.d.ts.map +1 -1
  278. package/src/engine/ecs/Entity.js +9 -1
  279. package/src/engine/ecs/EntityComponentDataset.d.ts +8 -6
  280. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  281. package/src/engine/ecs/EntityComponentDataset.js +9 -0
  282. package/src/engine/ecs/EntityManager.d.ts +2 -1
  283. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  284. package/src/engine/ecs/EntityManager.js +5 -0
  285. package/src/engine/ecs/EntityObserver.d.ts +4 -0
  286. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  287. package/src/engine/ecs/EntityObserver.js +4 -0
  288. package/src/engine/ecs/EntityReference.d.ts +4 -0
  289. package/src/engine/ecs/EntityReference.d.ts.map +1 -1
  290. package/src/engine/ecs/EntityReference.js +4 -0
  291. package/src/engine/ecs/System.d.ts +11 -2
  292. package/src/engine/ecs/System.d.ts.map +1 -1
  293. package/src/engine/ecs/System.js +6 -0
  294. package/src/engine/ecs/async/WorkerSystem.d.ts +10 -0
  295. package/src/engine/ecs/async/WorkerSystem.d.ts.map +1 -1
  296. package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.d.ts +7 -3
  297. package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.d.ts.map +1 -1
  298. package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.js +3 -2
  299. package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.d.ts +7 -3
  300. package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.d.ts.map +1 -1
  301. package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.js +3 -2
  302. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts +36 -17
  303. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts.map +1 -1
  304. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.js +17 -16
  305. package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.d.ts +7 -3
  306. package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.d.ts.map +1 -1
  307. package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.js +3 -2
  308. package/src/engine/ecs/ik/InverseKinematics.d.ts +17 -8
  309. package/src/engine/ecs/ik/InverseKinematics.d.ts.map +1 -1
  310. package/src/engine/ecs/ik/InverseKinematics.js +8 -7
  311. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts +9 -0
  312. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts.map +1 -1
  313. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +9 -0
  314. package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts +4 -0
  315. package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts.map +1 -1
  316. package/src/engine/ecs/storage/binary/BinaryClassUpgrader.js +4 -0
  317. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +10 -4
  318. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
  319. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +5 -0
  320. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +5 -2
  321. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  322. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +2 -1
  323. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.d.ts +7 -3
  324. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.d.ts.map +1 -1
  325. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.js +3 -2
  326. package/src/engine/ecs/system/SystemExecutionPhase.d.ts +9 -0
  327. package/src/engine/ecs/system/SystemExecutionPhase.d.ts.map +1 -0
  328. package/src/engine/ecs/systems/ScriptSystem.d.ts +1 -0
  329. package/src/engine/ecs/systems/ScriptSystem.d.ts.map +1 -1
  330. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +7 -2
  331. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  332. package/src/engine/ecs/terrain/ecs/Terrain.js +8 -0
  333. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts +6 -0
  334. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts.map +1 -1
  335. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts +3 -1
  336. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.d.ts.map +1 -1
  337. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +5 -0
  338. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts +3 -1
  339. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts.map +1 -1
  340. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.js +5 -0
  341. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts +4 -0
  342. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
  343. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +4 -0
  344. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +7 -2
  345. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  346. package/src/engine/ecs/terrain/tiles/TerrainTile.js +1 -1
  347. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +6 -2
  348. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  349. package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +6 -1
  350. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts +9 -4
  351. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
  352. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +4 -3
  353. package/src/engine/ecs/transform/Transform64.d.ts +4 -0
  354. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  355. package/src/engine/ecs/transform/Transform64.js +4 -0
  356. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts +20 -10
  357. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts.map +1 -1
  358. package/src/engine/graphics/camera/CameraShakeBehavior.js +9 -8
  359. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts +8 -4
  360. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts.map +1 -1
  361. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.js +3 -2
  362. package/src/engine/graphics/camera/makeOrbitalCameraController.d.ts +11 -5
  363. package/src/engine/graphics/camera/makeOrbitalCameraController.d.ts.map +1 -1
  364. package/src/engine/graphics/camera/makeOrbitalCameraController.js +5 -4
  365. package/src/engine/graphics/canvas/canvas2d_draw_grid.d.ts +19 -9
  366. package/src/engine/graphics/canvas/canvas2d_draw_grid.d.ts.map +1 -1
  367. package/src/engine/graphics/canvas/canvas2d_draw_grid.js +9 -8
  368. package/src/engine/graphics/canvas/canvas2d_draw_label.d.ts +17 -8
  369. package/src/engine/graphics/canvas/canvas2d_draw_label.d.ts.map +1 -1
  370. package/src/engine/graphics/canvas/canvas2d_draw_label.js +8 -7
  371. package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts +21 -10
  372. package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts.map +1 -1
  373. package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.js +10 -9
  374. package/src/engine/graphics/canvas/canvas2d_plot_data_line.d.ts +18 -8
  375. package/src/engine/graphics/canvas/canvas2d_plot_data_line.d.ts.map +1 -1
  376. package/src/engine/graphics/canvas/canvas2d_plot_data_line.js +8 -7
  377. package/src/engine/graphics/ecs/camera/Camera.d.ts +4 -0
  378. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  379. package/src/engine/graphics/ecs/camera/Camera.js +4 -0
  380. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts +11 -5
  381. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts.map +1 -1
  382. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.js +5 -4
  383. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts +1 -1
  384. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts.map +1 -1
  385. package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts +5 -5
  386. package/src/engine/graphics/ecs/particles/ParticleEffect.js +5 -5
  387. package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.d.ts +19 -9
  388. package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.d.ts.map +1 -1
  389. package/src/engine/graphics/ecs/trail3d/make_gradient_stroke.js +9 -8
  390. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +3 -0
  391. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  392. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +3 -0
  393. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +9 -4
  394. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  395. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +4 -3
  396. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts +7 -1
  397. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  398. package/src/engine/graphics/render/frame_graph/FrameGraph.js +5 -0
  399. package/src/engine/graphics/render/frame_graph/FrameGraphNode.d.ts +4 -0
  400. package/src/engine/graphics/render/frame_graph/FrameGraphNode.d.ts.map +1 -1
  401. package/src/engine/graphics/render/frame_graph/FrameGraphNode.js +4 -0
  402. package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts +9 -1
  403. package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts.map +1 -1
  404. package/src/engine/graphics/render/frame_graph/FramePassBuilder.js +6 -0
  405. package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts +6 -0
  406. package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts.map +1 -1
  407. package/src/engine/graphics/render/frame_graph/FramePassNode.js +5 -0
  408. package/src/engine/graphics/render/frame_graph/FramePassResources.d.ts +7 -1
  409. package/src/engine/graphics/render/frame_graph/FramePassResources.d.ts.map +1 -1
  410. package/src/engine/graphics/render/frame_graph/FramePassResources.js +5 -0
  411. package/src/engine/graphics/render/frame_graph/IFrameGraphContext.d.ts +6 -2
  412. package/src/engine/graphics/render/frame_graph/IFrameGraphContext.d.ts.map +1 -1
  413. package/src/engine/graphics/render/frame_graph/IFrameGraphContext.js +4 -0
  414. package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts +13 -5
  415. package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts.map +1 -1
  416. package/src/engine/graphics/render/frame_graph/ResourceEntry.js +7 -1
  417. package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts +9 -3
  418. package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts.map +1 -1
  419. package/src/engine/graphics/render/frame_graph/ResourceNode.js +6 -1
  420. package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.d.ts +5 -1
  421. package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.d.ts.map +1 -1
  422. package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.js +4 -0
  423. package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.d.ts +7 -3
  424. package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.d.ts.map +1 -1
  425. package/src/engine/graphics/render/frame_graph/resource/ResourceDescriptor.js +6 -2
  426. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.d.ts +5 -2
  427. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.d.ts.map +1 -1
  428. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +2 -1
  429. package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.d.ts +9 -4
  430. package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.d.ts.map +1 -1
  431. package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.js +4 -3
  432. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +4 -0
  433. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  434. package/src/engine/graphics/texture/sampler/Sampler2D.js +4 -0
  435. package/src/engine/graphics/texture/sampler/debug/prototypeSamplerFiltering.js +3 -2
  436. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -5
  437. package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
  438. package/src/engine/graphics3/GraphicsEngine.d.ts +6 -0
  439. package/src/engine/graphics3/GraphicsEngine.d.ts.map +1 -1
  440. package/src/engine/graphics3/GraphicsEngine.js +9 -0
  441. package/src/engine/graphics3/ParticipatingMedia.d.ts +9 -4
  442. package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
  443. package/src/engine/graphics3/ParticipatingMedia.js +4 -3
  444. package/src/engine/graphics3/ShadeCameraAdapter.d.ts +5 -1
  445. package/src/engine/graphics3/ShadeCameraAdapter.d.ts.map +1 -1
  446. package/src/engine/graphics3/ShadeCameraAdapter.js +4 -0
  447. package/src/engine/graphics3/TooltipComponentSystem.d.ts +13 -6
  448. package/src/engine/graphics3/TooltipComponentSystem.d.ts.map +1 -1
  449. package/src/engine/graphics3/TooltipComponentSystem.js +6 -5
  450. package/src/engine/graphics3/VolumetricLightMap.d.ts +5 -2
  451. package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
  452. package/src/engine/graphics3/VolumetricLightMap.js +2 -1
  453. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  454. package/src/engine/input/devices/PointerDevice.js +7 -6
  455. package/src/engine/input/devices/gamepad/GamepadHandle.d.ts +4 -0
  456. package/src/engine/input/devices/gamepad/GamepadHandle.d.ts.map +1 -1
  457. package/src/engine/input/devices/gamepad/GamepadHandle.js +4 -0
  458. package/src/engine/input/devices/touch/observePinch.d.ts +17 -8
  459. package/src/engine/input/devices/touch/observePinch.d.ts.map +1 -1
  460. package/src/engine/input/devices/touch/observePinch.js +8 -7
  461. package/src/engine/input/ecs/components/InputBinding.d.ts +11 -5
  462. package/src/engine/input/ecs/components/InputBinding.d.ts.map +1 -1
  463. package/src/engine/input/ecs/components/InputBinding.js +5 -4
  464. package/src/engine/input/ecs/ism/InputMapSystem.d.ts +4 -0
  465. package/src/engine/input/ecs/ism/InputMapSystem.d.ts.map +1 -1
  466. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts +1 -1
  467. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts.map +1 -1
  468. package/src/engine/input/ecs/util/TerrainCameraTargetSampler.d.ts +5 -2
  469. package/src/engine/input/ecs/util/TerrainCameraTargetSampler.d.ts.map +1 -1
  470. package/src/engine/input/ecs/util/TerrainCameraTargetSampler.js +2 -1
  471. package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts +9 -4
  472. package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts.map +1 -1
  473. package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.js +4 -3
  474. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +9 -4
  475. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  476. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.js +4 -3
  477. package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.d.ts +9 -4
  478. package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.d.ts.map +1 -1
  479. package/src/engine/intelligence/behavior/util/syncExecuteBehaviorToCompletion.js +4 -3
  480. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +19 -9
  481. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  482. package/src/engine/intelligence/mcts/MonteCarlo.js +9 -8
  483. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +13 -6
  484. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  485. package/src/engine/intelligence/optimization/RandomOptimizer.js +6 -5
  486. package/src/engine/interpolation/InterpolationSystem.d.ts +4 -0
  487. package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -1
  488. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts +5 -2
  489. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  490. package/src/engine/knowledge/database/StaticKnowledgeDataTable.js +6 -0
  491. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts +6 -2
  492. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts.map +1 -1
  493. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.js +4 -0
  494. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +7 -4
  495. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  496. package/src/engine/knowledge/database/StaticKnowledgeDatabase.js +6 -0
  497. package/src/engine/makeSimpleTaskProgressView.d.ts +10 -4
  498. package/src/engine/makeSimpleTaskProgressView.d.ts.map +1 -1
  499. package/src/engine/makeSimpleTaskProgressView.js +4 -3
  500. package/src/engine/navigation/mesh/build/navmesh_build_topology.d.ts +20 -9
  501. package/src/engine/navigation/mesh/build/navmesh_build_topology.d.ts.map +1 -1
  502. package/src/engine/navigation/mesh/build/navmesh_build_topology.js +9 -8
  503. package/src/engine/network/sim/ActionLog.d.ts +1 -2
  504. package/src/engine/network/sim/ActionLog.d.ts.map +1 -1
  505. package/src/engine/network/sim/ActionLog.js +0 -1
  506. package/src/engine/network/state/InputRing.d.ts +1 -2
  507. package/src/engine/network/state/InputRing.d.ts.map +1 -1
  508. package/src/engine/network/state/InputRing.js +0 -1
  509. package/src/engine/notify/Notification.d.ts +15 -9
  510. package/src/engine/notify/Notification.d.ts.map +1 -1
  511. package/src/engine/notify/Notification.js +5 -4
  512. package/src/engine/options/OptionAbstract.d.ts +4 -0
  513. package/src/engine/options/OptionAbstract.d.ts.map +1 -1
  514. package/src/engine/options/OptionAbstract.js +4 -0
  515. package/src/engine/options/OptionsView.d.ts +10 -4
  516. package/src/engine/options/OptionsView.d.ts.map +1 -1
  517. package/src/engine/options/OptionsView.js +4 -3
  518. package/src/engine/physics/ccd/linear_sweep.d.ts +4 -7
  519. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  520. package/src/engine/physics/ccd/linear_sweep.js +3 -1
  521. package/src/engine/physics/cloth/MEASUREMENTS.md +956 -0
  522. package/src/engine/physics/cloth/PLAN.md +1581 -0
  523. package/src/engine/physics/cloth/ecs/Cloth.d.ts +145 -0
  524. package/src/engine/physics/cloth/ecs/Cloth.d.ts.map +1 -0
  525. package/src/engine/physics/cloth/ecs/Cloth.js +212 -0
  526. package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts +208 -0
  527. package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts.map +1 -0
  528. package/src/engine/physics/cloth/ecs/ClothDynamics.js +331 -0
  529. package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.d.ts +10 -0
  530. package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.d.ts.map +1 -0
  531. package/src/engine/physics/cloth/ecs/ClothDynamicsFlags.js +57 -0
  532. package/src/engine/physics/cloth/ecs/ClothExclude.d.ts +45 -0
  533. package/src/engine/physics/cloth/ecs/ClothExclude.d.ts.map +1 -0
  534. package/src/engine/physics/cloth/ecs/ClothExclude.js +59 -0
  535. package/src/engine/physics/cloth/ecs/ClothFlags.d.ts +10 -0
  536. package/src/engine/physics/cloth/ecs/ClothFlags.d.ts.map +1 -0
  537. package/src/engine/physics/cloth/ecs/ClothFlags.js +47 -0
  538. package/src/engine/physics/cloth/ecs/ClothInstance.d.ts +321 -0
  539. package/src/engine/physics/cloth/ecs/ClothInstance.d.ts.map +1 -0
  540. package/src/engine/physics/cloth/ecs/ClothInstance.js +363 -0
  541. package/src/engine/physics/cloth/ecs/ClothSystem.d.ts +149 -0
  542. package/src/engine/physics/cloth/ecs/ClothSystem.d.ts.map +1 -0
  543. package/src/engine/physics/cloth/ecs/ClothSystem.js +773 -0
  544. package/src/engine/physics/cloth/ecs/cloth_dynamics_library.d.ts +157 -0
  545. package/src/engine/physics/cloth/ecs/cloth_dynamics_library.d.ts.map +1 -0
  546. package/src/engine/physics/cloth/ecs/cloth_dynamics_library.js +254 -0
  547. package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts +235 -0
  548. package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts.map +1 -0
  549. package/src/engine/physics/cloth/ecs/cloth_dynamics_map.js +271 -0
  550. package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts +114 -0
  551. package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts.map +1 -0
  552. package/src/engine/physics/cloth/ecs/cloth_seed_subtree.js +645 -0
  553. package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts +9 -0
  554. package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts.map +1 -0
  555. package/src/engine/physics/cloth/ecs/cloth_write_back.js +449 -0
  556. package/src/engine/physics/cloth/playground/README.md +185 -0
  557. package/src/engine/physics/cloth/playground/cloth_playground_build.d.ts +58 -0
  558. package/src/engine/physics/cloth/playground/cloth_playground_build.d.ts.map +1 -0
  559. package/src/engine/physics/cloth/playground/cloth_playground_build.js +333 -0
  560. package/src/engine/physics/cloth/playground/cloth_playground_draw.d.ts +79 -0
  561. package/src/engine/physics/cloth/playground/cloth_playground_draw.d.ts.map +1 -0
  562. package/src/engine/physics/cloth/playground/cloth_playground_draw.js +519 -0
  563. package/src/engine/physics/cloth/playground/index.html +200 -0
  564. package/src/engine/physics/cloth/playground/main.d.ts +2 -0
  565. package/src/engine/physics/cloth/playground/main.d.ts.map +1 -0
  566. package/src/engine/physics/cloth/playground/main.js +876 -0
  567. package/src/engine/physics/cloth/playground/rig.html +187 -0
  568. package/src/engine/physics/cloth/playground/rig_build.d.ts +81 -0
  569. package/src/engine/physics/cloth/playground/rig_build.d.ts.map +1 -0
  570. package/src/engine/physics/cloth/playground/rig_build.js +296 -0
  571. package/src/engine/physics/cloth/playground/rig_main.d.ts +2 -0
  572. package/src/engine/physics/cloth/playground/rig_main.d.ts.map +1 -0
  573. package/src/engine/physics/cloth/playground/rig_main.js +955 -0
  574. package/src/engine/physics/cloth/solver/ClothState.d.ts +323 -0
  575. package/src/engine/physics/cloth/solver/ClothState.d.ts.map +1 -0
  576. package/src/engine/physics/cloth/solver/ClothState.js +673 -0
  577. package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts +67 -0
  578. package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts.map +1 -0
  579. package/src/engine/physics/cloth/solver/cloth_color_particles.js +220 -0
  580. package/src/engine/physics/cloth/solver/cloth_solve_vertex.d.ts +13 -0
  581. package/src/engine/physics/cloth/solver/cloth_solve_vertex.d.ts.map +1 -0
  582. package/src/engine/physics/cloth/solver/cloth_solve_vertex.js +201 -0
  583. package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts +97 -0
  584. package/src/engine/physics/cloth/solver/cloth_solver_constants.d.ts.map +1 -0
  585. package/src/engine/physics/cloth/solver/cloth_solver_constants.js +102 -0
  586. package/src/engine/physics/cloth/solver/cloth_step.d.ts +91 -0
  587. package/src/engine/physics/cloth/solver/cloth_step.d.ts.map +1 -0
  588. package/src/engine/physics/cloth/solver/cloth_step.js +289 -0
  589. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts +54 -0
  590. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts.map +1 -0
  591. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.js +56 -0
  592. package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.d.ts +125 -0
  593. package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.d.ts.map +1 -0
  594. package/src/engine/physics/cloth/solver/constraint/cloth_bend_row.js +383 -0
  595. package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts +112 -0
  596. package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.d.ts.map +1 -0
  597. package/src/engine/physics/cloth/solver/constraint/cloth_leash_row.js +346 -0
  598. package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.d.ts +94 -0
  599. package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.d.ts.map +1 -0
  600. package/src/engine/physics/cloth/solver/constraint/cloth_stretch_row.js +383 -0
  601. package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.d.ts +27 -0
  602. package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.d.ts.map +1 -0
  603. package/src/engine/physics/cloth/solver/find_non_finite_cloth_state.js +104 -0
  604. package/src/engine/physics/ecs/PhysicsSystem.d.ts +5 -7
  605. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  606. package/src/engine/physics/ecs/PhysicsSystem.js +4 -1
  607. package/src/engine/physics/ecs/RigidBodySerializationUpgrader_0_1.d.ts +6 -0
  608. package/src/engine/physics/ecs/RigidBodySerializationUpgrader_0_1.d.ts.map +1 -1
  609. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  610. package/src/engine/physics/narrowphase/compute_penetration.d.ts +26 -23
  611. package/src/engine/physics/narrowphase/compute_penetration.d.ts.map +1 -1
  612. package/src/engine/physics/narrowphase/compute_penetration.js +25 -4
  613. package/src/engine/physics/narrowphase/narrowphase_step.d.ts +16 -23
  614. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  615. package/src/engine/physics/narrowphase/narrowphase_step.js +15 -4
  616. package/src/engine/physics/narrowphase/refine_ray_concave.d.ts +4 -6
  617. package/src/engine/physics/narrowphase/refine_ray_concave.d.ts.map +1 -1
  618. package/src/engine/physics/narrowphase/refine_ray_concave.js +3 -1
  619. package/src/engine/physics/narrowphase/refine_ray_hit.d.ts +6 -6
  620. package/src/engine/physics/narrowphase/refine_ray_hit.d.ts.map +1 -1
  621. package/src/engine/physics/narrowphase/refine_ray_hit.js +5 -1
  622. package/src/engine/physics/queries/shape_cast.d.ts +9 -7
  623. package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
  624. package/src/engine/physics/queries/shape_cast.js +8 -1
  625. package/src/engine/platform/EnginePlatform.d.ts +4 -0
  626. package/src/engine/platform/EnginePlatform.d.ts.map +1 -1
  627. package/src/engine/platform/EnginePlatform.js +4 -0
  628. package/src/engine/plugin/EnginePlugin.d.ts +9 -0
  629. package/src/engine/plugin/EnginePlugin.d.ts.map +1 -1
  630. package/src/engine/plugin/EnginePlugin.js +9 -0
  631. package/src/engine/plugin/EnginePluginManager.d.ts +13 -2
  632. package/src/engine/plugin/EnginePluginManager.d.ts.map +1 -1
  633. package/src/engine/plugin/EnginePluginManager.js +10 -0
  634. package/src/engine/save/StorageBackedList.d.ts +8 -4
  635. package/src/engine/save/StorageBackedList.d.ts.map +1 -1
  636. package/src/engine/save/StorageBackedList.js +3 -2
  637. package/src/engine/scene/Scene.d.ts +10 -0
  638. package/src/engine/scene/Scene.d.ts.map +1 -1
  639. package/src/engine/scene/Scene.js +7 -0
  640. package/src/engine/scene/SceneManager.d.ts +4 -0
  641. package/src/engine/scene/SceneManager.d.ts.map +1 -1
  642. package/src/engine/scene/SceneManager.js +4 -0
  643. package/src/engine/scene/SerializedScene.d.ts +8 -4
  644. package/src/engine/scene/SerializedScene.d.ts.map +1 -1
  645. package/src/engine/scene/SerializedScene.js +3 -2
  646. package/src/engine/scene/transitionToScene.d.ts +11 -5
  647. package/src/engine/scene/transitionToScene.d.ts.map +1 -1
  648. package/src/engine/scene/transitionToScene.js +5 -4
  649. package/src/engine/simulation/Ticker.d.ts +5 -2
  650. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  651. package/src/engine/simulation/Ticker.js +2 -1
  652. package/src/engine/sound/SoundEngine.d.ts +4 -0
  653. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  654. package/src/engine/sound/SoundEngine.js +4 -0
  655. package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.d.ts +7 -3
  656. package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.d.ts.map +1 -1
  657. package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.js +3 -2
  658. package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts +10 -0
  659. package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts.map +1 -1
  660. package/src/engine/sound/sopra/SopraEngine.d.ts +5 -0
  661. package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
  662. package/src/engine/sound/sopra/SopraEngine.js +8 -0
  663. package/src/engine/sound/sopra/definition/BusDefinition.d.ts +4 -0
  664. package/src/engine/sound/sopra/definition/BusDefinition.d.ts.map +1 -1
  665. package/src/engine/sound/sopra/definition/BusDefinition.js +4 -0
  666. package/src/engine/sound/sopra/definition/EventDescription.d.ts +1 -0
  667. package/src/engine/sound/sopra/definition/EventDescription.d.ts.map +1 -1
  668. package/src/engine/sound/sopra/definition/EventDescription.js +4 -0
  669. package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.d.ts +6 -0
  670. package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.d.ts.map +1 -1
  671. package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.js +5 -0
  672. package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.d.ts +1 -1
  673. package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.d.ts +1 -0
  674. package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.d.ts.map +1 -1
  675. package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.d.ts +1 -1
  676. package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts +10 -2
  677. package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts.map +1 -1
  678. package/src/engine/sound/sopra/definition/clip/SampleAudioClip.js +7 -0
  679. package/src/engine/sound/sopra/definition/clip/SequenceContainerAudioClip.d.ts +1 -1
  680. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts +1 -1
  681. package/src/engine/sound/sopra/runtime/BusGraph.d.ts +4 -0
  682. package/src/engine/sound/sopra/runtime/BusGraph.d.ts.map +1 -1
  683. package/src/engine/sound/sopra/runtime/BusGraph.js +4 -0
  684. package/src/engine/sound/sopra/runtime/EventInstance.d.ts +9 -1
  685. package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
  686. package/src/engine/sound/sopra/runtime/EventInstance.js +11 -0
  687. package/src/engine/sound/sopra/runtime/VoiceManager.d.ts +2 -0
  688. package/src/engine/sound/sopra/runtime/VoiceManager.d.ts.map +1 -1
  689. package/src/engine/sound/sopra/runtime/VoiceManager.js +5 -0
  690. package/src/engine/ui/DraggableAspect.d.ts +14 -6
  691. package/src/engine/ui/DraggableAspect.d.ts.map +1 -1
  692. package/src/engine/ui/DraggableAspect.js +6 -5
  693. package/src/engine/ui/GUIEngine.d.ts +73 -26
  694. package/src/engine/ui/GUIEngine.d.ts.map +1 -1
  695. package/src/engine/ui/GUIEngine.js +37 -19
  696. package/src/engine/ui/bindings/DomElementBindingDescription.d.ts +7 -3
  697. package/src/engine/ui/bindings/DomElementBindingDescription.d.ts.map +1 -1
  698. package/src/engine/ui/bindings/DomElementBindingDescription.js +3 -2
  699. package/src/engine/ui/modal/ModalStack.d.ts +4 -0
  700. package/src/engine/ui/modal/ModalStack.d.ts.map +1 -1
  701. package/src/engine/ui/modal/ModalStack.js +4 -0
  702. package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts +4 -0
  703. package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts.map +1 -1
  704. package/src/engine/ui/notification/AnimatedObjectEmitter.js +4 -0
  705. package/src/engine/ui/notification/NotificationManager.d.ts +21 -8
  706. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  707. package/src/engine/ui/notification/NotificationManager.js +10 -3
  708. package/src/engine/ui/notification/ViewEmitter.d.ts +8 -2
  709. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  710. package/src/engine/ui/notification/ViewEmitter.js +6 -1
  711. package/src/engine/ui/scene/SceneGUIContext.d.ts +4 -0
  712. package/src/engine/ui/scene/SceneGUIContext.d.ts.map +1 -1
  713. package/src/engine/ui/scene/SceneGUIContext.js +4 -0
  714. package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.d.ts +9 -4
  715. package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.d.ts.map +1 -1
  716. package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.js +4 -3
  717. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts +9 -4
  718. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  719. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.js +4 -3
  720. package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts +9 -4
  721. package/src/generation/grid/generation/GridTaskApplyActionToCells.d.ts.map +1 -1
  722. package/src/generation/grid/generation/GridTaskApplyActionToCells.js +4 -3
  723. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts +9 -4
  724. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.d.ts.map +1 -1
  725. package/src/generation/grid/generation/discrete/GridTaskActionRuleSet.js +4 -3
  726. package/src/generation/grid/generation/grid/select/CellSupplierBestN.d.ts +11 -5
  727. package/src/generation/grid/generation/grid/select/CellSupplierBestN.d.ts.map +1 -1
  728. package/src/generation/grid/generation/grid/select/CellSupplierBestN.js +5 -4
  729. package/src/generation/grid/generation/road/GridTaskGenerateRoads.d.ts +9 -4
  730. package/src/generation/grid/generation/road/GridTaskGenerateRoads.d.ts.map +1 -1
  731. package/src/generation/grid/generation/road/GridTaskGenerateRoads.js +12 -10
  732. package/src/generation/grid/generation/util/buildDistanceMapToObjective.d.ts +19 -9
  733. package/src/generation/grid/generation/util/buildDistanceMapToObjective.d.ts.map +1 -1
  734. package/src/generation/grid/generation/util/buildDistanceMapToObjective.js +9 -8
  735. package/src/generation/grid/generation/util/buildPathFromDistanceMap.d.ts +17 -8
  736. package/src/generation/grid/generation/util/buildPathFromDistanceMap.d.ts.map +1 -1
  737. package/src/generation/grid/generation/util/buildPathFromDistanceMap.js +8 -7
  738. package/src/generation/markers/GridActionRuleSet.d.ts +11 -5
  739. package/src/generation/markers/GridActionRuleSet.d.ts.map +1 -1
  740. package/src/generation/markers/GridActionRuleSet.js +5 -4
  741. package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts +9 -4
  742. package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.d.ts.map +1 -1
  743. package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +4 -3
  744. package/src/generation/markers/actions/MarkerNodeActionImaginary.d.ts +9 -4
  745. package/src/generation/markers/actions/MarkerNodeActionImaginary.d.ts.map +1 -1
  746. package/src/generation/markers/actions/MarkerNodeActionImaginary.js +4 -3
  747. package/src/generation/markers/actions/MarkerProcessingRule.d.ts +11 -5
  748. package/src/generation/markers/actions/MarkerProcessingRule.d.ts.map +1 -1
  749. package/src/generation/markers/actions/MarkerProcessingRule.js +5 -4
  750. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts +5 -2
  751. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
  752. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +2 -1
  753. package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.d.ts +13 -6
  754. package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.d.ts.map +1 -1
  755. package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.js +6 -5
  756. package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.d.ts +7 -3
  757. package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.d.ts.map +1 -1
  758. package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.js +3 -2
  759. package/src/generation/placement/GridCellPlacementRule.d.ts +15 -7
  760. package/src/generation/placement/GridCellPlacementRule.d.ts.map +1 -1
  761. package/src/generation/placement/GridCellPlacementRule.js +7 -6
  762. package/src/shade/descriptor/ObjectDescriptorBase.d.ts +8 -3
  763. package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
  764. package/src/shade/descriptor/ObjectDescriptorBase.js +7 -2
  765. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.d.ts +12 -0
  766. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.d.ts.map +1 -1
  767. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +8 -0
  768. package/src/shade/descriptor/binding/BufferBindingLayout.d.ts +11 -6
  769. package/src/shade/descriptor/binding/BufferBindingLayout.d.ts.map +1 -1
  770. package/src/shade/descriptor/binding/BufferBindingLayout.js +5 -4
  771. package/src/shade/descriptor/binding/SamplerBindingLayout.d.ts +2 -2
  772. package/src/shade/descriptor/binding/SamplerBindingLayout.d.ts.map +1 -1
  773. package/src/shade/descriptor/binding/SamplerBindingLayout.js +1 -1
  774. package/src/shade/descriptor/binding/StorageTextureBindingLayout.d.ts +2 -2
  775. package/src/shade/descriptor/binding/StorageTextureBindingLayout.d.ts.map +1 -1
  776. package/src/shade/descriptor/binding/StorageTextureBindingLayout.js +1 -1
  777. package/src/shade/descriptor/binding/TextureBindingLayout.d.ts +4 -4
  778. package/src/shade/descriptor/binding/TextureBindingLayout.d.ts.map +1 -1
  779. package/src/shade/descriptor/binding/TextureBindingLayout.js +2 -2
  780. package/src/shade/descriptor/blend/BlendComponent.d.ts +6 -6
  781. package/src/shade/descriptor/blend/BlendComponent.d.ts.map +1 -1
  782. package/src/shade/descriptor/blend/BlendComponent.js +3 -3
  783. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.d.ts +12 -0
  784. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.d.ts.map +1 -1
  785. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +8 -0
  786. package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.d.ts +18 -5
  787. package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.d.ts.map +1 -1
  788. package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.js +14 -4
  789. package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts +4 -1
  790. package/src/shade/descriptor/pipeline/render/DepthStencilState.d.ts.map +1 -1
  791. package/src/shade/descriptor/pipeline/render/DepthStencilState.js +3 -0
  792. package/src/shade/descriptor/pipeline/render/FragmentState.d.ts +5 -2
  793. package/src/shade/descriptor/pipeline/render/FragmentState.d.ts.map +1 -1
  794. package/src/shade/descriptor/pipeline/render/FragmentState.js +4 -1
  795. package/src/shade/descriptor/pipeline/render/PrimitiveState.d.ts +8 -8
  796. package/src/shade/descriptor/pipeline/render/PrimitiveState.d.ts.map +1 -1
  797. package/src/shade/descriptor/pipeline/render/PrimitiveState.js +4 -4
  798. package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts +16 -4
  799. package/src/shade/descriptor/pipeline/render/StencilFaceState.d.ts.map +1 -1
  800. package/src/shade/descriptor/pipeline/render/StencilFaceState.js +12 -0
  801. package/src/shade/descriptor/pipeline/render/VertexState.d.ts +5 -2
  802. package/src/shade/descriptor/pipeline/render/VertexState.d.ts.map +1 -1
  803. package/src/shade/descriptor/pipeline/render/VertexState.js +4 -1
  804. package/src/shade/descriptor/texture/SamplerDescriptor.d.ts +24 -6
  805. package/src/shade/descriptor/texture/SamplerDescriptor.d.ts.map +1 -1
  806. package/src/shade/descriptor/texture/SamplerDescriptor.js +18 -0
  807. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +2 -2
  808. package/src/shade/descriptor/texture/TextureDescriptor.d.ts.map +1 -1
  809. package/src/shade/descriptor/texture/TextureDescriptor.js +1 -1
  810. package/src/shade/device/ShadeGPUCommandContext.d.ts +46 -12
  811. package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
  812. package/src/shade/device/ShadeGPUCommandContext.js +28 -8
  813. package/src/shade/device/graph/GraphicsExecutionContext.d.ts +6 -0
  814. package/src/shade/device/graph/GraphicsExecutionContext.d.ts.map +1 -1
  815. package/src/shade/device/graph/GraphicsExecutionContext.js +5 -0
  816. package/src/shade/device/graph/TextureResourceDescriptor.d.ts +13 -6
  817. package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
  818. package/src/shade/device/graph/TextureResourceDescriptor.js +6 -5
  819. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +6 -0
  820. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
  821. package/src/shade/device/pass/ShadeGPUComputePassEncoder.js +5 -0
  822. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +6 -0
  823. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
  824. package/src/shade/device/pass/ShadeGPURenderPassEncoder.js +5 -0
  825. package/src/shade/device/pipeline/ComputePipelineManager.d.ts +9 -1
  826. package/src/shade/device/pipeline/ComputePipelineManager.d.ts.map +1 -1
  827. package/src/shade/device/pipeline/ComputePipelineManager.js +6 -0
  828. package/src/shade/device/pipeline/PipelineLayoutManager.d.ts +6 -0
  829. package/src/shade/device/pipeline/PipelineLayoutManager.d.ts.map +1 -1
  830. package/src/shade/device/pipeline/PipelineLayoutManager.js +5 -0
  831. package/src/shade/device/pipeline/RenderPipelineManager.d.ts +7 -1
  832. package/src/shade/device/pipeline/RenderPipelineManager.d.ts.map +1 -1
  833. package/src/shade/device/pipeline/RenderPipelineManager.js +5 -0
  834. package/src/shade/device/shader/ShaderModuleCompiler.d.ts +4 -0
  835. package/src/shade/device/shader/ShaderModuleCompiler.d.ts.map +1 -1
  836. package/src/shade/device/shader/ShaderModuleCompiler.js +4 -0
  837. package/src/shade/device/timing/profile/GPUFrameRecorder.d.ts +6 -0
  838. package/src/shade/device/timing/profile/GPUFrameRecorder.d.ts.map +1 -1
  839. package/src/shade/device/timing/profile/GPUFrameRecorder.js +5 -0
  840. package/src/shade/device/timing/profile/GPUProfileFrame.d.ts +6 -0
  841. package/src/shade/device/timing/profile/GPUProfileFrame.d.ts.map +1 -1
  842. package/src/shade/device/timing/profile/GPUProfileFrame.js +5 -0
  843. package/src/shade/device/timing/profile/GPUProfileSession.d.ts +1 -0
  844. package/src/shade/device/timing/profile/GPUProfileSession.d.ts.map +1 -1
  845. package/src/shade/device/timing/profile/GPUProfileSession.js +4 -0
  846. package/src/shade/device/timing/profile/GPUProfileSpan.d.ts +4 -0
  847. package/src/shade/device/timing/profile/GPUProfileSpan.d.ts.map +1 -1
  848. package/src/shade/device/timing/profile/GPUProfileSpan.js +4 -0
  849. package/src/shade/playground/add_random_meshes.d.ts +19 -8
  850. package/src/shade/playground/add_random_meshes.d.ts.map +1 -1
  851. package/src/shade/playground/add_random_meshes.js +8 -7
  852. package/src/shade/playground/ground_seam/capture_scene_color.d.ts +4 -0
  853. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
  854. package/src/shade/playground/particle_ecs/index.html +0 -2
  855. package/src/shade/playground/particle_ecs/main.js +8 -29
  856. package/src/shade/playground/particle_system/main.js +8 -21
  857. package/src/shade/playground/particle_system/particle_prototype.js +8 -8
  858. package/src/shade/playground/particle_system/particle_scene.d.ts +0 -61
  859. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  860. package/src/shade/playground/particle_system/particle_scene.js +0 -57
  861. package/src/shade/playground/ssr_variance/reference.d.ts +1 -1
  862. package/src/shade/playground/ssr_variance/reference.d.ts.map +1 -1
  863. package/src/shade/playground/vgeo_viewer/README.md +11 -2
  864. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -1
  865. package/src/shade/playground/vgeo_viewer/cut_geometry.js +3 -40
  866. package/src/shade/playground/vgeo_viewer/main.js +14 -0
  867. package/src/shade/playground/vgeo_viewer/select_cut.d.ts +19 -0
  868. package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -1
  869. package/src/shade/playground/vgeo_viewer/select_cut.js +53 -9
  870. package/src/shade/renderer/GPUSamplerManager.d.ts +4 -0
  871. package/src/shade/renderer/GPUSamplerManager.d.ts.map +1 -1
  872. package/src/shade/renderer/GPUSamplerManager.js +4 -0
  873. package/src/shade/renderer/GraphicsContext.d.ts +2 -0
  874. package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
  875. package/src/shade/renderer/GraphicsContext.js +5 -0
  876. package/src/shade/renderer/Renderer.d.ts +14 -4
  877. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  878. package/src/shade/renderer/Renderer.js +70 -67
  879. package/src/shade/renderer/ResourceManager.d.ts +10 -0
  880. package/src/shade/renderer/ResourceManager.d.ts.map +1 -1
  881. package/src/shade/renderer/ResourceManager.js +7 -0
  882. package/src/shade/renderer/animation/GPUAnimationManager.d.ts +18 -11
  883. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  884. package/src/shade/renderer/animation/GPUAnimationManager.js +2063 -1958
  885. package/src/shade/renderer/animation/ShadeAnimationChannel.d.ts +2 -0
  886. package/src/shade/renderer/animation/ShadeAnimationChannel.d.ts.map +1 -1
  887. package/src/shade/renderer/animation/ShadeAnimationChannel.js +5 -0
  888. package/src/shade/renderer/animation/ShadeAnimationClip.d.ts +4 -0
  889. package/src/shade/renderer/animation/ShadeAnimationClip.d.ts.map +1 -1
  890. package/src/shade/renderer/animation/ShadeAnimationClip.js +4 -0
  891. package/src/shade/renderer/animation/Skin.d.ts +6 -0
  892. package/src/shade/renderer/animation/Skin.d.ts.map +1 -1
  893. package/src/shade/renderer/animation/Skin.js +5 -0
  894. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +48 -0
  895. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  896. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +201 -14
  897. package/src/shade/renderer/binding/BindGroupDescriptor.d.ts +2 -1
  898. package/src/shade/renderer/binding/BindGroupDescriptor.d.ts.map +1 -1
  899. package/src/shade/renderer/binding/BindGroupDescriptor.js +4 -0
  900. package/src/shade/renderer/binding/BindGroupManager.d.ts +1 -0
  901. package/src/shade/renderer/binding/BindGroupManager.d.ts.map +1 -1
  902. package/src/shade/renderer/binding/BindGroupManager.js +4 -0
  903. package/src/shade/renderer/buffer/GPUBufferAllocatorNative.d.ts +4 -0
  904. package/src/shade/renderer/buffer/GPUBufferAllocatorNative.d.ts.map +1 -1
  905. package/src/shade/renderer/buffer/GPUBufferAllocatorNative.js +4 -0
  906. package/src/shade/renderer/buffer/GPUTypedBuffer.d.ts +20 -8
  907. package/src/shade/renderer/buffer/GPUTypedBuffer.d.ts.map +1 -1
  908. package/src/shade/renderer/buffer/GPUTypedBuffer.js +11 -6
  909. package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.d.ts +15 -7
  910. package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.d.ts.map +1 -1
  911. package/src/shade/renderer/buffer/graph_inspect_gpu_buffer.js +7 -6
  912. package/src/shade/renderer/buffer/inspect_gpu_buffer.d.ts +26 -12
  913. package/src/shade/renderer/buffer/inspect_gpu_buffer.d.ts.map +1 -1
  914. package/src/shade/renderer/buffer/inspect_gpu_buffer.js +12 -10
  915. package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.d.ts +13 -6
  916. package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.d.ts.map +1 -1
  917. package/src/shade/renderer/buffer/inspect_gpu_buffer_typed.js +6 -5
  918. package/src/shade/renderer/buffer/table/GPUDatabase.d.ts +13 -5
  919. package/src/shade/renderer/buffer/table/GPUDatabase.d.ts.map +1 -1
  920. package/src/shade/renderer/buffer/table/GPUDatabase.js +10 -4
  921. package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts +3 -1
  922. package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts.map +1 -1
  923. package/src/shade/renderer/buffer/table/GPUTypedTable.js +5 -0
  924. package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts +4 -0
  925. package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts.map +1 -1
  926. package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.js +4 -0
  927. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts +11 -4
  928. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.d.ts.map +1 -1
  929. package/src/shade/renderer/buffer/table/single/GPUSingleTypeTable.js +9 -3
  930. package/src/shade/renderer/camera/CameraManager.d.ts +4 -0
  931. package/src/shade/renderer/camera/CameraManager.d.ts.map +1 -1
  932. package/src/shade/renderer/camera/CameraManager.js +4 -0
  933. package/src/shade/renderer/camera/GPUCameraContext.d.ts +4 -2
  934. package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
  935. package/src/shade/renderer/camera/GPUCameraContext.js +5 -0
  936. package/src/shade/renderer/extension/FrameContext.d.ts +15 -5
  937. package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
  938. package/src/shade/renderer/extension/FrameContext.js +7 -0
  939. package/src/shade/renderer/extension/FrameRecord.d.ts +7 -1
  940. package/src/shade/renderer/extension/FrameRecord.d.ts.map +1 -1
  941. package/src/shade/renderer/extension/FrameRecord.js +5 -0
  942. package/src/shade/renderer/extension/RenderExtension.d.ts +4 -0
  943. package/src/shade/renderer/extension/RenderExtension.d.ts.map +1 -1
  944. package/src/shade/renderer/extension/RenderExtension.js +4 -0
  945. package/src/shade/renderer/geometry/Attribute.d.ts +2 -2
  946. package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
  947. package/src/shade/renderer/geometry/Attribute.js +1 -1
  948. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts +30 -2
  949. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  950. package/src/shade/renderer/geometry/GPUGeometryManager.js +642 -591
  951. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts +4 -0
  952. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts.map +1 -1
  953. package/src/shade/renderer/geometry/GPUGeometryMetadata.js +4 -0
  954. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +7 -3
  955. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -1
  956. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +3 -2
  957. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +4 -0
  958. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  959. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +4 -0
  960. package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.d.ts +11 -5
  961. package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.d.ts.map +1 -1
  962. package/src/shade/renderer/geometry/bvh/bvh_to_gpu_buffer.js +5 -4
  963. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts +12 -4
  964. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.d.ts.map +1 -1
  965. package/src/shade/renderer/geometry/meshlet/GPUMeshletManager.js +10 -3
  966. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +1 -0
  967. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  968. package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +4 -0
  969. package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts +13 -6
  970. package/src/shade/renderer/geometry/meshlet_batch_to_bvh.d.ts.map +1 -1
  971. package/src/shade/renderer/geometry/meshlet_batch_to_bvh.js +6 -5
  972. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +2 -0
  973. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
  974. package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +5 -0
  975. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts +13 -6
  976. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.d.ts.map +1 -1
  977. package/src/shade/renderer/geometry/sdf/shader_sdf_visualize.js +6 -5
  978. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +31 -0
  979. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -1
  980. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +345 -0
  981. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts +11 -5
  982. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
  983. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.js +5 -4
  984. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.d.ts +12 -5
  985. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.d.ts.map +1 -1
  986. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_generate_tree_from_scene.js +5 -4
  987. package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.d.ts +11 -5
  988. package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.d.ts.map +1 -1
  989. package/src/shade/renderer/global_illumination/brick4/gpu/bake/brick4_bake_basic.js +5 -4
  990. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts +5 -1
  991. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
  992. package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +4 -0
  993. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +4 -0
  994. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
  995. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.js +4 -0
  996. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +7 -1
  997. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
  998. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.js +5 -0
  999. package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.d.ts +11 -5
  1000. package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.d.ts.map +1 -1
  1001. package/src/shade/renderer/global_illumination/lpv/graph_bake_irradiance_lookup_2d.js +5 -4
  1002. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts +9 -4
  1003. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.d.ts.map +1 -1
  1004. package/src/shade/renderer/global_illumination/lpv/lpv_visualise_probes.js +4 -3
  1005. package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.d.ts +9 -4
  1006. package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.d.ts.map +1 -1
  1007. package/src/shade/renderer/global_illumination/lpv/placement/graph_generate_probe_locations.js +4 -3
  1008. package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.d.ts +7 -3
  1009. package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.d.ts.map +1 -1
  1010. package/src/shade/renderer/global_illumination/lpv/placement/software/lpv_generate_probe_locations2.js +3 -2
  1011. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts +28 -8
  1012. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.d.ts.map +1 -1
  1013. package/src/shade/renderer/global_illumination/probe/octahedral/GPUProbeAtlas.js +17 -6
  1014. package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.d.ts +13 -6
  1015. package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.d.ts.map +1 -1
  1016. package/src/shade/renderer/global_illumination/probe/octahedral/border/graph_lpv_paint_border_depth.js +6 -5
  1017. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.d.ts +15 -7
  1018. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.d.ts.map +1 -1
  1019. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lpv_store_sh.js +7 -6
  1020. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.d.ts +17 -8
  1021. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.d.ts.map +1 -1
  1022. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_lvp_atlas_to_sh.js +8 -7
  1023. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.d.ts +17 -8
  1024. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.d.ts.map +1 -1
  1025. package/src/shade/renderer/global_illumination/probe/octahedral/convolve/graph_reduce_atlas_to_sh.js +8 -7
  1026. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +15 -7
  1027. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
  1028. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.js +7 -6
  1029. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +19 -9
  1030. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -1
  1031. package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +9 -8
  1032. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts +9 -4
  1033. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.d.ts.map +1 -1
  1034. package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdldf.js +4 -3
  1035. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +11 -5
  1036. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -1
  1037. package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +5 -4
  1038. package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts +9 -1
  1039. package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts.map +1 -1
  1040. package/src/shade/renderer/hiz/HierarchicalZBuffer.js +6 -0
  1041. package/src/shade/renderer/hiz/generate_downsampler_code.d.ts +11 -5
  1042. package/src/shade/renderer/hiz/generate_downsampler_code.d.ts.map +1 -1
  1043. package/src/shade/renderer/hiz/generate_downsampler_code.js +5 -4
  1044. package/src/shade/renderer/hiz/graph_build_hzb.d.ts +13 -6
  1045. package/src/shade/renderer/hiz/graph_build_hzb.d.ts.map +1 -1
  1046. package/src/shade/renderer/hiz/graph_build_hzb.js +6 -5
  1047. package/src/shade/renderer/light/GPULightCollection.d.ts +4 -1
  1048. package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
  1049. package/src/shade/renderer/light/GPULightCollection.js +6 -0
  1050. package/src/shade/renderer/light/LightCollection.d.ts +9 -3
  1051. package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
  1052. package/src/shade/renderer/light/LightCollection.js +5 -0
  1053. package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts +11 -5
  1054. package/src/shade/renderer/light/cluster/cull/graph_cull_lights.d.ts.map +1 -1
  1055. package/src/shade/renderer/light/cluster/cull/graph_cull_lights.js +17 -14
  1056. package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts +13 -6
  1057. package/src/shade/renderer/light/cluster/graph_assign_clsuters.d.ts.map +1 -1
  1058. package/src/shade/renderer/light/cluster/graph_assign_clsuters.js +6 -5
  1059. package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts +13 -6
  1060. package/src/shade/renderer/light/cluster/graph_build_light_clusters.d.ts.map +1 -1
  1061. package/src/shade/renderer/light/cluster/graph_build_light_clusters.js +6 -5
  1062. package/src/shade/renderer/light/environment/graph_filter_environment_map.d.ts +7 -3
  1063. package/src/shade/renderer/light/environment/graph_filter_environment_map.d.ts.map +1 -1
  1064. package/src/shade/renderer/light/environment/graph_filter_environment_map.js +3 -2
  1065. package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.d.ts +11 -5
  1066. package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.d.ts.map +1 -1
  1067. package/src/shade/renderer/lightmap/bake/raster/graph_draw_lightmap_viz_buffer.js +5 -4
  1068. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
  1069. package/src/shade/renderer/material/GPUMaterialContext.d.ts +17 -1
  1070. package/src/shade/renderer/material/GPUMaterialContext.d.ts.map +1 -1
  1071. package/src/shade/renderer/material/GPUMaterialContext.js +10 -0
  1072. package/src/shade/renderer/material/GPUMaterialManager.d.ts +19 -5
  1073. package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
  1074. package/src/shade/renderer/material/GPUMaterialManager.js +19 -4
  1075. package/src/shade/renderer/material/ShadeMaterial.d.ts +2 -1
  1076. package/src/shade/renderer/material/ShadeMaterial.d.ts.map +1 -1
  1077. package/src/shade/renderer/material/ShadeMaterial.js +4 -0
  1078. package/src/shade/renderer/material/StandardShadeMaterial.d.ts +6 -0
  1079. package/src/shade/renderer/material/StandardShadeMaterial.d.ts.map +1 -1
  1080. package/src/shade/renderer/material/StandardShadeMaterial.js +5 -0
  1081. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts +12 -0
  1082. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
  1083. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +8 -0
  1084. package/src/shade/renderer/particles/DESIGN.md +82 -69
  1085. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +93 -48
  1086. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  1087. package/src/shade/renderer/particles/GPUParticleSystem.js +117 -176
  1088. package/src/shade/renderer/particles/ParticleConstants.d.ts +6 -12
  1089. package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
  1090. package/src/shade/renderer/particles/ParticleConstants.js +6 -13
  1091. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +4 -4
  1092. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +6 -6
  1093. package/src/shade/renderer/particles/coherence/particle_program_buckets.d.ts +2 -1
  1094. package/src/shade/renderer/particles/coherence/particle_program_buckets.d.ts.map +1 -1
  1095. package/src/shade/renderer/particles/coherence/particle_program_buckets.js +6 -8
  1096. package/src/shade/renderer/particles/coherence/shader_particle_bucket.d.ts.map +1 -1
  1097. package/src/shade/renderer/particles/coherence/shader_particle_bucket.js +4 -3
  1098. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts +10 -14
  1099. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.d.ts.map +1 -1
  1100. package/src/shade/renderer/particles/data/PARTICLE_COUNTERS.js +10 -14
  1101. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts +6 -5
  1102. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.d.ts.map +1 -1
  1103. package/src/shade/renderer/particles/data/PARTICLE_EMITTER_STRUCT.js +6 -5
  1104. package/src/shade/renderer/particles/graph_particles.d.ts +19 -32
  1105. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  1106. package/src/shade/renderer/particles/graph_particles.js +18 -25
  1107. package/src/shade/renderer/particles/graph_particles_avboit.js +16 -16
  1108. package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts +3 -2
  1109. package/src/shade/renderer/particles/runtime/EmitterRegistry.d.ts.map +1 -1
  1110. package/src/shade/renderer/particles/runtime/EmitterRegistry.js +31 -27
  1111. package/src/shade/renderer/particles/runtime/ParticleEmitter.d.ts +4 -4
  1112. package/src/shade/renderer/particles/runtime/ParticleEmitter.js +4 -4
  1113. package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +4 -4
  1114. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +7 -6
  1115. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
  1116. package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +7 -6
  1117. package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +4 -3
  1118. package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts.map +1 -1
  1119. package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +4 -3
  1120. package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts +2 -2
  1121. package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +10 -10
  1122. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +3 -3
  1123. package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.d.ts.map +1 -1
  1124. package/src/shade/renderer/particles/shaders/shader_particle_avboit_splat.js +2 -1
  1125. package/src/shade/renderer/particles/shaders/shader_particle_finalize.d.ts.map +1 -1
  1126. package/src/shade/renderer/particles/shaders/shader_particle_finalize.js +13 -16
  1127. package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +1 -1
  1128. package/src/shade/renderer/particles/shaders/shader_particle_render.js +22 -19
  1129. package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts +10 -3
  1130. package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.d.ts.map +1 -1
  1131. package/src/shade/renderer/path_tracer/accumulating/AccumulatingPathTracer.js +12 -2
  1132. package/src/shade/renderer/path_tracer/graph_path_trace_scene.d.ts +7 -3
  1133. package/src/shade/renderer/path_tracer/graph_path_trace_scene.d.ts.map +1 -1
  1134. package/src/shade/renderer/path_tracer/graph_path_trace_scene.js +3 -2
  1135. package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.d.ts +11 -5
  1136. package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.d.ts.map +1 -1
  1137. package/src/shade/renderer/postprocess/bloom/graph_bloom_downsample.js +5 -4
  1138. package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts +13 -6
  1139. package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.d.ts.map +1 -1
  1140. package/src/shade/renderer/postprocess/bloom/graph_postprocess_bloom.js +11 -9
  1141. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +31 -15
  1142. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  1143. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.js +15 -14
  1144. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts +21 -10
  1145. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.d.ts.map +1 -1
  1146. package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js +10 -9
  1147. package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.d.ts +17 -8
  1148. package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.d.ts.map +1 -1
  1149. package/src/shade/renderer/postprocess/denoise/graph_atorus_denoise_luma.js +8 -7
  1150. package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.d.ts +6 -0
  1151. package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.d.ts.map +1 -1
  1152. package/src/shade/renderer/postprocess/dof/gather/DepthOfFieldU.js +5 -0
  1153. package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.d.ts +6 -0
  1154. package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.d.ts.map +1 -1
  1155. package/src/shade/renderer/postprocess/dof/raymarch/DepthOfField.js +5 -0
  1156. package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts +14 -6
  1157. package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.d.ts.map +1 -1
  1158. package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.js +6 -4
  1159. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts +13 -6
  1160. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts.map +1 -1
  1161. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.js +6 -5
  1162. package/src/shade/renderer/postprocess/gtao/render_copy_texture.d.ts +28 -13
  1163. package/src/shade/renderer/postprocess/gtao/render_copy_texture.d.ts.map +1 -1
  1164. package/src/shade/renderer/postprocess/gtao/render_copy_texture.js +13 -11
  1165. package/src/shade/renderer/postprocess/motion_blur/MotionBlur.d.ts +4 -0
  1166. package/src/shade/renderer/postprocess/motion_blur/MotionBlur.d.ts.map +1 -1
  1167. package/src/shade/renderer/postprocess/motion_blur/MotionBlur.js +4 -0
  1168. package/src/shade/renderer/postprocess/nss/NSS.d.ts +7 -1
  1169. package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
  1170. package/src/shade/renderer/postprocess/nss/NSS.js +5 -0
  1171. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts +9 -4
  1172. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts.map +1 -1
  1173. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.js +4 -3
  1174. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts +13 -6
  1175. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.d.ts.map +1 -1
  1176. package/src/shade/renderer/postprocess/ssr/ssr_graph_prefilter_color.js +6 -5
  1177. package/src/shade/renderer/postprocess/taa/TAA.d.ts +15 -7
  1178. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  1179. package/src/shade/renderer/postprocess/taa/TAA.js +7 -6
  1180. package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.d.ts +13 -6
  1181. package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.d.ts.map +1 -1
  1182. package/src/shade/renderer/postprocess/velocity/graph_add_camera_velocity.js +6 -5
  1183. package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts +11 -5
  1184. package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.d.ts.map +1 -1
  1185. package/src/shade/renderer/rasterize/compute/graph_mesh_frustum_cull.js +5 -4
  1186. package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.d.ts +11 -5
  1187. package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.d.ts.map +1 -1
  1188. package/src/shade/renderer/rasterize/compute/graph_mesh_sphere_cull.js +5 -4
  1189. package/src/shade/renderer/rasterize/execute_rasterization_jobs.d.ts +12 -5
  1190. package/src/shade/renderer/rasterize/execute_rasterization_jobs.d.ts.map +1 -1
  1191. package/src/shade/renderer/rasterize/execute_rasterization_jobs.js +5 -4
  1192. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +2 -0
  1193. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
  1194. package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +5 -0
  1195. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts +11 -5
  1196. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.d.ts.map +1 -1
  1197. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_meshes_classify_buckets.js +5 -4
  1198. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.d.ts +9 -4
  1199. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.d.ts.map +1 -1
  1200. package/src/shade/renderer/rasterize/expand/bucket/mesh/graph_scene_meshes_cull_and_classify_buckets.js +4 -3
  1201. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts +11 -5
  1202. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.d.ts.map +1 -1
  1203. package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_sort_meshlets_by_bucket_id.js +5 -4
  1204. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts +15 -7
  1205. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.d.ts.map +1 -1
  1206. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_one_way.js +7 -6
  1207. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.d.ts +15 -7
  1208. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.d.ts.map +1 -1
  1209. package/src/shade/renderer/rasterize/expand/graph_mesh_filter_two_way.js +7 -6
  1210. package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.d.ts +13 -6
  1211. package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.d.ts.map +1 -1
  1212. package/src/shade/renderer/rasterize/expand/graph_meshlets_expand.js +6 -5
  1213. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts +17 -8
  1214. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.d.ts.map +1 -1
  1215. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_one_way.js +8 -7
  1216. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.d.ts +13 -6
  1217. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.d.ts.map +1 -1
  1218. package/src/shade/renderer/rasterize/expand/graph_meshlets_filter_two_way.js +6 -5
  1219. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts +21 -10
  1220. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.d.ts.map +1 -1
  1221. package/src/shade/renderer/rasterize/expand/graph_meshlets_rasterize.js +10 -9
  1222. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.d.ts +13 -6
  1223. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.d.ts.map +1 -1
  1224. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_by_material_side.js +6 -5
  1225. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.d.ts +17 -8
  1226. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.d.ts.map +1 -1
  1227. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_one_way.js +8 -7
  1228. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.d.ts +13 -6
  1229. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.d.ts.map +1 -1
  1230. package/src/shade/renderer/rasterize/expand/graph_triangles_filter_two_way.js +6 -5
  1231. package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts +15 -7
  1232. package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.d.ts.map +1 -1
  1233. package/src/shade/renderer/rasterize/expand/mesh/graph_expand_meshes_to_meshlets.js +7 -6
  1234. package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.d.ts +11 -5
  1235. package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.d.ts.map +1 -1
  1236. package/src/shade/renderer/rasterize/fast/graph_extract_meshes_from_bucket.js +5 -4
  1237. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +9 -4
  1238. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
  1239. package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +4 -3
  1240. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +80 -37
  1241. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
  1242. package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +37 -33
  1243. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts +28 -13
  1244. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.d.ts.map +1 -1
  1245. package/src/shade/renderer/rasterize/native/graph_rasterize_meshes_alpha_tested.js +13 -12
  1246. package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.d.ts.map +1 -1
  1247. package/src/shade/renderer/rasterize/native/oit/graph_rasterize_meshes_transparent_oit.js +12 -11
  1248. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
  1249. package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +5 -4
  1250. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts +9 -4
  1251. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.d.ts.map +1 -1
  1252. package/src/shade/renderer/rasterize/standard/graph_rasterize_scene.js +4 -3
  1253. package/src/shade/renderer/restir/di/ReSTIRDI.d.ts +10 -0
  1254. package/src/shade/renderer/restir/di/ReSTIRDI.d.ts.map +1 -1
  1255. package/src/shade/renderer/restir/di/ReSTIRDI.js +7 -0
  1256. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +2 -0
  1257. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
  1258. package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +5 -0
  1259. package/src/shade/renderer/scene/GPUSceneContext.d.ts +4 -0
  1260. package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
  1261. package/src/shade/renderer/scene/GPUSceneContext.js +15 -0
  1262. package/src/shade/renderer/scene/InstanceBatch.d.ts +11 -3
  1263. package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
  1264. package/src/shade/renderer/scene/InstanceBatch.js +6 -0
  1265. package/src/shade/renderer/scene/Mesh.d.ts +8 -2
  1266. package/src/shade/renderer/scene/Mesh.d.ts.map +1 -1
  1267. package/src/shade/renderer/scene/Mesh.js +6 -1
  1268. package/src/shade/renderer/scene/SceneManager.d.ts +6 -0
  1269. package/src/shade/renderer/scene/SceneManager.d.ts.map +1 -1
  1270. package/src/shade/renderer/scene/SceneManager.js +5 -0
  1271. package/src/shade/renderer/scene/SkinnedMesh.d.ts +4 -0
  1272. package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
  1273. package/src/shade/renderer/scene/SkinnedMesh.js +4 -0
  1274. package/src/shade/renderer/scene/serialization/serialize_scene.d.ts +7 -3
  1275. package/src/shade/renderer/scene/serialization/serialize_scene.d.ts.map +1 -1
  1276. package/src/shade/renderer/scene/serialization/serialize_scene.js +3 -2
  1277. package/src/shade/renderer/shader/ComputeShader.d.ts +64 -29
  1278. package/src/shade/renderer/shader/ComputeShader.d.ts.map +1 -1
  1279. package/src/shade/renderer/shader/ComputeShader.js +29 -23
  1280. package/src/shade/renderer/shader/ImageShader.d.ts +9 -4
  1281. package/src/shade/renderer/shader/ImageShader.d.ts.map +1 -1
  1282. package/src/shade/renderer/shader/ImageShader.js +4 -3
  1283. package/src/shade/renderer/shader/ShaderDescriptor.d.ts +10 -4
  1284. package/src/shade/renderer/shader/ShaderDescriptor.d.ts.map +1 -1
  1285. package/src/shade/renderer/shader/ShaderDescriptor.js +4 -3
  1286. package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts +7 -3
  1287. package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts.map +1 -1
  1288. package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.js +6 -4
  1289. package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.d.ts +13 -6
  1290. package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.d.ts.map +1 -1
  1291. package/src/shade/renderer/shader/fullscreen/create_full_quad_pipeline_descriptor.js +6 -5
  1292. package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.d.ts +13 -6
  1293. package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.d.ts.map +1 -1
  1294. package/src/shade/renderer/shader/graph/compute/graph_compute_indirect_pass.js +6 -5
  1295. package/src/shade/renderer/shader/graph/compute/graph_compute_pass.d.ts +13 -6
  1296. package/src/shade/renderer/shader/graph/compute/graph_compute_pass.d.ts.map +1 -1
  1297. package/src/shade/renderer/shader/graph/compute/graph_compute_pass.js +6 -5
  1298. package/src/shade/renderer/shader/graph/graph_image_pass.d.ts +27 -13
  1299. package/src/shade/renderer/shader/graph/graph_image_pass.d.ts.map +1 -1
  1300. package/src/shade/renderer/shader/graph/graph_image_pass.js +13 -12
  1301. package/src/shade/renderer/shader/graph/graph_import_raw_buffer.d.ts +15 -7
  1302. package/src/shade/renderer/shader/graph/graph_import_raw_buffer.d.ts.map +1 -1
  1303. package/src/shade/renderer/shader/graph/graph_import_raw_buffer.js +7 -6
  1304. package/src/shade/renderer/shader/graph/graph_import_typed_buffer.d.ts +13 -6
  1305. package/src/shade/renderer/shader/graph/graph_import_typed_buffer.d.ts.map +1 -1
  1306. package/src/shade/renderer/shader/graph/graph_import_typed_buffer.js +6 -5
  1307. package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.d.ts +7 -3
  1308. package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.d.ts.map +1 -1
  1309. package/src/shade/renderer/shader/pass/RenderPassColorAttachmentDescriptor.js +3 -2
  1310. package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts +49 -23
  1311. package/src/shade/renderer/shader/pass/RenderPassDescriptor.d.ts.map +1 -1
  1312. package/src/shade/renderer/shader/pass/RenderPassDescriptor.js +23 -20
  1313. package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts +6 -0
  1314. package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.d.ts.map +1 -1
  1315. package/src/shade/renderer/shader/resource/ShaderResourceDescriptor.js +9 -0
  1316. package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts +11 -2
  1317. package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.d.ts.map +1 -1
  1318. package/src/shade/renderer/shader/resource/ShaderResourceGroupDescriptor.js +7 -1
  1319. package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts +10 -3
  1320. package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts.map +1 -1
  1321. package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.js +9 -2
  1322. package/src/shade/renderer/shader/type/WGSLAttribute.d.ts +2 -2
  1323. package/src/shade/renderer/shader/type/WGSLAttribute.d.ts.map +1 -1
  1324. package/src/shade/renderer/shader/type/WGSLAttribute.js +1 -1
  1325. package/src/shade/renderer/shader/type/WGSLStructField.d.ts +6 -2
  1326. package/src/shade/renderer/shader/type/WGSLStructField.d.ts.map +1 -1
  1327. package/src/shade/renderer/shader/type/WGSLStructField.js +5 -1
  1328. package/src/shade/renderer/shader/type/WebGPUArray.d.ts +0 -2
  1329. package/src/shade/renderer/shader/type/WebGPUArray.d.ts.map +1 -1
  1330. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +2 -4
  1331. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  1332. package/src/shade/renderer/shader/type/WebGPUStruct.js +1 -1
  1333. package/src/shade/renderer/shader/type/WebGPUType.d.ts +5 -1
  1334. package/src/shade/renderer/shader/type/WebGPUType.d.ts.map +1 -1
  1335. package/src/shade/renderer/shader/type/WebGPUType.js +4 -0
  1336. package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.d.ts +7 -3
  1337. package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.d.ts.map +1 -1
  1338. package/src/shade/renderer/shadow/evsm/graph_evsm_render_cascade.js +3 -2
  1339. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +7 -0
  1340. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
  1341. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +10 -0
  1342. package/src/shade/renderer/shadow/map/Shadowmap.d.ts +12 -0
  1343. package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
  1344. package/src/shade/renderer/shadow/map/Shadowmap.js +8 -0
  1345. package/src/shade/renderer/shadow/map/SpotLightShadowmap.d.ts +2 -2
  1346. package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.d.ts +7 -3
  1347. package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.d.ts.map +1 -1
  1348. package/src/shade/renderer/shadow/map/csm/graph_csm_setup_cascades.js +3 -2
  1349. package/src/shade/renderer/shadow/map/csm_debug_draw_preview.d.ts +11 -5
  1350. package/src/shade/renderer/shadow/map/csm_debug_draw_preview.d.ts.map +1 -1
  1351. package/src/shade/renderer/shadow/map/csm_debug_draw_preview.js +5 -4
  1352. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts +13 -6
  1353. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.d.ts.map +1 -1
  1354. package/src/shade/renderer/shadow/ray/staged/gen/graph_gen_rays.js +6 -5
  1355. package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.d.ts +9 -4
  1356. package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.d.ts.map +1 -1
  1357. package/src/shade/renderer/shadow/ray/staged/trace/graph_trace_rays.js +4 -3
  1358. package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.d.ts +11 -5
  1359. package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.d.ts.map +1 -1
  1360. package/src/shade/renderer/shadow/sdf/brixelizer/Brixelizer.js +5 -4
  1361. package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.d.ts +1 -0
  1362. package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.d.ts.map +1 -1
  1363. package/src/shade/renderer/shadow/sdf/cascade/CascadedSceneSDF.js +4 -0
  1364. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts +13 -6
  1365. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.d.ts.map +1 -1
  1366. package/src/shade/renderer/shadow/sdf/graph_draw_sdf_shadows.js +6 -5
  1367. package/src/shade/renderer/texture/GPUTextureAllocator.d.ts +4 -0
  1368. package/src/shade/renderer/texture/GPUTextureAllocator.d.ts.map +1 -1
  1369. package/src/shade/renderer/texture/GPUTextureAllocator.js +4 -0
  1370. package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -0
  1371. package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
  1372. package/src/shade/renderer/texture/GPUTextureContext.js +4 -0
  1373. package/src/shade/renderer/texture/RenderTarget.d.ts +7 -3
  1374. package/src/shade/renderer/texture/RenderTarget.d.ts.map +1 -1
  1375. package/src/shade/renderer/texture/RenderTarget.js +3 -2
  1376. package/src/shade/renderer/texture/ShadeTexture.d.ts +2 -1
  1377. package/src/shade/renderer/texture/ShadeTexture.d.ts.map +1 -1
  1378. package/src/shade/renderer/texture/ShadeTexture.js +4 -0
  1379. package/src/shade/renderer/texture/TextureManager.d.ts +1 -0
  1380. package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
  1381. package/src/shade/renderer/texture/TextureManager.js +4 -0
  1382. package/src/shade/renderer/texture/debug_draw_texture.d.ts +9 -4
  1383. package/src/shade/renderer/texture/debug_draw_texture.d.ts.map +1 -1
  1384. package/src/shade/renderer/texture/debug_draw_texture.js +4 -3
  1385. package/src/shade/renderer/texture/download_texture_data.d.ts +17 -6
  1386. package/src/shade/renderer/texture/download_texture_data.d.ts.map +1 -1
  1387. package/src/shade/renderer/texture/download_texture_data.js +10 -5
  1388. package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts +26 -12
  1389. package/src/shade/renderer/texture/draw_texture_as_rgba.d.ts.map +1 -1
  1390. package/src/shade/renderer/texture/draw_texture_as_rgba.js +12 -10
  1391. package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.d.ts.map +1 -1
  1392. package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +5 -4
  1393. package/src/shade/renderer/texture/source/ShadeImage.d.ts +4 -2
  1394. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  1395. package/src/shade/renderer/texture/source/ShadeImage.js +5 -0
  1396. package/src/shade/renderer/texture/source/ShadeImageSerializationAdapter.d.ts +12 -0
  1397. package/src/shade/renderer/texture/source/ShadeImageSerializationAdapter.d.ts.map +1 -1
  1398. package/src/shade/renderer/texture/util/make_checkers_texture.d.ts +12 -5
  1399. package/src/shade/renderer/texture/util/make_checkers_texture.d.ts.map +1 -1
  1400. package/src/shade/renderer/texture/util/make_checkers_texture.js +5 -4
  1401. package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts +7 -2
  1402. package/src/shade/renderer/texture/virtual/VirtualTextureManager.d.ts.map +1 -1
  1403. package/src/shade/renderer/texture/virtual/VirtualTextureManager.js +8 -0
  1404. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +2 -0
  1405. package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
  1406. package/src/shade/renderer/util/Uint32BufferSamplingStats.js +5 -0
  1407. package/src/shade/renderer/view/GPUViewContext.d.ts +4 -1
  1408. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  1409. package/src/shade/renderer/view/GPUViewContext.js +11 -5
  1410. package/src/shade/renderer/view/View.d.ts +6 -0
  1411. package/src/shade/renderer/view/View.d.ts.map +1 -1
  1412. package/src/shade/renderer/view/View.js +5 -0
  1413. package/src/shade/renderer/view/ViewManager.d.ts +11 -1
  1414. package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
  1415. package/src/shade/renderer/view/ViewManager.js +7 -0
  1416. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts +6 -0
  1417. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
  1418. package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +5 -0
  1419. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +15 -6
  1420. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  1421. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +11 -5
  1422. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +5 -5
  1423. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
  1424. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.js +1 -1
  1425. package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts +4 -0
  1426. package/src/shade/renderer/volumetrics/SceneVolumetrics.d.ts.map +1 -1
  1427. package/src/shade/renderer/volumetrics/SceneVolumetrics.js +4 -0
  1428. package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.d.ts +23 -11
  1429. package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.d.ts.map +1 -1
  1430. package/src/shade/renderer/volumetrics/build_volumetrics_sun_shadow_transform.js +11 -10
  1431. package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +37 -18
  1432. package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
  1433. package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +30 -26
  1434. package/src/view/View.d.ts +8 -3
  1435. package/src/view/View.d.ts.map +1 -1
  1436. package/src/view/View.js +7 -2
  1437. package/src/view/asset/AssetLoaderStatusView.d.ts +7 -3
  1438. package/src/view/asset/AssetLoaderStatusView.d.ts.map +1 -1
  1439. package/src/view/asset/AssetLoaderStatusView.js +3 -2
  1440. package/src/view/common/ListView.d.ts +21 -15
  1441. package/src/view/common/ListView.d.ts.map +1 -1
  1442. package/src/view/common/ListView.js +8 -7
  1443. package/src/view/common/LocalizedLabelView.d.ts +15 -7
  1444. package/src/view/common/LocalizedLabelView.d.ts.map +1 -1
  1445. package/src/view/common/LocalizedLabelView.js +7 -6
  1446. package/src/view/common/TabbedView.d.ts +14 -6
  1447. package/src/view/common/TabbedView.d.ts.map +1 -1
  1448. package/src/view/common/TabbedView.js +6 -4
  1449. package/src/view/controller/controls/BooleanVector3Control.d.ts +1 -1
  1450. package/src/view/controller/controls/BooleanVector3Control.d.ts.map +1 -1
  1451. package/src/view/controller/controls/GuiControl.d.ts +1 -1
  1452. package/src/view/controller/controls/GuiControl.d.ts.map +1 -1
  1453. package/src/view/controller/controls/NativeListController.d.ts +15 -7
  1454. package/src/view/controller/controls/NativeListController.d.ts.map +1 -1
  1455. package/src/view/controller/controls/NativeListController.js +7 -6
  1456. package/src/view/controller/controls/Vector1Control.d.ts +1 -1
  1457. package/src/view/controller/controls/Vector1Control.d.ts.map +1 -1
  1458. package/src/view/currency/CompositeCurrencyLabelView.d.ts +10 -5
  1459. package/src/view/currency/CompositeCurrencyLabelView.d.ts.map +1 -1
  1460. package/src/view/currency/CompositeCurrencyLabelView.js +4 -3
  1461. package/src/view/currency/CurrencyDenominationLabelView.d.ts +7 -3
  1462. package/src/view/currency/CurrencyDenominationLabelView.d.ts.map +1 -1
  1463. package/src/view/currency/CurrencyDenominationLabelView.js +3 -2
  1464. package/src/view/elements/CheckboxView.d.ts +7 -3
  1465. package/src/view/elements/CheckboxView.d.ts.map +1 -1
  1466. package/src/view/elements/CheckboxView.js +3 -2
  1467. package/src/view/elements/DropDownSelectionView.d.ts +9 -4
  1468. package/src/view/elements/DropDownSelectionView.d.ts.map +1 -1
  1469. package/src/view/elements/DropDownSelectionView.js +3 -2
  1470. package/src/view/elements/EmptyView.d.ts +29 -13
  1471. package/src/view/elements/EmptyView.d.ts.map +1 -1
  1472. package/src/view/elements/EmptyView.js +13 -11
  1473. package/src/view/elements/SimpleWindow.d.ts +1 -1
  1474. package/src/view/elements/SimpleWindow.d.ts.map +1 -1
  1475. package/src/view/elements/button/ButtonView.d.ts +15 -7
  1476. package/src/view/elements/button/ButtonView.d.ts.map +1 -1
  1477. package/src/view/elements/button/ButtonView.js +7 -6
  1478. package/src/view/elements/image/ImageView.d.ts +7 -3
  1479. package/src/view/elements/image/ImageView.d.ts.map +1 -1
  1480. package/src/view/elements/image/ImageView.js +3 -2
  1481. package/src/view/elements/image/SvgImageView.d.ts +5 -2
  1482. package/src/view/elements/image/SvgImageView.d.ts.map +1 -1
  1483. package/src/view/elements/image/SvgImageView.js +2 -1
  1484. package/src/view/elements/label/LabeledValueView.d.ts +14 -7
  1485. package/src/view/elements/label/LabeledValueView.d.ts.map +1 -1
  1486. package/src/view/elements/label/LabeledValueView.js +6 -5
  1487. package/src/view/elements/progress/SmoothProgressBar.d.ts +14 -7
  1488. package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
  1489. package/src/view/elements/progress/SmoothProgressBar.js +6 -5
  1490. package/src/view/elements/progress/segmented/SegmentedResourceBarView.d.ts +9 -4
  1491. package/src/view/elements/progress/segmented/SegmentedResourceBarView.d.ts.map +1 -1
  1492. package/src/view/elements/progress/segmented/SegmentedResourceBarView.js +4 -3
  1493. package/src/view/elements/radial/RadialMenu.d.ts +19 -9
  1494. package/src/view/elements/radial/RadialMenu.d.ts.map +1 -1
  1495. package/src/view/elements/radial/RadialMenu.js +9 -8
  1496. package/src/view/elements/radial/RadialMenuElementDefinition.d.ts +63 -31
  1497. package/src/view/elements/radial/RadialMenuElementDefinition.d.ts.map +1 -1
  1498. package/src/view/elements/radial/RadialMenuElementDefinition.js +30 -28
  1499. package/src/view/elements/radial/RadialProgressView.d.ts +1 -1
  1500. package/src/view/elements/radial/RadialProgressView.d.ts.map +1 -1
  1501. package/src/view/elements/radial/RadialText.d.ts +18 -10
  1502. package/src/view/elements/radial/RadialText.d.ts.map +1 -1
  1503. package/src/view/elements/radial/RadialText.js +7 -6
  1504. package/src/view/elements/tiles2d/Tile.d.ts +12 -6
  1505. package/src/view/elements/tiles2d/Tile.d.ts.map +1 -1
  1506. package/src/view/elements/tiles2d/Tile.js +4 -3
  1507. package/src/view/elements/tiles2d/TileGrid.d.ts +23 -10
  1508. package/src/view/elements/tiles2d/TileGrid.d.ts.map +1 -1
  1509. package/src/view/elements/tiles2d/TileGrid.js +10 -9
  1510. package/src/view/elements/video/VideoView.d.ts +7 -3
  1511. package/src/view/elements/video/VideoView.d.ts.map +1 -1
  1512. package/src/view/elements/video/VideoView.js +3 -2
  1513. package/src/view/game/achievements/AchievementNotificationView.d.ts +7 -3
  1514. package/src/view/game/achievements/AchievementNotificationView.d.ts.map +1 -1
  1515. package/src/view/game/achievements/AchievementNotificationView.js +3 -2
  1516. package/src/view/graphics/GraphicsContextFailureView.d.ts +11 -5
  1517. package/src/view/graphics/GraphicsContextFailureView.d.ts.map +1 -1
  1518. package/src/view/graphics/GraphicsContextFailureView.js +5 -4
  1519. package/src/view/interaction/InteractionCommand.d.ts +11 -5
  1520. package/src/view/interaction/InteractionCommand.d.ts.map +1 -1
  1521. package/src/view/interaction/InteractionCommand.js +5 -4
  1522. package/src/view/interaction/InterfaceCommand.d.ts +32 -15
  1523. package/src/view/interaction/InterfaceCommand.d.ts.map +1 -1
  1524. package/src/view/interaction/InterfaceCommand.js +15 -13
  1525. package/src/view/interaction/createInterfaceCommandButton.d.ts +9 -4
  1526. package/src/view/interaction/createInterfaceCommandButton.d.ts.map +1 -1
  1527. package/src/view/interaction/createInterfaceCommandButton.js +4 -3
  1528. package/src/view/layout/DockPanel.d.ts +11 -5
  1529. package/src/view/layout/DockPanel.d.ts.map +1 -1
  1530. package/src/view/layout/DockPanel.js +5 -4
  1531. package/src/view/layout/DrawerView.d.ts +7 -3
  1532. package/src/view/layout/DrawerView.d.ts.map +1 -1
  1533. package/src/view/layout/DrawerView.js +3 -2
  1534. package/src/view/layout/FloatingPanelView.d.ts +7 -3
  1535. package/src/view/layout/FloatingPanelView.d.ts.map +1 -1
  1536. package/src/view/layout/FloatingPanelView.js +3 -2
  1537. package/src/view/layout/SplitView.d.ts +11 -5
  1538. package/src/view/layout/SplitView.d.ts.map +1 -1
  1539. package/src/view/layout/SplitView.js +5 -4
  1540. package/src/view/math/FunctionGraphView.d.ts +8 -4
  1541. package/src/view/math/FunctionGraphView.d.ts.map +1 -1
  1542. package/src/view/math/FunctionGraphView.js +3 -2
  1543. package/src/view/minimap/MinimapCanvasView.d.ts +10 -4
  1544. package/src/view/minimap/MinimapCanvasView.d.ts.map +1 -1
  1545. package/src/view/minimap/MinimapCanvasView.js +4 -3
  1546. package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -1
  1547. package/src/view/minimap/dom/MinimapCameraView.d.ts.map +1 -1
  1548. package/src/view/minimap/dom/MinimapMarkerView.d.ts +31 -9
  1549. package/src/view/minimap/dom/MinimapMarkerView.d.ts.map +1 -1
  1550. package/src/view/minimap/dom/MinimapTerrainView.d.ts +9 -4
  1551. package/src/view/minimap/dom/MinimapTerrainView.d.ts.map +1 -1
  1552. package/src/view/minimap/dom/MinimapTerrainView.js +3 -2
  1553. package/src/view/task/TaskProgressView.d.ts +7 -3
  1554. package/src/view/task/TaskProgressView.d.ts.map +1 -1
  1555. package/src/view/task/TaskProgressView.js +3 -2
  1556. package/src/view/tooltip/DomTooltipManager.d.ts +6 -0
  1557. package/src/view/tooltip/DomTooltipManager.d.ts.map +1 -1
  1558. package/src/view/tooltip/DomTooltipManager.js +5 -0
  1559. package/src/view/tooltip/DomTooltipObserver.d.ts +4 -0
  1560. package/src/view/tooltip/DomTooltipObserver.d.ts.map +1 -1
  1561. package/src/view/tooltip/DomTooltipObserver.js +4 -0
  1562. package/src/view/tooltip/TooltipManager.d.ts +6 -0
  1563. package/src/view/tooltip/TooltipManager.d.ts.map +1 -1
  1564. package/src/view/tooltip/TooltipManager.js +5 -0
  1565. package/src/view/tooltip/TooltipView.d.ts +7 -3
  1566. package/src/view/tooltip/TooltipView.d.ts.map +1 -1
  1567. package/src/view/tooltip/TooltipView.js +5 -1
  1568. package/src/view/tooltip/VisualTip.d.ts +6 -0
  1569. package/src/view/tooltip/VisualTip.d.ts.map +1 -1
  1570. package/src/view/tooltip/VisualTip.js +5 -0
  1571. package/src/view/tooltip/gml/GMLEngine.d.ts +14 -2
  1572. package/src/view/tooltip/gml/GMLEngine.d.ts.map +1 -1
  1573. package/src/view/tooltip/gml/GMLEngine.js +8 -0
  1574. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts +10 -0
  1575. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts.map +1 -1
  1576. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +7 -0
  1577. package/src/view/util/DomSizeObserver.d.ts +9 -2
  1578. package/src/view/util/DomSizeObserver.d.ts.map +1 -1
  1579. package/src/view/util/DomSizeObserver.js +6 -1
  1580. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.d.ts +0 -395
  1581. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.d.ts.map +0 -1
  1582. package/src/shade/renderer/particles/ParticleRenderMode.d.ts +0 -19
  1583. package/src/shade/renderer/particles/ParticleRenderMode.d.ts.map +0 -1
  1584. package/src/shade/renderer/particles/ParticleRenderMode.js +0 -33
  1585. package/src/shade/renderer/particles/graph_particles_billboard.d.ts +0 -37
  1586. package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +0 -1
  1587. package/src/shade/renderer/particles/graph_particles_billboard.js +0 -93
  1588. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +0 -55
  1589. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +0 -1
  1590. package/src/shade/renderer/particles/sort/graph_particle_sort.js +0 -130
  1591. package/src/shade/renderer/particles/sort/particle_counting_sort.d.ts +0 -26
  1592. package/src/shade/renderer/particles/sort/particle_counting_sort.d.ts.map +0 -1
  1593. package/src/shade/renderer/particles/sort/particle_counting_sort.js +0 -51
  1594. package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts +0 -14
  1595. package/src/shade/renderer/particles/sort/shader_particle_sort.d.ts.map +0 -1
  1596. package/src/shade/renderer/particles/sort/shader_particle_sort.js +0 -223
@@ -1,3 +1,17 @@
1
+ /**
2
+ * What {@link GPUParticleSystem#read_stats} decodes: the counts the GPU keeps between frames, named.
3
+ *
4
+ * @typedef {object} ParticleSystemStats
5
+ * @property {number} alive live particles the frame ended with
6
+ * @property {number} dead length of the free list
7
+ * @property {number} spawn_budget free slots the frame never promised to a spawn — its headroom
8
+ * @property {number} alive_in entries the frame's simulate consumed — the padded, program-coherent
9
+ * list the frame before it built, so never fewer than that frame's `alive`
10
+ * @property {number} sim_padded length of the padded, program-coherent simulate list built this
11
+ * frame; the gap to `alive` is what keeping each wave on one VM program costs in lanes
12
+ * @property {number} sim_workgroups workgroups the NEXT simulate will dispatch — read out of the
13
+ * indirect args rather than derived, so it is what the GPU will actually launch
14
+ */
1
15
  /**
2
16
  * The GPU particle system: a feature of a scene, in the mould of `ReSTIRDI` — construct once
3
17
  * against a {@link GPUSceneContext}, and contribute the frame's passes through
@@ -17,12 +31,11 @@
17
31
  * ReSTIR's reservoirs follow the resolution.
18
32
  *
19
33
  * Everything else a frame touches is the frame graph's. The bucketing's bins, cursors and keys, the
20
- * whole depth sort, the draw args, the spawn counts and the VM's wide register file are produced
21
- * and consumed inside one graph, so the pass that first writes each one declares it and the graph
22
- * allocates it just in time and releases it after its last reader — into the pool the rest of the
23
- * renderer allocates from. Reserving them here instead would be six megabytes at the default
24
- * capacity that no other feature could ever borrow, and four of them are cleared by a reset pass
25
- * every frame regardless.
34
+ * draw args, the spawn counts and the VM's wide register file are produced and consumed inside one
35
+ * graph, so the pass that first writes each one declares it and the graph allocates it just in time
36
+ * and releases it after its last reader — into the pool the rest of the renderer allocates from.
37
+ * Reserving them here instead would be megabytes at the default capacity that no other feature
38
+ * could ever borrow, and most of them are cleared by a reset pass every frame regardless.
26
39
  *
27
40
  * Every pass stays within the eight storage buffers a stage gets by default: the emitter record
28
41
  * and the GPU-owned state are two tables of one database buffer, and the VM's constants and code
@@ -57,21 +70,18 @@
57
70
  * command list that a pass adds to the emitter's pending spawns, on the same path as everything
58
71
  * else. See `graph_particles.js` for the frame.
59
72
  *
60
- * ## Drawing, and the one thing the mode changes
73
+ * ## Drawing
61
74
  *
62
- * {@link execute} is the whole per-frame call, once per frame. It always records everything that
63
- * moves particles and leaves the alive list and the indirect draw args as graph handles; what it
64
- * records after that is the {@link ParticleRenderMode} it was given.
75
+ * {@link execute} is the whole per-frame call, once per frame, and it records only the simulation:
76
+ * everything that moves particles, leaving the alive list and the indirect draw args as graph
77
+ * handles. It draws nothing.
65
78
  *
66
- * `BILLBOARD` sorts the alive list back-to-front and draws it over a colour target, because
67
- * premultiplied over-blending is order-dependent. `AVBOIT` records neither: under the renderer the
68
- * system is an `AVBOITSideChannel`, and the transparency orchestrator asks it for its occupancy, its
69
- * extinction and its draw at the three points where the transparent meshes have contributed theirs
70
- * ({@link avboit_occupancy}, {@link avboit_splat}, {@link avboit_draw}). Those read the same handles
71
- * and composite into a volume and a set of accumulators that are sums, so an ordering would buy
72
- * nothing — and the sort is four passes and a scan over every live particle, plus two lists a word
73
- * per particle each. Under `AVBOIT` none of those passes is recorded, so the graph never allocates
74
- * their buffers either.
79
+ * The drawing is the transparency pipeline's. The system is an `AVBOITSideChannel`, and the AVBOIT
80
+ * orchestrator asks it for its occupancy, its extinction and its draw at the three points where the
81
+ * transparent meshes have contributed theirs ({@link avboit_occupancy}, {@link avboit_splat},
82
+ * {@link avboit_draw}). Those read the handles `execute` produced and composite into a voxel volume
83
+ * and a set of accumulators that are sums — so the particles need no depth ordering at all, and
84
+ * none is ever built.
75
85
  *
76
86
  * ## Allocation
77
87
  *
@@ -126,12 +136,6 @@ export class GPUParticleSystem {
126
136
  * @type {number}
127
137
  */
128
138
  max_catchup_seconds: number;
129
- /**
130
- * View-depth range the render sort quantises: particles nearer than `[0]` share the front bin,
131
- * farther than `[1]` the back one. Read only by {@link ParticleRenderMode.BILLBOARD}.
132
- * @type {Float32Array}
133
- */
134
- sort_depth_range: Float32Array;
135
139
  /**
136
140
  * Sprite atlas the billboards sample, and the sampler they sample it with. A 1x1 white texel by
137
141
  * default, so an emitter with no art draws as a plain quad rather than nothing.
@@ -142,8 +146,9 @@ export class GPUParticleSystem {
142
146
  atlas_sampler: GPUSampler;
143
147
  /**
144
148
  * The persistent GPU buffers, by the names the graph functions bind them under. Exposed for
145
- * inspection — a harness copying the counters out to display them — never for the frame loop,
146
- * which reads nothing back. Entries that grow with the emitter set are replaced in place.
149
+ * inspection — {@link bufferSizes} measures them, {@link read_stats} reads the counts out of
150
+ * them — never for the frame loop, which reads nothing back. Entries that grow with the
151
+ * emitter set are replaced in place.
147
152
  *
148
153
  * @type {object}
149
154
  */
@@ -187,16 +192,14 @@ export class GPUParticleSystem {
187
192
  */
188
193
  spawn(emitter: import("./runtime/ParticleEmitter.js").ParticleEmitter, count: number): void;
189
194
  /**
190
- * The system's whole contribution to the frame: the simulation, then whatever `mode` says draws
191
- * it.
195
+ * The system's whole contribution to the frame, once per frame: reconcile the emitter set with
196
+ * the scene, push what changed to the GPU, and record every pass that moves particles — through
197
+ * to the indirect draw args.
192
198
  *
193
- * {@link ParticleRenderMode.BILLBOARD} adds the depth sort and one billboard draw over `color`
194
- * with fixed-function blending, for a page with no transparency pipeline of its own.
195
- * {@link ParticleRenderMode.AVBOIT} adds nothing: the orchestrator draws the particles later in
196
- * the frame through {@link avboit_occupancy}, {@link avboit_splat} and {@link avboit_draw}, off
197
- * the handles this just produced, and its accumulators are order-independent — so the sort is
198
- * skipped and its buffers are never allocated. `color` comes straight back either way, so a
199
- * caller can assign the result unconditionally and let the mode be the only difference.
199
+ * It draws nothing and touches no colour target. The handles it returns are what the AVBOIT
200
+ * side channels ({@link avboit_occupancy}, {@link avboit_splat}, {@link avboit_draw}) consume
201
+ * later in the same frame, off this same graph, once the transparent meshes have contributed
202
+ * theirs.
200
203
  *
201
204
  * Call after the scene context has built for the frame (`GPUSceneContext#update`), so every
202
205
  * emitter node has its `transforms` row, and after the hierarchy pass has run, so the rows'
@@ -214,22 +217,14 @@ export class GPUParticleSystem {
214
217
  * @param {number} params.scene_database graph handle of the scene database — the one the
215
218
  * hierarchy pass returned, so this reads the matrices it composed
216
219
  * @param {number} params.dt seconds since the previous frame
217
- * @param {ParticleRenderMode} [params.mode] who draws, and so whether there is a sort
218
- * @param {number} [params.color] graph handle of the colour target to draw over. Required by
219
- * `BILLBOARD`; returned untouched by `AVBOIT`
220
- * @param {number} [params.depth] graph handle of the scene depth (tested, never written).
221
- * Required by `BILLBOARD`
222
- * @returns {number|undefined} the colour handle after the particle draw, or `color` unchanged
220
+ * @returns {import("./graph_particles.js").ParticleSimulationHandles}
223
221
  */
224
- execute({ graph, camera, scene_database, color, depth, dt, mode }: {
222
+ execute({ graph, camera, scene_database, dt }: {
225
223
  graph: import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph;
226
224
  camera: number;
227
225
  scene_database: number;
228
226
  dt: number;
229
- mode?: ParticleRenderMode;
230
- color?: number;
231
- depth?: number;
232
- }): number | undefined;
227
+ }): import("./graph_particles.js").ParticleSimulationHandles;
233
228
  /**
234
229
  * `AVBOITSideChannel#avboit_occupancy`: the emitters' measured bounding boxes, as depth slices.
235
230
  *
@@ -330,9 +325,59 @@ export class GPUParticleSystem {
330
325
  bufferSizes(): {
331
326
  [x: string]: number;
332
327
  };
328
+ /**
329
+ * Copy the counts the GPU keeps back to the host and decode them, for display and diagnostics.
330
+ *
331
+ * Read back to *look at*: nothing here may size a pass. Every number describes a frame that has
332
+ * already been submitted, so by the time one arrives it is at best one frame stale — and sizing
333
+ * a dispatch or a draw from a stale count is a correctness bug, not an inaccuracy, for the
334
+ * reasons `shader_particle_build_indirect` sets out. This is the whole of what the feature ever
335
+ * reads back, and the only reason {@link INDIRECT} carries `COPY_SRC` at all.
336
+ *
337
+ * The draw args are not here and cannot be: they never leave the frame graph, which allocates
338
+ * them at the build-indirect pass and releases them after the last draw that reads them. Their
339
+ * instance count is {@link ParticleSystemStats#alive}, which the counters carry anyway.
340
+ *
341
+ * Two copies, two submissions and a map round trip, so a caller polling this for an overlay
342
+ * wants to rate-limit itself and to hold off while a previous read is still outstanding.
343
+ *
344
+ * @returns {Promise<ParticleSystemStats>}
345
+ */
346
+ read_stats(): Promise<ParticleSystemStats>;
333
347
  destroy(): void;
334
348
  #private;
335
349
  }
350
+ /**
351
+ * What {@link GPUParticleSystemread_stats } decodes: the counts the GPU keeps between frames, named.
352
+ */
353
+ export type ParticleSystemStats = {
354
+ /**
355
+ * live particles the frame ended with
356
+ */
357
+ alive: number;
358
+ /**
359
+ * length of the free list
360
+ */
361
+ dead: number;
362
+ /**
363
+ * free slots the frame never promised to a spawn — its headroom
364
+ */
365
+ spawn_budget: number;
366
+ /**
367
+ * entries the frame's simulate consumed — the padded, program-coherent
368
+ * list the frame before it built, so never fewer than that frame's `alive`
369
+ */
370
+ alive_in: number;
371
+ /**
372
+ * length of the padded, program-coherent simulate list built this
373
+ * frame; the gap to `alive` is what keeping each wave on one VM program costs in lanes
374
+ */
375
+ sim_padded: number;
376
+ /**
377
+ * workgroups the NEXT simulate will dispatch — read out of the
378
+ * indirect args rather than derived, so it is what the GPU will actually launch
379
+ */
380
+ sim_workgroups: number;
381
+ };
336
382
  import { EmitterRegistry } from "./runtime/EmitterRegistry.js";
337
- import { ParticleRenderMode } from "./ParticleRenderMode.js";
338
383
  //# sourceMappingURL=GPUParticleSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"AA2DA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH;IAmLI;;;;;;OAMG;IACH,sBANW,MAAM,iBACN,OAAO,6BAA6B,EAAE,eAAe;QAEpC,QAAQ,GAAzB,MAAM;QACW,sBAAsB,GAAvC,MAAM;OAoBhB;IA1MD;;;OAGG;IACH,UAFU,MAAM,CAEP;IAET;;;OAGG;IACH,eAFU,OAAO,6BAA6B,EAAE,eAAe,CAEjD;IAEd;;;OAGG;IACH,UAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,eAAe,CAEhB;IAET;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,qBAFU,MAAM,CAEQ;IAExB;;;;OAIG;IACH,kBAFU,YAAY,CAE0B;IAEhD;;;;OAIG;IACH,sBAAM;IAEN,yBAAyB;IACzB,0BAAc;IAEd;;;;;;OAMG;IACH,SAFU,MAAM,CAEH;IA2Ib;;;OAGG;IACH,kCAEC;IAED;;;OAGG;IACH,yEAEC;IAED;;;;;;;;;;;;OAYG;IACH,eAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,gCAEC;IAED;;;;;;;OAOG;IACH,eAHW,OAAO,8BAA8B,EAAE,eAAe,SACtD,MAAM,QAwBhB;IAwED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH;QAZkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;QAC/D,MAAM,EAArB,MAAM;QACS,cAAc,EAA7B,MAAM;QAES,EAAE,EAAjB,MAAM;QACsB,IAAI,GAAhC,kBAAkB;QACF,KAAK,GAArB,MAAM;QAEU,KAAK,GAArB,MAAM;QAEJ,MAAM,GAAC,SAAS,CA2D5B;IAiBD;;;;;;;;;OASG;IACH;QANgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACjE,MAAM,EAAnB,MAAM;QACkB,kBAAkB,EAA1C,UAAU,MAAM,CAAC;QACJ,SAAS,EAAtB,MAAM;QACJ,MAAM,CAalB;IAED;;;;;;;;;;OAUG;IACH;QAPgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACjE,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACO,aAAa,EAA1B,MAAM;QACsD,MAAM,EAAlE;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC;QACnD;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAkBjE;IAED;;;;;;;;;;;;;;OAcG;IACH;QAXgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACrB,QAAQ,EAAjE,OAAO,2BAA2B,EAAE,cAAc;QACrC,MAAM,EAAnB,MAAM;QACO,aAAa,EAA1B,MAAM;QACO,IAAI,EAAjB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,eAAe,EAA5B,MAAM;QACO,oBAAoB,EAAjC,MAAM;QACoE,YAAY,EAAtF;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC;QACjE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAsB/E;IAED;;;;;;;;;OASG;IACH,mBAFa,IAAI,CA2DhB;IA4WD;;;;;;;OAOG;IACH;YAFoB,MAAM,GAAE,MAAM;MAkBjC;IAED,gBA4BC;;CACJ;gCAznC+B,8BAA8B;mCAD3B,yBAAyB"}
1
+ {"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH;IAiKI;;;;;;OAMG;IACH,sBANW,MAAM,iBACN,OAAO,6BAA6B,EAAE,eAAe;QAEpC,QAAQ,GAAzB,MAAM;QACW,sBAAsB,GAAvC,MAAM;OAoBhB;IAxLD;;;OAGG;IACH,UAFU,MAAM,CAEP;IAET;;;OAGG;IACH,eAFU,OAAO,6BAA6B,EAAE,eAAe,CAEjD;IAEd;;;OAGG;IACH,UAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,eAAe,CAEhB;IAET;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,qBAFU,MAAM,CAEQ;IAExB;;;;OAIG;IACH,sBAAM;IAEN,yBAAyB;IACzB,0BAAc;IAEd;;;;;;;OAOG;IACH,SAFU,MAAM,CAEH;IA+Hb;;;OAGG;IACH,kCAEC;IAED;;;OAGG;IACH,yEAEC;IAED;;;;;;;;;;;;OAYG;IACH,eAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,gCAEC;IAED;;;;;;;OAOG;IACH,eAHW,OAAO,8BAA8B,EAAE,eAAe,SACtD,MAAM,QAwBhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH;QAPkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;QAC/D,MAAM,EAArB,MAAM;QACS,cAAc,EAA7B,MAAM;QAES,EAAE,EAAjB,MAAM;QACJ,OAAO,sBAAsB,EAAE,yBAAyB,CA6DpE;IAiBD;;;;;;;;;OASG;IACH;QANgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACjE,MAAM,EAAnB,MAAM;QACkB,kBAAkB,EAA1C,UAAU,MAAM,CAAC;QACJ,SAAS,EAAtB,MAAM;QACJ,MAAM,CAalB;IAED;;;;;;;;;;OAUG;IACH;QAPgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACjE,MAAM,EAAnB,MAAM;QACO,IAAI,EAAjB,MAAM;QACO,aAAa,EAA1B,MAAM;QACsD,MAAM,EAAlE;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC;QACnD;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAkBjE;IAED;;;;;;;;;;;;;;OAcG;IACH;QAXgG,KAAK,EAA1F,OAAO,2DAA2D,EAAE,UAAU;QACrB,QAAQ,EAAjE,OAAO,2BAA2B,EAAE,cAAc;QACrC,MAAM,EAAnB,MAAM;QACO,aAAa,EAA1B,MAAM;QACO,IAAI,EAAjB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,eAAe,EAA5B,MAAM;QACO,oBAAoB,EAAjC,MAAM;QACoE,YAAY,EAAtF;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC;QACjE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAsB/E;IAED;;;;;;;;;OASG;IACH,mBAFa,IAAI,CA2DhB;IAuVD;;;;;;;OAOG;IACH;YAFoB,MAAM,GAAE,MAAM;MAkBjC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,cAFa,QAAQ,mBAAmB,CAAC,CA8BxC;IAED,gBA4BC;;CACJ;;;;;;;;WAhiCa,MAAM;;;;UACN,MAAM;;;;kBACN,MAAM;;;;;cACN,MAAM;;;;;gBAEN,MAAM;;;;;oBAEN,MAAM;;gCAxCY,8BAA8B"}
@@ -6,7 +6,6 @@ import {
6
6
  PARTICLE_EMITTER_TICK_WORKGROUP_SIZE,
7
7
  PARTICLE_RECORD_WORD_COUNT,
8
8
  PARTICLE_SIMULATE_WORKGROUP_SIZE,
9
- PARTICLE_SORT_BUCKET_COUNT,
10
9
  PARTICLE_SPAWN_COMMAND_WORDS,
11
10
  PARTICLE_VM_FAST_REGISTER_SLOTS,
12
11
  PARTICLE_WARMUP_EMITTER_JITTER,
@@ -25,14 +24,11 @@ import {
25
24
  graph_particle_avboit_occupancy,
26
25
  graph_particle_avboit_splat,
27
26
  } from "./graph_particles_avboit.js";
28
- import { graph_particles_billboard } from "./graph_particles_billboard.js";
29
- import { ParticleRenderMode } from "./ParticleRenderMode.js";
30
27
  import { EmitterRegistry } from "./runtime/EmitterRegistry.js";
31
- import { create_particle_billboard_pipeline } from "./shaders/shader_particle_render.js";
32
- import { graph_particle_sort } from "./sort/graph_particle_sort.js";
33
28
  import { WARMUP_QUEUE } from "./warmup/shader_particle_warmup.js";
34
29
  import { warmup_schedule } from "./warmup/warmup_schedule.js";
35
30
  import { GPUTextureContext } from "../texture/GPUTextureContext.js";
31
+ import { inspect_gpu_buffer } from "../buffer/inspect_gpu_buffer.js";
36
32
 
37
33
  const WORD = Uint32Array.BYTES_PER_ELEMENT;
38
34
 
@@ -49,14 +45,29 @@ const STORAGE_UPLOAD = GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST;
49
45
  /** Uploaded, and copied forward into its replacement when the emitter set outgrows it. */
50
46
  const STORAGE_GROWABLE = GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC;
51
47
  /**
52
- * An indirect command the GPU writes and the GPU consumes. COPY_SRC is for the playground's HUD,
53
- * which reads the args back to show that the dispatch really is sized on-device — twelve bytes, and
54
- * the only thing in this file read back at all.
48
+ * An indirect command the GPU writes and the GPU consumes. COPY_SRC is for {@link
49
+ * GPUParticleSystem#read_stats}, which reads the args back to show that the dispatch really is
50
+ * sized on-device — twelve bytes.
55
51
  */
56
52
  const INDIRECT = GPUBufferUsage.STORAGE | GPUBufferUsage.INDIRECT | GPUBufferUsage.COPY_SRC;
57
53
 
58
54
  const DEFAULT_CAPACITY = 524288;
59
55
 
56
+ /**
57
+ * What {@link GPUParticleSystem#read_stats} decodes: the counts the GPU keeps between frames, named.
58
+ *
59
+ * @typedef {object} ParticleSystemStats
60
+ * @property {number} alive live particles the frame ended with
61
+ * @property {number} dead length of the free list
62
+ * @property {number} spawn_budget free slots the frame never promised to a spawn — its headroom
63
+ * @property {number} alive_in entries the frame's simulate consumed — the padded, program-coherent
64
+ * list the frame before it built, so never fewer than that frame's `alive`
65
+ * @property {number} sim_padded length of the padded, program-coherent simulate list built this
66
+ * frame; the gap to `alive` is what keeping each wave on one VM program costs in lanes
67
+ * @property {number} sim_workgroups workgroups the NEXT simulate will dispatch — read out of the
68
+ * indirect args rather than derived, so it is what the GPU will actually launch
69
+ */
70
+
60
71
  /**
61
72
  * The GPU particle system: a feature of a scene, in the mould of `ReSTIRDI` — construct once
62
73
  * against a {@link GPUSceneContext}, and contribute the frame's passes through
@@ -76,12 +87,11 @@ const DEFAULT_CAPACITY = 524288;
76
87
  * ReSTIR's reservoirs follow the resolution.
77
88
  *
78
89
  * Everything else a frame touches is the frame graph's. The bucketing's bins, cursors and keys, the
79
- * whole depth sort, the draw args, the spawn counts and the VM's wide register file are produced
80
- * and consumed inside one graph, so the pass that first writes each one declares it and the graph
81
- * allocates it just in time and releases it after its last reader — into the pool the rest of the
82
- * renderer allocates from. Reserving them here instead would be six megabytes at the default
83
- * capacity that no other feature could ever borrow, and four of them are cleared by a reset pass
84
- * every frame regardless.
90
+ * draw args, the spawn counts and the VM's wide register file are produced and consumed inside one
91
+ * graph, so the pass that first writes each one declares it and the graph allocates it just in time
92
+ * and releases it after its last reader — into the pool the rest of the renderer allocates from.
93
+ * Reserving them here instead would be megabytes at the default capacity that no other feature
94
+ * could ever borrow, and most of them are cleared by a reset pass every frame regardless.
85
95
  *
86
96
  * Every pass stays within the eight storage buffers a stage gets by default: the emitter record
87
97
  * and the GPU-owned state are two tables of one database buffer, and the VM's constants and code
@@ -116,21 +126,18 @@ const DEFAULT_CAPACITY = 524288;
116
126
  * command list that a pass adds to the emitter's pending spawns, on the same path as everything
117
127
  * else. See `graph_particles.js` for the frame.
118
128
  *
119
- * ## Drawing, and the one thing the mode changes
129
+ * ## Drawing
120
130
  *
121
- * {@link execute} is the whole per-frame call, once per frame. It always records everything that
122
- * moves particles and leaves the alive list and the indirect draw args as graph handles; what it
123
- * records after that is the {@link ParticleRenderMode} it was given.
131
+ * {@link execute} is the whole per-frame call, once per frame, and it records only the simulation:
132
+ * everything that moves particles, leaving the alive list and the indirect draw args as graph
133
+ * handles. It draws nothing.
124
134
  *
125
- * `BILLBOARD` sorts the alive list back-to-front and draws it over a colour target, because
126
- * premultiplied over-blending is order-dependent. `AVBOIT` records neither: under the renderer the
127
- * system is an `AVBOITSideChannel`, and the transparency orchestrator asks it for its occupancy, its
128
- * extinction and its draw at the three points where the transparent meshes have contributed theirs
129
- * ({@link avboit_occupancy}, {@link avboit_splat}, {@link avboit_draw}). Those read the same handles
130
- * and composite into a volume and a set of accumulators that are sums, so an ordering would buy
131
- * nothing — and the sort is four passes and a scan over every live particle, plus two lists a word
132
- * per particle each. Under `AVBOIT` none of those passes is recorded, so the graph never allocates
133
- * their buffers either.
135
+ * The drawing is the transparency pipeline's. The system is an `AVBOITSideChannel`, and the AVBOIT
136
+ * orchestrator asks it for its occupancy, its extinction and its draw at the three points where the
137
+ * transparent meshes have contributed theirs ({@link avboit_occupancy}, {@link avboit_splat},
138
+ * {@link avboit_draw}). Those read the handles `execute` produced and composite into a voxel volume
139
+ * and a set of accumulators that are sums — so the particles need no depth ordering at all, and
140
+ * none is ever built.
134
141
  *
135
142
  * ## Allocation
136
143
  *
@@ -182,13 +189,6 @@ export class GPUParticleSystem {
182
189
  */
183
190
  max_catchup_seconds = 1;
184
191
 
185
- /**
186
- * View-depth range the render sort quantises: particles nearer than `[0]` share the front bin,
187
- * farther than `[1]` the back one. Read only by {@link ParticleRenderMode.BILLBOARD}.
188
- * @type {Float32Array}
189
- */
190
- sort_depth_range = new Float32Array([0.1, 100]);
191
-
192
192
  /**
193
193
  * Sprite atlas the billboards sample, and the sampler they sample it with. A 1x1 white texel by
194
194
  * default, so an emitter with no art draws as a plain quad rather than nothing.
@@ -201,8 +201,9 @@ export class GPUParticleSystem {
201
201
 
202
202
  /**
203
203
  * The persistent GPU buffers, by the names the graph functions bind them under. Exposed for
204
- * inspection — a harness copying the counters out to display them — never for the frame loop,
205
- * which reads nothing back. Entries that grow with the emitter set are replaced in place.
204
+ * inspection — {@link bufferSizes} measures them, {@link read_stats} reads the counts out of
205
+ * them — never for the frame loop, which reads nothing back. Entries that grow with the
206
+ * emitter set are replaced in place.
206
207
  *
207
208
  * @type {object}
208
209
  */
@@ -285,12 +286,6 @@ export class GPUParticleSystem {
285
286
  */
286
287
  #program_assignment_version = 0;
287
288
 
288
- /** @type {object|null} */
289
- #pipeline = null;
290
-
291
- /** @type {string} */
292
- #pipeline_key = "";
293
-
294
289
  /**
295
290
  * Per-frame scalars handed to {@link graph_particles_simulate}, reused rather than rebuilt.
296
291
  * @type {object}
@@ -305,19 +300,13 @@ export class GPUParticleSystem {
305
300
  #emitters = { capacity: 0, group_count: 0 };
306
301
 
307
302
  /**
308
- * This frame's simulation, for the draw that follows it: the graph it was recorded into, the
309
- * scene database handle it read, and the handles it produced. Reused, never reallocated.
303
+ * This frame's simulation, for the side channels that draw it later in the frame: the graph it
304
+ * was recorded into, the scene database handle it read, and the handles it produced. Reused,
305
+ * never reallocated.
310
306
  * @type {{graph: object|null, scene_database: number, emitter_group_count: number, handles: object|null}}
311
307
  */
312
308
  #simulated = { graph: null, scene_database: -1, emitter_group_count: 0, handles: null };
313
309
 
314
- /** @type {object} */
315
- #render = {
316
- atlas: null,
317
- atlas_sampler: null,
318
- obtain_pipeline: (color_format, depth_format) => this.#obtain_pipeline(color_format, depth_format),
319
- };
320
-
321
310
  /**
322
311
  * @param {object} graphics engine GraphicsContext (has `.device`)
323
312
  * @param {import("../scene/GPUSceneContext.js").GPUSceneContext} scene_context
@@ -419,18 +408,37 @@ export class GPUParticleSystem {
419
408
  }
420
409
 
421
410
  /**
422
- * The simulation half of the frame: reconcile the emitter set with the scene, push what changed
423
- * to the GPU, and record every pass that moves particles — through to the indirect draw args.
424
- * What it leaves as graph handles is what a draw consumes, whichever draw that turns out to be.
411
+ * The system's whole contribution to the frame, once per frame: reconcile the emitter set with
412
+ * the scene, push what changed to the GPU, and record every pass that moves particles — through
413
+ * to the indirect draw args.
414
+ *
415
+ * It draws nothing and touches no colour target. The handles it returns are what the AVBOIT
416
+ * side channels ({@link avboit_occupancy}, {@link avboit_splat}, {@link avboit_draw}) consume
417
+ * later in the same frame, off this same graph, once the transparent meshes have contributed
418
+ * theirs.
425
419
  *
426
- * @param {object} params see {@link execute}
420
+ * Call after the scene context has built for the frame (`GPUSceneContext#update`), so every
421
+ * emitter node has its `transforms` row, and after the hierarchy pass has run, so the rows'
422
+ * `global` matrices are this frame's.
423
+ *
424
+ * **Once per frame, not once per view.** This advances the simulation by `dt` and hands out
425
+ * handles into the graph it recorded into; a second view of the same scene records a second
426
+ * graph and would step the simulation twice. The renderer has one view per `render` call today,
427
+ * so this holds by construction; a second view of one scene needs the step and the handles
428
+ * separated — record the passes for the first graph, import the same buffers into the rest.
429
+ *
430
+ * @param {object} params
427
431
  * @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
428
- * @param {number} params.camera
429
- * @param {number} params.scene_database
430
- * @param {number} params.dt
432
+ * @param {number} params.camera graph handle of the camera uniform buffer
433
+ * @param {number} params.scene_database graph handle of the scene database — the one the
434
+ * hierarchy pass returned, so this reads the matrices it composed
435
+ * @param {number} params.dt seconds since the previous frame
431
436
  * @returns {import("./graph_particles.js").ParticleSimulationHandles}
432
437
  */
433
- #simulate({ graph, camera, scene_database, dt }) {
438
+ execute({ graph, camera, scene_database, dt }) {
439
+ assert.defined(graph, "graph");
440
+ assert.isNumber(dt, "dt");
441
+
434
442
  this.sync_membership();
435
443
  this.#upload();
436
444
 
@@ -471,7 +479,7 @@ export class GPUParticleSystem {
471
479
  frame,
472
480
  });
473
481
 
474
- // Kept for the draw that follows, whichever it is, and for nothing past this frame.
482
+ // Kept for the side channels that draw later in this frame, and for nothing past it.
475
483
  const current = this.#simulated;
476
484
  current.graph = graph;
477
485
  current.scene_database = scene_database;
@@ -489,101 +497,7 @@ export class GPUParticleSystem {
489
497
  }
490
498
 
491
499
  /**
492
- * The system's whole contribution to the frame: the simulation, then whatever `mode` says draws
493
- * it.
494
- *
495
- * {@link ParticleRenderMode.BILLBOARD} adds the depth sort and one billboard draw over `color`
496
- * with fixed-function blending, for a page with no transparency pipeline of its own.
497
- * {@link ParticleRenderMode.AVBOIT} adds nothing: the orchestrator draws the particles later in
498
- * the frame through {@link avboit_occupancy}, {@link avboit_splat} and {@link avboit_draw}, off
499
- * the handles this just produced, and its accumulators are order-independent — so the sort is
500
- * skipped and its buffers are never allocated. `color` comes straight back either way, so a
501
- * caller can assign the result unconditionally and let the mode be the only difference.
502
- *
503
- * Call after the scene context has built for the frame (`GPUSceneContext#update`), so every
504
- * emitter node has its `transforms` row, and after the hierarchy pass has run, so the rows'
505
- * `global` matrices are this frame's.
506
- *
507
- * **Once per frame, not once per view.** This advances the simulation by `dt` and hands out
508
- * handles into the graph it recorded into; a second view of the same scene records a second
509
- * graph and would step the simulation twice. The renderer has one view per `render` call today,
510
- * so this holds by construction; a second view of one scene needs the step and the handles
511
- * separated — record the passes for the first graph, import the same buffers into the rest.
512
- *
513
- * @param {object} params
514
- * @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
515
- * @param {number} params.camera graph handle of the camera uniform buffer
516
- * @param {number} params.scene_database graph handle of the scene database — the one the
517
- * hierarchy pass returned, so this reads the matrices it composed
518
- * @param {number} params.dt seconds since the previous frame
519
- * @param {ParticleRenderMode} [params.mode] who draws, and so whether there is a sort
520
- * @param {number} [params.color] graph handle of the colour target to draw over. Required by
521
- * `BILLBOARD`; returned untouched by `AVBOIT`
522
- * @param {number} [params.depth] graph handle of the scene depth (tested, never written).
523
- * Required by `BILLBOARD`
524
- * @returns {number|undefined} the colour handle after the particle draw, or `color` unchanged
525
- */
526
- execute({ graph, camera, scene_database, color, depth, dt, mode = ParticleRenderMode.BILLBOARD }) {
527
- assert.defined(graph, "graph");
528
- assert.isNumber(dt, "dt");
529
- assert.enum(mode, ParticleRenderMode, "mode");
530
-
531
- const billboard = mode === ParticleRenderMode.BILLBOARD;
532
-
533
- // Checked before the simulation rather than at the draw: the simulation advances `frame` and
534
- // `time` and writes the pool, and a throw after that leaves a frame half-stepped.
535
- if (billboard) {
536
- assert.isNonNegativeInteger(color, "color");
537
- assert.isNonNegativeInteger(depth, "depth");
538
- }
539
-
540
- const simulated = this.#simulate({ graph, camera, scene_database, dt });
541
-
542
- if (!billboard) {
543
- // AVBOIT: the side channels draw these handles later in the frame, and the colour target
544
- // is not this call's to touch.
545
- return color;
546
- }
547
-
548
- // The render order: back-to-front by view depth, so premultiplied transparency composites
549
- // correctly. Its two per-particle passes take the dispatch the coherence reset wrote from
550
- // the GPU's own alive count, and every buffer it needs is the graph's — a system the
551
- // renderer drives through AVBOIT records none of these passes and so pays for none of them.
552
- const sorted = graph_particle_sort({
553
- graph,
554
- camera,
555
- emitter_database: simulated.emitter_database,
556
- pool: simulated.pool,
557
- alive: simulated.alive,
558
- counters: simulated.counters,
559
- dispatch_args: simulated.sim_dispatch_args,
560
- capacity: this.capacity,
561
- bucket_count: PARTICLE_SORT_BUCKET_COUNT,
562
- near: this.sort_depth_range[0],
563
- far: this.sort_depth_range[1],
564
- });
565
-
566
- const render = this.#render;
567
- render.atlas = this.atlas;
568
- render.atlas_sampler = this.atlas_sampler;
569
-
570
- // One instanced billboard draw over the sorted list, sized by the draw args this frame's
571
- // build-indirect wrote.
572
- return graph_particles_billboard({
573
- graph,
574
- camera,
575
- color,
576
- depth,
577
- pool: simulated.pool,
578
- draw_list: sorted,
579
- emitter_database: simulated.emitter_database,
580
- draw_args: simulated.draw_args,
581
- render,
582
- });
583
- }
584
-
585
- /**
586
- * What this frame's {@link simulate} left, checked against the graph a side-channel call names:
500
+ * What this frame's {@link execute} left, checked against the graph a side-channel call names:
587
501
  * the AVBOIT orchestrator records its passes into the same graph, later in the same frame.
588
502
  *
589
503
  * @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} graph
@@ -1096,27 +1010,6 @@ export class GPUParticleSystem {
1096
1010
  });
1097
1011
  }
1098
1012
 
1099
- /**
1100
- * @param {string} color_format
1101
- * @param {string} depth_format
1102
- * @returns {object} the billboard pipeline descriptor for these attachment formats
1103
- */
1104
- #obtain_pipeline(color_format, depth_format) {
1105
- const key = `${color_format}/${depth_format}`;
1106
-
1107
- if (this.#pipeline === null || this.#pipeline_key !== key) {
1108
- this.#pipeline = create_particle_billboard_pipeline({
1109
- color_format,
1110
- depth_format,
1111
- // reverse-Z, the engine convention
1112
- depth_compare: "greater",
1113
- });
1114
- this.#pipeline_key = key;
1115
- }
1116
-
1117
- return this.#pipeline;
1118
- }
1119
-
1120
1013
  /**
1121
1014
  * Sizes of the persistent buffers, in bytes, as they stand — one entry per distinct buffer, so
1122
1015
  * this is the feature's reserved footprint and not a list of the names it binds them under.
@@ -1143,6 +1036,54 @@ export class GPUParticleSystem {
1143
1036
  return sizes;
1144
1037
  }
1145
1038
 
1039
+ /**
1040
+ * Copy the counts the GPU keeps back to the host and decode them, for display and diagnostics.
1041
+ *
1042
+ * Read back to *look at*: nothing here may size a pass. Every number describes a frame that has
1043
+ * already been submitted, so by the time one arrives it is at best one frame stale — and sizing
1044
+ * a dispatch or a draw from a stale count is a correctness bug, not an inaccuracy, for the
1045
+ * reasons `shader_particle_build_indirect` sets out. This is the whole of what the feature ever
1046
+ * reads back, and the only reason {@link INDIRECT} carries `COPY_SRC` at all.
1047
+ *
1048
+ * The draw args are not here and cannot be: they never leave the frame graph, which allocates
1049
+ * them at the build-indirect pass and releases them after the last draw that reads them. Their
1050
+ * instance count is {@link ParticleSystemStats#alive}, which the counters carry anyway.
1051
+ *
1052
+ * Two copies, two submissions and a map round trip, so a caller polling this for an overlay
1053
+ * wants to rate-limit itself and to hold off while a previous read is still outstanding.
1054
+ *
1055
+ * @returns {Promise<ParticleSystemStats>}
1056
+ */
1057
+ async read_stats() {
1058
+ const device = this.graphics.device;
1059
+ const buffers = this.buffers;
1060
+
1061
+ const read = (buffer, words) => inspect_gpu_buffer({
1062
+ device,
1063
+ buffer,
1064
+ buffer_size: words * WORD,
1065
+ // The mapped range is only valid for the length of the callback, so the decode either
1066
+ // happens inside it or takes a copy. A copy, so one `Promise.all` sees both buffers.
1067
+ callback: bytes => new Uint32Array(bytes.slice(0)),
1068
+ });
1069
+
1070
+ const [counters, dispatch] = await Promise.all([
1071
+ // The head of the buffer only: what follows the counters is the per-emitter bounds
1072
+ // accumulator, which is boxes rather than counts and grows with the emitter table.
1073
+ read(buffers.counters, PARTICLE_COUNTER_COUNT),
1074
+ read(buffers.dispatch_args, 3),
1075
+ ]);
1076
+
1077
+ return {
1078
+ alive: counters[PARTICLE_COUNTER.ALIVE],
1079
+ dead: counters[PARTICLE_COUNTER.DEAD],
1080
+ spawn_budget: counters[PARTICLE_COUNTER.SPAWN_BUDGET],
1081
+ alive_in: counters[PARTICLE_COUNTER.ALIVE_IN],
1082
+ sim_padded: counters[PARTICLE_COUNTER.SIM_PADDED],
1083
+ sim_workgroups: dispatch[0],
1084
+ };
1085
+ }
1086
+
1146
1087
  destroy() {
1147
1088
  /*
1148
1089
  The emitters go first, and they matter more than the buffers: they are the scene's nodes,