Proyecto VrainOS · Vraino-engineering

Un escritorio gráfico
escrito desde los cimientos

VrainOS es un shell de escritorio experimental que corre sobre Linux y se comporta como un sistema operativo: viewport 3D propio, ventanas de vidrio, aplicaciones y un grafo hipertextual de nodos. Detrás no hay Electron ni un motor comprado — hay Rust y Vulkan.

01 Qué es

VrainOS parte de un fork experimental de kajiya, el renderizador de iluminación global de Embark Studios, y construye encima un entorno de escritorio completo: compositor, paneles, menú de aplicaciones y un viewport 3D que es de verdad el de la aplicación, no un lienzo dentro de un navegador.

La regla de diseño es incómoda pero clara: no se incrusta un navegador para resolver un problema gráfico. Si hay que dibujar —una escena con luz rebotada, una superficie de cristal, un documento con tipografía propia— se escribe el renderizador. El motor web embebido existe, pero como un nodo más del grafo, nunca como la arquitectura.

Es un proyecto personal: un ingeniero con agentes de IA como equipo. Esa es la razón de que pueda permitirse escribir a mano lo que normalmente se compra hecho —un renderer de Gaussian Splatting, un núcleo de Markdown WYSIWYG, un grafo rizomático— y medirlo todo antes de contarlo.

02 Capacidades

Seis piezas que existen hoy en el repositorio, con su estado de verificación al lado.

operativo

Iluminación global en tiempo real

El renderizador heredado de kajiya, mantenido en Rust sobre Vulkan mediante ash: caché de irradiancia, luz indirecta y superficies físicas resolviéndose mientras navegas la escena.

verificado

Mundos 3D desde vídeo o fotos

La app HY World ejecuta WorldMirror 2.0 (~1,2 · 10⁹ parámetros) en local: entran un vídeo o unas imágenes y salen 1.529.965 gaussianas (104 MB) en ~70 s sobre una RTX 3080.

Lo importante es el otro extremo: un renderer de Gaussian Splatting escrito desde cero en Rust/Vulkan compone el mundo sobre el viewport y se navega con la cámara del motor. Sin visor WebGL incrustado y sin abrir un navegador externo.

operativo

Hypertext Graph

Un grafo rizomático donde cada nodo es una pieza viva: un documento, una terminal real, una página web. Los enlaces [[así]] conectan nodos y el grafo se recorre sin salir del entorno ni perder el contexto de dónde estabas.

operativo

Núcleo Markdown WYSIWYG

Un kernel de Markdown donde lo que ves es el modelo, sin capa de conversión: el texto y el marcado cambian a la vez bajo el cursor. La tipografía se configura por nodo —familia, cuerpo, interlineado y medida de línea— como propiedades del documento, no como tema global.

operativo

Interfaz de vidrio líquido

Paneles y superficies definidos por SDF, con refracción, brillo y comportamiento propios del sistema. La estética aquí no es una hoja de estilos: es geometría evaluada y shaders.

operativo

Apps y terminales en el mismo espacio

Terminales reales embebidas y un menú de aplicaciones que comparten viewport y compositor. Una app nueva no abre una ventana del sistema: se dibuja con el mismo presupuesto de memoria y la misma coherencia visual.

03 Arquitectura

Cuatro capas con contratos explícitos entre ellas. Ninguna depende de un navegador para funcionar.

VrainOS · binario view
VrainOS ─ Rust · Vulkan · ImGui
│
├─ Viewport 3D ──► GI + splatting
├─ Shell de vidrio ──► paneles SDF
├─ Hypertext Graph
│   ├─ Markdown ──► DOMD WYSIWYG
│   ├─ terminal ──► sesión real
│   └─ web ──► CEF OSR (opcional)
└─ Apps
    └─ HY World ──► 3DGS local
        (servicio Python/FastAPI)

Decisiones que sostienen el resto

Render nativo antes que web
Ahorra alrededor de un gigabyte de memoria del navegador y evita un segundo stack de renderizado dentro del primero.
Un solo presupuesto de VRAM
La generación de mundos pasa por un control previo de memoria: si no cabe, se rechaza con un mensaje explícito en vez de morir a mitad.
Nada se anuncia sin medirlo
Cada capacidad publicada arrastra su verificación y su batería de regresión (365 pruebas en la app de mundos 3D).

04 Estado real

Este es un taller de ingeniería, no una página de producto. Lo que no funciona se dice igual de claro que lo que sí.

funciona

Lo que está en pie

  • Renderizador de iluminación global y viewport nativo.
  • Shell de vidrio con paneles, compositor y menú de aplicaciones.
  • Hypertext Graph con nodos Markdown y tipografía por nodo.
  • HY World: reconstrucción local e importación del mundo a la escena.
  • Terminales y apps conviviendo dentro del mismo viewport.
gateado

Lo que aún no

  • Generación de mundos (WorldGen). Las seis etapas están cableadas como trabajos reales, pero el control previo de VRAM las rechaza en una GPU de 10 GB. Necesitan hardware con más memoria; el mensaje de rechazo es explícito, no un fallo silencioso.
  • Color sin armónicos esféricos y ordenación por CPU en el renderer de splatting: limitaciones conocidas y medidas.
  • Persistencia volátil de la escena importada: el mundo vive mientras dure la sesión.