@woosh/meep-engine 3.44.0 → 3.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/package.json +1 -1
  3. package/src/core/assert.d.ts.map +1 -1
  4. package/src/core/assert.js +5 -1
  5. package/src/core/binary/hash/XXH128Hash.d.ts +1 -37
  6. package/src/core/binary/hash/XXH128Hash.d.ts.map +1 -1
  7. package/src/core/binary/hash/XXH128Hash.js +4 -55
  8. package/src/core/binary/hash/XXH3_SECRET.d.ts +1 -12
  9. package/src/core/binary/hash/XXH3_SECRET.d.ts.map +1 -1
  10. package/src/core/binary/hash/XXH3_SECRET.js +4 -25
  11. package/src/core/binary/hash/crc32.d.ts +1 -15
  12. package/src/core/binary/hash/crc32.d.ts.map +1 -1
  13. package/src/core/binary/hash/crc32.js +4 -96
  14. package/src/core/binary/hash/xxh3_128.d.ts +1 -9
  15. package/src/core/binary/hash/xxh3_128.d.ts.map +1 -1
  16. package/src/core/binary/hash/xxh3_128.js +4 -341
  17. package/src/core/binary/hash/xxh3_64.d.ts +1 -8
  18. package/src/core/binary/hash/xxh3_64.d.ts.map +1 -1
  19. package/src/core/binary/hash/xxh3_64.js +4 -241
  20. package/src/core/binary/hash/xxh3_common.d.ts +1 -223
  21. package/src/core/binary/hash/xxh3_common.d.ts.map +1 -1
  22. package/src/core/binary/hash/xxh3_common.js +90 -476
  23. package/src/core/collection/array/array_sort_insertion_ascending.d.ts +19 -0
  24. package/src/core/collection/array/array_sort_insertion_ascending.d.ts.map +1 -0
  25. package/src/core/collection/array/array_sort_insertion_ascending.js +31 -0
  26. package/src/core/collection/array/combine_hash.d.ts +6 -0
  27. package/src/core/collection/array/combine_hash.d.ts.map +1 -1
  28. package/src/core/collection/array/combine_hash.js +6 -0
  29. package/src/core/function/FunctionCompiler.js +2 -2
  30. package/src/core/geom/3d/aabb/aabb3_array_round_outward_f32.d.ts +27 -0
  31. package/src/core/geom/3d/aabb/aabb3_array_round_outward_f32.d.ts.map +1 -0
  32. package/src/core/geom/3d/aabb/aabb3_array_round_outward_f32.js +39 -0
  33. package/src/core/geom/3d/aabb/aabb3_from_v3_array.d.ts.map +1 -1
  34. package/src/core/geom/3d/aabb/aabb3_from_v3_array.js +4 -1
  35. package/src/core/geom/3d/aabb/aabb3_transform_oriented.d.ts +2 -2
  36. package/src/core/geom/3d/aabb/aabb3_transform_oriented.d.ts.map +1 -1
  37. package/src/core/geom/3d/aabb/aabb3_transform_oriented.js +1 -1
  38. package/src/core/geom/3d/mat4/m4_multiply.d.ts +3 -0
  39. package/src/core/geom/3d/mat4/m4_multiply.d.ts.map +1 -1
  40. package/src/core/geom/3d/mat4/m4_multiply.js +3 -0
  41. package/src/core/geom/3d/mat4/m4_multiply_f64.d.ts +30 -0
  42. package/src/core/geom/3d/mat4/m4_multiply_f64.d.ts.map +1 -0
  43. package/src/core/geom/3d/mat4/m4_multiply_f64.js +106 -0
  44. package/src/core/geom/3d/pose/pose3_apply_inverse_point_array.d.ts +21 -0
  45. package/src/core/geom/3d/pose/pose3_apply_inverse_point_array.d.ts.map +1 -0
  46. package/src/core/geom/3d/pose/pose3_apply_inverse_point_array.js +36 -0
  47. package/src/core/geom/3d/pose/pose3_apply_point_array.d.ts +25 -0
  48. package/src/core/geom/3d/pose/pose3_apply_point_array.d.ts.map +1 -0
  49. package/src/core/geom/3d/pose/pose3_apply_point_array.js +40 -0
  50. package/src/core/geom/3d/pose/pose3_compose_array.d.ts +28 -0
  51. package/src/core/geom/3d/pose/pose3_compose_array.d.ts.map +1 -0
  52. package/src/core/geom/3d/pose/pose3_compose_array.js +41 -0
  53. package/src/core/geom/3d/pose/pose3_to_local_array.d.ts +29 -0
  54. package/src/core/geom/3d/pose/pose3_to_local_array.d.ts.map +1 -0
  55. package/src/core/geom/3d/pose/pose3_to_local_array.js +42 -0
  56. package/src/core/geom/3d/quaternion/quat3_clamp_angle_array.d.ts +28 -0
  57. package/src/core/geom/3d/quaternion/quat3_clamp_angle_array.d.ts.map +1 -0
  58. package/src/core/geom/3d/quaternion/quat3_clamp_angle_array.js +66 -0
  59. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_left_array.d.ts +22 -0
  60. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_left_array.d.ts.map +1 -0
  61. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_left_array.js +30 -0
  62. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_right_array.d.ts +23 -0
  63. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_right_array.d.ts.map +1 -0
  64. package/src/core/geom/3d/quaternion/quat3_multiply_conjugate_right_array.js +31 -0
  65. package/src/core/geom/3d/triangle/tri3_compute_normal_area_weighted_array.d.ts +26 -0
  66. package/src/core/geom/3d/triangle/tri3_compute_normal_area_weighted_array.d.ts.map +1 -0
  67. package/src/core/geom/3d/triangle/tri3_compute_normal_area_weighted_array.js +46 -0
  68. package/src/core/geom/ConicRay.js +2 -2
  69. package/src/core/geom/Vector4.d.ts.map +1 -1
  70. package/src/core/geom/Vector4.js +8 -5
  71. package/src/core/geom/vec3/v3_distance_array.d.ts +11 -0
  72. package/src/core/geom/vec3/v3_distance_array.d.ts.map +1 -0
  73. package/src/core/geom/vec3/v3_distance_array.js +19 -0
  74. package/src/core/geom/vec3/v3_normalize_array_checked.d.ts +23 -0
  75. package/src/core/geom/vec3/v3_normalize_array_checked.d.ts.map +1 -0
  76. package/src/core/geom/vec3/v3_normalize_array_checked.js +49 -0
  77. package/src/core/geom/vec3/v3_reject_array.d.ts +15 -0
  78. package/src/core/geom/vec3/v3_reject_array.d.ts.map +1 -0
  79. package/src/core/geom/vec3/v3_reject_array.js +32 -0
  80. package/src/core/graph/csr/csr_build_incidence.d.ts +26 -0
  81. package/src/core/graph/csr/csr_build_incidence.d.ts.map +1 -0
  82. package/src/core/graph/csr/csr_build_incidence.js +71 -0
  83. package/src/core/graph/csr/csr_graph_color_greedy.d.ts +25 -0
  84. package/src/core/graph/csr/csr_graph_color_greedy.d.ts.map +1 -0
  85. package/src/core/graph/csr/csr_graph_color_greedy.js +83 -0
  86. package/src/core/graph/csr/csr_graph_validate_coloring.d.ts +15 -0
  87. package/src/core/graph/csr/csr_graph_validate_coloring.d.ts.map +1 -0
  88. package/src/core/graph/csr/csr_graph_validate_coloring.js +33 -0
  89. package/src/core/math/hash/XXH128Hash.d.ts +38 -0
  90. package/src/core/math/hash/XXH128Hash.d.ts.map +1 -0
  91. package/src/core/math/hash/XXH128Hash.js +55 -0
  92. package/src/core/math/hash/XXH3_SECRET.d.ts +13 -0
  93. package/src/core/math/hash/XXH3_SECRET.d.ts.map +1 -0
  94. package/src/core/math/hash/XXH3_SECRET.js +25 -0
  95. package/src/core/math/hash/crc32.d.ts +16 -0
  96. package/src/core/math/hash/crc32.d.ts.map +1 -0
  97. package/src/core/math/hash/crc32.js +96 -0
  98. package/src/core/math/hash/xxh3_128.d.ts +10 -0
  99. package/src/core/math/hash/xxh3_128.d.ts.map +1 -0
  100. package/src/core/math/hash/xxh3_128.js +341 -0
  101. package/src/core/math/hash/xxh3_64.d.ts +9 -0
  102. package/src/core/math/hash/xxh3_64.d.ts.map +1 -0
  103. package/src/core/math/hash/xxh3_64.js +241 -0
  104. package/src/core/math/hash/xxh3_common.d.ts +224 -0
  105. package/src/core/math/hash/xxh3_common.d.ts.map +1 -0
  106. package/src/core/math/hash/xxh3_common.js +476 -0
  107. package/src/core/math/linalg/matrix_symmetric_3x3_solve_ldlt.d.ts +26 -0
  108. package/src/core/math/linalg/matrix_symmetric_3x3_solve_ldlt.d.ts.map +1 -0
  109. package/src/core/math/linalg/matrix_symmetric_3x3_solve_ldlt.js +71 -0
  110. package/src/core/math/lookup/ParameterLookupTable.js +2 -2
  111. package/src/core/math/max2_exact.d.ts +15 -0
  112. package/src/core/math/max2_exact.d.ts.map +1 -0
  113. package/src/core/math/max2_exact.js +30 -0
  114. package/src/core/math/min2_exact.d.ts +20 -0
  115. package/src/core/math/min2_exact.d.ts.map +1 -0
  116. package/src/core/math/min2_exact.js +35 -0
  117. package/src/core/model/node-graph/node/NodeInstancePortReference.js +2 -2
  118. package/src/core/model/reactive/model/ReactiveBinaryExpression.js +2 -2
  119. package/src/core/model/reactive/model/terminal/ReactiveReference.js +2 -2
  120. package/src/engine/asset/AssetDescription.js +2 -2
  121. package/src/engine/ecs/animation/Animation.js +2 -2
  122. package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
  123. package/src/engine/ecs/animation/AnimationClip.js +7 -5
  124. package/src/engine/ecs/gui/GUIElement.d.ts.map +1 -1
  125. package/src/engine/ecs/gui/GUIElement.js +7 -5
  126. package/src/engine/ecs/gui/hud/HeadsUpDisplay.js +2 -2
  127. package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
  128. package/src/engine/ecs/gui/position/ViewportPosition.js +11 -7
  129. package/src/engine/ecs/ik/IKGoalSystem.d.ts.map +1 -1
  130. package/src/engine/ecs/ik/IKGoalSystem.js +3 -19
  131. package/src/engine/ecs/parent/parent_entity_model_of.d.ts +17 -0
  132. package/src/engine/ecs/parent/parent_entity_model_of.d.ts.map +1 -0
  133. package/src/engine/ecs/parent/parent_entity_model_of.js +26 -0
  134. package/src/engine/ecs/transform/Transform64.d.ts +1 -1
  135. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  136. package/src/engine/ecs/transform/Transform64.js +5 -4
  137. package/src/engine/ecs/transform/t64_read_pose_array.d.ts +15 -0
  138. package/src/engine/ecs/transform/t64_read_pose_array.d.ts.map +1 -0
  139. package/src/engine/ecs/transform/t64_read_pose_array.js +24 -0
  140. package/src/engine/graphics/ecs/animation/animator/AnimationClip.d.ts.map +1 -1
  141. package/src/engine/graphics/ecs/animation/animator/AnimationClip.js +8 -5
  142. package/src/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +2 -2
  143. package/src/engine/graphics/ecs/animation/animator/AnimationNotification.js +2 -2
  144. package/src/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +2 -2
  145. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationGraphDefinition.js +2 -2
  146. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +2 -2
  147. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.d.ts.map +1 -1
  148. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +8 -5
  149. package/src/engine/graphics/ecs/decal/v2/Decal.d.ts.map +1 -1
  150. package/src/engine/graphics/ecs/decal/v2/Decal.js +9 -8
  151. package/src/engine/graphics/geometry/geometry_construct_triangle_normal_area_weighted.d.ts +2 -0
  152. package/src/engine/graphics/geometry/geometry_construct_triangle_normal_area_weighted.d.ts.map +1 -1
  153. package/src/engine/graphics/geometry/geometry_construct_triangle_normal_area_weighted.js +10 -21
  154. package/src/engine/graphics/render/frame_graph/resource/TextureResourceDescriptor.d.ts.map +1 -1
  155. package/src/engine/graphics/render/frame_graph/resource/TextureResourceDescriptor.js +9 -6
  156. package/src/engine/graphics3/AnimationGraphSystem.d.ts +5 -0
  157. package/src/engine/graphics3/AnimationGraphSystem.d.ts.map +1 -1
  158. package/src/engine/graphics3/AnimationGraphSystem.js +48 -2
  159. package/src/engine/graphics3/AnimationSystem.d.ts +5 -0
  160. package/src/engine/graphics3/AnimationSystem.d.ts.map +1 -1
  161. package/src/engine/graphics3/AnimationSystem.js +47 -2
  162. package/src/engine/graphics3/ParticipatingMedia.js +204 -204
  163. package/src/engine/graphics3/animation/AnimationClips.d.ts +5 -0
  164. package/src/engine/graphics3/animation/AnimationClips.d.ts.map +1 -1
  165. package/src/engine/graphics3/animation/AnimationClips.js +5 -0
  166. package/src/engine/graphics3/register_clips.d.ts +29 -0
  167. package/src/engine/graphics3/register_clips.d.ts.map +1 -1
  168. package/src/engine/graphics3/register_clips.js +52 -0
  169. package/src/engine/grid/obstacle/GridObstacle.js +2 -2
  170. package/src/engine/intelligence/behavior/selector/WeightedElement.js +2 -2
  171. package/src/engine/interpolation/Interpolated.js +2 -2
  172. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +9 -0
  173. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
  174. package/src/engine/physics/broadphase/compute_fat_world_aabb.js +3 -1
  175. package/src/engine/physics/cloth/PLAN.md +10 -8
  176. package/src/engine/physics/cloth/build/cloth_bind_in_frame.d.ts +22 -0
  177. package/src/engine/physics/cloth/build/cloth_bind_in_frame.d.ts.map +1 -1
  178. package/src/engine/physics/cloth/build/cloth_bind_in_frame.js +51 -19
  179. package/src/engine/physics/cloth/build/cloth_proxy_from_joints.d.ts.map +1 -1
  180. package/src/engine/physics/cloth/build/cloth_proxy_from_joints.js +16 -2
  181. package/src/engine/physics/cloth/build/cloth_proxy_from_mesh.d.ts.map +1 -1
  182. package/src/engine/physics/cloth/build/cloth_proxy_from_mesh.js +19 -24
  183. package/src/engine/physics/cloth/collider/ClothColliderIndex.d.ts +7 -0
  184. package/src/engine/physics/cloth/collider/ClothColliderIndex.d.ts.map +1 -1
  185. package/src/engine/physics/cloth/collider/ClothColliderIndex.js +85 -67
  186. package/src/engine/physics/cloth/collider/cloth_collider_bounds.d.ts.map +1 -1
  187. package/src/engine/physics/cloth/collider/cloth_collider_bounds.js +19 -101
  188. package/src/engine/physics/cloth/collider/cloth_collider_pack.d.ts +2 -5
  189. package/src/engine/physics/cloth/collider/cloth_collider_pack.d.ts.map +1 -1
  190. package/src/engine/physics/cloth/collider/cloth_collider_pack.js +7 -15
  191. package/src/engine/physics/cloth/collider/cloth_collider_sdf.d.ts.map +1 -1
  192. package/src/engine/physics/cloth/collider/cloth_collider_sdf.js +16 -61
  193. package/src/engine/physics/cloth/ecs/Cloth.d.ts.map +1 -1
  194. package/src/engine/physics/cloth/ecs/Cloth.js +7 -5
  195. package/src/engine/physics/cloth/ecs/ClothCollider.d.ts.map +1 -1
  196. package/src/engine/physics/cloth/ecs/ClothCollider.js +7 -5
  197. package/src/engine/physics/cloth/ecs/ClothColliderFlags.d.ts +0 -1
  198. package/src/engine/physics/cloth/ecs/ClothColliderFlags.js +6 -19
  199. package/src/engine/physics/cloth/ecs/ClothColliderSystem.d.ts +1 -2
  200. package/src/engine/physics/cloth/ecs/ClothColliderSystem.d.ts.map +1 -1
  201. package/src/engine/physics/cloth/ecs/ClothColliderSystem.js +3 -12
  202. package/src/engine/physics/cloth/ecs/ClothDynamics.d.ts.map +1 -1
  203. package/src/engine/physics/cloth/ecs/ClothDynamics.js +20 -11
  204. package/src/engine/physics/cloth/ecs/ClothWorld.d.ts.map +1 -1
  205. package/src/engine/physics/cloth/ecs/ClothWorld.js +40 -130
  206. package/src/engine/physics/cloth/ecs/cloth_build_rows.d.ts.map +1 -1
  207. package/src/engine/physics/cloth/ecs/cloth_build_rows.js +17 -58
  208. package/src/engine/physics/cloth/ecs/cloth_dynamics_map.d.ts.map +1 -1
  209. package/src/engine/physics/cloth/ecs/cloth_dynamics_map.js +3 -3
  210. package/src/engine/physics/cloth/ecs/cloth_gather_colliders.d.ts.map +1 -1
  211. package/src/engine/physics/cloth/ecs/cloth_gather_colliders.js +44 -104
  212. package/src/engine/physics/cloth/ecs/cloth_geodesic.d.ts.map +1 -1
  213. package/src/engine/physics/cloth/ecs/cloth_geodesic.js +6 -13
  214. package/src/engine/physics/cloth/ecs/cloth_holds.d.ts.map +1 -1
  215. package/src/engine/physics/cloth/ecs/cloth_holds.js +15 -40
  216. package/src/engine/physics/cloth/ecs/cloth_reconstruct_pose.d.ts.map +1 -1
  217. package/src/engine/physics/cloth/ecs/cloth_reconstruct_pose.js +45 -79
  218. package/src/engine/physics/cloth/ecs/cloth_seed_subtree.d.ts.map +1 -1
  219. package/src/engine/physics/cloth/ecs/cloth_seed_subtree.js +7 -27
  220. package/src/engine/physics/cloth/ecs/cloth_write_back.d.ts.map +1 -1
  221. package/src/engine/physics/cloth/ecs/cloth_write_back.js +30 -62
  222. package/src/engine/physics/cloth/playground/cloth_playground_build.d.ts.map +1 -1
  223. package/src/engine/physics/cloth/playground/cloth_playground_build.js +2 -3
  224. package/src/engine/physics/cloth/playground/collide_main.js +2 -28
  225. package/src/engine/physics/cloth/playground/garment_main.js +4 -19
  226. package/src/engine/physics/cloth/playground/main.js +6 -48
  227. package/src/engine/physics/cloth/playground/rig_main.js +947 -955
  228. package/src/engine/physics/cloth/playground/wind_main.js +8 -7
  229. package/src/engine/physics/cloth/solver/ClothState.d.ts.map +1 -1
  230. package/src/engine/physics/cloth/solver/ClothState.js +16 -76
  231. package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts +10 -8
  232. package/src/engine/physics/cloth/solver/cloth_color_particles.d.ts.map +1 -1
  233. package/src/engine/physics/cloth/solver/cloth_color_particles.js +30 -102
  234. package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
  235. package/src/engine/physics/cloth/solver/cloth_contact_find.js +3 -2
  236. package/src/engine/physics/cloth/solver/cloth_hold_line.d.ts.map +1 -1
  237. package/src/engine/physics/cloth/solver/cloth_hold_line.js +2 -14
  238. package/src/engine/physics/cloth/solver/cloth_kinetic_energy.d.ts +21 -0
  239. package/src/engine/physics/cloth/solver/cloth_kinetic_energy.d.ts.map +1 -0
  240. package/src/engine/physics/cloth/solver/cloth_kinetic_energy.js +45 -0
  241. package/src/engine/physics/cloth/solver/cloth_particle_coupling.d.ts +32 -0
  242. package/src/engine/physics/cloth/solver/cloth_particle_coupling.d.ts.map +1 -0
  243. package/src/engine/physics/cloth/solver/cloth_particle_coupling.js +133 -0
  244. package/src/engine/physics/cloth/solver/cloth_particle_of_source.d.ts +16 -0
  245. package/src/engine/physics/cloth/solver/cloth_particle_of_source.d.ts.map +1 -0
  246. package/src/engine/physics/cloth/solver/cloth_particle_of_source.js +19 -0
  247. package/src/engine/physics/cloth/solver/cloth_self_find.d.ts.map +1 -1
  248. package/src/engine/physics/cloth/solver/cloth_self_find.js +6 -55
  249. package/src/engine/physics/cloth/solver/cloth_solve_vertex.d.ts.map +1 -1
  250. package/src/engine/physics/cloth/solver/cloth_solve_vertex.js +30 -65
  251. package/src/engine/physics/cloth/solver/cloth_step.d.ts.map +1 -1
  252. package/src/engine/physics/cloth/solver/cloth_step.js +6 -28
  253. package/src/engine/physics/cloth/solver/cloth_step_instance.d.ts.map +1 -1
  254. package/src/engine/physics/cloth/solver/cloth_step_instance.js +2 -3
  255. package/src/engine/physics/cloth/solver/cloth_stretch_residual.d.ts +21 -0
  256. package/src/engine/physics/cloth/solver/cloth_stretch_residual.d.ts.map +1 -0
  257. package/src/engine/physics/cloth/solver/cloth_stretch_residual.js +54 -0
  258. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts +15 -0
  259. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.d.ts.map +1 -1
  260. package/src/engine/physics/cloth/solver/cloth_vertex_accumulator.js +28 -0
  261. package/src/engine/physics/cloth/solver/cloth_worst_tether_ratio.d.ts +30 -0
  262. package/src/engine/physics/cloth/solver/cloth_worst_tether_ratio.d.ts.map +1 -0
  263. package/src/engine/physics/cloth/solver/cloth_worst_tether_ratio.js +56 -0
  264. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts.map +1 -1
  265. package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.js +3 -17
  266. package/src/engine/physics/cloth/wind/ClothFluidWind.d.ts +2 -1
  267. package/src/engine/physics/cloth/wind/ClothFluidWind.d.ts.map +1 -1
  268. package/src/engine/physics/cloth/wind/ClothFluidWind.js +7 -25
  269. package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts +3 -1
  270. package/src/engine/physics/cloth/wind/cloth_sample_air.d.ts.map +1 -1
  271. package/src/engine/physics/cloth/wind/cloth_sample_air.js +40 -62
  272. package/src/engine/physics/ecs/ContactProbeSystem.d.ts.map +1 -1
  273. package/src/engine/physics/ecs/ContactProbeSystem.js +2 -18
  274. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  275. package/src/engine/physics/ecs/PhysicsSystem.js +9 -50
  276. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  277. package/src/engine/physics/fluid/FluidField.js +7 -5
  278. package/src/engine/physics/fluid/ecs/FluidComponent.d.ts.map +1 -1
  279. package/src/engine/physics/fluid/ecs/FluidComponent.js +19 -11
  280. package/src/engine/physics/fluid/ecs/fluid_sample_domain_bounds.d.ts +24 -0
  281. package/src/engine/physics/fluid/ecs/fluid_sample_domain_bounds.d.ts.map +1 -0
  282. package/src/engine/physics/fluid/ecs/fluid_sample_domain_bounds.js +42 -0
  283. package/src/engine/physics/fluid/ecs/fluid_sample_velocity_world_mps.d.ts +25 -0
  284. package/src/engine/physics/fluid/ecs/fluid_sample_velocity_world_mps.d.ts.map +1 -0
  285. package/src/engine/physics/fluid/ecs/fluid_sample_velocity_world_mps.js +40 -0
  286. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +2 -2
  287. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
  288. package/src/engine/physics/fluid/effector/GlobalFluidEffector.d.ts.map +1 -1
  289. package/src/engine/physics/fluid/effector/GlobalFluidEffector.js +11 -7
  290. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.d.ts.map +1 -1
  291. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +11 -7
  292. package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts.map +1 -1
  293. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +16 -9
  294. package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_solve.d.ts.map +1 -1
  295. package/src/engine/physics/inverse_kinematics/frame_fabrik/frame_fabrik_solve.js +40 -90
  296. package/src/engine/physics/narrowphase/capsule_contacts.d.ts.map +1 -1
  297. package/src/engine/physics/narrowphase/capsule_contacts.js +3 -5
  298. package/src/engine/physics/narrowphase/decomposition/mesh_enumerate_triangles.d.ts.map +1 -1
  299. package/src/engine/physics/narrowphase/decomposition/mesh_enumerate_triangles.js +2 -14
  300. package/src/engine/physics/narrowphase/hull_sphere_contact.d.ts.map +1 -1
  301. package/src/engine/physics/narrowphase/hull_sphere_contact.js +2 -5
  302. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  303. package/src/engine/physics/narrowphase/narrowphase_step.js +13 -32
  304. package/src/engine/physics/narrowphase/sphere_box_contact.d.ts.map +1 -1
  305. package/src/engine/physics/narrowphase/sphere_box_contact.js +2 -5
  306. package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
  307. package/src/engine/sound/ecs/audio/AudioEmitter.js +12 -7
  308. package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts.map +1 -1
  309. package/src/engine/sound/ecs/trigger/AudioEventTrigger.js +192 -191
  310. package/src/engine/sound/simulation/core/AcousticMedium.js +2 -2
  311. package/src/engine/sound/simulation/definition/AcousticDirectivity.js +2 -2
  312. package/src/engine/sound/simulation/definition/AcousticMaterial.d.ts.map +1 -1
  313. package/src/engine/sound/simulation/definition/AcousticMaterial.js +11 -7
  314. package/src/engine/sound/sopra/definition/BusDefinition.d.ts.map +1 -1
  315. package/src/engine/sound/sopra/definition/BusDefinition.js +5 -4
  316. package/src/engine/sound/sopra/definition/DuckingRule.d.ts.map +1 -1
  317. package/src/engine/sound/sopra/definition/DuckingRule.js +7 -5
  318. package/src/engine/sound/sopra/definition/EventDescription.d.ts.map +1 -1
  319. package/src/engine/sound/sopra/definition/EventDescription.js +23 -13
  320. package/src/engine/sound/sopra/definition/MixerSnapshot.js +2 -2
  321. package/src/engine/sound/sopra/definition/ParameterDefinition.d.ts.map +1 -1
  322. package/src/engine/sound/sopra/definition/ParameterDefinition.js +7 -5
  323. package/src/engine/sound/sopra/definition/clip/AbstractAudioClip.js +2 -2
  324. package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.d.ts.map +1 -1
  325. package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClip.js +4 -3
  326. package/src/engine/sound/sopra/definition/clip/ContainerAudioClip.js +2 -2
  327. package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.js +3 -3
  328. package/src/engine/sound/sopra/definition/clip/SampleAudioClip.d.ts.map +1 -1
  329. package/src/engine/sound/sopra/definition/clip/SampleAudioClip.js +16 -9
  330. package/src/engine/sound/sopra/definition/clip/SilenceAudioClip.js +2 -2
  331. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts +1 -1
  332. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.d.ts.map +1 -1
  333. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClip.js +2 -2
  334. package/src/engine/sound/sopra/definition/effect/CompressorEffect.d.ts.map +1 -1
  335. package/src/engine/sound/sopra/definition/effect/CompressorEffect.js +7 -5
  336. package/src/engine/sound/sopra/definition/effect/EqEffect.d.ts.map +1 -1
  337. package/src/engine/sound/sopra/definition/effect/EqEffect.js +8 -5
  338. package/src/engine/sound/sopra/definition/effect/ReverbEffect.js +2 -2
  339. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
  340. package/src/engine/sound/sopra/legacy/SoundEmitter.js +357 -352
  341. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
  342. package/src/engine/sound/sopra/legacy/SoundTrack.js +281 -278
  343. package/src/format/image/png/PNGReader.js +644 -644
  344. package/src/format/image/png/crc32.d.ts +1 -1
  345. package/src/format/image/png/crc32.js +7 -8
  346. package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts.map +1 -1
  347. package/src/format/texture/basis/transcode/etc1s_to_astc.js +2 -1
  348. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +2 -2
  349. package/src/shade/descriptor/binding/BindGroupLayoutEntry.d.ts.map +1 -1
  350. package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +12 -8
  351. package/src/shade/descriptor/binding/StorageTextureBindingLayout.js +2 -2
  352. package/src/shade/descriptor/binding/TextureBindingLayout.js +2 -2
  353. package/src/shade/descriptor/blend/BlendComponent.js +2 -2
  354. package/src/shade/descriptor/pipeline/PipelineDescriptorBase.js +2 -2
  355. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +2 -2
  356. package/src/shade/descriptor/pipeline/ProgrammableStage.js +2 -2
  357. package/src/shade/descriptor/pipeline/compute/ComputePipelineDescriptor.js +2 -2
  358. package/src/shade/descriptor/pipeline/render/ColorTargetState.js +2 -2
  359. package/src/shade/descriptor/pipeline/render/FragmentState.js +2 -2
  360. package/src/shade/descriptor/pipeline/render/PrimitiveState.js +2 -2
  361. package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.d.ts.map +1 -1
  362. package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +8 -5
  363. package/src/shade/descriptor/pipeline/render/VertexAttribute.js +2 -2
  364. package/src/shade/descriptor/texture/SamplerDescriptor.d.ts.map +1 -1
  365. package/src/shade/descriptor/texture/SamplerDescriptor.js +20 -12
  366. package/src/shade/descriptor/texture/TextureDescriptor.d.ts.map +1 -1
  367. package/src/shade/descriptor/texture/TextureDescriptor.js +11 -7
  368. package/src/shade/device/graph/BufferResourceDescriptor.d.ts.map +1 -1
  369. package/src/shade/device/graph/BufferResourceDescriptor.js +196 -193
  370. package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
  371. package/src/shade/device/graph/TextureResourceDescriptor.js +178 -173
  372. package/src/shade/device/timing/profile/sgpt_read_header.js +1 -1
  373. package/src/shade/device/timing/profile/sgpt_read_records.js +1 -1
  374. package/src/shade/device/timing/profile/sgpt_write_header.js +1 -1
  375. package/src/shade/device/timing/profile/sgpt_write_record.js +1 -1
  376. package/src/shade/playground/image_decode_bench/main.js +2 -1
  377. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts.map +1 -1
  378. package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.js +2 -1
  379. package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.d.ts.map +1 -1
  380. package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.js +2 -1
  381. package/src/shade/playground/ssr_variance/statistics.d.ts.map +1 -1
  382. package/src/shade/playground/ssr_variance/statistics.js +2 -1
  383. package/src/shade/playground/texture_encode/main.d.ts.map +1 -1
  384. package/src/shade/playground/texture_encode/main.js +2 -1
  385. package/src/shade/playground/volumetrics_froxel/measure.d.ts.map +1 -1
  386. package/src/shade/playground/volumetrics_froxel/measure.js +2 -1
  387. package/src/shade/renderer/binding/BufferBinding.js +2 -2
  388. package/src/shade/renderer/buffer/table/gpu_database_check_links.d.ts.map +1 -1
  389. package/src/shade/renderer/buffer/table/gpu_database_check_links.js +2 -1
  390. package/src/shade/renderer/camera/Camera.js +2 -2
  391. package/src/shade/renderer/geometry/Attribute.js +2 -2
  392. package/src/shade/renderer/geometry/Geometry.js +2 -2
  393. package/src/shade/renderer/geometry/geometry_deduplicate_vertices.js +2 -2
  394. package/src/shade/renderer/geometry/meshlet/MeshletBatch.js +2 -2
  395. package/src/shade/renderer/geometry/virtual/build/level/vgeo_build_group_step.d.ts.map +1 -1
  396. package/src/shade/renderer/geometry/virtual/build/level/vgeo_build_group_step.js +3 -2
  397. package/src/shade/renderer/geometry/virtual/build/level/vgeo_build_leaf_frontier.d.ts.map +1 -1
  398. package/src/shade/renderer/geometry/virtual/build/level/vgeo_build_leaf_frontier.js +2 -1
  399. package/src/shade/renderer/geometry/virtual/build/level/vgeo_partition_into_groups.d.ts.map +1 -1
  400. package/src/shade/renderer/geometry/virtual/build/level/vgeo_partition_into_groups.js +2 -1
  401. package/src/shade/renderer/geometry/virtual/build/level/vgeo_run_round.d.ts.map +1 -1
  402. package/src/shade/renderer/geometry/virtual/build/level/vgeo_run_round.js +2 -1
  403. package/src/shade/renderer/geometry/virtual/build/level/vgeo_try_repack.d.ts.map +1 -1
  404. package/src/shade/renderer/geometry/virtual/build/level/vgeo_try_repack.js +3 -2
  405. package/src/shade/renderer/geometry/virtual/build/partition/vgeo_graph_components.d.ts.map +1 -1
  406. package/src/shade/renderer/geometry/virtual/build/partition/vgeo_graph_components.js +2 -1
  407. package/src/shade/renderer/geometry/virtual/build/partition/vgeo_split_face_set_packed.d.ts.map +1 -1
  408. package/src/shade/renderer/geometry/virtual/build/partition/vgeo_split_face_set_packed.js +2 -1
  409. package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_asset_id.js +13 -13
  410. package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_directory_block_checksum.js +41 -41
  411. package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_frame_checksum.js +41 -41
  412. package/src/shade/renderer/geometry/virtual/format/checksum/vgeo_compute_header_checksum.js +25 -25
  413. package/src/shade/renderer/geometry/virtual/format/vgeo_write_container.d.ts.map +1 -1
  414. package/src/shade/renderer/geometry/virtual/format/vgeo_write_container.js +3 -2
  415. package/src/shade/renderer/material/StandardShadeMaterial.d.ts.map +1 -1
  416. package/src/shade/renderer/material/StandardShadeMaterial.js +13 -8
  417. package/src/shade/renderer/particles/optimizer/dag/particle_vector_extract.d.ts.map +1 -1
  418. package/src/shade/renderer/particles/optimizer/dag/particle_vector_extract.js +3 -2
  419. package/src/shade/renderer/scene/optimization/geometry/internal/triangle_fingerprint_stream.d.ts.map +1 -1
  420. package/src/shade/renderer/scene/optimization/geometry/internal/triangle_fingerprint_stream.js +14 -5
  421. package/src/shade/renderer/scene/optimization/sampler2d_from_image_bitmap.js +1 -1
  422. package/src/shade/renderer/shader/type/WGSLStructField.js +2 -2
  423. package/src/shade/renderer/shader/type/WebGPUArray.js +2 -2
  424. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  425. package/src/shade/renderer/shader/type/WebGPUStruct.js +9 -6
  426. package/src/shade/renderer/texture/ShadeTexture.d.ts.map +1 -1
  427. package/src/shade/renderer/texture/ShadeTexture.js +17 -10
  428. package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +2 -2
  429. package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts +4 -4
  430. package/src/shade/renderer/water/surface/chunk_water_surface_sample.js +6 -6
  431. package/src/shade/renderer/water/surface/particles/GPUWaterParticles.d.ts.map +1 -1
  432. package/src/shade/renderer/water/surface/particles/GPUWaterParticles.js +46 -55
  433. package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts +3 -3
  434. package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts.map +1 -1
  435. package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.js +14 -4
  436. package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts +10 -1
  437. package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts.map +1 -1
  438. package/src/shade/renderer/water/surface/particles/chunk_water_particle.js +82 -40
  439. package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts +4 -1
  440. package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts.map +1 -1
  441. package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.js +8 -4
  442. package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts +98 -86
  443. package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts.map +1 -1
  444. package/src/shade/renderer/water/surface/particles/shader_water_particles.js +440 -298
  445. package/src/view/common/HTMLElementCacheKey.d.ts.map +1 -1
  446. package/src/view/common/HTMLElementCacheKey.js +4 -3
  447. package/src/view/minimap/MinimapMarker.js +2 -2
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Advanced 3D game engine",
7
7
  "type": "module",
