LOT Q0 : socle du démonstrateur Quelque part en 2035

Scaffold Vite + TypeScript + Three.js (scène vide : sol + boîte, marqueur de build),
store et encodage de l'état dans l'URL (5 tests), lint de frontières entre modules,
pipeline d'extraction Rhino (graine du 26/09) et première géométrie v0,
deploy.sh statique (releases + lien symbolique + smoke), AGENTS.md, RUNBOOK, licences MIT + CC BY-SA 4.0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Jules Nény
2026-09-27 15:21:40 +02:00
co-authored by Claude Fable 5.1
commit 2e249f1027
33 changed files with 2026 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# AGENTS.md — contrat du repo `quartier`
> Lu par toute session (humaine ou agent) avant de toucher ce repo. Squelette commun aux repos de Jules (décision du 26/09/2026), rempli ici pour le démonstrateur « Quelque part en 2035 ».
## Ce que c'est
Le quartier type de TMIP en mouvement : une scène Three.js générée depuis le plan du concours 2020, en deux régimes (ambiance en fond de la page d'accueil de la plateforme REinNOVER, démo plein écran sur `quartier.trans-former.fr`). Site statique, aucun serveur, aucune donnée collectée.
## Sources de vérité (dans cet ordre)
1. Vault, `1 PROJETS/TMIP/REinNOVER/Quartier 3D/` : `PILOTE - Quartier 3D TMIP.md` (état, lots, gates) → `ARCHITECTURE - Quartier 3D.md` (prescriptif) → `CONTENU - couches, dispositifs, ramifications.md` (matrice) → `CONCEPT - Quelque part en 2035 (démonstrateur).md` (pourquoi).
2. `docs/RUNBOOK.md` (ici) pour déployer, revenir en arrière, régénérer la géométrie.
3. Le plan Rhino source ne vit pas ici (Dropbox, `Archives TMIP/`) ; `sources/` en garde une copie locale ignorée par git.
## Les trois étages, et la règle
- `content/` : ce que Jules écrit (markdown + frontmatter). **Le moteur ne connaît aucun dispositif.**
- `data/quartier.geo.json` : géométrie générée par `pipeline/`, jamais dessinée à la main hors `overrides/`.
- `src/` : le moteur. Frontières vérifiées par `npm run lint:frontieres` : `ui/` ↔ `gen/`, `fx/`, `horscamp/` ne s'importent jamais ; tout passe par `core/state`.
## Commandes
```
npm install # deps : three, zod, vite, typescript
npm run dev # http://localhost:5173 (?mode=ambiance pour le régime ambiance)
npm run check # frontières + types + tests
./deploy.sh # build local → VPS → /opt/quartier/current (voir RUNBOOK)
```
## Ce qu'on ne fait jamais
- Coder un dispositif, un chiffre ou un texte dans `src/` : c'est du contenu.
- Multiplier un chiffre par le quartier tant que le livret de calculs n'est pas rouvert (pilote §Lignes fermées).
- Un score, un badge, un tracker, un script tiers.
- Une bibliothèque UI ou CSS hors `@transformer/ui`.
- Travailler dans une copie du repo sous Dropbox, ou commiter un secret, un `.3dm`, un `dist/`.
- Ouvrir un port : le site est servi par Caddy en `file_server`, point.
## Fin de session
`npm run check` vert · `git push` · `RECAP-LOT-Q<n>.md` dans le dossier du pilote (vault) · §État du pilote écrasé.