Home
/
Packages
/
@hatch:physics
@hatch:physics
v0.1.4
Rapier-backed physics. World2D and World3D from one import — bodies, colliders, gravity, force / impulse, position + velocity reads. Bundles rapier2d + rapier3d in a single cdylib so games never have to choose between dimensions at the package level. Wires into @hatch:game for a step-per-frame physics loop.
$
hatch add @hatch:physics
copy
MOD
physics
CL
PhysicsCore
FN
PhysicsCore.static world2dCreate(descriptor)
FN
PhysicsCore.static world2dDestroy(id)
FN
PhysicsCore.static world2dStep(id, dt)
FN
PhysicsCore.static world2dSpawnDynamic(worldId, descriptor)
FN
PhysicsCore.static world2dSpawnStatic(worldId, descriptor)
FN
PhysicsCore.static world2dSpawnKinematic(worldId, descriptor)
FN
PhysicsCore.static world2dDespawn(worldId, bodyId)
FN
PhysicsCore.static world2dPosition(worldId, bodyId)
FN
PhysicsCore.static world2dLinearVelocity(worldId, bodyId)
FN
PhysicsCore.static world2dSetLinearVelocity(worldId, bodyId, x, y)
FN
PhysicsCore.static world2dApplyImpulse(worldId, bodyId, x, y)
FN
PhysicsCore.static world2dApplyForce(worldId, bodyId, x, y)
FN
PhysicsCore.static world3dCreate(descriptor)
FN
PhysicsCore.static world3dDestroy(id)
FN
PhysicsCore.static world3dStep(id, dt)
FN
PhysicsCore.static world3dSpawnDynamic(worldId, descriptor)
FN
PhysicsCore.static world3dSpawnStatic(worldId, descriptor)
FN
PhysicsCore.static world3dSpawnKinematic(worldId, descriptor)
FN
PhysicsCore.static world3dDespawn(worldId, bodyId)
FN
PhysicsCore.static world3dPosition(worldId, bodyId)
FN
PhysicsCore.static world3dLinearVelocity(worldId, bodyId)
FN
PhysicsCore.static world3dSetLinearVelocity(worldId, bodyId, x, y, z)
FN
PhysicsCore.static world3dApplyImpulse(worldId, bodyId, x, y, z)
FN
PhysicsCore.static world3dApplyForce(worldId, bodyId, x, y, z)
CL
World2D
NEW
World2D.new_(id)
GET
World2D.id
GET
World2D.destroy
FN
World2D.static new(descriptor)
FN
World2D.static new()
FN
World2D.step(dt)
FN
World2D.spawnDynamic(descriptor)
FN
World2D.spawnStatic(descriptor)
FN
World2D.spawnKinematic(descriptor)
FN
World2D.despawn(bodyId)
FN
World2D.position(bodyId)
FN
World2D.linearVelocity(bodyId)
FN
World2D.setLinearVelocity(bodyId, x, y)
FN
World2D.applyImpulse(bodyId, x, y)
FN
World2D.applyForce(bodyId, x, y)
CL
Collider2D
FN
Collider2D.static ball(radius)
FN
Collider2D.static ball(radius, options)
FN
Collider2D.static box(halfWidth, halfHeight)
FN
Collider2D.static box(halfWidth, halfHeight, options)
FN
Collider2D.static capsule(halfHeight, radius)
FN
Collider2D.static capsule(halfHeight, radius, options)
FN
Collider2D.static merge_(base, options)
CL
World3D
NEW
World3D.new_(id)
GET
World3D.id
GET
World3D.destroy
FN
World3D.static new(descriptor)
FN
World3D.static new()
FN
World3D.step(dt)
FN
World3D.spawnDynamic(descriptor)
FN
World3D.spawnStatic(descriptor)
FN
World3D.spawnKinematic(descriptor)
FN
World3D.despawn(bodyId)
FN
World3D.position(bodyId)
FN
World3D.linearVelocity(bodyId)
FN
World3D.setLinearVelocity(bodyId, x, y, z)
FN
World3D.applyImpulse(bodyId, x, y, z)
FN
World3D.applyForce(bodyId, x, y, z)
CL
Collider3D
FN
Collider3D.static ball(radius)
FN
Collider3D.static ball(radius, options)
FN
Collider3D.static box(halfX, halfY, halfZ)
FN
Collider3D.static box(halfX, halfY, halfZ, options)
FN
Collider3D.static capsule(halfHeight, radius)
FN
Collider3D.static capsule(halfHeight, radius, options)
FN
Collider3D.static merge_(base, options)