# Manim Stateflow Documentation

Manim Stateflow helps Manim objects update from state values and dependencies
without hand-written updater chains.

## Start Here

1. Install from the repository [README](../README.md).
2. Read the [Quickstart](quickstart.md) for the smallest complete runnable scene.
3. Browse the [example catalog](../README.md#all-examples).
4. Use the [Guide](guide.md) when you want the ideas explained in more depth.

## Documentation Map

- [Guide](guide.md): concepts, patterns, effects, and animation.
- [Reference](reference.md): API inventory and advanced helper notes.
- [Troubleshooting](troubleshooting.md): common mistakes, debugging, and runtime counters.
- [Contributing](contributing.md): tests, docs, and release checks.

## Core Pattern

```text
state -> lift -> d.Object / d.call -> mobject.d.<method>
```

Use `d.call(builder, *deps)` when you want a reactive object built by a custom function instead of a direct `d.Dot(...)`, `d.Line(...)`, or `d.Text(...)` constructor call.

Use `state.animate_to(...)` for named state animation, and use `state.animate.transform(...).using({...})` when named state updates should also drive explicit Manim transforms on target mobjects.
