Core declares the physics role: Physics_Interface, Rigidbody, Box_Collider #69
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crowmaki/cinnabar#69
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Part of #67.
What to build
Core declares the physics role and implements none of it, as it does for Backend, Platform and Input. The ABI Surface gains
Physics_Interface, theRigidbodyandBox_ColliderComponent structs, and the enums and ray-hit struct they use; every field is a Boundary Type. The roles file reservescinnabar.physics/1and the Schema namescinnabar.rigidbodyandcinnabar.box_collider. Body and shape ids areu64Transient Fields.The Interface carries
set_gravity,gravity,ray_cast,fixed_deltaandbody_count, each takingselffirst, shaped so contacts and a character controller can be added later without redesign.Documentation lands with it: glossary entries for Rigidbody, Collider, Physics Interface, Implicit Static Body and Body User Tag; the Interface entry names Physics as a Core-declared role; a dated note on ADR-0003 records the third role; ADR-0016's heading reads 0016 and its research citation points at something that exists.
Acceptance criteria
Rigidbodyhas body type (Static, Kinematic, Dynamic), initial linear velocity, gravity scale, and transient body ids;Box_Colliderhas half extents, friction, restitution, density and a transient shape id.Blocked by