Saltar al contenido
Windows

Paneflow 0.8.1: libghostty-vt sustituye a Alacritty en Windows

Paneflow 0.8.1 lleva libghostty-vt a la compilación nativa para Windows. En el MSI oficial para x64, cada nueva sesión de terminal selecciona ahora Ghostty cuando terminal.backend se omite o se deja en auto.

Esta versión amplía la migración del motor de terminal que llegó a Linux con Paneflow 0.8.0. Paneflow usa ahora el mismo núcleo VT de Ghostty por defecto en Linux x86_64, Linux ARM64 y Windows x64 MSVC. Alacritty sigue disponible en todas las plataformas como backend explícito de recuperación y continúa siendo la opción predeterminada en macOS y en los destinos no compatibles.

El icono de Ghostty junto al logotipo de Windows en un paisaje azul y lavanda

El motor Ghostty funciona ahora sobre ConPTY

Paneflow integra Ghostty en la capa del motor VT. libghostty-vt procesa secuencias de terminal, mantiene la cuadrícula y el estado del cursor, gestiona grafemas, ajuste de línea y reflow, y codifica las entradas de teclado y ratón. Paneflow sigue controlando la ventana, los paneles, las sesiones, el ciclo de vida de los procesos, la persistencia y el renderizado GPUI.

El port para Windows añade un host nativo alrededor de ese motor. Paneflow abre el pseudoterminal mediante portable-pty, que usa ConPTY en Windows, y entrega su salida UTF-8 a libghostty-vt. El estado de Ghostty se copia en snapshots de Rust con ownership propio antes de que GPUI lo pinte. La aplicación Ghostty, su interfaz y su renderizador no están integrados en Paneflow.

Esta separación es importante en Windows. ConPTY gestiona la conexión con el shell y el contrato de procesos del sistema operativo. Ghostty interpreta el terminal. Paneflow controla el producto y los píxeles. De este modo, el mismo renderizador independiente del backend puede mostrar sesiones de Alacritty o Ghostty sin una ruta de renderizado específica para Windows.

El port requería un ciclo de vida completo para Windows

Una biblioteca estática que compila en Windows solo es el primer paso. Las sesiones de terminal también necesitan un inicio, redimensionado, drenaje de salida, cierre y limpieza de procesos descendientes deterministas con PowerShell, consolas, TUI y agentes de código.

El host Ghostty para Windows agrupa los redimensionados de ConPTY, drena la salida final antes de cerrar una sesión, espera a su lector antes de salir y mantiene acotada la contrapresión cuando varios paneles generan salida a la vez. Paneflow 0.8.1 también agrupa los redibujados de Ghostty en Windows para evitar trabajo de renderizado innecesario.

La entrada atraviesa el mismo límite. La integración cubre la codificación de teclado de Ghostty, AltGr, teclas muertas, commits IME, pegado, portapapeles, ratón, foco y enlaces. Dos correcciones finales de la 0.8.1 conservan la entrada multilínea con Shift+Enter a través de ConPTY, incluidos los prompts de agentes de código que usan este atajo para insertar una nueva línea.

Paneflow incluye un artefacto MSVC estático y fijado

La compilación oficial para Windows x64 contiene un archivo ghostty-vt-static.lib fijado. Su commit de origen, toolchain de Zig, headers, bindings de Rust generados, símbolos, metadatos de compilación, licencias y sumas de comprobación se registran en el repositorio.

Los usuarios no necesitan instalar Ghostty, Zig, una DLL ni otro runtime. El MSI estándar consume el archivo verificado durante la compilación de Paneflow y el ejecutable resultante enlaza el motor de forma estática. La reconstrucción nativa y la compilación de Windows que consume el archivo permanecen separadas para que la CI detecte cualquier desviación de código fuente, ABI o artefacto antes de una versión.

Paneflow confina la ABI de C sin procesar a su crate -sys y expone ownership seguro de Rust por encima. Los handles nativos se liberan mediante el allocator correspondiente de Ghostty, los panics de callbacks permanecen tras el límite FFI y ninguna fila o celda prestada de Ghostty sobrevive al bloqueo del terminal ni cruza el límite de un frame.

Ghostty es automático y Alacritty está a un ajuste de distancia

terminal.backend acepta tres valores en Windows: auto, ghostty y alacritty. En la compilación x64 oficial de Paneflow 0.8.1, tanto auto como ghostty seleccionan el motor Ghostty. Configura alacritty en paneflow.json para forzar el backend anterior en las sesiones nuevas:

{
  "terminal": {
    "backend": "alacritty"
  }
}

El ajuste solo se aplica a sesiones nuevas. Paneflow puede volver una vez a Alacritty si Ghostty falla antes de que exista un proceso de shell. Después de iniciar el proceso, la sesión nunca cambia de backend y Paneflow nunca lanza un segundo shell detrás de ella.

Esta ruta de recuperación mantiene los fallos del terminal locales y reversibles. Puedes volver a Alacritty sin reinstalar Paneflow ni cambiar los datos de tus workspaces, y regresar a auto cuando se comprenda el problema.

Un solo núcleo de terminal para Linux y Windows

Paneflow 0.8.0 estableció el límite del motor en Linux. La versión 0.8.1 demuestra que ese límite puede cruzar un modelo de PTY y procesos muy diferente sin trasladar detalles de plataforma al renderizador ni al modelo de workspace.

Windows ARM64 queda fuera de esta versión y continúa usando Alacritty. macOS también permanece en Alacritty mientras su ruta Ghostty se evalúa por separado. En las compilaciones compatibles de Linux y Windows, auto significa ahora lo mismo: Ghostty para el núcleo del terminal, GPUI para el renderizado y Paneflow para el workspace multiagente que lo rodea.

Instala Paneflow 0.8.1, abre un panel nuevo y ejecuta el PowerShell, shell WSL, TUI o agente de código que uses habitualmente. Si algún comportamiento del terminal empeora, configura terminal.backend como alacritty para las sesiones nuevas e indica el shell, la versión de Windows, el comando y la secuencia reproducible más corta.

Artículos recientes

Todos los artículos