Actualización 2.220
2/8/2026
v2.220.0.0BETAMINOR
Seymour2 ago 2026
VIEWERHUB F2: Los espectadores Magia/Modelo/Mapa migraron al hub + Python retirado
- Enrutamiento de prefijo en
StudioWebServer(MapPrefix): aplicaciones múltiples en un solo puerto —/= noclip servidor-dir,/magic/= RuntimeTools/FFXMagicViewerWeb,/model/= FFXModelViewerWeb,/map/= FFXMapViewerWeb,/work/= repoRoot/trabajo (activos absolutos de glTF del Visor de modelos). Gana el prefijo más largo; PruebaPrefixRouting_ServesAppUnderPrefix(9/9). - Nuevas descripciones en
ViewerHubService:magic-viewer,model-viewer,model-preview(model-preview.html para la fusión/pose en T MonEditor),map-scene-editor;BuildUrl(descId, extraQuery)con caché-bust para aplicaciones web + consulta (p. ej.magic=004C);FindRepoRoot()(montaje sin ascensor). ViewerShellaceptaextraQuery(enlace profundo MagicDllBrowser?magic=).- MonEditor migrado: la vista previa del modelo (fusion/T-pose) ahora usa el centro (
model-preview+ id1/id2/label1/label2/tpose/fusion consulta) y elWebView2Hostcomún: adiós al lanzador de Python 8767. - Aurora migró:
AuroraViewerWindowyAuroraFieldExplorer_Controlusan elWebView2Hostcomún (espacio de nombres ModelViewerWeb eliminado). - RETIRADO (git rm -f):
MagicViewerWeb/(lanzador + 3 incrustaciones),ModelViewerWeb/(lanzador + 3 incrustaciones + WebView2Host original),MapSceneEditorWeb/(lanzador + 3 incrustaciones),MonsterStudioWeb/MonsterStudioLauncher.cs(lanzador de navegador huérfano). Python cero, lanzador duplicado cero. - Cableado:
Main_Window—ShowMagicViewer/ModelViewerWeb/ModelViewerEmbedded/MapSceneEditorEmbedded abre elViewerShell(Visor 3D integrado); Los casos heredados todavía funcionan. - Puerta: errores de compilación 0; pruebas 9/9 PASS; editor humo (Extras → Magic Viewer / Visor de modelos / Mapa Escena Editor: todo en el shell, puerto único 8769, prefijos).
v2.219.2.3
v2.220.0.1BETAPATCH
Seymour2 ago 2026
i18n: cobertura latina final ~78-83% (PT→ES dict 520 términos + EN→ES 201 + UI mapa 42 claves) + arreglo de regeneración ES
- Carril IFRT-2
- Diccionario PT→ES (
work/_i18n_pt_es_{1,2,3}.py, 520 términos: artículos/pronombres/adjetivos/UI/juego/verbos) — ES fue el único latín sin cobertura de PT (los dictados de PT eran solo FR/DE/IT); +EN→ES (work/_i18n_en_es_1.py, 201 términos: posibilidad/seleccionado/visor/lab/escritor + frases compuestas "forzar batalla"/"fase rotación"/"guardar editor"...). - Tubería consolidada final (
work/_i18n_final_pipeline.py): expresión normal precompilada (7 diccionarios), regenera los 4 latinos desde el neutro en orden glosario > dominio > frases EN > palabras EN > PT > PT-ES/EN-ES; El manual ES se volvió a aplicar en la parte superior después (441) + se eliminaron 50 huérfanos. - Mapa UI basado en claves (
work/_i18n_ui_map.py, 42 teclas comunes*/Acción*/Lang*/Término*): Deshacer→Annuler/Rückgängig, Idioma→Langue/Sprache/Lingua, Propietario→Propriétaire/Besitzer/Proprietario... aplicado por última vez (La fuerza se regenera desde neutral y se sobrescribiría). - Cobertura final: ES 83.4%, FR 82.7%, DE 78.3%, IT 82.9% (vs 50/58/56/60% antes de esta ronda). Restante = basura técnica (hexadecimales/rutas/ID/nombres propios del jefe) que permanece EN según la regla interna.
- Puerta: errores de compilación 0; conjunto 396/396 PASS; 9/9 resx alineado (2199 teclas). PT10.2%; JA/KO/ZH en escena (banco de fuentes).
v2.220.0.0
v2.220.1.0BETAPATCH
Seymour2 ago 2026
Módulos deshabilitados (5) + MonEditor/Modelos en Monstruo Estudio + títulos limpios
- DESACTIVADO 100% (eliminado del catálogo — desaparecido del UI; bloques explícitos en
ModuleCatalogPolicy.cscon "🚫 DESACTIVADO — NO FUNCIONAL — NO habilitar re sin RT2"):magic-effects(Efectos mágicos — totalmente no funcional),ps3-magic(PS3 Magia HD - no funcional/redundante),magic-viewer-web(Magic Viewer Web - redundante con Magia Estudio del hub),model-viewer-embedded(duplicado de Visor de modelos HD - ambos abren el shell),pointer-script-table("??? / Ola-1 sem editor" marcador de posición). - MonEditor → Los modelos ahora usan MONSTER STUDIO (sin clip, esqueleto PS2 REAL animado):
monster_studio.tsacepta?monster=<modelID hex>(análisis del constructor + sincronización desplegable) yMonEditor_DataModelderiva el modelID de CatalogId (m021→0x1015): la vista previa del monstruo editado se abre animada, ya no con la pose en T three.js. La descripciónmodel-preview(T-pose/fusión) permanece disponible para uso futuro. Botón "Abrir vista previa en el navegador" oculto (regla de nunca navegar). - Título arreglado:
map-scene-editorperdió "Spira Forge ·" (SPIRA FORGE está en pausa por regla) + Notas/Alcance actualizado en el centro (sin Python, sin navegador). - Puerta: errores de compilación 0; humo: Monstruo Editor → Modelos (monstruo animado en Monstruo Estudio) + catálogo sin las 5 cartas deshabilitadas.
v2.220.0.1
v2.220.2.0BETAPATCH
Seymour2 ago 2026
Modelos PS2 (RSD) deshabilitados (6to módulo)
ps2-rsd-models(Extras / PS2 Modelos RSD): navegador de recuentos estructurales de solo lectura de paquetes RSD (@RSD/@PLY/@MAT manifiesto + .tm2), sin renderizado/edición/escritor 3D: valor muy bajo, "inútil" para el usuario. Bloque de desactivación explícito enModuleCatalogPolicy.cs. El visor de modelos 3D REAL = Visor de modelos / Monstruo Estudio (ViewerHub).- Puerta: errores de compilación 0. Total deshabilitado: 6 (efectos mágicos, ps3-magia, magia-visor-web, modelo-visor-integrado, puntero-script-tabla, ps2-rsd-modelos).
v2.220.1.0
v2.220.3.0BETAPATCH
Seymour2 ago 2026
PS2 Conocimiento deshabilitado (7mo módulo)
ps2-knowledge(Extras / PS2 Conocimiento) — concentrador de "procedencia/estructura" de solo lectura sin decodificadores/reproducción/escritor - usuario: "no hay forma de usar esto". Bloque de desactivación explícito enModuleCatalogPolicy.cs. El conocimiento REAL reside en los documentos (KNOWLEDGE_BASE.md / docs/reverse/).- Puerta: errores de compilación 0. Total de discapacitados: 7.
v2.220.2.0
v2.220.3.1BETAREVISION
Seymour2 ago 2026
Limpiezas técnicas: registro consolidado del barrido heredado
- Doc
docs/ai/TECHNICAL_CLEANUP_2026-08-02.md— consolida TODO lo eliminado/deshabilitado de esta sesión por ser heredado que no funcionó, duplicado y/o de bajo valor estructural: - 7 módulos DESHABILITADOS (eliminados del catálogo, con bloques "🚫 DESHABILITADO — NO habilitar re sin RT2"):
magic-effects(Efectos mágicos — totalmente no funcional),ps3-magic(PS3 Magia HD — no funcional/redundante),magic-viewer-web(Magic Viewer Web: duplicado del Magia Estudio del hub),model-viewer-embedded(duplicado de Visor de modelos HD),pointer-script-table(marcador de posición "sin editor"),ps2-rsd-models(PS2 Modelos RSD: recuentos de solo lectura, sin procesamiento/edición/escritor),ps2-knowledge(PS2 Conocimiento: concentrador de solo lectura no utilizado). - 14 archivos BORRADOS (git rm -f, F2):
MagicViewerWeb/(lanzador de Python 8766 + 3 incrustaciones),ModelViewerWeb/(lanzador de Python 8767 + 3 incrustaciones + WebView2Host original),MapSceneEditorWeb/(lanzador de Python 8768 + 3 incrustaciones),MonsterStudioWeb/MonsterStudioLauncher.cs(lanzador de navegador huérfano). - Duplicación resuelta: 5 visores + 6 islas → 1 concentrador (StudioWebServer en proceso, puerto único 8769, enrutamiento de prefijo; 1 ViewerShell; descripciones declarativas). Cero Python, cero navegador externo, cero procesos filtrados.
- Otro: Título
map-scene-editorlimpio (sin "Spira Forge ·"); MonEditor "Abrir vista previa en el navegador" oculto; MonEditor → Modelos migrados a Monstruo Estudio (?monster=); Aurora migró al WebView2Host común.
v2.220.3.0
v2.220.4.0BETAPATCH
Seymour2 ago 2026
Visor de modelo (HD) deshabilitado (8vo módulo) — opción A+C aprobada
model-viewer-web(Visor de modelo HD) — ROTO: todos los 816 catálogos glTFs apuntan a/work/phyre_chr_anim/(falta en el disco — carga 0/816; diagnóstico documentado). Monstruo Estudio (ViewerHub) cubre "ver monstruos" con el renderizador PS2 REAL.- A+C: entrada deshabilitada (bloque "🚫 DESACTIVADO" explícito con la ruta de habilitación re) + código y desc
model-viewerINTACTO y listo para el carril HD para habilitar re (re-exportar glTFs + apuntar el catálogo correctamente + eliminar el bloque). Elmodel-preview(MonEditor fusion/T-pose) permanece activo (no depende de la entrada). - Puerta: errores de compilación 0. Total de discapacitados: 8.
v2.220.3.1
v2.220.5.0BETAPATCH
Seymour2 ago 2026
Identidad propia en ViewerShell: URL desaparecido, noclip Juegos/Sobre purgado
- Escudo v3 (identidad de FFX Mod Estudio): barra de direcciones/URL eliminado del encabezado (regla de usuario: sin loopback/énfasis URL); Marca "FFX Mod Estudio" + título del visor + píldora de estado + Recargar. Se mantuvo el diseño general (oscuro, 3D a la derecha).
- Aspecto purgado: los paneles noclip escriben su título en
data-title(Panel.setTitle →toplevel.dataset.title); el aspecto ahora ocultadiv[data-title="About"](créditos noclip.website) ydiv[data-title="Games"](menú de juego Wii/GC) mediante un robusto selector de atributos + MutationObserver. Conservado: lienzo 3D + panel funcional (desplegables) + Configuración del visor/Estadísticas (técnico, conservado). - Puerta: errores de compilación 0. Siguiente: navegación de escena FFX en el shell (árbol Zanarkand/Ruins/Besaid mediante enrutamiento hash noclip - F3).
v2.220.4.0
v2.220.5.1BETAPATCH
Seymour2 ago 2026
i18n: REGLA DE LA CASA "nunca traducir nombres de archivos" aplicada y protegida en la tubería
- Carril IFRT-2
- Error encontrado por el usuario: el diccionario de dominio (
command→commande/Kommando) corrompió nombres de archivos a través de\bcommand\bcoincidentes dentro decommand.bin→ 9 archivos corruptos por idioma (command.bin→commande.bin,item.bin→objet.bin,FFX.exe→F.exe,ps3data\magic→ps3data\magie...). - Solución permanente:
PROTECT_REincrustado enfull_translatede_i18n_final_pipeline.py: rutas (magicFiles\FFX), archivos con extensiones (command.bin,kaizou.bin,.dds.phyre,magic_####.dll), acrónimos técnicos (ATEL, DINPUT8, RT0, RT2, EBP, EV01, FTCX, MSEQ, VBF, DDS, GLTF, PHYRE, monmagic1/2, a_ability, arms_rate...) y nombres propios (Tidus, Rikku, Yunalesca, Sinh, Seymour...) se convierten en marcadores de posición~PTK~antes de la traducción y devuelven byte por byte. Las palabras UI comunes (modules,command,item) permanecen gratuitas. - Verificación: 0 nombres de archivos corruptos en los 4 latinos (ES 83.4% / FR 82.7% / DE 78.2% / IT 82.9% preservados). Scripts:
_i18n_fix_filenames.py(arreglo quirúrgico) +_i18n_protect_tokens.py(regenera con protección). - Puerta: errores de compilación 0; conjunto 396/396 PASS; 9/9 alineado.
v2.220.5.0
v2.220.6.0BETAMINOR
Seymour2 ago 2026
i18n: selector de idioma con 6 opciones (PT/EN/ES/FR/DE/IT) — los 4 latinos traducidos ahora se pueden seleccionar en el editor
- Carril IFRT-2
Strings.cs:ResolveLanguage/SetLanguage/CurrentLanguage/NormalizeLanguage/ApplyCultureampliado de PT/EN apt|en|es|fr|de|it(CultureInfo pt-BR/es-ES/fr-FR/de-DE/eso-IT); la persistencia (ui_lang.config) y el entornoFFX_UI_LANGaceptan los 6; el valor predeterminado sigue siendopt.Main_Window.axaml: el selector MenuFlyout obtuvo 4 elementos nuevos (controladoresLangSpanish/LangFrench/LangGerman/LangItalian) +MenuItem_Language_Es/Fr/De/It_Clicken el código subyacente (mismo flujoApplyLanguage→ reinicio limpio).- Resx: Teclas
LangSpanish/French/German/Italianen los 9 resx, autolocalizadas (cada idioma ve su propio nombre: Français/Deutsch/Español/Italiano). - Puerta: errores de compilación 0; conjunto 396/396 PASS; 9/9 alineado. Las traducciones ES 83.4% / FR 82.7% / DE 78.2% / IT 82.9% ahora son accesibles desde UI.
v2.220.5.1
v2.220.7.0BETAPATCH
Lulu2 ago 2026
Navegador Magia DLL: pestañas agrupadas en Estructura | Tiempo de ejecución | RE (selector de píldoras): responde a la propuesta UI del carril
- Decisión: aplicar la parte útil de la propuesta (agrupando las 12 pestañas sueltas) al
MagicDllBrowser(Extras): elMagicDllEditor(árbol+ranuras) permanece INTOCADO (estable después de la corrección del solucionador .rdata). - Grupos: Estructura (Secciones, Exportaciones, Importaciones, Flujos WD3, Superposición Ruleta, Códigos de operación PPP) · Tiempo de ejecución (Sonido/SeSep, Candidatos de rol) · RE (Comparador de familia, Descompilación lógica, Cadenas, Advertencias).
- Implementación: 3 píldoras
tabPill/tabPillActive(tema) + código subyacenteButton_SetTabGroup(filtrosTabItem.IsVisible+SelectedIndex; sin data/binding). 2 nuevas claves i18n (U_grupo_estrutura,U_grupo_re; TIEMPO DE EJECUCIÓN reutilizaModeRuntime). - Puertas: errores de compilación 0; conjunto 396/396 PASS (incluido StringsIntegrity).
v2.220.6.0
v2.220.8.0BETAPATCH
Seymour2 ago 2026
SKIN CORREGIR: aplicación cutánea garantizada (ExecuteScriptAsync alternativa a NavigationCompleted)
- Diagnóstico (evidencia de WebView2):
AddScriptToExecuteOnDocumentCreatedAsyncNO estaba aplicando el script al documento (skin:falseconfirmado por una sonda enNavigationCompleted; el piel nunca se ejecutó, razón por la cual Acerca de/Juegos persistió incluso con la compilación correcta y los cachés limpios). - Solución:
WebView2Hostahora almacena el piel en_pendingSkinScripty re lo aplica a través deExecuteScriptAsyncenNavigationCompleted(el documento ya existe en ese momento: aplicación garantizada, cubre recargas).AddScriptToExecuteOnDocumentCreatedAsyncsigue siendo la primera ruta (para documentos futuros). - Diagnóstico permanente ligero:
NavigationCompletedescribe una sonda (piel/hash/sobre/juegos) en%TEMP%\ffx-studio-diag.logen cada navegación: herramienta para el carril UI. - Puerta: errores de compilación 0; confirmado por el usuario: Acerca de y el menú del juego (Juegos) han desaparecido del visor.
v2.220.7.0