8
8
  "author": "Alexander Goldring",
9
- "version": "3.44.0",
9
+ "version": "3.46.0",
10
10
  "exports": {
11
11
  "./build/*": "./build/*",
12
12
  "./src/*": "./src/*",
@@ -1 +1 @@
1
- {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/core/assert.js"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,0BAHW,OAAO,MACP,MAAM,QAMhB;;IAoKD;;;;;OAKG;IACH,kEAQC;;;;;;;;;;;;;;;;IAoBD;;;;;;OAMG;IACH,uGAKC;;;IAiCD;;;;OAIG;IACH,2DAMC;IAED;;;;OAIG;IACH,4DAMC;IAED;;;;OAIG;IACH,0DAMC;;IAiBD;;;;OAIG;IACH,sEAMC;IAED;;;;OAIG;IACH,mEAMC;IAED;;;;OAIG;IACH,4DAKC;IAED;;;;OAIG;IACH,4GAKC;;IAkBD;;;;OAIG;IACH,2DAMC;IAGD;;;;OAIG;IACH,wDAIC;IAED;;;;OAIG;IACH,yDAMC;IAED;;;;OAIG;IACH,2DAIC;IAED;;;;;OAKG;IACH,6DAIC;IAED;;;;;;;;;;;;;OAaG;IACH,2EAsBC;;AAlfD;;;;;GAKG;AACH,6CAFW,MAAM,QAIhB;AAED;;;;GAIG;AACH,0BAHW,OAAO,MACP,MAAM,QAIhB;AAhCD;;;;;GAKG;AACH,0CAFW,MAAM,QAShB;AAqBD;;;;;GAKG;AACH,kCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAIhB;AAaD;;;;;GAKG;AACH,gCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAyBD;;;;;GAKG;AACH,uCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AA5CD;;;;;GAKG;AACH,6BAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAyBD;;;;;GAKG;AACH,oCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAkBD;;;;;;GAMG;AACH,0CAHW,MAAM,cACN,MAAM,QAehB;AAED;;;;;GAKG;AACH,iEAFW,MAAM,QAIhB;AAED;;;;;GAKG;AACH,mEAFW,MAAM,QAIhB;AAED;;;;;GAKG;AACH,+IAFW,MAAM,QAMhB;AApED;;;;;GAKG;AACH,2DAFW,MAAM,QAQhB;AA2GD;;;;GAIG;AACH,iCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AAID;;;;GAIG;AACH,iCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AA2CD;;;;GAIG;AACH,kCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AAuDD;;;;GAIG;AACH,0DAMC"}
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/core/assert.js"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,0BAHW,OAAO,MACP,MAAM,QAMhB;;IAoKD;;;;;OAKG;IACH,kEAQC;;;;;;;;;;;;;;;;IAoBD;;;;;;OAMG;IACH,uGASC;;;IAiCD;;;;OAIG;IACH,2DAMC;IAED;;;;OAIG;IACH,4DAMC;IAED;;;;OAIG;IACH,0DAMC;;IAiBD;;;;OAIG;IACH,sEAMC;IAED;;;;OAIG;IACH,mEAMC;IAED;;;;OAIG;IACH,4DAKC;IAED;;;;OAIG;IACH,4GAKC;;IAkBD;;;;OAIG;IACH,2DAMC;IAGD;;;;OAIG;IACH,wDAIC;IAED;;;;OAIG;IACH,yDAMC;IAED;;;;OAIG;IACH,2DAIC;IAED;;;;;OAKG;IACH,6DAIC;IAED;;;;;;;;;;;;;OAaG;IACH,2EAsBC;;AAtfD;;;;;GAKG;AACH,6CAFW,MAAM,QAIhB;AAED;;;;GAIG;AACH,0BAHW,OAAO,MACP,MAAM,QAIhB;AAhCD;;;;;GAKG;AACH,0CAFW,MAAM,QAShB;AAqBD;;;;;GAKG;AACH,kCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAIhB;AAaD;;;;;GAKG;AACH,gCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAyBD;;;;;GAKG;AACH,uCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AA5CD;;;;;GAKG;AACH,6BAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAyBD;;;;;GAKG;AACH,oCAJW,MAAM,KACN,MAAM,MACN,MAAM,QAiBhB;AAkBD;;;;;;GAMG;AACH,0CAHW,MAAM,cACN,MAAM,QAehB;AAED;;;;;GAKG;AACH,iEAFW,MAAM,QAIhB;AAED;;;;;GAKG;AACH,mEAFW,MAAM,QAIhB;AAED;;;;;GAKG;AACH,+IAFW,MAAM,QAMhB;AApED;;;;;GAKG;AACH,2DAFW,MAAM,QAQhB;AA+GD;;;;GAIG;AACH,iCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AAID;;;;GAIG;AACH,iCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AA2CD;;;;GAIG;AACH,kCAHW,MAAM,MAAE,SACR,MAAM,QAQhB;AAuDD;;;;GAIG;AACH,0DAMC"}
@@ -264,7 +264,11 @@ assert.isInstanceOf = function (
264
264
  value,
265
265
  klass, value_name = "value", class_name = klass.name) {
266
266
  defined(klass, 'klass');
267
- assert(value instanceof klass, `expected ${value_name} to be instance of class '${class_name}'`);
267
+
268
+ // the message is built only on failure: built on every call, it allocated 64 B a call
269
+ if (!(value instanceof klass)) {
270
+ throw new Error(`expected ${value_name} to be instance of class '${class_name}'`);
271
+ }
268
272
  }
