@woosh/meep-engine 2.168.1 → 2.169.1

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 (624) hide show
  1. package/README.md +2 -2
  2. package/build/bundle-worker-image-decoder.js +1 -1
  3. package/editor/process/symbolic/make3DSymbolicDisplay.js +1 -1
  4. package/editor/view/ecs/EntityList.js +1 -1
  5. package/editor/view/ecs/components/particles/ParticleLayerController.js +1 -1
  6. package/editor/view/makeEntityDecorators.js +1 -1
  7. package/package.json +1 -1
  8. package/src/REVIEW_2026_08_06/adv-core.md +511 -0
  9. package/src/REVIEW_2026_08_06/adv-gfx.md +480 -0
  10. package/src/REVIEW_2026_08_06/adv-view.md +446 -0
  11. package/src/REVIEW_2026_08_06/api-core.md +296 -0
  12. package/src/REVIEW_2026_08_06/api-engine.md +195 -0
  13. package/src/REVIEW_2026_08_06/bvh-phys-sound-net.md +507 -0
  14. package/src/REVIEW_2026_08_06/core-binary.md +348 -0
  15. package/src/REVIEW_2026_08_06/core-collection.md +376 -0
  16. package/src/REVIEW_2026_08_06/core-math.md +221 -0
  17. package/src/REVIEW_2026_08_06/core-process.md +266 -0
  18. package/src/REVIEW_2026_08_06/core-science.md +223 -0
  19. package/src/REVIEW_2026_08_06/engine-ai-nav.md +279 -0
  20. package/src/REVIEW_2026_08_06/engine-animation.md +167 -0
  21. package/src/REVIEW_2026_08_06/engine-asset.md +166 -0
  22. package/src/REVIEW_2026_08_06/engine-ecs.md +920 -0
  23. package/src/REVIEW_2026_08_06/engine-input.md +197 -0
  24. package/src/REVIEW_2026_08_06/engine-misc.md +248 -0
  25. package/src/REVIEW_2026_08_06/engine-terrain.md +52 -0
  26. package/src/REVIEW_2026_08_06/generation.md +176 -0
  27. package/src/REVIEW_2026_08_06/geom-2d.md +434 -0
  28. package/src/REVIEW_2026_08_06/geom-3d.md +117 -0
  29. package/src/REVIEW_2026_08_06/gfx-gi.md +143 -0
  30. package/src/REVIEW_2026_08_06/gfx-render.md +740 -0
  31. package/src/REVIEW_2026_08_06/gfx-texture.md +690 -0
  32. package/src/REVIEW_2026_08_06/prior-criticals.md +49 -0
  33. package/src/REVIEW_2026_08_06/prior-highs.md +138 -0
  34. package/src/REVIEW_2026_08_06/test-gaps.md +364 -0
  35. package/src/REVIEW_2026_08_06/view.md +667 -0
  36. package/src/REVIEW_2026_08_06.md +610 -0
  37. package/src/core/IdPool.d.ts +2 -2
  38. package/src/core/IdPool.d.ts.map +1 -1
  39. package/src/core/IdPool.js +1 -1
  40. package/src/core/binary/32BitEncoder.d.ts +2 -3
  41. package/src/core/binary/32BitEncoder.d.ts.map +1 -1
  42. package/src/core/binary/32BitEncoder.js +1 -1
  43. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  44. package/src/core/binary/BinaryBuffer.js +12 -1
  45. package/src/core/binary/BitImage2.d.ts +5 -1
  46. package/src/core/binary/BitImage2.d.ts.map +1 -1
  47. package/src/core/binary/BitImage2.js +5 -1
  48. package/src/core/bvh2/bvh3/BVH.d.ts +2 -2
  49. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  50. package/src/core/bvh2/bvh3/BVH.js +1 -1
  51. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts +2 -2
  52. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
  53. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.js +86 -86
  54. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts +2 -2
  55. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
  56. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.js +1 -1
  57. package/src/core/bvh8/build/NodeProxy.d.ts.map +1 -1
  58. package/src/core/bvh8/build/NodeProxy.js +314 -308
  59. package/src/core/cache/Cache.d.ts +4 -4
  60. package/src/core/cache/Cache.d.ts.map +1 -1
  61. package/src/core/cache/Cache.js +3 -3
  62. package/src/core/cache/LoadingCache.d.ts +1 -1
  63. package/src/core/cache/LoadingCache.js +2 -2
  64. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts +2 -2
  65. package/src/core/cache/wtinylfu/CacheWTinylfu.js +2 -2
  66. package/src/core/collection/array/array_index_by_equality.d.ts +2 -2
  67. package/src/core/collection/array/array_index_by_equality.d.ts.map +1 -1
  68. package/src/core/collection/array/array_index_by_equality.js +1 -1
  69. package/src/core/collection/array/array_pick_best_element.d.ts +2 -2
  70. package/src/core/collection/array/array_pick_best_element.d.ts.map +1 -1
  71. package/src/core/collection/array/array_pick_best_element.js +1 -1
  72. package/src/core/collection/array/array_pick_best_elements.d.ts +2 -2
  73. package/src/core/collection/array/array_pick_best_elements.d.ts.map +1 -1
  74. package/src/core/collection/array/array_pick_best_elements.js +1 -1
  75. package/src/core/collection/array/array_set_diff.d.ts +2 -3
  76. package/src/core/collection/array/array_set_diff.d.ts.map +1 -1
  77. package/src/core/collection/array/array_set_diff.js +1 -1
  78. package/src/core/collection/array/array_set_diff_sorting.d.ts +2 -2
  79. package/src/core/collection/array/array_set_diff_sorting.d.ts.map +1 -1
  80. package/src/core/collection/array/array_set_diff_sorting.js +1 -1
  81. package/src/core/collection/array/iterator/ArrayIteratorRandom.d.ts +2 -1
  82. package/src/core/collection/array/iterator/ArrayIteratorRandom.d.ts.map +1 -1
  83. package/src/core/collection/heap/BinaryHeap.d.ts +2 -2
  84. package/src/core/collection/heap/BinaryHeap.d.ts.map +1 -1
  85. package/src/core/collection/heap/BinaryHeap.js +1 -1
  86. package/src/core/collection/list/List.d.ts +32 -17
  87. package/src/core/collection/list/List.d.ts.map +1 -1
  88. package/src/core/collection/list/List.js +43 -9
  89. package/src/core/collection/list/SortedListProjection.d.ts.map +1 -1
  90. package/src/core/collection/list/SortedListProjection.js +4 -1
  91. package/src/core/collection/map/BiMap.d.ts +25 -2
  92. package/src/core/collection/map/BiMap.d.ts.map +1 -1
  93. package/src/core/collection/map/BiMap.js +57 -3
  94. package/src/core/collection/map/HashMap.d.ts +2 -2
  95. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  96. package/src/core/collection/map/HashMap.js +1 -1
  97. package/src/core/collection/set/ArraySet.d.ts +2 -2
  98. package/src/core/collection/set/ArraySet.d.ts.map +1 -1
  99. package/src/core/collection/set/ArraySet.js +1 -1
  100. package/src/core/collection/table/RowFirstTable.d.ts +2 -2
  101. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  102. package/src/core/collection/table/RowFirstTable.js +1 -1
  103. package/src/core/collection/table/RowFirstTableSpec.js +4 -4
  104. package/src/core/debug/matchers/IsAnything.d.ts.map +1 -1
  105. package/src/core/debug/matchers/IsAnything.js +5 -1
  106. package/src/core/events/signal/Signal.d.ts.map +1 -1
  107. package/src/core/events/signal/Signal.js +3 -1
  108. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts +2 -2
  109. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
  110. package/src/core/fsm/simple/SimpleStateMachineDescription.js +1 -1
  111. package/src/core/geom/2d/bvh/BVH2D.d.ts +2 -2
  112. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  113. package/src/core/geom/2d/bvh/BVH2D.js +1 -1
  114. package/src/core/geom/2d/polygon/TRIANGULATION_DESIGN.md +433 -0
  115. package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.d.ts +31 -0
  116. package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.d.ts.map +1 -0
  117. package/src/core/geom/2d/polygon/polygon2_is_counter_clockwise.js +84 -0
  118. package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts +24 -2
  119. package/src/core/geom/2d/polygon/polygon2_signed_area.d.ts.map +1 -1
  120. package/src/core/geom/2d/polygon/polygon2_signed_area.js +52 -34
  121. package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts +28 -0
  122. package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts.map +1 -0
  123. package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.js +86 -0
  124. package/src/core/geom/2d/polygon/polygon2_triangulate.d.ts +40 -0
  125. package/src/core/geom/2d/polygon/polygon2_triangulate.d.ts.map +1 -0
  126. package/src/core/geom/2d/polygon/polygon2_triangulate.js +1280 -0
  127. package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.d.ts +28 -0
  128. package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.d.ts.map +1 -0
  129. package/src/core/geom/2d/polygon/polygon2_triangulation_deviation.js +77 -0
  130. package/src/core/geom/2d/quad-tree/qt_match_data_by_circle.d.ts +2 -2
  131. package/src/core/geom/2d/quad-tree/qt_match_data_by_circle.d.ts.map +1 -1
  132. package/src/core/geom/2d/quad-tree/qt_match_data_by_circle.js +1 -1
  133. package/src/core/geom/2d/quad-tree/qt_query_data_raycast.d.ts +2 -2
  134. package/src/core/geom/2d/quad-tree/qt_query_data_raycast.d.ts.map +1 -1
  135. package/src/core/geom/2d/quad-tree/qt_query_data_raycast.js +1 -1
  136. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts +6 -3
  137. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  138. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.js +26 -13
  139. package/src/core/geom/2d/triangle/tri2_signed_area.d.ts +17 -1
  140. package/src/core/geom/2d/triangle/tri2_signed_area.d.ts.map +1 -1
  141. package/src/core/geom/2d/triangle/tri2_signed_area.js +35 -23
  142. package/src/core/geom/2d/v2_morton_encode.d.ts +20 -0
  143. package/src/core/geom/2d/v2_morton_encode.d.ts.map +1 -0
  144. package/src/core/geom/2d/v2_morton_encode.js +23 -0
  145. package/src/core/geom/3d/aabb/AABB3.d.ts +2 -2
  146. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  147. package/src/core/geom/3d/aabb/AABB3.js +1 -1
  148. package/src/core/geom/3d/atlas/segment/atlas_merge_charts.d.ts.map +1 -1
  149. package/src/core/geom/3d/atlas/segment/atlas_merge_charts.js +4 -1
  150. package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts +27 -0
  151. package/src/core/geom/3d/polygon/polygon3_compute_normal.d.ts.map +1 -0
  152. package/src/core/geom/3d/polygon/polygon3_compute_normal.js +60 -0
  153. package/src/core/geom/3d/polygon/polygon3_triangulate.d.ts +34 -0
  154. package/src/core/geom/3d/polygon/polygon3_triangulate.d.ts.map +1 -0
  155. package/src/core/geom/3d/polygon/polygon3_triangulate.js +94 -0
  156. package/src/core/geom/3d/quaternion/quat3_multiply.d.ts +8 -2
  157. package/src/core/geom/3d/quaternion/quat3_multiply.d.ts.map +1 -1
  158. package/src/core/geom/3d/quaternion/quat3_multiply.js +8 -2
  159. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
  160. package/src/core/geom/3d/shape/ConvexHullShape3D.js +32 -2
  161. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts +2 -2
  162. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  163. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +1 -1
  164. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts +2 -5
  165. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
  166. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.js +1 -1
  167. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts +2 -2
  168. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
  169. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.js +1 -1
  170. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts +2 -3
  171. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
  172. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js +69 -69
  173. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts +2 -3
  174. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
  175. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.js +50 -50
  176. package/src/core/geom/3d/topology/struct/TopoEdge.d.ts +2 -2
  177. package/src/core/geom/3d/topology/struct/TopoEdge.d.ts.map +1 -1
  178. package/src/core/geom/3d/topology/struct/TopoEdge.js +1 -1
  179. package/src/core/geom/3d/topology/struct/TopoMesh.d.ts +2 -3
  180. package/src/core/geom/3d/topology/struct/TopoMesh.d.ts.map +1 -1
  181. package/src/core/geom/3d/topology/struct/TopoMesh.js +1 -1
  182. package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts +2 -2
  183. package/src/core/geom/3d/topology/struct/TopoTriangle.d.ts.map +1 -1
  184. package/src/core/geom/3d/topology/struct/TopoTriangle.js +1 -1
  185. package/src/core/geom/3d/topology/struct/TopoVertex.d.ts +2 -2
  186. package/src/core/geom/3d/topology/struct/TopoVertex.d.ts.map +1 -1
  187. package/src/core/geom/3d/topology/struct/TopoVertex.js +1 -1
  188. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.d.ts +23 -6
  189. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.d.ts.map +1 -1
  190. package/src/core/geom/3d/topology/struct/binary/io/face/bt_face_triangulate.js +268 -124
  191. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.d.ts +17 -0
  192. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.d.ts.map +1 -0
  193. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_assert_valid.js +44 -0
  194. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts +20 -0
  195. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.d.ts.map +1 -0
  196. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_count_edge_faces.js +40 -0
  197. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.d.ts +19 -0
  198. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.d.ts.map +1 -0
  199. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_closed.js +34 -0
  200. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.d.ts +22 -0
  201. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.d.ts.map +1 -0
  202. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_is_manifold.js +37 -0
  203. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.d.ts +87 -0
  204. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.d.ts.map +1 -0
  205. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_validate.js +599 -0
  206. package/src/core/geom/3d/topology/util/mesh_flood_fill.d.ts +1 -1
  207. package/src/core/geom/3d/topology/util/mesh_flood_fill.js +1 -1
  208. package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts +32 -0
  209. package/src/core/geom/3d/triangle/tri3_compute_signed_volume.d.ts.map +1 -1
  210. package/src/core/geom/3d/triangle/tri3_compute_signed_volume.js +66 -7
  211. package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts +22 -1
  212. package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.d.ts.map +1 -1
  213. package/src/core/geom/3d/triangle/tri3_mesh_compute_signed_volume.js +83 -38
  214. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts +2 -2
  215. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
  216. package/src/core/geom/3d/util/aabb3_emit_point_grid.js +1 -1
  217. package/src/core/geom/MANIFOLD_COMPARISON_2026_08_01.md +554 -0
  218. package/src/core/geom/Quaternion.d.ts +2 -2
  219. package/src/core/geom/Quaternion.d.ts.map +1 -1
  220. package/src/core/geom/Quaternion.js +1 -1
  221. package/src/core/geom/Vector1.d.ts +2 -2
  222. package/src/core/geom/Vector1.d.ts.map +1 -1
  223. package/src/core/geom/Vector1.js +1 -1
  224. package/src/core/geom/packing/max-rect/find_best_container.d.ts +2 -2
  225. package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
  226. package/src/core/geom/packing/max-rect/find_best_container.js +1 -1
  227. package/src/core/geom/vec3/v3_cotangent.d.ts +6 -2
  228. package/src/core/geom/vec3/v3_cotangent.d.ts.map +1 -1
  229. package/src/core/geom/vec3/v3_cotangent.js +6 -2
  230. package/src/core/geom/vec3/v3_cross.d.ts +6 -2
  231. package/src/core/geom/vec3/v3_cross.d.ts.map +1 -1
  232. package/src/core/geom/vec3/v3_cross.js +6 -2
  233. package/src/core/geom/vec3/v3_lerp.d.ts +1 -1
  234. package/src/core/geom/vec3/v3_lerp.js +1 -1
  235. package/src/core/geom/vec3/v3_multiply.d.ts +6 -2
  236. package/src/core/geom/vec3/v3_multiply.d.ts.map +1 -1
  237. package/src/core/geom/vec3/v3_multiply.js +6 -2
  238. package/src/core/geom/vec3/v3_subtract.d.ts +6 -2
  239. package/src/core/geom/vec3/v3_subtract.d.ts.map +1 -1
  240. package/src/core/geom/vec3/v3_subtract.js +6 -2
  241. package/src/core/json/abstractJSONSerializer.d.ts +2 -2
  242. package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
  243. package/src/core/json/abstractJSONSerializer.js +1 -1
  244. package/src/core/lang/reactive/AbstractCachingParser.d.ts +2 -3
  245. package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
  246. package/src/core/lang/reactive/AbstractCachingParser.js +1 -1
  247. package/src/core/localization/Localization.d.ts +2 -2
  248. package/src/core/localization/Localization.d.ts.map +1 -1
  249. package/src/core/localization/Localization.js +2 -2
  250. package/src/core/math/noise/create_simplex_noise_2d.d.ts +2 -2
  251. package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
  252. package/src/core/math/noise/create_simplex_noise_2d.js +1 -1
  253. package/src/core/math/physics/mie/MIE_PARTICLES_STANDARD.js +1 -1
  254. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts +3 -3
  255. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
  256. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.js +2 -2
  257. package/src/core/math/random/randomSeed.d.ts +13 -0
  258. package/src/core/math/random/randomSeed.d.ts.map +1 -0
  259. package/src/core/math/random/randomSeed.js +16 -0
  260. package/src/core/math/random/seededRandom_Mulberry32.d.ts +3 -2
  261. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  262. package/src/core/math/random/seededRandom_Mulberry32.js +1 -1
  263. package/src/core/math/spline/spline3_hermite_apply_transform.d.ts +50 -0
  264. package/src/core/math/spline/spline3_hermite_apply_transform.d.ts.map +1 -0
  265. package/src/core/math/spline/spline3_hermite_apply_transform.js +107 -0
  266. package/src/core/math/spline/spline3_hermite_reverse.d.ts +34 -0
  267. package/src/core/math/spline/spline3_hermite_reverse.d.ts.map +1 -0
  268. package/src/core/math/spline/spline3_hermite_reverse.js +49 -0
  269. package/src/core/math/statistics/hammersley_sequence.d.ts +17 -4
  270. package/src/core/math/statistics/hammersley_sequence.d.ts.map +1 -1
  271. package/src/core/math/statistics/hammersley_sequence.js +25 -16
  272. package/src/core/model/ModuleRegistry.d.ts +2 -2
  273. package/src/core/model/ModuleRegistry.d.ts.map +1 -1
  274. package/src/core/model/ModuleRegistry.js +1 -1
  275. package/src/core/model/node-graph/json/serializeNodeGraphToJSON.d.ts +1 -1
  276. package/src/core/model/node-graph/json/serializeNodeGraphToJSON.js +2 -2
  277. package/src/core/model/object/objectDeepEquals.d.ts +2 -2
  278. package/src/core/model/object/objectDeepEquals.d.ts.map +1 -1
  279. package/src/core/model/object/objectDeepEquals.js +1 -1
  280. package/src/core/model/reactive/model/ReactiveExpression.d.ts +2 -2
  281. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  282. package/src/core/model/reactive/model/ReactiveExpression.js +1 -1
  283. package/src/core/model/validate_enum_schema.d.ts +2 -3
  284. package/src/core/model/validate_enum_schema.d.ts.map +1 -1
  285. package/src/core/model/validate_enum_schema.js +1 -1
  286. package/src/core/process/Future.d.ts +3 -3
  287. package/src/core/process/Future.d.ts.map +1 -1
  288. package/src/core/process/Future.js +13 -1
  289. package/src/core/process/PromiseWatcher.d.ts.map +1 -1
  290. package/src/core/process/PromiseWatcher.js +9 -2
  291. package/src/core/process/executor/ConcurrentExecutor.d.ts.map +1 -1
  292. package/src/core/process/executor/ConcurrentExecutor.js +12 -2
  293. package/src/core/process/task/Task.d.ts +3 -3
  294. package/src/core/process/task/Task.d.ts.map +1 -1
  295. package/src/core/process/task/Task.js +2 -2
  296. package/src/core/process/task/util/countTask.d.ts +2 -2
  297. package/src/core/process/task/util/countTask.d.ts.map +1 -1
  298. package/src/core/process/task/util/countTask.js +1 -1
  299. package/src/core/process/task/util/randomCountTask.d.ts +2 -2
  300. package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
  301. package/src/core/process/task/util/randomCountTask.js +1 -1
  302. package/src/core/process/worker/WorkerProxy.d.ts.map +1 -1
  303. package/src/core/process/worker/WorkerProxy.js +5 -2
  304. package/src/core/process/worker/extractTransferables.d.ts.map +1 -1
  305. package/src/core/process/worker/extractTransferables.js +4 -1
  306. package/src/engine/Engine.d.ts +12 -12
  307. package/src/engine/Engine.d.ts.map +1 -1
  308. package/src/engine/Engine.js +149 -10
  309. package/src/engine/animation/Animations.d.ts +4 -4
  310. package/src/engine/animation/Animations.d.ts.map +1 -1
  311. package/src/engine/animation/Animations.js +2 -2
  312. package/src/engine/animation/EntityAnimation.d.ts +5 -5
  313. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  314. package/src/engine/animation/EntityAnimation.js +2 -2
  315. package/src/engine/animation/TransitionFunctions.d.ts +1 -4
  316. package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
  317. package/src/engine/animation/TransitionFunctions.js +1 -1
  318. package/src/engine/animation/Tween.d.ts +4 -4
  319. package/src/engine/animation/Tween.d.ts.map +1 -1
  320. package/src/engine/animation/Tween.js +2 -2
  321. package/src/engine/asset/AssetManager.d.ts +6 -6
  322. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  323. package/src/engine/asset/AssetManager.js +1411 -1411
  324. package/src/engine/asset/AssetRequest.d.ts +4 -4
  325. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  326. package/src/engine/asset/AssetRequest.js +3 -3
  327. package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
  328. package/src/engine/asset/loaders/ArrayBufferLoader.js +7 -0
  329. package/src/engine/asset/loaders/AssetLoader.d.ts +3 -3
  330. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  331. package/src/engine/asset/loaders/AssetLoader.js +2 -2
  332. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +0 -10
  333. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  334. package/src/engine/ecs/EntityComponentDataset.d.ts +6 -6
  335. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  336. package/src/engine/ecs/EntityComponentDataset.js +3 -3
  337. package/src/engine/ecs/EntityManager.d.ts +4 -4
  338. package/src/engine/ecs/EntityManager.js +4 -4
  339. package/src/engine/ecs/EntityObserver.d.ts +3 -3
  340. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  341. package/src/engine/ecs/EntityObserver.js +2 -2
  342. package/src/engine/ecs/System.d.ts +4 -4
  343. package/src/engine/ecs/System.d.ts.map +1 -1
  344. package/src/engine/ecs/System.js +2 -2
  345. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts +2 -3
  346. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
  347. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +1 -1
  348. package/src/engine/ecs/grid/pick.d.ts +4 -2
  349. package/src/engine/ecs/grid/pick.d.ts.map +1 -1
  350. package/src/engine/ecs/grid/pick.js +1 -1
  351. package/src/engine/ecs/parent/EntityNode.d.ts +4 -4
  352. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  353. package/src/engine/ecs/parent/EntityNode.js +2 -2
  354. package/src/engine/ecs/speaker/lines/sets/LineSetDescription.d.ts.map +1 -1
  355. package/src/engine/ecs/speaker/lines/sets/LineSetDescription.js +3 -1
  356. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +2 -2
  357. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  358. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +1 -1
  359. package/src/engine/ecs/storage/binary/collection/BinaryCollectionHeaderCodec.d.ts +1 -2
  360. package/src/engine/ecs/storage/binary/collection/BinaryCollectionHeaderCodec.d.ts.map +1 -1
  361. package/src/engine/ecs/systems/AnimationSystem.d.ts +0 -5
  362. package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
  363. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts +2 -2
  364. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  365. package/src/engine/ecs/terrain/ecs/TerrainSystem.js +5 -2
  366. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +34 -5
  367. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  368. package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +87 -26
  369. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts +2 -3
  370. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  371. package/src/engine/ecs/terrain/util/obtainTerrain.js +1 -1
  372. package/src/engine/ecs/util/hideEntityGracefully.js +2 -2
  373. package/src/engine/graphics/CONTEXT_LOSS_RECOVERY_PLAN.md +446 -0
  374. package/src/engine/graphics/FrameRunner.d.ts +2 -2
  375. package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
  376. package/src/engine/graphics/FrameRunner.js +1 -1
  377. package/src/engine/graphics/GraphicsEngine.d.ts +60 -9
  378. package/src/engine/graphics/GraphicsEngine.d.ts.map +1 -1
  379. package/src/engine/graphics/GraphicsEngine.js +197 -25
  380. package/src/engine/graphics/camera/CameraShake.d.ts +6 -6
  381. package/src/engine/graphics/camera/CameraShake.d.ts.map +1 -1
  382. package/src/engine/graphics/context/WebGLContextFailureReason.d.ts +9 -0
  383. package/src/engine/graphics/context/WebGLContextFailureReason.d.ts.map +1 -0
  384. package/src/engine/graphics/context/WebGLContextFailureReason.js +17 -0
  385. package/src/engine/graphics/context/WebGLContextMonitor.d.ts +106 -0
  386. package/src/engine/graphics/context/WebGLContextMonitor.d.ts.map +1 -0
  387. package/src/engine/graphics/context/WebGLContextMonitor.js +341 -0
  388. package/src/engine/graphics/context/WebGLContextState.d.ts +14 -0
  389. package/src/engine/graphics/context/WebGLContextState.d.ts.map +1 -0
  390. package/src/engine/graphics/context/WebGLContextState.js +24 -0
  391. package/src/engine/graphics/context/testWebGLContextLoss.d.ts +2 -0
  392. package/src/engine/graphics/context/testWebGLContextLoss.d.ts.map +1 -0
  393. package/src/engine/graphics/context/testWebGLContextLoss.js +696 -0
  394. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +2 -2
  395. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +1 -1
  396. package/src/engine/graphics/ecs/camera/CameraSystem.js +1 -1
  397. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.d.ts.map +1 -1
  398. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js +68 -32
  399. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.d.ts +14 -0
  400. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.d.ts.map +1 -0
  401. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.js +41 -0
  402. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.d.ts +2 -3
  403. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.d.ts.map +1 -1
  404. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +2 -2
  405. package/src/engine/graphics/ecs/light/three/ThreeLightCache.d.ts +1 -1
  406. package/src/engine/graphics/ecs/light/three/ThreeLightCache.js +1 -1
  407. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +4 -5
  408. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
  409. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +7 -2
  410. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +1 -1
  411. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts.map +1 -1
  412. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +2 -1
  413. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts +1 -1
  414. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts.map +1 -1
  415. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.js +3 -5
  416. package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.d.ts.map +1 -1
  417. package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js +3 -2
  418. package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.d.ts.map +1 -1
  419. package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js +3 -1
  420. package/src/engine/graphics/geometry/computeBoundingSphereFromVertexData.d.ts +2 -2
  421. package/src/engine/graphics/geometry/computeBoundingSphereFromVertexData.js +1 -1
  422. package/src/engine/graphics/geometry/computeMeshSurfaceArea.js +1 -1
  423. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts +2 -2
  424. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts.map +1 -1
  425. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +1 -1
  426. package/src/engine/graphics/geometry/ribbon/Ribbon.d.ts +2 -2
  427. package/src/engine/graphics/geometry/ribbon/Ribbon.d.ts.map +1 -1
  428. package/src/engine/graphics/geometry/ribbon/Ribbon.js +1 -1
  429. package/src/engine/graphics/load_and_set_cubemap_v0.d.ts +5 -0
  430. package/src/engine/graphics/load_and_set_cubemap_v0.d.ts.map +1 -1
  431. package/src/engine/graphics/load_and_set_cubemap_v0.js +26 -21
  432. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +2 -2
  433. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  434. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1 -1
  435. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts +2 -2
  436. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
  437. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +1 -1
  438. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts +2 -2
  439. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
  440. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +1 -1
  441. package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
  442. package/src/engine/graphics/particles/particular/group/ParticleGroup.js +19 -8
  443. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +1 -1
  444. package/src/engine/graphics/render/RendererPool.d.ts +4 -4
  445. package/src/engine/graphics/render/RendererPool.d.ts.map +1 -1
  446. package/src/engine/graphics/render/RendererPool.js +2 -2
  447. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts +5 -4
  448. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  449. package/src/engine/graphics/render/frame_graph/FrameGraph.js +2 -2
  450. package/src/engine/graphics/render/layers/RenderLayer.d.ts +2 -2
  451. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  452. package/src/engine/graphics/render/layers/RenderLayer.js +1 -1
  453. package/src/engine/graphics/render/layers/RenderLayerUtils.js +1 -1
  454. package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts +3 -1
  455. package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts.map +1 -1
  456. package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js +681 -681
  457. package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts +2 -2
  458. package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.d.ts.map +1 -1
  459. package/src/engine/graphics/sh3/lightmap/lightmap_rasterize_triangle.js +145 -145
  460. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts +2 -1
  461. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  462. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.d.ts.map +1 -1
  463. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +10 -3
  464. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts.map +1 -1
  465. package/src/engine/graphics/texture/atlas/TextureAtlas.js +4 -1
  466. package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.d.ts.map +1 -1
  467. package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.js +11 -0
  468. package/src/engine/graphics/texture/cubemap/load_environment_map.d.ts.map +1 -1
  469. package/src/engine/graphics/texture/cubemap/load_environment_map.js +5 -2
  470. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +2 -2
  471. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  472. package/src/engine/graphics/texture/sampler/Sampler2D.js +1 -1
  473. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_Chamfer.d.ts.map +1 -1
  474. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_Chamfer.js +26 -18
  475. package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.d.ts +15 -2
  476. package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.d.ts.map +1 -1
  477. package/src/engine/graphics/texture/sampler/filter/sampler2d_blur_gaussian.js +29 -3
  478. package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.d.ts +14 -1
  479. package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.d.ts.map +1 -1
  480. package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js +148 -171
  481. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts +2 -2
  482. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
  483. package/src/engine/graphics/texture/sampler/sampler2d_combine.js +1 -1
  484. package/src/engine/graphics/texture/sampler/sampler2d_paint.js +1 -1
  485. package/src/engine/graphics/texture/sampler/util/bitSet2Sampler2D.js +2 -2
  486. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +1 -1
  487. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.js +2 -2
  488. package/src/engine/grid/obstacle/GridObstacle.d.ts +2 -2
  489. package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
  490. package/src/engine/grid/obstacle/GridObstacle.js +1 -1
  491. package/src/engine/input/ecs/util/TopDownCameraControllerHelper.d.ts.map +1 -1
  492. package/src/engine/input/ecs/util/TopDownCameraControllerHelper.js +10 -3
  493. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +2 -2
  494. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  495. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +1 -1
  496. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -3
  497. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  498. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +1 -1
  499. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts +2 -1
  500. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts.map +1 -1
  501. package/src/engine/intelligence/blackboard/Blackboard.d.ts +4 -4
  502. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  503. package/src/engine/intelligence/blackboard/Blackboard.js +2 -2
  504. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +17 -15
  505. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  506. package/src/engine/intelligence/mcts/MonteCarlo.js +345 -345
  507. package/src/engine/intelligence/mcts/StateNode.d.ts +2 -2
  508. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  509. package/src/engine/intelligence/mcts/StateNode.js +364 -364
  510. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +3 -3
  511. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  512. package/src/engine/intelligence/optimization/RandomOptimizer.js +2 -2
  513. package/src/engine/intelligence/optimization/optimize_cyclic_sequence_pairwise.d.ts +2 -2
  514. package/src/engine/intelligence/optimization/optimize_cyclic_sequence_pairwise.d.ts.map +1 -1
  515. package/src/engine/intelligence/optimization/optimize_cyclic_sequence_pairwise.js +1 -1
  516. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts +4 -5
  517. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  518. package/src/engine/knowledge/database/StaticKnowledgeDataTable.js +2 -2
  519. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.d.ts +14 -0
  520. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.d.ts.map +1 -0
  521. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_2_3.js +38 -0
  522. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts +0 -5
  523. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
  524. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts.map +1 -1
  525. package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +433 -425
  526. package/src/engine/physics/constraint/solve_constraints.d.ts +4 -1
  527. package/src/engine/physics/constraint/solve_constraints.d.ts.map +1 -1
  528. package/src/engine/physics/constraint/solve_constraints.js +38 -13
  529. package/src/engine/physics/contact/ManifoldStore.d.ts +15 -3
  530. package/src/engine/physics/contact/ManifoldStore.d.ts.map +1 -1
  531. package/src/engine/physics/contact/ManifoldStore.js +15 -3
  532. package/src/engine/physics/ecs/Joint.d.ts +7 -4
  533. package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
  534. package/src/engine/physics/ecs/Joint.js +7 -4
  535. package/src/engine/physics/ecs/PhysicsSystem.d.ts +14 -0
  536. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  537. package/src/engine/physics/ecs/PhysicsSystem.js +16 -0
  538. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -8
  539. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
  540. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +3 -7
  541. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts.map +1 -1
  542. package/src/engine/physics/narrowphase/convex_convex_manifold.d.ts +15 -7
  543. package/src/engine/physics/narrowphase/convex_convex_manifold.d.ts.map +1 -1
  544. package/src/engine/physics/narrowphase/convex_convex_manifold.js +33 -10
  545. package/src/engine/physics/narrowphase/refine_ray_concave.d.ts +6 -2
  546. package/src/engine/physics/narrowphase/refine_ray_concave.d.ts.map +1 -1
  547. package/src/engine/physics/narrowphase/refine_ray_concave.js +6 -2
  548. package/src/engine/physics/narrowphase/refine_ray_hit.d.ts +6 -2
  549. package/src/engine/physics/narrowphase/refine_ray_hit.d.ts.map +1 -1
  550. package/src/engine/physics/narrowphase/refine_ray_hit.js +6 -2
  551. package/src/engine/physics/queries/raycast.d.ts.map +1 -1
  552. package/src/engine/physics/queries/raycast.js +11 -4
  553. package/src/engine/save/GameStateLoader.d.ts +2 -2
  554. package/src/engine/save/GameStateLoader.d.ts.map +1 -1
  555. package/src/engine/save/GameStateLoader.js +1 -1
  556. package/src/engine/save/Storage.d.ts +4 -4
  557. package/src/engine/save/Storage.d.ts.map +1 -1
  558. package/src/engine/save/Storage.js +2 -2
  559. package/src/engine/save/storage/IndexedDBStorage.d.ts.map +1 -1
  560. package/src/engine/save/storage/IndexedDBStorage.js +24 -5
  561. package/src/engine/simulation/Ticker.d.ts +12 -0
  562. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  563. package/src/engine/simulation/Ticker.js +18 -0
  564. package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
  565. package/src/engine/sound/simulation/AcousticSimulator.js +9 -1
  566. package/src/engine/sound/simulation/core/VolumeField.d.ts +6 -2
  567. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  568. package/src/engine/sound/simulation/core/VolumeField.js +6 -2
  569. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts +6 -2
  570. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  571. package/src/engine/sound/simulation/probe/AcousticProbeField.js +6 -2
  572. package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts +6 -2
  573. package/src/engine/sound/simulation/probe/acoustic_probe_transfer.d.ts.map +1 -1
  574. package/src/engine/sound/simulation/probe/acoustic_probe_transfer.js +6 -2
  575. package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts +3 -1
  576. package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts.map +1 -1
  577. package/src/engine/sound/simulation/probe/bakeProbeReflectors.js +3 -1
  578. package/src/engine/sound/simulation/prototypeAcousticSolver.js +1652 -1652
  579. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts +2 -2
  580. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  581. package/src/engine/sound/sopra/util/buildAttenuationCurve.js +40 -40
  582. package/src/engine/ui/GUIEngine.d.ts.map +1 -1
  583. package/src/engine/ui/GUIEngine.js +8 -1
  584. package/src/engine/ui/notification/NotificationManager.d.ts +5 -5
  585. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  586. package/src/engine/ui/notification/NotificationManager.js +4 -4
  587. package/src/engine/ui/tiles2d/TileGrid.d.ts +2 -2
  588. package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
  589. package/src/engine/ui/tiles2d/TileGrid.js +1 -1
  590. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.d.ts +1 -1
  591. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.js +1 -1
  592. package/src/generation/grid/generation/road/GridTaskGenerateRoads.js +2 -2
  593. package/src/generation/grid/generation/util/buildPathFromDistanceMap.d.ts +1 -1
  594. package/src/generation/grid/generation/util/buildPathFromDistanceMap.js +1 -1
  595. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.d.ts +2 -1
  596. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.d.ts.map +1 -1
  597. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.d.ts +2 -1
  598. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.d.ts.map +1 -1
  599. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.d.ts +2 -1
  600. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.d.ts.map +1 -1
  601. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts +4 -3
  602. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  603. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.js +1 -1
  604. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.d.ts +2 -1
  605. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.d.ts.map +1 -1
  606. package/src/generation/theme/TerrainTheme.d.ts.map +1 -1
  607. package/src/generation/theme/TerrainTheme.js +2 -1
  608. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  609. package/src/generation/theme/ThemeEngine.js +6 -5
  610. package/src/view/ViewGroup.d.ts.map +1 -1
  611. package/src/view/ViewGroup.js +9 -7
  612. package/src/view/common/VirtualListView.d.ts +1 -1
  613. package/src/view/common/VirtualListView.js +1 -1
  614. package/src/view/graphics/WebGLContextFailureView.d.ts +19 -0
  615. package/src/view/graphics/WebGLContextFailureView.d.ts.map +1 -0
  616. package/src/view/graphics/WebGLContextFailureView.js +76 -0
  617. package/src/view/minimap/Minimap.d.ts +8 -0
  618. package/src/view/minimap/Minimap.d.ts.map +1 -1
  619. package/src/view/minimap/Minimap.js +16 -3
  620. package/src/view/minimap/dom/MinimapMarkerView.d.ts.map +1 -1
  621. package/src/view/minimap/dom/MinimapMarkerView.js +3 -1
  622. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts +2 -2
  623. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.d.ts.map +1 -1
  624. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +1 -1
