Skip to content

Chantier: close the seven-requirement capability gaps #123

Description

@LeadcodeDev

Context

A capability audit measured this engine against seven requirements for producing video in the register of two reference films (Machina by 1600.agency, Aikido). Four requirements were previously audited and implemented; they hold. Three were new, and two of them exposed the most serious obstacles found so far.

Evidence base: 450 fixtures, 526 rendered frames decoded and diffed at the pixel level, a measured typographic sweep, and a root-cause diagnosis proven by four falsifiable predictions verified in advance.

What holds. The hardest requirement — no perceptible scene boundaries — is objectively met: a standard shot-change detector finds zero cuts in the template, matching Machina (0) and Aikido (1). Camera work and the word-by-word reveal are sound.

What blocks. Every graphic element belongs in a card in this style, and 23 of 57 components render zero pixels inside one without an explicit height. The typographic register needs tight negative tracking, and the line-breaking pass ignores letter-spacing entirely. Background crossfades step by a full LSB across the frame at every junction.

Workstreams

Each is an independent PR off main with a disjoint file set, so they can land in any order.

  • W1 · Transitions — float crossfade, static hard cut, transitions never reaching their final state
  • W2 · Typographyletter-spacing ignored when breaking lines; relative units resolving to zero
  • W3 · Component sizing — the 23 components with no size source
  • W4 · Painters that leave their boxstat, badge, kbd, caption, timeline
  • W5 · Geometry validation — content checked only for text, never against its card, rotation ignored, announced duration wrong
  • W6 · PNG sequence ordering — frames permuted by a shared atomic
  • W7 · Documentation — the typography rule forbids the target register; the card rules are measurably backwards

Verification, applying to every workstream

cargo test --workspace && cargo clippy --workspace --all-targets
for f in examples/*.json; do ./target/release/rustmotion validate -f "$f"; done

Every visual claim must be proven by rendering and measuring pixels. A passing unit test is not evidence that something is visible on screen. Use ./target/release/rustmotion — never the binary on $PATH, which is months stale.

If a change makes an existing example fail, report it rather than weakening the check. That signal is wanted.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions