Actualización 2.19
6/6/2026
v2.19.0BETA
Seymour
VISOR DE MODELOS INTEGRADO en el editor (sin navegador): WebView2 nativo en un panel
- Fase 2 del giro de la trama: el MISMO visor three.js de los 816 modelos ahora se ejecuta DENTRO de la ventana del editor, en un panel: un nuevo botón "Visor de modelos (integrado) 🐉" en la tarjeta Extras →
SetModulemuestraModelViewerEmbedded_Control, que aloja un Edge WebView2 a través deNativeControlHost(interoperabilidad win32: HWND secundario +CoreWebView2Controller, límites sincronizados enArrangeOverride, HiDPI a través deRenderScaling). Utiliza el tiempo de ejecución Evergreen WebView2 ya instalado (sin paquete Chromium: nugetMicrosoft.Web.WebView21.0.2592.51, ~pocos MB; NO el CEF pesado que agregaría ~100 MB). El panel inicia el mismo servidor http (ModelViewerLauncher.EnsureServerAndGetUrl, puerto 8767, caché dañado) y navega por el WebView hasta él; Botones "Recargar" + "Abrir en el navegador" (retroceso).Program.cs/AppBuilder sin tocar. Errores de compilación 0. Probado en un pico aislado del árbol de trabajo (juzgado: compilaciones + 0 advertencias nuevas) antes de migrar a principal. La fase 1 (navegador, v2.18.0) permanece como alternativa. Decisión del propietario junto con: la galería se abre en la pose REST limpia (opción de animación): detuvimos la animación sin conexión whack-a-mole; animación REAL = mocap más tarde (en cola). DocumentoFFX_MODELVIEWER_EDITOR_2026-06-06.md
v2.18.1
v2.19.1BETA
Seymour
MAGIC VISOR INTEGRADO en el editor (sin navegador): reutiliza el v2.19.0 WebView2
- Respuesta directa al propietario ("la idea era SIEMPRE dentro del editor; abrir un navegador es una tontería"): "Magic Viewer (Web)" dejó de abrir un navegador externo; el navegador ahora
SetModulees elMagicViewerEmbedded_Control, un panel WebView2 dentro de la ventana. Reutiliza el COMPARTIDOWebView2Hostel visor de modelos aterrizó en v2.19.0 (una infraestructura incrustada para ambos visores, sin duplicación). NuevoMagicViewerEmbedded_Control/DataModel+MagicViewerLauncher.EnsureServerAndGetUrl(inicia el servidor http local 8766 + caché-bust y navega por WebView hasta él); Botones Recargar + Abrir en el navegador (retroceso). Coordinación (2 chats en una rama): Esperé a que el otro chat confirmaraWebView2Host(v2.19.0) para poder depender de ello limpiamente, sin árboles rotos; Los hallazgos de código-auditar de su carril están enHANDOFF_CODE_AUDIT_HD_MODELS_2026-06-06.md. Errores de compilación 0, el editor se reinicia sin fallar.
v2.19.0
v2.19.2BETA
Seymour
corrección de inserción: el WebView2 LLENA el panel y rastrea el cambio de tamaño (se aplica a AMBOS visores)
- En la pantalla, el WebView2 incrustado se representa solo en una esquina (~67 % en una pantalla hiDPI) con márgenes negros y no sigue el tamaño del editor. Causa:
SyncControllerBoundsmultiplicóBounds × RenderScalingmientras que Avalonia TAMBIÉN dimensiona la ventana del host → Conteo doble de DPI (contenido a ~1/escala). Corregido en elWebView2Hostcompartido (por lo que corrige Visor de modelos v2.19.0 Y Magic Viewer v2.19.1 a la vez): dimensionar el WebView desde el REAL cliente principal recto (GetParent+GetClientRect, sin cálculo de escala) + re-sync en cada cambio de tamaño (EffectiveViewportChanged+ una publicaciónArrangeOverridediferida enDispatcherPriority.Backgroundpara que se ejecute después de que Avalonia reposicione el host nativo). Construya 0 errores. Verificación en pantalla = ojo del propietario
v2.19.1