Historique des versions

Nouveautés, améliorations et corrections, version par version.

Lorewardv1.6.0
v1.6.0Actuelle2026-07-15Simulateur de jets de dés
  • ·Simulateur de dés — lancez vos dés directement dans l'appli, joueurs comme MJ : un pavé d4 → d100 pour un jet immédiat, plus un mode Personnaliser pour empiler des dés, ajouter un modificateur et gérer l'avantage / désavantage. Accessible partout via une pastille flottante et sa page dédiée
  • ·Résultat animé — les chiffres des dés défilent puis le total rebondit, avec le détail de chaque dé (ceux écartés par un avantage sont barrés)
  • ·Sons de dés — un bouton active un bruitage de lancer (3 sons, joués au hasard) ; ces sons rejoignent aussi la bibliothèque du soundboard du MJ
  • ·Historique & favoris — retrouvez vos derniers jets (relançables d'un clic) et enregistrez vos jets récurrents en favoris
v1.5.12026-07-06Correctifs d'affichage : logo & historique des versions
  • ·Logo Loreward partout — la mascotte remplace l'ancienne icône « livre » dans l'en-tête des pages Aide, Historique des versions, Crédits, Connexion et Inscription
  • ·Mise en forme de l'historique — les termes en gras s'affichent désormais correctement sur la page « Historique des versions » (plus d'astérisques visibles)
v1.5.02026-07-06Nouvelle identité Loreward : thème sombre & or, et thèmes par monde

Nouveau design

  • ·Nouvelle identité visuelle « Loreward » — refonte complète des couleurs autour d'un thème Bleu Nuit + Or Runique, désormais sombre par défaut. Nouvelles polices (titres gravés « grimoire » et touches éditoriales) pour une ambiance plus immersive
  • ·Page d'accueil illustrée — le Gardien, mascotte de Loreward, apparaît dans un cercle runique animé enveloppé de brume, avec un léger effet de profondeur au passage de la souris

Nouvelle fonctionnalité

  • ·Thème par monde — chaque monde peut adopter sa propre ambiance de couleurs (Loreward par défaut, ou Émeraude, Cendres, Améthyste) depuis Outils › « Thème & apparence ». Le choix s'applique à toute l'interface du monde, en clair comme en sombre
v1.4.92026-06-24Aperçus enrichis & nettoyage en masse
  • ·Aperçu « Inventaire » enrichi — affichez au choix la description, le prix et les modificateurs de chaque objet dans les blocs d'aperçu de fiche
  • ·Masquer les pouvoirs inactifs — un bloc d'aperçu « Pouvoirs » peut désormais cacher les pouvoirs à activation manuelle non activés ; plus de doublon entre un pouvoir hérité et sa version directe
  • ·Nouveau nettoyage en masse — supprimez d'un coup toutes les conditions d'activation des pouvoirs sélectionnés
v1.4.82026-06-18Export repensé : sauvegarde en un clic et choix précis

Amélioration

  • ·Plus besoin de choisir un format — l'application sélectionne automatiquement le meilleur format d'export, toujours réimportable. Un bouton « Exporter tout le monde » crée une sauvegarde complète en un clic
  • ·Choix précis du contenu — exportez tout le monde, certains types d'entités, ou le narratif (Histoire, Notes, Journal, Quêtes) jusqu'à l'élément près : dépliez un groupe et cochez exactement les entrées voulues
  • ·Sauvegardes fidèles — les paramètres du monde (poids, monnaies) et tous les réglages d'affichage sont inclus dans les sauvegardes complètes

Correction

  • ·Export ciblé vraiment ciblé — exporter un seul élément narratif ne génère plus une archive contenant tout le monde : seuls les éléments sélectionnés (et leurs médias attachés) sont inclus
v1.4.72026-06-17Paramètres d'affichage regroupés
  • ·Tout l'affichage au même endroit — le tableau de bord du monde et, pour chaque type d'entité, l'en-tête de fiche, les colonnes de liste et la mise en page de l'aperçu sont désormais réunis dans une seule carte « Affichage » des Paramètres. Choisissez un type une fois, puis basculez entre En-tête, Liste et Aperçu
  • ·Fenêtre de type d'entité allégée — l'édition d'un type ne mélange plus la configuration des données et la présentation : l'en-tête (« Hero ») et les colonnes ont rejoint la carte « Affichage »
  • ·Carte « Templates de monde » retirée des Paramètres (fonctionnalité différée, sans usage actuel)
v1.4.62026-06-16Réorganiser les articles par glisser-déposer
  • ·Glisser-déposer des articles — réorganisez l'ordre des articles d'un même niveau directement dans l'arborescence, à la souris (poignée à gauche de chaque ligne). Le nouvel ordre est enregistré automatiquement
v1.4.52026-06-16Réorganiser les propriétés par glisser-déposer
  • ·Glisser-déposer des propriétés — dans les Paramètres › Propriétés, réordonnez les propriétés à l'intérieur d'un groupe à la souris (poignée à gauche). Le champ « Ordre de tri » disparaît du formulaire : l'ordre se règle désormais directement dans la liste, et une nouvelle propriété s'ajoute à la fin
v1.4.42026-06-16Éditeur de formule assisté
  • ·Autocomplétion des propriétés — en tapant @ dans une formule, une liste vous propose les propriétés du monde (nom, clé et type) ; choisissez-la au clavier ou à la souris
  • ·Vérification en direct — l'éditeur indique aussitôt si la formule est valide, comporte une erreur de syntaxe, référence une propriété inexistante ou crée une dépendance circulaire
  • ·Groupes suggérés — le champ « Groupe » propose les groupes déjà existants tout en restant librement saisissable
  • ·Formule vide acceptée — une propriété calculée peut désormais être enregistrée sans formule (elle n'aura simplement pas de valeur), ce qui débloque un cas qui empêchait l'enregistrement
v1.4.32026-06-16Fiche — bonus / malus plus justes
  • ·Plus de bonus/malus trompeur sur les valeurs calculées — une caractéristique calculée par formule (ex. Points de Vie max) n'affiche plus de « +/- » provenant d'un autre ajustement : sa valeur est le résultat direct de la formule. Le vrai modificateur reste visible sur la caractéristique concernée (ex. Constitution -2)
v1.4.22026-06-16Correction de l'éditeur de texte
  • ·Liens dans l'éditeur — correction d'un avertissement interne lié au dédoublement de l'extension « lien » ; un seul gestionnaire de liens (la version sécurisée) reste actif, sans changement visible à l'usage
v1.4.12026-06-15Images dans les listes & aperçu sur la fiche
  • ·Miniature de l'entité dans les listes — les listes affichent désormais la petite image de chaque entité à la place de son initiale, en vue tableau comme en cartes, y compris dans « Toutes les entités ». L'initiale reste affichée pour les entités sans image
  • ·Aperçu de l'image sur la fiche — l'image en haut de la fiche est plus grande et cliquable : un clic l'ouvre en grand dans une fenêtre (coins arrondis, jamais plus grande que 90 % de l'écran). On la referme avec le bouton ✕, un clic à l'extérieur ou la touche Échap
v1.4.02026-06-15Illustrations Chroniques Oubliées & page Crédits
  • ·22 illustrations livrées avec le modèle Chroniques Oubliées — chaque classe et chaque race du template COF arrive avec son illustration, affichée automatiquement sur la fiche et remplaçable à tout moment depuis la médiathèque
  • ·Page « Crédits & licences » — une nouvelle page publique attribue les contenus tiers (illustrations, sons du soundboard, icônes) et précise leurs conditions d'usage ; un lien y mène depuis les pieds de page
v1.3.02026-06-15Chroniques Oubliées : 5 rangs par voie & 4 nouvelles classes
  • ·5 rangs par voie pour les classes de Chroniques Oubliées (au lieu de 3-4), alignés sur co-drs.org — les voies sont complètes jusqu'au plus haut niveau
  • ·4 nouvelles classes — Forgesort, Moine, Nécromancien et Arquebusier, chacune avec ses voies et ses capacités
  • ·Bonus de combat des capacités rendus fonctionnels (défense, attaques au contact/à distance/magique, initiative) ; Points de Chance ré-ajoutés en compteur ; divers ajustements de propriétés et de catégories d'objets
v1.2.22026-06-14Import — modèle adapté à votre monde & guide intégré
  • ·Modèle d'import adapté à votre monde — dans la carte « Import de données » des Paramètres, choisissez un type d'entité et téléchargez un modèle CSV déjà prêt : les colonnes correspondent aux propriétés, métadonnées, relations et devises de CE monde, et une ligne d'exemple montre le format attendu. Fini de deviner les colonnes
  • ·Guide d'import intégré — un mémo dépliable, affiché directement dans le panneau d'import, rappelle les règles de remplissage : colonnes obligatoires, plusieurs valeurs séparées par ;, relations indiquées par le nom de la cible, format d'inventaire Nom (quantité)
v1.2.12026-06-14Soundboard — boucles en fondu enchaîné
  • ·Boucles sans couture — les ambiances et musiques jouées en boucle se fondent désormais en douceur sur elles-mêmes : on n'entend plus le « clic » ni la cassure au moment où la boucle reprend
  • ·Durée de fondu réglable — un curseur « Fondu de boucle » (dans la barre du bas de la page Soundboard et dans le volet) permet de choisir la durée du fondu, de 0 à 6 secondes. Le réglage est mémorisé
  • ·Mettre le fondu à 0 rétablit la boucle nette d'origine (reprise immédiate)
v1.2.02026-06-14Soundboard — ambiances & effets sonores

Nouvelle fonctionnalité

  • ·Soundboard — une nouvelle page « Soundboard » (section Session) pour déclencher en direct des ambiances, musiques, effets sonores et tonalités, plusieurs à la fois, façon table de mixage. Chaque monde démarre avec une bibliothèque de sons prête à l'emploi organisée en thèmes (forêt, donjon, taverne, combat…)
  • ·Vos propres sons — importez vos fichiers audio (mp3, wav ou ogg, jusqu'à 5 minutes). Ils rejoignent votre médiathèque et s'ajoutent à la bibliothèque ; les sons de base, eux, ne peuvent pas être supprimés
  • ·Thèmes personnalisables — créez vos propres thèmes, filtrez la bibliothèque par thème et par type de son, et ajoutez des sons existants à un thème en quelques clics (pratique pour composer l'ambiance d'une scène)
  • ·Lecteur persistant — une icône audio en haut de l'écran ouvre un soundboard compact ; la lecture continue quand vous changez de page, avec un volume général et un bouton « Tout arrêter »
  • ·Sons cliquables dans vos textes — insérez la référence d'un son dans le journal, les quêtes, les notes et les articles : un clic le joue pendant la partie

Minuteries

  • ·Son de fin personnalisable — associez n'importe quel son du soundboard à une minuterie ; il est joué à l'échéance (repli automatique sur le bip de base si le son est absent)
v1.1.02026-06-12Assistant de création de monde

Nouvelle fonctionnalité

  • ·Assistant de création de monde — la page « Nouveau monde » devient un assistant guidé. Choisissez d'abord un système de jeu parmi des cartes illustrées (Vierge, Chroniques Oubliées Fantasy, D&D 5e, L'Appel de Cthulhu 7e) ; Pathfinder 2e et un template générique sont annoncés « Bientôt »
  • ·Personnalisation d'un monde vierge — une étape dédiée permet d'activer ou masquer les types d'entité par défaut, d'ajouter vos propres types et vos premières propriétés, et d'activer d'un clic le système de poids et le système de monnaie (avec une devise de départ). Chaque panneau renvoie vers l'aide en ligne correspondante
  • ·Récapitulatif avant création et brouillon mémorisé — vos saisies sont conservées si vous rechargez la page

Fiabilité

  • ·La configuration d'un monde vierge est désormais créée en une seule opération : si une erreur survient (par exemple une formule invalide), rien n'est créé — fini les mondes à moitié configurés
  • ·Pour les systèmes pré-remplis (COF, D&D 5e, Cthulhu), l'assistant va directement au récapitulatif : tout est configuré automatiquement
v1.0.12026-06-11Catégories à plusieurs niveaux & finitions

Catégories

  • ·Sous-catégories à plusieurs niveaux — vous pouvez désormais créer, voir et gérer des catégories sur autant de niveaux que nécessaire (ex. Équipement › Armes › Tir). Les niveaux profonds, jusque-là visibles sur les fiches mais absents des réglages et du formulaire d'entité, s'affichent et se modifient maintenant correctement
  • ·Filtrer par une catégorie parente inclut désormais tout ce qu'elle contient, sous-catégories profondes comprises
  • ·Supprimer une catégorie retire aussi ses sous-catégories — une confirmation indique combien sont concernées

Propriétés

  • ·Retrait des champs « Note MJ » et « Note publique » des propriétés (ils n'étaient affichés nulle part)
  • ·L'option de visibilité « Apparaît dans l'aperçu » est renommée « Visible dans l'aperçu rapide » pour lever l'ambiguïté — elle ne concerne que le volet de prévisualisation rapide, pas l'onglet Aperçu de la fiche
v1.0.02026-06-11Version 1.0.0 — première version officielle

Version

  • ·Passage en 1.0.0 — première version officielle de l'application. Le socle (univers & entités polymorphes, relations, propriétés & formules, combat, narration, médias, comptes & rôles par monde, import/export, administration) est considéré stable. La phase de test publique se poursuit

Interface

  • ·Affichage mobile — la barre d'actions de « Mes mondes » revient correctement à la ligne (le bouton « + Nouveau monde » n'est plus coupé) ; le nom du monde reste lisible dans l'en-tête sur petit écran (recherche réduite à une icône) ; les onglets d'administration s'empilent proprement sans déborder de leur cadre

Corrections

  • ·Le dialogue de suppression d'un monde annonce désormais une mise à la corbeille (réversible) au lieu d'une suppression « définitive » trompeuse — le monde reste restaurable depuis l'administration
  • ·Accessibilité — chaque bouton de type, dans le formulaire de création d'entité, expose un libellé correct pour les lecteurs d'écran

Qualité

  • ·Tests automatisés considérablement étendus (parcours bout-en-bout des fonctionnalités et vérification des garde-fous de sécurité) pour fiabiliser les évolutions à venir
v0.9.82026-06-05Import de données, aide en ligne & minuteries multiples

Nouvelle fonctionnalité

  • ·Import de données — réimport d'un export (.json, .zip ou .csv) soit dans un nouveau monde (restauration complète), soit en fusion non-destructive dans un monde existant. Aperçu détaillé avant validation, médias réimportés, migration automatique des exports produits par une version antérieure. Accessible via la carte « Import de données » des Outils et l'entrée « Importer un monde » de la liste des mondes
  • ·**Aide en ligne /help** — wiki de documentation public (consultable sans connexion) avec recherche, filtre par niveau de complexité, navigation par thématique et sommaire. Socle de 13 articles : démarrage, templates (COF, D&D 5e, Appel de Cthulhu 7e), entités, propriétés, relations, devises & poids, formules, modificateurs et joueurs
  • ·Minuteries multiples nommées — le minuteur de session unique devient une gestion de plusieurs minuteries simultanées, chacune nommée et renommable. Page dédiée « Minuteries » (section Session) en complément du widget flottant, qui indique le nombre de minuteries actives et la prochaine échéance. Décompte fiable après rechargement et synchronisé entre onglets

Interface

  • ·Image de fond de monde — un monde peut recevoir une image d'ambiance, affichée en bannière dans l'en-tête de la barre latérale (nom du monde en surimpression) et en tête de sa carte dans « Mes mondes »

Données

  • ·Suppression de toutes les propriétés d'un monde — nouvelle action (réservée au MJ) dans la zone de suppression de données, protégée par une saisie de confirmation
  • ·La saisie de confirmation des suppressions de données ignore désormais les accents
v0.9.72026-06-04Confort d'interface & robustesse de session

Interface

  • ·Bascule clair / sombre sur la page d'accueil
  • ·Pied de page dans les mondes — version courante, mention « phase de test » et accès rapide aux nouveautés
  • ·Badge de rôle (MJ / Co-MJ / Joueur) sur chaque monde de la liste « Mes mondes »
  • ·Actions « Modifier » et « Supprimer » d'un monde réservées au MJ

Corrections

  • ·Le changement de mot de passe conserve la session active sur l'appareil courant — plus de déconnexion ni d'erreur juste après la modification
v0.9.62026-06-03Historique des versions

Nouvelle fonctionnalité

  • ·Page de changelog publique /changelog — historique complet des versions, accessible sans connexion
  • ·Lien « Historique des versions » dans le footer de la page d'accueil
  • ·Section « Nouveautés » dans le tiroir de compte — affiche la dernière version et renvoie vers l'historique

Versionnage

  • ·Rechiffrage de tout l'historique dans la bande 0.9x — la 1.0.0 est réservée à la première version de test officielle (jamais dépassée)
  • ·Source de version unifiée (app-version.ts = package.json = CHANGELOG[0].version)
v0.9.52026-06-03Page d'accueil publique & préparation au déploiement

Nouvelle fonctionnalité

  • ·Page d'accueil publique — présentation des fonctionnalités, avantages et bandeau « phase de test », accessible sans connexion
  • ·Inscription ouverte optionnelle — affichage conditionnel des actions « Créer un compte » selon la configuration

Déploiement & robustesse

  • ·Durcissement de la configuration de production
  • ·Migration vers Node 24
  • ·Maintenance des dépendances et correctifs de sécurité
v0.9.32026-06-02Dual dashboard GM / Joueur
  • ·Tableau de bord distinct selon le rôle : vue de maîtrise pour le GM, vue centrée « mes personnages » pour le joueur
v0.9.22026-06-02Rôles, visibilité & droits

Rôles & visibilité

  • ·Rôles GM / Co-GM / Joueur par monde, avec badge de rôle dans la navigation
  • ·(Dé)assignation de personnages joueurs par le GM + filtre « Mes personnages »
  • ·Articles & journal filtrés par rôle (visibilité GM / joueurs)
  • ·Masquage des actions de création pour le joueur

Sécurité du compte

  • ·Verrouillage de compte après trop d'échecs de connexion
  • ·Badge du compte joueur lié affiché sur la fiche, les listes et le combat

Interface

  • ·Tiroir de compte (account-drawer) + refonte de la sidebar
v0.9.12026-06-02Authentification multi-joueurs

Comptes & sessions

  • ·Comptes utilisateurs et sessions persistantes sécurisées
  • ·Pages login / logout / signup, invitations et gestion des membres
  • ·Liaison d'un personnage joueur (PJ) à un compte, édité par le joueur

Sécurité

  • ·Contrôle d'accès par monde sur l'ensemble des données
  • ·Gestion des rôles et des permissions
v0.9.02026-06-01Rework — sécurité & refonte technique

Durcissement sécurité

  • ·Moteur de formules sécurisé — évaluation isolée des formules de propriétés
  • ·Nettoyage du contenu enrichi côté serveur
  • ·Renforcement des en-têtes de sécurité
  • ·Limitation du débit sur les opérations sensibles

Qualité & nettoyage

  • ·Tests d'intégration des opérations critiques
  • ·Champs de métadonnées système verrouillés
  • ·Suppression de code mort et promotion de la documentation technique
v0.8.32026-05-20Minuterie GM

Nouvelle fonctionnalité

  • ·Minuterie GM — widget flottant persistant dans le layout du monde (fixed bottom-right)
  • ·Durées présélectionnées : 30 s · 1 min · 3 min · 5 min · 10 min
  • ·Saisie libre au format mm:ss ou en secondes
  • ·Contrôles contextuels : Démarrer · Pause · Reprendre · Réinitialiser
  • ·Barre de progression et affichage mm:ss en grand
  • ·Son de fin synthétique via Web Audio API (oscillateur 880 → 440 Hz)
  • ·Synchronisation inter-onglets en temps réel via BroadcastChannel API
  • ·Pastille réduite affichant le temps restant quand le timer est actif
  • ·Visuel d'alerte (rouge + pulse) à la fin du décompte

Refactoring

  • ·Suppression du champ is_passive sur Power — redondant avec l'absence de activation_cost et requires_manual_activation
  • ·Retrait de is_passive du routeur tRPC, de l'éditeur de pouvoir et du panel de modification en lot
v0.8.22026-05-20Page Combat — améliorations

Nouvelle fonctionnalité

  • ·Persistance de l'état de combat dans localStorage (clé combat_<worldId>) — survit aux changements de page et à la fermeture du navigateur ; partagé entre tous les onglets du même monde
  • ·Modal aperçu depuis les cartes de combat — clic sur le nom d'un participant ouvre l'aperçu configuré de l'entité (CharacterSheet en mode apercuOnly) sans quitter la page
  • ·Quickview depuis la modal aperçu — clic sur un lien (relation, race, classe…) ouvre EntityPreviewPanel en superposition via portal, hors du contexte d'empilement du Dialog
  • ·Combobox de sélection recherchable — remplace le <select> natif ; champ de recherche filtrant les entités par nom, badge de type PJ / PNJ / Créature selon is_playable
  • ·Onglets CHARACTER / CREATURE dans les paramètres d'affichage de combat — la configuration de chaque type est désormais isolée dans son propre onglet
  • ·Propriété max auto-référencée dans les jauges — une propriété peut désormais être sa propre valeur max (ex : PV → max = PV)

Amélioration

  • ·Grille responsive pour les cartes de participants — 1 colonne mobile, 2 colonnes ≥640 px, 3 colonnes ≥1024 px
  • ·**Séparation stats / current** — les boutons +/− des jauges ne modifient plus la valeur max ; stats conserve les valeurs de référence (éditables via le dialog), current suit l'état en combat
  • ·Le dialog "Modifier les stats" édite désormais exclusivement les valeurs max (stats) et non les valeurs combat
  • ·Le menu des cartes de combat ne déborde plus hors de la carte (overflow-hidden retiré)
v0.8.12026-05-20Modification en lot

Nouvelle fonctionnalité

  • ·Dialog « Modifier en lot » dans les Paramètres du monde (section Données)
  • ·Sélection d'entités par type avec checkboxes, filtre par nom, tout sélectionner / désélectionner
  • ·Mode Propriété personnalisée — écrire la même valeur (NUMBER, DECIMAL, TEXT, BOOLEAN, ENUM) sur N entités CHARACTER ou CREATURE simultanément
  • ·Mode Tags — ajouter, retirer ou remplacer des tags sur plusieurs entités en une action
  • ·Mode Catégories — ajouter, retirer ou remplacer des catégories sur plusieurs entités
  • ·Mode Métadonnées du pouvoir (POWER uniquement) — modifier en lot source_type, requires_manual_activation, activation_cost, duration, range (champs cochés individuellement pour éviter les écrasements involontaires)
  • ·Mode Source du pouvoir (POWER uniquement) — assigner une RACE, CLASS ou ITEM comme source à plusieurs pouvoirs simultanément (crée PowerSource + EntityRelation HAS_POWER)
  • ·Résumé de l'action affiché avant confirmation, feedback de succès/erreur inline

Backend

  • ·propertyValue.bulkUpsert — upsert parallèle en transaction, validé CHARACTER/CREATURE uniquement
  • ·tag.bulkModifyTags — add (skipDuplicates), remove (deleteMany ciblé), replace (transaction delete+create)
  • ·entityCategory.bulkModifyCategories — même logique add/remove/replace sur EntityCategoryLink
  • ·power.bulkUpsertMeta — upsert partiel des métadonnées Power, validé POWER uniquement
  • ·power.bulkAddSource — création de PowerSource + EntityRelation en masse avec skipDuplicates
v0.8.02026-05-20Catégories hiérarchiques

Nouvelle fonctionnalité

  • ·Remplacement du champ texte category par un système de catégories hiérarchiques configurables (2 niveaux : Catégorie → Sous-catégorie)
  • ·Plusieurs catégories par entité via une table de liaison EntityCategoryLink
  • ·Panneau de gestion des catégories dans les Paramètres du monde (CRUD avec édition inline)
  • ·Sélecteur multi-catégories dans le formulaire d'entité (dropdown avec badges supprimables)
  • ·Filtre par catégorie dans la liste des entités et la page par type avec support parent/sous-catégorie
  • ·Regroupement par catégorie dans la vue détaillée par type (group=category)
  • ·Affichage des badges catégorie sur les fiches personnage, les listes, la grille et l'aperçu rapide
  • ·Migration automatique des catégories existantes vers le nouveau système

Refactoring

  • ·Extraction des helpers collectModifiers et collectInheritedPowers hors de getWithSheet
  • ·Suppression du groupement par catégorie (string) dans les panneaux Pouvoirs et Relations — remplacé par tri par tag
v0.7.22026-05-19Corrections & optimisations

Corrections de bugs

  • ·searchByName — les entités soft-deletées n'apparaissent plus dans les suggestions TipTap
  • ·Fiche personnage — modificateurs hérités matchés par power_entity_id (plus de conflit entre pouvoirs homonymes)
  • ·areConditionsMet — clé singleton non-déterministe (Math.random) remplacée par l'index de condition
  • ·Dashboard monde — crash sur les blocs médias corrigé (stored_namefilename)

Optimisations

  • ·getWithSheet — 3 requêtes Prisma parallélisées via Promise.all (−20 ms par chargement de fiche)
  • ·Import CSV — upsert de tags batchés avant la boucle principale (N+1 → 2 requêtes fixes)
  • ·resolveProperties — lookup O(n²) remplacé par Map O(n)
  • ·modifiedKeys — réutilise la Map propDefIdToKey déjà calculée

Qualité

  • ·Erreurs TypeScript corrigées dans 10 fichiers (types Prisma Json, Buffer sharp, Select null)
  • ·Seed Prisma corrigé (upsert sur slug inexistant → findFirst + create)
v0.7.12026-05-19Inventaire — gestion des quantités
  • ·Champ quantity sur les relations objets — stock par type d'objet
  • ·Règle métier : équiper consomme 1 unité du stock, déséquiper la restitue
  • ·Stepper −/N/+ par ligne d'inventaire avec bouton « Équiper » à gauche
  • ·Bouton « → Inventaire » sur les objets équipés pour les déséquiper
  • ·Calcul du poids total tenant compte des quantités (inventaire × quantité, équipé × 1)
  • ·Compteur « Objets · N » basé sur la somme des quantités
  • ·Aperçu fiche : badge ×N pour les stocks > 1 en inventaire
v0.7.02026-05-19Économie & import/export

Système monétaire

  • ·Devises configurables par monde (nom, symbole, ordre drag-and-drop)
  • ·Portefeuilles par entité — CHARACTER et ITEM selon configuration
  • ·Widget CurrencyWallet : éditable sur fiche personnage (onglet Inventaire), lecture seule sur fiche objet
  • ·Valeurs par devise saisies dans le formulaire d'édition des objets

Import / Export CSV

  • ·Wizard d'import CSV avec analyse automatique des colonnes
  • ·Mapping interactif : champs système, propriétés existantes, nouvelles propriétés à créer
  • ·Import des valeurs de propriétés (PropertyValue) depuis les colonnes du CSV
  • ·Nouvelles colonnes belongs_to_class / belongs_to_race pour les relations inverses
  • ·Dialogs séparés Import et Export dans les Paramètres
v0.6.12026-05-17Médias, narration & configuration avancée

Médias

  • ·Médiathèque par monde : images (webp/png/jpg/gif), PDF, audio — quota 500 Mo
  • ·Upload depuis les entités (EntityImageManager) et les éditeurs TipTap
  • ·Section « Utilisé dans » : liste de tous les contextes d'utilisation d'un média

Narration

  • ·@mentions cliquables (autocomplete tippy.js) dans journal, notes, articles et quêtes
  • ·Éditeur TipTap enrichi : images redimensionnables, PDF/audio en liens, bouton lien externe
  • ·Éditeur TipTap sur les quêtes

Configuration avancée

  • ·Dashboard configurable — blocs WYSIWYG drag-and-drop sur grille 3 colonnes
  • ·Aperçu de fiche configurable par type d'entité (canvas 3 colonnes, blocs de groupe)
  • ·Zone héro configurable : champs, ordre, sources (propriété / métadonnée / relation / statique), portrait
  • ·Drag-and-drop pour le tri des propriétés (par groupe)
  • ·Formulaire de nouvelle propriété en modal depuis les Paramètres
v0.6.02026-05-16Ergonomie & outils

Navigation & recherche

  • ·Recherche globale (Ctrl+K) — entités, quêtes et entrées de journal
  • ·Aperçu rapide (quick view) depuis les listes d'entités
  • ·Filtre & tri avancés : catégorie, tag, race/classe, tri par propriété numérique
  • ·Relations inverses sur les fiches — section « Référencé par »

Données & configuration

  • ·Soft delete + corbeille : restauration ou suppression définitive
  • ·Suppression des mondes avec confirmation par saisie du nom
  • ·Désactivation des types d'entités par monde (sidebar filtrée)
  • ·Refonte de la page Paramètres : sections Configuration / Données / Zone dangereuse
  • ·Suspense + squelettes de chargement sur la fiche personnage
  • ·Error boundaries globaux et dans le shell application
v0.5.02026-05-14Fiches & relations enrichies

Volet d'aperçu

  • ·EntityPreviewPanel : navigation interne par historique, relations cliquables
  • ·Modificateurs de caractéristiques affichés dans le volet d'aperçu
  • ·Propriété show_in_preview : filtrage des champs dans l'onglet Aperçu

Relations

  • ·Gestion Race/Classe déplacée dans le formulaire d'entité
  • ·Pouvoirs hérités (Race → Classe → Objet) dans l'onglet Pouvoirs
  • ·Système Équipé / Inventaire pour les objets (v1)

Notes & robustesse

  • ·Notes multi-entités : éditeur TipTap, visibilité GM/joueurs, tri manuel
  • ·Error boundaries (global + shell application)
v0.4.02026-05-12Fiche personnage
  • ·Section héro : portrait, grille de stats configurable, catégorie, tags
  • ·5 onglets : Aperçu, Caractéristiques, Pouvoirs, Inventaire, Relations
  • ·Responsive mobile : sidebar drawer, fiche adaptative, padding adaptatif
  • ·Sidebar réduit avec icônes et types d'entités visibles
v0.3.02026-05-10Relations & données

Relations

  • ·Système de relations typées : HAS_RACE, HAS_CLASS, HAS_POWER, HAS_ITEM, et types narratifs
  • ·Modificateurs de caractéristiques via objets, races et classes (source_entity_id)
  • ·Duplication d'entité avec ses relations
  • ·AlertDialogs sur toutes les suppressions

Import / Export

  • ·Export CSV : entités, relations, journal
  • ·Import CSV en 2 passes avec résolution des références croisées
v0.2.02026-05-09Moteur de formules

Propriétés avancées

  • ·Propriétés FORMULA et DERIVED avec résolution topologique des dépendances
  • ·Évaluateur de formules — syntaxe @force * 2 + @niveau
  • ·Prévisualisation live des formules dans les Paramètres
  • ·Type ENUM avec sélecteur et valeur par défaut

Pouvoirs

  • ·Modificateurs conditionnels (PowerCondition AND/OR multi-groupe)
v0.1.02026-05-07Fondation

Architecture

  • ·Stack : Next.js 16 · tRPC 11 · Prisma 7 · MariaDB · Tailwind v4
  • ·Authentification optionnelle

Fonctionnalités de base

  • ·Modèle Entity polymorphe — 9 types : Personnage, Race, Classe, Pouvoir, Objet, Lieu, Organisation, Famille, Créature
  • ·CRUD complet : mondes, entités, propriétés
  • ·Propriétés dynamiques : NUMBER, DECIMAL, TEXT, BOOLEAN
  • ·Système de tags
  • ·Journal de session (TipTap)
  • ·Quêtes hiérarchiques avec statuts