Update 2.18
6.6.2026
v2.18.0BETA
Seymour
MODEL VIEWER (HD) im Editor: eine 3D-Galerie der 816 texturierten+animierten Modelle
- Die Wendung („dies muss innerhalb des Editors laufen") wurde zu einem Feature: ein neuer Button „Model Viewer (HD) 🐉" in der Extras-Karte → öffnet
RuntimeTools/FFXModelViewerWeb(three.js + GLTFLoader), das über lokalen HTTP-Server bereitgestellt wird (das gleiche BEWÄHRTE Magic-Viewer/Aurora-Rezept —python -m http.server, eigener Port 8767; HTTP ist für den Katalog-fetch()+ GLTFLoader von/work/...zwingend). Der Viewer ist eine animierte Galerie: ein einheitlicher Katalog von 816 Modellen (modelviewer-catalog.json, generiert aus der HD-lane-Basislinie — pc/sum/npc/mon/obj/wep), Filter nach Kategorie + Verdict + Suche, Vorschaubilder und Wiedergabe von Animations-Clips (AnimationMixer + Clip-Auswahl) + Orbit/Grid/Wire/Spin/Fit. Er konsumiert exakt die in der HD-Saga gebackenen glTFs (META 1 + reines HD) — kein erneutes Baking.ModelViewerLauncher.cs(Klon vonMagicViewerLauncher) + ein Button inMain_Window.axaml/handler. Build 0 Fehler; Serve bewiesen (catalog/index/gltf = 200). csproj-Erhöhung (echtes UI-Feature). Phase 2 in der Warteschlange (Entscheidung des Eigentümers): denselben Viewer in einem Editor-WebView-Panel hosten (ohne Browser) — benötigt ein nuget; die three.js-Engine ist host-agnostisch. Doku:FFX_MODELVIEWER_EDITOR_2026-06-06.md. \
v2.17.0
v2.18.1BETA
Seymour
Self-Audit: 6 von MEINEN EIGENEN (Jarvis) Bugs behoben (gefunden in einem adversarial 2-Chat-Review, jede Erkenntnis von einem 2. Agenten verifiziert):
- Ps3MagicBrowser: Die erste Textur jedes Ordners wurde SYNCHRON auf dem UI-Thread dekodiert (der Freeze, den ich angeblich entfernt hatte) und zusätzlich im Hintergrund dekodiert — jetzt bleibt row[0] dem Hintergrund-Pass überlassen,
DecodeRowsüberspringt bereits dekodierte Zeilen (kein Doppel-Dekodieren), unddecodeGenerationist jetztvolatile(Al Bhedomobil↔UI-Sichtbarkeit). - Monster AI Editor: Das Bearbeiten des Hex (
AiEditRow) oder des Opcodes/Operanden im AI-Assembler (AiAsmRow) aktualisierte die On-Screen-Bedeutung nicht —AiEditRowlöst jetztOnPropertyChanged(Meaning)im Hex- UND im Command-Setter aus;AiAsmRowwurde zuObservableObjectund meldet Meaning/Label/HasOperand. - OpcodeHelp: Falsche Opcode-Tooltips (
StartsWith("PUSHFF")matchte nie; diePUSHF-Float-Konstante fiel in die Register-Bank-Hilfe) — neu geschrieben, um aufOperandKindOf(der BEWIESENE Kind) zu dispatchen statt auf fragile Mnemonic-Präfixe. - MagicViewerLauncher: die WURZEL deines "Waiting for catalog" — er öffnete den Browser und meldete "success", selbst wenn python nie hochkam; jetzt gibt
EnsureViewerServerein bool zurück, das Polling dauert ~6s (Cold Start), ehrlicher Status bei Fehler, Cache-Bust auf der URL (stale stub), und er killt python bei ProcessExit (kein geleakter Prozess). (Fixes nur in MEINEN Dateien. Die Erkenntnisse des anderen Chats gingen andocs/ai/HANDOFF_CODE_AUDIT_HD_MODELS_2026-06-06.md, damit SIE sie verifizieren und fixen — ich habe ihre lane nicht angefasst.) csproj bump.