# Inset (snug fit)

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

Interlocking junction: the driven part fits into the anchor. v1 places the driven flush against a named anchor face (`align: "center"` for a concentric let-in). Zero gap by default.

## Accepted ports

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

## Parameters

- **`face`** — Which face of the ANCHOR (local frame) the driven part is inset against: 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right'. Default 'top'. Placed flush (gap 0).
- **`align`** — In-plane alignment: 'flush' (default, centered on the face), 'center' (concentric — driven centered on the anchor, for a true let-in panel), or a numeric [x, y, z] extra world offset (mm).
- **`gap`** — Clearance left between the mating faces (mm). Default 0.
- **`offset`** — [dx, dy, dz] slide of the driven part along the joint face (mm). 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 | top | allowed: top, bottom, front, back, left, right |
| `align` | any | — |  |
| `offset` | any | — |  |
| `rotationDeg` | any | — |  |
| `gap` | Number | 0 |  |

## Kinematics

None. An inset is static: it propagates no signal. It fixes geometry and connectivity and marks an interlocking joint.

## Layout

This connection computes the driven component position from the anchor.

## Example

```
// shelf board inset onto its rail, centered on the rail face
statics.inset(rail, shelf, { face: 'top' });
```