@@ -7,17 +7,43 @@ import { Sampler2D } from "../Sampler2D.js";
7
7
  let temp_data = new Float64Array(1);
8
8
 
9
9
  /**
10
+ * Separable gaussian blur.
11
+ *
12
+ * `size` is the full footprint width in pixels: every output pixel is gathered
13
+ * from `[-size/2, +size/2]` around itself along each axis, at `sample_count`
14
+ * evenly spaced taps. `quality` scales the tap count, trading cost against
15
+ * sampling density; it leaves both the footprint and the standard deviation in
16
+ * pixels unchanged.
17
+ *
18
+ * Below `quality = 1` the taps are spaced more than a pixel apart, so detail
19
+ * finer than that spacing aliases — an isolated bright pixel gets smeared into
20
+ * a ring of tap-spaced echoes rather than a smooth falloff. On smooth input the
21
+ * result is indistinguishable from the fully sampled filter, which is what the
22
+ * setting is for; do not turn it down on input with isolated highlights.
10
23
  *
11
24
  * @param {Sampler2D} output
12
25
  * @param {Sampler2D} input
13
- * @param {number} size
14
- * @param {number} [quality]
26
+ * @param {number} size footprint width, in pixels
27
+ * @param {number} [quality] taps per pixel of footprint; 1 gives roughly one tap per pixel
15
28
  */
