@woosh/meep-engine 2.138.18 → 2.138.19

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 (444) hide show
  1. package/README.md +2 -2
  2. package/build/bundle-worker-image-decoder.js +1 -1
  3. package/editor/actions/concrete/ActionUpdateTexture.d.ts +12 -0
  4. package/editor/actions/concrete/ActionUpdateTexture.d.ts.map +1 -0
  5. package/editor/actions/concrete/ArrayCopyAction.d.ts +20 -0
  6. package/editor/actions/concrete/ArrayCopyAction.d.ts.map +1 -0
  7. package/editor/actions/concrete/ComponentRemoveAction.d.ts +11 -0
  8. package/editor/actions/concrete/ComponentRemoveAction.d.ts.map +1 -0
  9. package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts +47 -0
  10. package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts.map +1 -0
  11. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts +38 -0
  12. package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts.map +1 -0
  13. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts +23 -0
  14. package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts.map +1 -0
  15. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts +19 -0
  16. package/editor/actions/concrete/PatchTerrainHeightAction.d.ts.map +1 -0
  17. package/editor/actions/concrete/SelectionRemoveAction.d.ts +10 -0
  18. package/editor/actions/concrete/SelectionRemoveAction.d.ts.map +1 -0
  19. package/editor/actions/concrete/WriteGridValueAction.d.ts +15 -0
  20. package/editor/actions/concrete/WriteGridValueAction.d.ts.map +1 -0
  21. package/editor/ecs/component/FieldDescriptor.d.ts +27 -0
  22. package/editor/ecs/component/FieldDescriptor.d.ts.map +1 -0
  23. package/editor/ecs/component/FieldValueAdapter.d.ts +7 -0
  24. package/editor/ecs/component/FieldValueAdapter.d.ts.map +1 -0
  25. package/editor/ecs/component/createFieldEditor.d.ts +9 -0
  26. package/editor/ecs/component/createFieldEditor.d.ts.map +1 -0
  27. package/editor/ecs/component/createObjectEditor.d.ts +14 -0
  28. package/editor/ecs/component/createObjectEditor.d.ts.map +1 -0
  29. package/editor/ecs/component/editors/geom/QuaternionEditor.d.ts.map +1 -1
  30. package/editor/ecs/component/findNearestRegisteredType.d.ts +8 -0
  31. package/editor/ecs/component/findNearestRegisteredType.d.ts.map +1 -0
  32. package/editor/process/ObstacleGridDisplayProcess.d.ts.map +1 -1
  33. package/editor/process/symbolic/makeGridPositionSymbolDisplay.d.ts.map +1 -1
  34. package/editor/tools/GridPaintTool.d.ts +17 -0
  35. package/editor/tools/GridPaintTool.d.ts.map +1 -0
  36. package/editor/tools/SelectionTool.d.ts +27 -0
  37. package/editor/tools/SelectionTool.d.ts.map +1 -0
  38. package/editor/tools/TopDownCameraControlTool.d.ts +13 -0
  39. package/editor/tools/TopDownCameraControlTool.d.ts.map +1 -0
  40. package/editor/view/ecs/ComponentControlFactory.d.ts.map +1 -0
  41. package/editor/view/ecs/ComponentControlView.d.ts.map +1 -1
  42. package/editor/view/ecs/EntityEditor.d.ts.map +1 -0
  43. package/editor/view/ecs/EntityList.d.ts.map +1 -0
  44. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +1 -0
  45. package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
  46. package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
  47. package/editor/view/node-graph/NodeView.d.ts.map +1 -1
  48. package/editor/view/node-graph/PortView.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/src/core/binary/BinaryBuffer.d.ts +1 -1
  51. package/src/core/binary/BinaryBuffer.js +1 -1
  52. package/src/core/binary/BitSet.d.ts +1 -1
  53. package/src/core/binary/BitSet.js +1 -1
  54. package/src/core/cache/Cache.js +1 -1
  55. package/src/core/cache/LoadingCache.js +1 -1
  56. package/src/core/collection/list/List.js +1 -1
  57. package/src/core/collection/map/HashMap.js +1 -1
  58. package/src/core/collection/table/RowFirstTable.d.ts +1 -1
  59. package/src/core/collection/table/RowFirstTable.js +1 -1
  60. package/src/core/collection/table/RowFirstTableSpec.d.ts +1 -1
  61. package/src/core/collection/table/RowFirstTableSpec.js +1 -1
  62. package/src/core/color/oklab/compute_max_saturation.d.ts +1 -1
  63. package/src/core/color/oklab/compute_max_saturation.js +1 -1
  64. package/src/core/color/oklab/find_cusp.d.ts +1 -1
  65. package/src/core/color/oklab/find_cusp.js +1 -1
  66. package/src/core/color/oklab/find_gamut_intersection.d.ts +1 -1
  67. package/src/core/color/oklab/find_gamut_intersection.js +1 -1
  68. package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts +1 -1
  69. package/src/core/color/oklab/okhsv_to_linear_srgb.js +1 -1
  70. package/src/core/color/oklab/oklab_to_linear_srgb.d.ts +1 -1
  71. package/src/core/color/oklab/oklab_to_linear_srgb.js +1 -1
  72. package/src/core/color/oklab/oklab_to_xyz.d.ts +1 -1
  73. package/src/core/color/oklab/oklab_to_xyz.js +1 -1
  74. package/src/core/color/oklab/xyz_to_oklab.d.ts +1 -1
  75. package/src/core/color/oklab/xyz_to_oklab.js +1 -1
  76. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts +1 -1
  77. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +1 -1
  78. package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.d.ts.map +1 -1
  79. package/src/core/geom/3d/aabb/aabb3_nearest_point_on_surface.js +57 -65
  80. package/src/core/geom/3d/octahedra/octahedral_uv_wrap.d.ts +1 -1
  81. package/src/core/geom/3d/octahedra/octahedral_uv_wrap.js +1 -1
  82. package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +1 -1
  83. package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +1 -1
  84. package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +1 -1
  85. package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +1 -1
  86. package/src/core/geom/3d/shape/AbstractShape3D.d.ts +74 -3
  87. package/src/core/geom/3d/shape/CapsuleShape3D.d.ts +37 -0
  88. package/src/core/geom/3d/shape/CapsuleShape3D.d.ts.map +1 -0
  89. package/src/core/geom/3d/shape/CapsuleShape3D.js +210 -0
  90. package/src/core/geom/3d/shape/PointShape3D.d.ts +5 -0
  91. package/src/core/geom/3d/shape/PointShape3D.d.ts.map +1 -1
  92. package/src/core/geom/3d/shape/PointShape3D.js +52 -14
  93. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +75 -12
  94. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  95. package/src/core/geom/3d/shape/TransformedShape3D.js +12 -3
  96. package/src/core/geom/3d/shape/UnionShape3D.d.ts +47 -5
  97. package/src/core/geom/3d/shape/UnionShape3D.d.ts.map +1 -1
  98. package/src/core/geom/3d/shape/UnitCubeShape3D.d.ts +12 -5
  99. package/src/core/geom/3d/shape/UnitCubeShape3D.d.ts.map +1 -1
  100. package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts +17 -5
  101. package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts.map +1 -1
  102. package/src/core/geom/3d/shape/json/shape_to_type.d.ts.map +1 -1
  103. package/src/core/geom/3d/shape/json/shape_to_type.js +4 -1
  104. package/src/core/geom/3d/shape/json/type_adapters.d.ts +17 -2
  105. package/src/core/geom/3d/shape/json/type_adapters.d.ts.map +1 -1
  106. package/src/core/geom/3d/shape/json/type_adapters.js +18 -2
  107. package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.d.ts.map +1 -1
  108. package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js +51 -48
  109. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.d.ts +1 -1
  110. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.js +1 -1
  111. package/src/core/geom/ConicRay.d.ts +1 -1
  112. package/src/core/geom/ConicRay.js +1 -1
  113. package/src/core/geom/Quaternion.d.ts +2 -2
  114. package/src/core/geom/Quaternion.js +2 -2
  115. package/src/core/geom/Vector1.d.ts +1 -1
  116. package/src/core/geom/Vector1.js +1 -1
  117. package/src/core/geom/Vector2.d.ts +1 -1
  118. package/src/core/geom/Vector2.js +1 -1
  119. package/src/core/geom/Vector3.d.ts +1 -1
  120. package/src/core/geom/Vector3.js +1 -1
  121. package/src/core/geom/packing/miniball/Miniball.d.ts +1 -1
  122. package/src/core/geom/packing/miniball/Miniball.js +1 -1
  123. package/src/core/geom/vec3/serialization/v3_binary_equality_decode.d.ts +1 -1
  124. package/src/core/geom/vec3/serialization/v3_binary_equality_decode.js +1 -1
  125. package/src/core/geom/vec3/serialization/v3_binary_equality_encode.d.ts +1 -1
  126. package/src/core/geom/vec3/serialization/v3_binary_equality_encode.js +1 -1
  127. package/src/core/math/spline/spline3_hermite.d.ts +1 -1
  128. package/src/core/math/spline/spline3_hermite.js +1 -1
  129. package/src/core/math/spline/spline3_hermite_bounds.d.ts +1 -1
  130. package/src/core/math/spline/spline3_hermite_bounds.js +1 -1
  131. package/src/core/math/spline/spline3_hermite_bounds_t.d.ts +1 -1
  132. package/src/core/math/spline/spline3_hermite_bounds_t.js +1 -1
  133. package/src/core/math/spline/spline3_hermite_to_monomial.d.ts +1 -1
  134. package/src/core/math/spline/spline3_hermite_to_monomial.js +1 -1
  135. package/src/core/model/ObservedBoolean.d.ts +1 -1
  136. package/src/core/model/ObservedBoolean.js +1 -1
  137. package/src/core/model/ObservedString.d.ts +1 -1
  138. package/src/core/model/ObservedString.js +1 -1
  139. package/src/core/process/undo/Action.js +1 -1
  140. package/src/core/process/undo/ActionProcessor.js +1 -1
  141. package/src/engine/animation/curve/AnimationCurve.d.ts +1 -1
  142. package/src/engine/animation/curve/AnimationCurve.js +1 -1
  143. package/src/engine/animation/curve/Keyframe.d.ts +1 -1
  144. package/src/engine/animation/curve/Keyframe.js +1 -1
  145. package/src/engine/animation/curve/animation_curve_compute_aabb.d.ts +1 -1
  146. package/src/engine/animation/curve/animation_curve_compute_aabb.js +1 -1
  147. package/src/engine/animation/curve/animation_curve_optimize.d.ts +1 -1
  148. package/src/engine/animation/curve/animation_curve_optimize.js +2 -2
  149. package/src/engine/asset/loaders/image/jpeg/JpegImage.js +1 -1
  150. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
  151. package/src/engine/asset/loaders/image/png/PNGReader.js +27 -7
  152. package/src/engine/asset/loaders/image/png/crc32.d.ts +1 -1
  153. package/src/engine/asset/loaders/image/png/crc32.js +1 -1
  154. package/src/engine/control/first-person/DESIGN.md +616 -0
  155. package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +229 -0
  156. package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -0
  157. package/src/engine/control/first-person/FirstPersonPlayerController.js +176 -0
  158. package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts +251 -0
  159. package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts.map +1 -0
  160. package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.js +205 -0
  161. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +151 -0
  162. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -0
  163. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +799 -0
  164. package/src/engine/control/first-person/math/computeJumpFromApex.d.ts +23 -0
  165. package/src/engine/control/first-person/math/computeJumpFromApex.d.ts.map +1 -0
  166. package/src/engine/control/first-person/math/computeJumpFromApex.js +23 -0
  167. package/src/engine/control/first-person/math/criticallyDampedSpring.d.ts +23 -0
  168. package/src/engine/control/first-person/math/criticallyDampedSpring.d.ts.map +1 -0
  169. package/src/engine/control/first-person/math/criticallyDampedSpring.js +34 -0
  170. package/src/engine/control/first-person/math/dampedSpringStep.d.ts +23 -0
  171. package/src/engine/control/first-person/math/dampedSpringStep.d.ts.map +1 -0
  172. package/src/engine/control/first-person/math/dampedSpringStep.js +72 -0
  173. package/src/engine/control/first-person/math/stepTowards.d.ts +12 -0
  174. package/src/engine/control/first-person/math/stepTowards.d.ts.map +1 -0
  175. package/src/engine/control/first-person/math/stepTowards.js +20 -0
  176. package/src/engine/control/first-person/pose/FirstPersonPose.d.ts +69 -0
  177. package/src/engine/control/first-person/pose/FirstPersonPose.d.ts.map +1 -0
  178. package/src/engine/control/first-person/pose/FirstPersonPose.js +91 -0
  179. package/src/engine/control/first-person/prototype_first_person_controller.d.ts +2 -0
  180. package/src/engine/control/first-person/prototype_first_person_controller.d.ts.map +1 -0
  181. package/src/engine/control/first-person/prototype_first_person_controller.js +314 -0
  182. package/src/engine/ecs/Entity.js +1 -1
  183. package/src/engine/ecs/EntityComponentDataset.js +1 -1
  184. package/src/engine/ecs/EntityManager.d.ts +1 -1
  185. package/src/engine/ecs/EntityManager.js +1 -1
  186. package/src/engine/ecs/EntityObserver.js +1 -1
  187. package/src/engine/ecs/EntityReference.d.ts +1 -1
  188. package/src/engine/ecs/EntityReference.js +1 -1
  189. package/src/engine/ecs/System.js +1 -1
  190. package/src/engine/ecs/attachment/AttachmentSystem.d.ts +2 -2
  191. package/src/engine/ecs/attachment/AttachmentSystem.d.ts.map +1 -1
  192. package/src/engine/ecs/guid/UUID.d.ts +1 -1
  193. package/src/engine/ecs/guid/UUID.js +1 -1
  194. package/src/engine/ecs/name/Name.d.ts +1 -1
  195. package/src/engine/ecs/name/Name.js +1 -1
  196. package/src/engine/ecs/parent/ParentEntity.js +1 -1
  197. package/src/engine/ecs/storage/BinaryBufferDeSerializer.d.ts +1 -1
  198. package/src/engine/ecs/storage/BinaryBufferDeSerializer.js +1 -1
  199. package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts +1 -1
  200. package/src/engine/ecs/storage/BinaryBufferSerializer.js +1 -1
  201. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +1 -1
  202. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +1 -1
  203. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +1 -1
  204. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +1 -1
  205. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +1 -1
  206. package/src/engine/ecs/transform/Transform.d.ts +1 -1
  207. package/src/engine/ecs/transform/Transform.js +1 -1
  208. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts.map +1 -1
  209. package/src/engine/graphics/impostors/octahedral/ImpostorBaker.d.ts.map +1 -1
  210. package/src/engine/graphics/impostors/octahedral/ImpostorBaker.js +10 -1
  211. package/src/engine/graphics/impostors/voxel/README.md +149 -0
  212. package/src/engine/graphics/impostors/voxel/VoxelImpostorBaker.d.ts +91 -0
  213. package/src/engine/graphics/impostors/voxel/VoxelImpostorBaker.d.ts.map +1 -0
  214. package/src/engine/graphics/impostors/voxel/VoxelImpostorBaker.js +376 -0
  215. package/src/engine/graphics/impostors/voxel/VoxelImpostorDescription.d.ts +128 -0
  216. package/src/engine/graphics/impostors/voxel/VoxelImpostorDescription.d.ts.map +1 -0
  217. package/src/engine/graphics/impostors/voxel/VoxelImpostorDescription.js +141 -0
  218. package/src/engine/graphics/impostors/voxel/bake/read_atlas_to_samples.d.ts +38 -0
  219. package/src/engine/graphics/impostors/voxel/bake/read_atlas_to_samples.d.ts.map +1 -0
  220. package/src/engine/graphics/impostors/voxel/bake/read_atlas_to_samples.js +338 -0
  221. package/src/engine/graphics/impostors/voxel/bake/voxelize_samples.d.ts +43 -0
  222. package/src/engine/graphics/impostors/voxel/bake/voxelize_samples.d.ts.map +1 -0
  223. package/src/engine/graphics/impostors/voxel/bake/voxelize_samples.js +192 -0
  224. package/src/engine/graphics/impostors/voxel/prototype_voxel_impostors.d.ts +2 -0
  225. package/src/engine/graphics/impostors/voxel/prototype_voxel_impostors.d.ts.map +1 -0
  226. package/src/engine/graphics/impostors/voxel/prototype_voxel_impostors.js +343 -0
  227. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderDepthV0.d.ts +13 -0
  228. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderDepthV0.d.ts.map +1 -0
  229. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderDepthV0.js +99 -0
  230. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderLitV0.d.ts +19 -0
  231. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderLitV0.d.ts.map +1 -0
  232. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderLitV0.js +231 -0
  233. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderNormalsV0.d.ts +5 -0
  234. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderNormalsV0.d.ts.map +1 -0
  235. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderNormalsV0.js +70 -0
  236. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderV0.d.ts +13 -0
  237. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderV0.d.ts.map +1 -0
  238. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderV0.js +127 -0
  239. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderViewportDepthV0.d.ts +5 -0
  240. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderViewportDepthV0.d.ts.map +1 -0
  241. package/src/engine/graphics/impostors/voxel/shader/VoxelImpostorShaderViewportDepthV0.js +68 -0
  242. package/src/engine/graphics/impostors/voxel/util/make_voxel_impostor_geometry.d.ts +27 -0
  243. package/src/engine/graphics/impostors/voxel/util/make_voxel_impostor_geometry.d.ts.map +1 -0
  244. package/src/engine/graphics/impostors/voxel/util/make_voxel_impostor_geometry.js +96 -0
  245. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.d.ts +113 -29
  246. package/src/engine/graphics/render/forward_plus/SPECIFICATION.md +1 -1
  247. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +1 -1
  248. package/src/engine/graphics/texture/sampler/Sampler2D.js +1 -1
  249. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_NaiveFlood.d.ts +1 -1
  250. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_NaiveFlood.js +1 -1
  251. package/src/engine/graphics/util/build_max_height_pyramid.d.ts.map +1 -1
  252. package/src/engine/graphics/util/build_max_height_pyramid.js +1 -7
  253. package/src/engine/input/devices/InputDeviceSwitch.js +1 -1
  254. package/src/engine/input/devices/KeyboardDevice.js +1 -1
  255. package/src/engine/input/devices/PointerDevice.js +1 -1
  256. package/src/engine/intelligence/behavior/Behavior.js +1 -1
  257. package/src/engine/intelligence/behavior/SelectorBehavior.d.ts +1 -1
  258. package/src/engine/intelligence/behavior/SelectorBehavior.js +1 -1
  259. package/src/engine/intelligence/behavior/behavior_to_dot.d.ts +1 -1
  260. package/src/engine/intelligence/behavior/behavior_to_dot.js +1 -1
  261. package/src/engine/intelligence/behavior/composite/CompositeBehavior.d.ts +1 -1
  262. package/src/engine/intelligence/behavior/composite/CompositeBehavior.js +1 -1
  263. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +1 -1
  264. package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +1 -1
  265. package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts +1 -1
  266. package/src/engine/intelligence/behavior/composite/SequenceBehavior.js +1 -1
  267. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts +1 -1
  268. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.js +1 -1
  269. package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts +1 -1
  270. package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.js +1 -1
  271. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts +1 -1
  272. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.js +1 -1
  273. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts +1 -1
  274. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +1 -1
  275. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts +1 -1
  276. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.js +1 -1
  277. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
  278. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +1 -1
  279. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +1 -1
  280. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.js +1 -1
  281. package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts +1 -1
  282. package/src/engine/intelligence/behavior/ecs/DieBehavior.js +1 -1
  283. package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts +1 -1
  284. package/src/engine/intelligence/behavior/ecs/EntityBehavior.js +1 -1
  285. package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts +1 -1
  286. package/src/engine/intelligence/behavior/ecs/KillBehavior.js +1 -1
  287. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +1 -1
  288. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.js +1 -1
  289. package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts +1 -1
  290. package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js +1 -1
  291. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +1 -1
  292. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +1 -1
  293. package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts +1 -1
  294. package/src/engine/intelligence/behavior/primitive/FailingBehavior.js +1 -1
  295. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts +1 -1
  296. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.js +1 -1
  297. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +1 -1
  298. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +1 -1
  299. package/src/engine/intelligence/behavior/selector/WeightedElement.d.ts +1 -1
  300. package/src/engine/intelligence/behavior/selector/WeightedElement.js +1 -1
  301. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts +1 -1
  302. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +1 -1
  303. package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts +1 -1
  304. package/src/engine/intelligence/behavior/util/BranchBehavior.js +1 -1
  305. package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts +1 -1
  306. package/src/engine/intelligence/behavior/util/DelayBehavior.js +1 -1
  307. package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts +1 -1
  308. package/src/engine/intelligence/behavior/util/LogMessageBehavior.js +1 -1
  309. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts +1 -1
  310. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.js +1 -1
  311. package/src/engine/intelligence/blackboard/Blackboard.js +1 -1
  312. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
  313. package/src/engine/intelligence/mcts/MonteCarlo.js +1 -1
  314. package/src/engine/intelligence/mcts/MoveEdge.d.ts +1 -1
  315. package/src/engine/intelligence/mcts/MoveEdge.js +1 -1
  316. package/src/engine/intelligence/mcts/StateNode.d.ts +1 -1
  317. package/src/engine/intelligence/mcts/StateNode.js +1 -1
  318. package/src/engine/intelligence/resource/ActionSequence.d.ts +1 -1
  319. package/src/engine/intelligence/resource/ActionSequence.js +1 -1
  320. package/src/engine/intelligence/resource/Resource.d.ts +1 -1
  321. package/src/engine/intelligence/resource/Resource.js +1 -1
  322. package/src/engine/intelligence/resource/ResourceAllocation.d.ts +1 -1
  323. package/src/engine/intelligence/resource/ResourceAllocation.js +1 -1
  324. package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts +1 -1
  325. package/src/engine/intelligence/resource/ResourceAllocationBid.js +1 -1
  326. package/src/engine/intelligence/resource/ResourceAllocationSolver.d.ts +1 -1
  327. package/src/engine/intelligence/resource/ResourceAllocationSolver.js +1 -1
  328. package/src/engine/intelligence/resource/StrategicResourceAllocator.d.ts +1 -1
  329. package/src/engine/intelligence/resource/StrategicResourceAllocator.js +1 -1
  330. package/src/engine/intelligence/resource/TacticalModule.d.ts +1 -1
  331. package/src/engine/intelligence/resource/TacticalModule.js +1 -1
  332. package/src/engine/network/NetworkSession.d.ts +1 -1
  333. package/src/engine/network/NetworkSession.js +1 -1
  334. package/src/engine/network/adapters/QuaternionInterpolationAdapter.d.ts +1 -1
  335. package/src/engine/network/adapters/QuaternionInterpolationAdapter.js +1 -1
  336. package/src/engine/network/adapters/TransformInterpolationAdapter.d.ts +1 -1
  337. package/src/engine/network/adapters/TransformInterpolationAdapter.js +1 -1
  338. package/src/engine/network/adapters/TransformReplicationAdapter.d.ts +1 -1
  339. package/src/engine/network/adapters/TransformReplicationAdapter.js +1 -1
  340. package/src/engine/network/adapters/Vector3InterpolationAdapter.d.ts +1 -1
  341. package/src/engine/network/adapters/Vector3InterpolationAdapter.js +1 -1
  342. package/src/engine/network/core/quantize/quantize_float.d.ts +1 -1
  343. package/src/engine/network/core/quantize/quantize_float.js +1 -1
  344. package/src/engine/network/core/quantize/quantize_position.d.ts +1 -1
  345. package/src/engine/network/core/quantize/quantize_position.js +1 -1
  346. package/src/engine/network/core/sequence/ack_bitfield.d.ts +1 -1
  347. package/src/engine/network/core/sequence/ack_bitfield.js +1 -1
  348. package/src/engine/network/core/sequence/seq16.d.ts +1 -1
  349. package/src/engine/network/core/sequence/seq16.js +1 -1
  350. package/src/engine/network/core/sequence/seq32.d.ts +1 -1
  351. package/src/engine/network/core/sequence/seq32.js +1 -1
  352. package/src/engine/network/diagnostics/BandwidthMeter.d.ts +1 -1
  353. package/src/engine/network/diagnostics/BandwidthMeter.js +1 -1
  354. package/src/engine/network/diagnostics/ReplayLog.d.ts +1 -1
  355. package/src/engine/network/diagnostics/ReplayLog.js +1 -1
  356. package/src/engine/network/diagnostics/SyncTest.d.ts +1 -1
  357. package/src/engine/network/diagnostics/SyncTest.js +1 -1
  358. package/src/engine/network/ecs/NetworkSystem.d.ts +1 -1
  359. package/src/engine/network/ecs/NetworkSystem.js +1 -1
  360. package/src/engine/network/ecs/components/NetworkIdentity.d.ts +1 -1
  361. package/src/engine/network/ecs/components/NetworkIdentity.js +1 -1
  362. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.d.ts +1 -1
  363. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.js +1 -1
  364. package/src/engine/network/orchestrator/NetworkPeer.d.ts +1 -1
  365. package/src/engine/network/orchestrator/NetworkPeer.js +1 -1
  366. package/src/engine/network/orchestrator/ServerAuthoritativeClient.d.ts +1 -1
  367. package/src/engine/network/orchestrator/ServerAuthoritativeClient.js +1 -1
  368. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +1 -1
  369. package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +1 -1
  370. package/src/engine/network/replication/Replicator.d.ts +1 -1
  371. package/src/engine/network/replication/Replicator.js +1 -1
  372. package/src/engine/network/replication/ScopeFilter.d.ts +2 -2
  373. package/src/engine/network/replication/ScopeFilter.js +2 -2
  374. package/src/engine/network/sim/ActionLog.d.ts +1 -1
  375. package/src/engine/network/sim/ActionLog.js +1 -1
  376. package/src/engine/network/sim/BinaryInterpolationAdapter.d.ts +1 -1
  377. package/src/engine/network/sim/BinaryInterpolationAdapter.js +1 -1
  378. package/src/engine/network/sim/InterpolationLog.d.ts +1 -1
  379. package/src/engine/network/sim/InterpolationLog.js +1 -1
  380. package/src/engine/network/sim/ReplicatedComponentRegistry.d.ts +1 -1
  381. package/src/engine/network/sim/ReplicatedComponentRegistry.js +1 -1
  382. package/src/engine/network/sim/RewindEngine.d.ts +1 -1
  383. package/src/engine/network/sim/RewindEngine.js +1 -1
  384. package/src/engine/network/sim/SimAction.d.ts +1 -1
  385. package/src/engine/network/sim/SimAction.js +1 -1
  386. package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
  387. package/src/engine/network/sim/SimActionExecutor.js +1 -1
  388. package/src/engine/network/sim/SimActionRegistry.d.ts +1 -1
  389. package/src/engine/network/sim/SimActionRegistry.js +1 -1
  390. package/src/engine/network/sim/SmoothingState.js +1 -1
  391. package/src/engine/network/sim/Snapshotter.d.ts +1 -1
  392. package/src/engine/network/sim/Snapshotter.js +1 -1
  393. package/src/engine/network/sim/SpeculationLog.d.ts +1 -1
  394. package/src/engine/network/sim/SpeculationLog.js +1 -1
  395. package/src/engine/network/state/Baseline.d.ts +1 -1
  396. package/src/engine/network/state/Baseline.js +1 -1
  397. package/src/engine/network/state/ChangedEntitySet.d.ts +1 -1
  398. package/src/engine/network/state/ChangedEntitySet.js +1 -1
  399. package/src/engine/network/state/InputRing.d.ts +1 -1
  400. package/src/engine/network/state/InputRing.js +1 -1
  401. package/src/engine/network/state/MutationLedger.d.ts +1 -1
  402. package/src/engine/network/state/MutationLedger.js +1 -1
  403. package/src/engine/network/state/PriorityAccumulator.d.ts +1 -1
  404. package/src/engine/network/state/PriorityAccumulator.js +1 -1
  405. package/src/engine/network/state/ReplicationSlotTable.d.ts +1 -1
  406. package/src/engine/network/state/ReplicationSlotTable.js +1 -1
  407. package/src/engine/network/time/AdaptiveRenderDelay.d.ts +1 -1
  408. package/src/engine/network/time/AdaptiveRenderDelay.js +1 -1
  409. package/src/engine/network/time/JitterBuffer.d.ts +1 -1
  410. package/src/engine/network/time/JitterBuffer.js +1 -1
  411. package/src/engine/network/time/TimeDilation.d.ts +1 -1
  412. package/src/engine/network/time/TimeDilation.js +1 -1
  413. package/src/engine/network/time/TimeSync.d.ts +1 -1
  414. package/src/engine/network/time/TimeSync.js +1 -1
  415. package/src/engine/network/transport/Channel.d.ts.map +1 -1
  416. package/src/engine/network/transport/Channel.js +3 -6
  417. package/src/engine/network/transport/LoopbackTransport.d.ts +1 -1
  418. package/src/engine/network/transport/LoopbackTransport.js +1 -1
  419. package/src/engine/network/transport/ReliableCommandPipeline.d.ts +1 -1
  420. package/src/engine/network/transport/ReliableCommandPipeline.js +1 -1
  421. package/src/engine/network/transport/Transport.d.ts +1 -1
  422. package/src/engine/network/transport/Transport.js +1 -1
  423. package/src/engine/network/transport/adapters/NodeUDPTransport.d.ts +1 -1
  424. package/src/engine/network/transport/adapters/NodeUDPTransport.js +2 -2
  425. package/src/engine/network/transport/adapters/SimulatedTransport.d.ts +1 -1
  426. package/src/engine/network/transport/adapters/SimulatedTransport.js +1 -1
  427. package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.d.ts +1 -1
  428. package/src/engine/network/transport/adapters/WebRTCDataChannelTransport.js +1 -1
  429. package/src/engine/network/transport/adapters/WebSocketTransport.d.ts +1 -1
  430. package/src/engine/network/transport/adapters/WebSocketTransport.js +1 -1
  431. package/src/engine/network/transport/adapters/WebTransportTransport.d.ts +1 -1
  432. package/src/engine/network/transport/adapters/WebTransportTransport.js +1 -1
  433. package/src/engine/network/transport/fragments/FragmentAssembler.d.ts +1 -1
  434. package/src/engine/network/transport/fragments/FragmentAssembler.js +1 -1
  435. package/src/engine/network/transport/fragments/FragmentRetention.d.ts +1 -1
  436. package/src/engine/network/transport/fragments/FragmentRetention.js +1 -1
  437. package/src/engine/network/transport/fragments/packet_size.d.ts +1 -1
  438. package/src/engine/network/transport/fragments/packet_size.js +1 -1
  439. package/src/engine/simulation/Ticker.d.ts +1 -1
  440. package/src/engine/simulation/Ticker.js +1 -1
  441. package/src/engine/sound/SoundEngine.js +1 -1
  442. package/src/engine/ui/DraggableAspect.d.ts +1 -1
  443. package/src/engine/ui/DraggableAspect.js +1 -1
  444. package/src/view/View.js +1 -1
