Repository navigation
FR Contribuer Decisions
English · Type : référence · Public : contributeur · Contexte : dépôt du moteur · Statut : prête · S'applique depuis : 4.5.0
Un index des décisions consignées du projet : les décisions datées du mainteneur (D1 à D50) et les ADR, les
enregistrements de décisions d'architecture (ADR 0001 à 0030). Les deux vivent dans la documentation publique de
développement, docs/dev/, en anglais ; cette page les indexe, elle ne les recopie pas. Les titres des ADR ci-dessous
sont ceux des fichiers, en anglais.
| Registre | Fichier | Ce qu'est une entrée |
|---|---|---|
| Décisions | docs/dev/DECISIONS.md |
Une ligne par décision, datée, écrite par l'assistant qui l'a reçue, jamais sans décision humaine ; les mots du mainteneur cités (souvent en français, avec l'anglais à côté) |
| ADR | docs/dev/adr/ |
Un fichier par décision qui semble surprenante sans son contexte : le contexte, la décision, ce qu'elle coûte, ce qui la ferait changer |
| L'échange | docs/dev/LOG.md |
Des entrées numérotées, datées, jamais réécrites (propositions, relectures, réponses) qui mènent aux décisions |
DECISIONS.md se termine par une liste « Pending (asked, not decided) » ; au 23 octobre 2026 elle dit « (none) ». Il
n'y a pas de D6 : la numérotation passe de D5 à D7.
| ADR | Décision |
|---|---|
| 0001 | The DOM is the reference renderer |
| 0002 | Content is data; code a game needs is trusted and named |
| 0003 | The solver runs the real engine |
| 0004 | A session is the unit of reproduction |
| 0005 | A save is read back before it counts |
| 0006 | A double tap acts with the verb a player means |
| 0007 | Biscuit authorises a connector; a signature attests an event (4.1.1) |
| 0008 | A connector is a process of its own, behind one small SDK (4.1.9) |
| 0009 | The Bridge keeps its state behind an asynchronous RealityStore (4.1.10) |
| 0010 |
SignalV2: a signed signal names the context it was signed for (4.1.10) |
| 0011 | A scene frame, intentions and a semantic journal (4.1.11) |
| 0012 | Canvas 2D stays the complete backend; WebGL/Pixi not measured in 4.1.11 |
| 0013 | One intermediate representation of a game (GameIR) and its fingerprint (4.1.12) |
| 0014 | Objectives and the quest journal, the one primitive family admitted in 4.1.12 |
| 0015 | A search stores its states by index, with exact interned keys (4.1.13 "Solver Research") |
| 0016 | A run clock that observes, a seeded generator, a chained proof of a run (4.1.14) |
| 0017 | Speedrun verdicts and trust levels (4.1.14) |
| 0018 | A variation manifest compiles to an immutable world (4.1.15) |
| 0019 | A run is bound to the world it was played in (4.1.16) |
| 0020 | A minigame's result is computed again from its transcript (4.1.17) |
| 0021 | A backup is one snapshot; a restore is all or nothing (4.1.19) |
| 0022 | The player chooses the hero: variant names, text switches, portraits in a choice (4.3.0) |
| 0023 | A backup says what it holds; a restore says its mode (4.1.20) |
| 0024 | A pass is bound to its surface, and carried only by a signed attestation (4.1.20) |
| 0025 | One shared game, edited live: transactions, one owner per file, revisions (4.2.1) |
| 0026 | Saves across revisions: the envelope unchanged, a question before resuming (4.2.2) |
| 0027 | The Studio Server's identity: OIDC for who, the Studio for what (4.2.1) |
| 0028 | Where a hosted Studio runs the game's code: a worker without secrets (4.2.1) |
| 0029 | The remote MCP: the same checks as the API, by going through it (4.2.3) |
| 0030 | The documentation is generated from one source in the repository, and published per release (4.5.0) |
Une ligne chacune ; le texte complet, avec les mots du mainteneur, est dans DECISIONS.md.
| Décisions | Dates | Ce qu'elles tranchent |
|---|---|---|
| D1–D4 | 4 oct. 2026 | La v3 peut casser la v2, chaque rupture avec sa migration (D1) ; le modèle de branches de la v3 (D2) ; le mainteneur tranche chaque désaccord et l'échange est committé dans docs/dev/, en anglais (D3) ; le but : une v3 à laquelle un petit studio ferait confiance (D4) |
| D5, D7–D9 | 4 oct. 2026 | Le jeu entier hors ligne après la première visite (D5) ; main est la branche de release après la v3.0.0, WebKit bloquant après trois exécutions vertes (D7) ; le jeu privé de référence reste en 3.1.0 (D8) ; une branche à la fois, fusionnée sur CI verte, relue ensuite (D9) |
| D10–D13 | 5 oct. 2026 | Un rendu Canvas 2D à côté de celui du DOM (D10) ; les versions 3.3.1 à 3.5 (D11) ; les barrières humaines rapportées, non bloquantes (D12) ; le chapitre de référence reprend l'art de la démo (D13) |
| D14–D17 | 6 oct. 2026 | La ligne 4.1.x avant la 4.2 (D14) ; l'enveloppe signée du Reality Bridge (D15), Biscuit sur le Bridge seulement (D16), Server-Sent Events, pas de WebSocket (D17) |
| D18–D29 | 7–8 oct. 2026 | Le programme 4.1.8–4.1.15 (D18) ; les connecteurs en processus séparés (D19) ; le stockage du Bridge (D20) ; le rendu n'est pas une source d'état (D21) ; le DSL stabilisé puis gelé (D22, D28) ; LiveSplit et OBS en local (D23) ; l'horloge du run observe (D24) ; les stratégies de Remix, les graines Mystery et Daily, la variance de présentation (D25–D27) ; une catégorie de speedrun nomme son monde (D29) |
| D30–D37 | 8–14 oct. 2026 | La signature des tags repoussée à la 4.2 (D30) ; le résultat d'un mini-jeu prouvé (D31) ; 4.1.18, 4.1.19, 4.1.20 (D32–D34) ; une passe qualifie une surface (D35) ; deux modes de restauration (D36) ; la racine de confiance est la clé logicielle du mainteneur, chaque tag signé demande son propre oui explicite (D37) |
| D38–D46 | 15–20 oct. 2026 | La 4.2.0 sort avant les passes humaines, sur un périmètre stable réduit (D38) ; le Studio Server en trois correctifs 4.2.x, hébergé derrière OIDC (D39–D41) ; les choix de la 4.2.2 et de la 4.2.3 (D42–D45) ; des champs facultatifs de présentation seulement en 4.2.x (D46) |
| D47–D50 | 20–23 oct. 2026 | Le projet devient quest'n'click (D47) ; main est la ligne 4.3 (D48) ; la 4.3 « Hero Choice » (D49) ; la documentation passe à un wiki généré depuis wiki/, et le oui pour signer la v4.5.0 (D50) |
- Gouvernance : qui décide, et comment une décision est consignée.
- Architecture relie les ADR qui fondent la conception du moteur.
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.4.0 r1, documentation revision · révision de la documentation 8dc717c69acb62c4742b69c54a7e7dfb620f75d8.
Earlier versions and permalinks · versions précédentes et liens permanents: https://wanoo.github.io/quest-n-click/docs/
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Démarrer (6)
Jouer (9)
Installer (17)
- Prérequis
- Installer depuis l'archive de la release
- Installer depuis npm, une fois publié
- Installer depuis le dépôt pour travailler sur le moteur
- doctor : vérifier sa machine
- Outils pour les images
- Outils audio : ffmpeg, fluidsynth, Furnace, uv
- Mettre à jour
- Notes de mise à jour : 4.4
- Notes de mise à jour : 4.3
- Notes de mise à jour : 4.2
- Notes de mise à jour : 4.1
- Notes de mise à jour : v3
- Notes de mise à jour : v2 vers v3
- Venir de web-scumm
- Référence du paquet
- Dépannage de l'installation
Créer un jeu (55)
- Votre premier jeu
- Organisation d'un projet créé et du dépôt du moteur
- La boucle de travail
- Principes du contenu et contrat d'identité
- Salles
- Géométrie : placement, zones de marche, masques, calques, caméra
- Un objet est visible mais inaccessible
- Réactions
- Commandes du jeu
- Conditions
- Drapeaux, variables et événements : lequel choisir
- Code sur mesure
- Personnages
- Objets et inventaire
- Carte du monde
- Dialogues
- Scripts et événements
- Faire bouger les personnages : patrouilles et marches
- Sorties
- Chapitres et objectifs
- État et sauvegardes : persistant ou temporaire, renommer un id, migrations
- Mise en scène : salles larges et animations
- La scène : lumières, particules, sols
- Habillage et polices
- Titre et générique
- Héros : plusieurs personnages et choix du héros
- Mini-jeux intégrés
- Un mini-jeu sur mesure
- Traductions
- Musique en stems
- Bruitages
- Voix : par langue et par héros
- Images : prompts, découpe des planches, transparence, échelle
- Provenance des assets
- Le storyboard, source de vérité
- Concevoir des énigmes
- Mécaniques classiques
- Pages de relecture
- Référence du DSL
- Vérifier son jeu
- Ce que prouve le solveur
- Options du solveur
- Playtests
- Remix
- Speedrun pour les auteurs
- La fin scellée
- Modèle de production
- Jeux d'exemple
- Travailler avec une IA
- Construire et publier un jeu
- Publier sur GitHub Pages
- Le jeu statique sur Clever Cloud
- Autres hébergeurs statiques
- Sous-chemin, cache et service worker, déploiement incomplet, retour arrière
- Tester sur un téléphone en réseau local
Studio local (24)
- Le Studio local : présentation et lancement
- Modifier une salle
- Placement et scène
- Aperçu, application, annulation
- Storyboard
- Assets et découpe
- Vérifier : validateur, solveur, chemin critique, chaleur, santé, couverture
- Captures avant et après
- Diff sémantique
- Jouer et rejouer une session
- Explication des règles
- Langue et objectifs
- Voix et matrice héros × langues
- Carte
- Notes
- Remix dans le Studio
- Musique
- L'Assistant : votre propre clé
- Mode démo et studio-apply
- Sécurité en local et en réseau local
- API du Studio
- MCP local : configurer chaque client
- Outils MCP
- Dépannage du Studio
Studio d'équipe (21)
- Ce qui tourne où
- Concepts : révision, transaction, pan, bail, aperçu, build
- Débuter comme dev invité
- Travailler ensemble au quotidien
- Rôles et actions : la matrice complète
- Invitations
- Gérer les membres
- Écriture refusée sur le Studio hébergé : révision de base périmée (409)
- Écriture refusée sur le Studio hébergé : pan verrouillé (423)
- Reprendre après un bail perdu, une déconnexion ou un aperçu périmé
- Commentaires
- Carte et diff sémantique
- Publier des builds
- MCP distant
- Le jeu dans Git
- Mettre à jour le moteur d'un jeu hébergé
- Assets hébergés
- La ligne de commande du serveur
- Routes de santé et de métriques
- L'essayer en local avec compose.yml
- Limites connues
Clever Cloud (23)
- Clever Cloud : vue d'ensemble, coût et prérequis
- Applications et add-ons
- Domaines et TLS
- Keycloak
- OIDC générique et GitLab
- Configuration
- Premier déploiement
- Sauvegardes
- RPO et RTO
- Exercice de restauration sur une installation vierge
- Redéploiements
- Mettre à jour le serveur et vérifier l'état après une migration
- Limites du retour arrière
- Supervision
- Sécurité
- Renouveler les clés
- Récupérer l'accès administrateur
- Changer de domaine ou de fournisseur OIDC
- Worker, PostgreSQL ou Cellar en panne
- Exporter le jeu et quitter l'installation
- Rétention
- Dépannage sur Clever Cloud
- Coûts et démontage
Reality Bridge et connecteurs (16)
- Le Reality Bridge : ce que c'est
- Démarrage rapide
- Garanties
- Installer et lancer le Bridge
- Sauvegarde et restauration
- Plusieurs tenants
- Signaux et manifeste
- La ligne de commande du Bridge
- Vue d'ensemble des connecteurs
- Connecteur email
- Connecteur Telnet
- Connecteur SSH
- Connecteur Open Badges
- Le SDK des connecteurs
- Sécurité : Biscuit et signatures
- Dépannage du Bridge et des connecteurs
Contribuer (25)
- Bienvenue
- Préparer son poste de développement
- La boucle de développement
- Avant une pull request
- Conventions
- Écrire la documentation
- Architecture
- Visite du code
- Frontières d'import
- Quels tests tournent quand
- Tests de mutation
- Le cliquet de couverture
- La référence de qualité
- La CI expliquée
- Passes de terrain
- Mesures de performance
- Publier une release
- Paquets npm
- Décisions et ADR
- Gouvernance
- Pull requests des bots
- Contribuer avec des agents IA
- Politique de sécurité
- Code de conduite
- Licences et crédits