Actualización 2.18
6/6/2026
v2.18.0BETA
Seymour
VISOR DE MODELOS (HD) en el editor: una galería 3D de los 816 modelos texturizados+animados
- El giro de la trama ("esto tendrá que ejecutarse dentro del editor") se convirtió en una característica: un nuevo "Visor de modelos" (HD) 🐉" botón en la tarjeta Extras → abre
RuntimeTools/FFXModelViewerWeb(three.js + GLTFLoader) servido en loopback HTTP (lo mismo PROBADO Receta del Visor Mágico/Aurora —python -m http.server, distinto puerto 8767; HTTP obligatorio para el catálogofetch()+ GLTFLoader de/work/...). El visor es una galería animada: un catálogo unificado de 816 modelos (modelviewer-catalog.json, generado de el HD-carril línea base — pc/suma/npc/mon/obj/wep), filtro por categoría + veredicto + búsqueda, miniaturas, y reproducción de clips de animación (AnimationMixer + selector de clips) + órbita/cuadrícula/cable/giro/ajuste. Eso consume exactamente el glTFs precalculado en el HD saga (META 1 + puro-HD) — no volver a hornear.ModelViewerLauncher.cs(clonar deMagicViewerLauncher) + un botón enMain_Window.axaml/handler. COMPILACIÓN 0 errores; servir probado (catálogo/índice/gltf = 200). csproj aumento (REAL UI función). Fase 2 en cola (propietario decisión): host el MISMO visor en un editor WebView panel (no navegador) — necesita uno nuget; el three.js motor es independiente del host. Docs:FFX_MODELVIEWER_EDITOR_2026-06-06.md
v2.17.0
v2.18.1BETA
Seymour
autoauditoría: 6 de MIS PROPIOS errores (Jarvis) corregidos (encontrados en una revisión adversaria de 2 chats, cada hallazgo verificado por un segundo agente):
- Ps3MagicBrowser: la primera textura de cada carpeta decodifica SINCRÓNICAMENTE en el subproceso UI (la congelación que dije haber eliminado) y decodifica nuevamente en segundo plano; ahora la fila [0] se deja en segundo plano pasada,
DecodeRowsomite las filas ya decodificadas (sin doble decodificación) ydecodeGenerationahora estávolatile(visibilidad del trabajador↔UI). - Editor Monster AI: editar el hexadecimal (
AiEditRow) o el código de operación/operando en el ensamblador AI (AiAsmRow) no actualizó el significado en pantalla —AiEditRowahora generaOnPropertyChanged(Meaning)en los configuradores de comandos hexadecimal Y;AiAsmRowse convirtió enObservableObjecty notifica Significado/Etiqueta/HasOperand. - OpcodeHelp: información sobre herramientas de código de operación incorrecta (
StartsWith("PUSHFF")nunca coincidió;PUSHFflotante-const cayó en la ayuda del banco de registro): reescrita para enviar enOperandKindOf(el tipo PROBADO), no prefijos mnemotécnicos frágiles. - MagicViewerLauncher: la RAÍZ de su "Catálogo en espera": abrió el navegador y devolvió "éxito" incluso cuando Python nunca apareció; ahora
EnsureViewerServerdevuelve un bool, la encuesta es ~6s (arranque en frío), estado honesto en caso de falla, caché-bust en URL (stub obsoleto) y mata el Python en ProcessExit (sin proceso filtrado). (Correcciones solo en MIS archivos. Los hallazgos del otro chat fueron adocs/ai/HANDOFF_CODE_AUDIT_HD_MODELS_2026-06-06.mdpara que ELLOS verificaran+arreglaran; no toqué su carril). csproj Aumento.