# Interface: PairParams

[**lifecycle-kit**](https://jonbogaty.com/lifecycle-kit/api/readme/index.md)

***

[lifecycle-kit](https://jonbogaty.com/lifecycle-kit/api/readme/index.md) / [forms](https://jonbogaty.com/lifecycle-kit/api/forms/readme/index.md) / PairParams


# Interface: PairParams {#interface-pairparams}


Defined in: [forms/rules/pair.ts:5](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/forms/rules/pair.ts#L5)


## Properties {#properties}



### attachment {#attachment}


> `readonly` **attachment**: [`Vec2`](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/vec2/index.md)

Defined in: [forms/rules/pair.ts:12](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/forms/rules/pair.ts#L12)

Where the pair attaches, in the parent's coordinate space.

`x` is the station along the body and is shared by both members; `y` is
the offset to one side, and the other member takes `-y`.

***


### part {#part}


> `readonly` **part**: `string`

Defined in: [forms/rules/pair.ts:14](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/forms/rules/pair.ts#L14)

Anatomical part name, e.g. "leg", "antenna", "fin".

***


### siteIndex? {#siteindex}


> `readonly` `optional` **siteIndex?**: `number`

Defined in: [forms/rules/pair.ts:21](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/forms/rules/pair.ts#L21)

Index of this attachment site along the body — the segment a `repeat`
placed it at. Left and right members are tagged `2*siteIndex` and
`2*siteIndex+1` so every appendage in a repeated body gets a distinct
index without the two rules needing to coordinate beyond this offset.