@@ -1,12 +1,75 @@
1
- import {AbstractShape3D} from "./AbstractShape3D";
2
-
3
- export class TransformedShape3D extends AbstractShape3D {
4
-
5
- static from_m4(subject: AbstractShape3D, matrix: ArrayLike<number>): TransformedShape3D
6
-
7
- static from_translation_scale(subject: AbstractShape3D, translation: ArrayLike<number>, scale: ArrayLike<number>): TransformedShape3D
8
-
9
- static from_scale(subject: AbstractShape3D, scale: ArrayLike<number>): TransformedShape3D
10
-
11
- static from_translation(subject: AbstractShape3D, translation: ArrayLike<number>): TransformedShape3D
12
- }
1
+ export class TransformedShape3D extends AbstractShape3D {
2
+ /**
3
+ *
4
+ * @param {number[]|Float32Array|mat4} m4
5
+ * @param {AbstractShape3D} subject
6
+ * @returns {TransformedShape3D}
7
+ */
8
+ static from_m4(subject: AbstractShape3D, m4: number[] | Float32Array | mat4): TransformedShape3D;
9
+ /**
10
+ *
11
+ * @param {AbstractShape3D} subject
12
+ * @param {number[]} translation
13
+ * @param {number[]} scale
14
+ */
15
+ static from_translation_scale(subject: AbstractShape3D, translation: number[], scale: number[]): TransformedShape3D;
16
+ /**
17
+ *
18
+ * @param {AbstractShape3D} subject
19
+ * @param {number[]} translation
20
+ */
21
+ static from_translation(subject: AbstractShape3D, translation: number[]): TransformedShape3D;
22
+ /**
23
+ *
24
+ * @returns {TransformedShape3D}
25
+ * @param {AbstractShape3D} subject
26
+ * @param {number[]|Float32Array|vec3} scale
27
+ */
28
+ static from_scale(subject: AbstractShape3D, scale: number[] | Float32Array | vec3): TransformedShape3D;
29
+ /**
30
+ *
31
+ * @type {number[]|Float32Array|mat4}
32
+ * @private
33
+ */
34
+ private __matrix;
35
+ /**
36
+ *
37
+ * @type {Float32Array|mat4}
38
+ * @private
39
+ */
40
+ private __inverse_matrix;
41
+ /**
42
+ *
43
+ * @type {AbstractShape3D|null}
44
+ * @private
45
+ */
46
+ private __subject;
47
+ /**
48
+ *
49
+ * @returns {AbstractShape3D|null}
50
+ */
51
+ get subject(): AbstractShape3D;
52
+ /**
53
+ *
54
+ * @param {number[]|Float32Array} m
55
+ */
56
+ set transform(arg: number[] | Float32Array);
57
+ get transform(): number[] | Float32Array;
58
+ compute_bounding_box(result: any): void;
59
+ signed_distance_gradient_at_point(result: any, point: any): number;
60
+ signed_distance_at_point(point: any): number;
61
+ contains_point(point: any): boolean;
62
+ sample_random_point_in_volume(result: any, result_offset: any, random: any): void;
63
+ support(result: any, result_offset: any, direction_x: any, direction_y: any, direction_z: any): void;
64
+ /**
65
+ *
66
+ * @param {TransformedShape3D} other
67
+ * @returns {boolean}
68
+ */
69
+ equals(other: TransformedShape3D): boolean;
70
+ }
71
+ export namespace TransformedShape3D {
72
+ let isTransformedShape3D: boolean;
73
+ }
74
+ import { AbstractShape3D } from "./AbstractShape3D.js";
75
+ //# sourceMappingURL=TransformedShape3D.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransformedShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/TransformedShape3D.js"],"names":[],"mappings":"AAkBA;IAkCI;;;;;OAKG;IACH,wBAHW,eAAe,MADf,MAAM,EAAE,GAAC,YAAY,OAAK,GAExB,kBAAkB,CAS9B;IAED;;;;;OAKG;IACH,uCAJW,eAAe,eACf,MAAM,EAAE,SACR,MAAM,EAAE,sBAclB;IAED;;;;OAIG;IACH,iCAHW,eAAe,eACf,MAAM,EAAE,sBAIlB;IAED;;;;;OAKG;IACH,2BAHW,eAAe,SACf,MAAM,EAAE,GAAC,YAAY,OAAK,GAFxB,kBAAkB,CAW9B;IAvFG;;;;OAIG;IACH,iBAAoC;IAEpC;;;;OAIG;IACH,yBAA4C;IAE5C;;;;OAIG;IACH,kBAAqB;IAGzB;;;OAGG;IACH,+BAEC;IA6DD;;;OAGG;IACH,4CAIC;IAED,yCAEC;IAED,qBAMC;IAED,wCAKC;IAED,mEAgDC;IAED,6CAEC;IAED,gCAKC;IAED,kFAIC;IAED,qGAMC;IAED;;;;OAIG;IACH,cAHW,kBAAkB,GAChB,OAAO,CAOnB;IAED,eAGC;CACJ;;8BAIS,OAAO;;gCAjOe,sBAAsB"}
1
+ {"version":3,"file":"TransformedShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/TransformedShape3D.js"],"names":[],"mappings":"AAkBA;IAkCI;;;;;OAKG;IACH,wBAHW,eAAe,MADf,MAAM,EAAE,GAAC,YAAY,OAAK,GAExB,kBAAkB,CAS9B;IAED;;;;;OAKG;IACH,uCAJW,eAAe,eACf,MAAM,EAAE,SACR,MAAM,EAAE,sBAclB;IAED;;;;OAIG;IACH,iCAHW,eAAe,eACf,MAAM,EAAE,sBAIlB;IAED;;;;;OAKG;IACH,2BAHW,eAAe,SACf,MAAM,EAAE,GAAC,YAAY,OAAK,GAFxB,kBAAkB,CAW9B;IAvFG;;;;OAIG;IACH,iBAAoC;IAEpC;;;;OAIG;IACH,yBAA4C;IAE5C;;;;OAIG;IACH,kBAAqB;IAGzB;;;OAGG;IACH,+BAEC;IA6DD;;;OAGG;IACH,4CAIC;IAED,yCAEC;IAUD,wCAKC;IAED,mEAyDC;IAED,6CAEC;IAED,oCAKC;IAED,kFAIC;IAED,qGAMC;IAED;;;;OAIG;IACH,cAHW,kBAAkB,GAChB,OAAO,CAOnB;CAMJ;;8BAIS,OAAO;;gCA1Oe,sBAAsB"}
@@ -181,9 +181,18 @@ export class TransformedShape3D extends AbstractShape3D {
181
181
 
182
182
  const scaled_distance = result_sign * Math.sqrt(scaled_dx * scaled_dx + scaled_dy * scaled_dy + scaled_dz * scaled_dz);
183
183
 
184
- result[0] = scaled_gx;
185
- result[1] = scaled_gy;
186
- result[2] = scaled_gz;
184
+ // normalize the world-space gradient to unit length before storing
185
+ const scaled_mag = v3_length(scaled_gx, scaled_gy, scaled_gz);
186
+
187
+ if (scaled_mag > 0) {
188
+ result[0] = scaled_gx / scaled_mag;
189
+ result[1] = scaled_gy / scaled_mag;
190
+ result[2] = scaled_gz / scaled_mag;
191
+ } else {
192
+ result[0] = 0;
193
+ result[1] = 0;
194
+ result[2] = 0;
195
+ }
187
196
 
188
197
  return scaled_distance;
189
198
  }
