# 2D physics types

Import these contracts with `type` from `@pibbl/core/physics/2d`. The pure geometry
subset is also available from `@pibbl/core/physics/2d/geometry`. For composition
recipes, see the [2D physics guide](/guides/physics-2d/).

## Geometry

## `PibblPhysicsVector2`

Readonly `[x, y]` coordinates.

## `PibblPhysicsPose2D`

A position and Canvas-compatible `rotationDegrees`; transform is the pose alias
used by pure shape transformation.

## `PibblPhysicsTransform2D`

Alias of `PibblPhysicsPose2D` used by `transformShape2D`.

## `PibblPhysicsAabb2D`

Readonly minimum and maximum vector bounds.

## `PibblPhysicsRay2D`

Origin, non-zero direction, and non-negative maximum distance.

## `PibblPhysicsShape2D`

Nominal immutable descriptor made by a public shape factory. Its structure is
opaque; do not create one with an object literal.

## `PibblPhysicsMassProperties2D`

Area, centroid, mass, and rotational inertia for a shape and density.

## `PibblPhysicsDistance2D`

Signed separation, closest points, and a normal from the second shape toward
the first.

## `PibblPhysicsContactPoint2D`

Witness points with separation, and an overlap manifold with a second-to-first
normal and one or more points.

## `PibblPhysicsShapeContact2D`

The overlap manifold returned by pure contact queries: a normal and readonly
contact points.

## `PibblPhysicsShapeHit2D`

Ray or shape-cast point, normal, distance, and normalized time of impact.

## World, descriptors, and handles

## `PibblPhysicsWorld2DProps`

Signal-aware `PhysicsWorld2D` input: creation-only coordinate `space`, gravity,
fixed step, catch-up cap, interpolation, sleeping, solver settings, sleep and
wake handlers, error handler, and children. `space` is `"root"` or
creation-only `"local"`.

## `PibblPhysicsSolverOptions`

Reactive 1-through-32 iteration counts. Legacy public `velocityIterations`
maps to Rapier `numSolverIterations`; `positionIterations` maps to
`numInternalPgsIterations`.

## `PibblPhysicsWorldHandle2D`

Nominal `pibblPhysicsWorld2D()` result with a readonly revision signal.

## `PibblPhysicsAttachment2D`

Nominal values accepted by a Pibbl `physics` prop. Create them with descriptor
functions, never object literals.

## `PibblPhysicsBodyAttachment2D`

Nominal body attachment made by `dynamicBody2D`, `staticBody2D`, or
`kinematicBody2D`.

## `PibblPhysicsColliderAttachment2D`

Nominal collider attachment made by `collider2D`.

## `PibblPhysicsDynamicBody2DOptions`

Dynamic configuration: enabled state, supplied handle, initial velocities,
damping, gravity scale, automatic or explicit mass, fixed rotation, sleep,
CCD, re-enable velocity mode, and optional inline collider.

## `PibblPhysicsStaticBody2DOptions`

Static enabled state, supplied handle, and optional inline collider.

## `PibblPhysicsKinematicBody2DOptions`

Kinematic configuration with optional position and rotation signals. Targets
are sampled by Pibbl's shared scheduler.

## `PibblPhysicsKinematicTarget2D`

Optional readonly position and rotation signal targets for a kinematic body.

## `PibblPhysicsColliderConfiguration2D`

Supplied or inferred shape, local offset and rotation, density, friction,
restitution, sensor flag, mass contribution, filtering, tag, and event
callbacks.

## `PibblPhysicsCollisionFilter`

Category, mask, and group values that determine eligible interactions and
queries.

## `PibblPhysicsBodyHandle2D`

Stable endpoint with readonly signals for pose, linear and angular velocity,
sleeping, enabled state, and generation.

## `PibblPhysicsColliderHandle2D`

Nominal identity used in query filtering and returned records.

## Query and event contracts

## `PibblPhysicsQueryOptions2D`

Sensor, collision-filter, and body/collider-exclusion input for a world query.

## `PibblPhysicsQueryHit2D`

Committed-world records with body and collider handles, generations, and the
arbitrary collider tag. A hit also carries cast geometry.

## `PibblPhysicsQueryMatch2D`

Committed overlap or point-query record with endpoint handles, generations,
and original tag.

## `PibblPhysicsCollisionEvent2D`

Solid-contact callback data: both endpoints, second-to-self normal, contact
points, total normal impulse, tick, and tags.

## `PibblPhysicsCollisionHandler2D`

Callback accepting a `PibblPhysicsCollisionEvent2D`.

## `PibblPhysicsOverlapEvent2D`

Sensor-overlap callback data: both endpoints, tick, and tags.

## `PibblPhysicsOverlapHandler2D`

Callback accepting a `PibblPhysicsOverlapEvent2D`.

## `PibblPhysicsHitHandler2D`

Collision-event callback for contact impacts.

## `PibblPhysicsBodyStateEvent2D`

Sleep or wake notification with body, sleeping state, and simulation tick.

## `PibblPhysicsBodyStateHandler2D`

Callback accepting a `PibblPhysicsBodyStateEvent2D`.

## Inspection and debug drawing

## `PibblPhysicsInspection2D`

Immutable JSON-safe world observation: engine identity, coordinate space,
revision, tick, advance/failure state, bodies, colliders, and contacts. It is
not a serialization or restore format.

## `PibblPhysicsBodyInspection2D`

Body identity, generation, type, enabled and sleeping state, simulation and
presentation poses, center of mass, velocities, and applicable mass.

## `PibblPhysicsColliderInspection2D`

Collider and owner identities, sensor state, serializable string label, shape
kinds, and committed bounds.

## `PibblPhysicsContactInspection2D`

Collider identities, sensor state, second-to-first normal, points, and normal
impulse.

## `PibblPhysicsDebug2DProps`

Input for `PhysicsDebug2D`: required world handle and optional Canvas color.
The overlay is read-only and has no pointer target.

## Canvas shape inputs

## `PibblPhysicsPrimitiveProps2D`

Shared event, keyboard, and `physics` props for physics-aware primitives.

## `PhysicsShape2DProps`

Props and style for a supplied shape. Style requires `shape`, supports normal
Canvas system, paint, cursor, box, and layout fields, plus interaction width.

## `PhysicsShape2DStyle`

The specified style input for `PhysicsShape2D`.

## `Capsule2DProps`

Props and style for `start`, `end`, and positive `radius`.

## `Capsule2DStyle`

Specified Canvas and capsule geometry style for `Capsule2D`.

## `Segment2DProps`

Props and stroked segment style with endpoints and interaction width; no fill.

## `Segment2DStyle`

Specified stroked Canvas style and endpoint geometry for `Segment2D`.

## `Chain2DProps`

Props and style for points, optional closure, non-negative radius, and
interaction width.

## `Chain2DStyle`

Specified Canvas and chain geometry style for `Chain2D`.

## API details from source

<span id="api-PibblPhysicsCollisionFilter"></span>

### PibblPhysicsCollisionFilter

Category, mask, and group values controlling eligible collision pairs.

```ts
interface PibblPhysicsCollisionFilter
```

