6. Understand the boundaries
luastra/motion · stable UI identity · about 15 minutesstate → render descriptor → host scheduler → final presentation
Motion remains an optional presentation layer over deterministic layout and semantic content.
When to use it
Read this before adding route entrances, feedback motion, or ambient effects.
- Supported channels are opacity, translateX, translateY, scaleX, scaleY, rotationDeg, and rotationYDeg.
- Use Motion.tween for one channel, Motion.sequence for ordered Tween/Wait steps, and a named preset when it already fits.
- Use Timer only when elapsed time must change application state; never use it to drive animation frames.
- Layout is calculated at the final position. Translation, scale, and rotation do not repair spacing or reserve new bounds.
- Avoid continuous motion by default. If it is useful, keep it sparse, stop it when inactive, and preserve the same meaning with motion reduced.