# MIME documentation Generated from the registry and the vocabulary. To learn MIME by doing, [the user guide](pages/guide/index.md) has a tutorial for each experiment it covers; to add your own entry, [the lab-author guide](pages/guide/lab_author.md). Start with [the concepts](pages/concepts.md) if the page types are new to you. After a run, [reading its results](pages/results.md): each observation's outputs by name, with units. To go from a first run to a sealed experiment, [the profiles](pages/profiles.md): explore, see what is pending, seal. When MIME refuses something, [reading an error](pages/reading_errors.md), and [every error by its code](pages/errors/index.md). To watch a run as it runs, [live sessions and the protocol](pages/live.md), and to replay one, [recordings](pages/recordings.md). The ideas the entries share: [the scene](pages/scene.md) (frames, regions, the stage), [materials](pages/materials.md) (how a value reaches an entry, declared against fitted) and [the multibody library](pages/multibody.md) (chains, mounts, armature). ## By goal ### What can act on a body? A body takes deliveries into its targets; the mechanism page of each target kind says how they combine and lists the entries that deliver into it. | Target kind | Entries that deliver into it | |---|---| | [`load`](pages/mechanisms/load.md) | `drag`, `gravity`, `labx.nudge`, `magnetic.force`, `magnetic.torque`, `toy.drag`, `toy.lift`, `toy.spring`, `toy.twist` | | [`kinematic`](pages/mechanisms/kinematic.md) | none registered | | [`operator`](pages/mechanisms/operator.md) | `drag` | | [`equality constraint`](pages/mechanisms/equality_constraint.md) | `toy.hold` | | [`inequality constraint`](pages/mechanisms/inequality_constraint.md) | none registered | | [`registration`](pages/mechanisms/registration.md) | none registered | ### Which model, when there are several? A family collects the laws that answer one question, with the contract each must satisfy and, once two of its members that can replace one another are built, a comparison. A member is an entry, or one built rung of an entry that has rungs. | Family | Members | Built members | |---|---|---| | [`contact`](pages/families/contact.md) | `contact` | 1 | | [`gravity`](pages/families/gravity.md) | `gravity` | 1 | | [`hydrodynamic`](pages/families/hydrodynamic.md) | `drag` | 2 | | [`magnetic`](pages/families/magnetic.md) | `magnetic.force`, `magnetic.torque` | 2 | | [`toy`](pages/families/toy.md) | `toy.drag` | 2 | ### What do I write? Every registered entry has a page, listed by kind. **interaction** - [`contact`](pages/entries/interaction/contact.md) 0.1.0 - [`contact`](pages/entries/interaction/contact.md) 0.4.0 - [`drag`](pages/entries/interaction/drag.md) 0.3.0 - [`drag`](pages/entries/interaction/drag.md) 0.4.0 - [`gravity`](pages/entries/interaction/gravity.md) 0.1.0 - [`labx.nudge`](pages/entries/interaction/labx.nudge.md) 0.1.0 - [`magnetic.force`](pages/entries/interaction/magnetic.force.md) 0.1.0 - [`magnetic.torque`](pages/entries/interaction/magnetic.torque.md) 0.1.0 - [`toy.couple`](pages/entries/interaction/toy.couple.md) 0.1.0 - [`toy.drag`](pages/entries/interaction/toy.drag.md) 0.2.0 - [`toy.hold`](pages/entries/interaction/toy.hold.md) 0.1.0 - [`toy.lift`](pages/entries/interaction/toy.lift.md) 0.1.0 - [`toy.spring`](pages/entries/interaction/toy.spring.md) 0.1.0 - [`toy.twist`](pages/entries/interaction/toy.twist.md) 0.1.0 **dynamics** - [`arm`](pages/entries/dynamics/arm.md) 0.1.0 - [`labx.gantry`](pages/entries/dynamics/labx.gantry.md) 0.1.0 - [`motor`](pages/entries/dynamics/motor.md) 0.2.0 - [`rigid_inertial`](pages/entries/dynamics/rigid_inertial.md) 0.2.0 - [`rigid_inertial`](pages/entries/dynamics/rigid_inertial.md) 0.3.0 - [`toy.anchored_body`](pages/entries/dynamics/toy.anchored_body.md) 0.1.0 - [`toy.body`](pages/entries/dynamics/toy.body.md) 0.1.0 - [`toy.relaxation`](pages/entries/dynamics/toy.relaxation.md) 0.1.0 **field provider** - [`point_dipole`](pages/entries/field_provider/point_dipole.md) 0.1.0 - [`toy.field`](pages/entries/field_provider/toy.field.md) 0.1.0 - [`uniform_rotating`](pages/entries/field_provider/uniform_rotating.md) 0.1.0 **geometry** - [`box`](pages/entries/geometry/box.md) 0.1.0 - [`capsule`](pages/entries/geometry/capsule.md) 0.1.0 - [`capsule`](pages/entries/geometry/capsule.md) 0.2.0 - [`cylinder`](pages/entries/geometry/cylinder.md) 0.1.0 - [`ellipsoid`](pages/entries/geometry/ellipsoid.md) 0.1.0 - [`labx.bead`](pages/entries/geometry/labx.bead.md) 0.1.0 - [`screw`](pages/entries/geometry/screw.md) 0.2.0 - [`screw`](pages/entries/geometry/screw.md) 0.3.0 - [`sphere`](pages/entries/geometry/sphere.md) 0.1.0 - [`sphere`](pages/entries/geometry/sphere.md) 0.2.0 - [`tube`](pages/entries/geometry/tube.md) 0.1.0 **observation** - [`labx.height`](pages/entries/observation/labx.height.md) 0.1.0 - [`swim_speed`](pages/entries/observation/swim_speed.md) 0.1.0 - [`toy.recorder`](pages/entries/observation/toy.recorder.md) 0.1.0 - [`toy.region_probe`](pages/entries/observation/toy.region_probe.md) 0.1.0 **drive** - [`drive.constant`](pages/entries/drive/drive.constant.md) 0.1.0 **controller** - [`arm_tracking`](pages/entries/controller/arm_tracking.md) 0.1.0 **wall kind** - [`free_space`](pages/entries/wall_kind/free_space.md) 0.1.0 - [`tube`](pages/entries/wall_kind/tube.md) 0.1.0 ### What does a name mean? [The vocabulary](pages/vocabulary.md) lists every interface name with its units, frame, shape and sign. ### What does a node do? - [`ConstantNode`](pages/nodes/ConstantNode.md) - [`DynamicArmNode`](pages/nodes/DynamicArmNode.md) - [`DynamicMotorNode`](pages/nodes/DynamicMotorNode.md) - [`GantryNode`](pages/nodes/GantryNode.md) - [`GravityNode`](pages/nodes/GravityNode.md) - [`HeightNode`](pages/nodes/HeightNode.md) - [`KinematicArmNode`](pages/nodes/KinematicArmNode.md) - [`KinematicMotorNode`](pages/nodes/KinematicMotorNode.md) - [`MRSDragNode`](pages/nodes/MRSDragNode.md) - [`MagneticForceNode`](pages/nodes/MagneticForceNode.md) - [`MagneticTorqueNode`](pages/nodes/MagneticTorqueNode.md) - [`NudgeNode`](pages/nodes/NudgeNode.md) - [`PointDipoleNode`](pages/nodes/PointDipoleNode.md) - [`RigidInertialMidpointNode`](pages/nodes/RigidInertialMidpointNode.md) - [`RigidInertialNode`](pages/nodes/RigidInertialNode.md) - [`SourceReactionNode`](pages/nodes/SourceReactionNode.md) - [`SurrogateDragNode`](pages/nodes/SurrogateDragNode.md) - [`SwimSpeedNode`](pages/nodes/SwimSpeedNode.md) - [`ToyAnchoredBodyNode`](pages/nodes/ToyAnchoredBodyNode.md) - [`ToyBodyNode`](pages/nodes/ToyBodyNode.md) - [`ToyDragNode`](pages/nodes/ToyDragNode.md) - [`ToyFieldNode`](pages/nodes/ToyFieldNode.md) - [`ToyHoldNode`](pages/nodes/ToyHoldNode.md) - [`ToyLiftNode`](pages/nodes/ToyLiftNode.md) - [`ToyMediumNode`](pages/nodes/ToyMediumNode.md) - [`ToyRecorderNode`](pages/nodes/ToyRecorderNode.md) - [`ToyRegionProbeNode`](pages/nodes/ToyRegionProbeNode.md) - [`ToySpringNode`](pages/nodes/ToySpringNode.md) - [`UniformRotatingNode`](pages/nodes/UniformRotatingNode.md) ### What does a saved folder hold, and what does a load refuse? [The saved form's specification](pages/reference/saved_form.md), with the JSON Schemas of its document and its lock. ### What does a `mime:` name on a stage mean? [The `mime:` USD schema](pages/reference/mime_usd.md): each attribute and applied schema MIME writes or reads. ### What was a 0.2 name, in 0.3? [The migration table](pages/reference/migration.md): each public name of the 0.2 line and what takes its place. ### Which claims does a test back? [The evidence counts](pages/reference/evidence_counts.md): every claim and specification statement, with its tests' outcomes.