@@ -1,5 +1,47 @@
1
- import {AbstractShape3D} from "./AbstractShape3D";
2
-
3
- export class UnionShape3D extends AbstractShape3D {
4
- static from(children: AbstractShape3D[]): UnionShape3D
5
- }
1
+ export class UnionShape3D extends AbstractShape3D {
2
+ /**
3
+ *
4
+ * @param {AbstractShape3D[]} children
5
+ * @returns {UnionShape3D}
6
+ */
7
+ static from(children: AbstractShape3D[]): UnionShape3D;
8
+ /**
9
+ *
10
+ * @type {AbstractShape3D[]}
11
+ */
12
+ children: AbstractShape3D[];
13
+ /**
14
+ * Estimator of how much volume is in overlap,
15
+ * expressed as fraction of volume occupied by overlapping region of 2 shapes over the sum of volume occupied by each child
16
+ * @type {number}
17
+ * @private
18
+ */
19
+ private __volume_overlap_fraction;
20
+ __volume_sum: number;
21
+ __volume_sums: any[];
22
+ __child_volumes: any[];
23
+ compute_bounding_box(result: any): void;
24
+ /**
25
+ *
26
+ * @private
27
+ */
28
+ private __compute_volume_variables;
29
+ /**
30
+ * Monte-carlo-style volume overlap estimation
31
+ * @private
32
+ */
33
+ private __estimate_volume_overlap_fraction;
34
+ signed_distance_gradient_at_point(result: any, point: any): number;
35
+ signed_distance_at_point(point: any): number;
36
+ contains_point(point: any): boolean;
37
+ sample_random_point_in_volume(result: any, result_offset: any, random: any): void;
38
+ support(result: any, result_offset: any, direction_x: any, direction_y: any, direction_z: any): void;
39
+ /**
40
+ *
41
+ * @param {UnionShape3D} other
42
+ * @returns {boolean}
43
+ */
44
+ equals(other: UnionShape3D): boolean;
45
+ }
46
+ import { AbstractShape3D } from "./AbstractShape3D.js";
47
+ //# sourceMappingURL=UnionShape3D.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnionShape3D.js"],"names":[],"mappings":"AA2BA;IAqII;;;;OAIG;IACH,sBAHW,eAAe,EAAE,GACf,YAAY,CAYxB;IAhJG;;;OAGG;IACH,UAFU,eAAe,EAAE,CAET;IAElB;;;;;OAKG;IACH,kCAAmC;IAEnC,qBAAsB;IACtB,qBAAuB;IACvB,uBAAyB;IAG7B,wCAgCC;IAED;;;OAGG;IACH,mCAkBC;IAED;;;OAGG;IACH,2CA8CC;IAmBD,qBAuBC;IAED,2BAaC;IAED,mEAEC;IAED,6CAaC;IAED,oCAYC;IAED,kFAoDC;IAED,qGAyBC;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAKnB;IAED,eAWC;CACJ;gCAxV+B,sBAAsB"}
1
+ {"version":3,"file":"UnionShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnionShape3D.js"],"names":[],"mappings":"AA2BA;IAqII;;;;OAIG;IACH,sBAHW,eAAe,EAAE,GACf,YAAY,CAYxB;IAhJG;;;OAGG;IACH,UAFU,eAAe,EAAE,CAET;IAElB;;;;;OAKG;IACH,kCAAmC;IAEnC,qBAAsB;IACtB,qBAAuB;IACvB,uBAAyB;IAG7B,wCAgCC;IAED;;;OAGG;IACH,mCAkBC;IAED;;;OAGG;IACH,2CA8CC;IA2DD,mEAEC;IAED,6CAaC;IAED,oCAYC;IAED,kFAoDC;IAED,qGAyBC;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAKnB;CAcJ;gCAxV+B,sBAAsB"}
@@ -1,5 +1,12 @@
1
- import {AbstractShape3D} from "./AbstractShape3D";
2
-
3
- export class UnitCubeShape3D extends AbstractShape3D {
4
- static INSTANCE: UnitCubeShape3D
5
- }
1
+ export class UnitCubeShape3D extends AbstractShape3D {
2
+ static INSTANCE: UnitCubeShape3D;
3
+ compute_bounding_box(result: any): void;
4
+ nearest_point_on_surface(result: any, reference: any): void;
5
+ support(result: any, result_offset: any, direction_x: any, direction_y: any, direction_z: any): void;
6
+ signed_distance_gradient_at_point(result: any, point: any): number;
7
+ signed_distance_at_point(point: any): number;
8
+ contains_point(point: any): boolean;
9
+ sample_random_point_in_volume(result: any, result_offset: any, random: any): void;
10
+ }
11
+ import { AbstractShape3D } from "./AbstractShape3D.js";
12
+ //# sourceMappingURL=UnitCubeShape3D.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnitCubeShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitCubeShape3D.js"],"names":[],"mappings":"AAUA;IAsFI,iCAAwC;IApFxC,qBAEC;IAED,2BAEC;IAED,wCAQC;IAED,4DAYC;IAED,qGAIC;IAED,mEAEC;IAED,6CAqBC;IAED,oCASC;IAED,kFAEC;IAED,eAEC;CAGJ;gCA1F+B,sBAAsB"}
1
+ {"version":3,"file":"UnitCubeShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitCubeShape3D.js"],"names":[],"mappings":"AAUA;IAsFI,iCAAwC;IA5ExC,wCAQC;IAED,4DAYC;IAED,qGAIC;IAED,mEAEC;IAED,6CAqBC;IAED,oCASC;IAED,kFAEC;CAOJ;gCA1F+B,sBAAsB"}
@@ -1,5 +1,17 @@
1
- import {AbstractShape3D} from "./AbstractShape3D";
2
-
3
- export class UnitSphereShape3D extends AbstractShape3D {
4
- static INSTANCE: UnitSphereShape3D
5
- }
1
+ /**
2
+ * Sphere with diameter of 2 (radius = 1)
3
+ */
4
+ export class UnitSphereShape3D extends AbstractShape3D {
5
+ support(result: any, result_offset: any, direction_x: any, direction_y: any, direction_z: any): void;
6
+ compute_bounding_box(result: any): void;
7
+ nearest_point_on_surface(result: any, reference: any): void;
8
+ signed_distance_gradient_at_point(result: any, point: any): number;
9
+ signed_distance_at_point(point: any): number;
10
+ contains_point(point: any): boolean;
11
+ sample_random_point_in_volume(result: any, result_offset: any, random: any): void;
12
+ }
13
+ export namespace UnitSphereShape3D {
14
+ let INSTANCE: UnitSphereShape3D;
15
+ }
16
+ import { AbstractShape3D } from "./AbstractShape3D.js";
17
+ //# sourceMappingURL=UnitSphereShape3D.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnitSphereShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitSphereShape3D.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACI,qBAEC;IAED,2BAEC;IAED,qGAQC;IAED,wCAQC;IAED,4DAYC;IAED,mEAEC;IAED,6CAMC;IAED,oCAMC;IAED,kFAEC;IAED,eAEC;CACJ;;;;gCA5E+B,sBAAsB"}
1
+ {"version":3,"file":"UnitSphereShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitSphereShape3D.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IASI,qGAQC;IAED,wCAQC;IAED,4DAYC;IAED,mEAEC;IAED,6CAMC;IAED,oCAMC;IAED,kFAEC;CAKJ;;;;gCA5E+B,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape_to_type.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/shape_to_type.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,uDAFa,MAAM,CAclB"}
1
+ {"version":3,"file":"shape_to_type.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/shape_to_type.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,uDAFa,MAAM,CAgBlB"}
@@ -1,7 +1,8 @@
1
+ import { CapsuleShape3D } from "../CapsuleShape3D.js";
2
+ import { TransformedShape3D } from "../TransformedShape3D.js";
1
3
  import { UnionShape3D } from "../UnionShape3D.js";
