107 Commits

Author SHA1 Message Date
a92526407c a 2026-03-25 08:20:20 -07:00
47239b10a8 print 2026-03-25 08:16:46 -07:00
f5588989e9 Revert "remove unhelpful debug prints"
This reverts commit f17648e7fa.
2026-03-25 08:16:46 -07:00
8e6d598ea3 debug 2026-03-25 08:16:46 -07:00
78c0cab05a debug 2026-03-25 08:16:11 -07:00
dd972c91ee debug 2026-03-25 08:15:40 -07:00
8a897ca377 hack in md lua 2026-03-25 08:15:40 -07:00
a673d62ffd bug 26 2026-03-25 08:14:08 -07:00
8f04516f78 derive debug for FEV 2026-03-25 08:07:46 -07:00
e1313e1e73 physics: add zero time tests 2026-03-25 08:07:46 -07:00
48316a677a Update bnum to 0.14.3 (#45)
Rather involved update due to it being the foundation of the physics.

Reviewed-on: #45
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
2026-03-24 18:02:17 +00:00
9b6be8bc68 physics: use core 2026-03-19 21:37:11 -07:00
93988affd7 physics: fix lint 2026-03-19 11:08:10 -07:00
7963c3632b PhysicsCamera::set_sensitivity 2026-02-06 09:23:42 -08:00
9e65a6eb95 physics v0.0.1 2026-02-05 07:34:19 -08:00
23a6655bb0 specify crate versions in workspace 2026-02-05 07:23:27 -08:00
5db2ce076d update glam 2026-02-05 06:51:07 -08:00
d343056664 more correct 2026-02-03 08:01:34 -08:00
3fd507be94 noclip 2026-01-30 07:33:04 -08:00
0fbe37e483 Rewrite MeshQuery (#33)
Splits the MeshQuery trait into MeshQuery and MeshTopology and cleans up much of the physics traits.  A notable optimization is using a closure for iterating variable length topological lists.  Intermediate allocations are avoided in this way.

Reviewed-on: #33
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
2026-01-29 18:05:54 +00:00
638c2b4329 shuffle code around 2026-01-29 09:44:21 -08:00
317e1d57c7 move minkowski into module 2026-01-29 09:40:46 -08:00
562e46a87e defer body update to actual strafe tick 2026-01-28 09:57:33 -08:00
3c13d5f8ec untab 2026-01-28 08:40:14 -08:00
1f0f78f9d8 tweak Trajectory code 2026-01-28 08:39:28 -08:00
a90cb53a20 delete awful functions 2026-01-28 07:28:22 -08:00
170e2b9bce return used contacts from push_solve 2026-01-27 09:28:26 -08:00
3e0fc54852 Delete Body.acceleration Field (#30)
Acceleration is not a persistent part of the PhysicsState, and is only used for intermediate calculations along a trajectory.

Fixes several bugs:
- Walk decelerate clip into wall
- Walk accelerate clip into wall
- Fall while flying

Reviewed-on: #30
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
2026-01-27 17:08:08 +00:00
acea52646a untab 2026-01-27 07:58:18 -08:00
7220506fd5 plumb sprint 2026-01-27 07:46:17 -08:00
8f94234ddc change DirectedEdge signature 2026-01-27 07:38:45 -08:00
36143b8b69 change UndirectedEdge signature 2026-01-27 07:35:43 -08:00
d62ff68baa fix comments 2026-01-26 09:06:40 -08:00
2331bef281 pretty print time 2026-01-22 09:43:35 -08:00
31b52f7c34 Conditionally Advance Body in atomic_internal_instruction StrafeTick (#14)
Closes #13, but exposes the underlying issue at all times.

Reviewed-on: #14
Co-authored-by: Quaternions <krakow20@gmail.com>
Co-committed-by: Quaternions <krakow20@gmail.com>
2026-01-22 17:00:52 +00:00
8329eadb18 use unbounded range in physics tests 2026-01-22 08:47:54 -08:00
4b2f93be66 fix algorithm setup start position 2026-01-22 08:41:54 -08:00
469ab48156 allow unbounded range 2026-01-22 08:41:35 -08:00
c2650adf54 md: simplify reduce 2026-01-21 10:32:19 -08:00
cdafbb4077 Implement MinimumDifference Algorithm (#25)
Completely replace the janky closest fev crawl from infinity algorithm with a dedicated purpose-built algorithm.  Finding the closest point on a MinkowskiMesh is equivalent to finding the closest point between two meshes.

Reviewed-on: #25
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
2026-01-21 17:31:52 +00:00
e4f3418bc6 document PhysicsMesh 2025-12-11 09:36:21 -08:00
6ca6d5e484 expect dead code 2025-12-10 18:05:16 -08:00
730c5fb7dd common: integer: generic zero 2025-11-22 08:47:16 -08:00
d1b61bb997 push_solve: remove epsilon 2025-11-21 10:52:34 -08:00
0343ad19cf MeshQuery::hint_point returns any point inside the mesh 2025-11-20 10:59:08 -08:00
43210b1417 less access to TouchingState private fields 2025-11-19 13:39:07 -08:00
e9d28cf15f document jank 2025-11-19 13:15:31 -08:00
452bac4049 change collision_end_contact & collision_end_intersect fn signatures 2025-11-19 10:57:44 -08:00
48aad78f59 change contact_normal function signature to reduce copies 2025-11-19 10:20:33 -08:00
d45a42f5aa change ContactCollision struct layout
Match TouchingState contacts HashMap K,V layout to try to get lucky with compiler optimization.
2025-11-19 10:20:33 -08:00