!ω      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None"#=>?@AHMSVXxQ6 apecs-physics(What entity did this query connect with? apecs-physics9The closest point on the shape's surface (in world space) apecs-physics!The distance to the queried point apecs-physicsBThe gradient of the distance function. This should be similar to 'pqPoint'/'pqDistance'- but accurate even for very small distances. apecs-physics(What entity did this query connect with? apecs-physics2The point that the segment impacted with the shape apecs-physics.The normal of the surface that the segment hit apecs-physicsThe normalized distance along the query segment in the range `[0, 1]`. Multiply it by the length of the segment to get the distance away the shape is.  apecs-physicsA  E determines what types of collisions a callback handles. Also see  apecs-physicsA N can have a . 0s are used by callbacks for filtering, also see  . The difference between  and ; is that a ;h determines whether two shapes in the physics engine collide, or pass through one another, whereas a k determines what callback is called. In general, if you don't want any special checks to happen, use ;. apecs-physicsTA callback called when two bodies start touching for the first time. If it returns I, the physics engine will process the collision normally. If it returns , the physics engine will ignore the collision entirely. apecs-physicsIA callback called when two bodies have just stopped touching. This will always be called if ' is, regardless of the return value of . apecs-physics`A callback called when two bodies are touching during a physics step. If this function returns , the collision will be processed normally. If it returns 'False, then the physics engine will stop processing the collision for this step. apecs-physics/A callback called when two bodies are touching after the response to the collision has been processed. This means that you can determine the collision impulse or kinetic energy in this callback, if you need that for processing. apecs-physics4Maintains a fixed distance between two anchor points apecs-physicsA PinJoint" with minimum and maximum distance  apecs-physics3Creates a pivot point at the given world coordinate! apecs-physics3Creates a pivot point at the given body coordinates" apecs-physicsvThe first two vectors are the start and end of the groove on body A, the third argument is the anchor point on body B.# apecs-physicsQSpring between two anchor points, with given rest length, stiffness, and damping.$ apecs-physics<Rotary sping, with given rest angle, stiffness, and damping.% apecs-physics$Joint with minimum and maximum angle& apecs-physicsDRathet joint with given phase and ratchet (distance between clicks).( apecs-physics(Keeps relative angular velocity constant apecs-physics!Collision parameter, global value apecs-physics!Collision parameter, global value apecs-physics'Sleep idle time threshold, global value apecs-physics2Speed threshold to be considered idle, and a candidate for being put to sleep. Global value. Bodies with a speed less than this will not be simulated until a force acts upon them, which can potentially lead to large gains in performance, especially if there's a lot of inactive bodies in the simulation. apecs-physicsDaming factor, global value5 apecs-physics"Gravity force vector, global value7 apecs-physics+Number of iterations per step, global value9 apecs-physics%A bitmask used for collision handling; apecs-physicsXCollision Filters determine what shapes this shape collides with. Shapes in the same =m will never collide with one another. This is used to ignore collisions between parts on a complex object.>E is a bitmask that determines what categories a shape belongs to. ?G is a bitmask that determines what categories it collides with. See  Khttps://chipmunk-physics.net/release/ChipmunkLatest-Docs/#cpShape-Filtering for more information.B apecs-physicsThe friction of an object is a measure of how much it resists movement. Shapes with high friction will naturally slow down more quickly over time than objects with low friction.See  &https://en.wikipedia.org/wiki/Friction for more information.D apecs-physicsUThe density of a shape is a measure of how much mass an object has in a given volume.@The physics engine lets you set this, and it will calculate the F and other components for you.See  %https://en.wikipedia.org/wiki/Density for more information.F apecs-physicsThe mass of a shape is technically a measure of how much resistance it has to being accelerated, but it's generally easier to understand it as being how "heavy" something is.@The physics engine lets you set this, and it will calculate the D and other components for you. See  "https://en.wikipedia.org/wiki/Mass for more information.H apecs-physicsjThe elasticity of a shape. Higher elasticities will create more elastic collisions, IE, will be bouncier.See  2https://en.wikipedia.org/wiki/Elasticity_(physics) for more information.J apecs-physicsIf a body is a Jt, it exists only to trigger collision responses. It won't phyiscally interact with other bodies in any way, but it will# cause collision handlers to run. L apecs-physicsBA convex polygon. Consists of a list of vertices, and a radius.N apecs-physics<Shape component. Adding a shape to an entity that has no Body is a noop.P apecs-physicsThe  Constraint!s belonging to a body. Read-only.R apecs-physicsThe Shape!s belonging to a body. Read-only.T apecs-physics Where the BodyP's center of gravity is, in body-local coordinates. Can be read and written to.Z apecs-physicsThe moment of inertia of the BodyH. This is basically the body's tendency to resist angular acceleration.\ apecs-physics)A component representing the mass of the Body overall.^ apecs-physics(A component used to apply a torque to a BodyQ. The torque is applied to the entire body at once. This component is reset to  0 _ after every simulation step, so it is mainly used to apply a torque as opposed to being read.` apecs-physics'A component used to apply a force to a BodyU. The force is applied to the body's center of gravity. This component is reset to  Vec 0 0 ` after every stimulation step, so it is mainly used to apply a force as opposed to being read.b apecs-physicsA subcomponent of Body4 representing where it is going in world coordinatesd apecs-physicsA subcomponent of Body/ representing where it is in world coordinates.f apecs-physicsAdded to a component to add it to the physics space. Deleting it will also delete all associated shapes and constraints. A body has a number of subcomponents: Position, Velocity, Force, Torque, BodyMass, Moment, Angle, AngularVelocity, and CenterOfGravityt. These components cannot be added or removed from an entity, but rather are present as long as the entity has a Body.j apecs-physicsRType synonym indicating that a vector is expected to be in world-space coordinatesk apecs-physicsQType synonym indicating that a vector is expected to be in body-space coordinates apecs-physicsVector type used by the libraryl apecs-physicsPUninhabited, should be added to the world as a component to add a physics space.  ('&%$#"! )*+,-./0123456789:;<?>=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefihgjklNone"#%=>?@AHMVXlm{mnNone%=>?@AHVXlm~q apecs-physics&Makes a bitmask from a list of indicess apecs-physics4A box with the given height, width, and center point.opqrsNone"#%=>?@AHMVXklmftNonewv apecs-physics Map a function over all verticesw apecs-physicsKTranslates all vertices. The name shift is to prevent collisions with gloss apecs-physics$Centered rectangle with a given size apecs-physics&Rectangle with a given origin and size apecs-physics&Rectangle with origin 0 and given size apecs-physicspSplit a shape into its edges. Will return no edges for points, but returns 2 for a line (in opposite directions) apecs-physics<A set of lines forming a grid. Returns (r + c + 2) segments.uvwxyz{|}~None"#%=>?@AHMVXklmNone"#%=>?@AHMVXklm0      !"#$%&'()*+ None"#%=>?@AHMVXklm@None,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~l5678mnfghidebcXYVW`a\]Z[TU^_RSPQLMNOFGDEJKBCHI@A;<=>?9:opqrs)* !"#$%&'(3412/0+,-.  tuvwxyz{|}~kjj      !"#$%&'()*+,-.//0011223344556677889:;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOPQRSTUVWXYZ[\]^_`abcdefghijkl m n o p qrstuvwxvwyz{|}~ !"z{|}~                        ! " # $ %& %& '( ') '* '+ ,- ,- ,. ,/ ,/ ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,:  ;<=><=><?@ABCABDABEABFABGABHABHABIABJABKALMALNALOPQRS*apecs-physics-0.4.2-227pIc9RRXtC5KxLViMtDh Apecs.PhysicsApecs.Physics.TypesApecs.Physics.SpaceApecs.Physics.ShapeApecs.Physics.QueryApecs.Physics.GeometryApecs.Physics.ConstraintApecs.Physics.BodyApecs.Physics.CollisionPointQueryResultpqShapepqPoint pqDistance pqGradient CollisioncollisionNormalcollisionBodyAcollisionBodyBcollisionShapeAcollisionShapeBCollisionSourceWildcardBetween CollisionTypeCollisionHandlersourcebeginCB separateCB preSolveCB postSolveCB PostSolveCB PreSolveCB SeparateCBBeginCBConstraintTypePinJoint SlideJoint PivotJoint PivotJoint2 GrooveJoint DampedSpringDampedRotarySpringRotaryLimitJoint RatchetJoint GearJoint SimpleMotor ConstraintImpulse CollideBodies ErrorBiasMaxBiasMaxForceGravity IterationsBitmaskCollisionFilter filterGroupfilterCategories filterMaskSurfaceVelocityFrictionDensityMass ElasticitySensorConvexShapeConstraintList ShapeListCenterOfGravityAngularVelocityAngleMomentBodyMassTorqueForceVelocityPositionBody DynamicBody KinematicBody StaticBodyWVecBVecPhysics stepPhysics earthGravitymaskAllmaskNonemaskList defaultFilterboxShape pointQueryvertices mapVerticesshift getRadius setRadiuscCirclezCircleoCirclehLinevLine cRectangle oRectangle zRectangletoEdges gridLinesdefaultHandler mkBeginCB mkSeparateCB mkPreSolveCB mkPostSolveCBsqShape sqImpactPointsqImpactNormal sqImpactAlphaghc-prim GHC.TypesTrueFalse CollisionBias CollisionSlop SleepIdleTimeIdleSpeedThresholdDampingVecSegmentQueryResultCollisionPropertiescollisionSurfaceVelocitycollisionFrictioncollisionElasticity PostSolveFunc PreSolveFunc SeparateFunc BeginFuncSpacePtrPtrMapIOMapRecordrecValrecPtr BodyRecord brConstraintsbrShapesbrBodybrPtrSpacespacePtr spHandlers spConstraintsspShapesspBodiesFrnVecFrnSpaceCollisionGroupphycsCtxphycsTypesTablecast inline_c_ffi_6989586621679127592 inline_c_ffi_6989586621679127601 inline_c_ffi_6989586621679127645 inline_c_ffi_6989586621679127679 inline_c_ffi_6989586621679127688 inline_c_ffi_6989586621679127705 inline_c_ffi_6989586621679127715 inline_c_ffi_6989586621679127728newSpaceexplStepPhysics getGravity setGravity getIterations setIterations inline_c_ffi_6989586621679137654 inline_c_ffi_6989586621679137682 inline_c_ffi_6989586621679137703 inline_c_ffi_6989586621679137716 inline_c_ffi_6989586621679137725 inline_c_ffi_6989586621679137737 inline_c_ffi_6989586621679137746 inline_c_ffi_6989586621679137758 inline_c_ffi_6989586621679137767 inline_c_ffi_6989586621679137779 inline_c_ffi_6989586621679137788 inline_c_ffi_6989586621679137800 inline_c_ffi_6989586621679137809 inline_c_ffi_6989586621679137821 inline_c_ffi_6989586621679137830 inline_c_ffi_6989586621679137839 inline_c_ffi_6989586621679137855 inline_c_ffi_6989586621679137864 inline_c_ffi_6989586621679137873 inline_c_ffi_6989586621679137882 inline_c_ffi_6989586621679137901 inline_c_ffi_6989586621679137910 inline_c_ffi_6989586621679137922newShape destroyShape getSensor setSensor getElasticity setElasticitygetMasssetMass getDensity setDensity getFriction setFrictiongetSurfaceVelocitysetSurfaceVelocity getFilter setFiltergetCollisionTypesetCollisionType inline_c_ffi_6989586621679169366 inline_c_ffi_6989586621679169402 inline_c_ffi_6989586621679205072 inline_c_ffi_6989586621679205084 inline_c_ffi_6989586621679205093 inline_c_ffi_6989586621679205106 inline_c_ffi_6989586621679205115 inline_c_ffi_6989586621679205124 inline_c_ffi_6989586621679205140 inline_c_ffi_6989586621679205149 inline_c_ffi_6989586621679205158 inline_c_ffi_6989586621679205174 inline_c_ffi_6989586621679205183 inline_c_ffi_6989586621679205196 inline_c_ffi_6989586621679205205 inline_c_ffi_6989586621679205218 inline_c_ffi_6989586621679205227 inline_c_ffi_6989586621679205236 inline_c_ffi_6989586621679205252 inline_c_ffi_6989586621679205261 inline_c_ffi_6989586621679205274 inline_c_ffi_6989586621679205283 inline_c_ffi_6989586621679205296 inline_c_ffi_6989586621679205305 inline_c_ffi_6989586621679205318 inline_c_ffi_6989586621679205327 inline_c_ffi_6989586621679205336 inline_c_ffi_6989586621679205352newBody setBodyType getBodyType destroyBody getPosition setPosition getVelocity setVelocitygetAnglesetAnglegetAngularVelocitysetAngularVelocitygetForcesetForce getBodyMass setBodyMass getMoment setMoment getTorque setTorquegetCenterOfGravitysetCenterOfGravity mtl-2.2.2Control.Monad.Reader.Classask"apecs-0.8.1-2FUsxPxNsTpDMhpELYlhg4Apecs.TH makeWorldmakeWorldAndComponents Apecs.UtilrunGC newEntityglobal EntityCounter Apecs.SystemcfoldM_cfoldMcfoldcmapM_cmapMcmap$~modifydestroyexists$=setgetrunWith runSystemApecs.ComponentsNot Apecs.StoresMapUniqueGlobalCache Apecs.CoreEntityunEntitySystemTunSystemSystem ComponentStorageHasgetStoreexplInitGetSetMembersDestroyasksbase Data.ProxyProxyControl.Monad.IO.ClassliftIO$linear-1.20.9-FtEEV57XOEp2H3Gn7oSNeK Linear.V2crossZangleperpey_yxV2R2_y_xy Linear.V1exR1_xtransformers-0.5.5.0Control.Monad.Trans.Classlift