# interaction toy.hold Describes the entry `toy.hold` at version `0.1.0`, registered by `mime.testing.toys._entries.ToyHold`. ## At a glance - interaction `toy.hold`, version `0.1.0`, namespace `toy` - Nodes: [`ToyHoldNode`](../../nodes/ToyHoldNode.md) - Undocumented, so with no equations to link: [`ToyHoldNode`](../../nodes/ToyHoldNode.md) - Derivative: `exact` - Validity: none declared ## What it models, and when not to use it No hand-written part: this entry's source has not been written (the docs walk counts it). ## Settings | Setting | Type | Default | Dimension | Role | Default's kind | |---|---|---|---|---|---| | `gain` | `Annotated[Quantity, Velocity]` | `{"unit": "m/s", "value": 0.5}` | velocity (m/s) | none declared | none: required | Each role and default's kind is the entry's `setting_roles` (`mime.registry.SettingRole`); a setting that declares none is required. ## Roles, reads and deliveries Roles, bound by keyword when the entry is attached: `body` (body), `field` (field). Reads: | Label | Reads | |---|---| | `push` | field [`toy.field.push`](../../vocabulary.md#namespace-toy) at the points of body [`toy.body.position`](../../vocabulary.md#namespace-toy) | Delivers: | Label | Role | Into the target | |---|---|---| | `hold_z` | body | [`toy.body.hold_z`](../../mechanisms/equality_constraint.md) | ## Nodes it builds - [`ToyHoldNode`](../../nodes/ToyHoldNode.md) Declared in `builds`; the node walk compares it with what a round-trip case builds. ## Gradient status The derivative through this entry is `exact`, the derivative of what it computes. ## Validity none declared ## References none declared ## Other declarations | Class variable | Type | Value | |---|---|---| | `holds_off` | `ClassVar[str \| None]` | `null` | | `id_roles` | `ClassVar[tuple[str, ...] \| None]` | `null` | | `moving` | `ClassVar[bool]` | `false` |