269
273
 
270
274
 
@@ -1,38 +1,2 @@
1
- /**
2
- * A 128-bit xxHash3 result, kept as its two 64-bit halves because that is how the reference
3
- * implementation names them and how every serialized form writes them.
4
- *
5
- * @author Alex Goldring
6
- * @copyright Company Named Limited (c) 2026
7
- */
8
- export class XXH128Hash {
9
- /**
10
- * @param {bigint} low64
11
- * @param {bigint} high64
12
- */
13
- constructor(low64: bigint, high64: bigint);
14
- /**
15
- * @type {bigint}
16
- */
17
- low64: bigint;
18
- /**
19
- * @type {bigint}
20
- */
21
- high64: bigint;
22
- /**
23
- * @param {XXH128Hash} other
24
- * @returns {boolean}
25
- */
26
- equals(other: XXH128Hash): boolean;
27
- /**
28
- * @returns {string} 32 lowercase hex digits, high half first
29
- */
30
- toString(): string;
31
- /**
32
- * Useful for type checking
33
- * @readonly
34
- * @type {boolean}
35
- */
36
- readonly isXXH128Hash: boolean;
37
- }
1
+ export { XXH128Hash } from "../../math/hash/XXH128Hash.js";
38
2
  //# sourceMappingURL=XXH128Hash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XXH128Hash.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/XXH128Hash.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH;IAWI;;;OAGG;IACH,mBAHW,MAAM,UACN,MAAM,EAQhB;IApBD;;OAEG;IACH,OAFU,MAAM,CAEL;IAEX;;OAEG;IACH,QAFU,MAAM,CAEJ;IAcZ;;;OAGG;IACH,cAHW,UAAU,GACR,OAAO,CAInB;IAED;;OAEG;IACH,YAFa,MAAM,CAIlB;IAGL;;;;OAIG;IACH,uBAFU,OAAO,CAEgB;CAPhC"}
