Skip to content

char_* presets: rotate_from, scale/baseline jitter, reflow (undelivered parts of #363) #429

Description

@LeadcodeDev

Context

#363 was closed after fixing char_* on rich_text/gradient_text, but three requested capabilities were not delivered and are rejected as unknown fields. rules/char-animation-rich-and-gradient-text.md only notes them as absent.

To do

  • rotate_from (+ rotate_origin): each unit starts tilted and straightens while it settles (staircase word reveal).
  • scale_jitter / baseline_jitter with seed: deterministic per-unit size and baseline variation (letters born at different sizes, then aligning).
  • reflow / reflow_easing on char_* presets and typewriter: a centred line stays centred while it is being written, instead of growing from a fixed left edge.

Definition of done

  • 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.
  • cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace pass.
  • 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions