Le guide tient un livre ouvert lumineux tandis que les monuments de dix civilisations anciennes s'élèvent derrière lui.
← Tous les projets

Projet 05 · IA interactive / Technologie créative / Interface expérimentale

The Magical Book

Et si ouvrir un livre pouvait vous transporter dans l’histoire ?

Je voulais recréer un sentiment d'enfance : ouvrir un livre et souhaiter pouvoir entrer directement dans le monde à travers ses pages. The Magical Book transforme cette idée en une expérience Web interactive reliant la narration, la vidéo générative et l'interaction spatiale.

ChronoAtlas10 civilisations23 états d'expérienceExpérience de navigateur

Démo

Voir l'expérience en mouvement

D'un livre fermé à dix mondes.

Enregistré à partir de l’expérience en cours. 2 min 32 s, pas de son.

Intention

Explorer l’histoire dans le navigateur.

Il n’a jamais été question de créer un autre site Web historique. L'objectif était de tester si une expérience de navigation pouvait donner à quelqu'un l'impression qu'un livre magique physique l'avait remarqué, s'était ouvert et était devenu un portail.

Les anti-objectifs ont été écrits avant la première ligne de code : cela ne doit pas ressembler à une landing page, un diaporama, un carrousel, une galerie vidéo, un site d'information de musée, un tableau de bord, une collection de cartes, un site pédagogique avec des pins cliquables ou une application React standard. Les dix premières secondes devaient mériter un enregistrement d’écran.

Une règle comptait plus que les autres : la sélection des civilisations est explicite. Le livre ne jette jamais le visiteur dans un monde aléatoire. Il montre les dix, vous permet de regarder et attend une décision.

  1. Livre fermé
  2. Interactions
  3. Le livre se réveille
  4. Le livre s'ouvre
  5. Des portails apparaissent
  6. Vous choisissez une civilisation
  7. Transition cinématographique
  8. Expérience de civilisation
  9. Découvertes
  10. Retour au livre

Les mondes

Dix civilisations, un livre.

Chaque monde porte une période, un slogan, trois découvertes écrites et une note indiquant que les scènes sont des reconstructions d'inspiration historique plutôt que des enregistrements. Carthage a d'abord été construite comme un voyage de référence et le système a ensuite été appliqué aux neuf autres ; L’Égypte ancienne a servi de clip de référence pour la recherche en profondeur et en vidéo spatiale.

  1. Carthage : Maîtres de la Méditerranée.
    01

    Carthagène

    c. 9e au 2e siècle avant notre ère

    Maîtres de la Méditerranée.

  2. Rome antique : promenez-vous dans la Ville éternelle.
    02

    Rome antique

    c. Du 8ème siècle avant notre ère au 5ème siècle de notre ère

    Promenez-vous dans la Ville éternelle.

  3. Egypte ancienne : suivez le fleuve jusqu'à l'éternité.
    03

    Egypte ancienne

    c. 3100 à 30 avant notre ère

    Suivez la rivière dans l'éternité.

  4. Grèce antique : là où les idées sont entrées dans la vie publique.
    04

    Grèce antique

    c. 8ème au 2ème siècle avant notre ère

    Où les idées sont entrées dans la vie publique.

  5. Babylone : Entrez dans la ville derrière la porte bleue.
    05

    Babylone

    c. 19e au 6e siècle avant notre ère

    Entrez dans la ville derrière la porte bleue.

  6. Chine ancienne : au-delà de la porte se trouve un empire de plusieurs époques.
    06

    Chine ancienne

    221 avant notre ère à 1912 de notre ère

    Au-delà de la porte se trouve un empire de plusieurs époques.

  7. Japon ancien : suivez le chemin sous les pétales qui tombent.
    07

    Japon ancien

    c. 12e au 19e siècle de notre ère

    Suivez le chemin sous les pétales qui tombent.

  8. Maurya India : Un empire relié par des routes, des messages et des règles.
    08

    Maurya Inde

    c. 322 à 185 avant notre ère

    Un empire relié par des routes, des messages et des règles.

  9. Civilisation Maya : Une ville surgit de la forêt tropicale.
    09

    Civilisation maya

    c. 250 à 900 CE

    Une ville surgit de la forêt tropicale.

  10. Monde viking : naviguez au-delà des limites de la carte connue.
    10

    Monde viking

    c. 793 à 1066 CE

    Naviguez au-delà du bord de la carte connue.

