content: -- | apecs-physics prelude
  
  module Apecs.Physics (
  
    -- * General
    Physics,
  
    -- * Space
    Gravity (..), Iterations (..),
    stepPhysics,
    earthGravity,
  
    -- * Body
    -- $BODY
    Body (..), Position (..), Velocity (..), Angle (..), AngularVelocity (..), Force (..), LocalForce(..), WorldForce(..),
    BodyMass (..), Moment (..), CenterOfGravity (..), Torque (..), ShapeList (..), ConstraintList (..),
  
    -- * Shape
    Convex (..), Shape (..),
    Mass (..), Density (..), Sensor (..), Friction (..), Elasticity (..), SurfaceVelocity (..),
    CollisionFilter (..), CollisionType(..),
    Bitmask (..), maskAll, maskNone, maskList, defaultFilter, boxShape,
  
    -- * Constraint
    Constraint (..), ConstraintType (..), MaxForce (..), MaxBias (..), ErrorBias (..), Impulse (..), CollideBodies (..),
  
    -- * Collision
    Collision (..), CollisionHandler (..), defaultHandler,
    CollisionSource(..), BeginCB, SeparateCB, PreSolveCB, PostSolveCB,
    mkBeginCB, mkSeparateCB, mkPreSolveCB, mkPostSolveCB, addPostStepCallback,
  
    -- * Query
    PointQueryResult (..),
    pointQuery,
    SegmentQueryResult (..),
    segmentQuery,
  
    -- * Geometry
    module Apecs.Physics.Geometry,
    BVec, WVec,
  
    module Apecs,
    module Linear.V2,
    ) where
  
  import           Apecs
  import           Linear.V2
  
  import           Apecs.Physics.Body       ()
  import           Apecs.Physics.Collision
  import           Apecs.Physics.Constraint ()
  import           Apecs.Physics.Geometry
  import           Apecs.Physics.Query
  import           Apecs.Physics.Shape
  import           Apecs.Physics.Space
  import           Apecs.Physics.Types
  
  
  -- $BODY
  -- When you give an entity a @'Body'@ component in 'apecs-physics', the physics engine will
  -- also give this entity a number of __sub-components__.
  -- These sub-components may be read and written separately from the actualy @'Body'@ itself,
  -- which makes the library both more expressive (as you can only write about the parts of a
  -- physics body you actually want to view or change) and more performant
  -- (as only the changed parts of a body actually need to be updated when you write to them).
  