# Worm mesh

> Connection kind `worm-mesh` (category `mech`, DSL name `wormMesh`, API v1)

Couples a worm (driver) to a spur gear (the worm wheel). Yields very high reduction ratios; when `starts = 1` the pair is often self-locking.

## Accepted ports

- `worm.axis` → `spur-gear.axis`

## Parameters

- **`side`** — Where the wheel sits relative to the worm, in the worm local XY plane. One of: right, left, up, down, or { angleDeg: N }.

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `side` | any | right | allowed: right, left, up, down |

## Kinematics

ω_wheel = ω_worm × (starts / teeth_wheel). Direction sign depends on thread handedness (assumed right-hand in v1).

## Layout

This connection computes the driven component position from the anchor.

## Example

```
connect W1.axis -> G1.axis with mech.wormMesh {
  side: "right"
}
```
