# Rest

> Connection kind `rest` (category `static`, DSL name `rest`, API v1)

Gravity rest: the driven part sits on the top surface of the anchor. The layout solver aligns the driven bottom face with the anchor top face and centers it over the support.

## Accepted ports

- `undefined.undefined` → `undefined.undefined`

## Parameters

- **`face`** — Optional assembly-solver hint: which face of the ANCHOR (local frame) the driven part rests against — 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right'. Default 'top' (support from below). Placed flush, gap 0.
- **`align`** — In-plane alignment when `face` is used: 'flush' (default, centered on the face), 'center' (concentric with the anchor), or a numeric [x, y, z] extra world offset (mm).
- **`gap`** — Clearance left between the surfaces (mm). Default 0.
- **`offset`** — [dx, dy, dz] slide of the driven part (mm). dx/dz move it across the supporting surface; dy fine-tunes the rest height. Default [0, 0, 0].
- **`rotationDeg`** — [rx, ry, rz] orientation of the driven part in degrees. Default [0, 0, 0].

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `face` | any | — | allowed: top, bottom, front, back, left, right |
| `align` | any | — |  |
| `offset` | any | — |  |
| `rotationDeg` | any | — |  |
| `gap` | Number | 0 |  |

## Kinematics

None. A rest is static: it propagates no signal. It aligns the driven part vertically onto the anchor.

## Layout

This connection computes the driven component position from the anchor.

## Example

```
// top panel rests on the already-placed frame rail
statics.rest(rail, top);
```
