@woosh/meep-engine 3.0.0 → 3.0.2

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 (719) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/ecs/component/FieldDescriptor.d.ts +26 -26
  3. package/editor/ecs/component/FieldValueAdapter.d.ts +6 -6
  4. package/editor/ecs/component/TypeEditor.d.ts +24 -24
  5. package/editor/ecs/component/createFieldEditor.d.ts +8 -8
  6. package/editor/ecs/component/createObjectEditor.d.ts +13 -13
  7. package/editor/ecs/component/editors/primitive/ObjectEditor.d.ts +5 -5
  8. package/editor/ecs/component/findNearestRegisteredType.d.ts +7 -7
  9. package/editor/particles/rebuildParticleEmitter.js +8 -26
  10. package/editor/process/symbolic/CameraSymbolicDisplay.js +146 -146
  11. package/editor/prototypeEditorShell.js +0 -2
  12. package/editor/tools/SelectionTool.js +1 -2
  13. package/editor/tools/TransformToolV2.js +2 -3
  14. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +501 -501
  15. package/editor/tools/v2/TransformControls.js +1 -1
  16. package/editor/view/ecs/components/color/GaugeView.d.ts +12 -12
  17. package/editor/view/ecs/components/common/AutoCanvasView.d.ts +29 -29
  18. package/editor/view/ecs/components/common/LineView.d.ts +11 -11
  19. package/editor/view/ecs/components/common/NumberController.d.ts +17 -17
  20. package/editor/view/ecs/components/common/TextController.d.ts +20 -20
  21. package/editor/view/node-graph/NodeGraphCamera.d.ts +47 -47
  22. package/editor/view/node-graph/NodeGraphEditorView.d.ts +54 -54
  23. package/editor/view/node-graph/NodeGraphSelection.d.ts +55 -55
  24. package/editor/view/node-graph/NodeGraphView.d.ts +97 -97
  25. package/editor/view/node-graph/NodeView.d.ts +25 -25
  26. package/editor/view/node-graph/PortView.d.ts +22 -22
  27. package/editor/view/node-graph/actions/ConnectionCreateAction.d.ts +33 -33
  28. package/editor/view/node-graph/actions/ConnectionDeleteAction.d.ts +25 -25
  29. package/editor/view/node-graph/actions/NodeDeleteAction.d.ts +46 -46
  30. package/editor/view/node-graph/actions/NodeParameterSetAction.d.ts +33 -33
  31. package/editor/view/node-graph/actions/NodesMoveAction.d.ts +37 -37
  32. package/editor/view/node-graph/actions/SelectionSetAction.d.ts +37 -37
  33. package/editor/view/node-graph/connection_wire_geometry.d.ts +45 -45
  34. package/package.json +94 -96
  35. package/src/avif/codec/dec/avif_dec.d.ts +3 -15
  36. package/src/avif/codec/enc/avif_enc.d.ts +3 -38
  37. package/src/avif/codec/enc/avif_enc_mt.d.ts +3 -1
  38. package/src/avif/decode.d.ts +2 -66
  39. package/src/avif/decode.d.ts.map +1 -1
  40. package/src/avif/encode.d.ts +2 -27
  41. package/src/avif/encode.d.ts.map +1 -1
  42. package/src/avif/index.d.ts +2 -2
  43. package/src/avif/index.d.ts.map +1 -1
  44. package/src/avif/meta.d.ts +23 -39
  45. package/src/avif/meta.d.ts.map +1 -1
  46. package/src/avif/utils.d.ts +16 -16
  47. package/src/avif/utils.d.ts.map +1 -1
  48. package/src/core/bvh2/visual/BVHGeometry.d.ts +13 -14
  49. package/src/core/bvh2/visual/BVHGeometry.d.ts.map +1 -1
  50. package/src/core/bvh2/visual/BVHGeometry.js +131 -129
  51. package/src/core/collection/array/typed/typed_array_value_denormalize.d.ts.map +1 -1
  52. package/src/core/collection/array/typed/typed_array_value_denormalize.js +52 -47
  53. package/src/core/collection/array/typed/typed_array_value_normalize.d.ts.map +1 -1
  54. package/src/core/collection/array/typed/typed_array_value_normalize.js +51 -46
  55. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  56. package/src/core/geom/3d/frustum/frustum3_compute_closest_point.d.ts +9 -2
  57. package/src/core/geom/3d/frustum/frustum3_compute_closest_point.d.ts.map +1 -1
  58. package/src/core/geom/3d/frustum/frustum3_compute_closest_point.js +117 -110
  59. package/src/core/geom/3d/mat4/m4_look_at.d.ts +25 -0
  60. package/src/core/geom/3d/mat4/m4_look_at.d.ts.map +1 -0
  61. package/src/core/geom/3d/mat4/m4_look_at.js +96 -0
  62. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts +18 -0
  63. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts.map +1 -0
  64. package/src/core/geom/3d/mat4/m4_make_rotation_x.js +47 -0
  65. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts +18 -0
  66. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts.map +1 -0
  67. package/src/core/geom/3d/mat4/m4_make_rotation_y.js +47 -0
  68. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts +18 -0
  69. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts.map +1 -0
  70. package/src/core/geom/3d/mat4/m4_make_rotation_z.js +47 -0
  71. package/src/core/geom/3d/mat4/m4_perspective.d.ts +25 -0
  72. package/src/core/geom/3d/mat4/m4_perspective.d.ts.map +1 -0
  73. package/src/core/geom/3d/mat4/m4_perspective.js +66 -0
  74. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_geometry.d.ts +14 -0
  75. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_geometry.d.ts.map +1 -0
  76. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_geometry.js +39 -0
  77. package/src/core/geom/3d/triangle/tri3_closest_point_barycentric.d.ts.map +1 -1
  78. package/src/core/geom/3d/triangle/tri3_closest_point_barycentric.js +171 -166
  79. package/src/engine/Engine.d.ts.map +1 -1
  80. package/src/engine/Engine.js +1 -2
  81. package/src/engine/EngineHarness.d.ts.map +1 -1
  82. package/src/engine/EngineHarness.js +6 -1
  83. package/src/engine/animation/clip/ecd_bind_animation_curve.d.ts +0 -1
  84. package/src/engine/animation/clip/ecd_bind_animation_curve.d.ts.map +1 -1
  85. package/src/engine/asset/GameAssetType.js +5 -0
  86. package/src/engine/asset/loaders/async_traverse_three_object.d.ts.map +1 -1
  87. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  88. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +2045 -2052
  89. package/src/engine/ecs/fow/FogOfWarEdgeMode.d.ts +1 -1
  90. package/src/engine/ecs/fow/FogOfWarEdgeMode.js +40 -40
  91. package/src/engine/ecs/gui/hud/testHudEdgeStick.js +2 -2
  92. package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
  93. package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +265 -269
  94. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -15
  95. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  96. package/src/engine/ecs/terrain/ecs/Terrain.js +0 -30
  97. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  98. package/src/engine/ecs/terrain/ecs/TerrainSystem.js +14 -29
  99. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
  100. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +129 -126
  101. package/src/engine/ecs/transform/copy_three_transform.d.ts.map +1 -1
  102. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.d.ts +2 -2
  103. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.d.ts.map +1 -1
  104. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.js +207 -207
  105. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.d.ts +2 -2
  106. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.d.ts.map +1 -1
  107. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.js +151 -151
  108. package/src/engine/graphics/ecs/camera/Camera.d.ts +36 -48
  109. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  110. package/src/engine/graphics/ecs/camera/Camera.js +165 -303
  111. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts +14 -0
  112. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts.map +1 -0
  113. package/src/engine/graphics/ecs/camera/camera_active_frustum.js +25 -0
  114. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts +16 -0
  115. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts.map +1 -0
  116. package/src/engine/graphics/ecs/camera/camera_find_active.js +28 -0
  117. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts +12 -0
  118. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -0
  119. package/src/engine/graphics/ecs/camera/camera_traverse_active.js +18 -0
  120. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.js +170 -170
  121. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +5 -1
  122. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  123. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +296 -281
  124. package/src/engine/graphics/ecs/highlight/renderer/traverseThreeObject.d.ts.map +1 -1
  125. package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts.map +1 -1
  126. package/src/engine/graphics/ecs/mesh/copyToVector3.d.ts.map +1 -1
  127. package/src/engine/graphics/ecs/mesh/setMesh.d.ts.map +1 -1
  128. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts +22 -13
  129. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts.map +1 -1
  130. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +29 -16
  131. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.d.ts +1 -1
  132. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.d.ts.map +1 -1
  133. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.d.ts.map +1 -1
  134. package/src/engine/graphics/ecs/render_layers_compute_depth_range.d.ts +1 -1
  135. package/src/engine/graphics/ecs/render_layers_compute_depth_range.js +1 -1
  136. package/src/engine/graphics/ecs/water/Water.d.ts +6 -19
  137. package/src/engine/graphics/ecs/water/Water.d.ts.map +1 -1
  138. package/src/engine/graphics/ecs/water/Water.js +104 -215
  139. package/src/engine/graphics/geometry/AttributeData.d.ts +52 -0
  140. package/src/engine/graphics/geometry/AttributeData.d.ts.map +1 -0
  141. package/src/engine/graphics/geometry/AttributeData.js +84 -0
  142. package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.d.ts.map +1 -1
  143. package/src/engine/graphics/geometry/buffered/computeGeometryEquality.d.ts.map +1 -1
  144. package/src/engine/graphics/geometry/buffered/computeGeometryHash.d.ts.map +1 -1
  145. package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.d.ts.map +1 -1
  146. package/src/engine/graphics/geometry/buffered/geometry_compute_vertex_normals_indexed.d.ts +5 -1
  147. package/src/engine/graphics/geometry/buffered/geometry_compute_vertex_normals_indexed.d.ts.map +1 -1
  148. package/src/engine/graphics/geometry/buffered/geometry_compute_vertex_normals_indexed.js +49 -45
  149. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +36 -24
  150. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
  151. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.js +288 -288
  152. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_buffered_geometry.d.ts +19 -0
  153. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_buffered_geometry.d.ts.map +1 -0
  154. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_buffered_geometry.js +52 -0
  155. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_indexed_geometry.d.ts +1 -0
  156. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_indexed_geometry.d.ts.map +1 -1
  157. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_indexed_geometry.js +20 -32
  158. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_unindexed_geometry.d.ts +1 -0
  159. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_unindexed_geometry.d.ts.map +1 -1
  160. package/src/engine/graphics/geometry/bvh/buffered/bvh32_from_unindexed_geometry.js +19 -30
  161. package/src/engine/graphics/geometry/compute_geometry_polycount.d.ts.map +1 -1
  162. package/src/engine/graphics/impostors/card_cluster/FacePlaneAssignment.d.ts.map +1 -1
  163. package/src/engine/graphics/impostors/octahedral/ImpostorDescription.d.ts.map +1 -1
  164. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +1 -14
  165. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +1 -1
  166. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +229 -253
  167. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +25 -12
  168. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  169. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1149 -1194
  170. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +4 -8
  171. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +1 -1
  172. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +472 -540
  173. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +19 -90
  174. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +1 -1
  175. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +135 -514
  176. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  177. package/src/engine/graphics/render/layers/RenderLayer.js +95 -95
  178. package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts.map +1 -1
  179. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts +77 -0
  180. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts.map +1 -0
  181. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.js +507 -0
  182. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +2 -2
  183. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  184. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +161 -161
  185. package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.d.ts +6 -6
  186. package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.d.ts.map +1 -1
  187. package/src/engine/graphics/sh3/path_tracer/PathTracedRenderer.js +31 -12
  188. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +113 -0
  189. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -0
  190. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +699 -0
  191. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts +10 -0
  192. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
  193. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +73 -63
  194. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts.map +1 -1
  195. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +10 -13
  196. package/src/engine/graphics/shadows/vsm.glsl.d.ts.map +1 -1
  197. package/src/engine/graphics/shadows/vsm.glsl.js +43 -41
  198. package/src/engine/graphics/texture/computeThreeTextureInternalFormatFromDataType.d.ts.map +1 -1
  199. package/src/engine/graphics3/CameraSystem3.d.ts.map +1 -1
  200. package/src/engine/graphics3/CameraSystem3.js +10 -1
  201. package/src/engine/graphics3/GraphicsEngine3.d.ts +3 -3
  202. package/src/engine/graphics3/GraphicsEngine3.js +3 -3
  203. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +11 -0
  204. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +1 -1
  205. package/src/engine/graphics3/ParticleEmitterSystem3.js +289 -265
  206. package/src/engine/graphics3/ShadeCameraAdapter.d.ts +3 -3
  207. package/src/engine/graphics3/ShadeCameraAdapter.js +3 -3
  208. package/src/engine/graphics3/WaterSystem3.js +1 -1
  209. package/src/engine/graphics3/camera_sync_from_transform.d.ts +2 -2
  210. package/src/engine/graphics3/camera_sync_from_transform.js +2 -2
  211. package/src/engine/graphics3/shade_camera_projection_ray.js +2 -2
  212. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts +2 -2
  213. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts.map +1 -1
  214. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  215. package/src/shade/renderer/camera/Camera.d.ts +3 -5
  216. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  217. package/src/shade/renderer/camera/Camera.js +281 -280
  218. package/src/shade/renderer/camera/GPUCameraContext.js +233 -233
  219. package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
  220. package/src/shade/renderer/geometry/Geometry.js +6 -5
  221. package/src/shade/renderer/geometry/primitives/make_box_geometry.d.ts.map +1 -1
  222. package/src/shade/renderer/geometry/primitives/make_box_geometry.js +6 -1
  223. package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.d.ts +19 -0
  224. package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.d.ts.map +1 -0
  225. package/src/shade/renderer/geometry/primitives/make_cylinder_geometry.js +240 -0
  226. package/src/shade/renderer/geometry/primitives/make_plane_geometry.d.ts.map +1 -1
  227. package/src/shade/renderer/geometry/primitives/make_plane_geometry.js +6 -1
  228. package/src/shade/renderer/geometry/primitives/make_polyhedron_geometry.d.ts.map +1 -1
  229. package/src/shade/renderer/geometry/primitives/make_polyhedron_geometry.js +327 -322
  230. package/src/shade/renderer/geometry/primitives/make_torus_geometry.d.ts +13 -0
  231. package/src/shade/renderer/geometry/primitives/make_torus_geometry.d.ts.map +1 -0
  232. package/src/shade/renderer/geometry/primitives/make_torus_geometry.js +107 -0
  233. package/src/shade/renderer/geometry/primitives/make_torus_knot_geometry.d.ts +15 -0
  234. package/src/shade/renderer/geometry/primitives/make_torus_knot_geometry.d.ts.map +1 -0
  235. package/src/shade/renderer/geometry/primitives/make_torus_knot_geometry.js +165 -0
  236. package/src/shade/renderer/loader/usd/parse_usda.js +1 -1
  237. package/src/shade/renderer/loader/usd/usd_build_scene.d.ts.map +1 -1
  238. package/src/shade/renderer/loader/usd/usd_build_scene.js +658 -652
  239. package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +1 -1
  240. package/src/shade/renderer/loader/usd/usd_compose_transform.js +58 -23
  241. package/src/shade/renderer/particles/prototypeParticleSystem.js +450 -443
  242. package/src/shade/renderer/postprocess/gtao/generate_magic_square_noise.d.ts +5 -1
  243. package/src/shade/renderer/postprocess/gtao/generate_magic_square_noise.d.ts.map +1 -1
  244. package/src/shade/renderer/postprocess/gtao/generate_magic_square_noise.js +51 -47
  245. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  246. package/src/shade/renderer/shader/chunk/texture/chunk_texture_filter_fxaa_lite.d.ts +2 -0
  247. package/src/shade/renderer/shader/chunk/texture/chunk_texture_filter_fxaa_lite.d.ts.map +1 -1
  248. package/src/shade/renderer/shader/chunk/texture/chunk_texture_filter_fxaa_lite.js +225 -223
  249. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
  250. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +7 -3
  251. package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -2
  252. package/src/view/minimap/dom/MinimapCameraView.js +206 -206
  253. package/editor/Editor.d.ts +0 -162
  254. package/editor/Editor.d.ts.map +0 -1
  255. package/editor/EditorCameraNavigation.d.ts +0 -21
  256. package/editor/EditorCameraNavigation.d.ts.map +0 -1
  257. package/editor/EditorKeyMap.d.ts +0 -28
  258. package/editor/EditorKeyMap.d.ts.map +0 -1
  259. package/editor/SelectionVisualizer.d.ts +0 -49
  260. package/editor/SelectionVisualizer.d.ts.map +0 -1
  261. package/editor/actions/concrete/ActionUpdateTexture.d.ts +0 -12
  262. package/editor/actions/concrete/ActionUpdateTexture.d.ts.map +0 -1
  263. package/editor/actions/concrete/ArrayCopyAction.d.ts +0 -20
  264. package/editor/actions/concrete/ArrayCopyAction.d.ts.map +0 -1
  265. package/editor/actions/concrete/ComponentAddAction.d.ts +0 -15
  266. package/editor/actions/concrete/ComponentAddAction.d.ts.map +0 -1
  267. package/editor/actions/concrete/ComponentRemoveAction.d.ts +0 -11
  268. package/editor/actions/concrete/ComponentRemoveAction.d.ts.map +0 -1
  269. package/editor/actions/concrete/EntityCreateAction.d.ts +0 -18
  270. package/editor/actions/concrete/EntityCreateAction.d.ts.map +0 -1
  271. package/editor/actions/concrete/EntityRemoveAction.d.ts +0 -11
  272. package/editor/actions/concrete/EntityRemoveAction.d.ts.map +0 -1
  273. package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts +0 -47
  274. package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts.map +0 -1
  275. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts +0 -38
  276. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts.map +0 -1
  277. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts +0 -23
  278. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts.map +0 -1
  279. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts +0 -32
  280. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts.map +0 -1
  281. package/editor/actions/concrete/SelectionAddAction.d.ts +0 -19
  282. package/editor/actions/concrete/SelectionAddAction.d.ts.map +0 -1
  283. package/editor/actions/concrete/SelectionClearAction.d.ts +0 -9
  284. package/editor/actions/concrete/SelectionClearAction.d.ts.map +0 -1
  285. package/editor/actions/concrete/SelectionRemoveAction.d.ts +0 -10
  286. package/editor/actions/concrete/SelectionRemoveAction.d.ts.map +0 -1
  287. package/editor/actions/concrete/TransformModifyAction.d.ts +0 -17
  288. package/editor/actions/concrete/TransformModifyAction.d.ts.map +0 -1
  289. package/editor/actions/concrete/WriteGridValueAction.d.ts +0 -14
  290. package/editor/actions/concrete/WriteGridValueAction.d.ts.map +0 -1
  291. package/editor/camera/camera_framing.d.ts +0 -30
  292. package/editor/camera/camera_framing.d.ts.map +0 -1
  293. package/editor/clipboard.d.ts +0 -19
  294. package/editor/clipboard.d.ts.map +0 -1
  295. package/editor/ecs/EditorEntity.d.ts +0 -16
  296. package/editor/ecs/EditorEntity.d.ts.map +0 -1
  297. package/editor/ecs/EditorEntitySystem.d.ts +0 -8
  298. package/editor/ecs/EditorEntitySystem.d.ts.map +0 -1
  299. package/editor/ecs/component/editors/ColorEditor.d.ts +0 -7
  300. package/editor/ecs/component/editors/ColorEditor.d.ts.map +0 -1
  301. package/editor/ecs/component/editors/HTMLElementEditor.d.ts +0 -7
  302. package/editor/ecs/component/editors/HTMLElementEditor.d.ts.map +0 -1
  303. package/editor/ecs/component/editors/ImagePathEditor.d.ts +0 -7
  304. package/editor/ecs/component/editors/ImagePathEditor.d.ts.map +0 -1
  305. package/editor/ecs/component/editors/LargeStringEditor.d.ts +0 -16
  306. package/editor/ecs/component/editors/LargeStringEditor.d.ts.map +0 -1
  307. package/editor/ecs/component/editors/NumericIntervalEditor.d.ts +0 -7
  308. package/editor/ecs/component/editors/NumericIntervalEditor.d.ts.map +0 -1
  309. package/editor/ecs/component/editors/ObservedBooleanEditor.d.ts +0 -7
  310. package/editor/ecs/component/editors/ObservedBooleanEditor.d.ts.map +0 -1
  311. package/editor/ecs/component/editors/ObservedEnumEditor.d.ts +0 -7
  312. package/editor/ecs/component/editors/ObservedEnumEditor.d.ts.map +0 -1
  313. package/editor/ecs/component/editors/ObservedIntegerEditor.d.ts +0 -7
  314. package/editor/ecs/component/editors/ObservedIntegerEditor.d.ts.map +0 -1
  315. package/editor/ecs/component/editors/ObservedStringEditor.d.ts +0 -7
  316. package/editor/ecs/component/editors/ObservedStringEditor.d.ts.map +0 -1
  317. package/editor/ecs/component/editors/Sampler2DEditor.d.ts +0 -7
  318. package/editor/ecs/component/editors/Sampler2DEditor.d.ts.map +0 -1
  319. package/editor/ecs/component/editors/collection/ListEditor.d.ts +0 -8
  320. package/editor/ecs/component/editors/collection/ListEditor.d.ts.map +0 -1
  321. package/editor/ecs/component/editors/common/BitFlagsEditor.d.ts +0 -12
  322. package/editor/ecs/component/editors/common/BitFlagsEditor.d.ts.map +0 -1
  323. package/editor/ecs/component/editors/common/EnumEditor.d.ts +0 -8
  324. package/editor/ecs/component/editors/common/EnumEditor.d.ts.map +0 -1
  325. package/editor/ecs/component/editors/common/makeV3_editor.d.ts +0 -15
  326. package/editor/ecs/component/editors/common/makeV3_editor.d.ts.map +0 -1
  327. package/editor/ecs/component/editors/common/noEditor.d.ts +0 -3
  328. package/editor/ecs/component/editors/common/noEditor.d.ts.map +0 -1
  329. package/editor/ecs/component/editors/common/two_way_sync.d.ts +0 -22
  330. package/editor/ecs/component/editors/common/two_way_sync.d.ts.map +0 -1
  331. package/editor/ecs/component/editors/ecs/GridObstacleEditor.d.ts +0 -7
  332. package/editor/ecs/component/editors/ecs/GridObstacleEditor.d.ts.map +0 -1
  333. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +0 -20
  334. package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +0 -1
  335. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +0 -12
  336. package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +0 -1
  337. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +0 -14
  338. package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts.map +0 -1
  339. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +0 -52
  340. package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts.map +0 -1
  341. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +0 -47
  342. package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +0 -1
  343. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +0 -16
  344. package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts.map +0 -1
  345. package/editor/ecs/component/editors/ecs/Trail2DEditor.d.ts +0 -30
  346. package/editor/ecs/component/editors/ecs/Trail2DEditor.d.ts.map +0 -1
  347. package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts +0 -42
  348. package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts.map +0 -1
  349. package/editor/ecs/component/editors/ecs/TransformEditor.d.ts +0 -20
  350. package/editor/ecs/component/editors/ecs/TransformEditor.d.ts.map +0 -1
  351. package/editor/ecs/component/editors/ecs/buildGridObstaclePreview.d.ts +0 -8
  352. package/editor/ecs/component/editors/ecs/buildGridObstaclePreview.d.ts.map +0 -1
  353. package/editor/ecs/component/editors/ecs/terrain/SplatMappingEditor.d.ts +0 -19
  354. package/editor/ecs/component/editors/ecs/terrain/SplatMappingEditor.d.ts.map +0 -1
  355. package/editor/ecs/component/editors/ecs/terrain/TerrainEditor.d.ts +0 -39
  356. package/editor/ecs/component/editors/ecs/terrain/TerrainEditor.d.ts.map +0 -1
  357. package/editor/ecs/component/editors/ecs/terrain/TerrainLayerEditor.d.ts +0 -16
  358. package/editor/ecs/component/editors/ecs/terrain/TerrainLayerEditor.d.ts.map +0 -1
  359. package/editor/ecs/component/editors/ecs/terrain/TerrainLayersEditor.d.ts +0 -19
  360. package/editor/ecs/component/editors/ecs/terrain/TerrainLayersEditor.d.ts.map +0 -1
  361. package/editor/ecs/component/editors/ecs/terrain/TerrainOverlayEditor.d.ts +0 -18
  362. package/editor/ecs/component/editors/ecs/terrain/TerrainOverlayEditor.d.ts.map +0 -1
  363. package/editor/ecs/component/editors/geom/QuaternionEditor.d.ts +0 -6
  364. package/editor/ecs/component/editors/geom/QuaternionEditor.d.ts.map +0 -1
  365. package/editor/ecs/component/editors/geom/Vector1Editor.d.ts +0 -7
  366. package/editor/ecs/component/editors/geom/Vector1Editor.d.ts.map +0 -1
  367. package/editor/ecs/component/editors/geom/Vector2Editor.d.ts +0 -6
  368. package/editor/ecs/component/editors/geom/Vector2Editor.d.ts.map +0 -1
  369. package/editor/ecs/component/editors/geom/Vector3Editor.d.ts +0 -6
  370. package/editor/ecs/component/editors/geom/Vector3Editor.d.ts.map +0 -1
  371. package/editor/ecs/component/editors/geom/Vector4Editor.d.ts +0 -6
  372. package/editor/ecs/component/editors/geom/Vector4Editor.d.ts.map +0 -1
  373. package/editor/ecs/component/editors/primitive/ArrayEditor.d.ts +0 -8
  374. package/editor/ecs/component/editors/primitive/ArrayEditor.d.ts.map +0 -1
  375. package/editor/ecs/component/editors/primitive/BooleanEditor.d.ts +0 -7
  376. package/editor/ecs/component/editors/primitive/BooleanEditor.d.ts.map +0 -1
  377. package/editor/ecs/component/editors/primitive/FunctionEditor.d.ts +0 -7
  378. package/editor/ecs/component/editors/primitive/FunctionEditor.d.ts.map +0 -1
  379. package/editor/ecs/component/editors/primitive/NumberEditor.d.ts +0 -8
  380. package/editor/ecs/component/editors/primitive/NumberEditor.d.ts.map +0 -1
  381. package/editor/ecs/component/editors/primitive/StringEditor.d.ts +0 -7
  382. package/editor/ecs/component/editors/primitive/StringEditor.d.ts.map +0 -1
  383. package/editor/ecs/component/registerEngineComponentEditors.d.ts +0 -8
  384. package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +0 -1
  385. package/editor/enableEditor.d.ts +0 -14
  386. package/editor/enableEditor.d.ts.map +0 -1
  387. package/editor/library/MeshLibrary.d.ts +0 -13
  388. package/editor/library/MeshLibrary.d.ts.map +0 -1
  389. package/editor/particles/lut_ops.d.ts +0 -34
  390. package/editor/particles/lut_ops.d.ts.map +0 -1
  391. package/editor/particles/particleEditEvents.d.ts +0 -11
  392. package/editor/particles/particleEditEvents.d.ts.map +0 -1
  393. package/editor/particles/rebuildParticleEmitter.d.ts +0 -11
  394. package/editor/particles/rebuildParticleEmitter.d.ts.map +0 -1
  395. package/editor/persistence/EditorLayoutStore.d.ts +0 -30
  396. package/editor/persistence/EditorLayoutStore.d.ts.map +0 -1
  397. package/editor/persistence/SceneMetadata.d.ts +0 -38
  398. package/editor/persistence/SceneMetadata.d.ts.map +0 -1
  399. package/editor/persistence/SceneSlotManager.d.ts +0 -40
  400. package/editor/persistence/SceneSlotManager.d.ts.map +0 -1
  401. package/editor/persistence/buildNewSceneDataset.d.ts +0 -10
  402. package/editor/persistence/buildNewSceneDataset.d.ts.map +0 -1
  403. package/editor/persistence/files.d.ts +0 -24
  404. package/editor/persistence/files.d.ts.map +0 -1
  405. package/editor/persistence/scene_import.d.ts +0 -45
  406. package/editor/persistence/scene_import.d.ts.map +0 -1
  407. package/editor/persistence/scene_serialization.d.ts +0 -36
  408. package/editor/persistence/scene_serialization.d.ts.map +0 -1
  409. package/editor/persistence/string_buffer_codec.d.ts +0 -20
  410. package/editor/persistence/string_buffer_codec.d.ts.map +0 -1
  411. package/editor/process/DisableGameUIProcess.d.ts +0 -8
  412. package/editor/process/DisableGameUIProcess.d.ts.map +0 -1
  413. package/editor/process/EditorProcess.d.ts +0 -19
  414. package/editor/process/EditorProcess.d.ts.map +0 -1
  415. package/editor/process/GridDisplayProcess.d.ts +0 -16
  416. package/editor/process/GridDisplayProcess.d.ts.map +0 -1
  417. package/editor/process/ObstacleGridDisplayProcess.d.ts +0 -13
  418. package/editor/process/ObstacleGridDisplayProcess.d.ts.map +0 -1
  419. package/editor/process/ParticleEmitterRebuildProcess.d.ts +0 -66
  420. package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +0 -1
  421. package/editor/process/ProcessEngine.d.ts +0 -30
  422. package/editor/process/ProcessEngine.d.ts.map +0 -1
  423. package/editor/process/SymbolicDisplayProcess.d.ts +0 -19
  424. package/editor/process/SymbolicDisplayProcess.d.ts.map +0 -1
  425. package/editor/process/symbolic/ComponentSymbolicDisplay.d.ts +0 -11
  426. package/editor/process/symbolic/ComponentSymbolicDisplay.d.ts.map +0 -1
  427. package/editor/process/symbolic/SymbolicDisplayInternalAPI.d.ts +0 -68
  428. package/editor/process/symbolic/SymbolicDisplayInternalAPI.d.ts.map +0 -1
  429. package/editor/process/symbolic/buildThreeJSHelperEntity.d.ts +0 -9
  430. package/editor/process/symbolic/buildThreeJSHelperEntity.d.ts.map +0 -1
  431. package/editor/process/symbolic/make3DSymbolicDisplay.d.ts +0 -10
  432. package/editor/process/symbolic/make3DSymbolicDisplay.d.ts.map +0 -1
  433. package/editor/process/symbolic/makeCameraSymbolicDisplay.d.ts +0 -7
  434. package/editor/process/symbolic/makeCameraSymbolicDisplay.d.ts.map +0 -1
  435. package/editor/process/symbolic/makeGridPositionSymbolDisplay.d.ts +0 -6
  436. package/editor/process/symbolic/makeGridPositionSymbolDisplay.d.ts.map +0 -1
  437. package/editor/process/symbolic/makeHelperBoxGeometry.d.ts +0 -3
  438. package/editor/process/symbolic/makeHelperBoxGeometry.d.ts.map +0 -1
  439. package/editor/process/symbolic/makeHelperBoxGeometry.js +0 -44
  440. package/editor/process/symbolic/makeHelperSphereGeometry.d.ts +0 -9
  441. package/editor/process/symbolic/makeHelperSphereGeometry.d.ts.map +0 -1
  442. package/editor/process/symbolic/makeHelperSphereGeometry.js +0 -73
  443. package/editor/process/symbolic/makeLightSymbolicDisplay.d.ts +0 -7
  444. package/editor/process/symbolic/makeLightSymbolicDisplay.d.ts.map +0 -1
  445. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.d.ts +0 -6
  446. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.d.ts.map +0 -1
  447. package/editor/process/symbolic/makePathSymbolicDisplay.d.ts +0 -7
  448. package/editor/process/symbolic/makePathSymbolicDisplay.d.ts.map +0 -1
  449. package/editor/process/symbolic/makePositionedIconDisplaySymbol.d.ts +0 -9
  450. package/editor/process/symbolic/makePositionedIconDisplaySymbol.d.ts.map +0 -1
  451. package/editor/process/symbolic/makeSocketsSymbolicDisplay.d.ts +0 -7
  452. package/editor/process/symbolic/makeSocketsSymbolicDisplay.d.ts.map +0 -1
  453. package/editor/process/symbolic/makeSolidArrowGeometry.d.ts +0 -26
  454. package/editor/process/symbolic/makeSolidArrowGeometry.d.ts.map +0 -1
  455. package/editor/process/symbolic/makeSoundEmitterSymbolicDisplay.d.ts +0 -6
  456. package/editor/process/symbolic/makeSoundEmitterSymbolicDisplay.d.ts.map +0 -1
  457. package/editor/process/symbolic/synchronizeTransform.d.ts +0 -12
  458. package/editor/process/symbolic/synchronizeTransform.d.ts.map +0 -1
  459. package/editor/templates/entity_templates.d.ts +0 -19
  460. package/editor/templates/entity_templates.d.ts.map +0 -1
  461. package/editor/tools/GridPaintTool.d.ts +0 -18
  462. package/editor/tools/GridPaintTool.d.ts.map +0 -1
  463. package/editor/tools/SelectionTool.d.ts +0 -26
  464. package/editor/tools/SelectionTool.d.ts.map +0 -1
  465. package/editor/tools/engine/Tool.d.ts +0 -88
  466. package/editor/tools/engine/Tool.d.ts.map +0 -1
  467. package/editor/tools/engine/ToolEngine.d.ts +0 -22
  468. package/editor/tools/engine/ToolEngine.d.ts.map +0 -1
  469. package/editor/tools/engine/ToolState.d.ts +0 -7
  470. package/editor/tools/engine/ToolState.d.ts.map +0 -1
  471. package/editor/tools/paint/TerrainHeightPaintTool.d.ts +0 -18
  472. package/editor/tools/paint/TerrainHeightPaintTool.d.ts.map +0 -1
  473. package/editor/tools/paint/TerrainPaintTool.d.ts +0 -82
  474. package/editor/tools/paint/TerrainPaintTool.d.ts.map +0 -1
  475. package/editor/tools/paint/TerrainTexturePaintTool.d.ts +0 -19
  476. package/editor/tools/paint/TerrainTexturePaintTool.d.ts.map +0 -1
  477. package/editor/view/ecs/ComponentControlView.d.ts +0 -24
  478. package/editor/view/ecs/ComponentControlView.d.ts.map +0 -1
  479. package/editor/view/ecs/EntityEditor.d.ts +0 -25
  480. package/editor/view/ecs/EntityEditor.d.ts.map +0 -1
  481. package/editor/view/ecs/HierarchicalEntityListView.d.ts +0 -25
  482. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +0 -1
  483. package/editor/view/library/MeshLibraryView.d.ts +0 -17
  484. package/editor/view/library/MeshLibraryView.d.ts.map +0 -1
  485. package/editor/view/particles/ColorLutGradientView.d.ts +0 -19
  486. package/editor/view/particles/ColorLutGradientView.d.ts.map +0 -1
  487. package/editor/view/particles/ScalarLutCurveView.d.ts +0 -19
  488. package/editor/view/particles/ScalarLutCurveView.d.ts.map +0 -1
  489. package/editor/view/prepareMeshLibrary.d.ts +0 -7
  490. package/editor/view/prepareMeshLibrary.d.ts.map +0 -1
  491. package/editor/view/shell/EditorShellView.d.ts +0 -18
  492. package/editor/view/shell/EditorShellView.d.ts.map +0 -1
  493. package/editor/view/shell/SceneTreePanelView.d.ts +0 -17
  494. package/editor/view/shell/SceneTreePanelView.d.ts.map +0 -1
  495. package/editor/view/shell/ViewportPanelView.d.ts +0 -18
  496. package/editor/view/shell/ViewportPanelView.d.ts.map +0 -1
  497. package/editor/view/tools/ToolSettingsView.d.ts +0 -22
  498. package/editor/view/tools/ToolSettingsView.d.ts.map +0 -1
  499. package/editor/view/tools/ToolView.d.ts +0 -13
  500. package/editor/view/tools/ToolView.d.ts.map +0 -1
  501. package/samples/generation/grid/GridTags.d.ts +0 -16
  502. package/samples/generation/grid/GridTags.d.ts.map +0 -1
  503. package/samples/generation/grid/MirGridLayers.d.ts +0 -8
  504. package/samples/generation/grid/MirGridLayers.d.ts.map +0 -1
  505. package/samples/generation/rules/matcher_tag_occupied.d.ts +0 -3
  506. package/samples/generation/rules/matcher_tag_occupied.d.ts.map +0 -1
  507. package/samples/generation/rules/matcher_tag_traversable.d.ts +0 -3
  508. package/samples/generation/rules/matcher_tag_traversable.d.ts.map +0 -1
  509. package/samples/generation/rules/matcher_tag_unoccupied.d.ts +0 -3
  510. package/samples/generation/rules/matcher_tag_unoccupied.d.ts.map +0 -1
  511. package/samples/terrain/main.js +0 -115
  512. package/src/avif/emscripten-types.d.ts +0 -137
  513. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_buffer_geometry.d.ts +0 -10
  514. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_buffer_geometry.d.ts.map +0 -1
  515. package/src/core/geom/3d/tetrahedra/graphics/build_tetrahedral_mesh_buffer_geometry.js +0 -25
  516. package/src/core/geom/3d/topology/three/bt_mesh_from_three_buffer_geometry.d.ts +0 -20
  517. package/src/core/geom/3d/topology/three/bt_mesh_from_three_buffer_geometry.d.ts.map +0 -1
  518. package/src/core/geom/3d/topology/three/bt_mesh_from_three_buffer_geometry.js +0 -38
  519. package/src/core/geom/3d/topology/three/bt_mesh_to_three_buffer_geometry.d.ts +0 -22
  520. package/src/core/geom/3d/topology/three/bt_mesh_to_three_buffer_geometry.d.ts.map +0 -1
  521. package/src/core/geom/3d/topology/three/bt_mesh_to_three_buffer_geometry.js +0 -50
  522. package/src/engine/asset/loaders/material/StaticMaterialCache.d.ts +0 -31
  523. package/src/engine/asset/loaders/material/StaticMaterialCache.d.ts.map +0 -1
  524. package/src/engine/asset/loaders/material/StaticMaterialCache.js +0 -82
  525. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.d.ts +0 -6
  526. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.d.ts.map +0 -1
  527. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.js +0 -136
  528. package/src/engine/asset/loaders/material/TextureAttachment.d.ts +0 -23
  529. package/src/engine/asset/loaders/material/TextureAttachment.d.ts.map +0 -1
  530. package/src/engine/asset/loaders/material/TextureAttachment.js +0 -25
  531. package/src/engine/asset/loaders/material/TextureCoalescer.d.ts +0 -32
  532. package/src/engine/asset/loaders/material/TextureCoalescer.d.ts.map +0 -1
  533. package/src/engine/asset/loaders/material/TextureCoalescer.js +0 -68
  534. package/src/engine/asset/loaders/material/bitmap2sampler_gl.d.ts +0 -8
  535. package/src/engine/asset/loaders/material/bitmap2sampler_gl.d.ts.map +0 -1
  536. package/src/engine/asset/loaders/material/bitmap2sampler_gl.js +0 -25
  537. package/src/engine/asset/loaders/material/computeHashColor.d.ts +0 -6
  538. package/src/engine/asset/loaders/material/computeHashColor.d.ts.map +0 -1
  539. package/src/engine/asset/loaders/material/computeHashColor.js +0 -7
  540. package/src/engine/asset/loaders/material/computeImageBitmapEquality.d.ts +0 -15
  541. package/src/engine/asset/loaders/material/computeImageBitmapEquality.d.ts.map +0 -1
  542. package/src/engine/asset/loaders/material/computeImageBitmapEquality.js +0 -118
  543. package/src/engine/asset/loaders/material/computeImageBitmapHash.d.ts +0 -7
  544. package/src/engine/asset/loaders/material/computeImageBitmapHash.d.ts.map +0 -1
  545. package/src/engine/asset/loaders/material/computeImageBitmapHash.js +0 -41
  546. package/src/engine/asset/loaders/material/computeMaterialEquality.d.ts +0 -8
  547. package/src/engine/asset/loaders/material/computeMaterialEquality.d.ts.map +0 -1
  548. package/src/engine/asset/loaders/material/computeMaterialEquality.js +0 -131
  549. package/src/engine/asset/loaders/material/computeMaterialHash.d.ts +0 -7
  550. package/src/engine/asset/loaders/material/computeMaterialHash.d.ts.map +0 -1
  551. package/src/engine/asset/loaders/material/computeMaterialHash.js +0 -72
  552. package/src/engine/asset/loaders/material/computeTextureEquality.d.ts +0 -21
  553. package/src/engine/asset/loaders/material/computeTextureEquality.d.ts.map +0 -1
  554. package/src/engine/asset/loaders/material/computeTextureEquality.js +0 -221
  555. package/src/engine/asset/loaders/material/computeTextureEqualityById.d.ts +0 -8
  556. package/src/engine/asset/loaders/material/computeTextureEqualityById.d.ts.map +0 -1
  557. package/src/engine/asset/loaders/material/computeTextureEqualityById.js +0 -22
  558. package/src/engine/asset/loaders/material/computeTextureHash.d.ts +0 -17
  559. package/src/engine/asset/loaders/material/computeTextureHash.d.ts.map +0 -1
  560. package/src/engine/asset/loaders/material/computeTextureHash.js +0 -167
  561. package/src/engine/asset/loaders/material/planeHash.d.ts +0 -7
  562. package/src/engine/asset/loaders/material/planeHash.d.ts.map +0 -1
  563. package/src/engine/asset/loaders/material/planeHash.js +0 -10
  564. package/src/engine/asset/loaders/material/planesEqual.d.ts +0 -8
  565. package/src/engine/asset/loaders/material/planesEqual.d.ts.map +0 -1
  566. package/src/engine/asset/loaders/material/planesEqual.js +0 -9
  567. package/src/engine/asset/loaders/material/textureHashById.d.ts +0 -7
  568. package/src/engine/asset/loaders/material/textureHashById.d.ts.map +0 -1
  569. package/src/engine/asset/loaders/material/textureHashById.js +0 -12
  570. package/src/engine/asset/loaders/material/traverseMaterialTextures.d.ts +0 -16
  571. package/src/engine/asset/loaders/material/traverseMaterialTextures.d.ts.map +0 -1
  572. package/src/engine/asset/loaders/material/traverseMaterialTextures.js +0 -45
  573. package/src/engine/asset/loaders/texture/TextureAssetLoader.d.ts +0 -6
  574. package/src/engine/asset/loaders/texture/TextureAssetLoader.d.ts.map +0 -1
  575. package/src/engine/asset/loaders/texture/TextureAssetLoader.js +0 -42
  576. package/src/engine/asset/loaders/texture/cloneTexture.d.ts +0 -7
  577. package/src/engine/asset/loaders/texture/cloneTexture.d.ts.map +0 -1
  578. package/src/engine/asset/loaders/texture/cloneTexture.js +0 -13
  579. package/src/engine/asset/loaders/texture/loadStandardImageTexture.d.ts +0 -8
  580. package/src/engine/asset/loaders/texture/loadStandardImageTexture.d.ts.map +0 -1
  581. package/src/engine/asset/loaders/texture/loadStandardImageTexture.js +0 -38
  582. package/src/engine/ecs/animation/AnimationOptimizer.d.ts +0 -15
  583. package/src/engine/ecs/animation/AnimationOptimizer.d.ts.map +0 -1
  584. package/src/engine/ecs/animation/AnimationOptimizer.js +0 -132
  585. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.d.ts +0 -7
  586. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.d.ts.map +0 -1
  587. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.js +0 -217
  588. package/src/engine/graphics/context/WebGLContextFailureReason.d.ts +0 -9
  589. package/src/engine/graphics/context/WebGLContextFailureReason.d.ts.map +0 -1
  590. package/src/engine/graphics/context/WebGLContextFailureReason.js +0 -17
  591. package/src/engine/graphics/context/WebGLContextMonitor.d.ts +0 -106
  592. package/src/engine/graphics/context/WebGLContextMonitor.d.ts.map +0 -1
  593. package/src/engine/graphics/context/WebGLContextMonitor.js +0 -341
  594. package/src/engine/graphics/context/WebGLContextState.d.ts +0 -14
  595. package/src/engine/graphics/context/WebGLContextState.d.ts.map +0 -1
  596. package/src/engine/graphics/context/WebGLContextState.js +0 -24
  597. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.d.ts +0 -231
  598. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.d.ts.map +0 -1
  599. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.js +0 -813
  600. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.d.ts +0 -25
  601. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.d.ts.map +0 -1
  602. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js +0 -62
  603. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +0 -74
  604. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +0 -1
  605. package/src/engine/graphics/ecs/camera/CameraSystem.js +0 -331
  606. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts +0 -10
  607. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +0 -1
  608. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +0 -105
  609. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts +0 -7
  610. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts.map +0 -1
  611. package/src/engine/graphics/ecs/camera/build_three_camera_object.js +0 -29
  612. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts +0 -8
  613. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts.map +0 -1
  614. package/src/engine/graphics/ecs/camera/frustum_from_camera.js +0 -20
  615. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts +0 -9
  616. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts.map +0 -1
  617. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +0 -46
  618. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts +0 -9
  619. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts.map +0 -1
  620. package/src/engine/graphics/ecs/camera/unprojectPoint.js +0 -14
  621. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts +0 -6
  622. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts.map +0 -1
  623. package/src/engine/graphics/ecs/camera/update_camera_transform.js +0 -17
  624. package/src/engine/graphics/geometry/buffered/buffer_attribute_deinterleave.d.ts +0 -8
  625. package/src/engine/graphics/geometry/buffered/buffer_attribute_deinterleave.d.ts.map +0 -1
  626. package/src/engine/graphics/geometry/buffered/buffer_attribute_deinterleave.js +0 -41
  627. package/src/engine/graphics/geometry/buffered/buffer_attribute_denormalize.d.ts +0 -8
  628. package/src/engine/graphics/geometry/buffered/buffer_attribute_denormalize.d.ts.map +0 -1
  629. package/src/engine/graphics/geometry/buffered/buffer_attribute_denormalize.js +0 -66
  630. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.d.ts +0 -9
  631. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.d.ts.map +0 -1
  632. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.js +0 -114
  633. package/src/engine/graphics/material/composeCompile.d.ts +0 -8
  634. package/src/engine/graphics/material/composeCompile.d.ts.map +0 -1
  635. package/src/engine/graphics/material/composeCompile.js +0 -37
  636. package/src/engine/graphics/material/manager/AbstractMaterialTransformer.d.ts +0 -9
  637. package/src/engine/graphics/material/manager/AbstractMaterialTransformer.d.ts.map +0 -1
  638. package/src/engine/graphics/material/manager/AbstractMaterialTransformer.js +0 -10
  639. package/src/engine/graphics/material/manager/ManagedMaterial.d.ts +0 -46
  640. package/src/engine/graphics/material/manager/ManagedMaterial.d.ts.map +0 -1
  641. package/src/engine/graphics/material/manager/ManagedMaterial.js +0 -78
  642. package/src/engine/graphics/material/manager/MaterialManager.d.ts +0 -82
  643. package/src/engine/graphics/material/manager/MaterialManager.d.ts.map +0 -1
  644. package/src/engine/graphics/material/manager/MaterialManager.js +0 -215
  645. package/src/engine/graphics/material/manager/compilers/CoalesceTextures.d.ts +0 -11
  646. package/src/engine/graphics/material/manager/compilers/CoalesceTextures.d.ts.map +0 -1
  647. package/src/engine/graphics/material/manager/compilers/CoalesceTextures.js +0 -25
  648. package/src/engine/graphics/material/optimization/BUFFER_GEOMETRY_UVS.d.ts +0 -5
  649. package/src/engine/graphics/material/optimization/BUFFER_GEOMETRY_UVS.d.ts.map +0 -1
  650. package/src/engine/graphics/material/optimization/BUFFER_GEOMETRY_UVS.js +0 -10
  651. package/src/engine/graphics/material/optimization/MaterialDescriptor.d.ts +0 -15
  652. package/src/engine/graphics/material/optimization/MaterialDescriptor.d.ts.map +0 -1
  653. package/src/engine/graphics/material/optimization/MaterialDescriptor.js +0 -43
  654. package/src/engine/graphics/material/optimization/UvContext.d.ts +0 -14
  655. package/src/engine/graphics/material/optimization/UvContext.d.ts.map +0 -1
  656. package/src/engine/graphics/material/optimization/UvContext.js +0 -16
  657. package/src/engine/graphics/material/optimization/is_compliant_mesh.d.ts +0 -7
  658. package/src/engine/graphics/material/optimization/is_compliant_mesh.d.ts.map +0 -1
  659. package/src/engine/graphics/material/optimization/is_compliant_mesh.js +0 -71
  660. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +0 -67
  661. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts.map +0 -1
  662. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.js +0 -291
  663. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts +0 -11
  664. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts.map +0 -1
  665. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +0 -497
  666. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts +0 -40
  667. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts.map +0 -1
  668. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.js +0 -47
  669. package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.d.ts +0 -21
  670. package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.d.ts.map +0 -1
  671. package/src/engine/graphics/sh3/path_tracer/prepare_scene_gltf.js +0 -109
  672. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.d.ts +0 -7
  673. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.d.ts.map +0 -1
  674. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.js +0 -69
  675. package/src/engine/graphics/shaders/CopyShader.d.ts +0 -16
  676. package/src/engine/graphics/shaders/CopyShader.d.ts.map +0 -1
  677. package/src/engine/graphics/shaders/CopyShader.js +0 -48
  678. package/src/engine/graphics/texture/CheckersTexture.d.ts +0 -11
  679. package/src/engine/graphics/texture/CheckersTexture.d.ts.map +0 -1
  680. package/src/engine/graphics/texture/CheckersTexture.js +0 -25
  681. package/src/engine/graphics/texture/makeOnePixelTexture.d.ts +0 -9
  682. package/src/engine/graphics/texture/makeOnePixelTexture.d.ts.map +0 -1
  683. package/src/engine/graphics/texture/makeOnePixelTexture.js +0 -21
  684. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts +0 -7
  685. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts.map +0 -1
  686. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.js +0 -40
  687. package/src/engine/graphics/texture/whitePixelTexture.d.ts +0 -6
  688. package/src/engine/graphics/texture/whitePixelTexture.d.ts.map +0 -1
  689. package/src/engine/graphics/texture/whitePixelTexture.js +0 -9
  690. package/src/engine/graphics/three/ThreeFactory.d.ts +0 -36
  691. package/src/engine/graphics/three/ThreeFactory.d.ts.map +0 -1
  692. package/src/engine/graphics/three/ThreeFactory.js +0 -70
  693. package/src/engine/graphics/three/cloneObject3D.d.ts +0 -7
  694. package/src/engine/graphics/three/cloneObject3D.d.ts.map +0 -1
  695. package/src/engine/graphics/three/cloneObject3D.js +0 -70
  696. package/src/engine/graphics/three/compare_three_objects.d.ts +0 -7
  697. package/src/engine/graphics/three/compare_three_objects.d.ts.map +0 -1
  698. package/src/engine/graphics/three/compare_three_objects.js +0 -8
  699. package/src/engine/graphics/three/expand_aabb_by_transformed_three_object.d.ts +0 -8
  700. package/src/engine/graphics/three/expand_aabb_by_transformed_three_object.d.ts.map +0 -1
  701. package/src/engine/graphics/three/expand_aabb_by_transformed_three_object.js +0 -46
  702. package/src/engine/graphics/three/material/iterate_three_material_textures.d.ts +0 -10
  703. package/src/engine/graphics/three/material/iterate_three_material_textures.d.ts.map +0 -1
  704. package/src/engine/graphics/three/material/iterate_three_material_textures.js +0 -33
  705. package/src/engine/graphics/three/three_object_replace_materials.d.ts +0 -7
  706. package/src/engine/graphics/three/three_object_replace_materials.d.ts.map +0 -1
  707. package/src/engine/graphics/three/three_object_replace_materials.js +0 -13
  708. package/src/engine/graphics/util/promiseMaterialLoaded.d.ts +0 -7
  709. package/src/engine/graphics/util/promiseMaterialLoaded.d.ts.map +0 -1
  710. package/src/engine/graphics/util/promiseMaterialLoaded.js +0 -28
  711. package/src/engine/graphics/util/promiseTextureLoaded.d.ts +0 -7
  712. package/src/engine/graphics/util/promiseTextureLoaded.d.ts.map +0 -1
  713. package/src/engine/graphics/util/promiseTextureLoaded.js +0 -31
  714. package/src/view/minimap/gl/MinimapTerrainGL.d.ts +0 -25
  715. package/src/view/minimap/gl/MinimapTerrainGL.d.ts.map +0 -1
  716. package/src/view/minimap/gl/MinimapTerrainGL.js +0 -188
  717. package/src/view/minimap/gl/buildMaterial.d.ts +0 -7
  718. package/src/view/minimap/gl/buildMaterial.d.ts.map +0 -1
  719. package/src/view/minimap/gl/buildMaterial.js +0 -94
