Aller au contenu principal

Session 132undecimus — Réorganisation du code, étape 2 : VectObjFrameAnimControl → runtime

VectObjFrameAnimControl est un JME Control (anime des Mesh au runtime via
controlUpdate), donc il était mal placé dans com.ab3d2.tools. Déplacé vers
com.ab3d2.world où il rejoint les autres systèmes runtime du monde de jeu
(DoorSystem, LiftControl, AlienControlSystem, etc.).

Modifications

  1. Move tools/VectObjFrameAnimControl.javaworld/VectObjFrameAnimControl.java
  2. Package interne : com.ab3d2.toolscom.ab3d2.world
  3. Import dans weapon/WeaponViewAppState.java mis à jour
  4. Imports ajoutés dans tools/VectObjConverter.java et tools/VectObjViewer.java
    (ces deux classes étaient dans le même package que VectObjFrameAnimControl,
    donc n’avaient pas besoin d’import explicite ; maintenant si)

Direction des dépendances

tools/VectObjConverter et tools/VectObjViewer importent maintenant
world/VectObjFrameAnimControl. C’est conforme à la règle architecturale
adoptée : tools peut importer runtime, jamais l’inverse.

État des utilisateurs identifiés

  • tools.VectObjConverter : utilise VectObjFrameAnimControl.storeFrames()
    à la conversion (stocke les frames d’animation en UserData sur les Geometry)
  • tools.VectObjViewer : utilise attachIfAnimated() au chargement et
    getControl(VectObjFrameAnimControl.class) pour piloter l’anim (play/pause,
    fps, step frame)
  • weapon.WeaponViewAppState : utilise attachIfAnimated() au chargement de
    l’arme du joueur

À vérifier au compile

gradlew compileJava

Si d’autres fichiers utilisent encore com.ab3d2.tools.VectObjFrameAnimControl,
le compilateur les listera. À ce stade aucun n’est connu.

Plan de migration (rappel)

  1. ✅ Nettoyage des artefacts
  2. ✅ Anomalie VectObjFrameAnimControl (tools → world)
  3. core/level/full/*tools/extract/level/
  4. Sous-classer tools/ en convert/, inspect/, dump/, diagnose/
  5. Créer runtime/, déplacer app, combat, hud, menu, render, weapon, world
  6. Dissoudre core/
  7. Dissoudre assets/
  8. Bouger LevelManagerruntime/level/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *