Les deux plans se renvoyaient la balle exactement sur la zone a
construire : studio-plan mettait la 3D en lot 11 en disant "depend du
chantier VR", et vr-quest-unity-plan decrivait les POI sur GLB en
supposant un GLB qui arrive de quelque part. Nouveau document de
frontiere, plus les corrections qu'il impose au plan Studio.
v2/immersif-frontiere-plan.md (neuf)
- Trois couches separees : ressources immersives (360/GLB, se vendent
sans casque), consommation (SectionModel3D, ImmersiveBackground, app
Quest), et le Studio comme *source d'approvisionnement* de la couche 1
et non module parallele.
- Pas d'add-on casque : un seul add-on "Contenu immersif" a 70 EUR, plus
le hardware et l'onboarding one-shot. Reconfirme l'arbitrage du 31/08.
- Generation de scene : position revisee. Marble (World Labs) a une API
depuis janvier 2026, ~0,12 $ le monde draft, export GLB. Cadre retenu
= roomscale stationnaire ~3 m, pas d'environnement navigable : ~500k
splats de plafond sur Quest 3 standalone, et un cas mesure a 12 fps
sous Unity la ou une borne doit tenir 72.
- 11 decisions de retro-compat ordonnees par cout de retrofit. Les cinq
premieres touchent des lots ANTERIEURS a la 3D : pipeline d'ingestion
unique (l'upload est fait par le navigateur, donc un GLB uploade ne
traverse aucun traitement alors qu'un GLB genere si), normalisation
canonique des GLB, invalidation des POI, lignage en colonnes typees,
renommage des credits.
- Mecaniques de jeu immersives notees, rien de planifie : repondre
(SectionQuiz existe deja), trouver (marche aussi en web sur pano
pivotant, donc se vend sans casque), ordonner
(OrderedTranslationAndResource existe deja), avant/apres.
v2/studio-plan.md
- ImageCredits* -> StudioCredits* : une 3D coute 10 a 50 fois une image,
le nom aurait menti des le lot 11.
- Credits rechargeables a expiration 12 mois au lieu d'un quota mensuel.
Un musee genere 200 images en trois semaines pour une expo puis rien
pendant cinq mois ; un forfait mensuel se gaspille dix mois sur douze.
Le CreditLedger encaisse sans changement de structure.
- Le critere qui separe les deux monnaies, verifie dans le code :
consomme en temps reel par le visiteur (chat, vocal) contre produit
une fois par le client (images, 3D, video, TTS pre-genere). Le TTS
passe donc cote Studio. Au passage : reindex et insights ne debitent
rien alors qu'ils coutent.
- Lot 11 ne renvoie plus en boucle au plan VR.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Le pré-vol de quota et la suppression du blob sont livrés. Le contrôle
autoritaire à Create ne peut pas exister tel qu'il était écrit :
manager-app crée la ligne en annonçant sizeBytes puis téléverse, donc
il n'y a aucun blob à interroger à cet instant.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ni Google ni Mapbox ne donnent un fond hors ligne gratuit, et Mapbox
se facture au nombre de tuiles, pas à la surface. Pour un musée de
plein air comme le Fourneau Saint-Michel, la réponse est son propre
plan dessiné : les repères se posent sur l'image, le plan est une
Resource, donc embarqué par le pipeline hors ligne existant.
Conception seule, rien n'est implémenté. Mapbox est passé fournisseur
par défaut le 04/09.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Décidé et inscrit : thèmes du lot J complets (job + table d'agrégats, donc le
§8.4 des CGU n'est pas à amender), meterZoneGPS sur mymuseum et visitapp-web,
D3/D4 sans attendre D0, rate limiting et Customer Portal confirmés V1, lunettes
Ray-Ban ramenées en V1, K9 (repasse visuelle de la borne, bento compris),
déclenchement proactif ouvert à tous, miroir de la conversation vocale.
Trois lignes du plan étaient périmées : le nettoyage de manager_api_new et la
sécurité du lot A sont faits depuis un moment, et un PUT ApplicationInstance
existe déjà.
Deux documents affirmaient un fallback Voice vers Mobile qui n'existe pas —
guide-ia-screen-plan.md et le commentaire d'AiController se confirmaient
mutuellement. Le code fait un FirstOrDefault sur le canal exact puis Forbid() :
envoyer AppType.Voice au chat sans ApplicationInstance de ce type rendrait 403
à chaque question. Corrigé côté doc ; le commentaire reste à corriger.
Le vocal n'est donc pas un canal mais un attribut : marqué dans
VisitEvent.Metadata, colonne JSON déjà existante, aucune migration.
AppTypeDistribution compte une entrée par session et tranche sur l'événement le
plus ancien — avec le miroir, une session est mixte, et un canal Voice aurait
mesuré « sessions démarrées en vocal », pas la part du vocal.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Import initial de la documentation : statut, roadmap, plans V1/V2,
specs verticales (creche, sport), audits securite, plan de test,
analyse concurrentielle et maquettes de design.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>