Updates
Progress, a slice at a time.
Every slice that lands is written up in the plan with what it does, how it was checked, and what's next. These are those write-ups, newest first.
Audio, scenes and PlayerPrefs
Audio (tassix_audio: cpal output, symphonia decoding of WAV/Ogg/MP3/FLAC, own mixer with resampling and gain ramps; a manual 48 kHz clock when headless): AudioSource with Unity's defaults and clamps:…
Joints and CharacterController
CharacterController on PhysX's capsule controller, as Unity's: Move with collide-and-slide, stepOffset, slopeLimit, skinWidth and minMoveDistance. CollisionFlags (not a [Flags] enum, as in Unity), isGrounded and…
2D physics and the 2D platformer
Backend: Box2D 2.4.2 (MIT) vendored and compiled with a small C shim (crates/physics2d). Unity's Physics2D runs Box2D v2 with its tuning constants exposed as settings; ours are patched…
Input and Roll-a-Ball
Legacy Input: GetKey/Down/Up by KeyCode or Unity key name, mouse buttons, mousePosition, mouseScrollDelta, anyKey/anyKeyDown, and GetAxis/GetAxisRaw/GetButton* over Unity's default InputManager axes (Horizontal/Vertical…
3D physics
Backend: NVIDIA PhysX 5.1 through physx-sys (Unity uses PhysX 4.1, so contacts and the solver behave alike). The bindings are archived upstream; we build the bundled PhysX source…