The base class for physics backends. A PhysicsWorld owns the lifecycle of a physics engine's
simulation world: stepping, gravity, body and shape factories, joints, raycasts and contact
reporting. Backends subclass it and override every method.
The base implementation is a functional no-op: bodies and joints are created but inert,
raycasts miss and stepping does nothing. NullPhysicsWorld uses this to let physics
component lifecycle run without a physics engine loaded.
Applications drive physics through the physics components - the methods of this class form
the internal contract between the engine and a backend and are not called directly.
The base class for physics backends. A PhysicsWorld owns the lifecycle of a physics engine's simulation world: stepping, gravity, body and shape factories, joints, raycasts and contact reporting. Backends subclass it and override every method.
The base implementation is a functional no-op: bodies and joints are created but inert, raycasts miss and stepping does nothing. NullPhysicsWorld uses this to let physics component lifecycle run without a physics engine loaded.
Supply a backend to an application with AppOptions#physicsWorld.
Applications drive physics through the physics components - the methods of this class form the internal contract between the engine and a backend and are not called directly.