1
+ {"version":3,"file":"XXH128Hash.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/XXH128Hash.js"],"names":[],"mappings":""}
@@ -1,55 +1,4 @@
1
- import { assert } from "../../assert.js";
2
- import { XXH_MASK_64 } from "./xxh3_common.js";
3
-
4
- /**
5
- * A 128-bit xxHash3 result, kept as its two 64-bit halves because that is how the reference
6
- * implementation names them and how every serialized form writes them.
7
- *
8
- * @author Alex Goldring
9
- * @copyright Company Named Limited (c) 2026
10
- */
11
- export class XXH128Hash {
12
- /**
13
- * @type {bigint}
14
- */
15
- low64 = 0n;
16
-
17
- /**
18
- * @type {bigint}
19
- */
20
- high64 = 0n;
21
-
22
- /**
23
- * @param {bigint} low64
24
- * @param {bigint} high64
25
- */
26
- constructor(low64, high64) {
27
- assert.equal(typeof low64, 'bigint', `low64 must be a bigint, instead was '${typeof low64}'`);
28
- assert.equal(typeof high64, 'bigint', `high64 must be a bigint, instead was '${typeof high64}'`);
29
-
30
- this.low64 = low64 & XXH_MASK_64;
31
- this.high64 = high64 & XXH_MASK_64;
32
- }
33
-
34
- /**
35
- * @param {XXH128Hash} other
36
- * @returns {boolean}
37
- */
38
- equals(other) {
39
- return this.low64 === other.low64 && this.high64 === other.high64;
40
- }
41
-
42
- /**
43
- * @returns {string} 32 lowercase hex digits, high half first
44
- */
45
- toString() {
46
- return this.high64.toString(16).padStart(16, '0') + this.low64.toString(16).padStart(16, '0');
47
- }
48
- }
49
-
50
- /**
51
- * Useful for type checking
52
- * @readonly
53
- * @type {boolean}
54
- */
55
- XXH128Hash.prototype.isXXH128Hash = true;
1
+ export {
2
+ /** @deprecated moved to core/math/hash/XXH128Hash.js; import it from there */
3
+ XXH128Hash
4
+ } from "../../math/hash/XXH128Hash.js";
@@ -1,13 +1,2 @@
1
- /**
2
- * xxHash3's default secret — the pseudorandom key material every unseeded hash mixes with, taken
3
- * directly from FARSH by the reference implementation. Reproduced byte-for-byte; changing a single
4
- * byte changes every hash this module produces.
5
- *
6
- * @see https://github.com/Cyan4973/xxHash/blob/dev/xxhash.h
7
- * @readonly
8
- * @type {Uint8Array}
9
- *
10
- * @copyright Company Named Limited (c) 2026
11
- */
12
- export const XXH3_SECRET: Uint8Array;
1
+ export { XXH3_SECRET } from "../../math/hash/XXH3_SECRET.js";
13
2
  //# sourceMappingURL=XXH3_SECRET.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XXH3_SECRET.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/XXH3_SECRET.js"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,0BAJU,UAAU,CAiBjB"}
