# Mille détails

Film de 40 secondes pour Pragma Monaco, destiné aux professionnels de l’événementiel haut de gamme : wedding planners, organisateurs de galas, de lancements et d’événements d’entreprise. Il est calculé en direct dans le navigateur en JavaScript (Canvas 2D), puis exporté en MP4 à partir du même code. Trois compositions : paysage 1920 × 1080, vertical 1080 × 1920 et carré 1080 × 1080.

## Direction

Tout le film est une papeterie de luxe. Le fond est une nappe de velours vert profond sous un léger halo, et chaque élément est une carte en papier coton aux bords frangés, soulevée par une ombre légère. Les textes sont imprimés comme en typographie au plomb, avec un léger liseré clair. Les mots décoratifs sont en calligraphie dorée à chaud (Pinyon Script), avec un reflet qui passe lentement ; les textes à lire sont en Gilda Display et Hanken Grotesk. S’y ajoutent des fleurs séchées (rose, eucalyptus, lavande), un ruban de soie, un stylo plume et un cachet de cire turquoise frappé du colibri Pragma. La palette réunit crème, sauge, rose poudré, or et encre marine, avec le turquoise de la marque en accent.

Le mouvement est calme et précis. Les cartes glissent et se posent avec un léger dépassement, un seul geste domine à la fois, et chaque changement de scène passe par un fondu sur le velours, sans jamais superposer deux textes. Les cartouches de narration restent dans une zone réservée en haut, au-dessus de tout, mesurés pour tenir dans la largeur. En 16:9, la composition s’étire sur toute la largeur ; en 9:16, les textes sont agrandis et les éléments empilés en hauteur.

L’agent prépare, le professionnel décide : chaque envoi est signé ou scellé par lui. Toutes les données sont fictives et génériques, et Monaco est évoqué sans lieu nommé.

## Récit

| Temps | Image | À l’écran |
|---|---|---|
| 0 à 6 s | Sur le bureau, devis, messages, notes, tableurs et tickets tourbillonnent. | Un événement d’exception, c’est mille détails. |
| 6 à 11 s | Le colibri traverse le chaos et range tout sur un seul tableau : Clients, Prestataires, Budget. | Tout au même endroit. |
| 11 à 18 s | Trois devis de fleuristes arrivent côte à côte. Un fil d’or les compare, le troisième est surligné, à 18 % au-dessus du budget. L’agent rédige la proposition de négociation, le stylo signe « Validé », le cachet de cire se pose. | L’agent compare les devis et prépare la négociation. Vous validez. |
| 18 à 26 s | La carte de table passe de 142 à 156 invités. L’onde gagne le traiteur, l’hôtel et le plan de table, puis trois messages préparés sont scellés un à un. | Un changement ? Tout suit. |
| 26 à 31 s | Le devis et la facture s’impriment ligne à ligne (acomptes de 30 %, 40 % et 30 %), partent, et leur suivi apparaît : devis signé, acompte reçu. | Devis et factures, générés et suivis. |
| 31 à 36 s | Une terrasse au-dessus de la mer, au crépuscule : la table dressée, les cartons à leur place, les guirlandes allumées. | Plus de temps pour vos clients. Chaque envoi validé par vous. Hébergement à Monaco possible. |
| 36 à 40 s | Le colibri, le wordmark Pragma.mc doré à chaud, la promesse. | Mille détails. Un seul endroit. contact@pragma.mc |

## Fichiers

- `src/script.js` : temps, textes, devis, invités, messages, documents. Tout le contenu se modifie ici.
- `src/paper.js` : nappe de velours, papier coton, cartes frangées, impression, relief, dorure et filets dorés, ajustement des textes à la largeur.
- `src/deco.js` : colibri, fleurs séchées, ruban, cachet de cire, stylo plume, guirlandes lumineuses.
- `src/stage.js` : les trois formats, la scène de 1 000 unités centrée, l’étirement en paysage. `src/captions.js` : les cartouches de narration.
- `src/scene_desk.js`, `src/scene_quotes.js`, `src/scene_change.js`, `src/scene_day.js` : les sept temps du film.
- `src/film.js` : `drawFrame(ctx, env, t, format)`, une fonction pure du temps, et les fondus sur le velours entre les scènes.
- `player.js`, `index.html` : le lecteur, avec des liens `?t=` et `?format=` vers chaque scène. `score.mjs` : musique déterministe (harpe, piano, cordes, carillon à chaque validation). `render.mjs` : export MP4.

```bash
bun install
bun run score
bun run render:16x9 && bun run render:9x16 && bun run render:1x1
```

## Fontes

Hanken Grotesk, Gilda Display et Pinyon Script, sous licence OFL.
