Architecture Overview
bevy_alight_motion is built on a data-driven architecture that maps Alight Motion's XML schema to Bevy's ECS.
Core Pipeline
- Loading: The
.amproj(a ZIP file) is decompressed. Thescene.xmlis parsed into a Rust schema. - Processing: Media assets (images, fonts) are registered with Bevy's
AssetServer. - Spawning: Layers are converted into Bevy entities. Parent-child relationships are established using
commands.spawn().set_parent(). - Animation: A dedicated system interpolates keyframes every frame and updates
Transformand material properties. - Rendering: Custom shaders handle specialized AM effects like Wipe, Stretch, and SDF shapes.