@@ -1,265 +1,289 @@
1
- import { assert } from "../../core/assert.js";
2
- import { FramePhase } from "../../shade/renderer/extension/FramePhase.js";
3
- import { RenderExtension } from "../../shade/renderer/extension/RenderExtension.js";
4
- import { SceneColor } from "../../shade/renderer/extension/SceneColor.js";
5
- import { ViewTextures } from "../../shade/renderer/extension/ViewTextures.js";
6
- import { ImageRGBADataLoader } from "../asset/loaders/image/ImageRGBADataLoader.js";
7
- import { System } from "../ecs/System.js";
8
- import { Transform } from "../ecs/transform/Transform.js";
9
- import { MaterialManager } from "../graphics/material/manager/MaterialManager.js";
10
- import { ParticleEmitter } from "../graphics/particles/particular/engine/emitter/ParticleEmitter.js";
11
- import { ParticleEmitterFlag } from "../graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js";
12
- import { ParticularEngine } from "../graphics/particles/particular/engine/ParticularEngine.js";
13
- import { GPUParticularRenderer } from "./particles/GPUParticularRenderer.js";
14
-
15
- /**
16
- * Draws the game's particle effects under Shade.
17
- *
18
- * **The simulation does not move.** `particular` emits, ages, integrates and colours particles on
19
- * the CPU, and that is where it stays: the plan makes Shade's GPU particle system a later, opt-in
20
- * upgrade rather than this port. What changes is only what happens to the state it produces each
21
- * frame instead of a three `Points` object per emitter, it is packed into the layout Shade's own
22
- * billboard renderer reads.
23
- *
24
- * **No visibility layer comes across.** The legacy system drives a render layer backed by a BVH and
25
- * puts emitters to sleep when they leave the visible set; §4.5 retires CPU render culling, so every
26
- * linked emitter simulates and the GPU decides what is on screen. An emitter that should not
27
- * simulate says so itself, through {@link ParticleEmitterFlag.Emitting}.
28
- */
29
- export class ParticleEmitterSystem3 extends System {
30
- dependencies = [ParticleEmitter, Transform];
31
-
32
- /**
33
- * @type {GraphicsEngine3}
34
- */
35
- #graphics;
36
-
37
- /**
38
- * @type {AssetManager}
39
- */
40
- #assets;
41
-
42
- /**
43
- * @type {ParticularEngine}
44
- */
45
- #engine;
46
-
47
- /**
48
- * @type {GPUParticularRenderer}
49
- */
50
- #renderer = new GPUParticularRenderer();
51
-
52
- /**
53
- * The emitters to simulate and draw, in link order.
54
- *
55
- * @type {ParticleEmitter[]}
56
- */
57
- #emitters = [];
58
-
59
- /**
60
- * @type {Map<number, {emitter: ParticleEmitter, position: Function, rotation: Function, scale: Function}>}
61
- */
62
- #entries = new Map();
63
-
64
- /**
65
- * @type {RenderExtension|null}
66
- */
67
- #extension = null;
68
-
69
- /**
70
- * What the pass draws. Read-only — the emitters follow the entities.
71
- *
72
- * @returns {ParticleEmitter[]}
73
- */
74
- get emitters() {
75
- return this.#emitters;
76
- }
77
-
78
- /**
79
- * @param {GraphicsEngine3} graphics
80
- * @param {AssetManager} assets
81
- */
82
- constructor(graphics, assets) {
83
- super();
84
-
85
- assert.defined(graphics, 'graphics');
86
- assert.defined(assets, 'assets');
87
-
88
- this.#graphics = graphics;
89
- this.#assets = assets;
90
-
91
- /*
92
- The material manager is a carrier, not a consumer: `ShaderManager` is where the sprite atlas
93
- lives the part this system needs — and it builds a three `ShaderMaterial` per emitter on
94
- the way past. Those materials are never drawn and never updated here, which is the same
95
- situation `FogOfWar` is in with the `DataTexture` it builds; Phase 6 deletes both.
96
- */
97
- this.#engine = new ParticularEngine(assets, new MaterialManager());
98
- }
99
-
100
- async startup(entityManager) {
101
- this.entityManager = entityManager;
102
-
103
- this.#extension = this.#graphics.add_extension(new ParticleExtension(this));
104
-
105
- const assets = this.#assets;
106
-
107
- if (!assets.hasLoaderForType('image')) {
108
- await assets.registerLoader('image', new ImageRGBADataLoader());
109
- }
110
- }
111
-
112
- async shutdown(entityManager) {
113
- if (this.#extension !== null) {
114
- this.#graphics.remove_extension(this.#extension);
115
-
116
- this.#extension = null;
117
- }
118
-
119
- this.#renderer.destroy();
120
-
121
- // every emitter has been unlinked by this point — both teardown paths detach the dataset or
122
- // remove the system observer first — so what is left is the shared sprite atlas
123
- this.#engine.dispose();
124
-
125
- this.#emitters.length = 0;
126
- this.#entries.clear();
127
- }
128
-
129
- /**
130
- * @param {ParticleEmitter} emitter
131
- * @param {Transform} transform
132
- * @param {number} entity
133
- */
134
- link(emitter, transform, entity) {
135
- const position = (x, y, z) => emitter.position.set(x, y, z);
136
- const rotation = (x, y, z, w) => emitter.rotation.set(x, y, z, w);
137
- const scale = (x, y, z) => emitter.scale.set(x, y, z);
138
-
139
- transform.position.process(position);
140
- transform.rotation.process(rotation);
141
- transform.scale.process(scale);
142
-
143
- this.#entries.set(entity, { emitter, position, rotation, scale });
144
-
145
- emitter.id = entity;
146
-
147
- /*
148
- Awake from the start. The legacy system links emitters asleep and lets its visibility layer
149
- wake them; there is no such layer here, and an emitter that never wakes never emits.
150
- */
151
- emitter.clearFlag(ParticleEmitterFlag.Sleeping);
152
-
153
- this.#engine.add(emitter);
154
-
155
- this.#emitters.push(emitter);
156
- }
157
-
158
- /**
159
- * @param {ParticleEmitter} emitter
160
- * @param {Transform} transform
161
- * @param {number} entity
162
- */
163
- unlink(emitter, transform, entity) {
164
- const entry = this.#entries.get(entity);
165
-
166
- if (entry === undefined) {
167
- return;
168
- }
169
-
170
- transform.position.onChanged.remove(entry.position);
171
- transform.rotation.onChanged.remove(entry.rotation);
172
- transform.scale.onChanged.remove(entry.scale);
173
-
174
- this.#entries.delete(entity);
175
-
176
- const index = this.#emitters.indexOf(emitter);
177
-
178
- if (index !== -1) {
179
- this.#emitters.splice(index, 1);
180
- }
181
-
182
- this.#engine.remove(emitter);
183
-
184
- emitter.dispose();
185
- }
186
-
187
- update(timeDelta) {
188
- this.#engine.advance(timeDelta);
189
-
190
- const emitters = this.#emitters;
191
-
192
- for (let i = 0; i < emitters.length; i++) {
193
- // retires dead particles and compacts the pool, which is what makes the live ones a
194
- // contiguous run for the packer
195
- emitters[i].update();
196
- }
197
-
198
- // repacks the sprite atlas when an effect has brought a new sprite in
199
- this.#engine.shaderManager.spriteAtlas.atlas.update();
200
- }
201
-
202
- /**
203
- * @param {FrameContext} frame
204
- */
205
- record(frame) {
206
- const emitters = this.#emitters;
207
-
208
- if (emitters.length === 0) {
209
- return;
210
- }
211
-
212
- const camera_context = frame.view.camera;
213
-
214
- // the camera's world transform, whose first two columns are the axes a billboard is built on
215
- const m = camera_context.camera.transform.matrix;
216
-
217
- /*
218
- The particles are packed and uploaded inside the pass rather than here: that needs a
219
- `GraphicsContext`, which the frame graph hands out at execution time and the frame does not
220
- carry. So the pass is recorded whether or not anything is alive, and draws nothing when
221
- nothing is — which leaves the frame's colour exactly as it was either way.
222
- */
223
- const scene = frame.get(SceneColor);
224
-
225
- scene.color = this.#renderer.graph_draw({
226
- graph: frame.graph,
227
- color: scene.color,
228
- depth: frame.get(ViewTextures).depth,
229
- camera: camera_context.buffer,
230
- emitters,
231
- atlas: this.#engine.shaderManager.spriteAtlas.atlas.sampler,
232
- camera_position: [m[12], m[13], m[14]],
233
- camera_right: [m[0], m[1], m[2]],
234
- camera_up: [m[4], m[5], m[6]]
235
- });
236
- }
237
- }
238
-
239
- /**
240
- * Emitters draw into the scene, so they are subject to the fog of war that conceals it — which is
241
- * a declaration on the fog rather than a placement here.
242
- */
243
- export class ParticleExtension extends RenderExtension {
244
- name = "particles";
245
-
246
- phase = FramePhase.AfterTransparency;
247
-
248
- /**
249
- * @type {ParticleEmitterSystem3}
250
- */
251
- #system;
252
-
253
- /**
254
- * @param {ParticleEmitterSystem3} system
255
- */
256
- constructor(system) {
257
- super();
258
-
259
- this.#system = system;
260
- }
261
-
262
- record(frame) {
263
- this.#system.record(frame);
264
- }
265
- }
1
+ import { assert } from "../../core/assert.js";
2
+ import { FramePhase } from "../../shade/renderer/extension/FramePhase.js";
3
+ import { RenderExtension } from "../../shade/renderer/extension/RenderExtension.js";
4
+ import { SceneColor } from "../../shade/renderer/extension/SceneColor.js";
5
+ import { ViewTextures } from "../../shade/renderer/extension/ViewTextures.js";
6
+ import { ImageRGBADataLoader } from "../asset/loaders/image/ImageRGBADataLoader.js";
7
+ import { System } from "../ecs/System.js";
8
+ import { Transform } from "../ecs/transform/Transform.js";
9
+ import { ParticleEmitter } from "../graphics/particles/particular/engine/emitter/ParticleEmitter.js";
10
+ import { ParticleEmitterFlag } from "../graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js";
11
+ import { ParticularEngine } from "../graphics/particles/particular/engine/ParticularEngine.js";
12
+ import { GPUParticularRenderer } from "./particles/GPUParticularRenderer.js";
13
+
14
+ /**
15
+ * Draws the game's particle effects under Shade.
16
+ *
17
+ * **The simulation does not move.** `particular` emits, ages, integrates and colours particles on
18
+ * the CPU, and that is where it stays: the plan makes Shade's GPU particle system a later, opt-in
19
+ * upgrade rather than this port. What changes is only what happens to the state it produces each
20
+ * frame instead of a three `Points` object per emitter, it is packed into the layout Shade's own
21
+ * billboard renderer reads.
22
+ *
23
+ * **No visibility layer comes across.** The legacy system drives a render layer backed by a BVH and
24
+ * puts emitters to sleep when they leave the visible set; §4.5 retires CPU render culling, so every
25
+ * linked emitter simulates and the GPU decides what is on screen. An emitter that should not
26
+ * simulate says so itself, through {@link ParticleEmitterFlag.Emitting}.
27
+ */
28
+ export class ParticleEmitterSystem3 extends System {
29
+ dependencies = [ParticleEmitter, Transform];
30
+
31
+ /**
32
+ * @type {GraphicsEngine3}
33
+ */
34
+ #graphics;
35
+
36
+ /**
37
+ * @type {AssetManager}
38
+ */
39
+ #assets;
40
+
41
+ /**
42
+ * @type {ParticularEngine}
43
+ */
44
+ #engine;
45
+
46
+ /**
47
+ * @type {GPUParticularRenderer}
48
+ */
49
+ #renderer = new GPUParticularRenderer();
50
+
51
+ /**
52
+ * The emitters to simulate and draw, in link order.
53
+ *
54
+ * @type {ParticleEmitter[]}
55
+ */
56
+ #emitters = [];
57
+
58
+ /**
59
+ * @type {Map<number, {emitter: ParticleEmitter, position: Function, rotation: Function, scale: Function}>}
60
+ */
61
+ #entries = new Map();
62
+
63
+ /**
64
+ * @type {RenderExtension|null}
65
+ */
66
+ #extension = null;
67
+
68
+ /**
69
+ * What the pass draws. Read-only — the emitters follow the entities.
70
+ *
71
+ * @returns {ParticleEmitter[]}
72
+ */
73
+ get emitters() {
74
+ return this.#emitters;
75
+ }
76
+
77
+ /**
78
+ * @param {GraphicsEngine3} graphics
79
+ * @param {AssetManager} assets
80
+ */
81
+ constructor(graphics, assets) {
82
+ super();
83
+
84
+ assert.defined(graphics, 'graphics');
85
+ assert.defined(assets, 'assets');
86
+
87
+ this.#graphics = graphics;
88
+ this.#assets = assets;
89
+
90
+ this.#engine = new ParticularEngine(assets);
91
+ }
92
+
93
+ async startup(entityManager) {
94
+ this.entityManager = entityManager;
95
+
96
+ this.#extension = this.#graphics.add_extension(new ParticleExtension(this));
97
+
98
+ const assets = this.#assets;
99
+
100
+ if (!assets.hasLoaderForType('image')) {
101
+ await assets.registerLoader('image', new ImageRGBADataLoader());
102
+ }
103
+ }
104
+
105
+ async shutdown(entityManager) {
106
+ if (this.#extension !== null) {
107
+ this.#graphics.remove_extension(this.#extension);
108
+
109
+ this.#extension = null;
110
+ }
111
+
112
+ this.#renderer.destroy();
113
+
114
+ // every emitter has been unlinked by this point — both teardown paths detach the dataset or
115
+ // remove the system observer first — so what is left is the shared sprite atlas
116
+ this.#engine.dispose();
117
+
118
+ this.#emitters.length = 0;
119
+ this.#entries.clear();
120
+ }
121
+
122
+ /**
123
+ * @param {ParticleEmitter} emitter
124
+ * @param {Transform} transform
125
+ * @param {number} entity
126
+ */
127
+ link(emitter, transform, entity) {
128
+ const position = (x, y, z) => emitter.position.set(x, y, z);
129
+ const rotation = (x, y, z, w) => emitter.rotation.set(x, y, z, w);
130
+ const scale = (x, y, z) => emitter.scale.set(x, y, z);
131
+
132
+ transform.position.process(position);
133
+ transform.rotation.process(rotation);
134
+ transform.scale.process(scale);
135
+
136
+ this.#entries.set(entity, { emitter, position, rotation, scale });
137
+
138
+ emitter.id = entity;
139
+
140
+ /*
141
+ Awake from the start. The legacy system links emitters asleep and lets its visibility layer
142
+ wake them; there is no such layer here, and an emitter that never wakes never emits.
143
+ */
144
+ emitter.clearFlag(ParticleEmitterFlag.Sleeping);
145
+
146
+ this.#engine.add(emitter);
147
+
148
+ this.#emitters.push(emitter);
149
+ }
150
+
151
+ /**
152
+ * Rebuild an emitter that has been edited structurally — layers added or removed, a sprite
153
+ * changed, a parameter curve redrawn.
154
+ *
155
+ * The pool, the parameter tracks and the atlas references are all built from the emitter's
156
+ * description, so an edit to that description is only visible once they are built again. Sleep
157
+ * state is preserved because it is the editor's, not the emitter's.
158
+ *
159
+ * @param {ParticleEmitter} emitter one this system has linked
160
+ */
161
+ rebuild(emitter) {
162
+ assert.ok(this.#emitters.includes(emitter), 'emitter is not linked to this system');
163
+
164
+ const engine = this.#engine;
165
+
166
+ const sleeping = emitter.getFlag(ParticleEmitterFlag.Sleeping);
167
+
168
+ engine.remove(emitter);
169
+
170
+ emitter.clearFlag(ParticleEmitterFlag.Built | ParticleEmitterFlag.Initialized);
171
+
172
+ emitter.registerLayerParameters();
173
+ emitter.build();
174
+ emitter.initialize();
175
+ emitter.computeBoundingBox();
176
+
177
+ engine.add(emitter);
178
+
179
+ emitter.writeFlag(ParticleEmitterFlag.Sleeping, sleeping);
180
+ }
181
+
182
+ /**
183
+ * @param {ParticleEmitter} emitter
184
+ * @param {Transform} transform
185
+ * @param {number} entity
186
+ */
187
+ unlink(emitter, transform, entity) {
188
+ const entry = this.#entries.get(entity);
189
+
190
+ if (entry === undefined) {
191
+ return;
192
+ }
193
+
194
+ transform.position.onChanged.remove(entry.position);
195
+ transform.rotation.onChanged.remove(entry.rotation);
196
+ transform.scale.onChanged.remove(entry.scale);
197
+
198
+ this.#entries.delete(entity);
199
+
200
+ const index = this.#emitters.indexOf(emitter);
201
+
202
+ if (index !== -1) {
203
+ this.#emitters.splice(index, 1);
204
+ }
205
+
206
+ this.#engine.remove(emitter);
207
+
208
+ emitter.dispose();
209
+ }
210
+
211
+ update(timeDelta) {
212
+ this.#engine.advance(timeDelta);
213
+
214
+ const emitters = this.#emitters;
215
+
216
+ for (let i = 0; i < emitters.length; i++) {
217
+ // retires dead particles and compacts the pool, which is what makes the live ones a
218
+ // contiguous run for the packer
219
+ emitters[i].update();
220
+ }
221
+
222
+ // repacks the sprite atlas when an effect has brought a new sprite in
223
+ this.#engine.shaderManager.spriteAtlas.atlas.update();
224
+ }
225
+
226
+ /**
227
+ * @param {FrameContext} frame
228
+ */
229
+ record(frame) {
230
+ const emitters = this.#emitters;
231
+
232
+ if (emitters.length === 0) {
233
+ return;
234
+ }
235
+
236
+ const camera_context = frame.view.camera;
237
+
238
+ // the camera's world transform, whose first two columns are the axes a billboard is built on
239
+ const m = camera_context.camera.transform.matrix;
240
+
241
+ /*
242
+ The particles are packed and uploaded inside the pass rather than here: that needs a
243
+ `GraphicsContext`, which the frame graph hands out at execution time and the frame does not
244
+ carry. So the pass is recorded whether or not anything is alive, and draws nothing when
245
+ nothing is — which leaves the frame's colour exactly as it was either way.
246
+ */
247
+ const scene = frame.get(SceneColor);
248
+
249
+ scene.color = this.#renderer.graph_draw({
250
+ graph: frame.graph,
251
+ color: scene.color,
252
+ depth: frame.get(ViewTextures).depth,
253
+ camera: camera_context.buffer,
254
+ emitters,
255
+ atlas: this.#engine.shaderManager.spriteAtlas.atlas.sampler,
256
+ camera_position: [m[12], m[13], m[14]],
257
+ camera_right: [m[0], m[1], m[2]],
258
+ camera_up: [m[4], m[5], m[6]]
259
+ });
260
+ }
261
+ }
262
+
263
+ /**
264
+ * Emitters draw into the scene, so they are subject to the fog of war that conceals it — which is
265
+ * a declaration on the fog rather than a placement here.
266
+ */
267
+ export class ParticleExtension extends RenderExtension {
268
+ name = "particles";
269
+
270
+ phase = FramePhase.AfterTransparency;
271
+
272
+ /**
273
+ * @type {ParticleEmitterSystem3}
274
+ */
275
+ #system;
276
+
277
+ /**
278
+ * @param {ParticleEmitterSystem3} system
279
+ */
280
+ constructor(system) {
281
+ super();
282
+
283
+ this.#system = system;
284
+ }
285
+
286
+ record(frame) {
287
+ this.#system.record(frame);
288
+ }
289
+ }
@@ -6,9 +6,9 @@
6
6
  * projects every tracked entity through the result. That is three's spelling, and it is baked into