1
+ {"version":3,"file":"XXH3_SECRET.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/XXH3_SECRET.js"],"names":[],"mappings":""}
@@ -1,25 +1,4 @@
1
- /**
2
- * xxHash3's default secret — the pseudorandom key material every unseeded hash mixes with, taken
3
- * directly from FARSH by the reference implementation. Reproduced byte-for-byte; changing a single
4
- * byte changes every hash this module produces.
5
- *
6
- * @see https://github.com/Cyan4973/xxHash/blob/dev/xxhash.h
7
- * @readonly
8
- * @type {Uint8Array}
9
- *
10
- * @copyright Company Named Limited (c) 2026
11
- */
12
- export const XXH3_SECRET = new Uint8Array([
13
- 0xb8, 0xfe, 0x6c, 0x39, 0x23, 0xa4, 0x4b, 0xbe, 0x7c, 0x01, 0x81, 0x2c, 0xf7, 0x21, 0xad, 0x1c,
14
- 0xde, 0xd4, 0x6d, 0xe9, 0x83, 0x90, 0x97, 0xdb, 0x72, 0x40, 0xa4, 0xa4, 0xb7, 0xb3, 0x67, 0x1f,
15
- 0xcb, 0x79, 0xe6, 0x4e, 0xcc, 0xc0, 0xe5, 0x78, 0x82, 0x5a, 0xd0, 0x7d, 0xcc, 0xff, 0x72, 0x21,
16
- 0xb8, 0x08, 0x46, 0x74, 0xf7, 0x43, 0x24, 0x8e, 0xe0, 0x35, 0x90, 0xe6, 0x81, 0x3a, 0x26, 0x4c,
17
- 0x3c, 0x28, 0x52, 0xbb, 0x91, 0xc3, 0x00, 0xcb, 0x88, 0xd0, 0x65, 0x8b, 0x1b, 0x53, 0x2e, 0xa3,
18
- 0x71, 0x64, 0x48, 0x97, 0xa2, 0x0d, 0xf9, 0x4e, 0x38, 0x19, 0xef, 0x46, 0xa9, 0xde, 0xac, 0xd8,
19
- 0xa8, 0xfa, 0x76, 0x3f, 0xe3, 0x9c, 0x34, 0x3f, 0xf9, 0xdc, 0xbb, 0xc7, 0xc7, 0x0b, 0x4f, 0x1d,
20
- 0x8a, 0x51, 0xe0, 0x4b, 0xcd, 0xb4, 0x59, 0x31, 0xc8, 0x9f, 0x7e, 0xc9, 0xd9, 0x78, 0x73, 0x64,
21
- 0xea, 0xc5, 0xac, 0x83, 0x34, 0xd3, 0xeb, 0xc3, 0xc5, 0x81, 0xa0, 0xff, 0xfa, 0x13, 0x63, 0xeb,
22
- 0x17, 0x0d, 0xdd, 0x51, 0xb7, 0xf0, 0xda, 0x49, 0xd3, 0x16, 0x55, 0x26, 0x29, 0xd4, 0x68, 0x9e,
23
- 0x2b, 0x16, 0xbe, 0x58, 0x7d, 0x47, 0xa1, 0xfc, 0x8f, 0xf8, 0xb8, 0xd1, 0x7a, 0xd0, 0x31, 0xce,
24
- 0x45, 0xcb, 0x3a, 0x8f, 0x95, 0x16, 0x04, 0x28, 0xaf, 0xd7, 0xfb, 0xca, 0xbb, 0x4b, 0x40, 0x7e,
25
- ]);
1
+ export {
2
+ /** @deprecated moved to core/math/hash/XXH3_SECRET.js; import it from there */
3
+ XXH3_SECRET
4
+ } from "../../math/hash/XXH3_SECRET.js";
@@ -1,16 +1,2 @@
1
- /**
2
- * 32-bit Cyclic Redundancy Checksum.
3
- * @see https://en.wikipedia.org/wiki/Cyclic_redundancy_check
4
- * @param {Uint8Array} buffer byte buffer
5
- * @param {number} [offset=0] where to start in the input buffer
6
- * @param {number} [length=buffer.length] how many bytes to include in checksum calculation
7
- * @return {number} Unsigned 32-bit integer value
8
- * @copyright Company Named Limited (c) 2026
9
- *
10
- * @example
11
- * const buffer = new BinaryBuffer();
12
- * buffer.writeASCIIString("Hello World");
13
- * const checksum = crc32(buffer.raw_bytes, 0, buffer.position);
14
- */
15
- export function crc32(buffer: Uint8Array, offset?: number, length?: number): number;
1
+ export { crc32 } from "../../math/hash/crc32.js";
16
2
  //# sourceMappingURL=crc32.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crc32.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/crc32.js"],"names":[],"mappings":"AA2EA;;;;;;;;;;;;;GAaG;AACH,8BAXW,UAAU,WACV,MAAM,WACN,MAAM,GACL,MAAM,CAcjB"}
