You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Text: letter_spacing on rich_text/gradient_text, animated tracking layout, static opacity vs animated opacity, caret after typed text #430
Static opacity: 0 cancels an opacity animation (Two animations on the same property compose multiplicatively, but the docs promise last-wins #322, closed by a docs-only PR): {"type":"div","style":{"width":100,"height":100,"background":"#FF0000","opacity":0,"animation":[{"name":"fade_in","duration":0.2}]}} stays invisible for the whole scene, with no warning (css.opacity = base * animated in css/animation.rs). The animation should override the static value, or validate should warn.
Caret after typed characters: document (and test) how to place an element right after the characters typed so far during a typewriter — node("id","width") gives the full box width, not the typed width.
A test that fails on current main is written first. For anything visual it is a render test (scenario → frame → pixel assertions); tests that build AnimatedProperties by hand are not enough — that is exactly how the regressions listed here slipped through.
Each item is verified end to end: scenario JSON, rustmotion validate, render, image inspected.
Vocabulary changes update crates/rustmotion/skills/SKILL.md, the relevant rules/ file and the exported schema. A field the validator accepts must have an effect, otherwise the validator rejects it or warns.
No comments in Rust code (repository rule). Commits follow <type>: <verb> <message>. No AI attribution in commits, PRs or issue comments.
Activity