7
7
  * gameplay code the migration is not rewriting yet.
8
8
  *
9
- * **Nothing is converted.** Shade keeps `projection_matrix` and `view_matrix` as gl-matrix `mat4` —
10
- * column-major `Float32Array(16)`, which is exactly what three's `.elements` already is — so the
11
- * two are handed over as they stand, no copy and no per-frame work. Phase 1.5 measured the result:
9
+ * **Nothing is converted.** Shade keeps `projection_matrix` and `view_matrix` as column-major
10
+ * `Float32Array(16)`, which is exactly what three's `.elements` already is — so the two are handed
11
+ * over as they stand, no copy and no per-frame work. Phase 1.5 measured the result:
12
12
  * HUD viewport positions matched three's to four decimal places across scattered world points.
13
13
  *
14
14
  * The matrices are held by reference because Shade allocates them once and writes into them; a
@@ -6,9 +6,9 @@
6
6
  * projects every tracked entity through the result. That is three's spelling, and it is baked into
7
7
  * gameplay code the migration is not rewriting yet.
8
8
  *
9
- * **Nothing is converted.** Shade keeps `projection_matrix` and `view_matrix` as gl-matrix `mat4` —
10
- * column-major `Float32Array(16)`, which is exactly what three's `.elements` already is — so the
11
- * two are handed over as they stand, no copy and no per-frame work. Phase 1.5 measured the result:
9
+ * **Nothing is converted.** Shade keeps `projection_matrix` and `view_matrix` as column-major
10
+ * `Float32Array(16)`, which is exactly what three's `.elements` already is — so the two are handed
11
+ * over as they stand, no copy and no per-frame work. Phase 1.5 measured the result:
12
12
  * HUD viewport positions matched three's to four decimal places across scattered world points.
