
N° 09Para operaciones
Toda la planta, en vivo en un solo mundo.
Cada máquina es un dispositivo que transmite lo que reporta a un mundo 3D. Los agentes vigilan los flujos y actúan dentro de los permisos que tú redactas, y cada acción queda registrada antes de llegar a una máquina.
Lámina 30 · Una nave de pruebas a la hora azul, funcionando sin nadie en la planta
Un mundo
La instalación es un mundo. Cada máquina es un dispositivo.
Un mundo es un archivo simple, worlds/<id>/world.json, marcado como físico o simulación. Cada máquina, robot, cámara y computadora de tu planta es un dispositivo con canales, colocado en él como una unidad: un flujo de estado, una línea de G-code, un bus de servos, un flujo de video.
Cada unidad se dibuja en 3D a partir del modelo CAD de su dispositivo, convertido a glTF desde STEP o una malla, o como una caja hasta que tenga uno. Donde un canal reporta una posición, la vista del mundo dibuja la herramienta, o el esqueleto del brazo, donde la máquina dice que está. Es en vivo, o en el momento al que vuelvas en la línea de tiempo.

Lámina 31 · La planta en alambre, con cuatro puntos marcados
Anotado con lo que la máquina dijo.
Abre el trabajo de una máquina en el modo CAM de la app 3D y el gemelo lo etiqueta a partir de los registros: la línea, el avance, el husillo, el láser, el extrusor y el progreso. Una alarma aparece como error. Una desviación de más de 0,5 mm respecto del plan es una advertencia, y también lo es un enlace perdido: estado desconocido, sin herramienta dibujada. El plan y el reporte son dos fuentes. Están etiquetadas y nunca se mezclan.

Flujos
Cada canal escribe un flujo.
Lo que hace un dispositivo se registra como flujos en una ejecución. records.jsonl crece línea a línea a medida que la máquina reporta. Una cámara escribe su único archivo de video con el mismo reloj.
No hay un historiador aparte que mantener sincronizado. La carpeta de la ejecución es la historia: archivos simples que puedes copiar, comparar y leer con cualquier herramienta.
Lámina 32 · Una cámara y un sensor sujetos al motor de una bomba
Analítica a partir de los registros.
El visor de gráficas lee directamente el records.jsonl de una ejecución, o cualquier CSV que exporte tu MES, en seis vistas: líneas, mosaicos, barras, mapa de calor, coordenadas paralelas y dispersión. El panel de fábrica pone una tabla de OEE junto al gemelo y las cámaras.
Hay un solo reloj por ventana. Mueve la barra de tiempo y todos los paneles van juntos a ese momento: el mundo 3D, las gráficas, las cámaras y los registros.
03:41:02.115 state Run · line 4127 · F1200 S12000 03:41:02.367 state Run · line 4128 · F1200 S12000 03:41:02.402 event ALARM:1 hard limit 03:41:02.410 state Alarm 03:41:06.021 note agent:floor-watch: stop mill-2/gcode 03:41:06.388 state Alarm · job stopped at line 4128
Autoridad
Los agentes actúan en tiempo real, bajo un permiso permanente.
Decides una vez qué puede tocar un agente: qué mundo, qué unidades, qué canales, qué verbos, durante cuánto tiempo. Dentro de ese permiso lee los flujos, abre canales, arma la máquina, ejecuta programas y envía comandos por MCP, sin diálogos de confirmación a las 3 de la madrugada.
Cada acción se escribe en la ejecución, con el principal que la envió, antes de llamar al driver. Una confirmación no es un estado, y un enlace perdido se registra como desconocido. Nada se reintenta en silencio. Si el agente vuelve a intentarlo, es un nuevo comando registrado. Los límites los impone el driver, y los verbos de parada, retención y emergencia siempre están permitidos a cualquiera que tenga algún permiso sobre la unidad.
commandagi grant add --principal agent:floor-watch \
--world plant --unit mill-2 --unit press-4 \
--verb open --verb run --verb send --for 12h --note "night watch"
Paneles
Los paneles son archivos.
Un panel es un archivo JSON, dashboards/<id>.dashboard.json. Contiene los paneles, su disposición y parámetros con tipo: un mundo, una unidad, una ejecución, un flujo, un archivo. Empieza con uno de los que vienen incluidos, como la planta de fábrica, el muro de cámaras, el muro de seguridad, la cabina del dispositivo, la reproducción de ejecuciones, la granja de impresión o el almacén. Después edítalo, haz commit y cópialo a la siguiente planta.
El muro de cámaras pone todos los flujos de video registrados en una sola pantalla, con el mismo reloj que las máquinas.
Lámina 33 · Una sala de control de noche, la silla vacía
Contado, no proyectado.
Lo que hay hoy en el producto, según los números del repositorio.
- 26
- Drivers en el catálogo
CNC, impresoras, buses de servos, brazos, cámaras, shells y más, detrás de una sola interfaz de sesión.
- 6
- Vistas de gráficas
Líneas, mosaicos, barras, mapa de calor, coordenadas paralelas y dispersión, trazadas a partir de los registros.
- 0,5mm
- Desviación que se señala
Entre lo que dice el plan y donde la máquina reporta que está.
- 0
- Reintentos silenciosos
Un comando físico se envía una vez. Reintentar es una decisión, y queda registrada.
Verificación
Decimos exactamente hasta dónde se ha probado.
Cada driver lleva una palabra que indica contra qué se ha verificado: none, loopback, bench o hardware. Hoy 23 de los 26 dicen loopback, es decir, se probaron contra réplicas fieles en software de cada protocolo. Los otros tres dicen none. Todavía no se ha puesto en servicio ninguna máquina.
Los drivers de bus de campo como Modbus, OPC UA y MQTT aún no están en el catálogo. Si tu planta los habla, cuéntanos.
Pon tu planta en un solo mundo.
Construye primero el mundo en simulación, ejecuta el turno ahí y después conecta las máquinas.