Expérience

Neuf instants, dans l'ordre.

Images fixes de la démo enregistrée. Chaque image ci-dessous est la véritable expérience.

  1. Découvrez le livre : extrait de la démo
    01

    Découvrir le livre

    Un livre fermé sur une scène sombre. Rien ne demande un clic ; la page attend que vous vous rapprochiez.

  2. Le guide vous réagit : toujours de la démo
    02

    Le guide réagit à vous

    La position du pointeur détermine la pose du guide et l'attention du livre avant d'appuyer sur quoi que ce soit.

  3. Le livre ouvert : image de la démonstration
    03

    Ouvre le livre

    Un clic délibéré. La couverture se soulève et la lumière s'échappe des pages.

  4. Révéler les portails de civilisation : extrait de la démo
    04

    Révélez les portails de la civilisation

    Dix destinations apparaissent comme une constellation de portails et non comme une grille de cartes.

  5. Choisissez un monde : toujours de la démo
    05

    Choisissez un monde

    La sélection est explicite. Concentrer un portail en donne un aperçu ; seul un deuxième acte engage le voyage.

  6. Entrez par une transition cinématique : extrait de la démo
    06

    Entrez par une transition cinématographique

    Le guide se lance à partir de la position réelle de l'écran du portail ; l'itinéraire ne change qu'une fois l'écran couvert.

  7. Découvertes dans le décor : image de la démonstration
    07

    Explorer le décor

    Des anneaux dorés font surface à cause de la proximité et du temps du chapitre. Une recherche ne déclenche jamais une découverte par accident.

  8. Construisez votre chronique : toujours à partir de la démo
    08

    Construisez votre chronique

    Le texte est la deuxième récompense : un glyphe discret offre à la chronique un moment dans chaque chapitre de découverte.

  9. Retour au livre magique : extrait de la démo
    09

    Retour au livre magique

    Le monde se comprime dans un portail qui rétrécit et est réabsorbé dans le livre, qui atterrit sur la même civilisation.

Conception d'interactions

Comment l’interface réagit au curseur.

Guide prenant en charge le curseur

Le guide répond à la position du pointeur, à la direction et à la distance. Cinq poses créées sont sélectionnées à partir du cadre du pointeur et fondues enchaînées entre deux plaques verrouillées, de sorte que le personnage regarde vers vous, vers le livre, ou vous invite à entrer, et ne se casse jamais.

