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
arrow / connector bounds (Geometry validator: a line's bounding box ignores x1/y1 #369): a fixed padding (half stroke + 16 + arrow_size) applies on every side even without arrowheads → false positives within ~30 px of an edge. curve and routing: "curved" are ignored → a curve leaving the frame passes validation (an arrow from (1700,100) to (200,100) with "curve":0.5 has its ink clipped at y=0 and validates).
Overflow hint names the wrong edge for left/top overflows ("current right edge is 402" for a left edge at −102); the generic div hint has the same fault.
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.
To do
arrow/connectorbounds (Geometry validator: a line's bounding box ignores x1/y1 #369): a fixed padding (half stroke + 16 +arrow_size) applies on every side even without arrowheads → false positives within ~30 px of an edge.curveandrouting: "curved"are ignored → a curve leaving the frame passes validation (anarrowfrom (1700,100) to (200,100) with"curve":0.5has its ink clipped at y=0 and validates).divhint has the same fault.gradient_textusesposition, backgrounds useoffset(rejected ongradient_text): unify or accept both.shape.filllinearkeeps the old angle convention (0 = left→right), inconsistent withgradient_textandbackground.validateprints durations with one decimal ("3.0s" for 2.95 s) (Duration accounting: info ignores transitions and at, and per-scene rounding adds a frame #372).Definition of done
mainis written first. For anything visual it is a render test (scenario → frame → pixel assertions); tests that buildAnimatedPropertiesby hand are not enough — that is exactly how the regressions listed here slipped through.rustmotion validate, render, image inspected.cargo fmt --all --check,cargo clippy --workspace --all-targets -- -D warnings,cargo test --workspacepass.crates/rustmotion/skills/SKILL.md, the relevantrules/file and the exported schema. A field the validator accepts must have an effect, otherwise the validator rejects it or warns.<type>: <verb> <message>. No AI attribution in commits, PRs or issue comments.