13
13
  *
14
14
  * The matrices are held by reference because Shade allocates them once and writes into them; a
@@ -226,7 +226,7 @@ export class WaterSystem3 extends System {
226
226
  past the terrain the height map clamps — which is what lets the shore line continue instead
227
227
  of stopping at the boundary.
228
228
 
229
- `Water.updateShaderForTerrain` states the same thing as a UV transform,
229
+ The three path stated the same thing as a UV transform,
230
230
  `(uv - 0.25) * (WATER_SIZE / terrain_size)`, and the two agree by construction: world
231
231
  position is `(u - 0.25) * WATER_SIZE`, and terrain uv is that over the terrain's own size.
232
232
  */
@@ -2,8 +2,8 @@
2
2
  * Point a Shade camera at whatever an entity's transform says.
3
3
  *
4
4
  * **There is no inversion here, and that is the whole content of this function.** Driving a three
5
- * camera requires one — `three_camera_set_transform_rotation` inverts the orientation, with a
6
- * comment saying three's camera points the opposite way to a normal object. Shade takes the object
5
+ * camera required one — the legacy camera system inverted the orientation, on the grounds that
6
+ * three's camera points the opposite way to a normal object. Shade takes the object
7
7
  * convention instead: forward *is* the viewing direction. Phase 1.5 measured that rather than
8
8
  * assuming it — with the orientation `Transform.lookAt` produces, 64 of 64 instances landed inside
9
9
  * Shade's frustum, and inverted, 0 of 64.
@@ -4,8 +4,8 @@ import { assert } from "../../core/assert.js";
4
4
  * Point a Shade camera at whatever an entity's transform says.
5
5
  *
6
6
  * **There is no inversion here, and that is the whole content of this function.** Driving a three
7
- * camera requires one — `three_camera_set_transform_rotation` inverts the orientation, with a
8
- * comment saying three's camera points the opposite way to a normal object. Shade takes the object
7
+ * camera required one — the legacy camera system inverted the orientation, on the grounds that
8
+ * three's camera points the opposite way to a normal object. Shade takes the object
9
9
  * convention instead: forward *is* the viewing direction. Phase 1.5 measured that rather than
10
10
  * assuming it — with the orientation `Transform.lookAt` produces, 64 of 64 instances landed inside
11
11
  * Shade's frustum, and inverted, 0 of 64.
@@ -1,4 +1,4 @@
1
- import { mat4 } from "gl-matrix";
1
+ import { m4_invert } from "../../core/geom/3d/mat4/m4_invert.js";
2
2
  import { v3_matrix4_multiply } from "../../core/geom/vec3/v3_matrix4_multiply.js";
3
3
 
4
4
  /**
@@ -51,7 +51,7 @@ const SAMPLE_DEPTH = 0.5;
51
51
  * @param {Vector3} out_direction written with a unit direction
52
52
  */
53
53
  export function shade_camera_projection_ray(camera, x, y, out_source, out_direction) {
54
- mat4.invert(SCRATCH_INVERSE, camera.view_projection_matrix);
54
+ m4_invert(SCRATCH_INVERSE, camera.view_projection_matrix);
55
55
 
56
56
  SCRATCH_CLIP[0] = x;
57
57
  SCRATCH_CLIP[1] = y;