macOS & Linux · desarrollo temprano · motor orcad

Tus agentes en paralelo, en un grafo que podés recorrer.

Cubito es un entorno de desarrollo 3D para agentes de código. Cada worktree es un nodo, cada fan-out es una camada de ramas que crecen en el espacio, y cada agente vive en la escena con su terminal real.

MIT · corre sobre orcad, el runtime headless extraído de ORCA
Todo es un nodo
worktree agente terminal fan-out diff run de orquestación

Features

grafo.linaje

Tu proyecto es un grafo

Cada worktree es un nodo en una escena 3D navegable. Qué rama engendró a cuál deja de ser metadata escondida y se vuelve una arista que podés seguir con la cámara.

agentes.vivos

Los agentes viven en la escena

Cada nodo carga su terminal: PTYs reales, streameados por RPC y renderizados dentro del mundo. Un cubo ámbar que pulsa es un agente esperando tu respuesta, imposible de ignorar.

fan-out.camada

Una camada, un prompt

Desde cualquier nodo, fan-out: N worktrees hijos nacen en paralelo, cada uno con su agente, comparables entre sí. Mirás la camada, elegís el ganador y lo mergeás.

cómo.funciona

Un daemon, un RPC, una escena.

Cubito · frontend 3DThree.js · WebGPU · escena navegableWebSocket RPC · envelope versionadoworktree.*terminal.*git.*orchestration.*orcad · daemon headlessgitworktrees +linajePTYnode-pty,sobrevivereiniciosorquestaciónDAG en SQLite
  1. orcad corre de fondo

    Es el runtime headless de ORCA, sin Electron. Registra repos, crea worktrees con linaje padre → hijo, mantiene terminales PTY que sobreviven reinicios y coordina runs multi-agente en SQLite.

  2. Cubito le habla por WebSocket

    Un RPC versionado con envelope {id, ok, result | error} y keepalives, en cuatro namespaces: worktree.*, terminal.*, git.* y orchestration.*. El runtime es la fuente de verdad: la escena se resincroniza al reconectar.

  3. La escena lo hace espacial

    Three.js dibuja cada worktree como un cubo y cada linaje como una arista. El estado del agente vive en el color: azul trabajando, ámbar esperando input, gris idle. El pairing con el daemon es E2EE desde el navegador.

runtime.orcad

Reiniciá el daemon. El grafo sigue ahí.

Cubito no reinventa la orquestación. Corre orcad, el runtime headless extraído de ORCA, como daemon de fondo y le habla por su RPC versionado. Repos, worktrees con linaje, PTYs que sobreviven reinicios y runs multi-agente ya están resueltos. Cubito los hace espaciales.

worktree.*terminal.*git.*orchestration.*
$ node out/orcad/orcad.js --bind 127.0.0.1 --json
● orcad escuchando · runtime 4f2a9c
$ orca worktree create --name auth-retry --agent claude
… checkout · setup · agente lanzado
$ kill -HUP orcad && node out/orcad/orcad.js
● restaurando 6 nodos…
linaje main → auth-retry — intacto
pty claude — reattached
qué.hicimos

Del fork al primer grafo.

Cubito no arranca de cero: nace de ORCA, el orquestador de agentes de Stably AI, con licencia MIT. Nos quedamos con el motor y cambiamos la ventana.

10.461

archivos podados: shell de Electron, renderer de escritorio, apps mobile y relay.

5,6 MB

pesa el bundle de orcad headless, con cero imports de Electron, chequeado en CI.

30+

agentes CLI que el motor ya orquesta: Claude Code, Codex, OpenCode y más.

E2EE

pairing navegador ↔ orcad validado de punta a punta contra un daemon real en Docker.

upstream

historial completo de ORCA conservado: el motor sigue siendo mergeable.

en obra

la escena 3D: layout del grafo, cámara, terminales renderizadas como texturas.