# MMS component guide
This is the canonical catalog of concrete engine components and their current Meow Meow Script (MMS) exposure. The Rust implementation is authoritative; this guide deliberately links to it instead of duplicating builder and field APIs that change frequently.
MMS status means:
- **Directly constructible** — the component's canonical MMS name is in `SUPPORTED_COMPONENT_NAMES`.
- **Available through an alias** — MMS constructs this Rust type under a different public name.
- **Engine-only** — runtime systems may create or use it, but MMS cannot construct it directly. Its example shows the closest supported relationship and is not proposed syntax.
Every `mms parse-only` fence is syntax-checked by documentation tests. Fences marked `mms runnable` are also evaluated in an isolated world with render assets.
For common composition patterns, see the [MMS language guide](../../meow_meow/README.md). For signal semantics and the exhaustive signal catalog, see the [MMS signal guide](signals.md).
## Transforms and scene graph
### `BoundsComponent`
Carries bounds state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `Bounds`. Sources: [Rust implementation](../../../src/engine/ecs/component/bounds.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Bounds {}
```
### `FitBoundsComponent`
Carries fit bounds state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `FitBounds`. Sources: [Rust implementation](../../../src/engine/ecs/component/fit_bounds.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
FitBounds {}
```
### `TransformCameraSpecificComponent`
Carries transform camera specific state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `TransformCameraSpecific`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_camera_specific.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformCameraSpecific {}
```
### `TransformComponent`
Stores local translation, rotation, and scale and the derived world transform used by scene traversal. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `Transform`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms runnable
Transform {}
```
### `TransformDropComponent`
Carries transform drop state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformDrop`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformDrop {}
```
### `TransformForkTRSComponent`
Carries transform fork t r s state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformForkTRS`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformForkTRS {}
```
### `TransformGizmoComponent`
Carries transform gizmo state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformGizmo`. Sources: [Rust implementation](../../../src/engine/ecs/component/gizmo.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformGizmo {}
```
### `TransformGizmoRotateComponent`
Carries transform gizmo rotate state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformGizmoRotate`. Sources: [Rust implementation](../../../src/engine/ecs/component/gizmo.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformGizmoRotate {}
```
### `TransformGizmoScaleComponent`
Carries transform gizmo scale state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformGizmoScale`. Sources: [Rust implementation](../../../src/engine/ecs/component/gizmo.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformGizmoScale {}
```
### `TransformGizmoTranslateComponent`
Carries transform gizmo translate state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformGizmoTranslate`. Sources: [Rust implementation](../../../src/engine/ecs/component/gizmo.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformGizmoTranslate {}
```
### `TransformMapRotationComponent`
Carries transform map rotation state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformMapRotation`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline_map.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformMapRotation {}
```
### `TransformMapScaleComponent`
Carries transform map scale state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformMapScale`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline_map.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformMapScale {}
```
### `TransformMapTranslationComponent`
Carries transform map translation state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformMapTranslation`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline_map.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformMapTranslation {}
```
### `TransformMergeTRSComponent`
Carries transform merge t r s state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformMergeTRS`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformMergeTRS {}
```
### `TransformParentComponent`
Carries transform parent state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformParent`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_parent.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformParent {}
```
### `TransformSampleAncestorComponent`
Carries transform sample ancestor state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Transform and bounds systems; transform update/removal intents and `ParentChanged` are relevant.
**Directly constructible** as `TransformSampleAncestor`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_pipeline.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransformSampleAncestor {}
```
## Rendering and appearance
### `BackgroundColorComponent`
Carries background color state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `BackgroundColor`. Sources: [Rust implementation](../../../src/engine/ecs/component/background_color.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
BackgroundColor {}
```
### `BackgroundComponent`
Carries background state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Background`. Sources: [Rust implementation](../../../src/engine/ecs/component/background.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Background {}
```
### `BloomComponent`
Carries bloom state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Bloom`. Sources: [Rust implementation](../../../src/engine/ecs/component/bloom.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Bloom {}
```
### `BlurPassComponent`
Carries blur pass state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `BlurPass`. Sources: [Rust implementation](../../../src/engine/ecs/component/blur_pass.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
BlurPass {}
```
### `ColorComponent`
Carries color state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Color`. Sources: [Rust implementation](../../../src/engine/ecs/component/color.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Color {}
```
### `EmissiveComponent`
Carries emissive state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Emissive`. Sources: [Rust implementation](../../../src/engine/ecs/component/emissive.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Emissive {}
```
### `EmissivePassComponent`
Carries emissive pass state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `EmissivePass`. Sources: [Rust implementation](../../../src/engine/ecs/component/emissive_pass.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
EmissivePass {}
```
### `GLTFComponent`
Carries gltf state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `GLTF`. Sources: [Rust implementation](../../../src/engine/ecs/component/gltf.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
GLTF {}
```
### `MeshComponent`
Carries mesh state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Mesh`. Sources: [Rust implementation](../../../src/engine/ecs/component/mesh.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Mesh {}
```
### `MirrorComponent`
Carries mirror state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Mirror`. Sources: [Rust implementation](../../../src/engine/ecs/component/mirror.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Mirror {}
```
### `NormalVisualisationComponent`
Carries normal visualisation state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Normal Visualisation engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `NormalVis`. Sources: [Rust implementation](../../../src/engine/ecs/component/normal_visualisation.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
NormalVis {}
```
### `OpacityComponent`
Carries opacity state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Opacity`. Sources: [Rust implementation](../../../src/engine/ecs/component/opacity.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Opacity {}
```
### `OverlayComponent`
Carries overlay state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Overlay engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Overlay`. Sources: [Rust implementation](../../../src/engine/ecs/component/overlay.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Overlay {}
```
### `RenderGraphComponent`
Carries render graph state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `RenderGraph`. Sources: [Rust implementation](../../../src/engine/ecs/component/render_graph.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
RenderGraph {}
```
### `RenderableComponent`
Describes drawable geometry and material state consumed by the renderable system. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Renderable`. Sources: [Rust implementation](../../../src/engine/ecs/component/renderable.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Renderable.cube()
```
### `RendererSettingsComponent`
Carries renderer settings state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `RendererSettings`. Sources: [Rust implementation](../../../src/engine/ecs/component/renderer_settings.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
RendererSettings {}
```
### `RendererStatsComponent`
Carries renderer stats state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `RendererStats`. Sources: [Rust implementation](../../../src/engine/ecs/component/renderer_stats.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
RendererStats {}
```
### `SkinnedMeshComponent`
Carries skinned mesh state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `SkinnedMesh`. Sources: [Rust implementation](../../../src/engine/ecs/component/skinned_mesh.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SkinnedMesh {}
```
### `StencilClipComponent`
Carries stencil clip state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `StencilClip`. Sources: [Rust implementation](../../../src/engine/ecs/component/stencil_clip.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
StencilClip {}
```
### `TextureComponent`
Carries texture state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `Texture`. Sources: [Rust implementation](../../../src/engine/ecs/component/texture.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Texture {}
```
### `TextureFilteringComponent`
Carries texture filtering state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `TextureFiltering`. Sources: [Rust implementation](../../../src/engine/ecs/component/texture_filtering.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TextureFiltering {}
```
### `TransparentCutoutComponent`
Carries transparent cutout state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Transparent Cutout engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `TransparentCutout`. Sources: [Rust implementation](../../../src/engine/ecs/component/transparent_cutout.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TransparentCutout {}
```
### `UVComponent`
Carries u v state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `UV`. Sources: [Rust implementation](../../../src/engine/ecs/component/uv.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
UV {}
```
## Lighting
### `LightQuantizationComponent`
Carries light quantization state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `LightQuantization`. Sources: [Rust implementation](../../../src/engine/ecs/component/light_quantization.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
LightQuantization {}
```
## Input, interaction, and selection
### `GestureCoordTypeComponent`
Carries gesture coord type state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Raycast, pointer, and gesture systems; `RayIntersected`, `DragStart`, `DragMove`, `DragEnd`, and `Click` are relevant.
**Directly constructible** as `GestureCoordType`. Sources: [Rust implementation](../../../src/engine/ecs/component/gesture_coord_type.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
GestureCoordType {}
```
### `InputComponent`
Carries input state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Input engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Input`. Sources: [Rust implementation](../../../src/engine/ecs/component/input.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Input {}
```
### `InputTransformModeComponent`
Carries input transform mode state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Input Transform Mode engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `InputTransformMode`. Sources: [Rust implementation](../../../src/engine/ecs/component/input_transform_mode.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
InputTransformMode {}
```
### `InputXRComponent`
Carries input xr state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `InputXR`; `InputVR` is also accepted as a compatibility alias. Sources: [Rust implementation](../../../src/engine/ecs/component/input_xr.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
InputXR {}
```
### `InputXRGamepadComponent`
Carries input xr gamepad state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `InputXRGamepad`; compatibility aliases are `InputXrGamepad`, `InputVRGamepad`, and `InputVrGamepad`. Sources: [Rust implementation](../../../src/engine/ecs/component/input_xr_gamepad.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
InputXRGamepad {}
```
### `OptionComponent`
Carries option state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Option engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Option`. Sources: [Rust implementation](../../../src/engine/ecs/component/option.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Option {}
```
### `PointerComponent`
Carries pointer state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Raycast, pointer, and gesture systems; `RayIntersected`, `DragStart`, `DragMove`, `DragEnd`, and `Click` are relevant.
**Directly constructible** as `Pointer`. Sources: [Rust implementation](../../../src/engine/ecs/component/pointer.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Pointer.min_grab_distance(0.05) {}
```
Controller/hand pointers default to 0.05 m grab clearance. Desktop-camera and XR-head
pointers default to 0.75 m. `min_grab_distance` overrides that value per pointer.
### `GrabbableComponent`
`Grabbable`, `Grabbable.on()`, and `Grabbable.parent()` mark transforms for attachment-style
grabbing. XR grip and desktop left mouse temporarily reparent the resolved target beneath the
pointer-driving transform while preserving world pose; release restores the original parent.
```mms parse-only
T { Grabbable {} }
```
### `DraggableComponent`
`Draggable` retains planar translation behavior. XR trigger and desktop left mouse drag it;
`.parent()` targets the next parent transform and `.plane("object" | "camera")` or two authored
world axes constrain movement.
```mms parse-only
T { Draggable.plane("camera") {} }
```
### `RayCastComponent`
Carries ray cast state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Raycast, pointer, and gesture systems; `RayIntersected`, `DragStart`, `DragMove`, `DragEnd`, and `Click` are relevant.
**Directly constructible** as `Raycast`. Sources: [Rust implementation](../../../src/engine/ecs/component/raycast.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Raycast {}
```
### `RaycastableComponent`
Carries raycastable state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Raycast, pointer, and gesture systems; `RayIntersected`, `DragStart`, `DragMove`, `DragEnd`, and `Click` are relevant.
**Directly constructible** as `Raycastable`. Sources: [Rust implementation](../../../src/engine/ecs/component/raycastable.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Raycastable {}
```
### `RaycastableShapeComponent`
Carries raycastable shape state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Raycast, pointer, and gesture systems; `RayIntersected`, `DragStart`, `DragMove`, `DragEnd`, and `Click` are relevant.
**Directly constructible** as `RaycastableShape`. Sources: [Rust implementation](../../../src/engine/ecs/component/raycastable_shape.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
RaycastableShape {}
```
### `SelectableComponent`
Carries selectable state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Selection system; `SelectionChanged`, `SelectionAdded`, `SelectionRemoved`, and `SelectionCleared` are relevant.
**Directly constructible** as `Selectable`. Sources: [Rust implementation](../../../src/engine/ecs/component/selectable.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Selectable {}
```
### `SelectionComponent`
Carries selection state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Selection system; `SelectionChanged`, `SelectionAdded`, `SelectionRemoved`, and `SelectionCleared` are relevant.
**Directly constructible** as `Selection`. Sources: [Rust implementation](../../../src/engine/ecs/component/selection.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Selection {}
```
### `SelectionStyleStateComponent`
Internal selection-system state used to restore visual styles after deselection. Use it when a tree needs this state or behavior. Selection system; `SelectionChanged`, `SelectionAdded`, `SelectionRemoved`, and `SelectionCleared` are relevant.
**Engine-only.** Direct MMS construction is unavailable; constructing `Selection` is the closest public way to make the selection system create and use this state. Sources: [Rust implementation](../../../src/engine/ecs/system/selection_system.rs).
```mms parse-only
Selection {}
```
### `ToggleComponent`
Carries an independent boolean UI value. Clicking its styled owner flips the value, updates the standard active highlight, and emits `ToggleChanged`; `ToggleSet` synchronizes it programmatically.
**Directly constructible** as `Toggle.on()` or `Toggle.off()`. Sources: [Rust implementation](../../../src/engine/ecs/component/toggle.rs), [toggle system](../../../src/engine/ecs/system/toggle_system.rs), and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Toggle.on()
```
### `TextInputComponent`
Carries text input state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Text-input system; focus/edit intents and `TextInputFocusChanged`/`TextInputChanged` are relevant.
**Directly constructible** as `TextInput`. Sources: [Rust implementation](../../../src/engine/ecs/component/text_input.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TextInput {}
```
### `TextInputGlyphHitComponent`
Internal glyph hit target created by the text-input system for caret placement. Use it when a tree needs this state or behavior. Text-input system; focus/edit intents and `TextInputFocusChanged`/`TextInputChanged` are relevant.
**Engine-only.** Direct MMS construction is unavailable; constructing `TextInput` is the closest public way to make the text-input system create glyph hit targets. Sources: [Rust implementation](../../../src/engine/ecs/component/text_input.rs).
```mms parse-only
TextInput { "editable" }
```
## Cameras and XR
### `Camera2DComponent`
Carries camera2 d state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `Camera2D`. Sources: [Rust implementation](../../../src/engine/ecs/component/camera_2d.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Camera2D {}
```
### `Camera3DComponent`
Carries camera3 d state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `Camera3D`. Sources: [Rust implementation](../../../src/engine/ecs/component/camera_3d.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Camera3D {}
```
### `CameraXRComponent`
Carries camera xr state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `CameraXR`. Sources: [Rust implementation](../../../src/engine/ecs/component/camera_xr.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
CameraXR {}
```
### `ControllerXRComponent`
Carries controller xr state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Available through an alias.** Construct this Rust type as `XRHand`; compatibility aliases are `XrHand`, `VRHand`, and `VrHand`. Sources: [Rust implementation](../../../src/engine/ecs/component/controller_xr.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
XRHand.new(true, "Left", "Aim").laser()
```
`.laser()` adds one runtime-only, noninteractive cyan direction laser along local `-Z`.
`.laser_from_avatar_finger(root, middle, tip)` instead aligns the ray and visual to an avatar finger beneath AVC's corrected hand target, with controller-space fallback when binding fails.
### `XrComponent`
Carries xr state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Camera/XR systems; registration intents and XR button/axis events are relevant.
**Directly constructible** as `XR`. Sources: [Rust implementation](../../../src/engine/ecs/component/xr.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
XR {}
```
## Physics and motion
### `CollisionComponent`
Carries collision state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Collision systems; registration/removal intents plus `CollisionStarted` and `CollisionEnded` are relevant.
**Directly constructible** as `Collision`. Sources: [Rust implementation](../../../src/engine/ecs/component/collision.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Collision {}
```
### `CollisionResponseComponent`
Carries collision response state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Collision systems; registration/removal intents plus `CollisionStarted` and `CollisionEnded` are relevant.
**Directly constructible** as `CollisionResponse`. Sources: [Rust implementation](../../../src/engine/ecs/component/collision_response.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
CollisionResponse {}
```
### `CollisionShapeComponent`
Carries collision shape state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Collision systems; registration/removal intents plus `CollisionStarted` and `CollisionEnded` are relevant.
**Directly constructible** as `CollisionShape`. Sources: [Rust implementation](../../../src/engine/ecs/component/collision_shape.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
CollisionShape {}
```
### `GravityComponent`
Carries gravity state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Gravity engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Gravity`. Sources: [Rust implementation](../../../src/engine/ecs/component/gravity.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Gravity {}
```
### `SecondaryMotionComponent`
Carries secondary motion state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Secondary Motion engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `SecondaryMotion`. Sources: [Rust implementation](../../../src/engine/ecs/component/secondary_motion.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SecondaryMotion {}
```
### `SpringBoneComponent`
Carries spring bone state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `SpringBone`. Sources: [Rust implementation](../../../src/engine/ecs/component/secondary_motion.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SpringBone.from_root("[name='tail']").virtual_end_length_ratio(1.0)
```
### `SpringCollidersComponent`
Groups explicitly authored spring collider configurations within a glTF instance.
**Directly constructible** as `SpringColliders`. Sources: [Rust implementation](../../../src/engine/ecs/component/secondary_motion.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SpringColliders {}
```
### `SpringColliderComponent`
Defines one or more spherical secondary-motion colliders at explicit glTF node targets.
**Directly constructible** as `SpringCollider`. Sources: [Rust implementation](../../../src/engine/ecs/component/secondary_motion.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SpringCollider.sphere("[name='J_Bip_C_Hips']", 0.11)
```
### `SpringJointComponent`
Carries spring joint state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Spring Joint engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `SpringJoint`. Sources: [Rust implementation](../../../src/engine/ecs/component/secondary_motion.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SpringJoint {}
```
## Layout, text, and HTML
### `HtmlElementComponent`
Carries html element state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Html Element engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `HtmlElement`. Sources: [Rust implementation](../../../src/engine/ecs/component/html_element.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
HtmlElement {}
```
### `InspectLayoutComponent`
Carries inspect layout state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Layout/scrolling systems; layout registration, `LayoutRootSizeAvailable`, drag, and `Scrolling` signals are relevant.
**Directly constructible** as `InspectLayout`. Sources: [Rust implementation](../../../src/engine/ecs/component/inspect_layout.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
InspectLayout {}
```
### `LayoutBoundsComponent`
Carries layout bounds state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Layout/scrolling systems; layout registration, `LayoutRootSizeAvailable`, drag, and `Scrolling` signals are relevant.
**Directly constructible** as `LayoutBounds`. Sources: [Rust implementation](../../../src/engine/ecs/component/layout_bounds.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
LayoutBounds {}
```
### `LayoutComponent`
Marks a subtree as a layout root and supplies its available dimensions to the layout system. Use it when a tree needs this state or behavior. Layout/scrolling systems; layout registration, `LayoutRootSizeAvailable`, drag, and `Scrolling` signals are relevant.
**Directly constructible** as `LayoutRoot`. Sources: [Rust implementation](../../../src/engine/ecs/component/layout.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
LayoutRoot {}
```
### `ScrollingComponent`
Carries scrolling state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Layout/scrolling systems; layout registration, `LayoutRootSizeAvailable`, drag, and `Scrolling` signals are relevant.
**Directly constructible** as `Scrolling`. Sources: [Rust implementation](../../../src/engine/ecs/component/scrolling.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Scrolling {}
```
### `StyleComponent`
Carries style state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Layout/scrolling systems; layout registration, `LayoutRootSizeAvailable`, drag, and `Scrolling` signals are relevant.
**Directly constructible** as `Style`. Sources: [Rust implementation](../../../src/engine/ecs/component/style.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Style {}
```
### `TextComponent`
Carries text state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Text engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Text`. Sources: [Rust implementation](../../../src/engine/ecs/component/text.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Text {}
```
### `TextShadowComponent`
Carries text shadow state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Text Shadow engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `TextShadow`. Sources: [Rust implementation](../../../src/engine/ecs/component/text_shadow.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
TextShadow {}
```
## Audio and music
### `AudioBandPassFilterComponent`
Carries audio band pass filter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_band_pass_filter.rs).
```mms parse-only
AudioOutput {}
```
### `AudioBufferSizeComponent`
Carries audio buffer size state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_buffer_size.rs).
```mms parse-only
AudioOutput {}
```
### `AudioClipComponent`
Carries audio clip state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Directly constructible** as `AudioClip`. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_clip.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AudioClip {}
```
### `AudioGainComponent`
Carries audio gain state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_gain.rs).
```mms parse-only
AudioOutput {}
```
### `AudioHighPassFilterComponent`
Carries audio high pass filter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_high_pass_filter.rs).
```mms parse-only
AudioOutput {}
```
### `AudioLimiterComponent`
Carries audio limiter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_limiter.rs).
```mms parse-only
AudioOutput {}
```
### `AudioLowPassFilterComponent`
Carries audio low pass filter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_low_pass_filter.rs).
```mms parse-only
AudioOutput {}
```
### `AudioMixComponent`
Carries audio mix state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Engine-only.** Direct MMS construction is unavailable; `AudioOutput` is the closest public audio-graph component. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_mix.rs).
```mms parse-only
AudioOutput {}
```
### `AudioOscillatorComponent`
Carries audio oscillator state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Directly constructible** as `AudioOscillator`. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_oscillator.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AudioOscillator {}
```
### `AudioOutputComponent`
Carries audio output state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Directly constructible** as `AudioOutput`. Sources: [Rust implementation](../../../src/engine/ecs/component/audio_output.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AudioOutput {}
```
### `ClockComponent`
Carries clock state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Directly constructible** as `Clock`. Sources: [Rust implementation](../../../src/engine/ecs/component/clock.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Clock {}
```
### `MusicNoteComponent`
Carries music note state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Audio and clock systems; audio graph, scheduling, playback, and clock registration intents are relevant.
**Directly constructible** as `MusicNote`. Sources: [Rust implementation](../../../src/engine/ecs/component/music_note.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
MusicNote.a(4, 1)
```
## Signals, data, networking, and lifecycle
### `AssetPayloadComponent`
Carries asset payload state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Asset Payload engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `AssetPayload`. Sources: [Rust implementation](../../../src/engine/ecs/component/asset_payload.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AssetPayload {}
```
### `DataComponent`
Carries data state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Data engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Data`. Sources: [Rust implementation](../../../src/engine/ecs/component/data.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Data {}
```
### `HttpClientComponent`
Carries http client state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. HTTP client/server systems; request/reply intents and `HttpRequest`, `HttpResponse`, and `HttpError` are relevant.
**Directly constructible** as `HttpClient`. Sources: [Rust implementation](../../../src/engine/ecs/component/http_client.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
HttpClient {}
```
### `HttpServerComponent`
Carries http server state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. HTTP client/server systems; request/reply intents and `HttpRequest`, `HttpResponse`, and `HttpError` are relevant.
**Directly constructible** as `HttpServer`. Sources: [Rust implementation](../../../src/engine/ecs/component/http_server.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
HttpServer {}
```
### `RouterComponent`
Routes selected signals between scopes according to configured routing rules. Use it when a tree needs this state or behavior. RX/pipeline systems; registration intents and routed events are the important signals.
**Directly constructible** as `Router`. Sources: [Rust implementation](../../../src/engine/ecs/component/router.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Router {}
```
### `SerializeComponent`
Carries serialize state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Serialize engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Serialize`. Sources: [Rust implementation](../../../src/engine/ecs/component/serialize.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Serialize {}
```
### `SignalObserverRouterComponent`
Filters named data events before they reach observers in a routed subtree. Use it when a tree needs this state or behavior. RX/pipeline systems; registration intents and routed events are the important signals.
**Directly constructible** as `ObserverRouter`. Sources: [Rust implementation](../../../src/engine/ecs/component/signal_observer_router.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
ObserverRouter {}
```
### `SignalRouteUpwardComponent`
Projects a named event from one scope upward under another name. Use it when a tree needs this state or behavior. RX/pipeline systems; registration intents and routed events are the important signals.
**Directly constructible** as `SignalRouteUpward`. Sources: [Rust implementation](../../../src/engine/ecs/component/signal_route_upward.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SignalRouteUpward {}
```
## Animation, rigging, and poses
### `AnimationComponent`
Carries animation state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Animation engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Animation`. Sources: [Rust implementation](../../../src/engine/ecs/component/animation.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Animation {}
```
### `AvatarBodyYawComponent`
Carries avatar body yaw state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `AvatarBodyYaw`. Sources: [Rust implementation](../../../src/engine/ecs/component/avatar_body_yaw.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AvatarBodyYaw {}
```
### `AvatarControlComponent`
Carries avatar control state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `AvatarControl`. Sources: [Rust implementation](../../../src/engine/ecs/component/avatar_control.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AvatarControl {}
```
### `BoneRestPoseComponent`
Stores an imported bone rest pose used by skinning and pose systems. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Engine-only.** Direct MMS construction is unavailable; loading `GLTF` is the public path that indirectly creates imported bone rest-pose components. Sources: [Rust implementation](../../../src/engine/ecs/component/bone_rest_pose.rs).
```mms parse-only
GLTF.uri("model.glb")
```
### `IKChainComponent`
Carries ik chain state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `IKChain`. Sources: [Rust implementation](../../../src/engine/ecs/component/ik_chain.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
IKChain {}
```
### `KeyframeComponent`
Carries keyframe state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Keyframe engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Keyframe`. Sources: [Rust implementation](../../../src/engine/ecs/component/keyframe.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Keyframe.at(0)
```
### `PoseCaptureComponent`
Carries pose capture state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `PoseCapture`. Sources: [Rust implementation](../../../src/engine/ecs/component/pose_capture.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
PoseCapture {}
```
### `PoseCaptureLibraryComponent`
Carries pose capture library state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `PoseCaptureLibrary`. Sources: [Rust implementation](../../../src/engine/ecs/component/pose_capture.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
PoseCaptureLibrary {}
```
### `PoseCapturePoseComponent`
Carries pose capture pose state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. glTF, animation, avatar, IK, or pose systems; lifecycle intents and `GltfInitialized` are relevant.
**Directly constructible** as `PoseCapturePose`. Sources: [Rust implementation](../../../src/engine/ecs/component/pose_capture.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
PoseCapturePose.new("idle")
```
### `QuatExtractYawComponent`
Extracts yaw from an upstream quaternion in the transform pipeline. Use it when a tree needs this state or behavior. The Quat Extract Yaw engine subsystem; its component lifecycle is processed at signal drain points.
**Engine-only.** Direct MMS construction is unavailable; `QuatYawFollow` is the closest public quaternion/yaw pipeline component. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_temporal_filter.rs).
```mms parse-only
QuatYawFollow {}
```
### `QuatTemporalFilterComponent`
Carries quat temporal filter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Quat Temporal Filter engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `QuatTemporalFilter`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_temporal_filter.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
QuatTemporalFilter {}
```
### `QuatYawFollowComponent`
Carries quat yaw follow state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Quat Yaw Follow engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `QuatYawFollow`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_temporal_filter.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
QuatYawFollow {}
```
### `Vector3TemporalFilterComponent`
Carries vector3 temporal filter state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Vector3 Temporal Filter engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Vector3TemporalFilter`. Sources: [Rust implementation](../../../src/engine/ecs/component/transform_temporal_filter.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Vector3TemporalFilter {}
```
## Editor and gizmos
### `EditorComponent`
Carries editor state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Editor engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Editor`. Sources: [Rust implementation](../../../src/engine/ecs/component/editor.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Editor {}
```
### `EditorUIComponent`
Owns the shared editor workspace and its canonically ordered typed panel specifications. `EditorUI {}` enables every panel with default configuration.
**Directly constructible** as `EditorUI`. Sources: [Rust implementation](../../../src/engine/ecs/component/editor_ui.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
EditorUI { panels([{ panel = "settings" config = {} }]) }
```
### `GridComponent`
Carries grid state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Grid engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Grid`. Sources: [Rust implementation](../../../src/engine/ecs/component/grid.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Grid {}
```
## Other engine components
### `AmbientLightComponent`
Carries ambient light state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `AmbientLight`. Sources: [Rust implementation](../../../src/engine/ecs/component/ambient_light.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
AmbientLight {}
```
### `DirectionalLightComponent`
Carries directional light state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `DirectionalLight`. Sources: [Rust implementation](../../../src/engine/ecs/component/directional_light.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
DirectionalLight {}
```
### `PointLightComponent`
Carries point light state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `PointLight`. Sources: [Rust implementation](../../../src/engine/ecs/component/point_light.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
PointLight {}
```
### `SpotLightComponent`
Carries spot light state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. Rendering systems; lifecycle registration/removal intents connect it to visual state.
**Directly constructible** as `SpotLight`. Sources: [Rust implementation](../../../src/engine/ecs/component/spot_light.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
SpotLight {}
```
### `TransitionComponent`
Carries transition state used when that engine feature is present in a component tree. Use it when a tree needs this state or behavior. The Transition engine subsystem; its component lifecycle is processed at signal drain points.
**Directly constructible** as `Transition`. Sources: [Rust implementation](../../../src/engine/ecs/component/transition.rs) and [MMS registry](../../../src/scripting/component_registry.rs).
```mms parse-only
Transition {}
```