Pose guide : regarder à gauche (la plaque tournée vers la droite, en miroir, comme le fait l'expérience)Pose du guide : neutre, face au visiteurPose guide : regarder à droitePose guide : inviter le visiteur à avancer

Livre vivant

Le livre est un personnage, pas une navigation. Il dort, remarque le pointeur à distance, se réveille à mesure que vous approchez, se prépare et s'ouvre d'un seul clic délibéré. Les seuils comportent une hystérésis afin que son attention ne scintille jamais vers une frontière.

Le livre fermé sur une scène sombre à côté du guide, avec l'invite à ouvrir le livre.

Constellation de portail

L'ouverture du livre révèle toute la collection de destinations avant le début de tout voyage. Les portails sont des formes organiques et fuyantes avec le guide flottant parmi eux ; en concentrer un le prévisualise, le sélectionner valide.

L'atlas à livre ouvert : des portails elliptiques s'éloignant dans la brume, avec Carthage concentrée et le guide flottant en dessous.

Exploration cinématographique

Les scènes historiques générées sont combinées avec l'interaction du navigateur, de sorte que le déplacement de la souris déplace la caméra avec une véritable parallaxe. Il s’agit d’une interaction cinématographique spatiale de type 360 ​​sur un plan déplacé en profondeur, plus proche de la navigation dans un environnement que du visionnage d’un clip. Il ne s’agit pas d’une véritable vidéo à 360 degrés, et l’expérience ne le prétend jamais.

Chapitre de Carthage avec le pointeur à gauche : la caméra dérive vers la gauche.
Pointeur vers la gauche
Le même chapitre de Carthage avec le pointeur à droite : la caméra dérive vers la droite.
Pointeur vers la droite

Technique

Comment je l’ai construit.

Une machine à états suit la position du visiteur, contrôle les transitions et charge chaque vidéo à l’avance.

Machine à états d'expérience · 23 états

  1. Arrivée
    • booting
    • darkness
    • guide-idle
    • guide-following
  2. Livre vivant
    • book-sleeping
    • book-aware
    • book-awakening
    • book-ready
    • book-opening
    • worlds-emerging
  3. Atlas
    • atlas-idle
    • atlas-navigating
    • world-focused
  4. Vol
    • flight-preparing
    • flight-launching
    • portal-crossing
    • civilization-arriving
  5. Monde
    • chapter-playing
    • chapter-paused
    • chronicle-open
  6. Retour
    • return-preparing
    • returning
    • book-restoring

Les transitions sont une table de contiguïté explicite. Le voyage de retour ferme la boucle sur l'atlas, pas l'intro, avec la même civilisation centrée. Les modifications d'itinéraire (actualisation, hachage, échappement) restaurent l'état à partir de l'URL.

Architecture d'interaction multi-états

Une machine à états gardée avec 23 états nommés et une table de transition explicite. Les transitions illégales renvoient false, ce qui évite les doubles clics, les animations en double et deux guides à l'écran.

Moteur d'interaction de pointeur

Un seul écouteur de pointeur au niveau de la fenêtre et une boucle d'image d'animation publient une image lissée (position, vitesse, direction, proximité du livre et du guide, temps d'inactivité, drapeau tactile) aux abonnés qui écrivent directement dans le DOM. Aucun état de réaction par déplacement de la souris.

Guide posé et réactif

Cinq plaques de pose auditées (neutre, regarder à gauche, regarder à droite, regarder le livre, invitant) choisies en fonction de la direction et de la proximité du pointeur, fondues enchaînées sur 320 ms entre deux couches verrouillées par ancre afin qu'un changement de pose ne puisse jamais clignoter.

Système de livre vivant

Trois seuils de proximité de pointeur avec hystérésis pilotent un réducteur de livre à neuf états : inactif, remarque, réveil, prêt, ouverture. Un clic effectué alors que le support est encore en cours de chargement est mis en file d'attente et honoré dès que le livre est prêt.

Sélection de portail avec intention

La concentration et la sélection sont des actes distincts. La focalisation d'un portail met uniquement à jour l'itinéraire ; le sélectionner doit passer la garde de l'État, de sorte qu'un monde ne peut jamais être pénétré en cours d'animation ou par accident.

Séquences de vol de civilisation

Chorégraphie Framer Motion tirée du rectangle d'écran mesuré du portail, teinté par civilisation, avec une vidéo de transfert de guide. L'échange d'itinéraire ne se déclenche qu'une fois que l'écran est entièrement couvert.

Découvertes environnementales

Chacun des dix mondes comporte trois hotspots créés. Les découvertes se révèlent de quatre manières : toujours, avec le pointeur proche, par chapitre ou par guide, et le fait d'appuyer se distingue du glisser, donc regarder autour de soi n'en ouvre jamais.

Chronique et progression

Le texte de la chronique s'ouvre à partir d'un glyphe retardé dans les chapitres de découverte et possède la touche Échap lorsqu'il est visible. L'histoire est la deuxième récompense, après l'environnement.

Voyage retour animé

Le monde visible se comprime en un portail qui rétrécit tandis qu'un petit livre s'élève pour le recevoir ; la constellation est restaurée en dessous avec la même civilisation concentrée.

Contribution réactive et accessible

Les auditeurs en direct pour les pointeurs préférés à mouvement réduit et grossiers définissent un budget de particules à trois niveaux (complet, réduit, désactivé). La visibilité des onglets interrompt l'animation. La réduction des mouvements adoucit les transitions mais ne détourne jamais le visiteur vers un repli statique.

Orchestration des ressources et des vidéos

Un seul manifeste d’actifs est le seul module autorisé à importer des médias. Les plaques de pose sont préchauffées, la vidéo du livre est préchargée uniquement à titre d'indice de métadonnées et les vidéos de scène sont explicitement supprimées (pause, suppression de la source, rechargement) lors du voyage.

Scènes de type 360 sensibles à la profondeur

Les clips générés sont lus sur un plan three.js déplacé par une texture de profondeur par image, afin que la caméra puisse dériver et se déplacer avec une véritable parallaxe. Une échelle à quatre niveaux (sensible à la profondeur, multiplan en couches, panoramique-zoom plat, affiche) rétrograde automatiquement lorsque la fréquence d'images diminue. Jamais de véritable 360 ​​degrés, et le code le dit.

Échelle de l'expérience

10
Civilisations anciennes
50
Clips de chapitre générés
23
États d'expérience
1
Livre magique vivant

Cinquante extraits de chapitres (cinq par civilisation) plus un livre, un guide et des séquences de vol : 95 vidéos générées au total, 30 découvertes écrites, une machine d'état gardée.

Pile

Outils et technologies.

Vérifié à partir des manifestes et de la source du projet. Pas de bibliothèque de routeurs, pas de bibliothèque d'état, pas de framework CSS : un routeur de hachage roulé à la main, un ensemble d'abonnés et du CSS simple.

Pile technologique

  • Réagir 19
  • TypeScript (strict)
  • Vite
  • Framer Motion
  • trois.js
  • CSS simple
  • Vitester

Pipeline de médias et de recherche

  • pipeline ffmpeg
  • Video-Depth-Anything (profondeur temporelle)
  • ProPainter (plaques propres, Colab)
  • Travailleur de travail FastAPI (Python)
  • Visionneuse d'éclaboussures gaussienne (preuve technique uniquement)

IA créative / Flux de travail de création

  • Fable : implémentation et architecture
  • Grok : vidéo générée et matériel visuel
  • GPT : raisonnement et débogage autour de la composition et de l'interaction
  • Boucle d'assurance qualité visuelle pilotée par navigateur

Expérimentation

Les approches essayées puis abandonnées.

Une cinquantaine de vidéos ont été générées à travers les dix civilisations, puis le véritable travail a commencé : rendre les séquences cinématographiques statiques interactives. Plusieurs approches n’ont pas survécu.

  • Orbite d’image entière. Le premier moteur de rendu de profondeur a déplacé l'ensemble du cadre comme un rectangle rigide : des bandes noires sur les bords, le héros et l'arrière-plan glissant ensemble. Rejeté lors du contrôle qualité visuel et remplacé par une profondeur par image échantillonnée dans une texture de données.
  • Écran de sélection statique. Le carrousel de civilisation d'origine a été remplacé par une carte vivante où le guide vole jusqu'au curseur.
  • Reconstitution de points de vue libres. Les méthodes gaussiennes 4D et de récupération par caméra ont été évaluées et mises de côté : les images générées n'ont pas de géométrie cohérente, les bateaux changent de forme entre les images et les licences n'ont pas été vérifiées.
  • Profondeur appliquée partout. Huit des cinquante chapitres ont été délibérément maintenus à plat, là où des visages rapprochés ou des foules se briseraient sous le déplacement.

La partie intéressante n’était pas de générer les scènes. Il s'agissait de trouver comment faire en sorte que les scènes générées ressemblent à un monde dans lequel l'utilisateur était entré.

  1. Idée
  2. Prototype
  3. Expériences d'interaction
  4. Compositions échouées
  5. Système de pointeur
  6. Civilisation de référence
  7. Système à dix mondes