Actualización 2.218
2/8/2026
v2.218.0.0BETAMINOR
Seymour2 ago 2026
VIEWERHUB F1: unificación universal de los visores 3D (1 puerto, cero python, cero navegador)
StudioWebServer(Modules/Common/ViewerHub/): servidor HTTP estático EN PROCESO (TcpListener loopback:8769) con enrutamiento de host virtual*.loopback(RFC 6761 — WebView2 se resuelve en bucle invertido; cada aplicación ve la suya propia raíz de "dominio": resuelve rutas absolutas sin reescribir HTML). Archivos estáticos + MIME + unión transparente + protección transversal de ruta +GET /health. Reclamación de puerto: si un Python heredado (http.server) ocupa 8769, lo elimina medianteGetExtendedTcpTable; estado por lo demás honesto. Cero proceso externo (nada que filtrar).NoclipLocator: descubrimiento único (envNOCLIP_ROOT→ walk-arriba →Downloads/Compressed) con corrección de raíz anidada (error latente de Aurora).ServeDirBuilder: directorio de servicio noclip (dist incremental + unión de datos).ViewerDescriptor+ViewerHubService: registro de visor declarativo + único APIBuildUrl/Find/StatusText; descripciones inicialesmonster-studioymagic-studio(hostnoclip.loopback).ViewerShell(Modules/Common/ViewerShell/): el menú universal — barra fija (estado del servidor en proceso, URL, recarga) + WebView2 integrado;WebView2Hostcopiado enCommon(los visores antiguos conservan la copia antigua hasta F2).- Cableado:
Main_Window— Monstruo Estudio ahora abre la inserción ViewerShell (sin navegador) + nuevo controlador/casomagic-studio-web;ModuleCatalogPolicy— Entradamagic-studio-web+ entradamonster-studio-webactualizada (Visor 3D integrado). - Puerta: Errores de versión 0 (445 advertencias preexistentes); Pruebas de sonda StudioWebServer 7/7 PASS (estado JSON, enrutamiento de host conocido/desconocido, js/bin MIME, recorrido de ruta a través de TCP sin formato, 404).
- Documento de arquitectura:
docs/ai/VIEWERHUB_ARCHITECTURE_2026-08-02.md(plano aprobado F1–F6, decisiones del usuario). - PENDIENTE:
*.loopbackWebView2 pico (prueba manual: Extras → Monstruo Estudio en el editor); F2 (migrar visores Magia/Modelo/Mapa al centro); implementación de destino (bin/Release fue bloqueado por el editor abierto durante la compilación).
v2.217.1.0
v2.218.1.0BETAPATCH
Seymour2 ago 2026
i18n Ola 3b: 1739 literales ÚNICOS migrados — editor 100% basado en resx
- Carril IFRT-2
- Clasificación objetiva de los 1.759 únicos: 1.739 UI reales frente a 20 basura técnica (rutas/hexadecimales/números/símbolos/identificadores: no migrados intencionalmente).
- 1,739
U_{slug}_{hash8}claves en los 9 resx (el texto mostrado se conserva byte-para-byte en EN/PT: cero cambios en el comportamiento visual; la traducción REAL permanece como incremental futura trabajo). - 1736 reemplazos en 94 archivos .axaml (
{x:Static res:Strings.U_...});MonsterAiEditor2*excluido (regla estricta, 0 diferencias).Strings.cs+1,739 propiedades. - Scripts:
_i18n_onda3b_classify.py,_i18n_onda3b_migrate.py,_i18n_onda3b_cs.py,_i18n_onda3b_check.py(0 residuos; los 10 "restantes" = falsos positivos de expresiones regulares: fragmentos XAML dentro de cadenas, no UI). - Puerta: errores de compilación 0; conjunto 381/381 PASS (el StudioWebServerTests.cs de otro carril se hizo a un lado para la prueba y se restauró intacto).
- HITO: deuda literal codificada a CERO — Ondas 1+2+3a+3b = 2294 literales migrados (2414 → 0 UI REAL). PENDIENTE: humo PT/EN manual en el editor. ### PARCHE
v2.218.0.0
v2.218.2.0BETAPATCH
Seymour2 ago 2026
ViewerHub Corrección de F1: Pico de `*.loopback` FALLÓ → loopback-IP URL
- Diagnóstico (metódico): servidor en proceso 100 % correcto (estado 200, índice 200, paquete 200, wasm 200 aplicación/wasm, 1d/0080 bins 200): la PANTALLA NEGRA era WebView2 navegando a
noclip.loopback, que esta máquina con Windows NO resuelve (RFC 6761 no activo en el solucionador OS:Resolve-DnsName/GetHostAddressesfallar). - Solución:
ViewerHubService.BuildUrlahora devuelvehttp://loopback:8769/index.html#ffx/...(IP directa, sin DNS): el noclip se encuentra en la raíz del directorio de servicio, las rutas absolutas se resuelven sin reescritura. El enrutamiento del host virtual permanece enStudioWebServer(el aliasloopbackcubre el flujo ACTUAL; los hosts virtuales permanecen para aplicaciones futuras). - Corrección de codificación:
ViewerHub.cs/ViewerShell_Control.axaml.cstenía MOJIBAKE (PowerShell 5.1Set-ContentUTF-8 dañado en comentarios/cadenas al aplicar el cambio de nombreViewerHub→ViewerHubService): archivos recreados mediante el editor (UTF-8 correcto). Lección: nunca reescribas .cs vía PowerShellSet-Contentcon acentos. - Puerta: errores de compilación 0; prueba 8/8 PASS (nuevo
LoopbackAlias_ServesForPlainIpHost: el flujo de concentrador REAL). - Doc actualizado:
docs/ai/VIEWERHUB_ARCHITECTURE_2026-08-02.md§5 (resultado de pico + retroceso documentado).
v2.218.1.0
v2.218.3.0BETAPATCH
Seymour2 ago 2026
i18n: humo manual AUTOMATIZADO + 4 literales Run.Text escapados migrados
- Carril IFRT-2
StringsIntegrityTests(nuevo, 3 pruebas): reemplaza el humo manual de ~96 módulos: (1) cada referencia de{x:Static res:Strings.X}en .axaml se resuelve en una propiedad Strings.cs Y una clave resx neutral; (2) cada propiedad Strings.cs tiene una clave neutral; (3) cero literales UI sin procesar en .axaml (con excepción documentada para basura técnica: rutas/hexadecimales/números; los mismos criterios que el clasificador Ola 3b).- 4 literales de escape (atributos
Run Text=con un espacio antes de=; la expresión normal de migración los omitió):· partner hex:,/ 112 non-empty,+ →(MixTableEditor),Payload SHA256:(SaveEditorHub) → clavesU_*en todas 9 resx + Strings.cs + reemplazado. - Puerta: errores de compilación 0; conjunto 384/384 PASS (381 + 3 nuevos). La prueba detectó fallas reales en la primera ejecución (23 literales sin procesar → análisis → 20 basura técnica legítima + 4 reales migrados): prueba de que el humo automatizado funciona.
- Flujo de traducción ahora: nueva cadena = 1 clave en Strings.resx + 1 accesorio en Strings.cs (los 8 satélites heredan EN a través del respaldo ResourceManager); traducción REAL = completo solo las claves traducidas en los satélites. ### PARCHE
v2.218.2.0
v2.218.4.0BETAPATCH
Seymour2 ago 2026
ViewerShell MENÚ UNIVERSAL v2 (patrón similar al navegador)
- Nueva barra de herramientas:
cardSoftcompacta con 3 zonas — (1) título + píldora de estado del servidor (3 estados:iniciando…/servidor in-process/pillDangercon el error — clases reales de StudioTheme:pillReadonly/pillDanger); (2) barra de direcciones (URL truncado con ToolTip — el "navegador" dentro del software); (3) acciones universales (Recargar) La vieja tarjeta grande (que desperdiciaba espacio vertical) ya no está. - DataModel:
IsStarting/IsRunning/IsError+SetState(); Estado de las actualizaciones de código subyacente en flujos de éxito/error (BuildUrl nulo → pastilla roja con el motivo). - Puerta: errores de compilación 0; editor humo (Extras → Monstruo Estudio/Magia Estudio — nuevo menú + carga del visor).
- Nota: el panel contextual por modo (herramientas de descripción: p. ej. selector de encuentros en Aurora) aparece como una fila plegable en F3 (comentario axaml).
v2.218.3.0
v2.218.5.0BETAPATCH
Seymour2 ago 2026
ViewerShell SKIN: noclip UI oculto (logotipo/Acerca de/barra inferior)
WebView2HostobtuvoInjectScriptOnDocumentCreated(script): inyecta un script en cada documento creado (a través deAddScriptToExecuteOnDocumentCreatedAsync, con una cola segura antes del inicio del tiempo de ejecución). Base para futuras máscaras/herramientas.- Aspecto Noclip aplicado por ViewerShell (descrituras
RequiresNoclip): CSS+MutationObserver ocultando#BottomBar(reproducir/pausar/pantalla completa/compartir sin clip),#About(panel de créditos con su logotipo),#studioSidePanelHelpBtn,.SettingsButton— el estancias del panel funcional (menú desplegable monstruo/mágico) y el lienzo 3D. Su menú predeterminado desapareció; el menú universal es nuestro (barra de herramientas de shell). - Puerta: errores de compilación 0; editor de humo (Extras → Monstruo Estudio – noclip UI oculto, menú desplegable de monstruos intacto).
- Siguiente: F2 (migrar visores Magia/Modelo/Mapa) + evolución de la apariencia (herramientas de shell propias que reemplazan los menús desplegables de noclip).
v2.218.4.0