1
+ {"version":3,"file":"crc32.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/crc32.js"],"names":[],"mappings":""}
@@ -1,96 +1,4 @@
1
- import { assert } from "../../assert.js";
2
-
3
- /*
4
- * CRC-32/ISO-3309, the reflected 0xEDB88320 variant. The same checksum PNG chunks, ZIP local file
5
- * headers and gzip trailers all carry, which is why this lives in core rather than beside any one
6
- * of them.
7
- *
8
- * Ported from C source at https://www.w3.org/TR/PNG-CRCAppendix.html
9
- * See also ISO 3309 [ISO-3309] or ITU-T V.42 [ITU-V42] for a formal specification
10
- */
11
-
12
- /**
13
- *
14
- * @type {Uint32Array}
15
- */
16
- const crc_table = new Uint32Array(256);
17
-
18
- // Precompute checksum table
19
- for (let n = 0; n < 256; n++) {
20
- let c = n;
21
-
22
- for (let k = 0; k < 8; k++) {
23
-
24
- if ((c & 1) !== 0) {
25
- // CRC32b polynomial
26
- c = 0xedb88320 ^ (c >>> 1);
27
- } else {
28
- c = c >>> 1;
29
- }
30
-
31
- }
32
-
33
- crc_table[n] = c;
34
- }
35
-
36
- const INITIAL = 0xffffffff;
37
-
38
- /**
39
- * Update a running CRC with the bytes buf[0..len-1]--the CRC
40
- * should be initialized to all 1's, and the transmitted value
41
- * is the 1's complement of the final running CRC (see the crc32() routine below)).
42
- * @param {number} input_crc starting CRC value
43
- * @param {Uint8Array} buffer
44
- * @param {number} offset
45
- * @param {number} length
46
- * @return {number}
47
- */
48
- function update_crc(
49
- input_crc,
50
- buffer,
51
- offset,
52
- length,
53
- ) {
54
- assert.isNonNegativeInteger(input_crc, 'input_crc');
55
- assert.defined(buffer, 'buffer');
56
- assert.isNonNegativeInteger(offset, 'offset');
57
- assert.isNonNegativeInteger(length, 'length');
58
-
59
- let crc = input_crc;
60
-
61
- const end = offset + length;
62
-
63
- for (let n = offset; n < end; n++) {
64
-
65
- const byte = buffer[n];
66
-
67
- const lookup_index = (crc ^ byte) & 0xff;
68
-
69
- crc = crc_table[lookup_index] ^ (crc >>> 8);
70
-
71
- }
72
-
73
- return crc;
74
- }
75
-
76
- /**
77
- * 32-bit Cyclic Redundancy Checksum.
78
- * @see https://en.wikipedia.org/wiki/Cyclic_redundancy_check
79
- * @param {Uint8Array} buffer byte buffer
80
- * @param {number} [offset=0] where to start in the input buffer
81
- * @param {number} [length=buffer.length] how many bytes to include in checksum calculation
82
- * @return {number} Unsigned 32-bit integer value
83
- * @copyright Company Named Limited (c) 2026
84
- *
85
- * @example
86
- * const buffer = new BinaryBuffer();
87
- * buffer.writeASCIIString("Hello World");
88
- * const checksum = crc32(buffer.raw_bytes, 0, buffer.position);
89
- */
90
- export function crc32(
91
- buffer,
92
- offset=0,
93
- length=buffer.length,
94
- ) {
95
- return (update_crc(INITIAL, buffer, offset, length) ^ INITIAL) >>> 0;
96
- }
1
+ export {
2
+ /** @deprecated moved to core/math/hash/crc32.js; import it from there */
3
+ crc32
4
+ } from "../../math/hash/crc32.js";
@@ -1,10 +1,2 @@
1
- /**
2
- * Hash `input` to a 128-bit value.
3
- *
4
- * @param {Uint8Array} input bytes to hash; an empty array is valid
5
- * @param {bigint} [seed] alters the whole hash; 0 selects the reference's unseeded behaviour
6
- * @returns {XXH128Hash}
7
- */
8
- export function xxh3_128(input: Uint8Array, seed?: bigint): XXH128Hash;
9
- import { XXH128Hash } from "./XXH128Hash.js";
1
+ export { xxh3_128 } from "../../math/hash/xxh3_128.js";
10
2
  //# sourceMappingURL=xxh3_128.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xxh3_128.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/xxh3_128.js"],"names":[],"mappings":"AA2TA;;;;;;GAMG;AACH,gCAJW,UAAU,SACV,MAAM,GACJ,UAAU,CAoBtB;2BApV0B,iBAAiB"}
