|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
| Guide | |
| Lot | |
| LOT-01-fork-purge | |
| LOT-02-hmilib | |
| LOT-03-level-data | |
| LOT-04-format-v3-multicouches | |
| LOT-05-modes-de-jeu | |
| LOT-06-deplacement-top-down | |
| LOT-07-rendu-tri-par-y | |
| LOT-08-tuiles-rpg | |
| LOT-10-entites-de-carte | |
| LOT-12-des-caracteristiques-jets | |
| LOT-13-fiche-de-personnage | |
| LOT-14-inventaire-et-equipement | |
| LOT-18-bascule-exploration-combat | |
| LOT-30-chaine-extraction-corpus | |
| LOT-32-schemas-donnees-rpg | |
| LOT-33-bestiaire-de-base | |
| LOT-34-equipement | |
| LOT-36-especes-historiques-classes | |
| LOT-37-atlas-des-regions | |
| LOT-38-fiche-de-personnage | |
| LOT-39-cles-assets | |
| LOT-43-options-de-personnage | |
| LOT-66-charte-visuelle | |
| LOT-67-menus-vocabulaire-rpg | |
| LOT-68-chassis-ecrans-rpg | |
| LOT-76-habillage-interface | |
| LOT-77-specification-rpg | |
| LOT-78-numeros-herites | |
| LOT-79-socle-chargement-donnees | |
| LOT-86-refonte-hmi-quick | |
| LOT-87-charte-v2 | |
| Manuel | |
| Source | |
| App | |
| Common | |
| Bootstrap.cpp | |
| Bootstrap.h | Amorçage partagé par les deux applications (LOT-86) |
| Editor | |
| Main.cpp | Point d'entrée de l'éditeur de niveaux (LevelEditor) — Qt Widgets |
| Game | |
| Main.cpp | Point d'entrée du jeu (JustAnotherDnDGame) — Qt Quick, sans un seul widget |
| Core | |
| Combat | |
| CombatTransition.cpp | |
| CombatTransition.h | L'aller-retour exploration ↔ combat : ce qu'on met de côté, et ce qu'on retrouve (LOT-18, EX-CBT-001) |
| Encounter.cpp | |
| Encounter.h | Une rencontre : qui se dresse, et où, quand le combat s'engage (LOT-18, EX-CBT-001) |
| Data | |
| JsonDocument.cpp | |
| JsonDocument.h | Brique de lecture JSON partagée par tous les catalogues (EX-CNT-012) |
| Diagnostics | |
| Assert.cpp | |
| Assert.h | Assertions du projet : vérifient préconditions et invariants (bugs) |
| ConsoleLogSink.cpp | |
| ConsoleLogSink.h | Sink écrivant sur la console (et le débogueur sous Windows) |
| FileLogSink.cpp | |
| FileLogSink.h | Sink écrivant les messages dans un fichier, avec flush immédiat |
| ILogSink.h | Interface d'une destination de journalisation |
| Log.h | Macros de journalisation génériques (catégorie, niveau, fichier/ligne, horodatage) |
| LogFormat.cpp | |
| LogFormat.h | Formatage des lignes de journalisation |
| Logger.cpp | |
| Logger.h | Journaliseur : filtrage par niveau et diffusion vers des sinks |
| LogLevel.h | Niveaux de journalisation, par gravité croissante |
| LogLevelParse.h | Analyse d'un niveau de log depuis une chaîne (configuration au lancement) |
| MemoryLogSink.h | Sink qui conserve les messages en mémoire, destiné aux tests |
| ScopedLogLevel.h | Élévation temporaire (RAII) du niveau minimal d'un Logger |
| Ecs | |
| Components | |
| Actor.h | Composant du personnage qui se déplace sur la carte (données pures) |
| Animation.h | Composant d'état d'animation par séquence d'images (données pures) |
| Collider.h | Composant de boîte de collision (AABB) d'une entité (données pures) |
| Interactable.h | Composant d'une entité de carte avec laquelle le joueur peut interagir (données pures) |
| Particle.h | Composant de particule visuelle, simulée au pas fixe (LOT-53, EX-REN-008) |
| RpgActor.h | Composant reliant une entité de la carte à sa fiche de personnage (données pures) |
| Sprite.h | Composant d'apparence 2D d'une entité (données pures) |
| Transform.h | Composant de placement d'une entité dans le monde (données pures) |
| Velocity.h | Composant de vitesse linéaire d'une entité (données pures) |
| Systems | |
| AnimationSystem.cpp | |
| AnimationSystem.h | Système d'animation générique, piloté par données (LOT-46) |
| MovementSystem.cpp | |
| MovementSystem.h | Système intégrant la position des entités à partir de leur vitesse |
| ParticleSystem.cpp | |
| ParticleSystem.h | Émetteur et simulation de particules, au pas fixe, déterministe, budget borné (LOT-53 TACHE-01, EX-REN-008) |
| TopDownMovementSystem.cpp | |
| TopDownMovementSystem.h | Déplacement libre en 8 directions sur une carte en vue de dessus (LOT-06) |
| AnimationClip.cpp | |
| AnimationClip.h | Clip d'animation en tant que donnée, et jeu de clips nommés (LOT-46) |
| ComponentPool.h | Stockage typé des composants d'un ECS sous forme de sparse set |
| EcsLog.h | Macros de journalisation de la catégorie « Ecs » |
| Entity.h | Identifiant d'entité de l'ECS : handle générationnel (index + génération) |
| EntityManager.cpp | |
| EntityManager.h | Gestionnaire du cycle de vie des entités (création, destruction, recyclage) |
| ISystem.h | Interface d'un système de l'ECS : logique exécutée au pas de temps fixe |
| View.h | Vue multi-composants : itère les entités possédant un ensemble de types |
| World.cpp | |
| World.h | Façade de l'ECS : entités, composants, vues et orchestration des systèmes |
| Gameplay | |
| GameplayLog.h | Macros de journalisation de la catégorie « Gameplay » |
| Interaction.cpp | |
| Interaction.h | Désignation et résolution de la cible d'interaction (LOT-10) |
| MapEntitySpawner.cpp | |
| MapEntitySpawner.h | Instanciation ECS des entités de la couche objects d'un niveau (LOT-10) |
| MechanismController.cpp | |
| MechanismController.h | Comportement des mécanismes interrupteur↔porte : état + grille de collision |
| WorldFlags.cpp | |
| WorldFlags.h | Les drapeaux de monde : ce qui a eu lieu et ne doit pas avoir lieu deux fois (LOT-10) |
| Levels | |
| CameraFraming.cpp | |
| CameraFraming.h | Mode de cadrage de caméra porté par le niveau (EX-LVL-006, EX-REN-016, LOT-64) |
| GridPosition.h | Position entière dans la grille d'un niveau (colonne, ligne) |
| Level.h | Niveau chargé : grille de tuiles, entrée/sortie et mécanismes |
| LevelDraft.cpp | |
| LevelDraft.h | Représentation mutable d'un niveau en cours d'édition |
| LevelLoader.cpp | |
| LevelLoader.h | Chargement d'un niveau depuis le format JSON (liste de tuiles-objets) |
| LevelOutcome.cpp | |
| LevelOutcome.h | Issue d'un niveau (en cours / gagné / perdu) évaluée depuis la position du personnage |
| LevelProperties.h | Propriétés libres d'une couche ou d'une entité de carte |
| LevelScene.cpp | |
| LevelScene.h | Projection d'un niveau en entités ECS (une tuile non vide = un sprite) |
| LevelsLog.h | Macros de journalisation de la catégorie « Levels » |
| LevelWriter.cpp | |
| LevelWriter.h | Sérialisation d'un niveau vers le format JSON, symétrique à LevelLoader |
| MapEntity.h | Entité placée sur une carte : PNJ, coffre, panneau, portail, déclencheur (LOT-04) |
| Plane.h | Plan pictural d'un niveau : image couvrant le niveau entier (EX-DEC-040, LOT-69) |
| TileLayer.h | Couche de tuiles typée d'une carte (LOT-04) |
| TileMap.cpp | |
| TileMap.h | Grille de tuiles typées d'un niveau |
| TileType.h | Types de tuiles d'une carte et utilitaires associés |
| TileTypeName.cpp | |
| TileTypeName.h | Correspondance entre core::TileType et son nom textuel (EX-LVL-003) |
| Math | |
| DeterministicRandom.h | Générateur pseudo-aléatoire déterministe, à graine explicite (jamais l'horloge, EX-NFR-002) |
| MathUtils.h | Utilitaires mathématiques minimaux de Core (comparaisons flottantes) |
| Rect.cpp | |
| Rect.h | Rectangle aligné sur les axes en coordonnées monde, propre à Core |
| Vector2.cpp | |
| Vector2.h | Vecteur 2D à composantes flottantes, propre à Core (sans dépendance DirectX) |
| Physics | |
| Aabb.h | Boîte englobante alignée aux axes (AABB) et fabrique associée |
| AabbVsAabb.cpp | |
| AabbVsAabb.h | Collision continue d'une boîte AABB mobile contre une boîte AABB fixe (EX-GP-005), en complément du balayage sur grille (sweepAabb) |
| PhysicsConfig.h | Constantes de réglage de la physique du personnage (données pures) |
| PhysicsLog.h | Macros de journalisation de la catégorie « Physics » |
| PlayerInput.h | Intention de déplacement du personnage, neutre vis-à-vis de l'entrée physique |
| PlayerSpawn.h | Taille du personnage jouable (humanoïde) et placement centré au spawn |
| SweptCollision.cpp | |
| SweptCollision.h | Collision continue (balayage) d'une boîte AABB contre une grille de tuiles solides |
| TopDownConfig.h | Réglages du déplacement en vue de dessus (données pures) |
| Resources | |
| AssetKey.cpp | |
| AssetKey.h | Les clés d'assets d'entité : comment une donnée désigne son illustration (LOT-39, EX-CNT-040, EX-CNT-041) |
| AssetMarker.cpp | |
| AssetMarker.h | Le marqueur qui tient lieu d'illustration tant qu'aucune n'existe (LOT-39, EX-CNT-041) |
| Rpg | |
| Ability.cpp | |
| Ability.h | Les six caractéristiques et leur modificateur (EX-DND-010) |
| Bestiary.cpp | |
| Bestiary.h | Chargement du catalogue de créatures (LOT-33, EX-CNT-010, EX-CNT-031) |
| CharacterOptions.cpp | |
| CharacterOptions.h | Espèces, historiques et classes : de quoi construire un personnage (LOT-36) |
| CharacterSheet.cpp | |
| CharacterSheet.h | La fiche d'une créature : caractéristiques, PV, CA, niveau, maîtrises (LOT-13) |
| Check.cpp | |
| Check.h | Le jet de d20 : avantage, désavantage, seuil, restitution (EX-DND-002, EX-DND-003) |
| Dice.cpp | |
| Dice.h | Notation de dés NdF+M : analyse, évaluation, bornes (EX-NFR-002) |
| Equipment.cpp | |
| Equipment.h | Armes, armures et le calcul de la classe d'armure (LOT-34) |
| Inventory.cpp | |
| Inventory.h | Objets portés, emplacements d'équipement et statistiques dérivées (LOT-14, EX-INV-020) |
| Multiclassing.cpp | |
| Multiclassing.h | Cumul des emplacements de sorts d'un personnage multiclassé (EX-RPG-041) |
| RpgEnumNames.cpp | |
| RpgEnumNames.h | Correspondance entre les énumérations RPG et leurs noms textuels (EX-CNT-011) |
| RpgEnums.h | Les quatre énumérations fermées du RPG : dégâts, conditions, écoles, tailles |
| Scale.h | L'échelle du monde : une case vaut 1,5 mètre |
| Skill.cpp | |
| Skill.h | Le catalogue des compétences et la caractéristique de chacune (LOT-13) |
| Time | |
| FixedTimestep.cpp | |
| FixedTimestep.h | Cadenceur à pas de temps fixe pour une simulation déterministe |
| World | |
| Atlas.cpp | |
| Atlas.h | Chargement de l'atlas des régions et du graphe de cartes (LOT-37, EX-CNT-010) |
| GridDistanceField.cpp | |
| GridDistanceField.h | Champ de distances de plus court chemin sur la grille, respectant les murs (amendement LOT-ANNEXE-08, EX-IA-023) |
| BuildConfig.h | Indicateurs de configuration de build (développement vs release) |
| Core.cpp | |
| Core.h | Interface publique de la bibliothèque Core (moteur / logique de jeu) |
| CoreLog.h | Macros de journalisation de la catégorie « Core » |
| Elements | |
| Assets | |
| Audio | |
| HMI | |
| Audio | |
| AudioEngine.cpp | |
| AudioEngine.h | Socle de lecture audio : enveloppe fine autour de QSoundEffect (EX-REN-047) |
| AudioLog.h | Macros de journalisation de la catégorie « Audio » |
| SoundCatalog.cpp | |
| SoundCatalog.h | Association nom logique d'événement → fichier de son (EX-REN-047) |
| SoundTriggers.cpp | |
| SoundTriggers.h | Table événement de jeu → identifiant de son (EX-REN-047) |
| Diagnostics | |
| SessionLog.cpp | |
| SessionLog.h | Sérialisation et enregistrement des messages de log de la session |
| Editor | |
| AssetFileOperations.cpp | |
| AssetFileOperations.h | Opérations fichiers sur les assets d'un dossier (créer/renommer/dupliquer/supprimer), sans Qt (EX-EDIT-026) |
| AssetLibrary.cpp | |
| AssetLibrary.h | Balayage et filtrage d'un dossier d'assets image, partagé par toutes les sections du panneau « Textures » (EX-EDIT-026) |
| AssetReferences.cpp | |
| AssetReferences.h | Détection des références à un fichier d'asset, pour avertir avant renommage/suppression (EX-EDIT-026) |
| AssetThumbnailView.cpp | |
| AssetThumbnailView.h | Widget de vignettes partagé, pour parcourir, choisir et gérer les fichiers d'un dossier d'assets (EX-EDIT-026) |
| EditContextTarget.h | Cible des commandes Annuler/Refaire/Copier/Coller, indépendante du contexte d'édition qui les implémente (LOT-57 TACHE-04, EX-IHM-062) |
| EditorStatus.cpp | |
| EditorStatus.h | Choix du contenu de la barre d'état de l'éditeur : zones permanentes et aide contextuelle à l'outil actif (LOT-57 TACHE-01, EX-IHM-060) |
| EditorTool.h | Outil actif dans la grille de l'éditeur (LOT-15, EX-EDIT-014) |
| FileOperationResult.h | Résultat d'une opération de fichier de l'éditeur, partagé par les niveaux (LevelFileOperations) et les assets (AssetFileOperations) |
| LevelBrowserPanel.cpp | |
| LevelBrowserPanel.h | Panneau « Niveaux » : liste, recherche et gestion des fichiers de niveaux (LOT-36) |
| LevelFileOperations.cpp | |
| LevelFileOperations.h | Opérations fichiers sur les niveaux (créer/renommer/dupliquer/supprimer), sans Qt (LOT-36) |
| LevelNameValidation.cpp | |
| LevelNameValidation.h | Validation d'un nom de niveau saisi dans l'éditeur (EX-EDIT-009) |
| LinkGeometry.cpp | |
| LinkGeometry.h | Géométrie et modèle d'affichage des liens de mécanismes (LOT-37), purs et testables |
| LinkGesture.cpp | |
| LinkGesture.h | Machine à état du geste de l'outil « Lien » (LOT-37), pure et testable |
| LinkPanel.cpp | |
| LinkPanel.h | Panneau « Liens » : liste/surbrillance/suppression des liaisons de mécanismes (LOT-37) |
| MechanismAnimationAssignments.cpp | |
| MechanismAnimationAssignments.h | Logique pure de la section « Animations » du panneau « Textures » (LOT-47 TACHE-04) |
| PaletteAppearance.cpp | |
| PaletteAppearance.h | Choix de la vignette d'un type de tuile dans la palette (EX-EDIT-027) |
| PalettePanel.cpp | |
| PalettePanel.h | Panneau « Palette » : arbre de sélection du type de tuile à peindre (LOT-35) |
| PanelFocus.cpp | |
| PanelFocus.h | Correspondance outil actif → panneau à mettre en avant (LOT-57 TACHE-02, EX-IHM-061) |
| PixelAssetIO.cpp | |
| PixelAssetIO.h | Tailles d'asset proposées à la création dans l'atelier pixel art (LOT-54 TACHE-05, EX-REN-007) |
| PixelAutotilePreview.cpp | |
| PixelAutotilePreview.h | Mode planche à raccords de l'atelier pixel art : détection, case survolée et aperçu d'assemblage (LOT-54 TACHE-08, EX-EDIT-025) |
| PixelCanvas.cpp | |
| PixelCanvas.h | Canevas de l'atelier pixel art : affiche et édite un hmi::DecodedImage en mémoire (LOT-54 TACHE-03, EX-EDIT-045) |
| PixelCanvasGeometry.cpp | |
| PixelCanvasGeometry.h | Conversions pures vue ↔ image du canevas pixel art (LOT-54 TACHE-03, EX-EDIT-045) |
| PixelHistory.cpp | |
| PixelHistory.h | Historique nommé, annulation et rétablissement du canevas pixel art (LOT-54 TACHE-02) |
| PixelHistoryPanel.cpp | |
| PixelHistoryPanel.h | Panneau d'historique visuel de l'atelier pixel art (LOT-54 TACHE-04, EX-IHM-060) |
| PixelOperations.cpp | |
| PixelOperations.h | Opérations pures sur un tampon de pixels RGBA (atelier pixel art, LOT-54 TACHE-02) |
| PixelPalette.cpp | |
| PixelPalette.h | Palette de projet persistée, extraction depuis un asset et contrainte de couleur (LOT-54 TACHE-07, EX-REN-042) |
| PixelPalettePanel.cpp | |
| PixelPalettePanel.h | Panneau d'édition de la palette de projet de l'atelier pixel art (LOT-54 TACHE-07) |
| PixelTool.h | Outil actif du canevas pixel art (LOT-54 TACHE-03/TACHE-04) |
| PlaneFileNaming.cpp | |
| PlaneFileNaming.h | Nommage et dimensions des fichiers de plan (EX-EDIT-047, EX-DEC-041, LOT-69 TACHE-08) |
| PlaneReference.cpp | |
| PlaneReference.h | Repères géométriques du mode création : pelure d'oignon des tuiles, aplatissement des plans voisins et rééchantillonnage (EX-EDIT-046, EX-DEC-045, LOT-69 TACHE-07) |
| PlanesPanel.cpp | |
| PlanesPanel.h | Panneau « Plans » : liste ordonnée des plans picturaux et réglages du plan sélectionné (EX-EDIT-047, LOT-69 TACHE-08) |
| SkinAssignments.cpp | |
| SkinAssignments.h | Logique pure alimentant le panneau « Textures » (EX-EDIT-042, EX-EDIT-024) |
| TaxonomyLabels.cpp | |
| TaxonomyLabels.h | Traduction des libellés de la taxonomie de tuiles (EX-REN-033) |
| TextureAssignGesture.cpp | |
| TextureAssignGesture.h | Geste de l'outil « Texture par instance » (LOT-45), pur et testable |
| TexturePanel.cpp | |
| TexturePanel.h | Panneau « Textures » : jeu de skins courant et assignation par type (LOT-42) |
| ThumbnailGeometry.cpp | |
| ThumbnailGeometry.h | Dimensionnement des vignettes de l'éditeur à l'échelle d'affichage réelle (LOT-56 TACHE-05, EX-IHM-053) |
| TileTaxonomy.cpp | |
| TileTaxonomy.h | Organisation des types de tuiles en catégories/sous-groupes pour la palette (LOT-35) |
| Game | |
| CombatMode.cpp | |
| CombatMode.h | Mode combat : l'ordre des passes quand le monde est gelé (LOT-18, EX-CBT-001) |
| DiagnosticsHud.cpp | |
| DiagnosticsHud.h | Compteur de cadence et de primitives, affichable en jeu (LOT-62 TACHE-02, EX-NFR-001, EX-NFR-005) |
| ExplorationMode.cpp | |
| ExplorationMode.h | Mode d'exploration : l'ordre des passes du pas fixe hors dialogue et hors combat |
| GameEvents.cpp | |
| GameEvents.h | Détection pure des transitions d'état du jeu et de l'IHM (EX-REN-047, LOT-60) |
| GameHud.cpp | |
| GameHud.h | Choix du contenu de l'affichage tête haute : invite contextuelle, nom du tableau (LOT-52 TACHE-03, EX-IHM-003) |
| GameSession.cpp | |
| GameSession.h | Session de jeu réutilisable : simule et rend un niveau, sans dépendance d'écran |
| GameViewport.cpp | |
| GameViewport.h | Viewport de l'éditeur : rendu du brouillon d'édition et de l'essai sur QRhi (LOT-34/35, porté au LOT-69 TACHE-02) |
| GameViewportItem.cpp | |
| GameViewportItem.h | La surface de rendu du jeu, en Qt Quick (LOT-86) |
| IGameMode.h | Mode de jeu : l'ordre des passes d'un pas fixe, séparé de l'orchestrateur (LOT-05) |
| Graphics | |
| AnimationCatalog.cpp | |
| AnimationCatalog.h | Lecture et validation du format nom-asset.anim.json (LOT-46 TACHE-03) |
| AssetContract.cpp | |
| AssetContract.h | Contrat de dimensions par famille d'assets graphiques et validation pure (EX-REN-007) |
| AssetPaths.cpp | |
| AssetPaths.h | Résolution de chemins d'assets graphiques dans un dossier donné |
| BackgroundRenderer.cpp | |
| BackgroundRenderer.h | Composition du fond de niveau sur le calque RenderLayer::Background (LOT-44, EX-REN-044) |
| BitmapFont.cpp | |
| BitmapFont.h | Police bitmap chargée depuis un asset (avec métriques), repli procédural (LOT-52) |
| CacheRegistry.h | Registre générique clé → ressource chargée paresseusement, avec invalidation (EX-REN-043, LOT-43) |
| Camera2D.cpp | |
| Camera2D.h | Caméra 2D : conversion entre unités monde et pixels écran |
| CameraZones.cpp | |
| CameraZones.h | Résolution de la zone de caméra active parmi des zones dessinées à la main (mode par salle, core::CameraZone) |
| ComposedScene.cpp | |
| ComposedScene.h | Composition du rendu : liste ordonnée des primitives d'une image, sans GPU (EX-NFR-004, EX-NFR-005) |
| DraftRenderer.cpp | |
| DraftRenderer.h | Rendu d'un brouillon d'édition (core::LevelDraft) dans le viewport (LOT-35) |
| FollowCamera.cpp | |
| FollowCamera.h | Caméra de suivi du personnage : zone morte, anticipation, lissage, bornage (EX-REN-016, LOT-64 TACHE-02) |
| GraphicsLog.h | Macros de journalisation de la catégorie « Graphics » |
| LayerVisibility.h | Jeu de visibilités par calque du mode d'inspection de l'éditeur (LOT-51, EX-EDIT-044) |
| MechanismVisuals.cpp | |
| MechanismVisuals.h | Correspondance état logique d'un mécanisme → nom de clip d'animation (LOT-47 TACHE-01) |
| MissingTexture.cpp | |
| MissingTexture.h | Repli visible (damier magenta) pour toute texture attendue mais absente (EX-NFR-040) |
| Parallax.cpp | |
| Parallax.h | Décalage de parallaxe, bornage d'un plan et décision d'activation (EX-DEC-043, LOT-69) |
| ParticleRenderer.cpp | |
| ParticleRenderer.h | Rendu des particules du personnage, sur les calques Object/Foreground (LOT-53 TACHE-03, EX-REN-008) |
| PlaneVisibility.h | Visibilité par rang de plan dans l'éditeur (EX-DEC-045, LOT-69 TACHE-05) |
| PlaneVisuals.cpp | |
| PlaneVisuals.h | Projection profondeur → calque, résolution et composition des plans picturaux (EX-REN-049, EX-DEC-040 à EX-DEC-042, LOT-69 TACHE-05) |
| PlayerSprite.cpp | |
| PlayerSprite.h | Logique pure de l'habillage du personnage par spritesheet externe (LOT-48) |
| PlayerSpriteTag.h | Marque de présentation portée par le personnage, pour son habillage (LOT-48) |
| PreviousPosition.h | Composant de rendu : position d'une entité au pas de simulation précédent (interpolation) |
| ProceduralAtlas.cpp | |
| ProceduralAtlas.h | Génération procédurale (CPU, sans GPU) des pixels de l'atlas de repli |
| ProceduralFont.cpp | |
| ProceduralFont.h | Métriques de police bitmap, mesure pure de texte, lecture JSON et repli procédural (LOT-52) — logique pure, sans GPU ni Qt (EX-NFR-010) |
| Quad.h | Primitives de dessin 2D (quads texturés), indépendantes de Direct3D |
| QuadRecorder.cpp | |
| QuadRecorder.h | Capture et inspection des primitives composées pour une image (EX-NFR-004) |
| RenderLayer.h | Ordonnancement de calques unique et explicite du rendu (EX-REN-014) |
| RenderMode.cpp | |
| RenderMode.h | Mode de rendu Physique/Texture et sa persistance (EX-REN-046) |
| RhiContext.h | Accès partagé au QRhi courant et au lot de mises à jour de ressources de l'image en cours (EX-REN-050, LOT-69 TACHE-02) |
| RoomGrid.cpp | |
| RoomGrid.h | Partition d'un niveau en salles de taille fixe, pour le cadrage caméra (LOT-32) |
| SceneResources.cpp | |
| SceneResources.h | Les ressources QRhi que toute surface de rendu du projet possède (LOT-86) |
| ShadowRenderer.cpp | |
| ShadowRenderer.h | Ombres du plan physique, sur RenderLayer::Shadow (LOT-55, EX-REN-045) |
| SkinCatalog.cpp | |
| SkinCatalog.h | Association type de tuile → asset et mode de rendu, groupée en jeux nommés (EX-EDIT-042, EX-EDIT-024) |
| SpriteBatch.cpp | |
| SpriteBatch.h | Pipeline de rendu 2D sur QRhi : accumule des quads texturés et les dessine par lots (EX-REN-050, LOT-69 TACHE-02) |
| SpriteRenderer.cpp | |
| SpriteRenderer.h | Rend les entités de l'ECS possédant un Transform et un Sprite |
| TextRenderer.cpp | |
| TextRenderer.h | Composition d'une chaîne en quads sur le calque UI, en espace écran (LOT-52) |
| TextureAtlas.cpp | |
| TextureAtlas.h | Atlas de textures (spritesheet) et ses régions de tuiles |
| TextureAtlasRegions.cpp | Mapping (colonne, ligne) -> région d'atlas de hmi::TextureAtlas (tile, playerFrameRegion) |
| TextureCache.cpp | |
| TextureCache.h | Registre de textures chargées à la demande par nom logique (EX-REN-043) |
| TextureLoader.cpp | |
| TextureLoader.h | Chargement de textures GPU depuis des fichiers image (EX-REN-041), au travers de QRhi |
| TileAppearance.cpp | |
| TileAppearance.h | Point de résolution unique de l'apparence d'une entité affichée (EX-REN-046) |
| TileAutotile.cpp | |
| TileAutotile.h | Raccords automatiques : voisinage solide → case d'une planche 4×4 (EX-EDIT-025) |
| TileSilhouette.cpp | |
| TileSilhouette.h | Détourage des tuiles dont la matière n'occupe pas toute la case |
| TileSkinTag.h | Marque de présentation portée par une entité tuile, pour résoudre son skin (EX-EDIT-042, EX-EDIT-025) |
| TileVisuals.cpp | |
| TileVisuals.h | Correspondance type de tuile → région d'atlas, partagée entre le jeu et l'éditeur |
| Input | |
| EditorKeyBindings.cpp | |
| EditorKeyBindings.h | Association remappable action d'éditeur -> touche clavier, avec persistance (EX-CTRL-012) |
| GameKeyBindings.cpp | |
| GameKeyBindings.h | Association remappable action de jeu -> touche clavier, avec persistance (EX-CTRL-012) |
| GamepadBindings.cpp | |
| GamepadBindings.h | Association remappable action de jeu -> bouton manette, avec persistance (EX-CTRL-002, EX-CTRL-012) |
| GamepadButton.h | Bouton manette logique, indépendant de toute action de jeu ou touche clavier |
| GamepadButtonName.cpp | |
| GamepadButtonName.h | Nom affichable d'un bouton manette et capture générique « prochain bouton pressé » (LOT-30) |
| GamepadPoller.cpp | |
| GamepadPoller.h | Sondage XInput de la manette, fusionné dans un InputState (réutilisable) |
| InputState.cpp | |
| InputState.h | État des entrées clavier/souris/manette échantillonné une fois par frame |
| KeyName.cpp | |
| KeyName.h | Nom affichable d'une touche et capture générique « prochaine touche pressée » (LOT-29) |
| PlayerInputMapper.cpp | |
| PlayerInputMapper.h | Traduction des entrées clavier/manette en intention de déplacement (action logique) |
| QtKeyMap.cpp | |
| QtKeyMap.h | Traduction d'un code de touche Qt en hmi::Key (code virtuel Win32) |
| Interface | |
| ActionCatalog.cpp | |
| ActionCatalog.h | Catalogue des actions de l'éditeur : outils et commandes principales (LOT-56 TACHE-04, EX-IHM-055) |
| ApplicationTheme.cpp | |
| ApplicationTheme.h | Application du système de design de l'IHM Qt (LOT-56) : style, palettes et thème |
| DesignTokens.cpp | |
| DesignTokens.h | Jetons de design de l'IHM Qt (LOT-56, EX-IHM-050, EX-IHM-051) : source unique des couleurs, espacements, typographie et tailles de l'application |
| EditorActions.cpp | |
| EditorActions.h | Actions Qt de l'éditeur : outils et commandes principales (LOT-56 TACHE-04) |
| EditorKeybindingsWidget.cpp | |
| EditorKeybindingsWidget.h | Remappage des touches d'éditeur (EX-CTRL-012), en widget embarquable (onglet Options, LOT-57 TACHE-04) |
| EditorWorkspace.cpp | |
| EditorWorkspace.h | Espaces de travail exclusifs de l'éditeur (LOT-68, EX-IHM-073) |
| FontResolution.cpp | |
| FontResolution.h | Résolution de la famille de police de l'IHM (LOT-56 TACHE-03, EX-IHM-052) |
| GamepadBindingsWidget.cpp | |
| GamepadBindingsWidget.h | Remappage des boutons de manette (EX-CTRL-002), en widget (onglet Options, LOT-38) |
| IconGeometry.cpp | |
| IconGeometry.h | Géométrie des icônes de l'IHM, dessinées par code (LOT-56 TACHE-04, EX-IHM-055) |
| KeybindingsWidget.cpp | |
| KeybindingsWidget.h | Remappage des touches de jeu (EX-CTRL-012), en widget embarquable (onglet Options, LOT-38) |
| MainWindow.cpp | |
| MainWindow.h | Fenêtre principale de l'éditeur Qt : viewport central + panneaux dockables (LOT-35) |
| StyleSheetTemplate.cpp | |
| StyleSheetTemplate.h | Substitution de marqueurs dollar-accolade dans un modèle de feuille de style (LOT-56 TACHE-02) |
| ThemeIcons.cpp | |
| ThemeIcons.h | Rendu Qt des icônes de l'IHM, depuis leur géométrie pure (LOT-56 TACHE-04) |
| ThemeResolution.cpp | |
| ThemeResolution.h | Résolution du thème effectif du châssis d'édition (LOT-56 TACHE-06, EX-IHM-054) |
| Localization | |
| Localization.cpp | |
| Localization.h | Catalogue de traduction : résolution des textes d'interface par clé et par langue |
| Platform | |
| ExecutableDirectory.cpp | |
| ExecutableDirectory.h | Localisation du dossier contenant l'exécutable en cours |
| Presentation | |
| CharacterSheetModel.cpp | |
| CharacterSheetModel.h | La fiche de personnage, telle que le QML la lit (LOT-86) |
| CharacterSheetValues.cpp | |
| CharacterSheetValues.h | Ce que l'écran de fiche affiche, calculé hors de tout widget (LOT-38, EX-IHM-090) |
| DemonstrationCharacter.cpp | |
| DemonstrationCharacter.h | Le personnage de démonstration, chargé une fois pour tous les écrans (LOT-86) |
| IdentityScale.cpp | |
| IdentityScale.h | Facteur d'agrandissement entier des écrans du jeu (LOT-66, EX-IHM-070) |
| InventoryModel.cpp | |
| InventoryModel.h | Ce que le personnage porte, tel que le QML le lit (LOT-86) |
| InventoryValues.cpp | |
| InventoryValues.h | Ce que l'écran d'inventaire affiche, calculé hors de tout widget (LOT-14) |
| KeyHintText.cpp | |
| KeyHintText.h | Rappels de touches en bas des écrans du jeu (LOT-68, EX-IHM-070) |
| MenuBackdropGeometry.cpp | |
| MenuBackdropGeometry.h | Décor du menu principal, en pavés (LOT-68, EX-IHM-070) |
| OptionsModel.cpp | |
| OptionsModel.h | Les réglages du jeu, et ce qu'ils atteignent (LOT-86) |
| PendingData.cpp | |
| PendingData.h | L'ancre des écrans dessinés mais pas encore alimentés (LOT-86) |
| RpgScreens.cpp | |
| RpgScreens.h | Catalogue des écrans du RPG et ossature de leur contenu (LOT-68, EX-IHM-090, EX-IHM-091) |
| RuleLabels.cpp | |
| RuleLabels.h | Le vocabulaire des règles, traduit (LOT-86) |
| ScreenFlow.cpp | |
| ScreenFlow.h | Machine à états des écrans de la fenêtre principale (LOT-59 TACHE-01, EX-GP-041) |
| ScreenRouter.cpp | |
| ScreenRouter.h | La navigation entre écrans, telle que le QML la pilote (LOT-86) |
| SheetRowModel.cpp | |
| SheetRowModel.h | Les parties répétitives d'un écran, exposées au QML comme un modèle (LOT-86) |
| HmiLog.h | Macros de journalisation de la catégorie « HMI » |
| Test | |
| Integration | |
| test_animation_personnage.cpp | Tests d'intégration de l'animation du personnage : ECS + système d'animation assemblés |
| test_boucle_simulation.cpp | Test d'intégration inter-lots : le cadenceur à pas fixe (LOT-01) pilote la simulation ECS (LOT-03) — FixedTimestep → World::update |
| test_ecs_mouvement.cpp | Tests d'intégration de l'ECS : entités + composants + système de mouvement assemblés dans un World, vérifiés de bout en bout |
| test_niveau_ecs.cpp | Test d'intégration : d'un fichier de niveau (JSON) jusqu'aux entités de l'ECS |
| Systeme | |
| test_parcours_edition.cpp | Parcours système : créer un niveau dans l'éditeur, l'enregistrer, le recharger, et vérifier qu'il est immédiatement jouable — sans la couche GPU (LOT-14) |
| Unit | |
| Core | |
| Combat | |
| test_encounter.cpp | Tests de l'aller-retour exploration ↔ combat (LOT-18, EX-CBT-001) |
| Data | |
| test_json_document.cpp | Brique de lecture JSON partagée (EX-CNT-012) et premiers tests paramétrés du dépôt |
| Diagnostics | |
| test_assert.cpp | Tests unitaires des assertions du projet |
| test_file_log_sink.cpp | Tests unitaires de core::FileLogSink |
| test_log_format.cpp | Tests unitaires du formatage des lignes de log |
| test_log_level_parse.cpp | Tests unitaires de l'analyse d'un niveau de log depuis une chaîne |
| test_logger.cpp | Tests unitaires du journaliseur (filtrage et diffusion) |
| test_scoped_log_level.cpp | Tests unitaires de l'élévation temporaire (RAII) du niveau minimal d'un journaliseur |
| test_sinks.cpp | Tests unitaires des sinks de journalisation |
| Ecs | |
| test_animation_clip.cpp | Tests unitaires du modèle de clip d'animation (core::AnimationClip/core::ClipSet, LOT-46 TACHE-01) : données pures, sans GPU ni fichier |
| test_component_pool.cpp | Tests unitaires du stockage de composants en sparse set |
| test_entity_manager.cpp | Tests unitaires du gestionnaire de cycle de vie des entités |
| test_particle_system.cpp | Tests unitaires de l'émetteur de particules déterministe (LOT-53 TACHE-01, EX-REN-008) |
| test_particle_triggers.cpp | Tests unitaires des déclencheurs de particules du personnage (LOT-53 TACHE-02, EX-REN-008) |
| test_sprite.cpp | Tests unitaires du composant d'apparence Sprite (données pures) |
| test_top_down_movement.cpp | Tests unitaires du déplacement libre en 8 directions (EX-EXP-001 à EX-EXP-004, LOT-06) |
| test_view.cpp | Tests unitaires de la vue multi-composants de l'ECS |
| test_world.cpp | Tests unitaires de la façade World de l'ECS |
| Gameplay | |
| test_interaction.cpp | Tests des entites de carte et de l'interaction (LOT-10) |
| test_mechanism_controller.cpp | Tests unitaires des mécanismes interrupteur↔porte (MechanismController) |
| Levels | |
| test_camera_framing.cpp | Tests unitaires du cadrage de caméra porté par le niveau : modes, règle de repli et validation (EX-LVL-006, EX-REN-016, LOT-64) |
| test_level.cpp | Tests unitaires du modèle de niveau : TileMap et Level |
| test_level_draft.cpp | Tests unitaires du modèle d'édition mutable (LOT-14, EX-EDIT-002 à EX-EDIT-007) |
| test_level_loader.cpp | Tests unitaires du chargement de niveau (format JSON, erreurs récupérables) |
| test_level_outcome.cpp | Tests unitaires de l'évaluation d'issue de niveau (evaluateOutcome) |
| test_level_writer.cpp | Tests unitaires de la sérialisation de niveau (round-trip avec LevelLoader, EX-EDIT-011) |
| test_map_layers.cpp | Tests unitaires du format de carte version: 3 : couches typées, entités, propriétés libres et migration ascendante (EX-LVL-016, EX-LVL-017, EX-LVL-018, LOT-04) |
| test_plane.cpp | Tests unitaires du plan pictural : modèle, format et brouillon annulable (LOT-69 TACHE-03, EX-DEC-040 à EX-DEC-044, EX-LVL-009) |
| test_rpg_terrain.cpp | Tests unitaires du vocabulaire de terrain du RPG (EX-EXP-005, LOT-08) : franchissabilité, aller-retour de format, et chaîne complète jusqu'aux libellés livrés |
| test_tile_texture_override.cpp | Tests unitaires de la texture assignée par instance (LOT-45, EX-EDIT-043) |
| test_tile_type_name.cpp | Tests unitaires de la correspondance type de tuile <-> nom textuel (LOT-42, EX-LVL-003) |
| Math | |
| test_deterministic_random.cpp | Tests unitaires de core::DeterministicRandom, splitMix64 et deriveSeed (LOT-53 TACHE-01, EX-NFR-002) |
| test_math_utils.cpp | Tests unitaires des utilitaires mathématiques (comparaison flottante) |
| test_rect.cpp | Tests unitaires du rectangle aligné sur les axes de Core |
| test_vector2.cpp | Tests unitaires du vecteur 2D de Core |
| Physics | |
| test_aabb_vs_aabb.cpp | Tests unitaires du balayage AABB continu contre une boîte fixe unique (sweepAabbVsAabb, EX-GP-005) — collision des blocs à taille réduite |
| test_swept_collision.cpp | Tests unitaires du balayage AABB continu (sweepAabb) contre une grille de tuiles |
| Resources | |
| test_asset_keys.cpp | Tests des clés d'assets d'entité et de leurs marqueurs (LOT-39, EX-CNT-040, EX-CNT-041) |
| Rpg | |
| test_bestiary.cpp | Tests du bestiaire de base (LOT-33) : les 94 profils chargent, et dix sont rejoues contre des valeurs RECOPIEES A LA MAIN d'Animaux.pdf |
| test_character_options.cpp | Tests des especes, historiques et classes provisoires (LOT-36) |
| test_character_sheet.cpp | Tests de la fiche de personnage (LOT-13) |
| test_check.cpp | Tests du jet de d20 : avantage, seuil, restitution (LOT-12, EX-DND-002, EX-DND-003) |
| test_dice.cpp | Tests des des, des caracteristiques et de l'echelle (LOT-12, EX-NFR-002) |
| test_equipment.cpp | Tests des armes et des armures (LOT-34) |
| test_inventory.cpp | Tests de l'inventaire, des emplacements d'équipement et des statistiques dérivées (LOT-14, EX-INV-020) |
| test_multiclassing.cpp | Tests du cumul des emplacements de sorts multiclasses (LOT-43, EX-RPG-041) |
| test_rpg_enums.cpp | Tests des enumerations RPG et de leur coincidence avec les schemas (LOT-32, EX-CNT-011) |
| Time | |
| test_fixed_timestep.cpp | Tests unitaires du cadenceur à pas de temps fixe |
| World | |
| test_atlas.cpp | Tests de l'atlas des régions (LOT-37) : les treize régions chargent, le graphe tient, et trois encarts sont rejoués contre des valeurs RECOPIEES A LA MAIN du Sourcebook |
| test_grid_distance_field.cpp | Tests unitaires de core::GridDistanceField (amendement LOT-ANNEXE-08, EX-IA-023) |
| test_core.cpp | Tests unitaires de la bibliothèque Core (amorçage) |
| HMI | |
| Audio | |
| test_audio_engine.cpp | Tests unitaires du moteur audio (LOT-60, EX-REN-047, EX-NFR-040) |
| test_sound_catalog.cpp | Tests unitaires du catalogue de sons (LOT-60, EX-REN-047, EX-REN-048) |
| test_sound_triggers.cpp | Tests unitaires de la table événement → son (LOT-60, EX-REN-047) |
| Diagnostics | |
| test_session_log.cpp | Tests unitaires de la sérialisation des logs de session |
| Editor | |
| test_asset_file_operations.cpp | Tests unitaires des opérations fichiers sur les assets (LOT-43 TACHE-02) |
| test_asset_library.cpp | Tests unitaires du balayage/filtrage partagé par le panneau « Textures » (LOT-43 TACHE-01) |
| test_asset_references.cpp | Tests unitaires de la détection des références à un asset (LOT-43 TACHE-02) |
| test_editor_status.cpp | Tests unitaires du choix de contenu de la barre d'état de l'éditeur (LOT-57 TACHE-01, EX-IHM-060) |
| test_level_file_operations.cpp | |
| test_level_name_validation.cpp | Tests unitaires de la validation d'un nom de niveau saisi (LOT-15, EX-EDIT-009) |
| test_link_geometry.cpp | |
| test_link_gesture.cpp | |
| test_mechanism_animation_assignments.cpp | Tests unitaires de la section « Animations » du panneau « Textures » (LOT-47 TACHE-04) |
| test_palette_appearance.cpp | Tests unitaires du choix de vignette de la palette (LOT-42 TACHE-05, EX-EDIT-027) |
| test_panel_focus.cpp | Tests unitaires de la correspondance outil → panneau (LOT-57 TACHE-02, EX-IHM-061) |
| test_pixel_asset_io.cpp | Tests unitaires des tailles proposées à la création d'un asset dans l'atelier pixel art (LOT-54 TACHE-05, EX-REN-007) |
| test_pixel_autotile_preview.cpp | Tests unitaires du mode planche à raccords de l'atelier pixel art (LOT-54 TACHE-08, EX-EDIT-025) |
| test_pixel_canvas_geometry.cpp | Tests unitaires des conversions pures vue ↔ image du canevas pixel art (LOT-54 TACHE-03, EX-EDIT-045) |
| test_pixel_history.cpp | Tests unitaires de l'historique nommé annuler/refaire du canevas pixel art (LOT-54 TACHE-02, EX-EDIT-045) |
| test_pixel_operations.cpp | Tests unitaires des opérations pures sur tampon de pixels (LOT-54 TACHE-02, EX-EDIT-045) |
| test_pixel_palette.cpp | Tests unitaires de la palette de projet, de l'extraction et de la contrainte de couleur (LOT-54 TACHE-07, EX-REN-042) |
| test_plane_file_naming.cpp | Tests unitaires du nommage et des dimensions des fichiers de plan (EX-EDIT-047, EX-DEC-041, LOT-69 TACHE-08) |
| test_plane_reference.cpp | Tests unitaires des repères du mode création : pelure d'oignon, aplatissement et rééchantillonnage (EX-EDIT-046, LOT-69 TACHE-07) |
| test_skin_assignments.cpp | Tests unitaires de la logique du panneau « Textures » (LOT-42 TACHE-04) |
| test_texture_assign_gesture.cpp | |
| test_thumbnail_geometry.cpp | Tests unitaires du dimensionnement des vignettes à l'échelle d'affichage (LOT-56 TACHE-05, EX-IHM-053) |
| test_tile_taxonomy.cpp | |
| Game | |
| test_diagnostics_hud.cpp | Tests unitaires de la moyenne glissante de cadence et du choix de contenu du compteur de diagnostic (LOT-62 TACHE-02, EX-NFR-001, EX-NFR-005) |
| test_game_events.cpp | Tests unitaires de la détection d'événements de jeu (LOT-60, EX-REN-047) |
| test_game_hud.cpp | Tests unitaires du choix de contenu de l'affichage tête haute (LOT-52 TACHE-03, EX-IHM-003) |
| test_game_mode.cpp | Tests unitaires du mode de jeu : l'ordre des passes du pas fixe (EX-ARCH-002, LOT-05) |
| Graphics | |
| test_animated_tiles.cpp | Tests unitaires des tuiles animées (LOT-46 TACHE-05) : horloge partagée par asset, mise en phase, exclusion des combinaisons non supportées |
| test_animation_catalog.cpp | Tests unitaires du format nom-asset.anim.json (hmi::AnimationCatalog, LOT-46 TACHE-03) : lecture, validation, traduction en région de texture |
| test_asset_contract.cpp | Tests unitaires du contrat de dimensions des assets graphiques (LOT-40, EX-REN-007) |
| test_asset_paths.cpp | Tests unitaires de la résolution de chemins d'assets (LOT-39, EX-NFR-010/EX-NFR-040) |
| test_background_fit.cpp | Tests unitaires du recadrage et de la composition du fond de niveau (LOT-44, EX-REN-044, EX-NFR-004) |
| test_bitmap_font.cpp | Tests unitaires de la police bitmap (LOT-52 TACHE-01) : mesure pure, lecture des métriques JSON, repli procédural déterministe |
| test_cache_registry.cpp | Tests unitaires du registre de mémoïsation/invalidation (LOT-43 TACHE-03) |
| test_camera2d.cpp | Tests unitaires de la caméra 2D (conversions monde ↔ écran, projection) |
| test_camera_zones.cpp | Tests unitaires de la résolution de zone de caméra active (mode par salle, zones dessinées à la main, EX-LVL-007) |
| test_depth_sort.cpp | Tests unitaires du tri par profondeur en vue de dessus (EX-REN-018, LOT-07) |
| test_follow_camera.cpp | Tests unitaires de la caméra de suivi : zone morte, anticipation, lissage, bornage (EX-REN-016, LOT-64 TACHE-02) |
| test_image_encode.cpp | Tests unitaires de l'encodage/enregistrement d'image, symétrique du décodage (LOT-54 TACHE-01, EX-EDIT-045) |
| test_layer_visibility.cpp | Tests unitaires du jeu de visibilités par calque du mode d'inspection de l'éditeur (LOT-51, EX-EDIT-044) |
| test_mechanism_transitions.cpp | Tests unitaires des transitions et du repli sur clip manquant (LOT-47 TACHE-02) |
| test_mechanism_visuals.cpp | |
| test_missing_texture.cpp | Tests unitaires du repli « texture manquante » en damier magenta (LOT-40, EX-NFR-040) |
| test_parallax.cpp | Tests unitaires du décalage de parallaxe, de son bornage et de sa table d'activation (LOT-49 TACHE-03, généralisé au LOT-69 TACHE-06 : facteur par axe, porté par le plan) |
| test_particle_render.cpp | Tests unitaires du rendu des particules (LOT-53 TACHE-03, EX-REN-008) |
| test_plane_render.cpp | Tests unitaires de la composition des plans picturaux (EX-REN-049, EX-DEC-040 à EX-DEC-042, LOT-69 TACHE-05) |
| test_player_sprite.cpp | Tests unitaires de l'habillage du personnage : ancrage image/hitbox, repli entre clips et retournement horizontal (LOT-48) |
| test_procedural_atlas.cpp | Tests unitaires de la génération procédurale de l'atlas de repli (LOT-39, EX-NFR-040) |
| test_quad_recorder.cpp | Tests unitaires de la composition du rendu et de sa capture sans GPU (LOT-40, EX-NFR-004, EX-REN-043, EX-REN-014) |
| test_render_budget.cpp | Test de non-régression du volume de primitives et de l'efficacité du culling (LOT-62 TACHE-01, EX-NFR-005, EX-NFR-004) |
| test_render_culling.cpp | Tests unitaires du culling par cadrage caméra (LOT-40, EX-NFR-005, EX-REN-015) |
| test_render_mode.cpp | Tests unitaires de la bascule Physique/Texture (LOT-41, EX-REN-046) |
| test_rhi_offscreen.cpp | Non-régression visuelle du portage QRhi (LOT-69 TACHE-02, EX-REN-050, EX-ARCH-022) : rendu hors écran d'un motif témoin, relu pixel par pixel |
| test_room_grid.cpp | Tests unitaires de la partition d'un niveau en salles (RoomGrid, LOT-32) |
| test_screen_shake.cpp | Tests unitaires de la secousse d'écran (LOT-53 TACHE-03, EX-REN-008) |
| test_shadow_render.cpp | Tests unitaires des ombres du plan physique (LOT-55, EX-REN-045) |
| test_skin_catalog.cpp | Tests unitaires du catalogue de skins (LOT-42, EX-EDIT-042, EX-EDIT-024) |
| test_text_renderer.cpp | Tests unitaires de la composition de texte en quads sur le calque UI (LOT-52 TACHE-02) |
| test_texture_atlas.cpp | Tests unitaires du mapping de régions de hmi::TextureAtlas (LOT-39, non-régression) |
| test_texture_resolution.cpp | Tests unitaires de la priorité de résolution surcharge > skin > damier (LOT-45, EX-EDIT-043), de l'affichage isolé sans repli (LOT-51, EX-EDIT-044) et de hmi::textureOverrideAt |
| test_tile_autotile.cpp | Tests unitaires des raccords automatiques (LOT-42, EX-EDIT-025) |
| test_tile_skin_resolution.cpp | Tests unitaires de la résolution d'apparence par skin (LOT-42, EX-EDIT-042, EX-EDIT-025) |
| test_tile_visuals.cpp | Tests unitaires de la correspondance type de tuile -> région d'atlas procédurale (hmi::regionForTile), pour le repli sans asset (EX-NFR-040) |
| Input | |
| test_editor_key_bindings.cpp | Tests unitaires du remappage des touches de l'éditeur (EditorKeyBindings, EX-CTRL-012) |
| test_game_key_bindings.cpp | Tests unitaires du remappage des touches de jeu (GameKeyBindings, EX-CTRL-012) |
| test_gamepad_bindings.cpp | Tests unitaires du remappage manette (GamepadBindings, EX-CTRL-002, EX-CTRL-012) |
| test_gamepad_button_name.cpp | Tests unitaires de l'affichage et de la capture de bouton manette (GamepadButtonName, LOT-30) |
| test_gamepad_probe.cpp | Tests unitaires de l'espacement des sondages XInput (EX-CTRL-002, LOT-69) |
| test_input_state.cpp | Tests unitaires de l'état des entrées : fronts clavier/souris et position |
| test_key_name.cpp | Tests unitaires de l'affichage et de la capture de touche (KeyName, LOT-29) |
| test_player_input_mapper.cpp | Tests unitaires de la traduction clavier/manette → intention (toPlayerInput) |
| test_qt_key_map.cpp | Tests unitaires de hmi::qtKeyToHmiKey / hmi::hmiKeyToQtKey (LOT-57 TACHE-04) |
| Interface | |
| test_application_theme.cpp | Tests unitaires du thème de l'IHM : modèle de feuille de style (LOT-56 TACHE-02, EX-IHM-050, EX-IHM-051) et police/typographie (TACHE-03, EX-IHM-052) |
| test_character_sheet_values.cpp | Tests unitaires des valeurs affichées par l'écran de fiche (LOT-38) |
| test_design_tokens.cpp | Tests unitaires des jetons de design de l'IHM (LOT-56 TACHE-01, EX-IHM-050, EX-IHM-051) |
| test_editor_actions.cpp | Tests unitaires du catalogue d'actions et de la géométrie des icônes de l'éditeur (LOT-56 TACHE-04, EX-IHM-055) |
| test_editor_workspace.cpp | Tests unitaires des espaces de travail de l'éditeur (LOT-68, EX-IHM-073) |
| test_identity_scale.cpp | Tests unitaires du facteur d'agrandissement des écrans du jeu (LOT-66, EX-IHM-070) |
| test_rpg_screens.cpp | Tests unitaires du catalogue des écrans du RPG et de leur ossature (LOT-68, EX-IHM-090, EX-IHM-091) |
| test_screen_flow.cpp | Tests unitaires de la machine à états des écrans (LOT-59 TACHE-01, EX-GP-041) |
| test_theme_teardown_guards.cpp | Garde-fous contre le plantage à la fermeture, régression récurrente du projet (LOT-56, LOT-68) |
| Localization | |
| test_localization.cpp | Tests unitaires du catalogue de traduction : analyse, repli, changement de langue |
| pch.h | En-têtes précompilés : includes lourds et stables, partagés par les modules |
| Specification |