16
29
  export function sampler2d_blur_gaussian(output, input, size, quality = 1) {
17
30
 
18
- const sigma = size * 3;
19
31
  const sample_count = max2(3, nextOdd(Math.round(size * quality)));
20
32
 
33
+ // `build_gaussian_kernel_1d` places taps one unit apart, so its sigma is in
34
+ // TAP units, whereas the footprint is in pixels -- the two are related by
35
+ // `local_u_scale` below. Working in tap units, the outermost tap sits at
36
+ // (sample_count - 1) / 2, and we want the kernel truncated there at three
37
+ // standard deviations: beyond 3 sigma a gaussian carries ~0.3% of its mass,
38
+ // so cutting it there is visually lossless while keeping the taps busy.
39
+ //
40
+ // This previously read `size * 3`, which is the same expression with the
41
+ // ratio inverted and the wrong unit. That put every tap inside ±(1/6) of a
42
+ // standard deviation, where a gaussian is flat: the outermost tap carried
43
+ // ~99% of the weight of the centre one, so the filter was a box blur and
44
+ // `size` had no influence on the shape of the falloff at all.
45
+ const sigma = (sample_count - 1) / 6;
46
+
21
47
  const kernel = new Float32Array(sample_count);
22
48
 
23
49
  build_gaussian_kernel_1d(kernel, sample_count, sigma);
@@ -1,5 +1,18 @@
1
1
  /**
2
- * Good for down-sampling
2
+ * Good for down-sampling.
3
+ *
4
+ * The kernel is separable and evaluated in destination-pixel units: a source
5
+ * texel's distance from the destination pixel's centre is divided by the
6
+ * scaling ratio, which is what stretches the filter's support to cover the
7
+ * whole footprint being averaged.
8
+ *
9
+ * Negative lobes are kept. They are the entire point of Lanczos, and discarding
10
+ * them was what produced NaN: with only the non-negative part of the kernel a
11
+ * footprint could sum to zero, and the normalisation divided by it. Keeping the
12
+ * whole kernel makes the sum the integral of the kernel over the footprint,
13
+ * which stays near 1 -- swept over every downscale ratio from 1 to 40 at 2 and
14
+ * 3 lobes it never fell below 1, was never negative and never zero.
15
+ *
3
16
  * @param {Sampler2D} source
4
17
  * @param {Sampler2D} destination
5
18
  * @param {number} [lobes]
@@ -1 +1 @@
1
- {"version":3,"file":"sampler2d_scale_down_lanczos.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js"],"names":[],"mappings":"AAkEA;;;;;GAKG;AACH,gGAFW,MAAM,QAoGhB"}
1
+ {"version":3,"file":"sampler2d_scale_down_lanczos.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js"],"names":[],"mappings":"AAiCA;;;;;;;;;;;;;;;;;;GAkBG;AACH,gGAFW,MAAM,QAiGhB"}
@@ -1,171 +1,148 @@
1
- import { max2 } from "../../../../../core/math/max2.js";
2
- import { min2 } from "../../../../../core/math/min2.js";
3
-
4
-
5
- /**
6
- * @see https://en.wikipedia.org/wiki/Lanczos_resampling
7
- * Calculate lanczos weight
8
- * @param {number} x
9
- * @param {number} lobes
10
- * @returns {number}
11
- */
12
- function lanczos(x, lobes) {
13
-
14
- /*
15
- // not needed in our case, as X is always positive
16
- if (x < 0) {
17
- x = -x;
18
- }
19
-
20
- */
21
-
22
- if (x > lobes) {
23
- return 0;
24
- }
25
-
26
- if (x < 1.1920929e-7) {
27
- return 1;
28
- }
29
-
30
- x *= Math.PI;
31
-
32
- const xx = x / lobes;
33
-
34
- return (Math.sin(x) / x) * Math.sin(xx) / (xx);
35
- }
36
-
37
- /**
38
- * Original formulation version from wiki
39
- * @see https://en.wikipedia.org/wiki/Lanczos_resampling
40
- * Calculate lanczos weight
41
- * @param {number} x
42
- * @param {number} lobes
43
- * @returns {number}
44
- */
45
- function lanczos_orig(x, lobes) {
46
-
47
- /*
48
- // not needed in our case, as X is always positive
49
- if (x < 0) {
50
- x = -x;
51
- }
52
-
53
- */
54
-
55
- if (x > lobes) {
56
- return 0;
57
- }
58
-
59
- if (x < 1.1920929e-7) {
60
- return 1;
61
- }
62
-
63
- return (lobes * Math.sin(Math.PI * x) * Math.sin(Math.PI * x / lobes)) / (Math.PI * Math.PI * x * x);
64
- }
65
-
66
-
67
- /**
68
- * Good for down-sampling
69
- * @param {Sampler2D} source
70
- * @param {Sampler2D} destination
71
- * @param {number} [lobes]
72
- */
73
- export function sampler2d_scale_down_lanczos(source, destination, lobes = 2) {
74
-
75
- const d_w = destination.width;
76
- const d_h = destination.height;
77
-
78
- const item_size = destination.itemSize;
79
-
80
- const source_width = source.width;
81
- const source_height = source.height;
82
-
83
- if (source_width < d_w || source_height < d_h) {
84
- throw new Error('Invalid scale, source is larger than destination in at least 1 dimension');
85
- }
86
-
87
- const source_data = source.data;
88
- const destination_data = destination.data;
89
-
90
- const ratio_x = source_width / d_w;
91
- const ratio_y = source_height / d_h;
92
-
93
- const rcp_ratio_y = 2 / ratio_y;
94
- const rcp_ratio_x = 2 / ratio_x;
95
-
96
-
97
- const range2_x = Math.ceil(ratio_x * lobes * 0.5);
98
- const range2_y = Math.ceil(ratio_y * lobes * 0.5);
99
-
100
- const sample = new Array(item_size);
101
-
102
- let v, u, i, j, k;
103
-
104
- for (v = 0; v < d_h; v++) {
105
-
106
- const center_y = (v + 0.5) * ratio_y;
107
- const i_center_y = Math.floor(center_y);
108
- //
109
- const source_y0 = max2(0, i_center_y - range2_y);
110
- const source_y1 = min2(i_center_y + range2_y, source_height - 1);
111
-
112
- for (u = 0; u < d_w; u++) {
113
- const center_x = (u + 0.5) * ratio_x;
114
- const i_center_x = Math.floor(center_x);
115
-
116
- const source_x0 = max2(i_center_x - range2_x, 0);
117
- const source_x1 = min2(i_center_x + range2_x, source_width - 1);
118
-
119
- let weight_sum = 0;
120
- // reset sample
121
- for (i = 0; i < item_size; i++) {
122
- sample[i] = 0;
123
- }
124
-
125
- for (j = source_y0; j <= source_y1; j++) {
126
-
127
- const f_y = (j - center_y);
128
-
129
- const f_y_rcp = f_y * rcp_ratio_y;
130
- const f_y_rcp2 = f_y_rcp * f_y_rcp;
131
-
132
- for (i = source_x0; i <= source_x1; i++) {
133
-
134
- const f_x = (i - center_x);
135
-
136
- const f_x_rcp = f_x * rcp_ratio_x;
137
- const f_x_rcp2 = f_x_rcp * f_x_rcp;
138
-
139
- const distance_from_center_sqr = f_x_rcp2 + f_y_rcp2;
140
- const distance_from_center = Math.sqrt(distance_from_center_sqr);
141
-
142
- const weight = lanczos(distance_from_center, lobes);
143
-
144
- if (weight <= 0) {
145
- continue;
146
- }
147
-
148
- weight_sum += weight;
149
-
150
- const source_texel_address = (j * source_width + i) * item_size;
151
-
152
- for (k = 0; k < item_size; k++) {
153
- sample[k] += weight * source_data[source_texel_address + k];
154
- }
155
-
156
- }
157
- }
158
-
159
-
160
- // dilute sample and write to destination
161
- const inv_z = 1 / weight_sum;
162
-
163
- const texel_address = (v * d_w + u) * item_size;
164
-
165
- for (i = 0; i < item_size; i++) {
166
- destination_data[texel_address + i] = sample[i] * inv_z;
167
- }
168
- }
169
- }
170
-
171
- }
1
+ import { max2 } from "../../../../../core/math/max2.js";
2
+ import { min2 } from "../../../../../core/math/min2.js";
3
+
4
+
5
+ /**
6
+ * @see https://en.wikipedia.org/wiki/Lanczos_resampling
7
+ * Calculate lanczos weight. `x` may be negative; the kernel is even.
8
+ * @param {number} x
9
+ * @param {number} lobes
10
+ * @returns {number}
11
+ */
12
+ function lanczos(x, lobes) {
13
+
14
+ if (x < 0) {
15
+ x = -x;
16
+ }
17
+
18
+ if (x >= lobes) {
19
+ return 0;
20
+ }
21
+
22
+ if (x < 1.1920929e-7) {
23
+ return 1;
24
+ }
25
+
26
+ const pix = x * Math.PI;
27
+
28
+ const pix_over_a = pix / lobes;
29
+
30
+ return (Math.sin(pix) / pix) * (Math.sin(pix_over_a) / pix_over_a);
31
+ }
32
+
33
+
34
+ /**
35
+ * Good for down-sampling.
36
+ *
37
+ * The kernel is separable and evaluated in destination-pixel units: a source
38
+ * texel's distance from the destination pixel's centre is divided by the
39
+ * scaling ratio, which is what stretches the filter's support to cover the
40
+ * whole footprint being averaged.
41
+ *
42
+ * Negative lobes are kept. They are the entire point of Lanczos, and discarding
43
+ * them was what produced NaN: with only the non-negative part of the kernel a
44
+ * footprint could sum to zero, and the normalisation divided by it. Keeping the
45
+ * whole kernel makes the sum the integral of the kernel over the footprint,
46
+ * which stays near 1 -- swept over every downscale ratio from 1 to 40 at 2 and
47
+ * 3 lobes it never fell below 1, was never negative and never zero.
48
+ *
49
+ * @param {Sampler2D} source
50
+ * @param {Sampler2D} destination
51
+ * @param {number} [lobes]
52
+ */
53
+ export function sampler2d_scale_down_lanczos(source, destination, lobes = 2) {
54
+
55
+ const d_w = destination.width;
56
+ const d_h = destination.height;
57
+
58
+ const item_size = destination.itemSize;
59
+
60
+ const source_width = source.width;
61
+ const source_height = source.height;
62
+
63
+ if (source_width < d_w || source_height < d_h) {
64
+ throw new Error('Invalid scale, source is larger than destination in at least 1 dimension');
65
+ }
66
+
67
+ const source_data = source.data;
68
+ const destination_data = destination.data;
69
+
70
+ const ratio_x = source_width / d_w;
71
+ const ratio_y = source_height / d_h;
72
+
73
+ const inv_ratio_x = 1 / ratio_x;
74
+ const inv_ratio_y = 1 / ratio_y;
75
+
76
+ // support of the kernel measured in source texels
77
+ const range_x = Math.ceil(lobes * ratio_x);
78
+ const range_y = Math.ceil(lobes * ratio_y);
79
+
80
+ const sample = new Array(item_size);
81
+
82
+ const weights_x = new Float64Array(range_x * 2 + 2);
83
+
84
+ for (let v = 0; v < d_h; v++) {
85
+
86
+ // centre of this destination pixel, expressed in source texels
87
+ const center_y = (v + 0.5) * ratio_y;
88
+
89
+ const source_y0 = max2(0, Math.floor(center_y - range_y));
90
+ const source_y1 = min2(Math.ceil(center_y + range_y), source_height - 1);
91
+
92
+ for (let u = 0; u < d_w; u++) {
93
+
94
+ const center_x = (u + 0.5) * ratio_x;
95
+
96
+ const source_x0 = max2(0, Math.floor(center_x - range_x));
97
+ const source_x1 = min2(Math.ceil(center_x + range_x), source_width - 1);
98
+
99
+ // horizontal weights are the same for every row of this column
100
+ for (let i = source_x0; i <= source_x1; i++) {
101
+ weights_x[i - source_x0] = lanczos((i + 0.5 - center_x) * inv_ratio_x, lobes);
102
+ }
103
+
104
+ let weight_sum = 0;
105
+
106
+ for (let i = 0; i < item_size; i++) {
107
+ sample[i] = 0;
108
+ }
109
+
110
+ for (let j = source_y0; j <= source_y1; j++) {
111
+
112
+ const weight_y = lanczos((j + 0.5 - center_y) * inv_ratio_y, lobes);
113
+
114
+ if (weight_y === 0) {
115
+ continue;
116
+ }
117
+
118
+ const row_address = j * source_width;
119
+
120
+ for (let i = source_x0; i <= source_x1; i++) {
121
+
122
+ const weight = weights_x[i - source_x0] * weight_y;
123
+
124
+ if (weight === 0) {
125
+ continue;
126
+ }
127
+
128
+ weight_sum += weight;
129
+
130
+ const source_texel_address = (row_address + i) * item_size;
131
+
132
+ for (let k = 0; k < item_size; k++) {
133
+ sample[k] += weight * source_data[source_texel_address + k];
134
+ }
135
+ }
136
+ }
137
+
138
+ const texel_address = (v * d_w + u) * item_size;
139
+
140
+ const inv_z = 1 / weight_sum;
141
+
142
+ for (let i = 0; i < item_size; i++) {
143
+ destination_data[texel_address + i] = sample[i] * inv_z;
144
+ }
145
+ }
146
+ }
147
+
148
+ }
@@ -3,7 +3,7 @@
3
3
  * @param {Sampler2D} input0
4
4
  * @param {Sampler2D} input1
5
5
  * @param {Sampler2D} result
6
- * @param {function( value0 : number[], value1 : number[], result : number[], index : number) : void} operation
6
+ * @param {(value0: number[], value1: number[], result: number[], index: number) => void} operation
7
7
  */
8
- export function sampler2d_combine(input0: Sampler2D, input1: Sampler2D, result: Sampler2D, operation: any): void;
8
+ export function sampler2d_combine(input0: Sampler2D, input1: Sampler2D, result: Sampler2D, operation: (value0: number[], value1: number[], result: number[], index: number) => void): void;
9
9
  //# sourceMappingURL=sampler2d_combine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sampler2d_combine.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_combine.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,iHAwDC"}
1
+ {"version":3,"file":"sampler2d_combine.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_combine.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,+GAFoB,MAAM,EAAE,UAAU,MAAM,EAAE,UAAU,MAAM,EAAE,SAAS,MAAM,KAAK,IAAI,QA0DvF"}
@@ -6,7 +6,7 @@ import { assert } from "../../../../core/assert.js";
6
6
  * @param {Sampler2D} input0
7
7
  * @param {Sampler2D} input1
8
8
  * @param {Sampler2D} result
9
- * @param {function( value0 : number[], value1 : number[], result : number[], index : number) : void} operation
9
+ * @param {(value0: number[], value1: number[], result: number[], index: number) => void} operation
10
10
  */
11
11
  export function sampler2d_combine(input0, input1, result, operation) {
12
12
  assert.notEqual(input0, undefined, "input0 is undefined");
@@ -65,7 +65,7 @@ export function sampler2d_paint(
65
65
 
66
66
  destination.read(d_x, d_y, c0);
67
67
 
68
- const s_x = Math.round(x + sourceY);
68
+ const s_x = Math.round(x + sourceX);
69
69
  const s_y = Math.round(y + sourceY);
70
70
 
71
71
  source.read(s_x, s_y, c1);
@@ -32,9 +32,9 @@ export function bitSet2Sampler2D(source, target, vTrue, vFalse) {
32
32
  const flag = source.get(cellIndex);
33
33
 
34
34
  if (flag) {
35
- target.set(x, y, vTrue);
35
+ target.write(x, y, vTrue);
36
36
  } else {
37
- target.set(x, y, vFalse);
37
+ target.write(x, y, vFalse);
38
38
  }
39
39
  }
40
40
  }
@@ -4,7 +4,7 @@
4
4
  export class VirtualTextureTileLoader {
5
5
  /**
6
6
  *
7
- * @param {function(mip:number, x:number, y:number):string} builder
7
+ * @param {(mip: number, x: number, y: number) => string} builder
8
8
  */
9
9
  set file_name_builder(arg: (arg0: number, arg1: number, arg2: number) => string);
10
10
  /**
@@ -22,7 +22,7 @@ export class VirtualTextureTileLoader {
22
22
 
23
23
  /**
24
24
  * Lets user specify a custom file name template
25
- * @type {function(mip:number, x:number, y:number):string}
25
+ * @type {(mip: number, x: number, y: number) => string}
26
26
  */
27
27
  #file_name_builder = (mip, x, y) => {
28
28
 
@@ -44,7 +44,7 @@ export class VirtualTextureTileLoader {
44
44
 
45
45
  /**
46
46
  *
47
- * @param {function(mip:number, x:number, y:number):string} builder
47
+ * @param {(mip: number, x: number, y: number) => string} builder
48
48
  */
49
49
  set file_name_builder(builder) {
50
50
  assert.isFunction(builder, 'builder');
@@ -17,10 +17,10 @@ declare class GridObstacle {
17
17
  *
18
18
  * @param {number} offsetX
19
19
  * @param {number} offsetY
20
- * @param {function(x:number, y:number, value:number, index:number)} visitor
20
+ * @param {(x: number, y: number, value: number, index: number) => void} visitor
21
21
  * @param {*} [thisArg]
22
22
  */
23
- traverseMask(offsetX: number, offsetY: number, visitor: any, thisArg?: any): void;
23
+ traverseMask(offsetX: number, offsetY: number, visitor: (x: number, y: number, value: number, index: number) => void, thisArg?: any): void;
24
24
  /**
25
25
  *
26
26
  * @param {number} x
@@ -1 +1 @@
1
- {"version":3,"file":"GridObstacle.d.ts","sourceRoot":"","sources":["../../../../../src/engine/grid/obstacle/GridObstacle.js"],"names":[],"mappings":";AAMA;IA0NI,sCAMC;IA/ND,eAAW;IAEX;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QAiChB;IAED;;;;;;OAMG;IACH,sBALW,MAAM,WACN,MAAM,qCAmChB;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;OAKG;IACH,cAJW,MAAM,KACN,MAAM,SACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAYnB;IAED;;;;;;OAMG;IACH,mBALW,MAAM,KACN,MAAM,iBACN,MAAM,EAAE,GACN,OAAO,CAoDnB;IAED;;;;;;MAKC;IAED;;;aAaC;IAUD;;;OAGG;IACH,QAFa,MAAM,CAOlB;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAQnB;CACJ;;;;oBA3PmB,+BAA+B"}
1
+ {"version":3,"file":"GridObstacle.d.ts","sourceRoot":"","sources":["../../../../../src/engine/grid/obstacle/GridObstacle.js"],"names":[],"mappings":";AAMA;IA0NI,sCAMC;IA/ND,eAAW;IAEX;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;;OAIG;IACH,UAHW,MAAM,KACN,MAAM,QAiChB;IAED;;;;;;OAMG;IACH,sBALW,MAAM,WACN,MAAM,eACF,MAAM,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,KAAK,IAAI,uBAkCtE;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;OAKG;IACH,cAJW,MAAM,KACN,MAAM,SACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAYnB;IAED;;;;;;OAMG;IACH,mBALW,MAAM,KACN,MAAM,iBACN,MAAM,EAAE,GACN,OAAO,CAoDnB;IAED;;;;;;MAKC;IAED;;;aAaC;IAUD;;;OAGG;IACH,QAFa,MAAM,CAOlB;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAQnB;CACJ;;;;oBA3PmB,+BAA+B"}
@@ -55,7 +55,7 @@ class GridObstacle {
55
55
  *
56
56
  * @param {number} offsetX
57
57
  * @param {number} offsetY
58
- * @param {function(x:number, y:number, value:number, index:number)} visitor
58
+ * @param {(x: number, y: number, value: number, index: number) => void} visitor
59
59
  * @param {*} [thisArg]
60
60
  */
61
61
  traverseMask(offsetX, offsetY, visitor, thisArg) {
@@ -1 +1 @@
1
- {"version":3,"file":"TopDownCameraControllerHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/input/ecs/util/TopDownCameraControllerHelper.js"],"names":[],"mappings":";AA2CA,+GAmCC;mBA5EkB,wBAAwB"}
1
+ {"version":3,"file":"TopDownCameraControllerHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/input/ecs/util/TopDownCameraControllerHelper.js"],"names":[],"mappings":";AAkDA,+GAmCC;mBA5EkB,wBAAwB"}
@@ -1,4 +1,11 @@
1
- import { Group as ThreeGroup, Matrix4 as ThreeMatrix4, Mesh as ThreeMesh, MeshLambertMaterial } from 'three';
1
+ import {
2
+ CylinderGeometry as ThreeCylinderGeometry,
3
+ Group as ThreeGroup,
4
+ Matrix4 as ThreeMatrix4,
5
+ Mesh as ThreeMesh,
6
+ MeshLambertMaterial,
7
+ SphereGeometry as ThreeSphereGeometry
8
+ } from 'three';
2
9
  import Vector3 from '../../../../core/geom/Vector3.js';
3
10
  import Entity from '../../../ecs/Entity.js';
4
11
  import Renderable from '../../../ecs/renderable/Renderable.js';
@@ -42,8 +49,8 @@ const lookAt = (function () {
42
49
  return lookAt;
43
50
  })();
44
51
  const TopDownCameraControllerHelper = function (targetController, targetTransform, size) {
45
- const tMarkerFromGeometry = new CylinderGeometry(0, size * 0.5, size, 10, 1);
46
- const tMarkerToGeometry = new SphereGeometry(size / 2, 32, 32);
52
+ const tMarkerFromGeometry = new ThreeCylinderGeometry(0, size * 0.5, size, 10, 1);
53
+ const tMarkerToGeometry = new ThreeSphereGeometry(size / 2, 32, 32);
47
54
 
48
55
  const matrix4 = new ThreeMatrix4();
49
56
  matrix4.makeRotationX(-Math.PI / 2);
@@ -19,11 +19,11 @@ export class BehaviorComponent {
19
19
  /**
20
20
  * Executes input function every update cycle.
21
21
  * Will run forever, or until function throws.
22
- * @param {function(time_delta_seconds:number)} action function to loop over
22
+ * @param {(time_delta_seconds: number) => void} action function to loop over
23
23
  * @param {*} [thisArg]
24
24
  * @returns {BehaviorComponent}
25
25
  */
26
- static loop(action: any, thisArg?: any): BehaviorComponent;
26
+ static loop(action: (time_delta_seconds: number) => void, thisArg?: any): BehaviorComponent;
27
27
  /**
28
28
  *
29
29
  * @param {Behavior} b
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviorComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/BehaviorComponent.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH;IA8EI;;;;;;OAMG;IACH,yCAFa,iBAAiB,CAQ7B;IAED;;;;OAIG;IACH,0BAFa,iBAAiB,CAa7B;IA3GD;;;;OAIG;IACH,OAFU,gBAAgB,GAAC,MAAM,CAEG;IAEpC;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,mBAAkB;IAElB;;;;OAIG;IACH,cAHW,MAAM,wBAAsB,GAC1B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,wBAAsB,GAC1B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,wBAAsB,SAC5B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,wBAAsB,GAC1B,OAAO,CAInB;IAUD;;;OAGG;IACH,uBAEC;IAdD;;;OAGG;IACH,oBAEC;CA0CJ;;sBAIS,OAAO;kBAMP,MAAM;;iCA3IiB,uBAAuB"}
1
+ {"version":3,"file":"BehaviorComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/ecs/BehaviorComponent.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH;IA8EI;;;;;;OAMG;IACH,yCAJgC,MAAM,KAAK,IAAI,kBAElC,iBAAiB,CAQ7B;IAED;;;;OAIG;IACH,0BAFa,iBAAiB,CAa7B;IA3GD;;;;OAIG;IACH,OAFU,gBAAgB,GAAC,MAAM,CAEG;IAEpC;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,mBAAkB;IAElB;;;;OAIG;IACH,cAHW,MAAM,wBAAsB,GAC1B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,wBAAsB,GAC1B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,wBAAsB,SAC5B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,wBAAsB,GAC1B,OAAO,CAInB;IAUD;;;OAGG;IACH,uBAEC;IAdD;;;OAGG;IACH,oBAEC;CA0CJ;;sBAIS,OAAO;kBAMP,MAAM;;iCA3IiB,uBAAuB"}
@@ -101,7 +101,7 @@ export class BehaviorComponent {
101
101
  /**
102
102
  * Executes input function every update cycle.
103
103
  * Will run forever, or until function throws.
104
- * @param {function(time_delta_seconds:number)} action function to loop over
104
+ * @param {(time_delta_seconds: number) => void} action function to loop over
105
105
  * @param {*} [thisArg]
106
106
  * @returns {BehaviorComponent}
107
107
  */
@@ -16,11 +16,11 @@ export class ActionBehavior<CTX> extends Behavior<CTX> {
16
16
  static from(func: any, thisArg: any): ActionBehavior<any>;
17
17
  /**
18
18
  *
19
- * @param {function(timeDelta:number, context:CTX)} action
19
+ * @param {(timeDelta: number, context: CTX) => void} action
20
20
  * @param {*} [thisArg=this] defaults to behavior itself if not specified
21
21
  */
22
- constructor(action: any, thisArg?: any);
23
- __action: any;
22
+ constructor(action: (timeDelta: number, context: CTX) => void, thisArg?: any);
23
+ __action: (timeDelta: number, context: CTX) => void;
24
24
  __context: any;
25
25
  tick(timeDelta: any): number;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH;IAqBI;;;OAGG;IACH,0DAEC;IA1BD;;;;OAIG;IACH,wCAaC;IARG,cAAsB;IAIlB,eAAqB;IAc7B,6BAeC;CACJ;yBA1DwB,gBAAgB"}
1
+ {"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH;IAqBI;;;OAGG;IACH,0DAEC;IA1BD;;;;OAIG;IACH,gCAHuB,MAAM,WAAW,GAAG,KAAK,IAAI,iBAgBnD;IARG,sBARmB,MAAM,WAAW,GAAG,KAAK,IAAI,CAQ1B;IAIlB,eAAqB;IAc7B,6BAeC;CACJ;yBA1DwB,gBAAgB"}
@@ -15,7 +15,7 @@ import { BehaviorStatus } from "../BehaviorStatus.js";
15
15
  export class ActionBehavior extends Behavior {
16
16
  /**
17
17
  *
18
- * @param {function(timeDelta:number, context:CTX)} action
18
+ * @param {(timeDelta: number, context: CTX) => void} action
19
19
  * @param {*} [thisArg=this] defaults to behavior itself if not specified
20
20
  */
21
21
  constructor(action, thisArg) {
@@ -35,7 +35,8 @@ export class RandomDelayBehavior extends Behavior<any> {
35
35
  */
36
36
  private elapsed;
37
37
  random: (() => number) | {
38
- setCurrentSeed: (arg0: v) => number;
38
+ setCurrentSeed: (v: number) => void;
39
+ getCurrentSeed: () => number;
39
40
  };
40
41
  fromJSON({ limits, elapsed }: {
41
42
  limits: any;
@@ -1 +1 @@
1
- {"version":3,"file":"RandomDelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/RandomDelayBehavior.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IA6BI;;;;OAIG;IACH,4BAFY,mBAAmB,CAM9B;IAED;;;;;OAKG;IACH,iCAJY,mBAAmB,CAU9B;;IAlDD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,QAFU,eAAe,CAEU;IAEnC;;;;OAIG;IACH,gBAAY;IAEZ;;MAAiC;IAGjC;;;aAGC;IAkCD,6BAQC;CACJ;yBAnFwB,gBAAgB;gCAFT,mDAAmD"}
1
+ {"version":3,"file":"RandomDelayBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/util/RandomDelayBehavior.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IA6BI;;;;OAIG;IACH,4BAFY,mBAAmB,CAM9B;IAED;;;;;OAKG;IACH,iCAJY,mBAAmB,CAU9B;;IAlDD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,QAFU,eAAe,CAEU;IAEnC;;;;OAIG;IACH,gBAAY;IAEZ;;;MAAiC;IAGjC;;;aAGC;IAkCD,6BAQC;CACJ;yBAnFwB,gBAAgB;gCAFT,mDAAmD"}
@@ -34,16 +34,16 @@ export class Blackboard extends AbstractBlackboard {
34
34
  getValueProxy(): any;
35
35
  /**
36
36
  *
37
- * @param {function(name:string, value:*, type: DataType)} visitor
37
+ * @param {(name: string, value: *, type: DataType) => void} visitor
38
38
  * @param {*} [thisArg]
39
39
  */
40
- traverse(visitor: any, thisArg?: any): void;
40
+ traverse(visitor: (name: string, value: any, type: DataType) => void, thisArg?: any): void;
41
41
  /**
42
42
  *
43
- * @param {function(name:string, value:*, type: DataType)} visitor
43
+ * @param {(name: string, value: *, type: DataType) => void} visitor
44
44
  * @param {RegExp} pattern
45
45
  */
46
- traverseWithPattern(pattern: RegExp, visitor: any): void;
46
+ traverseWithPattern(pattern: RegExp, visitor: (name: string, value: any, type: DataType) => void): void;
47
47
  /**
48
48
  * @template T
49
49
  * @param {string} name