# Changelog

All notable changes to Manim Stateflow will be documented here.

## 0.1.0a1 - Early Alpha

This is the first community-feedback release.

### Added

- `ReactiveScene` and `ReactiveThreeDScene`.
- `self.state(...)` as the primary scene state API.
- `lift(...)` for derived reactive values.
- Automatic `d.<ManimMobject>(...)` constructors for Manim `Mobject` subclasses.
- Reactive helper constructors: `d.Graph(...)`, `d.Surface(...)`, and `d.Trace(...)`.
- Generic method effects with `mobject.d.<method>(...)`, such as `label.d.next_to(...)`.
- Custom dependency effects with `mobject.d.apply(...)`.
- Lifecycle-managed frame effects with `mobject.d.on_frame(...)`.
- Effect suspension with `mobject.d.pause()`, `mobject.d.resume(...)`, and `self.suspend_reactive(...)`.
- Dependency inspection with `runtime_snapshot(...)` and `d.DependencyGraph(...)`.
- Generated editor hover stubs for common `d.<ManimClass>` constructors.
- Commented tutorial scenes in `examples/`.

### Design Boundary

Manim Stateflow decides when Manim constructors, methods, and managed frame
effects should run. Manim still owns geometry, layout, interpolation, rendering,
and normal `self.play(...)` choreography.

### Known Alpha Gaps

- Effect priorities are not implemented.
- Advanced layout/bounds signals are not implemented.
- Documentation is Markdown-first; there is no full docs site yet.
- API stability is not guaranteed before feedback from real scenes.