1
+ {"version":3,"file":"xxh3_128.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/hash/xxh3_128.js"],"names":[],"mappings":""}
@@ -1,341 +1,4 @@
1
- import { XXH128Hash } from "./XXH128Hash.js";
2
- import { XXH3_SECRET } from "./XXH3_SECRET.js";
3
- import {
4
- add64,
5
- mul64,
6
- mult32to64,
7
- read_u32,
8
- read_u64,
9
- rotl32,
10
- sub64,
11
- swap32,
12
- swap64,
13
- u64,
14
- XXH3_MIDSIZE_LASTOFFSET,
15
- XXH3_MIDSIZE_MAX,
16
- XXH3_MIDSIZE_STARTOFFSET,
17
- XXH3_SECRET_SIZE_MIN,
18
- xxh3_assert_arguments,
19
- xxh3_avalanche,
20
- xxh3_hash_long_loop,
21
- xxh3_init_acc,
22
- xxh3_long_secret,
23
- xxh3_merge_accs,
24
- xxh3_mix16b,
25
- XXH_MASK_64,
26
- XXH_PRIME32_2,
27
- XXH_PRIME64_1,
28
- XXH_PRIME64_2,
29
- XXH_PRIME64_4,
30
- XXH_PRIME_MX2,
31
- XXH_SECRET_MERGEACCS_START,
32
- XXH_STRIPE_LEN,
33
- xorshift64,
34
- xxh64_avalanche,
35
- } from "./xxh3_common.js";
36
-
37
- /**
38
- * xxHash3, 128-bit output.
39
- *
40
- * A direct transcription of the reference implementation, verified against its published sanity
41
- * vectors — see `xxh3_128.spec.js`. The low 64 bits are *not* in general equal to
42
- * {@link xxh3_64} of the same input; they only coincide for inputs longer than
43
- * {@link XXH3_MIDSIZE_MAX}, where both variants share the accumulator loop.
44
- *
45
- * @see https://github.com/Cyan4973/xxHash
46
- *
47
- * @author Alex Goldring
48
- * @copyright Company Named Limited (c) 2026
49
- */
50
-
51
- /**
52
- * Full 64x64 -> 128 multiply. The halves are returned separately because every caller manipulates
53
- * them independently before folding.
54
- *
55
- * @param {bigint} a
56
- * @param {bigint} b
57
- * @returns {XXH128Hash}
58
- */
59
- function mult64to128(a, b) {
60
- const product = a * b;
61
-
62
- return new XXH128Hash(product & XXH_MASK_64, (product >> 64n) & XXH_MASK_64);
63
- }
64
-
65
- /**
66
- * @param {Uint8Array} input 1..3 bytes
67
- * @param {Uint8Array} secret
68
- * @param {bigint} seed
69
- * @returns {XXH128Hash}
70
- */
71
- function len_1to3(input, secret, seed) {
72
- const len = input.length;
73
-
74
- const c1 = input[0];
75
- const c2 = input[len >> 1];
76
- const c3 = input[len - 1];
77
-
78
- const combined_lo = BigInt(((c1 << 16) | (c2 << 24) | c3 | (len << 8)) >>> 0);
79
- const combined_hi = rotl32(swap32(combined_lo), 13);
80
-
81
- const bitflip_lo = add64(read_u32(secret, 0) ^ read_u32(secret, 4), seed);
82
- const bitflip_hi = sub64(read_u32(secret, 8) ^ read_u32(secret, 12), seed);
83
-
84
- return new XXH128Hash(
85
- xxh64_avalanche(combined_lo ^ bitflip_lo),
86
- xxh64_avalanche(combined_hi ^ bitflip_hi)
87
- );
88
- }
89
-
90
- /**
91
- * @param {Uint8Array} input 4..8 bytes
92
- * @param {Uint8Array} secret
93
- * @param {bigint} seed
94
- * @returns {XXH128Hash}
95
- */
96
- function len_4to8(input, secret, seed) {
97
- const len = input.length;
98
-
99
- const mixed_seed = seed ^ u64(swap32(seed) << 32n);
100
-
101
- const input_lo = read_u32(input, 0);
102
- const input_hi = read_u32(input, len - 4);
103
-
104
- const input_64 = add64(input_lo, input_hi << 32n);
105
- const bitflip = add64(read_u64(secret, 16) ^ read_u64(secret, 24), mixed_seed);
106
- const keyed = input_64 ^ bitflip;
107
-
108
- const m128 = mult64to128(keyed, add64(XXH_PRIME64_1, BigInt(len) << 2n));
109
-
110
- m128.high64 = add64(m128.high64, u64(m128.low64 << 1n));
111
- m128.low64 = m128.low64 ^ (m128.high64 >> 3n);
112
-
113
- m128.low64 = xorshift64(m128.low64, 35);
114
- m128.low64 = mul64(m128.low64, XXH_PRIME_MX2);
115
- m128.low64 = xorshift64(m128.low64, 28);
116
- m128.high64 = xxh3_avalanche(m128.high64);
117
-
118
- return m128;
119
- }
120
-
121
- /**
122
- * @param {Uint8Array} input 9..16 bytes
123
- * @param {Uint8Array} secret
124
- * @param {bigint} seed
125
- * @returns {XXH128Hash}
126
- */
127
- function len_9to16(input, secret, seed) {
128
- const len = input.length;
129
-
130
- const bitflip_lo = sub64(read_u64(secret, 32) ^ read_u64(secret, 40), seed);
131
- const bitflip_hi = add64(read_u64(secret, 48) ^ read_u64(secret, 56), seed);
132
-
133
- const input_lo = read_u64(input, 0);
134
-
135
- let input_hi = read_u64(input, len - 8);
136
-
137
- const m128 = mult64to128(input_lo ^ input_hi ^ bitflip_lo, XXH_PRIME64_1);
138
-
139
- m128.low64 = add64(m128.low64, BigInt(len - 1) << 54n);
140
-
141
- input_hi ^= bitflip_hi;
142
-
143
- m128.high64 = add64(
144
- m128.high64,
145
- add64(input_hi, mult32to64(input_hi, XXH_PRIME32_2 - 1n))
146
- );
147
-
148
- m128.low64 = m128.low64 ^ swap64(m128.high64);
149
-
150
- const h128 = mult64to128(m128.low64, XXH_PRIME64_2);
151
-
152
- h128.high64 = add64(h128.high64, mul64(m128.high64, XXH_PRIME64_2));
153
-
154
- h128.low64 = xxh3_avalanche(h128.low64);
155
- h128.high64 = xxh3_avalanche(h128.high64);
156
-
157
- return h128;
158
- }
159
-
160
- /**
161
- * @param {Uint8Array} input 0..16 bytes
162
- * @param {Uint8Array} secret
163
- * @param {bigint} seed
164
- * @returns {XXH128Hash}
165
- */
166
- function len_0to16(input, secret, seed) {
167
- const len = input.length;
168
-
169
- if (len > 8) {
170
- return len_9to16(input, secret, seed);
171
- }
172
-
173
- if (len >= 4) {
174
- return len_4to8(input, secret, seed);
175
- }
176
-
177
- if (len > 0) {
178
- return len_1to3(input, secret, seed);
179
- }
180
-
181
- const bitflip_lo = read_u64(secret, 64) ^ read_u64(secret, 72);
182
- const bitflip_hi = read_u64(secret, 80) ^ read_u64(secret, 88);
183
-
184
- return new XXH128Hash(
185
- xxh64_avalanche(seed ^ bitflip_lo),
186
- xxh64_avalanche(seed ^ bitflip_hi)
187
- );
188
- }
189
-
190
- /**
191
- * The 32-byte mixing step: two 16-byte windows, each folded into one half and cross-XOR'd into the
192
- * other. Slower than the 64-bit path's `mix16B`, and better behaved when a product lands on zero.
193
- *
194
- * @param {XXH128Hash} acc mutated in place
195
- * @param {Uint8Array} input
196
- * @param {number} input_1
197
- * @param {number} input_2
198
- * @param {Uint8Array} secret
199
- * @param {number} secret_offset
200
- * @param {bigint} seed
201
- */
202
- function mix32b(acc, input, input_1, input_2, secret, secret_offset, seed) {
203
- acc.low64 = add64(acc.low64, xxh3_mix16b(input, input_1, secret, secret_offset, seed));
204
- acc.low64 = acc.low64 ^ add64(read_u64(input, input_2), read_u64(input, input_2 + 8));
205
-
206
- acc.high64 = add64(acc.high64, xxh3_mix16b(input, input_2, secret, secret_offset + 16, seed));
207
- acc.high64 = acc.high64 ^ add64(read_u64(input, input_1), read_u64(input, input_1 + 8));
208
- }
209
-
210
- /**
211
- * The shared tail of both mid-size paths.
212
- *
213
- * @param {XXH128Hash} acc
214
- * @param {number} len
215
- * @param {bigint} seed
216
- * @returns {XXH128Hash}
217
- */
218
- function finalize_midsize(acc, len, seed) {
219
- const low64 = xxh3_avalanche(add64(acc.low64, acc.high64));
220
-
221
- const high64 = xxh3_avalanche(add64(
222
- add64(mul64(acc.low64, XXH_PRIME64_1), mul64(acc.high64, XXH_PRIME64_4)),
223
- mul64(sub64(BigInt(len), seed), XXH_PRIME64_2)
224
- ));
225
-
226
- return new XXH128Hash(low64, sub64(0n, high64));
227
- }
228
-
229
- /**
230
- * @param {Uint8Array} input 17..128 bytes
231
- * @param {Uint8Array} secret
232
- * @param {bigint} seed
233
- * @returns {XXH128Hash}
234
- */
235
- function len_17to128(input, secret, seed) {
236
- const len = input.length;
237
-
238
- const acc = new XXH128Hash(mul64(BigInt(len), XXH_PRIME64_1), 0n);
239
-
240
- if (len > 32) {
241
- if (len > 64) {
242
- if (len > 96) {
243
- mix32b(acc, input, 48, len - 64, secret, 96, seed);
244
- }
245
-
246
- mix32b(acc, input, 32, len - 48, secret, 64, seed);
247
- }
248
-
249
- mix32b(acc, input, 16, len - 32, secret, 32, seed);
250
- }
251
-
252
- mix32b(acc, input, 0, len - 16, secret, 0, seed);
253
-
254
- return finalize_midsize(acc, len, seed);
255
- }
256
-
257
- /**
258
- * @param {Uint8Array} input 129..240 bytes
259
- * @param {Uint8Array} secret
260
- * @param {bigint} seed
261
- * @returns {XXH128Hash}
262
- */
263
- function len_129to240(input, secret, seed) {
264
- const len = input.length;
265
-
266
- const acc = new XXH128Hash(mul64(BigInt(len), XXH_PRIME64_1), 0n);
267
-
268
- for (let i = 32; i < 160; i += 32) {
269
- mix32b(acc, input, i - 32, i - 16, secret, i - 32, seed);
270
- }
271
-
272
- acc.low64 = xxh3_avalanche(acc.low64);
273
- acc.high64 = xxh3_avalanche(acc.high64);
274
-
275
- for (let i = 160; i <= len; i += 32) {
276
- mix32b(acc, input, i - 32, i - 16, secret, XXH3_MIDSIZE_STARTOFFSET + i - 160, seed);
277
- }
278
-
279
- mix32b(
280
- acc,
281
- input, len - 16, len - 32,
282
- secret, XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET - 16,
283
- sub64(0n, seed)
284
- );
285
-
286
- return finalize_midsize(acc, len, seed);
287
- }
288
-
289
- /**
290
- * @param {Uint8Array} input more than {@link XXH3_MIDSIZE_MAX} bytes
291
- * @param {Uint8Array} secret
292
- * @returns {XXH128Hash}
293
- */
294
- function hash_long(input, secret) {
295
- const acc = xxh3_init_acc();
296
-
297
- xxh3_hash_long_loop(acc, input, secret);
298
-
299
- const len = BigInt(input.length);
300
-
301
- const low64 = xxh3_merge_accs(
302
- acc,
303
- secret, XXH_SECRET_MERGEACCS_START,
304
- mul64(len, XXH_PRIME64_1)
305
- );
306
-
307
- const high64 = xxh3_merge_accs(
308
- acc,
309
- secret, secret.length - XXH_STRIPE_LEN - XXH_SECRET_MERGEACCS_START,
310
- XXH_MASK_64 ^ mul64(len, XXH_PRIME64_2)
311
- );
312
-
313
- return new XXH128Hash(low64, high64);
314
- }
315
-
316
- /**
317
- * Hash `input` to a 128-bit value.
318
- *
319
- * @param {Uint8Array} input bytes to hash; an empty array is valid
320
- * @param {bigint} [seed] alters the whole hash; 0 selects the reference's unseeded behaviour
321
- * @returns {XXH128Hash}
322
- */
323
- export function xxh3_128(input, seed = 0n) {
324
- xxh3_assert_arguments(input, seed);
325
-
326
- const len = input.length;
327
-
328
- if (len <= 16) {
329
- return len_0to16(input, XXH3_SECRET, seed);
330
- }
331
-
332
- if (len <= 128) {
333
- return len_17to128(input, XXH3_SECRET, seed);
334
- }
335
-
336
- if (len <= XXH3_MIDSIZE_MAX) {
337
- return len_129to240(input, XXH3_SECRET, seed);
338
- }
339
-
340
- return hash_long(input, xxh3_long_secret(seed));
341
- }
1
+ export {
2
+ /** @deprecated moved to core/math/hash/xxh3_128.js; import it from there */
3
+ xxh3_128
4
+ } from "../../math/hash/xxh3_128.js";
@@ -1,9 +1,2 @@
1
- /**
2
- * Hash `input` to a 64-bit value.
3
- *
4
- * @param {Uint8Array} input bytes to hash; an empty array is valid
5
- * @param {bigint} [seed] alters the whole hash; 0 selects the reference's unseeded behaviour
6
- * @returns {bigint} in `[0, 2^64)`
7
- */
8
- export function xxh3_64(input: Uint8Array, seed?: bigint): bigint;
1
+ export { xxh3_64 } from "../../math/hash/xxh3_64.js";
9
2
  //# sourceMappingURL=xxh3_64.d.ts.map