Migration complète vers DataModels Foundry VTT

- Ajout de 14 DataModels (10 Items + 3 Acteurs)
  * Items: equipment, weapon, trait, specialization, maneuver, scar, annency, boheme, contact, confrontation
  * Acteurs: pc, npc, annency

- Corrections d'initialisation
  * Ordre d'initialisation corrigé (CONFIG.dataModels avant game.system)
  * Import dynamique des DataModels pour éviter timing issues
  * Helper functions pour éviter réutilisation de champs

- Documentation complète
  * AUDIT_DATAMODELS.md: Rapport d'audit complet (85+ champs vérifiés)
  * MIGRATION_DATAMODELS.md: Guide de migration
  * FIX_INIT_ERROR.md: Résolution des erreurs
  * BABELE_ERROR_ANALYSIS.md: Analyse erreur Babele
  * RESUME_MIGRATION.md: Résumé complet
  * modules/models/README.md: Documentation des DataModels

- template.json marqué comme DEPRECATED
- changelog.md mis à jour

Note: Erreur Babele/LibWrapper non résolue (problème de module externe)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 11:32:29 +01:00
parent e47ad95a38
commit f130f24a23
24 changed files with 1276 additions and 4 deletions

View File

@@ -29,10 +29,8 @@ Hooks.once("init", async function () {
console.log(`Initializing Ecryme RPG`);
game.system.ecryme = {
config: ECRYME_CONFIG,
EcrymeHotbar
}
// Import DataModels dynamically to avoid timing issues
const models = await import("./models/_module.js");
/* -------------------------------------------- */
// preload handlebars templates
@@ -54,7 +52,31 @@ Hooks.once("init", async function () {
// Define custom Entity classes
CONFIG.Combat.documentClass = EcrymeCombat
CONFIG.Actor.documentClass = EcrymeActor
CONFIG.Actor.dataModels = {
pc: models.EcrymePCDataModel,
npc: models.EcrymeNPCDataModel,
annency: models.EcrymeAnnencyDataModel
}
CONFIG.Item.documentClass = EcrymeItem
CONFIG.Item.dataModels = {
equipment: models.EcrymeEquipmentDataModel,
weapon: models.EcrymeWeaponDataModel,
trait: models.EcrymeTraitDataModel,
specialization: models.EcrymeSpecializationDataModel,
maneuver: models.EcrymeManeuverDataModel,
scar: models.EcrymeScarDataModel,
annency: models.EcrymeAnnencyItemDataModel,
boheme: models.EcrymeBohemeDataModel,
contact: models.EcrymeContactDataModel,
confrontation: models.EcrymeConfrontationDataModel
}
game.system.ecryme = {
config: ECRYME_CONFIG,
models,
EcrymeHotbar
}
/* -------------------------------------------- */
// Register sheet application classes