Annexe — Scénario 3 : « Tempo a filé » (webtoon, 12 cases)
Troisième scénario de démonstration de Broc. C'est un épisode de webtoon (format: toon), une
petite aventure dans un décor récurrent de la bible : La Cave du Bouquet (set-cave-bouquet),
avec un détour par La Rue de la Serre (set-rue-serre).
Statut. Ce document est un brouillon de travail, pas un fichier de récit. Il suit la bible
(sites/plans/pages/annexes/broc/bible.md), qui fait foi. Ce qui ne vient pas de l'image de
référence est marqué inferred (bible, préambule) : l'histoire, les répliques, Mila et Tempo.
Lieux, artistes et personnes sont fictifs ; le seul nom réel est « lebrocoli.fr » (bible §10, règle
5). Le jumeau JSON reste un brouillon jusqu'à P16 (schémas BibleSource et attributs de scène
communs, plan 14 D3 et D4). Broc n'a ni smoking, ni casquette, ni aucun vêtement ou accessoire
(bible §1 et §2.5).
1. Fiche
| Champ | Valeur |
|---|---|
| Titre | Tempo a filé (3 mots, Unbounded, bible §12) |
| Série | « Les soirées de Broc », épisode 3 |
| Objectif | montrer le format toon de bout en bout avec un personnage de bible : 12 cases, bulles en lettrage généré, poses de la planche, décors vérifiés, prompts en données |
| Objectif narratif | faire aimer la Cave du Bouquet et l'idée « le concert, ça se vit sur place », sans aucune info pratique inventée |
| Public | lecteurs de lebrocoli.fr sur mobile (15–40 ans, sorties, jazz), lecture au scroll en moins de 2 minutes ; tout public, sans prérequis musical |
| Format principal | toon (P7) : la lecture verticale au pouce est la forme naturelle d'une petite aventure en cases ; le lettrage est du texte, donc traduisible et accessible |
| Formats dérivés | motion 9:16 par le pont toon → motion (P7, W4) ; stories et deck réécrits à la main (pas de pont fermé depuis toon) ; book en recueil plus tard (§8) |
| Langues | fr (source), en (fichier de textes par id, §4.3). Les images sont partagées entre langues |
| Gabarit de beats | broc-sortie : hook → context → tension → payoff → call (bible §10) |
| Poses utilisées | les 9 lignes de codex-pet-v1, chacune au moins une fois (§3.2) |
| Durée de lecture | environ 75 s au scroll ; 58 s en vidéo 9:16 (§3) |
2. Pitch
Ce soir, à la Cave du Bouquet, le Trio Lorem attend le signal de Tempo, le petit métronome en bois qui donne toujours le départ du premier morceau. Un courant d'air, une porte entrouverte : Tempo a filé. Broc remonte la Rue de la Serre en suivant un tic-tac, se prend la couronne dans les guirlandes, et retrouve le fugueur planté devant une vitrine pleine de métronomes. Retour en courant, premier set lancé à temps, et un Broc qui, au fond de la salle, cache un peu la vue.
Ressorts de la bible : la couronne qui gêne (§3, ressort comique principal, toujours aux dépens de
Broc) ; Broc rebondit après failed (§9) ; Mila, contrepoint calme (§8) ; Tempo, muet, qui « parle
» par son balancier (§8).
3. Découpage case par case
Largeur de référence 800 px (plan 08 §2). Hauteurs : 1000 (4:5), 1200 (2:3) ou 1422 (9:16). La durée est celle du plan vidéo produit par le pont toon → motion (lecture au scroll : libre). La transition est la gouttière après la case en lecture web, et l'effet du plan en motion.
3.1 Tableau
| # | id | Beat | Décor, cadrage | Pose (codex-pet-v1) | Texte à l'écran (encart, sfx) | Réplique (bulle) | Voix off (:::notes, motion) | Haut. | Durée | Transition |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | c01 | hook | set-cave-bouquet, wide | waving | encart « La Cave du Bouquet, juste avant le concert. » | Broc : « Salut ! Ce soir, le Trio Lorem joue ici. Je t'ai gardé une place. » | Ce soir, à la Cave du Bouquet, tout est prêt. Ou presque. | 1422 | 5 s | gouttière 120 ; panoramique vers le bas |
| 2 | c02 | context | set-cave-bouquet, medium (piano) | review | — | Mila : « Tempo donne le départ. Comme toujours. » / Broc : « Il bat la mesure mieux que personne. » | Tempo, le métronome, lance toujours le premier morceau. | 1200 | 6 s | gouttière 60 (même lieu, même instant) |
| 3 | c03 | context | set-cave-bouquet, wide (porte) | idle | encart « Personne ne voit Tempo descendre du piano. » ; sfx « tic… tac… » | — | Un courant d'air. Une porte entrouverte. | 1200 | 5 s | gouttière 160 (ellipse) |
| 4 | c04 | tension | set-cave-bouquet, close (piano vide) | failed | — | Mila : « Où est Tempo ? » / Broc : « Oups. Le piano est vide. » | Le piano est vide. Sans Tempo, pas de premier morceau. | 1000 | 5 s | gouttière 40 ; coupe sèche |
| 5 | c05 | tension | set-cave-bouquet, stairs (escalier) | running-right | — | Broc : « Pas de panique, je le retrouve ! » | Broc ne panique pas. Il file. | 1000 | 4 s | gouttière 200 ; balayage vers la droite |
| 6 | c06 | tension | set-rue-serre, wide | waiting | sfx « tic » (petit, au loin) | Broc (pensée) : « Écoute… un tic-tac, quelque part. » | Dans la Rue de la Serre, il tend l'oreille. | 1422 | 6 s | gouttière 80 ; panoramique lent |
| 7 | c07 | tension | set-rue-serre, medium (guirlandes) | running | — | Broc : « Ma couronne s'accroche partout. Ça pousse un peu trop, là-haut. » | Il cherche partout. Sa couronne, elle, s'accroche partout. | 1200 | 5 s | gouttière 80 |
| 8 | c08 | tension | set-rue-serre, vitrine | review | encart « Tempo, bien planté devant la vitrine. » ; sfx « tic tac tic tac » | Broc : « Te voilà. Tu voulais voir la famille ? » | Le voilà, devant une vitrine pleine de métronomes. | 1200 | 6 s | gouttière 120 |
| 9 | c09 | tension | set-rue-serre, wide (retour) | running-left | — | Broc : « On rentre à la fraîche. Le trio t'attend. » | Retour en vitesse. Le trio attend toujours. | 1000 | 4 s | gouttière 200 ; balayage vers la gauche |
| 10 | c10 | payoff | set-cave-bouquet, medium (piano, scène) | jumping | sfx « TIC TAC » (grand) | Mila : « Pile à temps. » / Broc : « Et c'est parti pour le premier set ! » | Tempo reprend sa place. Le premier set commence. | 1422 | 6 s | gouttière 60 ; zoom léger |
| 11 | c11 | payoff | set-cave-bouquet, wide (salle, dos) | idle | — | Broc : « Désolé pour le rang de derrière. Je ne peux pas enlever ma tête. » | Au fond de la salle, Broc écoute. Et cache un peu la vue. | 1200 | 5 s | gouttière 120 |
| 12 | c12 | call | set-cave-bouquet, medium (sortie) | waving | encart « Les vraies soirées sont sur lebrocoli.fr. » | Broc : « Bonne soirée. Et garde la tête verte ! » | La suite de nos sorties, c'est sur lebrocoli.fr. | 1200 | 6 s | fin d'épisode ; crédits (mention IA, §9) |
Total vidéo : 5+6+5+5+4+6+5+6+4+6+5+6 = 63 s de plans, ramenés à environ 58 s par les fondus enchaînés de 0,4 s du pont (à mesurer sur la première sortie, pas promis).
3.2 Contrôles de cohérence avec la bible
- 9 poses sur 9 :
waving(1, 12),review(2, 8),idle(3, 11),failed(4),running-right(5),waiting(6),running(7),running-left(9),jumping(10). failedsuivi d'un rebond (bible §9) :faileden 4, puisjumpingen 10 etwavingen 12.failedetjumpingapparaissent une seule fois (§10, règle 7).runningn'est pas une course (§9) : en 7, Broc fouille (concentration), les courses sont en 5 et 9 (running-right,running-left).- Ouverture et fermeture par Broc en
waving(§10, règle 1). - Jeux de mots (§4) : « ça pousse » (7), « bien planté » (8, encart), « à la fraîche » (9), « garde la tête verte » (12). Un au plus par case, aucun répété. Aucun dans le titre.
- Répliques ≤ 140 caractères (§10, règle 3) : la plus longue (case 1) en fait 65.
- Un point d'exclamation au plus par réplique, pas d'émoji (§4).
- Aucune info pratique (date, heure, prix, adresse) : l'épisode est une fiction ; l'appel final renvoie à lebrocoli.fr sans rien promettre (§6, §10 règle 2).
- Rien de §6 : pas d'alcool (la Cave est un club de jazz, on n'y montre ni verre ni bar), Broc n'est pas un aliment, aucune moquerie (Tempo n'est pas grondé).
- Interdits visuels (§2.5) : Broc ne tient rien. Tempo n'est jamais dans ses mains : il saute à côté de lui (cases 9 et 10). La vitrine (case 8) montre des métronomes dans le décor.
- Personnages secondaires (§8) : jamais plus de deux avec Broc à l'image (Mila et Tempo en 2, 4
et 10) ; le Trio Lorem et le public sont des silhouettes floues (
public).
4. Source Markdown Récit complète
Emplacement proposé : examples/scenario-lebrocoli/toon/tempo-a-file.md (non créé : ce plan n'écrit
que dans sites/plans/pages/). C'est une source de récit : jamais passée par oxfmt (bible §10,
règle 11).
Choix de syntaxe, tous tirés des plans :
- frontmatter à plat (plan 08, préambule) :
width,gutter,font;cast:en liste (plan 14 D4 : « ou de plusieurs : liste ») ; - séparateurs
--- id=… clé=valeur(plan 02 §3) avec les attributs communsbeat=,cast=,set=,shot=,pose=,prompt=(plan 14 D4) et les attributs de casealt=,height=,gutter=(plan 08 §2). Pas desrc=:prompt=donne l'image de la case (l'asset enregistré pour ce prompt, sinon une image de remplacement, plan 14 D7). Pas detype=: il est réservé aux blocs motion (plan 02 §3), le pont toon → motion choisit le plan lui-même ; :::bubble,:::caption,:::sfxdu spec toon (plan 08 §2) ;:::dialogueest « plus tard » (plan 14 D6), donc les répliques sont des bulles positionnées ;:::notesporte la voix off : non publiée dans le lecteur toon (notes d'auteur), elle devient la voix off ou le sous-titre du plan dans le pont vers motion (plan 02 §4).
4.1 tempo-a-file.md
Markdown
4.2 Bible complémentaire : tempo-a-file.cast.md
Personnages secondaires, cadrages des deux décors, gabarit de beats et prompts de l'épisode. Les
décors eux-mêmes (set-cave-bouquet, set-rue-serre) sont supposés dans la bible partagée
cast/lieux.md ; leurs entrées sont reprises en §6.1 pour le cas où elle n'existe pas encore. Les
id de cadrage (wide, medium, close, stairs, vitrine) sont à ajouter en ::shot à
ces entrées (§6.1). Syntaxe : plan 14 D2.
Markdown
4.3 Traduction : tempo-a-file.en.md (extrait)
Le fichier de langue ne contient que les textes par id de case (plan 08 §2, « traductions ») :
alt, encarts, bulles, sfx, notes. Images et prompts partagés (bible §10, règle 9). Les jeux de
mots s'adaptent au lieu de se traduire mot à mot (au plus un par case).
Markdown
5. Jumeau JSON typé
Brouillon jusqu'à P16. Forme StorySource (plan 09 §2.2) avec les champs toon (plan 09 §2.3)
; les attributs communs de la bible restent dans attrs (plan 14 D4). Deux champs ne sont pas
encore fixés par les schémas : cast (le chemin des bibles, posé ici à la racine) et l'absence de
src quand prompt le remplace. Les deux sont tranchés en P16 (IA1) ; ce brouillon ne les anticipe
pas autrement. Équivalence visée : compile(md) == compile(toJson(md)) (plan 09 §2.4).
JSON
Remarques sur ce brouillon :
xetysont gardés en chaînes"58%", comme dans le Markdown ; le schéma P7 peut préférer un nombre (0–100). À trancher en W1, avec la propriété d'aller-retour.sfx[]reprendx,y,rotateet untext: le plan 09 §2.3 citesfx[]sans en donner la forme. Brouillon.- Le compagnon anglais est un
Sidecar(kind: "sidecar", plan 09 §2.2) dontscenesest indexé parid(c01…c12) et ne contient quealt,captions,bubbles[].text,sfx[].text,notes.
6. Prompts d'images (données, sans fournisseur imposé)
Les prompts sont dérivés de la bible par le gabarit déterministe du plan 14 D7 : identité du
style, identité du personnage (mot pour mot, bible §11.1), décor, cadrage, pose, action, puis
avoid. Langue : anglais (promptLang: en). Récit ne génère rien : recit prompts build écrit les
.txt, l'auteur génère ailleurs en passant toujours reference.png (et la planche
spritesheet.webp comme référence de pose quand l'outil l'accepte), puis
recit assets register <image> --prompt p-t3-cNN écrit la provenance (kind: "asset").
Aucune nouvelle pose de Broc : les 9 lignes de codex-pet-v1 suffisent. Nouveaux éléments
visuels : deux décors à fixer par une image de référence (ils existent dans la bible §7 mais n'ont
ni :::identity ni image), deux personnages secondaires et cinq cadrages.
6.1 Décors (entrées entry=set, à placer dans cast/lieux.md)
Markdown
Palettes des décors : proposées (inferred de fait, à valider), choisies pour que l'ambre et
l'indigo ne teintent jamais le vert de Broc (bible §7).
6.2 Images de référence des décors (vides, sans personnage)
Code
Code
Ces deux images s'enregistrent comme ::reference{src=… role=set} des entrées de décor (plan 14 D2)
et se passent en référence avec reference.png pour chaque case.
6.3 Références des personnages secondaires
Code
Code
6.4 Prompt dérivé d'une case (exemple complet : p-t3-c07)
Ce que produira recit prompts build pour la case 7. Les autres cases suivent le même gabarit avec
l'action du §4.2.
Code
Points propres à cet épisode :
- La guirlande dans la couronne (case 7) est un élément du décor accroché à Broc, pas un accessoire porté : l'action le dit explicitement, et la relecture vérifie qu'aucune autre décoration n'a été ajoutée. Si l'outil en fait un « collier » ou une « couronne lumineuse », regénérer : c'est un interdit de la bible §2.5.
- Tempo jamais tenu (cases 8 à 10) : chaque action le place « à côté », et
avoidde Tempo contient « being held ». - Place pour les bulles : chaque prompt de case réserve une zone calme en haut de l'image (le lettrage est généré par le format, jamais dans l'image).
- Niveau 0, sans IA : sans asset enregistré, chaque
prompt=rend une image de remplacement (cadre neutre, nom du personnage, du décor etiddu prompt, plan 14 D7). L'épisode est donc lisible et testable avant toute génération.
6.5 Variante économe (proposition, non prévue par les plans)
Au lieu de 12 images générées, deux plaques de décor (§6.2) par cadrage et la case de la planche
posée dessus par ::sprite{character=broc pose=…} (plan 11 D9, SpriteImage statique). Avantage :
Broc est exactement celui de la planche validée, sans dérive d'identité. Limites : une case de
192×208 agrandie sera floue en 800 px de large (plan 11 D9), et le spec toon (plan 08 §2) ne
prévoit pas de bloc dans une case. À n'envisager qu'après les goldens de P7 ; ce scénario ne s'en
sert pas.
7. Durées et rythme
- Lecture au scroll : le rythme vient des gouttières (plan 08 §2,
gutter). Petites (40 à 60) entre deux cases du même instant, grandes (160 à 200) pour une ellipse ou un changement de lieu (après 3, 5 et 9). - Vidéo : les durées du tableau §3.1 (4 à 6 s) sont des propositions pour le pont toon → motion,
calées sur environ 2,5 mots par seconde de bulle plus 2 s de regard sur l'image. Le pont n'a pas
encore d'attribut de durée par case : à porter par
hold=oudur=(attributs motion, plan 05) si W4 les accepte sur une case, sinon par la règle par défaut du pont.
8. Déclinaison dans les autres formats
| Format | A du sens ? | Comment |
|---|---|---|
toon | oui, source | ce document. Lecteur web, tranches 800 px (W3), PDF (PDF2) |
motion | oui | recit render tempo-a-file.md --as motion --aspect 9:16 (pont toon → motion, plan 08 §0, W4) : une case = un plan 9:16 avec panoramique vertical, bulles en apparition, :::notes en voix off ou sous-titre. Les images 1422 de haut (cases 1, 6, 10) ont le panoramique le plus long. Durées : §3.1 |
stories | oui, réécrit | pas de pont toon → stories (seul stories → toon existe, plan 14 D6). Version courte de 5 cartes réécrite à la main avec les mêmes prompt= : c01 (hook, waving), c04 (tension, failed), c08 (review), c10 (payoff, jumping), c12 (call, waving, ::cta vers lebrocoli.fr). Respecte la règle des 3 à 7 scènes (bible §10, règle 1) |
deck | peu | pas de pont depuis toon. Seul usage utile : un « making-of » par le pont bible → deck (plan 14 D6, plus tard) : une slide par entrée (Broc, Mila, Tempo, les deux décors), plus une slide « de la bible à la case » qui montre le prompt p-t3-c07 et son image |
book | plus tard | pas de pont toon → book. Quand plusieurs épisodes existeront : un recueil où chaque épisode est un chapitre avec ses cases en figures[] (légende = alt), et l'annexe back: [cast] (« Dramatis personae ») tirée de la bible (pont bible → book) |
docs | oui | page docs.recit.dev › Formats › Webtoon, avec l'épisode en <StoryEmbed format="toon" /> et les fiches de Broc, Mila et Tempo (CharacterSheet, plan 14 D6) |
9. Points d'attention
9.1 Accessibilité
altobligatoire sur chaque case (plan 09 §2.3, exigé par le PDF balisé). Les 12altdécrivent l'image (qui, où, quel geste), jamais le texte des bulles, qui est déjà du texte HTML lisible par un lecteur d'écran. Ils sont traduits danstempo-a-file.en.md.- Ordre de lecture : dans chaque case, l'ordre du Markdown est l'ordre de lecture (encart, puis
bulles de gauche à droite et de haut en bas, puis sfx). Les sfx sont décoratifs : à exposer avec
aria-hiddensauf s'ils portent l'histoire (case 3 : « tic… tac… » porte l'indice ; à garder lisible). - Qui parle : sans
:::dialogue, le locuteur n'est donné que par la queue de bulle, invisible pour un lecteur d'écran. À prévoir en W1 : un nom de locuteur dans le texte accessible de la bulle (aria-label), ou un attributcast=sur:::bubble. Question ouverte, voir §10. - Mouvement : apparition des bulles au scroll désactivée sous
prefers-reduced-motion; en motion, panoramiques doux, aucun flash. - Contraste : bulles blanches à texte noir en Lexend, encarts sur fond crème
#f2eee5, jamais de texte posé directement sur l'image sombre de la rue.
9.2 Mention IA et provenance
- Chaque image de case générée a son fichier de provenance (
p-t3-cNN.webp.json,kind: "asset",origin: "ai",aiGenerated: true,references: ["cast/broc/reference.png", <plaque du décor>], plan 14 D3 et D7). - La mention « généré par IA » apparaît dans les crédits de fin d'épisode et dans les
métadonnées publiées (plan 14 §5.1 ;
scenario.aiLabel: credits, valeur à aligner sur ce défaut). Elle n'est pas écrite dans le Markdown de l'épisode : elle vient de la provenance. - Publication bloquée tant que l'auteur et la licence de
reference.pngmanquent (bible §1, §14). Un build--strictrefuse aussi les traitsinferred(Mila, Tempo, voix) et toute image de remplacement restante.
9.3 Cohérence et relecture
- Relire chaque case générée contre la bible §2.5 : pas de vêtement, pas de casquette, pas de smoking, pas d'objet tenu, couronne intacte, verts inchangés par l'éclairage ambre ou indigo.
- Mila et Tempo doivent rester moins détaillés que Broc (bible §8).
- La vitrine de la case 8 ne doit montrer ni enseigne lisible ni marque.
10. Questions ouvertes (à reporter aux plans propriétaires)
- Longueur. La bible §10 (règle 1) dit « 3 à 7 scènes » par récit ; un épisode de webtoon en
demande 8 à 12. Proposition : la règle vaut pour
storiesetmotioncourts, et letoona sa propre fourchette (8 à 15 cases). À trancher dans la bible. - Plusieurs personnages par scène.
cast=(plan 14 D4) ne nomme qu'un personnage ; Mila et Tempo ne sont ici que dans l'action des prompts. Proposition :cast="broc mila"(liste séparée par des espaces), vérifiée au build. À trancher en IA1. - Locuteur d'une bulle.
:::bubblen'a pas d'attribut de personnage (plan 08 §2). Lien avec:::dialogue(plan 14 D6, « plus tard ») et l'accessibilité (§9.1). cast:etsrcdans le JSON (§5) : champ racine ousettings;srcfacultatif quandprompt=est présent.- Attribut de
:::dialogue: la bible §10 écrit:::dialogue{who=broc}, le plan 14 D4 écrit:::dialogue{cast mood}. Ce scénario n'en utilise pas ; à aligner surcast=dans la bible. - Gabarit
broc-sortie: la bible §10 cite cinq beats, le plan 14 ne livre quethree-actethook-tension-payoff. Le gabarit est déclaré ici enentry=beats(§4.2) ; à déplacer dans la bible partagée descenario-lebrocoli.