Both paths give Produce a real media-making surface — a shared card spine and a right column that generates, auditions and picks each card's VO + illustration, plus the contact-sheet text-leak screen. They differ on one thing: whether media generation also stays in the Author editor, or moves out so Author is purely for shaping.
Author's editor is untouched: you still generate VO and illustrations right where you write the card. Produce adds its own MediaGen (VO + illustration) and ContactSheet on the right. Fast to ship and the authoring loop is undisturbed — but media generation now lives in two places, so "where do I regenerate this?" has two answers.
Author — shape the reel
Produce — make the media
Author becomes purely about structure: the card inspector is fields only (text · narration · roles · flags) beside Associated. All generation — VO + illustration, cover, the record action — moves to Produce's right column, joined by ContactSheet and a Spend & quota readout. One clean answer to "where do I make media", at the cost of a heavier change that touches the authoring loop you iterate in.
Author — shape only, no generation
Produce — the one home for media
| A · Additive | B · Full move | |
|---|---|---|
| Author right | Card editor with inline VO + illustration gen | Card inspector — fields only + Associated |
| Produce right | MediaGen (VO + illustration) · ContactSheet | MediaGen (VO + illustration + record) · ContactSheet · Spend & quota |
| Media gen lives | two places | one place |
| Authoring loop | untouched generate where you write | reworked hop to Produce to generate |
| Build size | small additive, no removals | large gut + rewire the editor |
| Responsibility | blurred two amber surfaces | clean shape vs make |
| Reconcile later? | yes a follow-up slice | no spec end-state now |
Both honour your Illustration + VO call for the Produce-right MediaGen. The real trade is DevEx vs. clarity: A keeps generation one keystroke from where you write (and defers the responsibility question); B commits to a clean shape → make split now, at the cost of a heavier change to the loop you iterate in. Either can be the first slice — B just carries more of the 0028 §3.2 decomposition in one push.