Chowa
Une expérience de réalité augmentée qui donne vie à un dessin lors d'une exposition — pétales de sakura, easter eggs et objets à collecter, depuis son téléphone.
Le projet
Chowa (調和, « harmonie ») est né d'un pari personnel : Damien s'est inscrit à des cours de dessin pour se prouver qu'il en était capable. Bilan de l'année : il l'était. Pour l'exposition de fin d'année, il a voulu faire coexister les deux facettes de son travail — le dessin produit en cours, et le développement. L'idée : un visiteur scanne le dessin avec son téléphone et la scène prend vie en réalité augmentée, sans application à télécharger. L'expérience a été tellement bien accueillie qu'elle a été reprise à l'IUT pour la fête de la science, pour illustrer la dualité créa/dev en MMI — et est finalement devenue le sujet d'une SAE de troisième semestre.

Ce que ça fait
- Pointer la caméra vers le dessin exposé pour le voir s'animer en quelques secondes
- Des pétales de sakura tombent en temps réel, animés par un système de particules fluide et optimisé
- Des éléments interactifs sont cachés dans la scène — les toucher déclenche des easter eggs et des récompenses
- Des « papers » à collecter, disséminés dans l'espace AR, jouent sur la stack technique du développeur
- L'expérience est installable sur mobile comme une application, sans passer par un store
Le défi
La réalité augmentée web sur mobile impose des contraintes sévères : la caméra, le rendu 3D et le tracking d'image tournent simultanément sur un appareil grand public. Chowa y ajoute une couche d'interactivité — et c'est là que le vrai problème se pose : comment superposer plusieurs calques visuels tout en laissant les clics « traverser » jusqu'aux bons éléments, sans pénaliser les performances ?
La solution passe par une projection 3D→2D calculée en temps réel : les coordonnées des objets A-Frame sont converties en positions pixel à chaque frame, puis des hitboxes sont tracées avec un algorithme de simplification de contours (Douglas-Peucker). Un overlay canvas transparent capture les interactions et les redirige vers les bons éléments AR. Pour tenir la fluidité, particules et sons utilisent un système de pooling d'objets — les instances sont réutilisées plutôt que recréées, ce qui évite les pics de latence même sur un téléphone d'entrée de gamme.

Comment ça fonctionne
flowchart LR
A[Caméra mobile] --> B[Détection de l'image cible]
B --> C[Scène AR activée]
C --> D[Pluie de pétales]
C --> E[Overlay interactif]
E --> F[Easter egg découvert]
F --> G[Modal de récompense]
Stack
| Couche | Techno |
|---|---|
| Interface | Svelte 5 (runes) + TypeScript strict |
| Réalité Augmentée | MindAR + A-Frame (WebAR) |
| Animations & perf | requestAnimationFrame + Object Pooling |
| Build & Dev | Vite 6 (tunnel HTTPS ngrok pour test mobile) |
| Style | Tailwind CSS + DaisyUI |