2
4
  import { UnitCubeShape3D } from "../UnitCubeShape3D.js";
3
5
  import { UnitSphereShape3D } from "../UnitSphereShape3D.js";
4
- import { TransformedShape3D } from "../TransformedShape3D.js";
5
6
 
6
7
  /**
7
8
  *
@@ -17,6 +18,8 @@ export function shape_to_type(shape) {
17
18
  return 'sphere';
18
19
  } else if (shape instanceof TransformedShape3D) {
19
20
  return 'transform';
21
+ } else if (shape instanceof CapsuleShape3D) {
22
+ return 'capsule';
20
23
  } else {
21
24
  throw new Error('Unsupported shape');
22
25
  }
@@ -7,6 +7,20 @@ export namespace type_adapters {
7
7
  function read(): UnitSphereShape3D;
8
8
  function write(): {};
9
9
  }
10
+ namespace capsule {
11
+ function read({ radius, height }: {
12
+ radius: any;
13
+ height: any;
14
+ }): CapsuleShape3D;
15
+ /**
16
+ *
17
+ * @param {CapsuleShape3D} object
18
+ */
19
+ function write(object: CapsuleShape3D): {
20
+ radius: number;
21
+ height: number;
22
+ };
23
+ }
10
24
  namespace transform {
11
25
  function read({ transform, subject }: {
12
26
  transform: any;
@@ -18,7 +32,7 @@ export namespace type_adapters {
18
32
  */
19
33
  function write(object: TransformedShape3D): {
20
34
  subject: any;
21
- transform: any[];
35
+ transform: number[];
22
36
  };
23
37
  }
24
38
  namespace union {
@@ -30,12 +44,13 @@ export namespace type_adapters {
30
44
  * @param {UnionShape3D} object
31
45
  */
32
46
  function write(object: UnionShape3D): {
33
- members: any;
47
+ members: any[];
34
48
  };
35
49
  }
36
50
  }
37
51
  import { UnitCubeShape3D } from "../UnitCubeShape3D.js";
38
52
  import { UnitSphereShape3D } from "../UnitSphereShape3D.js";
53
+ import { CapsuleShape3D } from "../CapsuleShape3D.js";
39
54
  import { TransformedShape3D } from "../TransformedShape3D.js";
40
55
  import { UnionShape3D } from "../UnionShape3D.js";
41
56
  //# sourceMappingURL=type_adapters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type_adapters.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/type_adapters.js"],"names":[],"mappings":";;QASQ,iCAEC;QACD,qBAEC;;;QAGD,mCAEC;QACD,qBAEC;;;QAGD;;;+BAIC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;yBAIC;QACD;;;WAGG;QACH;;UAIC;;;gCAvDuB,uBAAuB;kCACrB,yBAAyB;mCACxB,0BAA0B;6BAChC,oBAAoB"}
1
+ {"version":3,"file":"type_adapters.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/json/type_adapters.js"],"names":[],"mappings":";;QAUQ,iCAEC;QACD,qBAEC;;;QAGD,mCAEC;QACD,qBAEC;;;QAGD;;;2BAEC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;;+BAIC;QACD;;;WAGG;QACH;;;UAKC;;;QAGD;;yBAIC;QACD;;;WAGG;QACH;;UAIC;;;gCApEuB,uBAAuB;kCACrB,yBAAyB;+BAJ5B,sBAAsB;mCAClB,0BAA0B;6BAChC,oBAAoB"}
@@ -1,7 +1,8 @@
1
- import { UnitCubeShape3D } from "../UnitCubeShape3D.js";
2
- import { UnitSphereShape3D } from "../UnitSphereShape3D.js";
1
+ import { CapsuleShape3D } from "../CapsuleShape3D.js";
3
2
  import { TransformedShape3D } from "../TransformedShape3D.js";
4
3
  import { UnionShape3D } from "../UnionShape3D.js";
4
+ import { UnitCubeShape3D } from "../UnitCubeShape3D.js";
5
+ import { UnitSphereShape3D } from "../UnitSphereShape3D.js";
5
6
  import { shape_from_json } from "./shape_from_json.js";
6
7
  import { shape_to_json } from "./shape_to_json.js";
7
8
 
@@ -22,6 +23,21 @@ export const type_adapters = {
22
23
  return {};
23
24
  }
24
25
  },
26
+ 'capsule': {
27
+ read({ radius, height }) {
28
+ return CapsuleShape3D.from(radius, height);
29
+ },
30
+ /**
31
+ *
32
+ * @param {CapsuleShape3D} object
33
+ */
34
+ write(object) {
35
+ return {
36
+ radius: object.radius,
37
+ height: object.height
38
+ };
39
+ }
40
+ },
25
41
  'transform': {
26
42
  read({ transform, subject }) {
27
43
  const subject_shape = shape_from_json(subject);
@@ -1 +1 @@
1
- {"version":3,"file":"compute_signed_distance_gradient_by_sampling.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qEALW,MAAM,EAAE,iCAER,MAAM,EAAE,GACN,MAAM,CAwClB"}
1
+ {"version":3,"file":"compute_signed_distance_gradient_by_sampling.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,qEALW,MAAM,EAAE,iCAER,MAAM,EAAE,GACN,MAAM,CA0ClB"}
@@ -1,48 +1,51 @@
1
- const scratch_v = [];
2
-
3
- /**
4
- *
5
- * @param {number[]} result
6
- * @param {AbstractShape3D} shape
7
- * @param {number[]} point
8
- * @returns {number}
9
- */
10
- export function compute_signed_distance_gradient_by_sampling(result, shape, point) {
11
- const v0 = shape.signed_distance_at_point(point);
12
-
13
- scratch_v[0] = point[0] + 1e-5;
14
- scratch_v[1] = point[1];
15
- scratch_v[2] = point[2];
16
-
17
- const vx = shape.signed_distance_at_point(scratch_v);
18
-
19
- scratch_v[0] = point[0];
20
- scratch_v[1] = point[1] + 1e-5;
21
- scratch_v[2] = point[2];
22
-
23
- const vy = shape.signed_distance_at_point(point);
24
-
25
- scratch_v[0] = point[0];
26
- scratch_v[1] = point[1];
27
- scratch_v[2] = point[2] + 1e-5;
28
-
29
- const vz = shape.signed_distance_at_point(point);
30
-
31
- // convert absolute sample values to relative
32
- const rx = vx - v0;
33
- const ry = vy - v0;
34
- const rz = vz - v0;
35
-
36
- // normalize by sampling distance
37
- const d = 1e-5 / 1.73205080757;
38
-
39
- const nx = rx * d;
40
- const ny = ry * d;
41
- const nz = rz * d;
42
-
43
- result[0] = nx;
44
- result[1] = ny;
45
- result[2] = nz;
46
-
47
- return v0;
48
- }
1
+ const SAMPLE_STEP = 1e-5;
2
+ const scratch_v = [0, 0, 0];
3
+
4
+ /**
5
+ *
6
+ * @param {number[]} result
7
+ * @param {AbstractShape3D} shape
8
+ * @param {number[]} point
9
+ * @returns {number}
10
+ */
11
+ export function compute_signed_distance_gradient_by_sampling(result, shape, point) {
12
+ const v0 = shape.signed_distance_at_point(point);
13
+
14
+ scratch_v[0] = point[0] + SAMPLE_STEP;
15
+ scratch_v[1] = point[1];
16
+ scratch_v[2] = point[2];
17
+
18
+ const vx = shape.signed_distance_at_point(scratch_v);
19
+
20
+ scratch_v[0] = point[0];
21
+ scratch_v[1] = point[1] + SAMPLE_STEP;
22
+ scratch_v[2] = point[2];
23
+
24
+ const vy = shape.signed_distance_at_point(scratch_v);
25
+
26
+ scratch_v[0] = point[0];
27
+ scratch_v[1] = point[1];
28
+ scratch_v[2] = point[2] + SAMPLE_STEP;
29
+
30
+ const vz = shape.signed_distance_at_point(scratch_v);
31
+
32
+ // finite-difference partial derivatives
33
+ const gx = (vx - v0) / SAMPLE_STEP;
34
+ const gy = (vy - v0) / SAMPLE_STEP;
35
+ const gz = (vz - v0) / SAMPLE_STEP;
36
+
37
+ // normalize gradient to unit length; for a true SDF this is already ~1, but numerical noise can throw it off
38
+ const mag = Math.sqrt(gx * gx + gy * gy + gz * gz);
39
+
40
+ if (mag > 0) {
41
+ result[0] = gx / mag;
42
+ result[1] = gy / mag;
43
+ result[2] = gz / mag;
44
+ } else {
45
+ result[0] = 0;
46
+ result[1] = 0;
47
+ result[2] = 0;
48
+ }
49
+
50
+ return v0;
51
+ }
@@ -6,7 +6,7 @@
6
6
  * @see https://github.com/bryanmcnett/aabo/blob/master/aabo.cpp
7
7
  *
8
8
  * @author Alex Goldring
9
- * @copyright Company Named Limited (c) 2025
9
+ * @copyright Company Named Limited (c) 2026
10
10
  *
11
11
  * @param {number[]|Float32Array|Float64Array} result
12
12
  * @param {number} result_offset
@@ -25,7 +25,7 @@ const SIMPLEX_PROJECTION_AXES = new Float32Array([
25
25
  * @see https://github.com/bryanmcnett/aabo/blob/master/aabo.cpp
26
26
  *
27
27
  * @author Alex Goldring
28
- * @copyright Company Named Limited (c) 2025
28
+ * @copyright Company Named Limited (c) 2026
29
29
  *
30
30
  * @param {number[]|Float32Array|Float64Array} result
31
31
  * @param {number} result_offset
@@ -3,7 +3,7 @@
3
3
  * Mainly used inside particle systems for pick a motion direction at spawn
4
4
  *
5
5
  * @author Alex Goldring
6
- * @copyright Company Named Limited (c) 2025
6
+ * @copyright Company Named Limited (c) 2026
7
7
  */
8
8
  export class ConicRay {
9
9
  /**
@@ -12,7 +12,7 @@ import Vector3 from "./Vector3.js";
12
12
  * Mainly used inside particle systems for pick a motion direction at spawn
13
13
  *
14
14
  * @author Alex Goldring
15
- * @copyright Company Named Limited (c) 2025
15
+ * @copyright Company Named Limited (c) 2026
16
16
  */
17
17
  export class ConicRay {
18
18
 
@@ -11,7 +11,7 @@
11
11
  * @implements Iterable<number>
12
12
  *
13
13
  * @author Alex Goldring
14
- * @copyright Company Named Limited (c) 2025
14
+ * @copyright Company Named Limited (c) 2026
15
15
  */
16
16
  export class Quaternion extends Float64Array implements Iterable<number> {
17
17
  /**
@@ -206,7 +206,7 @@ export class Quaternion extends Float64Array implements Iterable<number> {
206
206
  */
207
207
  toAxisAngle(out_axis: Vector3): number;
208
208
  /**
209
- *
209
+ * Normalize the quaternion in-place.
210
210
  * @returns {this}
211
211
  */
212
212
  normalize(): this;
@@ -32,7 +32,7 @@ const cos = Math.cos;
32
32
  * @implements Iterable<number>
33
33
  *
34
34
  * @author Alex Goldring
35
- * @copyright Company Named Limited (c) 2025
35
+ * @copyright Company Named Limited (c) 2026
36
36
  */
37
37
  export class Quaternion extends Float64Array {
38
38
  /**
@@ -473,7 +473,7 @@ export class Quaternion extends Float64Array {
473
473
  }
474
474
 
475
475
  /**
476
- *
476
+ * Normalize the quaternion in-place.
477
477
  * @returns {this}
478
478
  */
479
479
  normalize() {
@@ -2,7 +2,7 @@
2
2
  * Wrapper around a scalar value, `Vector1` is used for consistence with {@link Vector2} and {@link Vector3}
3
3
  *
4
4
  * @author Alex Goldring
5
- * @copyright Company Named Limited (c) 2025
5
+ * @copyright Company Named Limited (c) 2026
6
6
  */
7
7
  export class Vector1 extends Number {
8
8
  /**
@@ -7,7 +7,7 @@ import { computeHashFloat } from "../primitives/numbers/computeHashFloat.js";
7
7
  * Wrapper around a scalar value, `Vector1` is used for consistence with {@link Vector2} and {@link Vector3}
8
8
  *
9
9
  * @author Alex Goldring
10
- * @copyright Company Named Limited (c) 2025
10
+ * @copyright Company Named Limited (c) 2026
11
11
  */
12
12
  export class Vector1 extends Number {
13
13
  /**
@@ -13,7 +13,7 @@
13
13
  * @implements Iterable<number>
14
14
  *
15
15
  * @author Alex Goldring
16
- * @copyright Company Named Limited (c) 2025
16
+ * @copyright Company Named Limited (c) 2026
17
17
  */
18
18
  export class Vector2 extends Float64Array implements Iterable<number> {
19
19
  /**
@@ -27,7 +27,7 @@ import { v2_length_sqr } from "./vec2/v2_length_sqr.js";
27
27
  * @implements Iterable<number>
28
28
  *
29
29
  * @author Alex Goldring
30
- * @copyright Company Named Limited (c) 2025
30
+ * @copyright Company Named Limited (c) 2026
31
31
  */
32
32
  export class Vector2 extends Float64Array {
33
33
  /**
@@ -13,7 +13,7 @@
13
13
  * @implements Iterable<number>
14
14
  *
15
15
  * @author Alex Goldring
16
- * @copyright Company Named Limited (c) 2025
16
+ * @copyright Company Named Limited (c) 2026
17
17
  */
18
18
  export class Vector3 extends Float64Array implements Iterable<number> {
19
19
  /**
@@ -28,7 +28,7 @@ import { v3_slerp } from "./vec3/v3_slerp.js";
28
28
  * @implements Iterable<number>
29
29
  *
30
30
  * @author Alex Goldring
31
- * @copyright Company Named Limited (c) 2025
31
+ * @copyright Company Named Limited (c) 2026
32
32
  */
33
33
  export class Vector3 extends Float64Array {
34
34
  /**
@@ -2,7 +2,7 @@
2
2
  * Computes the miniball of the given point set.
3
3
  *
4
4
  * Based on paper "Fast Smallest-Enclosing-Ball Computation in High Dimensions" by "Kaspar Fischer" et. al.
5
- * @copyright Company Named Limited (c) 2025
5
+ * @copyright Company Named Limited (c) 2026
6
6
  */
7
7
  export class Miniball {
8
8
  /**
@@ -27,7 +27,7 @@ const MAX_ITERATIONS = 10000;
27
27
  * Computes the miniball of the given point set.
28
28
  *
29
29
  * Based on paper "Fast Smallest-Enclosing-Ball Computation in High Dimensions" by "Kaspar Fischer" et. al.
30
- * @copyright Company Named Limited (c) 2025
30
+ * @copyright Company Named Limited (c) 2026
31
31
  */
32
32
  export class Miniball {
33
33
 
@@ -5,7 +5,7 @@
5
5
  * @param {number} result_offset
6
6
  *
7
7
  * @author Alex Goldring
8
- * @copyright Company Named Limited (c) 2025
8
+ * @copyright Company Named Limited (c) 2026
9
9
  */
10
10
  export function v3_binary_equality_decode(buffer: BinaryBuffer, result: number[], result_offset: number): void;
11
11
  //# sourceMappingURL=v3_binary_equality_decode.d.ts.map
@@ -5,7 +5,7 @@
5
5
  * @param {number} result_offset
6
6
  *
7
7
  * @author Alex Goldring
8
- * @copyright Company Named Limited (c) 2025
8
+ * @copyright Company Named Limited (c) 2026
9
9
  */
10
10
  export function v3_binary_equality_decode(buffer, result, result_offset) {
11
11
  const header = buffer.readUint8();
@@ -6,7 +6,7 @@
6
6
  * @param {number} z
7
7
  *
8
8
  * @author Alex Goldring
9
- * @copyright Company Named Limited (c) 2025
9
+ * @copyright Company Named Limited (c) 2026
10
10
  */
11
11
  export function v3_binary_equality_encode(buffer: BinaryBuffer, x: number, y: number, z: number): void;
12
12
  //# sourceMappingURL=v3_binary_equality_encode.d.ts.map
@@ -6,7 +6,7 @@
6
6
  * @param {number} z
7
7
  *
8
8
  * @author Alex Goldring
9
- * @copyright Company Named Limited (c) 2025
9
+ * @copyright Company Named Limited (c) 2026
10
10
  */
11
11
  export function v3_binary_equality_encode(buffer, x, y, z){
12
12