Related API: [PibblPhysicsCollisionFilter](/reference/types/physics-2d/#pibblphysicscollisionfilter).

#### See also

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[PibblPhysicsQueryOptions2D](/reference/types/physics-2d/#pibblphysicsqueryoptions2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:32](/source/packages/core/src/features/physics/lib/2d/types-ts/#L32)

#### Properties and methods

<span id="api-PibblPhysicsCollisionFilter-category"></span>
<details>
<summary>category (optional)</summary>


```ts
readonly category?: number | undefined
```

Category bits identifying this collider for collision filtering. See PibblPhysicsCollisionFilter.

[View source — packages/core/src/features/physics/lib/2d/types.ts:34](/source/packages/core/src/features/physics/lib/2d/types-ts/#L34)

</details>

<span id="api-PibblPhysicsCollisionFilter-mask"></span>
<details>
<summary>mask (optional)</summary>


```ts
readonly mask?: number | undefined
```

Category bits this collider is permitted to collide with. See PibblPhysicsCollisionFilter.

[View source — packages/core/src/features/physics/lib/2d/types.ts:36](/source/packages/core/src/features/physics/lib/2d/types-ts/#L36)

</details>

<span id="api-PibblPhysicsCollisionFilter-group"></span>
<details>
<summary>group (optional)</summary>


```ts
readonly group?: number | undefined
```

Signed group override used when filtering a collider pair. See PibblPhysicsCollisionFilter.

[View source — packages/core/src/features/physics/lib/2d/types.ts:38](/source/packages/core/src/features/physics/lib/2d/types-ts/#L38)

</details>

<span id="api-PibblPhysicsCollisionHandler2D"></span>

### PibblPhysicsCollisionHandler2D

Receives a collision-start or collision-end event for a collider.

```ts
type PibblPhysicsCollisionHandler2D = (
  event: PibblPhysicsCollisionEvent2D,
) => void
```

Related API: [PibblPhysicsCollisionHandler2D](/reference/types/physics-2d/#pibblphysicscollisionhandler2d), [PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d).

#### Parameters

- **`event`** — Collision pair and contact information for this notification. See
[PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d) .

#### See also

[PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:50](/source/packages/core/src/features/physics/lib/2d/types-ts/#L50)

<span id="api-PibblPhysicsHitHandler2D"></span>

### PibblPhysicsHitHandler2D

Receives contact impulse information for a collider hit.

```ts
type PibblPhysicsHitHandler2D = (
  event: PibblPhysicsCollisionEvent2D,
) => void
```

Related API: [PibblPhysicsHitHandler2D](/reference/types/physics-2d/#pibblphysicshithandler2d), [PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d).

#### Parameters

- **`event`** — Collision pair and contact information for this notification. See
[PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d) .

#### See also

[PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:62](/source/packages/core/src/features/physics/lib/2d/types-ts/#L62)

<span id="api-PibblPhysicsOverlapHandler2D"></span>

### PibblPhysicsOverlapHandler2D

Receives sensor overlap-start or overlap-end notifications.

```ts
type PibblPhysicsOverlapHandler2D = (
  event: PibblPhysicsOverlapEvent2D,
) => void
```

Related API: [PibblPhysicsOverlapHandler2D](/reference/types/physics-2d/#pibblphysicsoverlaphandler2d), [PibblPhysicsOverlapEvent2D](/reference/types/physics-2d/#pibblphysicsoverlapevent2d).

#### Parameters

- **`event`** — Sensor overlap pair and overlap lifecycle information. See
[PibblPhysicsOverlapEvent2D](/reference/types/physics-2d/#pibblphysicsoverlapevent2d) .

#### See also

[PibblPhysicsOverlapEvent2D](/reference/types/physics-2d/#pibblphysicsoverlapevent2d)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:74](/source/packages/core/src/features/physics/lib/2d/types-ts/#L74)

<span id="api-PibblPhysicsBodyStateHandler2D"></span>

### PibblPhysicsBodyStateHandler2D

Receives body sleeping-state changes at a simulation tick.

```ts
type PibblPhysicsBodyStateHandler2D = (
  event: PibblPhysicsBodyStateEvent2D,
) => void
```

Related API: [PibblPhysicsBodyStateHandler2D](/reference/types/physics-2d/#pibblphysicsbodystatehandler2d), [PibblPhysicsBodyStateEvent2D](/reference/types/physics-2d/#pibblphysicsbodystateevent2d).

#### Parameters

- **`event`** — Body state change notification. See [PibblPhysicsBodyStateEvent2D](/reference/types/physics-2d/#pibblphysicsbodystateevent2d).

#### See also

[PibblPhysicsBodyStateEvent2D](/reference/types/physics-2d/#pibblphysicsbodystateevent2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:84](/source/packages/core/src/features/physics/lib/2d/types-ts/#L84)

<span id="api-PibblPhysicsColliderConfiguration2D"></span>

### PibblPhysicsColliderConfiguration2D

Shape, material, mass contribution, filtering, tags, and callbacks for a collider attachment.

```ts
interface PibblPhysicsColliderConfiguration2D
```

Related API: [PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d).

#### See also

[PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsCollisionFilter](/reference/types/physics-2d/#pibblphysicscollisionfilter)

[PibblPhysicsCollisionHandler2D](/reference/types/physics-2d/#pibblphysicscollisionhandler2d)

[PibblPhysicsHitHandler2D](/reference/types/physics-2d/#pibblphysicshithandler2d)

[PibblPhysicsOverlapHandler2D](/reference/types/physics-2d/#pibblphysicsoverlaphandler2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:98](/source/packages/core/src/features/physics/lib/2d/types-ts/#L98)

#### Properties and methods

<span id="api-PibblPhysicsColliderConfiguration2D-shape"></span>
<details>
<summary>shape (optional)</summary>


```ts
readonly shape?: "self" | PibblPhysicsShape2D | undefined
```

Related API: [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

Immutable collision geometry or particle spawn shape. See PibblPhysicsShape2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:100](/source/packages/core/src/features/physics/lib/2d/types-ts/#L100)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-offset"></span>
<details>
<summary>offset (optional)</summary>


```ts
readonly offset?: PibblPhysicsVector2 | undefined
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Collider displacement relative to its owning body. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:102](/source/packages/core/src/features/physics/lib/2d/types-ts/#L102)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-rotationDegrees"></span>
<details>
<summary>rotationDegrees (optional)</summary>


```ts
readonly rotationDegrees?: number | undefined
```

Rotation in degrees. See PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:104](/source/packages/core/src/features/physics/lib/2d/types-ts/#L104)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-density"></span>
<details>
<summary>density (optional)</summary>


```ts
readonly density?: number | undefined
```

Mass per unit area used to derive automatic mass properties. See
PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:109](/source/packages/core/src/features/physics/lib/2d/types-ts/#L109)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-friction"></span>
<details>
<summary>friction (optional)</summary>


```ts
readonly friction?: number | undefined
```

Contact friction coefficient. See PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:111](/source/packages/core/src/features/physics/lib/2d/types-ts/#L111)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-restitution"></span>
<details>
<summary>restitution (optional)</summary>


```ts
readonly restitution?: number | undefined
```

Contact restitution coefficient controlling bounce. See
PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:116](/source/packages/core/src/features/physics/lib/2d/types-ts/#L116)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-sensor"></span>
<details>
<summary>sensor (optional)</summary>


```ts
readonly sensor?: boolean | undefined
```

Whether the collider reports overlaps instead of producing contact response. See
PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:121](/source/packages/core/src/features/physics/lib/2d/types-ts/#L121)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-contributesToMass"></span>
<details>
<summary>contributesToMass (optional)</summary>


```ts
readonly contributesToMass?: boolean | undefined
```

Whether this collider contributes to its body's automatic mass properties. See
PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:126](/source/packages/core/src/features/physics/lib/2d/types-ts/#L126)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-collisionFilter"></span>
<details>
<summary>collisionFilter (optional)</summary>


```ts
readonly collisionFilter?: PibblPhysicsCollisionFilter | undefined
```

Related API: [PibblPhysicsCollisionFilter](/reference/types/physics-2d/#pibblphysicscollisionfilter).

Category, mask, and group filtering for collision or query participation. See
PibblPhysicsCollisionFilter.

[View source — packages/core/src/features/physics/lib/2d/types.ts:131](/source/packages/core/src/features/physics/lib/2d/types-ts/#L131)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-tag"></span>
<details>
<summary>tag (optional)</summary>


```ts
readonly tag?: unknown
```

Application payload carried through physics queries and events. See
PibblPhysicsColliderConfiguration2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:136](/source/packages/core/src/features/physics/lib/2d/types-ts/#L136)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-onCollisionStart"></span>
<details>
<summary>onCollisionStart (optional)</summary>


```ts
readonly onCollisionStart?: PibblPhysicsCollisionHandler2D | undefined
```

Related API: [PibblPhysicsCollisionHandler2D](/reference/types/physics-2d/#pibblphysicscollisionhandler2d).

Receives the start of a contact pair involving this collider. See
PibblPhysicsCollisionHandler2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:141](/source/packages/core/src/features/physics/lib/2d/types-ts/#L141)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-onCollisionEnd"></span>
<details>
<summary>onCollisionEnd (optional)</summary>


```ts
readonly onCollisionEnd?: PibblPhysicsCollisionHandler2D | undefined
```

Related API: [PibblPhysicsCollisionHandler2D](/reference/types/physics-2d/#pibblphysicscollisionhandler2d).

Receives the end of a contact pair involving this collider. See
PibblPhysicsCollisionHandler2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:146](/source/packages/core/src/features/physics/lib/2d/types-ts/#L146)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-onHit"></span>
<details>
<summary>onHit (optional)</summary>


```ts
readonly onHit?: PibblPhysicsHitHandler2D | undefined
```

Related API: [PibblPhysicsHitHandler2D](/reference/types/physics-2d/#pibblphysicshithandler2d).

Receives contact impulse information for this collider. See PibblPhysicsHitHandler2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:148](/source/packages/core/src/features/physics/lib/2d/types-ts/#L148)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-onOverlapStart"></span>
<details>
<summary>onOverlapStart (optional)</summary>


```ts
readonly onOverlapStart?: PibblPhysicsOverlapHandler2D | undefined
```

Related API: [PibblPhysicsOverlapHandler2D](/reference/types/physics-2d/#pibblphysicsoverlaphandler2d).

Receives the start of a sensor overlap involving this collider. See
PibblPhysicsOverlapHandler2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:153](/source/packages/core/src/features/physics/lib/2d/types-ts/#L153)

</details>

<span id="api-PibblPhysicsColliderConfiguration2D-onOverlapEnd"></span>
<details>
<summary>onOverlapEnd (optional)</summary>


```ts
readonly onOverlapEnd?: PibblPhysicsOverlapHandler2D | undefined
```

Related API: [PibblPhysicsOverlapHandler2D](/reference/types/physics-2d/#pibblphysicsoverlaphandler2d).

Receives the end of a sensor overlap involving this collider. See
PibblPhysicsOverlapHandler2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:158](/source/packages/core/src/features/physics/lib/2d/types-ts/#L158)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions"></span>

### PibblPhysicsDynamicBody2DOptions

Initial motion, mass, damping, gravity, sleeping, and collider configuration of a dynamic body.

```ts
interface PibblPhysicsDynamicBody2DOptions
```

Related API: [PibblPhysicsDynamicBody2DOptions](/reference/types/physics-2d/#pibblphysicsdynamicbody2doptions).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d)

[dynamicBody2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:170](/source/packages/core/src/features/physics/lib/2d/types-ts/#L170)

#### Properties and methods

<span id="api-PibblPhysicsDynamicBody2DOptions-enabled"></span>
<details>
<summary>enabled (optional)</summary>


```ts
readonly enabled?: boolean | undefined
```

Whether this operation or resource participates in updates. See
PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:175](/source/packages/core/src/features/physics/lib/2d/types-ts/#L175)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-handle"></span>
<details>
<summary>handle (optional)</summary>


```ts
readonly handle?: PibblPhysicsBodyHandle2D | undefined
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Handle identity associated with the operation or body. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:177](/source/packages/core/src/features/physics/lib/2d/types-ts/#L177)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-linearVelocity"></span>
<details>
<summary>linearVelocity (optional)</summary>


```ts
readonly linearVelocity?: PibblPhysicsVector2 | undefined
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Linear velocity in the simulation coordinate system per second. See PibblPhysicsVector2
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:182](/source/packages/core/src/features/physics/lib/2d/types-ts/#L182)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-angularVelocityDegreesPerSecond"></span>
<details>
<summary>angularVelocityDegreesPerSecond (optional)</summary>


```ts
readonly angularVelocityDegreesPerSecond?: number | undefined
```

Angular velocity in degrees per second. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:184](/source/packages/core/src/features/physics/lib/2d/types-ts/#L184)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-linearDamping"></span>
<details>
<summary>linearDamping (optional)</summary>


```ts
readonly linearDamping?: number | undefined
```

Damping applied to linear motion. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:186](/source/packages/core/src/features/physics/lib/2d/types-ts/#L186)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-angularDamping"></span>
<details>
<summary>angularDamping (optional)</summary>


```ts
readonly angularDamping?: number | undefined
```

Damping applied to angular motion. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:188](/source/packages/core/src/features/physics/lib/2d/types-ts/#L188)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-gravityScale"></span>
<details>
<summary>gravityScale (optional)</summary>


```ts
readonly gravityScale?: number | undefined
```

Multiplier applied to world gravity for this body. See PibblPhysicsDynamicBody2DOptions
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:193](/source/packages/core/src/features/physics/lib/2d/types-ts/#L193)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-mass"></span>
<details>
<summary>mass (optional)</summary>


```ts
readonly mass?: number | "auto" | undefined
```

Mass used by the spring or physics calculation. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:195](/source/packages/core/src/features/physics/lib/2d/types-ts/#L195)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-fixedRotation"></span>
<details>
<summary>fixedRotation (optional)</summary>


```ts
readonly fixedRotation?: boolean | undefined
```

Whether angular motion is locked. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:197](/source/packages/core/src/features/physics/lib/2d/types-ts/#L197)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-allowSleep"></span>
<details>
<summary>allowSleep (optional)</summary>


```ts
readonly allowSleep?: boolean | undefined
```

Whether the body may enter the sleeping state. See PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:199](/source/packages/core/src/features/physics/lib/2d/types-ts/#L199)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-ccd"></span>
<details>
<summary>ccd (optional)</summary>


```ts
readonly ccd?: boolean | undefined
```

Whether continuous collision detection is enabled for the body. See
PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:204](/source/packages/core/src/features/physics/lib/2d/types-ts/#L204)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-reenableVelocity"></span>
<details>
<summary>reenableVelocity (optional)</summary>


```ts
readonly reenableVelocity?: "preserve" | "zero" | undefined
```

Whether re-enabling restores or clears the body's velocity. See
PibblPhysicsDynamicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:209](/source/packages/core/src/features/physics/lib/2d/types-ts/#L209)

</details>

<span id="api-PibblPhysicsDynamicBody2DOptions-collider"></span>
<details>
<summary>collider (optional)</summary>


```ts
readonly collider?: false | PibblPhysicsColliderConfiguration2D | PibblPhysicsShape2D | undefined
```

Related API: [PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d), [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

Collider configuration or identity associated with this body or query. See
PibblPhysicsColliderConfiguration2D, PibblPhysicsShape2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:214](/source/packages/core/src/features/physics/lib/2d/types-ts/#L214)

</details>

<span id="api-PibblPhysicsStaticBody2DOptions"></span>

### PibblPhysicsStaticBody2DOptions

Enablement, handle, and collider configuration of a static body.

```ts
interface PibblPhysicsStaticBody2DOptions
```

Related API: [PibblPhysicsStaticBody2DOptions](/reference/types/physics-2d/#pibblphysicsstaticbody2doptions).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d)

[staticBody2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:225](/source/packages/core/src/features/physics/lib/2d/types-ts/#L225)

#### Properties and methods

<span id="api-PibblPhysicsStaticBody2DOptions-enabled"></span>
<details>
<summary>enabled (optional)</summary>


```ts
readonly enabled?: boolean | undefined
```

Whether this operation or resource participates in updates. See
PibblPhysicsStaticBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:230](/source/packages/core/src/features/physics/lib/2d/types-ts/#L230)

</details>

<span id="api-PibblPhysicsStaticBody2DOptions-handle"></span>
<details>
<summary>handle (optional)</summary>


```ts
readonly handle?: PibblPhysicsBodyHandle2D | undefined
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Handle identity associated with the operation or body. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:232](/source/packages/core/src/features/physics/lib/2d/types-ts/#L232)

</details>

<span id="api-PibblPhysicsStaticBody2DOptions-collider"></span>
<details>
<summary>collider (optional)</summary>


```ts
readonly collider?: false | PibblPhysicsColliderConfiguration2D | PibblPhysicsShape2D | undefined
```

Related API: [PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d), [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

Collider configuration or identity associated with this body or query. See
PibblPhysicsColliderConfiguration2D, PibblPhysicsShape2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:237](/source/packages/core/src/features/physics/lib/2d/types-ts/#L237)

</details>

<span id="api-PibblPhysicsKinematicTarget2D"></span>

### PibblPhysicsKinematicTarget2D

Reactive position and rotation targets for a kinematic body.

```ts
interface PibblPhysicsKinematicTarget2D
```

Related API: [PibblPhysicsKinematicTarget2D](/reference/types/physics-2d/#pibblphysicskinematictarget2d).

#### See also

[Signal](/reference/types/canvas-runtime/#signal)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsKinematicBody2DOptions](/reference/types/physics-2d/#pibblphysicskinematicbody2doptions)

[View source — packages/core/src/features/physics/lib/2d/types.ts:247](/source/packages/core/src/features/physics/lib/2d/types-ts/#L247)

#### Properties and methods

<span id="api-PibblPhysicsKinematicTarget2D-position"></span>
<details>
<summary>position (optional)</summary>


```ts
readonly position?: Signal<PibblPhysicsVector2> | undefined
```

Related API: [Signal](/reference/types/canvas-runtime/#signal), [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Position of the geometry, source, or selected resize handle. See Signal,
PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:252](/source/packages/core/src/features/physics/lib/2d/types-ts/#L252)

</details>

<span id="api-PibblPhysicsKinematicTarget2D-rotationDegrees"></span>
<details>
<summary>rotationDegrees (optional)</summary>


```ts
readonly rotationDegrees?: Signal<number> | undefined
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Rotation in degrees. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:254](/source/packages/core/src/features/physics/lib/2d/types-ts/#L254)

</details>

<span id="api-PibblPhysicsKinematicBody2DOptions"></span>

### PibblPhysicsKinematicBody2DOptions

Target signals, handle, enablement, and collider configuration of a kinematic body.

```ts
interface PibblPhysicsKinematicBody2DOptions
```

Related API: [PibblPhysicsKinematicBody2DOptions](/reference/types/physics-2d/#pibblphysicskinematicbody2doptions).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsKinematicTarget2D](/reference/types/physics-2d/#pibblphysicskinematictarget2d)

[PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d)

[PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d)

[kinematicBody2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:266](/source/packages/core/src/features/physics/lib/2d/types-ts/#L266)

#### Properties and methods

<span id="api-PibblPhysicsKinematicBody2DOptions-enabled"></span>
<details>
<summary>enabled (optional)</summary>


```ts
readonly enabled?: boolean | undefined
```

Whether this operation or resource participates in updates. See
PibblPhysicsKinematicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:271](/source/packages/core/src/features/physics/lib/2d/types-ts/#L271)

</details>

<span id="api-PibblPhysicsKinematicBody2DOptions-handle"></span>
<details>
<summary>handle (optional)</summary>


```ts
readonly handle?: PibblPhysicsBodyHandle2D | undefined
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Handle identity associated with the operation or body. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:273](/source/packages/core/src/features/physics/lib/2d/types-ts/#L273)

</details>

<span id="api-PibblPhysicsKinematicBody2DOptions-target"></span>
<details>
<summary>target (optional)</summary>


```ts
readonly target?: PibblPhysicsKinematicTarget2D | undefined
```

Related API: [PibblPhysicsKinematicTarget2D](/reference/types/physics-2d/#pibblphysicskinematictarget2d).

The selected logical target or target configuration. See PibblPhysicsKinematicTarget2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:277](/source/packages/core/src/features/physics/lib/2d/types-ts/#L277)

</details>

<span id="api-PibblPhysicsKinematicBody2DOptions-allowSleep"></span>
<details>
<summary>allowSleep (optional)</summary>


```ts
readonly allowSleep?: boolean | undefined
```

Whether the body may enter the sleeping state. See PibblPhysicsKinematicBody2DOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:281](/source/packages/core/src/features/physics/lib/2d/types-ts/#L281)

</details>

<span id="api-PibblPhysicsKinematicBody2DOptions-collider"></span>
<details>
<summary>collider (optional)</summary>


```ts
readonly collider?: false | PibblPhysicsColliderConfiguration2D | PibblPhysicsShape2D | undefined
```

Related API: [PibblPhysicsColliderConfiguration2D](/reference/types/physics-2d/#pibblphysicscolliderconfiguration2d), [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

Collider configuration or identity associated with this body or query. See
PibblPhysicsColliderConfiguration2D, PibblPhysicsShape2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:286](/source/packages/core/src/features/physics/lib/2d/types-ts/#L286)

</details>

<span id="api-PibblPhysicsBodyAttachment2D"></span>

### PibblPhysicsBodyAttachment2D

A branded body descriptor attached to supported Canvas primitives.

```ts
interface PibblPhysicsBodyAttachment2D
```

Related API: [PibblPhysicsBodyAttachment2D](/reference/types/physics-2d/#pibblphysicsbodyattachment2d).

#### See also

[PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d)

[dynamicBody2D](/reference/functions/physics-2d/)

[kinematicBody2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:297](/source/packages/core/src/features/physics/lib/2d/types-ts/#L297)

<span id="api-PibblPhysicsColliderAttachment2D"></span>

### PibblPhysicsColliderAttachment2D

A branded collider descriptor attached under a physics body.

```ts
interface PibblPhysicsColliderAttachment2D
```

Related API: [PibblPhysicsColliderAttachment2D](/reference/types/physics-2d/#pibblphysicscolliderattachment2d).

#### See also

[PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d)

[collider2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:306](/source/packages/core/src/features/physics/lib/2d/types-ts/#L306)

<span id="api-PibblPhysicsAttachment2D"></span>

### PibblPhysicsAttachment2D

A body or collider descriptor accepted by a physics-aware primitive.

```ts
type PibblPhysicsAttachment2D = PibblPhysicsBodyAttachment2D | PibblPhysicsColliderAttachment2D
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d), [PibblPhysicsBodyAttachment2D](/reference/types/physics-2d/#pibblphysicsbodyattachment2d), [PibblPhysicsColliderAttachment2D](/reference/types/physics-2d/#pibblphysicscolliderattachment2d).

#### See also

[PibblPhysicsBodyAttachment2D](/reference/types/physics-2d/#pibblphysicsbodyattachment2d)

[PibblPhysicsColliderAttachment2D](/reference/types/physics-2d/#pibblphysicscolliderattachment2d)

[PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:316](/source/packages/core/src/features/physics/lib/2d/types-ts/#L316)

<span id="api-PibblPhysicsSolverOptions"></span>

### PibblPhysicsSolverOptions

Iteration budgets controlling the 2D solver's velocity and position work.

```ts
interface PibblPhysicsSolverOptions
```

Related API: [PibblPhysicsSolverOptions](/reference/types/physics-2d/#pibblphysicssolveroptions).

#### See also

[PibblPhysicsWorld2DProps](/reference/types/physics-2d/#pibblphysicsworld2dprops)

[View source — packages/core/src/features/physics/lib/2d/types.ts:330](/source/packages/core/src/features/physics/lib/2d/types-ts/#L330)

#### Properties and methods

<span id="api-PibblPhysicsSolverOptions-velocityIterations"></span>
<details>
<summary>velocityIterations (optional)</summary>


```ts
readonly velocityIterations?: number | undefined
```

Solver iteration budget for velocity constraints. See PibblPhysicsSolverOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:332](/source/packages/core/src/features/physics/lib/2d/types-ts/#L332)

</details>

<span id="api-PibblPhysicsSolverOptions-positionIterations"></span>
<details>
<summary>positionIterations (optional)</summary>


```ts
readonly positionIterations?: number | undefined
```

Solver iteration budget for position constraints. See PibblPhysicsSolverOptions.

[View source — packages/core/src/features/physics/lib/2d/types.ts:334](/source/packages/core/src/features/physics/lib/2d/types-ts/#L334)

</details>

<span id="api-PibblPhysicsWorld2DProps"></span>

### PibblPhysicsWorld2DProps

World configuration with signal-capable values and ordinary Pibbl children.

```ts
type PibblPhysicsWorld2DProps = {
  readonly [K in keyof PibblPhysicsWorld2DValues]: K extends "children"
    ? PibblPhysicsWorld2DValues[K]
    : SignalValue<PibblPhysicsWorld2DValues[K]>;
}
```

Related API: [PibblPhysicsWorld2DProps](/reference/types/physics-2d/#pibblphysicsworld2dprops), [SignalValue](/reference/types/signal-inputs/#signalvalue).

#### See also

[SignalValue](/reference/types/signal-inputs/#signalvalue)

[PibblPhysicsSolverOptions](/reference/types/physics-2d/#pibblphysicssolveroptions)

[PhysicsWorld2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:362](/source/packages/core/src/features/physics/lib/2d/types-ts/#L362)

#### Properties and methods

<span id="api-PibblPhysicsWorld2DProps-space"></span>
<details>
<summary>space (optional)</summary>


```ts
readonly space?: SignalValue<"local" | "root" | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Local space follows the world component viewport; root preserves root-logical coordinates.
Creation-only.

[View source — packages/core/src/features/physics/lib/2d/types.ts:342](/source/packages/core/src/features/physics/lib/2d/types-ts/#L342)

</details>

<span id="api-PibblPhysicsWorld2DProps-gravity"></span>
<details>
<summary>gravity (optional)</summary>


```ts
readonly gravity?: SignalValue<PibblPhysicsVector2 | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).



[View source — packages/core/src/features/physics/lib/2d/types.ts:343](/source/packages/core/src/features/physics/lib/2d/types-ts/#L343)

</details>

<span id="api-PibblPhysicsWorld2DProps-fixedStepMilliseconds"></span>
<details>
<summary>fixedStepMilliseconds (optional)</summary>


```ts
readonly fixedStepMilliseconds?: SignalValue<number | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).



[View source — packages/core/src/features/physics/lib/2d/types.ts:344](/source/packages/core/src/features/physics/lib/2d/types-ts/#L344)

</details>

<span id="api-PibblPhysicsWorld2DProps-maxCatchUpSteps"></span>
<details>
<summary>maxCatchUpSteps (optional)</summary>


```ts
readonly maxCatchUpSteps?: SignalValue<number | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).



[View source — packages/core/src/features/physics/lib/2d/types.ts:345](/source/packages/core/src/features/physics/lib/2d/types-ts/#L345)

</details>

<span id="api-PibblPhysicsWorld2DProps-interpolation"></span>
<details>
<summary>interpolation (optional)</summary>


```ts
readonly interpolation?: SignalValue<"linear" | "none" | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).



[View source — packages/core/src/features/physics/lib/2d/types.ts:346](/source/packages/core/src/features/physics/lib/2d/types-ts/#L346)

</details>

<span id="api-PibblPhysicsWorld2DProps-sleeping"></span>
<details>
<summary>sleeping (optional)</summary>


```ts
readonly sleeping?: SignalValue<boolean | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).



[View source — packages/core/src/features/physics/lib/2d/types.ts:347](/source/packages/core/src/features/physics/lib/2d/types-ts/#L347)

</details>

<span id="api-PibblPhysicsWorld2DProps-solver"></span>
<details>
<summary>solver (optional)</summary>


```ts
readonly solver?: SignalValue<PibblPhysicsSolverOptions | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [PibblPhysicsSolverOptions](/reference/types/physics-2d/#pibblphysicssolveroptions).



[View source — packages/core/src/features/physics/lib/2d/types.ts:348](/source/packages/core/src/features/physics/lib/2d/types-ts/#L348)

</details>

<span id="api-PibblPhysicsWorld2DProps-onSleep"></span>
<details>
<summary>onSleep (optional)</summary>


```ts
readonly onSleep?: SignalValue<PibblPhysicsBodyStateHandler2D | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [PibblPhysicsBodyStateHandler2D](/reference/types/physics-2d/#pibblphysicsbodystatehandler2d).



[View source — packages/core/src/features/physics/lib/2d/types.ts:349](/source/packages/core/src/features/physics/lib/2d/types-ts/#L349)

</details>

<span id="api-PibblPhysicsWorld2DProps-onWake"></span>
<details>
<summary>onWake (optional)</summary>


```ts
readonly onWake?: SignalValue<PibblPhysicsBodyStateHandler2D | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue), [PibblPhysicsBodyStateHandler2D](/reference/types/physics-2d/#pibblphysicsbodystatehandler2d).



[View source — packages/core/src/features/physics/lib/2d/types.ts:350](/source/packages/core/src/features/physics/lib/2d/types-ts/#L350)

</details>

<span id="api-PibblPhysicsWorld2DProps-onError"></span>
<details>
<summary>onError (optional)</summary>


```ts
readonly onError?: SignalValue<((error: unknown) => void) | undefined>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).



[View source — packages/core/src/features/physics/lib/2d/types.ts:351](/source/packages/core/src/features/physics/lib/2d/types-ts/#L351)

</details>

<span id="api-PibblPhysicsWorld2DProps-children"></span>
<details>
<summary>children (optional)</summary>


```ts
readonly children?: PibblNodeInput
```

Related API: [PibblNodeInput](/reference/types/elements-components/#pibblnodeinput).



[View source — packages/core/src/features/physics/lib/2d/types.ts:352](/source/packages/core/src/features/physics/lib/2d/types-ts/#L352)

</details>

<span id="api-PibblPhysicsPrimitiveProps2D"></span>

### PibblPhysicsPrimitiveProps2D

Interaction and physics attachment props shared by physics-aware primitives.

```ts
interface PibblPhysicsPrimitiveProps2D extends PibblEventHandlers, PibblEventParticipationOptions
```

Related API: [PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d), [PibblEventHandlers](/reference/types/events/#pibbleventhandlers), [PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions).

#### See also

[PibblEventHandlers](/reference/types/events/#pibbleventhandlers)

[PibblEventParticipationOptions](/reference/types/events/#pibbleventparticipationoptions)

[LayoutBox](/reference/types/layout/#layoutbox)

[PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d)

[PhysicsShape2DProps](/reference/types/physics-2d/#physicsshape2dprops)

[Capsule2DProps](/reference/types/physics-2d/#capsule2dprops)

[View source — packages/core/src/features/physics/lib/2d/types.ts:378](/source/packages/core/src/features/physics/lib/2d/types-ts/#L378)

#### Properties and methods

<span id="api-PibblPhysicsPrimitiveProps2D-keyboardFocusable"></span>
<details>
<summary>keyboardFocusable (optional)</summary>


```ts
readonly keyboardFocusable?: boolean | undefined
```

Whether the target may receive keyboard focus. See PibblPhysicsPrimitiveProps2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:381](/source/packages/core/src/features/physics/lib/2d/types-ts/#L381)

</details>

<span id="api-PibblPhysicsPrimitiveProps2D-keyboardNavigationBounds"></span>
<details>
<summary>keyboardNavigationBounds (optional)</summary>


```ts
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefined
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle used for directional keyboard navigation. See LayoutBox.

[View source — packages/core/src/features/physics/lib/2d/types.ts:383](/source/packages/core/src/features/physics/lib/2d/types-ts/#L383)

</details>

<span id="api-PibblPhysicsPrimitiveProps2D-physics"></span>
<details>
<summary>physics (optional)</summary>


```ts
readonly physics?: PibblPhysicsAttachment2D | undefined
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d).

Declarative body or collider attachment for this primitive. See PibblPhysicsAttachment2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:388](/source/packages/core/src/features/physics/lib/2d/types-ts/#L388)

</details>

<span id="api-PibblPhysicsPrimitiveProps2D-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-PhysicsShape2DProps"></span>

### PhysicsShape2DProps

Authored inputs for PhysicsShape2D, including the declared data and presentation options.

```ts
interface PhysicsShape2DProps extends PibblPhysicsPrimitiveProps2D
```

Related API: [PhysicsShape2DProps](/reference/types/physics-2d/#physicsshape2dprops), [PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d).

#### See also

[PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d)

[PhysicsShape2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:397](/source/packages/core/src/features/physics/lib/2d/types-ts/#L397)

#### Properties and methods

<span id="api-PhysicsShape2DProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-PhysicsShape2DProps-keyboardFocusable"></span>
<details>
<summary>keyboardFocusable (optional)</summary>


```ts
readonly keyboardFocusable?: boolean | undefined
```

Whether the target may receive keyboard focus. See PibblPhysicsPrimitiveProps2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:381](/source/packages/core/src/features/physics/lib/2d/types-ts/#L381)

</details>

<span id="api-PhysicsShape2DProps-keyboardNavigationBounds"></span>
<details>
<summary>keyboardNavigationBounds (optional)</summary>


```ts
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefined
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle used for directional keyboard navigation. See LayoutBox.

[View source — packages/core/src/features/physics/lib/2d/types.ts:383](/source/packages/core/src/features/physics/lib/2d/types-ts/#L383)

</details>

<span id="api-PhysicsShape2DProps-physics"></span>
<details>
<summary>physics (optional)</summary>


```ts
readonly physics?: PibblPhysicsAttachment2D | undefined
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d).

Declarative body or collider attachment for this primitive. See PibblPhysicsAttachment2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:388](/source/packages/core/src/features/physics/lib/2d/types-ts/#L388)

</details>

<span id="api-PhysicsShape2DStyle"></span>

### PhysicsShape2DStyle

Supported geometry and presentation properties for PhysicsShape2D.

```ts
interface PhysicsShape2DStyle extends SystemStyle, PaintStyle, CursorStyle, BoxStyle, LayoutItemStyle
```

Related API: [PhysicsShape2DStyle](/reference/types/physics-2d/#physicsshape2dstyle), [SystemStyle](/reference/types/styles/#systemstyle), [PaintStyle](/reference/types/styles/#paintstyle), [CursorStyle](/reference/types/styles/#cursorstyle), [BoxStyle](/reference/types/layout/#boxstyle), [LayoutItemStyle](/reference/types/layout/#layoutitemstyle).

#### See also

[SystemStyle](/reference/types/styles/#systemstyle)

[PaintStyle](/reference/types/styles/#paintstyle)

[CursorStyle](/reference/types/styles/#cursorstyle)

[BoxStyle](/reference/types/layout/#boxstyle)

[LayoutItemStyle](/reference/types/layout/#layoutitemstyle)

[PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d)

[PhysicsShape2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:409](/source/packages/core/src/features/physics/lib/2d/types-ts/#L409)

#### Properties and methods

<span id="api-PhysicsShape2DStyle-shape"></span>
<details>
<summary>shape</summary>


```ts
readonly shape: PibblPhysicsShape2D
```

Related API: [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

Immutable collision geometry or particle spawn shape. See PibblPhysicsShape2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:412](/source/packages/core/src/features/physics/lib/2d/types-ts/#L412)

</details>

<span id="api-PhysicsShape2DStyle-lineInteractionWidth"></span>
<details>
<summary>lineInteractionWidth (optional)</summary>


```ts
readonly lineInteractionWidth?: number | undefined
```

Width used for line hit testing independently of the visible stroke width. See
PhysicsShape2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:417](/source/packages/core/src/features/physics/lib/2d/types-ts/#L417)

</details>

<span id="api-PhysicsShape2DStyle-left"></span>
<details>
<summary>left (optional)</summary>


```ts
left?: number | `${number}%` | undefined
```

Left edge coordinate or inset. See Length.

[View source — packages/core/src/lib/style/positioning.ts:127](/source/packages/core/src/lib/style/positioning-ts/#L127)

</details>

<span id="api-PhysicsShape2DStyle-top"></span>
<details>
<summary>top (optional)</summary>


```ts
top?: number | `${number}%` | undefined
```

Top edge value or top envelope guide. See Length.

[View source — packages/core/src/lib/style/positioning.ts:129](/source/packages/core/src/lib/style/positioning-ts/#L129)

</details>

<span id="api-PhysicsShape2DStyle-width"></span>
<details>
<summary>width (optional)</summary>


```ts
width?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Horizontal extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:81](/source/packages/core/src/lib/style/types-ts/#L81)

</details>

<span id="api-PhysicsShape2DStyle-height"></span>
<details>
<summary>height (optional)</summary>


```ts
height?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Vertical extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:83](/source/packages/core/src/lib/style/types-ts/#L83)

</details>

<span id="api-PhysicsShape2DStyle-minWidth"></span>
<details>
<summary>minWidth (optional)</summary>


```ts
minWidth?: number | `${number}%` | undefined
```

Minimum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:85](/source/packages/core/src/lib/style/types-ts/#L85)

</details>

<span id="api-PhysicsShape2DStyle-maxWidth"></span>
<details>
<summary>maxWidth (optional)</summary>


```ts
maxWidth?: number | `${number}%` | undefined
```

Maximum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:87](/source/packages/core/src/lib/style/types-ts/#L87)

</details>

<span id="api-PhysicsShape2DStyle-minHeight"></span>
<details>
<summary>minHeight (optional)</summary>


```ts
minHeight?: number | `${number}%` | undefined
```

Minimum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:89](/source/packages/core/src/lib/style/types-ts/#L89)

</details>

<span id="api-PhysicsShape2DStyle-maxHeight"></span>
<details>
<summary>maxHeight (optional)</summary>


```ts
maxHeight?: number | `${number}%` | undefined
```

Maximum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:91](/source/packages/core/src/lib/style/types-ts/#L91)

</details>

<span id="api-PhysicsShape2DStyle-padding"></span>
<details>
<summary>padding (optional)</summary>


```ts
padding?: EdgeValues | undefined
```

Related API: [EdgeValues](/reference/types/layout/#edgevalues).

Insets between the border box and content box. See EdgeValues.

[View source — packages/core/src/lib/style/types.ts:93](/source/packages/core/src/lib/style/types-ts/#L93)

</details>

<span id="api-PhysicsShape2DStyle-overflow"></span>
<details>
<summary>overflow (optional)</summary>


```ts
overflow?: "clip" | "visible" | undefined
```

Selects `"visible"`, `"clip"` for overflow. See BoxStyle.

[View source — packages/core/src/lib/style/types.ts:95](/source/packages/core/src/lib/style/types-ts/#L95)

</details>

<span id="api-PhysicsShape2DStyle-alignSelf"></span>
<details>
<summary>alignSelf (optional)</summary>


```ts
alignSelf?: "auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefined
```

This child's cross-axis or block-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:121](/source/packages/core/src/lib/style/types-ts/#L121)

</details>

<span id="api-PhysicsShape2DStyle-justifySelf"></span>
<details>
<summary>justifySelf (optional)</summary>


```ts
justifySelf?: "auto" | "center" | "end" | "start" | "stretch" | undefined
```

This child's inline-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:123](/source/packages/core/src/lib/style/types-ts/#L123)

</details>

<span id="api-PhysicsShape2DStyle-flexBasis"></span>
<details>
<summary>flexBasis (optional)</summary>


```ts
flexBasis?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Initial main-axis size before flex growth or shrinkage. See Length.

[View source — packages/core/src/lib/style/types.ts:125](/source/packages/core/src/lib/style/types-ts/#L125)

</details>

<span id="api-PhysicsShape2DStyle-flexGrow"></span>
<details>
<summary>flexGrow (optional)</summary>


```ts
flexGrow?: number | undefined
```

Relative share of positive free space assigned to this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:127](/source/packages/core/src/lib/style/types-ts/#L127)

</details>

<span id="api-PhysicsShape2DStyle-flexShrink"></span>
<details>
<summary>flexShrink (optional)</summary>


```ts
flexShrink?: number | undefined
```

Relative factor used when reducing main-axis size. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:129](/source/packages/core/src/lib/style/types-ts/#L129)

</details>

<span id="api-PhysicsShape2DStyle-gridColumnStart"></span>
<details>
<summary>gridColumnStart (optional)</summary>


```ts
gridColumnStart?: number | undefined
```

Explicit starting grid column. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:131](/source/packages/core/src/lib/style/types-ts/#L131)

</details>

<span id="api-PhysicsShape2DStyle-gridColumnSpan"></span>
<details>
<summary>gridColumnSpan (optional)</summary>


```ts
gridColumnSpan?: number | undefined
```

Number of columns occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:133](/source/packages/core/src/lib/style/types-ts/#L133)

</details>

<span id="api-PhysicsShape2DStyle-gridRowStart"></span>
<details>
<summary>gridRowStart (optional)</summary>


```ts
gridRowStart?: number | undefined
```

Explicit starting grid row. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:135](/source/packages/core/src/lib/style/types-ts/#L135)

</details>

<span id="api-PhysicsShape2DStyle-gridRowSpan"></span>
<details>
<summary>gridRowSpan (optional)</summary>


```ts
gridRowSpan?: number | undefined
```

Number of rows occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:137](/source/packages/core/src/lib/style/types-ts/#L137)

</details>

<span id="api-PhysicsShape2DStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Paint used for the interior. See FillStyle.

[View source — packages/core/src/lib/style/types.ts:193](/source/packages/core/src/lib/style/types-ts/#L193)

</details>

<span id="api-PhysicsShape2DStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Paint used for the outline. See StrokeStyle.

[View source — packages/core/src/lib/style/types.ts:195](/source/packages/core/src/lib/style/types-ts/#L195)

</details>

<span id="api-PhysicsShape2DStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
strokeWidth?: number | undefined
```

Width of the painted outline. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:197](/source/packages/core/src/lib/style/types-ts/#L197)

</details>

<span id="api-PhysicsShape2DStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Opacity of the painted result. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:199](/source/packages/core/src/lib/style/types-ts/#L199)

</details>

<span id="api-PhysicsShape2DStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
cursor?: string | undefined
```

Cursor shown while this target owns pointer presentation. See CursorStyle.

[View source — packages/core/src/lib/style/types.ts:212](/source/packages/core/src/lib/style/types-ts/#L212)

</details>

<span id="api-PhysicsShape2DStyle-transition"></span>
<details>
<summary>transition (optional)</summary>


```ts
transition?: PibblTransitionBinding | undefined
```

Related API: [PibblTransitionBinding](/reference/hooks/use-visibility-transition/).

Visibility-transition binding applied to this primitive and its captured descendants. See SystemStyle.

[View source — packages/core/src/lib/types.ts:69](/source/packages/core/src/lib/types-ts/#L69)

</details>

<span id="api-PhysicsShape2DStyle-custom"></span>
<details>
<summary>custom (optional)</summary>


```ts
custom?: unknown
```

Application-defined style payload passed through the runtime. See SystemStyle.

[View source — packages/core/src/lib/types.ts:71](/source/packages/core/src/lib/types-ts/#L71)

</details>

<span id="api-PhysicsShape2DStyle-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
filter?: PibblFilter | readonly PibblFilter[] | undefined
```

Related API: [PibblFilter](/reference/types/filters/#pibblfilter).

Ordered pixel-only filters applied to the receiving primitive and its descendants. See
PibblFilter.

[View source — packages/core/src/lib/types.ts:76](/source/packages/core/src/lib/types-ts/#L76)

</details>

<span id="api-Capsule2DProps"></span>

### Capsule2DProps

Authored inputs for Capsule2D, including the declared data and presentation options.

```ts
interface Capsule2DProps extends PibblPhysicsPrimitiveProps2D
```

Related API: [Capsule2DProps](/reference/types/physics-2d/#capsule2dprops), [PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d).

#### See also

[PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d)

[Capsule2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:426](/source/packages/core/src/features/physics/lib/2d/types-ts/#L426)

#### Properties and methods

<span id="api-Capsule2DProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-Capsule2DProps-keyboardFocusable"></span>
<details>
<summary>keyboardFocusable (optional)</summary>


```ts
readonly keyboardFocusable?: boolean | undefined
```

Whether the target may receive keyboard focus. See PibblPhysicsPrimitiveProps2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:381](/source/packages/core/src/features/physics/lib/2d/types-ts/#L381)

</details>

<span id="api-Capsule2DProps-keyboardNavigationBounds"></span>
<details>
<summary>keyboardNavigationBounds (optional)</summary>


```ts
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefined
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle used for directional keyboard navigation. See LayoutBox.

[View source — packages/core/src/features/physics/lib/2d/types.ts:383](/source/packages/core/src/features/physics/lib/2d/types-ts/#L383)

</details>

<span id="api-Capsule2DProps-physics"></span>
<details>
<summary>physics (optional)</summary>


```ts
readonly physics?: PibblPhysicsAttachment2D | undefined
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d).

Declarative body or collider attachment for this primitive. See PibblPhysicsAttachment2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:388](/source/packages/core/src/features/physics/lib/2d/types-ts/#L388)

</details>

<span id="api-Capsule2DStyle"></span>

### Capsule2DStyle

Supported geometry and presentation properties for Capsule2D.

```ts
interface Capsule2DStyle extends SystemStyle, PaintStyle, CursorStyle, BoxStyle, LayoutItemStyle
```

Related API: [Capsule2DStyle](/reference/types/physics-2d/#capsule2dstyle), [SystemStyle](/reference/types/styles/#systemstyle), [PaintStyle](/reference/types/styles/#paintstyle), [CursorStyle](/reference/types/styles/#cursorstyle), [BoxStyle](/reference/types/layout/#boxstyle), [LayoutItemStyle](/reference/types/layout/#layoutitemstyle).

#### See also

[SystemStyle](/reference/types/styles/#systemstyle)

[PaintStyle](/reference/types/styles/#paintstyle)

[CursorStyle](/reference/types/styles/#cursorstyle)

[BoxStyle](/reference/types/layout/#boxstyle)

[LayoutItemStyle](/reference/types/layout/#layoutitemstyle)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[Capsule2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:438](/source/packages/core/src/features/physics/lib/2d/types-ts/#L438)

#### Properties and methods

<span id="api-Capsule2DStyle-start"></span>
<details>
<summary>start</summary>


```ts
readonly start: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

First endpoint of the shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:441](/source/packages/core/src/features/physics/lib/2d/types-ts/#L441)

</details>

<span id="api-Capsule2DStyle-end"></span>
<details>
<summary>end</summary>


```ts
readonly end: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Last endpoint of the shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:443](/source/packages/core/src/features/physics/lib/2d/types-ts/#L443)

</details>

<span id="api-Capsule2DStyle-radius"></span>
<details>
<summary>radius</summary>


```ts
readonly radius: number
```

Radius in the coordinate system of this geometry or effect. See Capsule2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:445](/source/packages/core/src/features/physics/lib/2d/types-ts/#L445)

</details>

<span id="api-Capsule2DStyle-lineInteractionWidth"></span>
<details>
<summary>lineInteractionWidth (optional)</summary>


```ts
readonly lineInteractionWidth?: number | undefined
```

Width used for line hit testing independently of the visible stroke width. See
Capsule2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:450](/source/packages/core/src/features/physics/lib/2d/types-ts/#L450)

</details>

<span id="api-Capsule2DStyle-left"></span>
<details>
<summary>left (optional)</summary>


```ts
left?: number | `${number}%` | undefined
```

Left edge coordinate or inset. See Length.

[View source — packages/core/src/lib/style/positioning.ts:127](/source/packages/core/src/lib/style/positioning-ts/#L127)

</details>

<span id="api-Capsule2DStyle-top"></span>
<details>
<summary>top (optional)</summary>


```ts
top?: number | `${number}%` | undefined
```

Top edge value or top envelope guide. See Length.

[View source — packages/core/src/lib/style/positioning.ts:129](/source/packages/core/src/lib/style/positioning-ts/#L129)

</details>

<span id="api-Capsule2DStyle-width"></span>
<details>
<summary>width (optional)</summary>


```ts
width?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Horizontal extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:81](/source/packages/core/src/lib/style/types-ts/#L81)

</details>

<span id="api-Capsule2DStyle-height"></span>
<details>
<summary>height (optional)</summary>


```ts
height?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Vertical extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:83](/source/packages/core/src/lib/style/types-ts/#L83)

</details>

<span id="api-Capsule2DStyle-minWidth"></span>
<details>
<summary>minWidth (optional)</summary>


```ts
minWidth?: number | `${number}%` | undefined
```

Minimum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:85](/source/packages/core/src/lib/style/types-ts/#L85)

</details>

<span id="api-Capsule2DStyle-maxWidth"></span>
<details>
<summary>maxWidth (optional)</summary>


```ts
maxWidth?: number | `${number}%` | undefined
```

Maximum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:87](/source/packages/core/src/lib/style/types-ts/#L87)

</details>

<span id="api-Capsule2DStyle-minHeight"></span>
<details>
<summary>minHeight (optional)</summary>


```ts
minHeight?: number | `${number}%` | undefined
```

Minimum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:89](/source/packages/core/src/lib/style/types-ts/#L89)

</details>

<span id="api-Capsule2DStyle-maxHeight"></span>
<details>
<summary>maxHeight (optional)</summary>


```ts
maxHeight?: number | `${number}%` | undefined
```

Maximum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:91](/source/packages/core/src/lib/style/types-ts/#L91)

</details>

<span id="api-Capsule2DStyle-padding"></span>
<details>
<summary>padding (optional)</summary>


```ts
padding?: EdgeValues | undefined
```

Related API: [EdgeValues](/reference/types/layout/#edgevalues).

Insets between the border box and content box. See EdgeValues.

[View source — packages/core/src/lib/style/types.ts:93](/source/packages/core/src/lib/style/types-ts/#L93)

</details>

<span id="api-Capsule2DStyle-overflow"></span>
<details>
<summary>overflow (optional)</summary>


```ts
overflow?: "clip" | "visible" | undefined
```

Selects `"visible"`, `"clip"` for overflow. See BoxStyle.

[View source — packages/core/src/lib/style/types.ts:95](/source/packages/core/src/lib/style/types-ts/#L95)

</details>

<span id="api-Capsule2DStyle-alignSelf"></span>
<details>
<summary>alignSelf (optional)</summary>


```ts
alignSelf?: "auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefined
```

This child's cross-axis or block-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:121](/source/packages/core/src/lib/style/types-ts/#L121)

</details>

<span id="api-Capsule2DStyle-justifySelf"></span>
<details>
<summary>justifySelf (optional)</summary>


```ts
justifySelf?: "auto" | "center" | "end" | "start" | "stretch" | undefined
```

This child's inline-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:123](/source/packages/core/src/lib/style/types-ts/#L123)

</details>

<span id="api-Capsule2DStyle-flexBasis"></span>
<details>
<summary>flexBasis (optional)</summary>


```ts
flexBasis?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Initial main-axis size before flex growth or shrinkage. See Length.

[View source — packages/core/src/lib/style/types.ts:125](/source/packages/core/src/lib/style/types-ts/#L125)

</details>

<span id="api-Capsule2DStyle-flexGrow"></span>
<details>
<summary>flexGrow (optional)</summary>


```ts
flexGrow?: number | undefined
```

Relative share of positive free space assigned to this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:127](/source/packages/core/src/lib/style/types-ts/#L127)

</details>

<span id="api-Capsule2DStyle-flexShrink"></span>
<details>
<summary>flexShrink (optional)</summary>


```ts
flexShrink?: number | undefined
```

Relative factor used when reducing main-axis size. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:129](/source/packages/core/src/lib/style/types-ts/#L129)

</details>

<span id="api-Capsule2DStyle-gridColumnStart"></span>
<details>
<summary>gridColumnStart (optional)</summary>


```ts
gridColumnStart?: number | undefined
```

Explicit starting grid column. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:131](/source/packages/core/src/lib/style/types-ts/#L131)

</details>

<span id="api-Capsule2DStyle-gridColumnSpan"></span>
<details>
<summary>gridColumnSpan (optional)</summary>


```ts
gridColumnSpan?: number | undefined
```

Number of columns occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:133](/source/packages/core/src/lib/style/types-ts/#L133)

</details>

<span id="api-Capsule2DStyle-gridRowStart"></span>
<details>
<summary>gridRowStart (optional)</summary>


```ts
gridRowStart?: number | undefined
```

Explicit starting grid row. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:135](/source/packages/core/src/lib/style/types-ts/#L135)

</details>

<span id="api-Capsule2DStyle-gridRowSpan"></span>
<details>
<summary>gridRowSpan (optional)</summary>


```ts
gridRowSpan?: number | undefined
```

Number of rows occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:137](/source/packages/core/src/lib/style/types-ts/#L137)

</details>

<span id="api-Capsule2DStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Paint used for the interior. See FillStyle.

[View source — packages/core/src/lib/style/types.ts:193](/source/packages/core/src/lib/style/types-ts/#L193)

</details>

<span id="api-Capsule2DStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Paint used for the outline. See StrokeStyle.

[View source — packages/core/src/lib/style/types.ts:195](/source/packages/core/src/lib/style/types-ts/#L195)

</details>

<span id="api-Capsule2DStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
strokeWidth?: number | undefined
```

Width of the painted outline. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:197](/source/packages/core/src/lib/style/types-ts/#L197)

</details>

<span id="api-Capsule2DStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Opacity of the painted result. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:199](/source/packages/core/src/lib/style/types-ts/#L199)

</details>

<span id="api-Capsule2DStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
cursor?: string | undefined
```

Cursor shown while this target owns pointer presentation. See CursorStyle.

[View source — packages/core/src/lib/style/types.ts:212](/source/packages/core/src/lib/style/types-ts/#L212)

</details>

<span id="api-Capsule2DStyle-transition"></span>
<details>
<summary>transition (optional)</summary>


```ts
transition?: PibblTransitionBinding | undefined
```

Related API: [PibblTransitionBinding](/reference/hooks/use-visibility-transition/).

Visibility-transition binding applied to this primitive and its captured descendants. See SystemStyle.

[View source — packages/core/src/lib/types.ts:69](/source/packages/core/src/lib/types-ts/#L69)

</details>

<span id="api-Capsule2DStyle-custom"></span>
<details>
<summary>custom (optional)</summary>


```ts
custom?: unknown
```

Application-defined style payload passed through the runtime. See SystemStyle.

[View source — packages/core/src/lib/types.ts:71](/source/packages/core/src/lib/types-ts/#L71)

</details>

<span id="api-Capsule2DStyle-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
filter?: PibblFilter | readonly PibblFilter[] | undefined
```

Related API: [PibblFilter](/reference/types/filters/#pibblfilter).

Ordered pixel-only filters applied to the receiving primitive and its descendants. See
PibblFilter.

[View source — packages/core/src/lib/types.ts:76](/source/packages/core/src/lib/types-ts/#L76)

</details>

<span id="api-Segment2DProps"></span>

### Segment2DProps

Authored inputs for Segment2D, including the declared data and presentation options.

```ts
interface Segment2DProps extends PibblPhysicsPrimitiveProps2D
```

Related API: [Segment2DProps](/reference/types/physics-2d/#segment2dprops), [PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d).

#### See also

[PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d)

[Segment2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:459](/source/packages/core/src/features/physics/lib/2d/types-ts/#L459)

#### Properties and methods

<span id="api-Segment2DProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-Segment2DProps-keyboardFocusable"></span>
<details>
<summary>keyboardFocusable (optional)</summary>


```ts
readonly keyboardFocusable?: boolean | undefined
```

Whether the target may receive keyboard focus. See PibblPhysicsPrimitiveProps2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:381](/source/packages/core/src/features/physics/lib/2d/types-ts/#L381)

</details>

<span id="api-Segment2DProps-keyboardNavigationBounds"></span>
<details>
<summary>keyboardNavigationBounds (optional)</summary>


```ts
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefined
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle used for directional keyboard navigation. See LayoutBox.

[View source — packages/core/src/features/physics/lib/2d/types.ts:383](/source/packages/core/src/features/physics/lib/2d/types-ts/#L383)

</details>

<span id="api-Segment2DProps-physics"></span>
<details>
<summary>physics (optional)</summary>


```ts
readonly physics?: PibblPhysicsAttachment2D | undefined
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d).

Declarative body or collider attachment for this primitive. See PibblPhysicsAttachment2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:388](/source/packages/core/src/features/physics/lib/2d/types-ts/#L388)

</details>

<span id="api-Segment2DStyle"></span>

### Segment2DStyle

Supported geometry and presentation properties for Segment2D.

```ts
interface Segment2DStyle extends SystemStyle, Omit<PaintStyle, "fill">, CursorStyle, BoxStyle, LayoutItemStyle
```

Related API: [Segment2DStyle](/reference/types/physics-2d/#segment2dstyle), [SystemStyle](/reference/types/styles/#systemstyle), [PaintStyle](/reference/types/styles/#paintstyle), [CursorStyle](/reference/types/styles/#cursorstyle), [BoxStyle](/reference/types/layout/#boxstyle), [LayoutItemStyle](/reference/types/layout/#layoutitemstyle).

#### See also

[SystemStyle](/reference/types/styles/#systemstyle)

[PaintStyle](/reference/types/styles/#paintstyle)

[CursorStyle](/reference/types/styles/#cursorstyle)

[BoxStyle](/reference/types/layout/#boxstyle)

[LayoutItemStyle](/reference/types/layout/#layoutitemstyle)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[Segment2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:471](/source/packages/core/src/features/physics/lib/2d/types-ts/#L471)

#### Properties and methods

<span id="api-Segment2DStyle-start"></span>
<details>
<summary>start</summary>


```ts
readonly start: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

First endpoint of the shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:474](/source/packages/core/src/features/physics/lib/2d/types-ts/#L474)

</details>

<span id="api-Segment2DStyle-end"></span>
<details>
<summary>end</summary>


```ts
readonly end: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Last endpoint of the shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:476](/source/packages/core/src/features/physics/lib/2d/types-ts/#L476)

</details>

<span id="api-Segment2DStyle-lineInteractionWidth"></span>
<details>
<summary>lineInteractionWidth (optional)</summary>


```ts
readonly lineInteractionWidth?: number | undefined
```

Width used for line hit testing independently of the visible stroke width. See
Segment2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:481](/source/packages/core/src/features/physics/lib/2d/types-ts/#L481)

</details>

<span id="api-Segment2DStyle-left"></span>
<details>
<summary>left (optional)</summary>


```ts
left?: number | `${number}%` | undefined
```

Left edge coordinate or inset. See Length.

[View source — packages/core/src/lib/style/positioning.ts:127](/source/packages/core/src/lib/style/positioning-ts/#L127)

</details>

<span id="api-Segment2DStyle-top"></span>
<details>
<summary>top (optional)</summary>


```ts
top?: number | `${number}%` | undefined
```

Top edge value or top envelope guide. See Length.

[View source — packages/core/src/lib/style/positioning.ts:129](/source/packages/core/src/lib/style/positioning-ts/#L129)

</details>

<span id="api-Segment2DStyle-width"></span>
<details>
<summary>width (optional)</summary>


```ts
width?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Horizontal extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:81](/source/packages/core/src/lib/style/types-ts/#L81)

</details>

<span id="api-Segment2DStyle-height"></span>
<details>
<summary>height (optional)</summary>


```ts
height?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Vertical extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:83](/source/packages/core/src/lib/style/types-ts/#L83)

</details>

<span id="api-Segment2DStyle-minWidth"></span>
<details>
<summary>minWidth (optional)</summary>


```ts
minWidth?: number | `${number}%` | undefined
```

Minimum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:85](/source/packages/core/src/lib/style/types-ts/#L85)

</details>

<span id="api-Segment2DStyle-maxWidth"></span>
<details>
<summary>maxWidth (optional)</summary>


```ts
maxWidth?: number | `${number}%` | undefined
```

Maximum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:87](/source/packages/core/src/lib/style/types-ts/#L87)

</details>

<span id="api-Segment2DStyle-minHeight"></span>
<details>
<summary>minHeight (optional)</summary>


```ts
minHeight?: number | `${number}%` | undefined
```

Minimum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:89](/source/packages/core/src/lib/style/types-ts/#L89)

</details>

<span id="api-Segment2DStyle-maxHeight"></span>
<details>
<summary>maxHeight (optional)</summary>


```ts
maxHeight?: number | `${number}%` | undefined
```

Maximum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:91](/source/packages/core/src/lib/style/types-ts/#L91)

</details>

<span id="api-Segment2DStyle-padding"></span>
<details>
<summary>padding (optional)</summary>


```ts
padding?: EdgeValues | undefined
```

Related API: [EdgeValues](/reference/types/layout/#edgevalues).

Insets between the border box and content box. See EdgeValues.

[View source — packages/core/src/lib/style/types.ts:93](/source/packages/core/src/lib/style/types-ts/#L93)

</details>

<span id="api-Segment2DStyle-overflow"></span>
<details>
<summary>overflow (optional)</summary>


```ts
overflow?: "clip" | "visible" | undefined
```

Selects `"visible"`, `"clip"` for overflow. See BoxStyle.

[View source — packages/core/src/lib/style/types.ts:95](/source/packages/core/src/lib/style/types-ts/#L95)

</details>

<span id="api-Segment2DStyle-alignSelf"></span>
<details>
<summary>alignSelf (optional)</summary>


```ts
alignSelf?: "auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefined
```

This child's cross-axis or block-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:121](/source/packages/core/src/lib/style/types-ts/#L121)

</details>

<span id="api-Segment2DStyle-justifySelf"></span>
<details>
<summary>justifySelf (optional)</summary>


```ts
justifySelf?: "auto" | "center" | "end" | "start" | "stretch" | undefined
```

This child's inline-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:123](/source/packages/core/src/lib/style/types-ts/#L123)

</details>

<span id="api-Segment2DStyle-flexBasis"></span>
<details>
<summary>flexBasis (optional)</summary>


```ts
flexBasis?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Initial main-axis size before flex growth or shrinkage. See Length.

[View source — packages/core/src/lib/style/types.ts:125](/source/packages/core/src/lib/style/types-ts/#L125)

</details>

<span id="api-Segment2DStyle-flexGrow"></span>
<details>
<summary>flexGrow (optional)</summary>


```ts
flexGrow?: number | undefined
```

Relative share of positive free space assigned to this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:127](/source/packages/core/src/lib/style/types-ts/#L127)

</details>

<span id="api-Segment2DStyle-flexShrink"></span>
<details>
<summary>flexShrink (optional)</summary>


```ts
flexShrink?: number | undefined
```

Relative factor used when reducing main-axis size. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:129](/source/packages/core/src/lib/style/types-ts/#L129)

</details>

<span id="api-Segment2DStyle-gridColumnStart"></span>
<details>
<summary>gridColumnStart (optional)</summary>


```ts
gridColumnStart?: number | undefined
```

Explicit starting grid column. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:131](/source/packages/core/src/lib/style/types-ts/#L131)

</details>

<span id="api-Segment2DStyle-gridColumnSpan"></span>
<details>
<summary>gridColumnSpan (optional)</summary>


```ts
gridColumnSpan?: number | undefined
```

Number of columns occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:133](/source/packages/core/src/lib/style/types-ts/#L133)

</details>

<span id="api-Segment2DStyle-gridRowStart"></span>
<details>
<summary>gridRowStart (optional)</summary>


```ts
gridRowStart?: number | undefined
```

Explicit starting grid row. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:135](/source/packages/core/src/lib/style/types-ts/#L135)

</details>

<span id="api-Segment2DStyle-gridRowSpan"></span>
<details>
<summary>gridRowSpan (optional)</summary>


```ts
gridRowSpan?: number | undefined
```

Number of rows occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:137](/source/packages/core/src/lib/style/types-ts/#L137)

</details>

<span id="api-Segment2DStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Paint used for the outline. See StrokeStyle.

[View source — packages/core/src/lib/style/types.ts:195](/source/packages/core/src/lib/style/types-ts/#L195)

</details>

<span id="api-Segment2DStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
strokeWidth?: number | undefined
```

Width of the painted outline. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:197](/source/packages/core/src/lib/style/types-ts/#L197)

</details>

<span id="api-Segment2DStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Opacity of the painted result. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:199](/source/packages/core/src/lib/style/types-ts/#L199)

</details>

<span id="api-Segment2DStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
cursor?: string | undefined
```

Cursor shown while this target owns pointer presentation. See CursorStyle.

[View source — packages/core/src/lib/style/types.ts:212](/source/packages/core/src/lib/style/types-ts/#L212)

</details>

<span id="api-Segment2DStyle-transition"></span>
<details>
<summary>transition (optional)</summary>


```ts
transition?: PibblTransitionBinding | undefined
```

Related API: [PibblTransitionBinding](/reference/hooks/use-visibility-transition/).

Visibility-transition binding applied to this primitive and its captured descendants. See SystemStyle.

[View source — packages/core/src/lib/types.ts:69](/source/packages/core/src/lib/types-ts/#L69)

</details>

<span id="api-Segment2DStyle-custom"></span>
<details>
<summary>custom (optional)</summary>


```ts
custom?: unknown
```

Application-defined style payload passed through the runtime. See SystemStyle.

[View source — packages/core/src/lib/types.ts:71](/source/packages/core/src/lib/types-ts/#L71)

</details>

<span id="api-Segment2DStyle-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
filter?: PibblFilter | readonly PibblFilter[] | undefined
```

Related API: [PibblFilter](/reference/types/filters/#pibblfilter).

Ordered pixel-only filters applied to the receiving primitive and its descendants. See
PibblFilter.

[View source — packages/core/src/lib/types.ts:76](/source/packages/core/src/lib/types-ts/#L76)

</details>

<span id="api-Chain2DProps"></span>

### Chain2DProps

Authored inputs for Chain2D, including the declared data and presentation options.

```ts
interface Chain2DProps extends PibblPhysicsPrimitiveProps2D
```

Related API: [Chain2DProps](/reference/types/physics-2d/#chain2dprops), [PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d).

#### See also

[PibblPhysicsPrimitiveProps2D](/reference/types/physics-2d/#pibblphysicsprimitiveprops2d)

[Chain2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:490](/source/packages/core/src/features/physics/lib/2d/types-ts/#L490)

#### Properties and methods

<span id="api-Chain2DProps-pointerEvents"></span>
<details>
<summary>pointerEvents (optional)</summary>


```ts
readonly pointerEvents?: PibblPointerEvents | undefined
```

Related API: [PibblPointerEvents](/reference/types/events/#pibblpointerevents).

Whether this content participates in pointer targeting. See PibblPointerEvents.

[View source — packages/core/src/lib/events/types.ts:126](/source/packages/core/src/lib/events/types-ts/#L126)

</details>

<span id="api-Chain2DProps-keyboardFocusable"></span>
<details>
<summary>keyboardFocusable (optional)</summary>


```ts
readonly keyboardFocusable?: boolean | undefined
```

Whether the target may receive keyboard focus. See PibblPhysicsPrimitiveProps2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:381](/source/packages/core/src/features/physics/lib/2d/types-ts/#L381)

</details>

<span id="api-Chain2DProps-keyboardNavigationBounds"></span>
<details>
<summary>keyboardNavigationBounds (optional)</summary>


```ts
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefined
```

Related API: [LayoutBox](/reference/types/layout/#layoutbox).

Logical rectangle used for directional keyboard navigation. See LayoutBox.

[View source — packages/core/src/features/physics/lib/2d/types.ts:383](/source/packages/core/src/features/physics/lib/2d/types-ts/#L383)

</details>

<span id="api-Chain2DProps-physics"></span>
<details>
<summary>physics (optional)</summary>


```ts
readonly physics?: PibblPhysicsAttachment2D | undefined
```

Related API: [PibblPhysicsAttachment2D](/reference/types/physics-2d/#pibblphysicsattachment2d).

Declarative body or collider attachment for this primitive. See PibblPhysicsAttachment2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:388](/source/packages/core/src/features/physics/lib/2d/types-ts/#L388)

</details>

<span id="api-Chain2DStyle"></span>

### Chain2DStyle

Supported geometry and presentation properties for Chain2D.

```ts
interface Chain2DStyle extends SystemStyle, PaintStyle, CursorStyle, BoxStyle, LayoutItemStyle
```

Related API: [Chain2DStyle](/reference/types/physics-2d/#chain2dstyle), [SystemStyle](/reference/types/styles/#systemstyle), [PaintStyle](/reference/types/styles/#paintstyle), [CursorStyle](/reference/types/styles/#cursorstyle), [BoxStyle](/reference/types/layout/#boxstyle), [LayoutItemStyle](/reference/types/layout/#layoutitemstyle).

#### See also

[SystemStyle](/reference/types/styles/#systemstyle)

[PaintStyle](/reference/types/styles/#paintstyle)

[CursorStyle](/reference/types/styles/#cursorstyle)

[BoxStyle](/reference/types/layout/#boxstyle)

[LayoutItemStyle](/reference/types/layout/#layoutitemstyle)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[Chain2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:502](/source/packages/core/src/features/physics/lib/2d/types-ts/#L502)

#### Properties and methods

<span id="api-Chain2DStyle-points"></span>
<details>
<summary>points</summary>


```ts
readonly points: readonly PibblPhysicsVector2[]
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Points defining the geometry or reported by the contact query. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:507](/source/packages/core/src/features/physics/lib/2d/types-ts/#L507)

</details>

<span id="api-Chain2DStyle-closed"></span>
<details>
<summary>closed (optional)</summary>


```ts
readonly closed?: boolean | undefined
```

Whether the point chain connects its last point back to its first. See Chain2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:511](/source/packages/core/src/features/physics/lib/2d/types-ts/#L511)

</details>

<span id="api-Chain2DStyle-radius"></span>
<details>
<summary>radius (optional)</summary>


```ts
readonly radius?: number | undefined
```

Radius in the coordinate system of this geometry or effect. See Chain2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:513](/source/packages/core/src/features/physics/lib/2d/types-ts/#L513)

</details>

<span id="api-Chain2DStyle-lineInteractionWidth"></span>
<details>
<summary>lineInteractionWidth (optional)</summary>


```ts
readonly lineInteractionWidth?: number | undefined
```

Width used for line hit testing independently of the visible stroke width. See
Chain2DStyle.

[View source — packages/core/src/features/physics/lib/2d/types.ts:518](/source/packages/core/src/features/physics/lib/2d/types-ts/#L518)

</details>

<span id="api-Chain2DStyle-left"></span>
<details>
<summary>left (optional)</summary>


```ts
left?: number | `${number}%` | undefined
```

Left edge coordinate or inset. See Length.

[View source — packages/core/src/lib/style/positioning.ts:127](/source/packages/core/src/lib/style/positioning-ts/#L127)

</details>

<span id="api-Chain2DStyle-top"></span>
<details>
<summary>top (optional)</summary>


```ts
top?: number | `${number}%` | undefined
```

Top edge value or top envelope guide. See Length.

[View source — packages/core/src/lib/style/positioning.ts:129](/source/packages/core/src/lib/style/positioning-ts/#L129)

</details>

<span id="api-Chain2DStyle-width"></span>
<details>
<summary>width (optional)</summary>


```ts
width?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Horizontal extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:81](/source/packages/core/src/lib/style/types-ts/#L81)

</details>

<span id="api-Chain2DStyle-height"></span>
<details>
<summary>height (optional)</summary>


```ts
height?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Vertical extent in the units of the containing geometry or surface. See Length.

[View source — packages/core/src/lib/style/types.ts:83](/source/packages/core/src/lib/style/types-ts/#L83)

</details>

<span id="api-Chain2DStyle-minWidth"></span>
<details>
<summary>minWidth (optional)</summary>


```ts
minWidth?: number | `${number}%` | undefined
```

Minimum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:85](/source/packages/core/src/lib/style/types-ts/#L85)

</details>

<span id="api-Chain2DStyle-maxWidth"></span>
<details>
<summary>maxWidth (optional)</summary>


```ts
maxWidth?: number | `${number}%` | undefined
```

Maximum permitted width. See Length.

[View source — packages/core/src/lib/style/types.ts:87](/source/packages/core/src/lib/style/types-ts/#L87)

</details>

<span id="api-Chain2DStyle-minHeight"></span>
<details>
<summary>minHeight (optional)</summary>


```ts
minHeight?: number | `${number}%` | undefined
```

Minimum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:89](/source/packages/core/src/lib/style/types-ts/#L89)

</details>

<span id="api-Chain2DStyle-maxHeight"></span>
<details>
<summary>maxHeight (optional)</summary>


```ts
maxHeight?: number | `${number}%` | undefined
```

Maximum permitted height. See Length.

[View source — packages/core/src/lib/style/types.ts:91](/source/packages/core/src/lib/style/types-ts/#L91)

</details>

<span id="api-Chain2DStyle-padding"></span>
<details>
<summary>padding (optional)</summary>


```ts
padding?: EdgeValues | undefined
```

Related API: [EdgeValues](/reference/types/layout/#edgevalues).

Insets between the border box and content box. See EdgeValues.

[View source — packages/core/src/lib/style/types.ts:93](/source/packages/core/src/lib/style/types-ts/#L93)

</details>

<span id="api-Chain2DStyle-overflow"></span>
<details>
<summary>overflow (optional)</summary>


```ts
overflow?: "clip" | "visible" | undefined
```

Selects `"visible"`, `"clip"` for overflow. See BoxStyle.

[View source — packages/core/src/lib/style/types.ts:95](/source/packages/core/src/lib/style/types-ts/#L95)

</details>

<span id="api-Chain2DStyle-alignSelf"></span>
<details>
<summary>alignSelf (optional)</summary>


```ts
alignSelf?: "auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefined
```

This child's cross-axis or block-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:121](/source/packages/core/src/lib/style/types-ts/#L121)

</details>

<span id="api-Chain2DStyle-justifySelf"></span>
<details>
<summary>justifySelf (optional)</summary>


```ts
justifySelf?: "auto" | "center" | "end" | "start" | "stretch" | undefined
```

This child's inline-axis alignment override. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:123](/source/packages/core/src/lib/style/types-ts/#L123)

</details>

<span id="api-Chain2DStyle-flexBasis"></span>
<details>
<summary>flexBasis (optional)</summary>


```ts
flexBasis?: Length | undefined
```

Related API: [Length](/reference/types/layout/#length).

Initial main-axis size before flex growth or shrinkage. See Length.

[View source — packages/core/src/lib/style/types.ts:125](/source/packages/core/src/lib/style/types-ts/#L125)

</details>

<span id="api-Chain2DStyle-flexGrow"></span>
<details>
<summary>flexGrow (optional)</summary>


```ts
flexGrow?: number | undefined
```

Relative share of positive free space assigned to this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:127](/source/packages/core/src/lib/style/types-ts/#L127)

</details>

<span id="api-Chain2DStyle-flexShrink"></span>
<details>
<summary>flexShrink (optional)</summary>


```ts
flexShrink?: number | undefined
```

Relative factor used when reducing main-axis size. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:129](/source/packages/core/src/lib/style/types-ts/#L129)

</details>

<span id="api-Chain2DStyle-gridColumnStart"></span>
<details>
<summary>gridColumnStart (optional)</summary>


```ts
gridColumnStart?: number | undefined
```

Explicit starting grid column. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:131](/source/packages/core/src/lib/style/types-ts/#L131)

</details>

<span id="api-Chain2DStyle-gridColumnSpan"></span>
<details>
<summary>gridColumnSpan (optional)</summary>


```ts
gridColumnSpan?: number | undefined
```

Number of columns occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:133](/source/packages/core/src/lib/style/types-ts/#L133)

</details>

<span id="api-Chain2DStyle-gridRowStart"></span>
<details>
<summary>gridRowStart (optional)</summary>


```ts
gridRowStart?: number | undefined
```

Explicit starting grid row. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:135](/source/packages/core/src/lib/style/types-ts/#L135)

</details>

<span id="api-Chain2DStyle-gridRowSpan"></span>
<details>
<summary>gridRowSpan (optional)</summary>


```ts
gridRowSpan?: number | undefined
```

Number of rows occupied by this child. See LayoutItemStyle.

[View source — packages/core/src/lib/style/types.ts:137](/source/packages/core/src/lib/style/types-ts/#L137)

</details>

<span id="api-Chain2DStyle-fill"></span>
<details>
<summary>fill (optional)</summary>


```ts
fill?: FillStyle | undefined
```

Related API: [FillStyle](/reference/types/styles/#fillstyle).

Paint used for the interior. See FillStyle.

[View source — packages/core/src/lib/style/types.ts:193](/source/packages/core/src/lib/style/types-ts/#L193)

</details>

<span id="api-Chain2DStyle-stroke"></span>
<details>
<summary>stroke (optional)</summary>


```ts
stroke?: StrokeStyle | undefined
```

Related API: [StrokeStyle](/reference/types/styles/#strokestyle).

Paint used for the outline. See StrokeStyle.

[View source — packages/core/src/lib/style/types.ts:195](/source/packages/core/src/lib/style/types-ts/#L195)

</details>

<span id="api-Chain2DStyle-strokeWidth"></span>
<details>
<summary>strokeWidth (optional)</summary>


```ts
strokeWidth?: number | undefined
```

Width of the painted outline. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:197](/source/packages/core/src/lib/style/types-ts/#L197)

</details>

<span id="api-Chain2DStyle-opacity"></span>
<details>
<summary>opacity (optional)</summary>


```ts
opacity?: number | undefined
```

Related API: [opacity](/reference/types/filters/#opacity).

Opacity of the painted result. See PaintStyle.

[View source — packages/core/src/lib/style/types.ts:199](/source/packages/core/src/lib/style/types-ts/#L199)

</details>

<span id="api-Chain2DStyle-cursor"></span>
<details>
<summary>cursor (optional)</summary>


```ts
cursor?: string | undefined
```

Cursor shown while this target owns pointer presentation. See CursorStyle.

[View source — packages/core/src/lib/style/types.ts:212](/source/packages/core/src/lib/style/types-ts/#L212)

</details>

<span id="api-Chain2DStyle-transition"></span>
<details>
<summary>transition (optional)</summary>


```ts
transition?: PibblTransitionBinding | undefined
```

Related API: [PibblTransitionBinding](/reference/hooks/use-visibility-transition/).

Visibility-transition binding applied to this primitive and its captured descendants. See SystemStyle.

[View source — packages/core/src/lib/types.ts:69](/source/packages/core/src/lib/types-ts/#L69)

</details>

<span id="api-Chain2DStyle-custom"></span>
<details>
<summary>custom (optional)</summary>


```ts
custom?: unknown
```

Application-defined style payload passed through the runtime. See SystemStyle.

[View source — packages/core/src/lib/types.ts:71](/source/packages/core/src/lib/types-ts/#L71)

</details>

<span id="api-Chain2DStyle-filter"></span>
<details>
<summary>filter (optional)</summary>


```ts
filter?: PibblFilter | readonly PibblFilter[] | undefined
```

Related API: [PibblFilter](/reference/types/filters/#pibblfilter).

Ordered pixel-only filters applied to the receiving primitive and its descendants. See
PibblFilter.

[View source — packages/core/src/lib/types.ts:76](/source/packages/core/src/lib/types-ts/#L76)

</details>

<span id="api-PibblPhysicsBodyHandle2D"></span>

### PibblPhysicsBodyHandle2D

Stable body identity with committed reactive pose, velocity, sleeping, enablement, and generation.

```ts
interface PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

#### See also

[Signal](/reference/types/canvas-runtime/#signal)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsDynamicBody2DOptions](/reference/types/physics-2d/#pibblphysicsdynamicbody2doptions)

[PibblPhysicsStaticBody2DOptions](/reference/types/physics-2d/#pibblphysicsstaticbody2doptions)

[PibblPhysicsKinematicBody2DOptions](/reference/types/physics-2d/#pibblphysicskinematicbody2doptions)

[View source — packages/core/src/features/physics/lib/2d/types.ts:531](/source/packages/core/src/features/physics/lib/2d/types-ts/#L531)

#### Properties and methods

<span id="api-PibblPhysicsBodyHandle2D-position"></span>
<details>
<summary>position</summary>


```ts
readonly position: Signal<PibblPhysicsVector2>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal), [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Position of the geometry, source, or selected resize handle. See Signal,
PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:537](/source/packages/core/src/features/physics/lib/2d/types-ts/#L537)

</details>

<span id="api-PibblPhysicsBodyHandle2D-rotationDegrees"></span>
<details>
<summary>rotationDegrees</summary>


```ts
readonly rotationDegrees: Signal<number>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Rotation in degrees. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:539](/source/packages/core/src/features/physics/lib/2d/types-ts/#L539)

</details>

<span id="api-PibblPhysicsBodyHandle2D-linearVelocity"></span>
<details>
<summary>linearVelocity</summary>


```ts
readonly linearVelocity: Signal<PibblPhysicsVector2>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal), [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Linear velocity in the simulation coordinate system per second. See Signal,
PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/types.ts:544](/source/packages/core/src/features/physics/lib/2d/types-ts/#L544)

</details>

<span id="api-PibblPhysicsBodyHandle2D-angularVelocityDegreesPerSecond"></span>
<details>
<summary>angularVelocityDegreesPerSecond</summary>


```ts
readonly angularVelocityDegreesPerSecond: Signal<number>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Angular velocity in degrees per second. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:546](/source/packages/core/src/features/physics/lib/2d/types-ts/#L546)

</details>

<span id="api-PibblPhysicsBodyHandle2D-sleeping"></span>
<details>
<summary>sleeping</summary>


```ts
readonly sleeping: Signal<boolean>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Whether the body is currently sleeping. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:548](/source/packages/core/src/features/physics/lib/2d/types-ts/#L548)

</details>

<span id="api-PibblPhysicsBodyHandle2D-enabled"></span>
<details>
<summary>enabled</summary>


```ts
readonly enabled: Signal<boolean>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Whether this operation or resource participates in updates. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:550](/source/packages/core/src/features/physics/lib/2d/types-ts/#L550)

</details>

<span id="api-PibblPhysicsBodyHandle2D-generation"></span>
<details>
<summary>generation</summary>


```ts
readonly generation: Signal<number>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Generation counter distinguishing successive bindings of a stable identity. See Signal
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:555](/source/packages/core/src/features/physics/lib/2d/types-ts/#L555)

</details>

<span id="api-PibblPhysicsColliderHandle2D"></span>

### PibblPhysicsColliderHandle2D

Stable opaque collider identity for filtering and query results.

```ts
interface PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

#### See also

[PibblPhysicsQueryOptions2D](/reference/types/physics-2d/#pibblphysicsqueryoptions2d)

[PibblPhysicsQueryHit2D](/reference/types/physics-2d/#pibblphysicsqueryhit2d)

[PibblPhysicsQueryMatch2D](/reference/types/physics-2d/#pibblphysicsquerymatch2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:566](/source/packages/core/src/features/physics/lib/2d/types-ts/#L566)

<span id="api-PibblPhysicsWorldHandle2D"></span>

### PibblPhysicsWorldHandle2D

Stable world identity with a reactive committed-state revision.

```ts
interface PibblPhysicsWorldHandle2D
```

Related API: [PibblPhysicsWorldHandle2D](/reference/types/physics-2d/#pibblphysicsworldhandle2d).

#### See also

[Signal](/reference/types/canvas-runtime/#signal)

[pibblPhysicsWorld2D](/reference/functions/physics-2d/)

[raycastClosest2D](/reference/functions/physics-2d/)

[shapeCastClosest2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:579](/source/packages/core/src/features/physics/lib/2d/types-ts/#L579)

#### Properties and methods

<span id="api-PibblPhysicsWorldHandle2D-revision"></span>
<details>
<summary>revision</summary>


```ts
readonly revision: Signal<number>
```

Related API: [Signal](/reference/types/canvas-runtime/#signal).

Revision used to detect changes to the underlying state or geometry. See Signal.

[View source — packages/core/src/features/physics/lib/2d/types.ts:582](/source/packages/core/src/features/physics/lib/2d/types-ts/#L582)

</details>

<span id="api-PibblPhysicsQueryOptions2D"></span>

### PibblPhysicsQueryOptions2D

Sensor policy, collision filtering, and body/collider exclusions for world queries.

```ts
interface PibblPhysicsQueryOptions2D
```

Related API: [PibblPhysicsQueryOptions2D](/reference/types/physics-2d/#pibblphysicsqueryoptions2d).

#### See also

[PibblPhysicsCollisionFilter](/reference/types/physics-2d/#pibblphysicscollisionfilter)

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:592](/source/packages/core/src/features/physics/lib/2d/types-ts/#L592)

#### Properties and methods

<span id="api-PibblPhysicsQueryOptions2D-sensors"></span>
<details>
<summary>sensors (optional)</summary>


```ts
readonly sensors?: "exclude" | "include" | "only" | undefined
```

Selects `"include"` , `"exclude"` , `"only"` for sensors. See PibblPhysicsQueryOptions2D
.

[View source — packages/core/src/features/physics/lib/2d/types.ts:597](/source/packages/core/src/features/physics/lib/2d/types-ts/#L597)

</details>

<span id="api-PibblPhysicsQueryOptions2D-collisionFilter"></span>
<details>
<summary>collisionFilter (optional)</summary>


```ts
readonly collisionFilter?: PibblPhysicsCollisionFilter | undefined
```

Related API: [PibblPhysicsCollisionFilter](/reference/types/physics-2d/#pibblphysicscollisionfilter).

Category, mask, and group filtering for collision or query participation. See
PibblPhysicsCollisionFilter.

[View source — packages/core/src/features/physics/lib/2d/types.ts:602](/source/packages/core/src/features/physics/lib/2d/types-ts/#L602)

</details>

<span id="api-PibblPhysicsQueryOptions2D-excludeBody"></span>
<details>
<summary>excludeBody (optional)</summary>


```ts
readonly excludeBody?: PibblPhysicsBodyHandle2D | undefined
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body identity omitted from query candidates. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:604](/source/packages/core/src/features/physics/lib/2d/types-ts/#L604)

</details>

<span id="api-PibblPhysicsQueryOptions2D-excludeCollider"></span>
<details>
<summary>excludeCollider (optional)</summary>


```ts
readonly excludeCollider?: PibblPhysicsColliderHandle2D | undefined
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

Collider identity omitted from query candidates. See PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:606](/source/packages/core/src/features/physics/lib/2d/types-ts/#L606)

</details>

<span id="api-PibblPhysicsQueryHit2D"></span>

### PibblPhysicsQueryHit2D

Cast geometry plus matched body/collider identities, generations, and application tag.

```ts
interface PibblPhysicsQueryHit2D extends PibblPhysicsShapeHit2D
```

Related API: [PibblPhysicsQueryHit2D](/reference/types/physics-2d/#pibblphysicsqueryhit2d), [PibblPhysicsShapeHit2D](/reference/types/physics-2d/#pibblphysicsshapehit2d).

#### See also

[PibblPhysicsShapeHit2D](/reference/types/physics-2d/#pibblphysicsshapehit2d)

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d)

[raycastClosest2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:617](/source/packages/core/src/features/physics/lib/2d/types-ts/#L617)

#### Properties and methods

<span id="api-PibblPhysicsQueryHit2D-body"></span>
<details>
<summary>body</summary>


```ts
readonly body: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body identity associated with this event or result. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:619](/source/packages/core/src/features/physics/lib/2d/types-ts/#L619)

</details>

<span id="api-PibblPhysicsQueryHit2D-collider"></span>
<details>
<summary>collider</summary>


```ts
readonly collider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

Collider configuration or identity associated with this body or query. See
PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:624](/source/packages/core/src/features/physics/lib/2d/types-ts/#L624)

</details>

<span id="api-PibblPhysicsQueryHit2D-bodyGeneration"></span>
<details>
<summary>bodyGeneration</summary>


```ts
readonly bodyGeneration: number
```

Committed generation of the matched body identity. See PibblPhysicsQueryHit2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:626](/source/packages/core/src/features/physics/lib/2d/types-ts/#L626)

</details>

<span id="api-PibblPhysicsQueryHit2D-colliderGeneration"></span>
<details>
<summary>colliderGeneration</summary>


```ts
readonly colliderGeneration: number
```

Committed generation of the matched collider identity. See PibblPhysicsQueryHit2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:628](/source/packages/core/src/features/physics/lib/2d/types-ts/#L628)

</details>

<span id="api-PibblPhysicsQueryHit2D-tag"></span>
<details>
<summary>tag</summary>


```ts
readonly tag: unknown
```

Application payload carried through physics queries and events. See
PibblPhysicsQueryHit2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:633](/source/packages/core/src/features/physics/lib/2d/types-ts/#L633)

</details>

<span id="api-PibblPhysicsQueryHit2D-point"></span>
<details>
<summary>point</summary>


```ts
readonly point: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

A point in the operation's coordinate system. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:157](/source/packages/core/src/features/physics/2d-geometry-ts/#L157)

</details>

<span id="api-PibblPhysicsQueryHit2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Contact or surface normal returned by this query. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:159](/source/packages/core/src/features/physics/2d-geometry-ts/#L159)

</details>

<span id="api-PibblPhysicsQueryHit2D-distance"></span>
<details>
<summary>distance</summary>


```ts
readonly distance: number
```

Distance measured in this query or guide's coordinate system. See PibblPhysicsShapeHit2D
.

[View source — packages/core/src/features/physics/2d-geometry.ts:164](/source/packages/core/src/features/physics/2d-geometry-ts/#L164)

</details>

<span id="api-PibblPhysicsQueryHit2D-timeOfImpact"></span>
<details>
<summary>timeOfImpact</summary>


```ts
readonly timeOfImpact: number
```

Position along the cast at which contact first occurs. See PibblPhysicsShapeHit2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:166](/source/packages/core/src/features/physics/2d-geometry-ts/#L166)

</details>

<span id="api-PibblPhysicsQueryMatch2D"></span>

### PibblPhysicsQueryMatch2D

Matched body/collider identities, generations, and tag for an overlap query.

```ts
interface PibblPhysicsQueryMatch2D
```

Related API: [PibblPhysicsQueryMatch2D](/reference/types/physics-2d/#pibblphysicsquerymatch2d).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d)

[findShapeOverlap2D](/reference/functions/physics-2d/)

[findAabbMatch2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/types.ts:644](/source/packages/core/src/features/physics/lib/2d/types-ts/#L644)

#### Properties and methods

<span id="api-PibblPhysicsQueryMatch2D-body"></span>
<details>
<summary>body</summary>


```ts
readonly body: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body identity associated with this event or result. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:646](/source/packages/core/src/features/physics/lib/2d/types-ts/#L646)

</details>

<span id="api-PibblPhysicsQueryMatch2D-collider"></span>
<details>
<summary>collider</summary>


```ts
readonly collider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

Collider configuration or identity associated with this body or query. See
PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:651](/source/packages/core/src/features/physics/lib/2d/types-ts/#L651)

</details>

<span id="api-PibblPhysicsQueryMatch2D-bodyGeneration"></span>
<details>
<summary>bodyGeneration</summary>


```ts
readonly bodyGeneration: number
```

Committed generation of the matched body identity. See PibblPhysicsQueryMatch2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:653](/source/packages/core/src/features/physics/lib/2d/types-ts/#L653)

</details>

<span id="api-PibblPhysicsQueryMatch2D-colliderGeneration"></span>
<details>
<summary>colliderGeneration</summary>


```ts
readonly colliderGeneration: number
```

Committed generation of the matched collider identity. See PibblPhysicsQueryMatch2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:655](/source/packages/core/src/features/physics/lib/2d/types-ts/#L655)

</details>

<span id="api-PibblPhysicsQueryMatch2D-tag"></span>
<details>
<summary>tag</summary>


```ts
readonly tag: unknown
```

Application payload carried through physics queries and events. See
PibblPhysicsQueryMatch2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:660](/source/packages/core/src/features/physics/lib/2d/types-ts/#L660)

</details>

<span id="api-PibblPhysicsCollisionEvent2D"></span>

### PibblPhysicsCollisionEvent2D

Bodies, colliders, contact geometry, impulse, tags, and tick for a collision event.

```ts
interface PibblPhysicsCollisionEvent2D
```

Related API: [PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d)

[PibblPhysicsCollisionHandler2D](/reference/types/physics-2d/#pibblphysicscollisionhandler2d)

[PibblPhysicsHitHandler2D](/reference/types/physics-2d/#pibblphysicshithandler2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:673](/source/packages/core/src/features/physics/lib/2d/types-ts/#L673)

#### Properties and methods

<span id="api-PibblPhysicsCollisionEvent2D-selfBody"></span>
<details>
<summary>selfBody</summary>


```ts
readonly selfBody: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body receiving the collision or overlap notification. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:675](/source/packages/core/src/features/physics/lib/2d/types-ts/#L675)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-selfCollider"></span>
<details>
<summary>selfCollider</summary>


```ts
readonly selfCollider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

Collider receiving the collision or overlap notification. See
PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:680](/source/packages/core/src/features/physics/lib/2d/types-ts/#L680)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-otherBody"></span>
<details>
<summary>otherBody</summary>


```ts
readonly otherBody: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

The other body in the collision or overlap pair. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:682](/source/packages/core/src/features/physics/lib/2d/types-ts/#L682)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-otherCollider"></span>
<details>
<summary>otherCollider</summary>


```ts
readonly otherCollider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

The other collider in the collision or overlap pair. See PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:686](/source/packages/core/src/features/physics/lib/2d/types-ts/#L686)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Direction from other toward self.

[View source — packages/core/src/features/physics/lib/2d/types.ts:688](/source/packages/core/src/features/physics/lib/2d/types-ts/#L688)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-points"></span>
<details>
<summary>points</summary>


```ts
readonly points: readonly PibblPhysicsContactPoint2D[]
```

Related API: [PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d).

Points defining the geometry or reported by the contact query. See
PibblPhysicsContactPoint2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:693](/source/packages/core/src/features/physics/lib/2d/types-ts/#L693)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-totalNormalImpulse"></span>
<details>
<summary>totalNormalImpulse</summary>


```ts
readonly totalNormalImpulse: number
```

Total normal contact impulse reported for the pair. See PibblPhysicsCollisionEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:695](/source/packages/core/src/features/physics/lib/2d/types-ts/#L695)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-tick"></span>
<details>
<summary>tick</summary>


```ts
readonly tick: number
```

Simulation tick associated with this observation. See PibblPhysicsCollisionEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:697](/source/packages/core/src/features/physics/lib/2d/types-ts/#L697)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-selfTag"></span>
<details>
<summary>selfTag</summary>


```ts
readonly selfTag: unknown
```

Application tag attached to the receiving collider. See PibblPhysicsCollisionEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:699](/source/packages/core/src/features/physics/lib/2d/types-ts/#L699)

</details>

<span id="api-PibblPhysicsCollisionEvent2D-otherTag"></span>
<details>
<summary>otherTag</summary>


```ts
readonly otherTag: unknown
```

Application tag attached to the other collider. See PibblPhysicsCollisionEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:701](/source/packages/core/src/features/physics/lib/2d/types-ts/#L701)

</details>

<span id="api-PibblPhysicsOverlapEvent2D"></span>

### PibblPhysicsOverlapEvent2D

Bodies, colliders, tags, and tick for a sensor-overlap event.

```ts
interface PibblPhysicsOverlapEvent2D
```

Related API: [PibblPhysicsOverlapEvent2D](/reference/types/physics-2d/#pibblphysicsoverlapevent2d).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d)

[PibblPhysicsOverlapHandler2D](/reference/types/physics-2d/#pibblphysicsoverlaphandler2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:711](/source/packages/core/src/features/physics/lib/2d/types-ts/#L711)

#### Properties and methods

<span id="api-PibblPhysicsOverlapEvent2D-selfBody"></span>
<details>
<summary>selfBody</summary>


```ts
readonly selfBody: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body receiving the collision or overlap notification. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:713](/source/packages/core/src/features/physics/lib/2d/types-ts/#L713)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-selfCollider"></span>
<details>
<summary>selfCollider</summary>


```ts
readonly selfCollider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

Collider receiving the collision or overlap notification. See
PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:718](/source/packages/core/src/features/physics/lib/2d/types-ts/#L718)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-otherBody"></span>
<details>
<summary>otherBody</summary>


```ts
readonly otherBody: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

The other body in the collision or overlap pair. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:720](/source/packages/core/src/features/physics/lib/2d/types-ts/#L720)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-otherCollider"></span>
<details>
<summary>otherCollider</summary>


```ts
readonly otherCollider: PibblPhysicsColliderHandle2D
```

Related API: [PibblPhysicsColliderHandle2D](/reference/types/physics-2d/#pibblphysicscolliderhandle2d).

The other collider in the collision or overlap pair. See PibblPhysicsColliderHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:724](/source/packages/core/src/features/physics/lib/2d/types-ts/#L724)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-tick"></span>
<details>
<summary>tick</summary>


```ts
readonly tick: number
```

Simulation tick associated with this observation. See PibblPhysicsOverlapEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:726](/source/packages/core/src/features/physics/lib/2d/types-ts/#L726)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-selfTag"></span>
<details>
<summary>selfTag</summary>


```ts
readonly selfTag: unknown
```

Application tag attached to the receiving collider. See PibblPhysicsOverlapEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:728](/source/packages/core/src/features/physics/lib/2d/types-ts/#L728)

</details>

<span id="api-PibblPhysicsOverlapEvent2D-otherTag"></span>
<details>
<summary>otherTag</summary>


```ts
readonly otherTag: unknown
```

Application tag attached to the other collider. See PibblPhysicsOverlapEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:730](/source/packages/core/src/features/physics/lib/2d/types-ts/#L730)

</details>

<span id="api-PibblPhysicsBodyStateEvent2D"></span>

### PibblPhysicsBodyStateEvent2D

Body identity and sleeping state at the reported simulation tick.

```ts
interface PibblPhysicsBodyStateEvent2D
```

Related API: [PibblPhysicsBodyStateEvent2D](/reference/types/physics-2d/#pibblphysicsbodystateevent2d).

#### See also

[PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d)

[PibblPhysicsBodyStateHandler2D](/reference/types/physics-2d/#pibblphysicsbodystatehandler2d)

[View source — packages/core/src/features/physics/lib/2d/types.ts:739](/source/packages/core/src/features/physics/lib/2d/types-ts/#L739)

#### Properties and methods

<span id="api-PibblPhysicsBodyStateEvent2D-body"></span>
<details>
<summary>body</summary>


```ts
readonly body: PibblPhysicsBodyHandle2D
```

Related API: [PibblPhysicsBodyHandle2D](/reference/types/physics-2d/#pibblphysicsbodyhandle2d).

Body identity associated with this event or result. See PibblPhysicsBodyHandle2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:741](/source/packages/core/src/features/physics/lib/2d/types-ts/#L741)

</details>

<span id="api-PibblPhysicsBodyStateEvent2D-sleeping"></span>
<details>
<summary>sleeping</summary>


```ts
readonly sleeping: boolean
```

Whether the body is currently sleeping. See PibblPhysicsBodyStateEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:743](/source/packages/core/src/features/physics/lib/2d/types-ts/#L743)

</details>

<span id="api-PibblPhysicsBodyStateEvent2D-tick"></span>
<details>
<summary>tick</summary>


```ts
readonly tick: number
```

Simulation tick associated with this observation. See PibblPhysicsBodyStateEvent2D.

[View source — packages/core/src/features/physics/lib/2d/types.ts:745](/source/packages/core/src/features/physics/lib/2d/types-ts/#L745)

</details>

<span id="api-PibblPhysicsVector2"></span>

### PibblPhysicsVector2

An x/y pair in the 2D physics coordinate system.

```ts
type PibblPhysicsVector2 = readonly [x: number, y: number]
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

#### See also

[PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d)

[PibblPhysicsAabb2D](/reference/types/physics-2d/#pibblphysicsaabb2d)

[PibblPhysicsRay2D](/reference/types/physics-2d/#pibblphysicsray2d)

[View source — packages/core/src/features/physics/2d-geometry.ts:13](/source/packages/core/src/features/physics/2d-geometry-ts/#L13)

<span id="api-PibblPhysicsPose2D"></span>

### PibblPhysicsPose2D

Position and rotation in degrees for a 2D shape or body.

```ts
interface PibblPhysicsPose2D
```

Related API: [PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsTransform2D](/reference/types/physics-2d/#pibblphysicstransform2d)

[containsPoint2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:22](/source/packages/core/src/features/physics/2d-geometry-ts/#L22)

#### Properties and methods

<span id="api-PibblPhysicsPose2D-position"></span>
<details>
<summary>position</summary>


```ts
readonly position: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Position of the geometry, source, or selected resize handle. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:24](/source/packages/core/src/features/physics/2d-geometry-ts/#L24)

</details>

<span id="api-PibblPhysicsPose2D-rotationDegrees"></span>
<details>
<summary>rotationDegrees</summary>


```ts
readonly rotationDegrees: number
```

Rotation in degrees. See PibblPhysicsPose2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:26](/source/packages/core/src/features/physics/2d-geometry-ts/#L26)

</details>

<span id="api-PibblPhysicsTransform2D"></span>

### PibblPhysicsTransform2D

A rigid 2D transform expressed as position and rotation in degrees.

```ts
type PibblPhysicsTransform2D = PibblPhysicsPose2D
```

Related API: [PibblPhysicsTransform2D](/reference/types/physics-2d/#pibblphysicstransform2d), [PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d).

#### See also

[PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d)

[transformShape2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:35](/source/packages/core/src/features/physics/2d-geometry-ts/#L35)

#### Properties and methods

<span id="api-PibblPhysicsTransform2D-position"></span>
<details>
<summary>position</summary>


```ts
readonly position: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Position of the geometry, source, or selected resize handle. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:24](/source/packages/core/src/features/physics/2d-geometry-ts/#L24)

</details>

<span id="api-PibblPhysicsTransform2D-rotationDegrees"></span>
<details>
<summary>rotationDegrees</summary>


```ts
readonly rotationDegrees: number
```

Rotation in degrees. See PibblPhysicsPose2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:26](/source/packages/core/src/features/physics/2d-geometry-ts/#L26)

</details>

<span id="api-PibblPhysicsAabb2D"></span>

### PibblPhysicsAabb2D

Axis-aligned bounds expressed as minimum and maximum coordinates.

```ts
interface PibblPhysicsAabb2D
```

Related API: [PibblPhysicsAabb2D](/reference/types/physics-2d/#pibblphysicsaabb2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[boundsOfShape2D](/reference/functions/physics-2d/)

[findAabbMatch2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:44](/source/packages/core/src/features/physics/2d-geometry-ts/#L44)

#### Properties and methods

<span id="api-PibblPhysicsAabb2D-min"></span>
<details>
<summary>min</summary>


```ts
readonly min: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Lower bound of the coordinate or sampling interval. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:46](/source/packages/core/src/features/physics/2d-geometry-ts/#L46)

</details>

<span id="api-PibblPhysicsAabb2D-max"></span>
<details>
<summary>max</summary>


```ts
readonly max: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Upper bound of the coordinate or sampling interval. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:48](/source/packages/core/src/features/physics/2d-geometry-ts/#L48)

</details>

<span id="api-PibblPhysicsRay2D"></span>

### PibblPhysicsRay2D

Origin, direction, and maximum travel distance of a 2D query ray.

```ts
interface PibblPhysicsRay2D
```

Related API: [PibblPhysicsRay2D](/reference/types/physics-2d/#pibblphysicsray2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[raycastShape2D](/reference/functions/physics-2d/)

[raycastClosest2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:58](/source/packages/core/src/features/physics/2d-geometry-ts/#L58)

#### Properties and methods

<span id="api-PibblPhysicsRay2D-origin"></span>
<details>
<summary>origin</summary>


```ts
readonly origin: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Origin of the transform or geometric query. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:60](/source/packages/core/src/features/physics/2d-geometry-ts/#L60)

</details>

<span id="api-PibblPhysicsRay2D-direction"></span>
<details>
<summary>direction</summary>


```ts
readonly direction: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Direction in which this operation proceeds. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:62](/source/packages/core/src/features/physics/2d-geometry-ts/#L62)

</details>

<span id="api-PibblPhysicsRay2D-maxDistance"></span>
<details>
<summary>maxDistance</summary>


```ts
readonly maxDistance: number
```

Maximum distance accepted by the query. See PibblPhysicsRay2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:64](/source/packages/core/src/features/physics/2d-geometry-ts/#L64)

</details>

<span id="api-PibblPhysicsShape2D"></span>

### PibblPhysicsShape2D

An immutable branded shape created by the public 2D geometry constructors.

```ts
interface PibblPhysicsShape2D
```

Related API: [PibblPhysicsShape2D](/reference/types/physics-2d/#pibblphysicsshape2d).

#### See also

[containsPoint2D](/reference/functions/physics-2d/)

[distanceBetweenShapes2D](/reference/functions/physics-2d/)

[overlapShapes2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:75](/source/packages/core/src/features/physics/2d-geometry-ts/#L75)

<span id="api-PibblPhysicsMassProperties2D"></span>

### PibblPhysicsMassProperties2D

Area, centroid, mass, and rotational inertia derived from a shape and density.

```ts
interface PibblPhysicsMassProperties2D
```

Related API: [PibblPhysicsMassProperties2D](/reference/types/physics-2d/#pibblphysicsmassproperties2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[massProperties2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:85](/source/packages/core/src/features/physics/2d-geometry-ts/#L85)

#### Properties and methods

<span id="api-PibblPhysicsMassProperties2D-area"></span>
<details>
<summary>area</summary>


```ts
readonly area: number
```

Area enclosed by the shape. See PibblPhysicsMassProperties2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:87](/source/packages/core/src/features/physics/2d-geometry-ts/#L87)

</details>

<span id="api-PibblPhysicsMassProperties2D-centroid"></span>
<details>
<summary>centroid</summary>


```ts
readonly centroid: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Area-weighted center of the shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:89](/source/packages/core/src/features/physics/2d-geometry-ts/#L89)

</details>

<span id="api-PibblPhysicsMassProperties2D-mass"></span>
<details>
<summary>mass</summary>


```ts
readonly mass: number
```

Mass used by the spring or physics calculation. See PibblPhysicsMassProperties2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:91](/source/packages/core/src/features/physics/2d-geometry-ts/#L91)

</details>

<span id="api-PibblPhysicsMassProperties2D-rotationalInertia"></span>
<details>
<summary>rotationalInertia</summary>


```ts
readonly rotationalInertia: number
```

Moment of inertia about the shape's center of mass. See PibblPhysicsMassProperties2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:93](/source/packages/core/src/features/physics/2d-geometry-ts/#L93)

</details>

<span id="api-PibblPhysicsDistance2D"></span>

### PibblPhysicsDistance2D

Signed separation, witness points, and normal between two posed shapes.

```ts
interface PibblPhysicsDistance2D
```

Related API: [PibblPhysicsDistance2D](/reference/types/physics-2d/#pibblphysicsdistance2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[distanceBetweenShapes2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:102](/source/packages/core/src/features/physics/2d-geometry-ts/#L102)

#### Properties and methods

<span id="api-PibblPhysicsDistance2D-separation"></span>
<details>
<summary>separation</summary>


```ts
readonly separation: number
```

Signed distance between the witness points. See PibblPhysicsDistance2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:104](/source/packages/core/src/features/physics/2d-geometry-ts/#L104)

</details>

<span id="api-PibblPhysicsDistance2D-pointOnFirst"></span>
<details>
<summary>pointOnFirst</summary>


```ts
readonly pointOnFirst: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Witness point on the first shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:106](/source/packages/core/src/features/physics/2d-geometry-ts/#L106)

</details>

<span id="api-PibblPhysicsDistance2D-pointOnSecond"></span>
<details>
<summary>pointOnSecond</summary>


```ts
readonly pointOnSecond: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Witness point on the second shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:108](/source/packages/core/src/features/physics/2d-geometry-ts/#L108)

</details>

<span id="api-PibblPhysicsDistance2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Direction from the second shape toward the first.

[View source — packages/core/src/features/physics/2d-geometry.ts:110](/source/packages/core/src/features/physics/2d-geometry-ts/#L110)

</details>

<span id="api-PibblPhysicsContactPoint2D"></span>

### PibblPhysicsContactPoint2D

A pair of contact witness points and their signed separation.

```ts
interface PibblPhysicsContactPoint2D
```

Related API: [PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsShapeContact2D](/reference/types/physics-2d/#pibblphysicsshapecontact2d)

[PibblPhysicsCollisionEvent2D](/reference/types/physics-2d/#pibblphysicscollisionevent2d)

[PibblPhysicsContactInspection2D](/reference/types/physics-2d/#pibblphysicscontactinspection2d)

[View source — packages/core/src/features/physics/2d-geometry.ts:121](/source/packages/core/src/features/physics/2d-geometry-ts/#L121)

#### Properties and methods

<span id="api-PibblPhysicsContactPoint2D-pointOnFirst"></span>
<details>
<summary>pointOnFirst</summary>


```ts
readonly pointOnFirst: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Witness point on the first shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:123](/source/packages/core/src/features/physics/2d-geometry-ts/#L123)

</details>

<span id="api-PibblPhysicsContactPoint2D-pointOnSecond"></span>
<details>
<summary>pointOnSecond</summary>


```ts
readonly pointOnSecond: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Witness point on the second shape. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:125](/source/packages/core/src/features/physics/2d-geometry-ts/#L125)

</details>

<span id="api-PibblPhysicsContactPoint2D-separation"></span>
<details>
<summary>separation</summary>


```ts
readonly separation: number
```

Signed distance between the witness points. See PibblPhysicsContactPoint2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:127](/source/packages/core/src/features/physics/2d-geometry-ts/#L127)

</details>

<span id="api-PibblPhysicsShapeContact2D"></span>

### PibblPhysicsShapeContact2D

Contact normal and witness-point pairs for two overlapping or touching shapes.

```ts
interface PibblPhysicsShapeContact2D
```

Related API: [PibblPhysicsShapeContact2D](/reference/types/physics-2d/#pibblphysicsshapecontact2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d)

[contactBetweenShapes2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/2d-geometry.ts:137](/source/packages/core/src/features/physics/2d-geometry-ts/#L137)

#### Properties and methods

<span id="api-PibblPhysicsShapeContact2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Direction from the second shape toward the first.

[View source — packages/core/src/features/physics/2d-geometry.ts:139](/source/packages/core/src/features/physics/2d-geometry-ts/#L139)

</details>

<span id="api-PibblPhysicsShapeContact2D-points"></span>
<details>
<summary>points</summary>


```ts
readonly points: readonly PibblPhysicsContactPoint2D[]
```

Related API: [PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d).

Points defining the geometry or reported by the contact query. See
PibblPhysicsContactPoint2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:144](/source/packages/core/src/features/physics/2d-geometry-ts/#L144)

</details>

<span id="api-PibblPhysicsShapeHit2D"></span>

### PibblPhysicsShapeHit2D

Point, normal, distance, and time of impact returned by a geometry cast.

```ts
interface PibblPhysicsShapeHit2D
```

Related API: [PibblPhysicsShapeHit2D](/reference/types/physics-2d/#pibblphysicsshapehit2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[raycastShape2D](/reference/functions/physics-2d/)

[shapeCastAgainstShape2D](/reference/functions/physics-2d/)

[PibblPhysicsQueryHit2D](/reference/types/physics-2d/#pibblphysicsqueryhit2d)

[View source — packages/core/src/features/physics/2d-geometry.ts:155](/source/packages/core/src/features/physics/2d-geometry-ts/#L155)

#### Properties and methods

<span id="api-PibblPhysicsShapeHit2D-point"></span>
<details>
<summary>point</summary>


```ts
readonly point: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

A point in the operation's coordinate system. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:157](/source/packages/core/src/features/physics/2d-geometry-ts/#L157)

</details>

<span id="api-PibblPhysicsShapeHit2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Contact or surface normal returned by this query. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/2d-geometry.ts:159](/source/packages/core/src/features/physics/2d-geometry-ts/#L159)

</details>

<span id="api-PibblPhysicsShapeHit2D-distance"></span>
<details>
<summary>distance</summary>


```ts
readonly distance: number
```

Distance measured in this query or guide's coordinate system. See PibblPhysicsShapeHit2D
.

[View source — packages/core/src/features/physics/2d-geometry.ts:164](/source/packages/core/src/features/physics/2d-geometry-ts/#L164)

</details>

<span id="api-PibblPhysicsShapeHit2D-timeOfImpact"></span>
<details>
<summary>timeOfImpact</summary>


```ts
readonly timeOfImpact: number
```

Position along the cast at which contact first occurs. See PibblPhysicsShapeHit2D.

[View source — packages/core/src/features/physics/2d-geometry.ts:166](/source/packages/core/src/features/physics/2d-geometry-ts/#L166)

</details>

<span id="api-PibblPhysicsInspection2D"></span>

### PibblPhysicsInspection2D

Read-only observations, not an engine serialization/restore format.

```ts
interface PibblPhysicsInspection2D
```

Related API: [PibblPhysicsInspection2D](/reference/types/physics-2d/#pibblphysicsinspection2d).

#### See also

[PibblPhysicsBodyInspection2D](/reference/types/physics-2d/#pibblphysicsbodyinspection2d)

[PibblPhysicsColliderInspection2D](/reference/types/physics-2d/#pibblphysicscolliderinspection2d)

[PibblPhysicsContactInspection2D](/reference/types/physics-2d/#pibblphysicscontactinspection2d)

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:124](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L124)

#### Properties and methods

<span id="api-PibblPhysicsInspection2D-engine"></span>
<details>
<summary>engine</summary>


```ts
readonly engine: "rapier-2d@0.21.0"
```

The literal "rapier-2d@0.21.0" identifying this variant. See PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:128](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L128)

</details>

<span id="api-PibblPhysicsInspection2D-space"></span>
<details>
<summary>space</summary>


```ts
readonly space: "local" | "root"
```

Selects `"root"`, `"local"` for space. See PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:130](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L130)

</details>

<span id="api-PibblPhysicsInspection2D-revision"></span>
<details>
<summary>revision</summary>


```ts
readonly revision: number
```

Revision used to detect changes to the underlying state or geometry. See
PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:135](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L135)

</details>

<span id="api-PibblPhysicsInspection2D-tick"></span>
<details>
<summary>tick</summary>


```ts
readonly tick: number
```

Simulation tick associated with this observation. See PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:137](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L137)

</details>

<span id="api-PibblPhysicsInspection2D-advancing"></span>
<details>
<summary>advancing</summary>


```ts
readonly advancing: boolean
```

Whether the inspected world is actively advancing simulation. See
PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:142](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L142)

</details>

<span id="api-PibblPhysicsInspection2D-failedFrames"></span>
<details>
<summary>failedFrames</summary>


```ts
readonly failedFrames: number
```

Number of scheduler frames in which this world failed to advance. See
PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:147](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L147)

</details>

<span id="api-PibblPhysicsInspection2D-lastFailure"></span>
<details>
<summary>lastFailure</summary>


```ts
readonly lastFailure: string | null
```

Diagnostic information about the most recent simulation failure. See
PibblPhysicsInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:152](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L152)

</details>

<span id="api-PibblPhysicsInspection2D-bodies"></span>
<details>
<summary>bodies</summary>


```ts
readonly bodies: readonly PibblPhysicsBodyInspection2D[]
```

Related API: [PibblPhysicsBodyInspection2D](/reference/types/physics-2d/#pibblphysicsbodyinspection2d).

Committed body snapshots in the inspected world. See PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:154](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L154)

</details>

<span id="api-PibblPhysicsInspection2D-colliders"></span>
<details>
<summary>colliders</summary>


```ts
readonly colliders: readonly PibblPhysicsColliderInspection2D[]
```

Related API: [PibblPhysicsColliderInspection2D](/reference/types/physics-2d/#pibblphysicscolliderinspection2d).

Committed collider snapshots in the inspected world. See
PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:159](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L159)

</details>

<span id="api-PibblPhysicsInspection2D-contacts"></span>
<details>
<summary>contacts</summary>


```ts
readonly contacts: readonly PibblPhysicsContactInspection2D[]
```

Related API: [PibblPhysicsContactInspection2D](/reference/types/physics-2d/#pibblphysicscontactinspection2d).

Committed contact snapshots in the inspected world. See PibblPhysicsContactInspection2D
.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:164](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L164)

</details>

<span id="api-PibblPhysicsBodyInspection2D"></span>

### PibblPhysicsBodyInspection2D

Diagnostic body identity, committed and presented poses, motion, sleeping state, and mass.

```ts
interface PibblPhysicsBodyInspection2D
```

Related API: [PibblPhysicsBodyInspection2D](/reference/types/physics-2d/#pibblphysicsbodyinspection2d).

#### See also

[PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d)

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsInspection2D](/reference/types/physics-2d/#pibblphysicsinspection2d)

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:15](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L15)

#### Properties and methods

<span id="api-PibblPhysicsBodyInspection2D-id"></span>
<details>
<summary>id</summary>


```ts
readonly id: number
```

Stable identifier of this resource or connection. See PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:17](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L17)

</details>

<span id="api-PibblPhysicsBodyInspection2D-generation"></span>
<details>
<summary>generation</summary>


```ts
readonly generation: number
```

Generation counter distinguishing successive bindings of a stable identity. See
PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:22](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L22)

</details>

<span id="api-PibblPhysicsBodyInspection2D-type"></span>
<details>
<summary>type</summary>


```ts
readonly type: "dynamic" | "kinematic" | "static"
```

Selects `"dynamic"` , `"kinematic"` , `"static"` for type. See
PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:27](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L27)

</details>

<span id="api-PibblPhysicsBodyInspection2D-enabled"></span>
<details>
<summary>enabled</summary>


```ts
readonly enabled: boolean
```

Whether this operation or resource participates in updates. See
PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:32](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L32)

</details>

<span id="api-PibblPhysicsBodyInspection2D-sleeping"></span>
<details>
<summary>sleeping</summary>


```ts
readonly sleeping: boolean
```

Whether the body is currently sleeping. See PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:34](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L34)

</details>

<span id="api-PibblPhysicsBodyInspection2D-pose"></span>
<details>
<summary>pose</summary>


```ts
readonly pose: PibblPhysicsPose2D
```

Related API: [PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d).

Committed physical position and rotation. See PibblPhysicsPose2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:36](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L36)

</details>

<span id="api-PibblPhysicsBodyInspection2D-presentationPose"></span>
<details>
<summary>presentationPose</summary>


```ts
readonly presentationPose: PibblPhysicsPose2D
```

Related API: [PibblPhysicsPose2D](/reference/types/physics-2d/#pibblphysicspose2d).

Interpolated pose currently used for drawing. See PibblPhysicsPose2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:38](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L38)

</details>

<span id="api-PibblPhysicsBodyInspection2D-centerOfMass"></span>
<details>
<summary>centerOfMass</summary>


```ts
readonly centerOfMass: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Center of mass in the reported physics coordinate system. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:40](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L40)

</details>

<span id="api-PibblPhysicsBodyInspection2D-linearVelocity"></span>
<details>
<summary>linearVelocity</summary>


```ts
readonly linearVelocity: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Linear velocity in the simulation coordinate system per second. See PibblPhysicsVector2
.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:45](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L45)

</details>

<span id="api-PibblPhysicsBodyInspection2D-angularVelocityDegreesPerSecond"></span>
<details>
<summary>angularVelocityDegreesPerSecond</summary>


```ts
readonly angularVelocityDegreesPerSecond: number
```

Angular velocity in degrees per second. See PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:47](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L47)

</details>

<span id="api-PibblPhysicsBodyInspection2D-mass"></span>
<details>
<summary>mass</summary>


```ts
readonly mass: number | null
```

Mass used by the spring or physics calculation. See PibblPhysicsBodyInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:49](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L49)

</details>

<span id="api-PibblPhysicsColliderInspection2D"></span>

### PibblPhysicsColliderInspection2D

Serializable collider identity, shape kinds, bounds, sensor state, and string label.

```ts
interface PibblPhysicsColliderInspection2D
```

Related API: [PibblPhysicsColliderInspection2D](/reference/types/physics-2d/#pibblphysicscolliderinspection2d).

#### See also

[PibblPhysicsAabb2D](/reference/types/physics-2d/#pibblphysicsaabb2d)

[PibblPhysicsInspection2D](/reference/types/physics-2d/#pibblphysicsinspection2d)

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:57](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L57)

#### Properties and methods

<span id="api-PibblPhysicsColliderInspection2D-id"></span>
<details>
<summary>id</summary>


```ts
readonly id: number
```

Stable identifier of this resource or connection. See PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:61](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L61)

</details>

<span id="api-PibblPhysicsColliderInspection2D-generation"></span>
<details>
<summary>generation</summary>


```ts
readonly generation: number
```

Generation counter distinguishing successive bindings of a stable identity. See
PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:66](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L66)

</details>

<span id="api-PibblPhysicsColliderInspection2D-bodyId"></span>
<details>
<summary>bodyId</summary>


```ts
readonly bodyId: number
```

Identifier of the collider's owning body. See PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:68](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L68)

</details>

<span id="api-PibblPhysicsColliderInspection2D-sensor"></span>
<details>
<summary>sensor</summary>


```ts
readonly sensor: boolean
```

Whether the collider reports overlaps instead of producing contact response. See
PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:73](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L73)

</details>

<span id="api-PibblPhysicsColliderInspection2D-label"></span>
<details>
<summary>label</summary>


```ts
readonly label: string | null
```

String tags only. Arbitrary application objects are never serialized.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:75](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L75)

</details>

<span id="api-PibblPhysicsColliderInspection2D-shapeKinds"></span>
<details>
<summary>shapeKinds</summary>


```ts
readonly shapeKinds: readonly string[]
```

Kinds of shape geometry represented by the collider. See
PibblPhysicsColliderInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:80](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L80)

</details>

<span id="api-PibblPhysicsColliderInspection2D-bounds"></span>
<details>
<summary>bounds</summary>


```ts
readonly bounds: PibblPhysicsAabb2D
```

Related API: [PibblPhysicsAabb2D](/reference/types/physics-2d/#pibblphysicsaabb2d).

Logical region constraining the content or query. See PibblPhysicsAabb2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:82](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L82)

</details>

<span id="api-PibblPhysicsContactInspection2D"></span>

### PibblPhysicsContactInspection2D

Diagnostic contact geometry and impulse between two collider identities.

```ts
interface PibblPhysicsContactInspection2D
```

Related API: [PibblPhysicsContactInspection2D](/reference/types/physics-2d/#pibblphysicscontactinspection2d).

#### See also

[PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2)

[PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d)

[PibblPhysicsInspection2D](/reference/types/physics-2d/#pibblphysicsinspection2d)

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:91](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L91)

#### Properties and methods

<span id="api-PibblPhysicsContactInspection2D-firstColliderId"></span>
<details>
<summary>firstColliderId</summary>


```ts
readonly firstColliderId: number
```

Identifier of the first collider in the contact pair. See
PibblPhysicsContactInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:96](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L96)

</details>

<span id="api-PibblPhysicsContactInspection2D-secondColliderId"></span>
<details>
<summary>secondColliderId</summary>


```ts
readonly secondColliderId: number
```

Identifier of the second collider in the contact pair. See
PibblPhysicsContactInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:101](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L101)

</details>

<span id="api-PibblPhysicsContactInspection2D-sensor"></span>
<details>
<summary>sensor</summary>


```ts
readonly sensor: boolean
```

Whether the collider reports overlaps instead of producing contact response. See
PibblPhysicsContactInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:106](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L106)

</details>

<span id="api-PibblPhysicsContactInspection2D-normal"></span>
<details>
<summary>normal</summary>


```ts
readonly normal: PibblPhysicsVector2
```

Related API: [PibblPhysicsVector2](/reference/types/physics-2d/#pibblphysicsvector2).

Contact or surface normal returned by this query. See PibblPhysicsVector2.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:108](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L108)

</details>

<span id="api-PibblPhysicsContactInspection2D-points"></span>
<details>
<summary>points</summary>


```ts
readonly points: readonly PibblPhysicsContactPoint2D[]
```

Related API: [PibblPhysicsContactPoint2D](/reference/types/physics-2d/#pibblphysicscontactpoint2d).

Points defining the geometry or reported by the contact query. See
PibblPhysicsContactPoint2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:113](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L113)

</details>

<span id="api-PibblPhysicsContactInspection2D-normalImpulse"></span>
<details>
<summary>normalImpulse</summary>


```ts
readonly normalImpulse: number
```

Normal contact impulse reported by the solver. See PibblPhysicsContactInspection2D.

[View source — packages/core/src/features/physics/lib/2d/inspection-types.ts:115](/source/packages/core/src/features/physics/lib/2d/inspection-types-ts/#L115)

</details>

<span id="api-PibblPhysicsDebug2DProps"></span>

### PibblPhysicsDebug2DProps

Authored inputs for PhysicsDebug2D, including the declared data and presentation options.

```ts
interface PibblPhysicsDebug2DProps
```

Related API: [PibblPhysicsDebug2DProps](/reference/types/physics-2d/#pibblphysicsdebug2dprops).

#### See also

[PibblPhysicsWorldHandle2D](/reference/types/physics-2d/#pibblphysicsworldhandle2d)

[PhysicsDebug2D](/reference/functions/physics-2d/)

[View source — packages/core/src/features/physics/lib/2d/canvas/debug.ts:12](/source/packages/core/src/features/physics/lib/2d/canvas/debug-ts/#L12)

#### Properties and methods

<span id="api-PibblPhysicsDebug2DProps-world"></span>
<details>
<summary>world</summary>


```ts
readonly world: PibblPhysicsWorldHandle2D
```

Related API: [PibblPhysicsWorldHandle2D](/reference/types/physics-2d/#pibblphysicsworldhandle2d).

World identity whose state is queried or drawn. See PibblPhysicsWorldHandle2D.

[View source — packages/core/src/features/physics/lib/2d/canvas/debug.ts:14](/source/packages/core/src/features/physics/lib/2d/canvas/debug-ts/#L14)

</details>

<span id="api-PibblPhysicsDebug2DProps-color"></span>
<details>
<summary>color (optional)</summary>


```ts
readonly color?: string | undefined
```

Color used by the mark or effect. See PibblPhysicsDebug2DProps.

[View source — packages/core/src/features/physics/lib/2d/canvas/debug.ts:16](/source/packages/core/src/features/physics/lib/2d/canvas/debug-ts/#L16)

</details>

## Implementation guidance for agents

Read the [Physics and geometry companion](/agents/topics/physics/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Shape measurements](/minimal-examples/physics/geometry-shapes/): Compare bounds, area, and mass for four common 2D shapes. [Plain source](/minimal/physics/geometry-shapes.ts)
- [Physics drawing components](/minimal-examples/physics/runtime-components/): Draw four physics shapes and move a custom kinematic collider. [Plain source](/minimal/physics/runtime-components.tsx)
- [Live physics world](/minimal-examples/physics/runtime-world/): Mount a falling ball, inspect it, and control its body with buttons. [Plain source](/minimal/physics/runtime-world.tsx)
- [Physics events](/minimal-examples/physics/runtime-events/): Record collisions, sensor overlap, body sleep, and contact inspection. [Plain source](/minimal/physics/runtime-events.tsx)
- [World queries](/minimal-examples/physics/runtime-queries/): Query a static collider by ray, moving shape, overlap, point, and bounds. [Plain source](/minimal/physics/runtime-queries.tsx)
- [Geometry queries](/minimal-examples/physics/geometry-queries/): Check point containment, separation, overlap, contact, and casts. [Plain source](/minimal/physics/geometry-queries.ts)
- [Path-like shapes](/minimal-examples/physics/geometry-paths/): Create curved, stroked, and polygonal shapes and transform them. [Plain source](/minimal/physics/geometry-paths.ts)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.
