Mise à jour 2.18
06/06/2026
v2.18.0BETA
Seymour
MODEL VIEWER (HD) dans l'éditeur : une galerie 3D des 816 modèles texturés+animés
- Le retournement (« ça va devoir tourner dans l'éditeur ») est devenu une fonctionnalité : un nouveau bouton « Model Viewer (HD) 🐉 » dans la carte Extras → ouvre
RuntimeTools/FFXModelViewerWeb(three.js + GLTFLoader) servi sur HTTP loopback (la même recette PROUVÉE de Magic Viewer/Aurora —python -m http.server, port distinct 8767 ; HTTP obligatoire pour lefetch()du catalogue + GLTFLoader de/work/...). Le visualiseur est une galerie animée : un catalogue unifié de 816 modèles (modelviewer-catalog.json, généré depuis la baseline de la voie HD — pc/sum/npc/mon/obj/wep), filtre par catégorie + verdict + recherche, vignettes, et lecture de clip d'animation (AnimationMixer + sélecteur de clip) + orbit/grid/wire/spin/fit. Il consomme exactement les glTFs cuits dans la saga HD (META 1 + pure-HD) — pas de re-cuisson.ModelViewerLauncher.cs(clone deMagicViewerLauncher) + un bouton dansMain_Window.axaml/handler. Build 0 erreurs ; serve prouvé (catalog/index/gltf = 200). Bump csproj (vraie fonctionnalité UI). Phase 2 en file (décision du propriétaire) : héberger le MÊME visualiseur dans un panneau WebView de l'éditeur (pas de navigateur) — nécessite un nuget ; le moteur three.js est agnostique à l'hôte. Docs :FFX_MODELVIEWER_EDITOR_2026-06-06.md
v2.17.0
v2.18.1BETA
Seymour
auto-audit : 6 de MES PROPRES bugs (Jarvis) corrigés (trouvés dans une revue adverse à 2 chats, chaque conclusion vérifiée par un 2e agent) :
- Ps3MagicBrowser : la première texture de chaque dossier était décodée SYNCHRONISÉMENT sur le thread UI (le gel que je prétendais avoir supprimé) et décodée à nouveau en arrière-plan — désormais row[0] est laissé à la passe d'arrière-plan,
DecodeRowssaute les lignes déjà décodées (pas de double-décodage), etdecodeGenerationest désormaisvolatile(visibilité worker↔UI). - Monster AI Editor : éditer l'hex (
AiEditRow) ou l'opcode/opérande dans l'Assembleur d’IA (AiAsmRow) ne mettait pas à jour le sens à l'écran —AiEditRowlève désormaisOnPropertyChanged(Meaning)dans les setters hex ET commande ;AiAsmRowest devenuObservableObjectet notifie Meaning/Label/HasOperand. - OpcodeHelp : mauvaises infobulles d'opcode (
StartsWith("PUSHFF")ne correspondait jamais ;PUSHFfloat-const tombait dans l'aide de la banque de registres) — réécrit pour dispatcher surOperandKindOf(le type PROUVÉ), pas sur des préfixes mnémoniques fragiles. - MagicViewerLauncher : la RACINE de votre « Waiting for catalog » — il ouvrait le navigateur et renvoyait « succès » même quand python ne démarrait jamais ; désormais
EnsureViewerServerrenvoie un bool, le poll est ~6 s (démarrage à froid), statut honnête en échec, cache-bust sur l'URL (stub périmé), et il tue le python à ProcessExit (aucun processus fui). (Correctifs dans MES fichiers uniquement. Les conclusions de l'autre chat sont allées dansdocs/ai/HANDOFF_CODE_AUDIT_HD_MODELS_2026-06-06.mdpour EUX les vérifier+corriger — je n'ai pas touché leur voie.) bump csproj.