rustmotion 0.7.0

A CLI tool that renders motion design videos from JSON scenarios. No browser, no Node.js — just a single Rust binary.
Documentation
# Rule: Video Creation Wizard Best Practices

## Description
Guidelines for the assisted video creation wizard flow.

## Rules

1. **Never generate the entire video at once.** Build scene by scene, validating each one before moving to the next. This lets the user course-correct early.

2. **Always validate each scene individually** with `rustmotion validate` before presenting it to the user. Fix any errors before asking for feedback.

3. **Propose alternatives when the user isn't satisfied.** If a scene doesn't match expectations, suggest 2-3 concrete variations (different layout, animation style, or component choice) rather than asking "what would you prefer?".

4. **Use presets over custom keyframes.** rustmotion has 39+ built-in animation presets. Always prefer them for consistency and reliability. Only use custom keyframes when no preset fits.

5. **Adapt style to the brief answers.** The tone/style chosen in Phase 1 should influence every decision:
   - **Corporate** → subtle animations (fade_in, slide_in_up), neutral backgrounds, clean layouts
   - **Playful** → bouncy presets (bounce_in, scale_in with overshoot), bright colors, particles
   - **Minimal** → few elements per scene, lots of whitespace, char animations only
   - **Tech/Dark** → dark gradients, concentric_circles, glow effects, monospace fonts; use `$ref` templates with `transition` for smooth bg evolution
   - **Colorful** → multi-color gradients, confetti particles, varied icon colors; use `$ref` templates to keep consistent bg across scenes

6. **Suggest previews for complex scenes.** When a scene has overlapping elements, custom positioning, or intricate layouts, render a single frame with `--frame` so the user can verify placement before moving on.

7. **Name files meaningfully.** Use kebab-case derived from the video subject (e.g., `product-launch-intro.json`, not `video.json` or `output.json`).

8. **Keep the conversation flowing.** After each scene validation, briefly recap progress ("Scene 3/6 done, next: feature showcase") to maintain context.

## BAD: Dumping everything at once
```
Here's your complete 6-scene video JSON...
[500 lines of JSON]
```

## GOOD: Iterative construction
```
Let's start with Scene 1 (Intro). Here's the JSON:
[scene JSON]
✓ Validated successfully.
Want me to render a preview frame, or shall we move to Scene 2?
```