# Pulley

> Component kind `pulley` (category `mech`, DSL name `pulley`, API v1)

Smooth rotating disc used as a belt anchor. Pairs with another pulley via `mech.belt`; the ratio is driven by the pitch diameters.

## Parameters

- **`diameter`** — Pitch diameter (mm). Drives the belt ratio: ω_to = ω_from · (d_from / d_to).
- **`width`** — Face width along the spin axis (mm).
- **`boreDiameter`** — Central bore diameter (mm), for mounting on a shaft.

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `diameter` | Number | 60 | min: 1 |
| `width` | Number | 12 | min: 1 |
| `boreDiameter` | Number | 8 |  |
| `color` | String | — |  |

## Ports

| Port | Type | Description |
| --- | --- | --- |
| `axis` | `rotational` | Spin axis (rotational). Receives ω from the coupling or belt propagation. |

## Kinematics

Passive — ω is set by the belt or coupling attached to the axis port. Theta integrates from ω each tick.

## Example

```
pulley "P1" {
  diameter: 60
  width: 12
  at: position(0, 0, 0)
}
```
