How shikihtm/boriation works
Boriation is a small 2D rigid-body simulation demo: the application creates a world and bob, supplies a gravity-and-spring force callback each frame, advances the world through a Velocity-Verlet step, and draws the resulting motion with raylib. The runtime centers on the world, rigid-body state, and integrator; force generation is currently an application-provided callback, with a separate interface present but unused. The README lists particles, collision response, constraints, and material properties as unfinished, so they are not represented as implemented subsystems. Connections follow the sampled entry point and headers.
Main entry points: Physics_Engine.cpp Demo loop · physics_world.hpp Physics world · rigid_body.hpp Rigid body state · integrator.h Verlet integrator
Components 9
Simulation app
- Demo loop
Physics_Engine/Physics_Engine.cpp - Gravity and spring
Physics_Engine/Physics_Engine.cpp
Physics core
- Physics world
Physics_Engine/header/physics_world.hpp - Object storage
Physics_Engine/src/physics_world.cpp - Rigid body state
Physics_Engine/header/rigid_body.hpp - Verlet integrator
Physics_Engine/header/integrator.h
Force API
- Force generator API
Physics_Engine/header/force_generator.hpp
Rendering
- Raylib API
Physics_Engine/libs/local/include/raylib.h
Other components
- Run simulation
Connections 11
- Run simulation → Demo loop: starts
README.md - Demo loop → Physics world: creates and advances
Physics_Engine/Physics_Engine.cpp - Demo loop → Gravity and spring: provides callback
Physics_Engine/Physics_Engine.cpp - Physics world → Verlet integrator: steps each body
Physics_Engine/header/physics_world.hpp - Physics world → Rigid body state: stores and iterates
Physics_Engine/header/physics_world.hpp - Object storage → Rigid body state: stores objects
Physics_Engine/src/physics_world.cpp - Physics world → Object storage: adds objects
Physics_Engine/src/physics_world.cpp - Verlet integrator → Rigid body state: updates state
Physics_Engine/header/integrator.h - Verlet integrator → Gravity and spring: invokes callback
Physics_Engine/header/integrator.h - Demo loop → Raylib API: initializes and draws
Physics_Engine/Physics_Engine.cpp - Force generator API → Rigid body state: accepts body
Physics_Engine/header/force_generator.hpp