# Family contact ## The contract in words, and how to choose No hand-written part: how to choose among this family's laws, or to attach them together, is not written yet. ## Contract What every member must satisfy, as the family's harness checks it on the member's own node. - Sign rule: where the body is projected back, it moves no further out - Cases a member passes: `sign`, `frame`, `units`, `material reach`, `oracle`, `nodes` - Settings that stand for a material's properties, each of which must reach the output: `extent` - Deliveries a two-way law makes equal and opposite: none - Reference member a swap replaces: none - Settings proportional to a material property: none ## Members | Entry | Rung | Derivative | |---|---|---| | [`contact`](../entries/interaction/contact.md) 0.4.0 | [`projection`](../entries/interaction/contact.md#rung-projection) | `piecewise_jump` | - reserved, not built: [`penalty`](../entries/interaction/contact.md#rung-penalty) of `contact`: penalty contact, delivering loads into each side's applied wrench, comes later - reserved, not built: [`penalty`](../entries/interaction/contact.md#rung-penalty) of `contact`: penalty contact, delivering loads into each side's applied wrench, comes later ## Comparison This family has one built rung, so there is nothing to compare.