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.
Proyecto VrainOS · Vraino-engineering
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.
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.
Seis piezas que existen hoy en el repositorio, con su estado de verificación al lado.
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.
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.
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.
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.
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.
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.
Cuatro capas con contratos explícitos entre ellas. Ninguna depende de un navegador para funcionar.
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)
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í.