Historique des versions
Nouveautés, améliorations et corrections, version par version.
- ·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
- ·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)
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
- ·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
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
- ·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)
- ·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
- ·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
- ·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
- ·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)
- ·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
- ·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
- ·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
- ·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
- ·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'inventaireNom (quantité)…
- ·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)
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)
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
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
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
Nouvelle fonctionnalité
- ·Import de données — réimport d'un export (
.json,.zipou.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
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
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— la1.0.0est 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)
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é
- ·Tableau de bord distinct selon le rôle : vue de maîtrise pour le GM, vue centrée « mes personnages » pour le joueur
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
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
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
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:ssou 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_passivesurPower— redondant avec l'absence deactivation_costetrequires_manual_activation - ·Retrait de
is_passivedu routeur tRPC, de l'éditeur de pouvoir et du panel de modification en lot
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é (
CharacterSheeten modeapercuOnly) sans quitter la page - ·Quickview depuis la modal aperçu — clic sur un lien (relation, race, classe…) ouvre
EntityPreviewPanelen 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 selonis_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 ;statsconserve les valeurs de référence (éditables via le dialog),currentsuit 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-hiddenretiré)
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 surEntityCategoryLink - ·
power.bulkUpsertMeta— upsert partiel des métadonnées Power, validé POWER uniquement - ·
power.bulkAddSource— création dePowerSource+EntityRelationen masse avec skipDuplicates
Nouvelle fonctionnalité
- ·Remplacement du champ texte
categorypar 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
collectModifiersetcollectInheritedPowershors degetWithSheet - ·Suppression du groupement par catégorie (string) dans les panneaux Pouvoirs et Relations — remplacé par tri par tag
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_name→filename)
Optimisations
- ·
getWithSheet— 3 requêtes Prisma parallélisées viaPromise.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é parMapO(n) - ·
modifiedKeys— réutilise laMap propDefIdToKeydéjà calculée
Qualité
- ·Erreurs TypeScript corrigées dans 10 fichiers (types Prisma Json, Buffer sharp, Select null)
- ·Seed Prisma corrigé (
upsertsursluginexistant →findFirst+create)
- ·Champ
quantitysur 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
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_racepour les relations inverses - ·Dialogs séparés Import et Export dans les Paramètres
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
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
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)
- ·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
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
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)
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