# Votre message devient une fonctionnalité

Film de 46,5 secondes pour Pragma Monaco, animé en papier découpé. Il est calculé en direct dans le navigateur en JavaScript (Canvas 2D), puis exporté en MP4 à partir du même code. Deux compositions : paysage 1920 × 1080 et vertical 1080 × 1920.

## Direction

Chaque forme est une pièce de papier coloré. Ses bords déchirés restent les mêmes d’une image à l’autre, une ombre portée la décolle du fond et le grain des fibres est visible. L’animation est continue à 24 images par seconde, et les pièces tremblent légèrement 12 fois par seconde, comme en stop-motion. Des explosions de papier marquent les temps forts : le vocal qui éclate, chaque pièce posée, les tampons, la première réservation. Entre deux scènes, une grande feuille balaie l’écran. Le colibri de la marque, découpé en quatre papiers, attrape les demandes. Au QG, il se multiplie en horde d’agents pilotée par Ben et Romain. Les personnages sont des caricatures en papier : de grosses têtes sur des petits corps, faites de quelques formes nettes.

## Récit

| Temps | Image | À l’écran |
|---|---|---|
| 0 à 7,5 s | Monaco en papier au crépuscule. La gérante marche et enregistre un message vocal, dont les barres ondulent. Le colibri arrive. | Lundi, 18 h. « Il faudrait que les clients puissent réserver une table en ligne, et voir s’il reste de la place. » |
| 7,5 à 15 s | Le vocal éclate en papier coloré sur fond de rayons. Le colibri attrape trois bandes qui se posent. | Le vocal devient trois demandes précises. |
| 15 à 27,5 s | Au QG, Ben et Romain, en caricatures, derrière des stations surpuissantes. Les demandes s’affichent au mur, ils tapent à toute vitesse, puis Ben lâche une horde de colibris-agents. Chaque agent apporte une pièce de l’écran de réservation. Les mugs s’accumulent et le calendrier passe de mardi à mercredi. | Ben et Romain reçoivent les demandes. Et lâchent une horde d’agents. |
| 27,5 à 33,5 s | Romain passe tout à la loupe géante, un tampon claque « Testé » sur l’ordinateur puis sur le téléphone, et Ben lève les bras. | Puis ils vérifient tout, sur ordinateur et téléphone. |
| 33,5 à 40,5 s | « C’est en ligne. » La gérante saute de joie, une cliente réserve et la notification explose en couleurs. | Jeudi, 10 h. Nouvelle réservation, jeudi, 20 h · 4 personnes. |
| 40,5 à 46,5 s | Le papier tourbillonne et se rassemble en colibri, puis le wordmark Pragma.mc apparaît, découpé dans le papier crème. | Vous le dites. On le construit. contact@pragma.mc |

## Fichiers

- `src/script.js` : temps, textes, demandes et écran. Tout le contenu se modifie ici.
- `src/cut.js` : pièces de papier (bords déchirés, ombre, grain, tremblement), bandes de texte, explosions, rayons.
- `src/cast.js` : le colibri en papier. `src/figures.js` : les caricatures (Romain, Ben, la gérante, la cliente).
- `src/scene_monday.js`, `src/scene_hq.js`, `src/scene_thursday.js` : les six temps du film. `src/screen.js` : l’écran de réservation et le téléphone. `src/stage.js` : formats, titres, feuilles de transition, secousses et vols.
- `src/film.js` : `drawFrame(ctx, env, t, format)`, une fonction pure du temps.
- `player.js`, `index.html` : lecteur, avec des liens `?t=` vers chaque scène. `score.mjs` : musique déterministe. `render.mjs` : export MP4.

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

## Fontes

Hanken Grotesk et Gilda Display, sous licence OFL.
