Coupe de Courbe — le catalogue des techniques
Cinq techniques SEAM, un principe : couper au pic de vélocité, faire correspondre la direction et la vitesse des deux côtés de la coupe — plus les deux techniques intra-scène (§6 arrivées, §7 glissements).
La LOI de couture — loi vectorielle, le courant, le grand livre, la Porte de Couture — réside dans motion-doctrine ; lisez-la d'abord. Cette compétence concerne les paramètres et la mécanique.
Tous les modèles de code GSAP (worker + registre) : examples/gsap-implementation.md.
Catalogue
| # | Technique | Portée | Axe | Utilisation pour |
|---|---|---|---|---|
| 1 | Zoom-Through (avant) | Échange de texte intra-scène | Z, vers le spectateur | progresser plus profondément dans la même pensée |
| 2 | Zoom-Through Inverse | Temps d'arrivée / de récompense | Z, loin du spectateur | quelque chose de plus grand atterrit |
| 3 | Coupe de Courbe | Entre les scènes | X / Y | la frontière par défaut, le courant du film |
| 4 | Coupe en Cascade | Couture texte-à-texte | X, par mot | transmission au niveau du mot entre les grands temps textuels |
| 5 | Flou de Mise au Point - Coupe | Changement d'état sur la même surface | X / Y / Z | la coupe que vous voulez VOIR — un ornement de tirage de mise au point DSLR |
| 6 | Entrée en Cascade | ARRIVÉE intra-scène (pas de couture) | Y, d'en bas | cartes-titres, ouvreurs de segments, introductions de listes |
| 7 | Courbe de Poussée | Glissement de groupe intra-scène (pas de couture) | X / Y | repositionner un groupe composé pour faire de la place |
La direction Z est un signe
"Même axe" ne suffit pas sur Z — le signe de d(échelle)/dt doit correspondre à travers la coupe :
| Vecteur Z | Échelle de sortie | Échelle d'entrée | Variante |
|---|---|---|---|
| Poussée (avant) | croissante 1 → 1,2 | croissante 0,75 → 1 | zoom-through |
| Tirage (arrière) | décroissante 1 → 0,8 | décroissante 1,25 → 1 | zoom-through inverse |
Miroirs interdits : une sortie qui recule répondue par une entrée qui grandit depuis petit (le tirage se transforme en poussée — le plus courant, puisque grandir depuis petit est l'entrée d'élément par défaut), et une sortie par poussée répondue par une rétraction surdimensionnée. Cela lie les PROPRES entrées de la scène entrante pendant la fenêtre de couture (coupe + ~0,5s), pas seulement le tween wrapper : maintenez le cadre entrant composé, ou écrivez son entrée pour correspondre au signe. Vérifiez selon la règle 7 de la Porte de Couture.
Logique de flou (toutes les variantes Z)
| Sujet | Flou de crête | Pourquoi |
|---|---|---|
| Échelle de texte (titre, groupe de mots) | 10px | 20px brouille les formes de lettres — la coupe se lit comme un glitch, pas de la vitesse |
| Surface plein cadre (fenêtre, carte, capture d'écran) | 18–20px | un flou plus léger sur une grande surface se lit comme un hoquet de rendu |
Même flou de crête des deux côtés à l'image d'échange. Floutez le WRAPPER, jamais les enfants.
1. Zoom-Through (avant)
Coupe appariée en vélocité sur l'axe Z ; jamais les deux textes visibles. Tout CROÎT : le texte sortant accélère vers la caméra, un échange dur se cache au pic de flou, le texte entrant continue de grandir dans le plan focal. Titres et phrases courtes seulement. Total ≈ 0,4s.
| Phase | Échelle | Flou | Opacité | Ease | Durée |
|---|---|---|---|---|---|
| Sortie | 1 → 1,2 | 0 → 10px | 1 → 0,15 | power3.in (opacité : tween none séparé) | 0,2s |
Coupe (tl.set) | in: 0,75 | 10px | out: 0 / in: 0,15 | — | — |
| Entrée | 0,75 → 1 | 10 → 0px | 0,15 → 1 | expo.out | 0,5s |
L'opacité de sortie DOIT être son propre tween linéaire — power3.in maintient l'opacité près de 1 trop longtemps.
À l'entrée, toutes les propriétés partagent expo.out.
2. Zoom-Through Inverse (arrière)
Le miroir de tirage : l'élément sortant RECULE ; l'élément entrant arrive SURDIMENSIONNÉ (comme s'il venait juste derrière la caméra) et se rétracte dans le plan focal. Tout RÉTRÉCIT. Consacrez-le aux temps d'ARRIVÉE/récompense — une ligne de récompense, une réponse géante, un état final soutenu — jamais aux frontières ordinaires. Total ≈ 0,7s (30% sortie / 70% entrée).
| Phase | Échelle | Flou | Opacité | Ease | Durée |
|---|---|---|---|---|---|
| Sortie | 1 → 0,8 | 0 → 10px | 1 → 0,15 | power3.in (opacité : tween none séparé) | ~0,2s |
Coupe (tl.set) | in: 1,25 | 10px | out: 0 / in: 0,15 | — | — |
| Entrée | 1,25 → 1 | 10 → 0px | 0,15 → 1 | expo.out | ~0,5s |
Le flou est de 10px pour l'échelle de texte ; 18–20px seulement lorsque les deux côtés sont des surfaces plein écran.
Discipline du signe : la scène entrante arrive comme un cadre composé à l'intérieur du wrapper qui se rétracte — pas d'introduction qui grandit depuis petit dans la fenêtre de couture. Les entrées échelonnées se produisent après que la rétraction se stabilise, ou commencent à ≥1 et se rétractent.
3. Coupe de Courbe (frontière de scène par défaut)
Coupe appariée en vélocité X/Y — la valeur par défaut pour TOUTES les frontières scène-à-scène, dans le courant du film, pas un accent. Le héros sortant accélère dans une direction, la coupe atterrit en plein mouvement, le héros entrant continue dans la MÊME direction et décélère. Total ≈ 0,6s ; directions GAUCHE / DROITE / HAUT / BAS (GAUCHE par défaut).
Déplacement partiel : ~12% du cadre (≈230px à 1920) — jamais de mouvements hors écran complets.
| Direction | Sortie | Début → fin de l'entrée |
|---|---|---|
| Vers la gauche | x: 0 → −230 | x: +230 → 0 |
| Vers la droite | x: 0 → +230 | x: −230 → 0 |
| Vers le haut | y: 0 → −230 | y: +230 → 0 |
| Vers le bas | y: 0 → +230 | y: −230 → 0 |
Mécanique :
- Easing miroirs : sortie
power4.in+ entréepower4.out, même distance et durée — les deux moitiés d'unpower4.inOut, donc la vélocité correspond exactement à la coupe. - L'astuce de fondu : l'opacité de sortie se termine à ~25–30% de son déplacement (fondu ≈ 0,18–0,3s vs mouvement 0,3–0,34s) ; l'entrée s'allume à ~0,35 d'opacité à mi-chemin. Chronométrez le dernier élément qui s'estompe pour mourir juste à la coupe — un écart où rien ne bouge se lit comme un temps mort.
- Sortie 0,2–0,4s ; entrée ≥ sortie. Flou optionnel 8–10px.
- Sol de scène :
#rootdoit être opaque (background: var(--canvas-deep, var(--canvas, #000))) — la coupe à mi-fenêtre ouvre une fenêtre d'opacité sommée < 1 qui flashe autrement en blanc (voirseam-craft).
push-slide existe mais viole le déplacement partiel et la phase de mi-mouvement ; préférez coupe-de-courbe.
4. Coupe en Cascade (coupe de courbe mot par mot)
Coupe de courbe à la granularité MOT — la coupe vers la gauche la plus forte pour les coutures texte-à-texte. Les mots sortants s'éloignent sur leurs propres courbes ; les mots entrants cascadent en plein vol — une vague que l'œil chevauche à travers la couture.
Portée : écrite par le worker à l'intérieur d'une composition multi-temps (couches .beat empilées plein cadre), PAS un type registre/injecteur — elle tweene des étendues de mots, pas des wrappers de clip. La frontière vers et hors du bloc de rythme textuel obtient toujours une transition de registre normale. Ne compte pas dans le budget de 2–3 transitions.
| Paramètre | Valeur | Pourquoi |
|---|---|---|
| Déplacement | ±230px (~12% cadre) | déplacement partiel + vélocité > poussée plein cadre |
| Sortie | 0,34s power4.in | l'accélération EST la coupe |
| Fondu de sortie | 0,18s, commence avec x | mot disparu à ~25–30% du déplacement — pas de traînée |
| Décalage de sortie | +0,022s ordre de lecture | la ligne se décolle, pas un glissement en bloc |
| Entrée | 0,3s power4.out | deuxième moitié du composite — correspondance de vélocité |
| Opacité de début d'entrée | 0,35 | allumage à mi-chemin ; le binaire 0→1 pop |
| Écarts d'entrée | 0,05s × 0,84 d'atténuation | cascade accélérée, se résout en composé |
Règles :
- Une direction par chaîne, chevauchant le courant. Le zoom inverse est le temps d'ARRIVÉE de la chaîne uniquement.
- Pré-définir tous les mots à
x: +230, opacité: 0au moment de la construction —immediateRender: falseseul laisse les mots non démarrés visibles au repos. - Un premier temps court peut sortir en ligne entière : son fondu se termine ~0,02s avant la coupe pour qu'il file encore quand les mots suivants s'allument — pas d'écart mort.
- Transformation/opacité uniquement (sûr pour la recherche) ; sol de scène opaque applicable.
5. Flou de Mise au Point - Coupe (la coupe visible)
La seule variante où la coupe est VUE : un pic de flou de défocalisation cache un échange dur d'une seule image — un tirage de mise au point DSLR portatif. Utilisez-le comme un ornement occasionnel pour un changement d'état de la MÊME surface dans un thème visuel ; jamais la frontière par défaut.
Différences par rapport aux autres : la sortie reste COMPLÈTEMENT OPAQUE jusqu'à la coupe (le flou cache l'échange — pas de fondu précoce) ; easing power2.in / power2.out (optique douce, pas d'élan).
Règles :
- Déclenchez-le uniquement à un temps narratif, ≤ une fois par ~8s ; jamais au milieu d'une légende ou pendant une pause.
- Coupez au PIC du flou (≥6px ; pic 8–12px, ≤16–18px max) — échanger en montant montre la coupe.
- Une échelle subtile (~1,06 de respiration de lentille) le vend comme de l'optique.
- Même direction des deux côtés — la loi vectorielle tient toujours. Entrée ≥ durée de sortie.
- Floutez le wrapper ; ne floutez jamais + opacité dans un seul tween sur un seul élément (bogue de composition headless) ; ne floutez jamais directement une
<video>(enveloppez-la).
6. Entrée en Cascade (arrivée intra-scène — pas une couture)
Cascade d'ARRIVÉE décalée : les mots/éléments arrivent en fouettant par le bas (une direction cohérente), chacun commençant avant que le précédent ne se stabilise — une vague accélérée qui se résout en une disposition composée. Cartes-titres, ouvreurs de segments, introductions de listes/features. Le frère de couture est le §4 ; ne mélangez pas leurs règles :
| §6 Entrée (arrivée) | §4 Coupe en Cascade (couture) | |
|---|---|---|
| Opacité | BINAIRE 0→1 via tl.set à l'entrée — jamais de fondu | s'allume à 0,35 à mi-chemin — le fondu EST l'astuce de vélocité |
| Axe par défaut | Y, d'en bas | X, chevauchant le courant |
| Côté sortant | aucun | les mots s'éloignent sur power4.in miroir |
Chorégraphie :
- Chevauchez, ne mettez pas en file d'attente — l'élément suivant commence dans les ±2 images de la stabilisation du précédent ; les écarts RÉTRÉCISSENT à travers la cascade ; le dernier élément s'enclenche.
- La vélocité varie selon le poids — les éléments lourds/ancre voyagent plus loin et plus longtemps ; les mots légers/ponctuation s'enclenchent serrés :
| Paramètre | Ancre/lourd | Mot normal | Léger/ponctuation |
|---|---|---|---|
| Décalage Y | 60–80px | 40–50px | 30–48px |
| Durée | 0,16–0,20s | 0,13–0,16s | 0,10–0,13s |
| Chevauchement | écart 0–2f | chevauchement 1f | chevauchement 1–2f |
- Ease
power4.out(expo.out pour un surcroît d'enclenchement) ; jamais.inOutsur une entrée. - Une direction par cascade.
- Divisez le MOT FINAL en fragments pour prolonger l'apogée ; les fragments voyagent plus loin.
- Après la stabilisation, le groupe glisse généralement pour faire de la place pour le temps suivant — c'est le §7.
7. Courbe de Poussée (glissement de groupe intra-scène — pas une couture)
Repositionnement lent-rapide-lent d'un groupe composé (rangées de mots, piles de cartes, listes) pour révéler du contenu ou faire de la place. Aucun ease intégré unique ne le produit — power4.inOut s'arrête net. Enchaînez trois tweens sur une propriété :
| Phase | Ease | Distance | Temps | Sensation |
|---|---|---|---|---|
| 1 montée en puissance | power3.in | ~10% | ~20% | bouge à peine — le mouvement s'enregistre, pas de secousse |
| 2 rafale | none (linéaire) | ~65% | ~18% | ~2× la moyenne px/image — déterminé |
| 3 queue | power4.out | ~25% | ~62% | glissement décroissant jusqu'au repos — tue le claquement |
Règles :
- La queue est ≥3× la montée en puissance en TEMPS. Si elle claque encore : prolongez le temps de la queue (pas la distance) ou utilisez
power5.out. - La phase 2 reste linéaire — l'easing perd le contraste de rafale.
- Révélez le nouveau contenu PENDANT la phase 2 — la rafale masque son apparition.
- Mêmes ratios en vertical ; mettez les distances à l'échelle proportionnellement, gardez les ratios de temps.
Choisir une Variante
| Zoom-Through | Zoom Inverse | Coupe de Courbe | Coupe en Cascade | |
|---|---|---|---|---|
| Portée | Échange de texte intra-scène | Temps d'arrivée/récompense | Entre les scènes | Couture texte-à-texte |
| Signe Z / axe | croissant (poussée) | décroissant (tirage) | X / Y | X, par mot |
| Déplacement/échelle | 1→1,2, puis 0,75→1 | 1→0,8, puis 1,25→1 | ±230px | ±230px |
| Flou de crête | 10px texte / 18–20 plein cadre | 10px texte / 18–20 plein cadre | 8–10px optionnel | aucun |
| Easing | power3.in / expo.out | power3.in / expo.out | power4.in / power4.out | power4.in / power4.out |
| Sensation | progression à travers | arrivée à | porté latéralement | une vague à travers la couture |
Anti-Patrons
| Ne faites pas
…
[suite tronquée pour la traduction] }
```json
{
"name": "heygen-com/hyperframes",
"description": "Le catalogue des techniques : cinq SEAMS à vélocité appariée (zoom avant, zoom arrière inverse, coupe de courbe, coupe en cascade, transition par flou de mise au point) plus deux techniques intra-scène — l'entrée en cascade et la courbe de poussée. Couvre l'appariement de vélocité à déplacement partiel, la règle du signe d'échelle Z, le flou adapté à la taille, les coupes mot par mot et le rythme des cascades. À lire avant de créer toute transition ou repositionnement de groupe.",
"aiSummary": "Ce référentiel décrit un système complet de transitions cinématiques conçues pour le motion design textuel, appelé Hyperframes. Il définit cinq techniques de couture (SEAM) — zoom-through, inverse zoom-through, cut-the-curve, waterfall cut et rack-focus blur-cut — ainsi que deux techniques intra-scène pour les entrées et les glissements de groupe. Le principe central est de couper au pic de vélocité en faisant correspondre la direction et la vitesse des deux côtés, créant un flux continu. Chaque technique spécifie des paramètres précis : échelle, flou, durée, fonctions d'easing et distances de déplacement partiel (~12% du cadre). Les implémentations sont destinées à des bibliothèques d'animation comme GSAP, avec des modèles fournis dans un fichier séparé. Les cas d'utilisation vont de l'avancement d'un argument (zoom-through) aux changements de scène par défaut (cut-the-curve), en passant par les transitions mot par mot (waterfall cut). Les anti-patrons sont clairement identifiés pour éviter les erreurs comme les inversions de signe sur l'axe Z ou les vitesses incohérentes.",
"skillMarkdown": "# Coupe de Courbe — le catalogue des techniques\n\nCinq techniques SEAM, un principe : **couper au pic de vélocité, faire correspondre la direction et la vitesse des deux côtés de la coupe** — plus les deux techniques intra-scène (§6 arrivées, §7 glissements).\nLa LOI de couture — loi vectorielle, le courant, le grand livre, la Porte de Couture — réside dans `motion-doctrine` ; lisez-la d'abord. Cette compétence concerne les paramètres et la mécanique.\nTous les modèles de code GSAP (worker + registre) : `examples/gsap-implementation.md`.\n\n## Catalogue\n\n| # | Technique | Portée | Axe | Utilisation pour |\n| --- | -------------------------- | ------------------------------ | ------------------- | ------------------------------------------------------ |\n| 1 | **Zoom-Through** (avant) | Échange de texte intra-scène | Z, vers le spectateur | progresser plus profondément dans la même pensée |\n| 2 | **Zoom-Through Inverse** | Temps d'arrivée / de récompense | Z, loin du spectateur | quelque chose de plus grand atterrit |\n| 3 | **Coupe de Courbe** | Entre les scènes | X / Y | la frontière par défaut, le courant du film |\n| 4 | **Coupe en Cascade** | Couture texte-à-texte | X, par mot | transmission au niveau du mot entre les grands temps textuels |\n| 5 | **Flou de Mise au Point - Coupe** | Changement d'état sur la même surface | X / Y / Z | la coupe que vous voulez VOIR — un ornement de tirage de mise au point DSLR |\n| 6 | **Entrée en Cascade** | ARRIVÉE intra-scène (pas de couture) | Y, d'en bas | cartes-titres, ouvreurs de segments, introductions de listes |\n| 7 | **Courbe de Poussée** | Glissement de groupe intra-scène (pas de couture) | X / Y | repositionner un groupe composé pour faire de la place |\n\n## La direction Z est un signe\n\n\"Même axe\" ne suffit pas sur Z — le signe de d(échelle)/dt doit correspondre à travers la coupe :\n\n| Vecteur Z | Échelle de sortie | Échelle d'entrée | Variante |\n| -------------- | ------------------- | -------------------- | -------------------- |\n| Poussée (avant) | croissante `1 → 1,2` | croissante `0,75 → 1` | zoom-through |\n| Tirage (arrière) | décroissante `1 → 0,8` | décroissante `1,25 → 1` | zoom-through inverse |\n\nMiroirs interdits : une sortie qui recule répondue par une entrée qui grandit depuis petit (le tirage se transforme en poussée — le plus courant, puisque grandir depuis petit est l'entrée d'élément par défaut), et une sortie par poussée répondue par une rétraction surdimensionnée. Cela lie les PROPRES entrées de la scène entrante pendant la fenêtre de couture (coupe + ~0,5s), pas seulement le tween wrapper : maintenez le cadre entrant composé, ou écrivez son entrée pour correspondre au signe. Vérifiez selon la règle 7 de la Porte de Couture.\n\n## Logique de flou (toutes les variantes Z)\n\n| Sujet | Flou de crête | Pourquoi |\n| --------------------------------------------- | ----------- | -------------------------------------------------------------- |\n| Échelle de texte (titre, groupe de mots) | **10px** | 20px brouille les formes de lettres — la coupe se lit comme un glitch, pas de la vitesse |\n| Surface plein cadre (fenêtre, carte, capture d'écran) | **18–20px** | un flou plus léger sur une grande surface se lit comme un hoquet de rendu |\n\nMême flou de crête des deux côtés à l'image d'échange. Floutez le WRAPPER, jamais les enfants.\n\n---\n\n## 1. Zoom-Through (avant)\n\nCoupe appariée en vélocité sur l'axe Z ; **jamais les deux textes visibles.** Tout CROÎT : le texte sortant accélère vers la caméra, un échange dur se cache au pic de flou, le texte entrant continue de grandir dans le plan focal. Titres et phrases courtes seulement. Total ≈ 0,4s.\n\n| Phase | Échelle | Flou | Opacité | Ease | Durée |\n| -------------- | -------- | -------- | ----------------- | ------------------------------------------ | -------- |\n| Sortie | 1 → 1,2 | 0 → 10px | 1 → 0,15 | power3.in (opacité : tween `none` séparé) | 0,2s |\n| Coupe (`tl.set`) | in: 0,75 | 10px | out: 0 / in: 0,15 | — | — |\n| Entrée | 0,75 → 1 | 10 → 0px | 0,15 → 1 | expo.out | 0,5s |\n\nL'opacité de sortie DOIT être son propre tween linéaire — `power3.in` maintient l'opacité près de 1 trop longtemps.\nÀ l'entrée, toutes les propriétés partagent `expo.out`.\n\n## 2. Zoom-Through Inverse (arrière)\n\nLe miroir de tirage : l'élément sortant RECULE ; l'élément entrant arrive SURDIMENSIONNÉ (comme s'il venait juste derrière la caméra) et se rétracte dans le plan focal. Tout RÉTRÉCIT. Consacrez-le aux temps d'ARRIVÉE/récompense — une ligne de récompense, une réponse géante, un état final soutenu — jamais aux frontières ordinaires. Total ≈ 0,7s (30% sortie / 70% entrée).\n\n| Phase | Échelle | Flou | Opacité | Ease | Durée |\n| -------------- | -------- | -------- | ----------------- | ------------------------------------------ | -------- |\n| Sortie | 1 → 0,8 | 0 → 10px | 1 → 0,15 | power3.in (opacité : tween `none` séparé) | ~0,2s |\n| Coupe (`tl.set`) | in: 1,25 | 10px | out: 0 / in: 0,15 | — | — |\n| Entrée | 1,25 → 1 | 10 → 0px | 0,15 → 1 | expo.out | ~0,5s |\n\nLe flou est de 10px pour l'échelle de texte ; 18–20px seulement lorsque les deux côtés sont des surfaces plein écran.\n\n**Discipline du signe :** la scène entrante arrive comme un cadre composé à l'intérieur du wrapper qui se rétracte — pas d'introduction qui grandit depuis petit dans la fenêtre de couture. Les entrées échelonnées se produisent après que la rétraction se stabilise, ou commencent à ≥1 et se rétractent.\n\n## 3. Coupe de Courbe (frontière de scène par défaut)\n\nCoupe appariée en vélocité X/Y — la valeur par défaut pour TOUTES les frontières scène-à-scène, dans le courant du film, pas un accent. Le héros sortant accélère dans une direction, la coupe atterrit en plein mouvement, le héros entrant continue dans la MÊME direction et décélère. Total ≈ 0,6s ; directions GAUCHE / DROITE / HAUT / BAS (GAUCHE par défaut).\n\n**Déplacement partiel :** ~12% du cadre (≈230px à 1920) — jamais de mouvements hors écran complets.\n\n| Direction | Sortie | Début → fin de l'entrée |\n| --------- | ----------------- | ----------------- |\n| Vers la gauche | `x: 0 → −230` | `x: +230 → 0` |\n| Vers la droite | `x: 0 → +230` | `x: −230 → 0` |\n| Vers le haut | `y: 0 → −230` | `y: +230 → 0` |\n| Vers le bas | `y: 0 → +230` | `y: −230 → 0` |\n\nMécanique :\n\n- **Easing miroirs :** sortie `power4.in` + entrée `power4.out`, même distance et durée — les deux moitiés d'un `power4.inOut`, donc la vélocité correspond exactement à la coupe.\n- **L'astuce de fondu :** l'opacité de sortie se termine à ~25–30% de son déplacement (fondu ≈ 0,18–0,3s vs mouvement 0,3–0,34s) ; l'entrée s'allume à ~0,35 d'opacité à mi-chemin. Chronométrez le dernier élément qui s'estompe pour mourir juste à la coupe — un écart où rien ne bouge se lit comme un temps mort.\n- Sortie 0,2–0,4s ; entrée ≥ sortie. Flou optionnel 8–10px.\n- **Sol de scène :** `#root` doit être opaque (`background: var(--canvas-deep, var(--canvas, #000))`) — la coupe à mi-fenêtre ouvre une fenêtre d'opacité sommée < 1 qui flashe autrement en blanc (voir `seam-craft`).\n\n`push-slide` existe mais viole le déplacement partiel et la phase de mi-mouvement ; préférez coupe-de-courbe.\n\n## 4. Coupe en Cascade (coupe de courbe mot par mot)\n\nCoupe de courbe à la granularité MOT — la coupe vers la gauche la plus forte pour les coutures texte-à-texte. Les mots sortants s'éloignent sur leurs propres courbes ; les mots entrants cascadent en plein vol — une vague que l'œil chevauche à travers la couture.\n\n**Portée :** écrite par le worker à l'intérieur d'une composition multi-temps (couches `.beat` empilées plein cadre), PAS un type registre/injecteur — elle tweene des étendues de mots, pas des wrappers de clip. La frontière vers et hors du bloc de rythme textuel obtient toujours une transition de registre normale. Ne compte pas dans le budget de 2–3 transitions.\n\n| Paramètre | Valeur | Pourquoi |\n| ----------------- | --------------------- | ------------------------------------------- |\n| Déplacement | ±230px (~12% cadre) | déplacement partiel + vélocité > poussée plein cadre |\n| Sortie | 0,34s `power4.in` | l'accélération EST la coupe |\n| Fondu de sortie | 0,18s, commence avec x | mot disparu à ~25–30% du déplacement — pas de traînée |\n| Décalage de sortie | +0,022s ordre de lecture | la ligne se décolle, pas un glissement en bloc |\n| Entrée | 0,3s `power4.out` | deuxième moitié du composite — correspondance de vélocité |\n| Opacité de début d'entrée | 0,35 | allumage à mi-chemin ; le binaire 0→1 pop |\n| Écarts d'entrée | 0,05s × 0,84 d'atténuation | cascade accélérée, se résout en composé |\n\nRègles :\n\n- Une direction par chaîne, chevauchant le courant. Le zoom inverse est le temps d'ARRIVÉE de la chaîne uniquement.\n- Pré-définir tous les mots à `x: +230, opacité: 0` au moment de la construction — `immediateRender: false` seul laisse les mots non démarrés visibles au repos.\n- Un premier temps court peut sortir en ligne entière : son fondu se termine ~0,02s avant la coupe pour qu'il file encore quand les mots suivants s'allument — pas d'écart mort.\n- Transformation/opacité uniquement (sûr pour la recherche) ; sol de scène opaque applicable.\n\n## 5. Flou de Mise au Point - Coupe (la coupe visible)\n\nLa seule variante où la coupe est VUE : un pic de flou de défocalisation cache un échange dur d'une seule image — un tirage de mise au point DSLR portatif. Utilisez-le comme un ornement occasionnel pour un changement d'état de la MÊME surface dans un thème visuel ; jamais la frontière par défaut.\n\nDifférences par rapport aux autres : la sortie reste COMPLÈTEMENT OPAQUE jusqu'à la coupe (le flou cache l'échange — pas de fondu précoce) ; easing `power2.in` / `power2.out` (optique douce, pas d'élan).\n\nRègles :\n\n- Déclenchez-le uniquement à un temps narratif, ≤ une fois par ~8s ; jamais au milieu d'une légende ou pendant une pause.\n- Coupez au PIC du flou (≥6px ; pic 8–12px, ≤16–18px max) — échanger en montant montre la coupe.\n- Une échelle subtile (~1,06 de respiration de lentille) le vend comme de l'optique.\n- Même direction des deux côtés — la loi vectorielle tient toujours. Entrée ≥ durée de sortie.\n- Floutez le wrapper ; ne floutez jamais + opacité dans un seul tween sur un seul élément (bogue de composition headless) ; ne floutez jamais directement une `<video>` (enveloppez-la).\n\n---\n\n## 6. Entrée en Cascade (arrivée intra-scène — pas une couture)\n\nCascade d'ARRIVÉE décalée : les mots/éléments arrivent en fouettant par le bas (une direction cohérente), chacun commençant avant que le précédent ne se stabilise — une vague accélérée qui se résout en une disposition composée. Cartes-titres, ouvreurs de segments, introductions de listes/features. Le frère de couture est le §4 ; ne mélangez pas leurs règles :\n\n| | §6 Entrée (arrivée) | §4 Coupe en Cascade (couture) |\n| ------------- | --------------------------------------------- | --------------------------------------------------------- |\n| Opacité | BINAIRE 0→1 via `tl.set` à l'entrée — jamais de fondu | s'allume à 0,35 à mi-chemin — le fondu EST l'astuce de vélocité |\n| Axe par défaut | Y, d'en bas | X, chevauchant le courant |\n| Côté sortant | aucun | les mots s'éloignent sur power4.in miroir |\n\nChorégraphie :\n\n- **Chevauchez, ne mettez pas en file d'attente** — l'élément suivant commence dans les ±2 images de la stabilisation du précédent ; les écarts RÉTRÉCISSENT à travers la cascade ; le dernier élément s'enclenche.\n- **La vélocité varie selon le poids** — les éléments lourds/ancre voyagent plus loin et plus longtemps ; les mots légers/ponctuation s'enclenchent serrés :\n\n| Paramètre | Ancre/lourd | Mot normal | Léger/ponctuation |\n| --------- | ------------ | ----------- | ----------------- |\n| Décalage Y | 60–80px | 40–50px | 30–48px |\n| Durée | 0,16–0,20s | 0,13–0,16s | 0,10–0,13s |\n| Chevauchement | écart 0–2f | chevauchement 1f | chevauchement 1–2f |\n\n- Ease `power4.out` (expo.out pour un surcroît d'enclenchement) ; jamais `.inOut` sur une entrée.\n- Une direction par cascade.\n- Divisez le MOT FINAL en fragments pour prolonger l'apogée ; les fragments voyagent plus loin.\n- Après la stabilisation, le groupe glisse généralement pour faire de la place pour le temps suivant — c'est le §7.\n\n## 7. Courbe de Poussée (glissement de groupe intra-scène — pas une couture)\n\nRepositionnement lent-rapide-lent d'un groupe composé (rangées de mots, piles de cartes, listes) pour révéler du contenu ou faire de la place. Aucun ease intégré unique ne le produit — `power4.inOut` s'arrête net. Enchaînez trois tweens sur une propriété :\n\n| Phase | Ease | Distance | Temps | Sensation |\n| --------- | --------------- | -------- | ---- | ---------------------------------------- |\n| 1 montée en puissance | `power3.in` | ~10% | ~20% | bouge à peine — le mouvement s'enregistre, pas de secousse |\n| 2 rafale | `none` (linéaire) | ~65% | ~18% | ~2× la moyenne px/image — déterminé |\n| 3 queue | `power4.out` | ~25% | ~62% | glissement décroissant jusqu'au repos — tue le claquement |\n\nRègles :\n\n- La queue est ≥3× la montée en puissance en TEMPS. Si elle claque encore : prolongez le temps de la queue (pas la distance) ou utilisez `power5.out`.\n- La phase 2 reste linéaire — l'easing perd le contraste de rafale.\n- Révélez le nouveau contenu PENDANT la phase 2 — la rafale masque son apparition.\n- Mêmes ratios en vertical ; mettez les distances à l'échelle proportionnellement, gardez les ratios de temps.\n\n---\n\n## Choisir une Variante\n\n| | Zoom-Through | Zoom Inverse | Coupe de Courbe | Coupe en Cascade |\n| ------------- | ---------------------------- | ---------------------------- | ---------------------- | ---------------------- |\n| Portée | Échange de texte intra-scène | Temps d'arrivée/récompense | Entre les scènes | Couture texte-à-texte |\n| Signe Z / axe | croissant (poussée) | décroissant (tirage) | X / Y | X, par mot |\n| Déplacement/échelle | 1→1,2, puis 0,75→1 | 1→0,8, puis 1,25→1 | ±230px | ±230px |\n| Flou de crête | 10px texte / 18–20 plein cadre | 10px texte / 18–20 plein cadre | 8–10px optionnel | aucun |\n| Easing | power3.in / expo.out | power3.in / expo.out | power4.in / power4.out | power4.in / power4.out |\n| Sensation | progression à travers | arrivée à | porté latéralement | une vague à travers la couture |\n\n## Anti-Patrons\n\n| Ne faites pas\n\n…\n\n[suite tronquée pour la traduction]"
}