1. Visión General de ITO Gravity
ITO Gravity es el sistema modular de almacenamiento de planos e ingeniería (Central Data Vault) de ITO Gravity. Está concebido para coordinar la vinculación entre esquemas de hardware (BOM, Gerber, CAD) y repositorios de firmware o software de proyectos tecnológicos.
El objetivo principal de la plataforma es asegurar que todos los integrantes de un proyecto operen con la misma versión validada de los planos físicos y el código fuente, eliminando discrepancias de producción y garantizando el cumplimiento de normas de confidencialidad de diseño.
2. Integración y Visor CAD 3D
La plataforma incorpora un potente visor 3D interactivo que lee directamente archivos geométricos estándar como STP, STL, OBJ.
A través de la API de Onshape, los usuarios con su cuenta vinculada pueden cargar e importar geometrías en tiempo real de forma bidireccional.
- Formatos soportados: STL, OBJ, STP, STEP, gTF.
- Modos: wireframe, sólido y sombreado premium.
- Integración nativa con documentos Onshape públicos y privados.
3. Integración GitHub (Firmware & Software)
Para vincular la capa física del hardware con el firmware de producción, ITO Gravity permite realizar OAuth con GitHub.
Una vez que el operador vincula su cuenta, el sistema rastrea y muestra los últimos commits, ramas y lanzamientos relacionados con el repositorio del proyecto.
4. Bitácora de Ingeniería en Notion
A través del proxy de la API de Notion, ITO Gravity sincroniza bitácoras, hojas de ruta y notas de laboratorio directamente en el panel de control del proyecto.
Cualquier cambio en las bases de datos técnicas de Notion es detectado y desplegado de inmediato, centralizando la toma de decisiones.
5. Control de Versiones y CLI (ITO)
ITO (糸) es una herramienta de línea de comandos (CLI) de nivel industrial y de código abierto diseñada bajo la plataforma ITO Gravity para la administración unificada del ciclo de vida y control de versiones en proyectos de ingeniería de hardware y sistemas embebidos.
A diferencia de los sistemas de control de versiones tradicionales como Git, que analizan diferencias por línea de texto plano y tratan los archivos de diseño CAD/3D como cajas negras binarias densas, ITO entiende la semántica física y eléctrica detrás de cada plano, lista de materiales (BOM) y asignación de pines de microcontroladores.
1. Arquitectura y Componentes Clave
[ ITO CLI (Interfaz Unificada) ]
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
[ GitEngine ] [ SemanticCadEngine ] [ FileHashEngine ]
(Módulo Firmware) (Módulo Electrónica) (Módulos Mecánica/Doc)
│ │ │
└──────────────────────────┼──────────────────────────┘
▼
[ Almacén de Objetos CAS ]
(.ito/objects/ SHA-256)
│
▼
[ Historial Transaccional ]
(.ito/history.toml)
Motores de Versionado Semántico Integrados
GitEngine (Firmware)
Enlaza el repositorio Git nativo de tu firmware a la transacción de ITO, registrando el hash del commit actual en los metadatos de ITO.
SemanticCadEngine (Electrónica)
Extrae la Netlist de circuitos integrados (KiCad, Altium, Eagle) para reportar diferencias lógicas en componentes y conexiones.
FileHashEngine (Mecánica & Doc)
Procesa árboles de planos mecánicos (STEP, SolidWorks), PDFs y archivos de fabricación pesados.
Almacenamiento CAS con Deduplicación
Para optimizar el almacenamiento local y la sincronización con servidores, ITO implementa una base de datos direccionable por contenido:
- Cada archivo se identifica mediante el hash SHA-256 de su contenido.
- Los objetos se guardan estructurados en el directorio oculto
.ito/objects/.
- Deduplicación Total: Si múltiples versiones contienen archivos idénticos (como modelos 3D), se guardan una única vez física en disco.
Motor de Exclusiones Inteligente (.itoignore)
Filtrado automático de archivos y carpetas pesadas/temporales de compilación para resguardar únicamente el diseño fuente de la disciplina:
Exclusiones por defecto:
Directorios de compilación y dependencias (.git, .ito, .pio, target, node_modules), bloqueos de CAD (.lck), archivos temporales de Office/SolidWorks, *.tmp y respaldos *.bak.
2. Referencia de Comandos CLI
| Comando |
Descripción |
| ito init |
Inicializa un repositorio local de ITO en la carpeta actual. |
| ito new <nombre> |
Crea un proyecto estructurado normalizado en el Workspace. |
| ito status |
Audita y reporta el estado actual de todos los módulos vinculados (BOM, CAD, Firmware). |
| ito diff |
Muestra diferencias semánticas detalladas de componentes y redes (nets). |
| ito commit [-m "msg"] |
Ejecuta el linter eléctrico (ERC) y guarda una instantánea inmutable local. |
| ito log |
Muestra el historial completo de commits del proyecto y cambios. |
| ito restore <hash> |
Restaura el estado de todos los módulos al commit especificado. |
| ito lint |
Ejecuta de forma estática reglas de diseño eléctrico semántico (ERC). |
| ito workspace |
Muestra la ruta física del Workspace global y proyectos registrados. |
| ito workspace set [ruta] |
Configura o cambia el directorio de trabajo del Workspace global. |
| ito select |
Menú interactivo de selección de proyectos en consola. |
| ito guia |
Inicia el asistente interactivo para guiar al operador (alias de select). |
| ito link |
Enlaza un directorio físico externo mediante explorador visual. |
| ito links |
Lista todos los enlaces configurados en el proyecto. |
| ito go <módulo> |
Copia la instrucción para navegar a un módulo enlazado. |
| ito login |
Inicia sesión con tus credenciales de ITO Gravity. |
| ito clone <token> |
Clona un proyecto existente desde el servidor remoto. |
| ito push |
Envía la versión local al servidor remoto. |
| ito pull |
Descarga la versión registrada en el servidor remoto. |
| ito update |
Comprueba y actualiza ITO a la última versión en GitHub de forma manual. |
3. Linter Eléctrico: Reglas de Diseño Semántico (ERC)
El comando ito lint realiza auditorías de integridad de circuitos buscando:
Entradas Flotantes
Pines de tipo entrada sin conexión activa.
Cortocircuitos de Salidas
Múltiples pines de tipo salida en la misma red.
Redes Huérfanas
Redes eléctricas conectadas a un único pin.
4. Actualizaciones Automáticas
ITO cuenta con un actualizador automático integrado conectado a GitHub Releases:
- Comprobación de fondo silenciosa: Cada 24 horas, consulta rápidamente (3 segundos de timeout) al iniciar cualquier comando ordinario de forma silenciosa.
- Actualización manual: Utiliza el comando
ito update o ito update --force.
- Soporte para repositorios privados: Configura la variable de entorno
GITHUB_TOKEN o GH_TOKEN.
5. Desarrollo Local
Prerrequisitos:
- Rust (edición 2021) y cargo.
- PowerShell en Windows.
Compilación y Testeo:
# Comprobar la compilación de la biblioteca y ejecutable
cargo check
# Ejecutar la suite de pruebas unitarias e integrales (23 tests)
cargo test
# Instalar globalmente el ejecutable de ITO en el sistema
cargo install --path . --force
6. Flujo de Acceso
ITO Gravity opera bajo un estricto flujo lineal de onboarding para garantizar el cumplimiento regulatorio:
- Creación de Cuenta: Registro con usuario, correo y contraseña segura (mínimo 8 caracteres, mayúsculas, números y carácter especial).
- Validación de Cuenta: Verificación de correo electrónico.
- Licenciamiento: Selección de licencia de hardware abierto (CERN OHL, TAPR, CC).
7. Talonario de Tareas (Task Board)
ITO Gravity incorpora un Talonario de Tareas integrado en la vista de proyectos, dividiendo pendientes por áreas de ingeniería.
- Fechas Límite: Tareas vencidas se resaltan automáticamente.
- Progreso: Conteo en tiempo real de tareas completadas por área.
- Permisos: Solo propietarios y colaboradores autorizados pueden editar.
8. Bóveda Criptográfica y Seguridad Activa
La protección de la propiedad intelectual es el pilar de ITO Gravity:
- Almacenamiento Aislado: Archivos fuera de la raíz pública del servidor.
- Mitigación IDOR: Validación rigurosa de acceso antes de servir cualquier documento.
- Protección CSRF: Tokens en todos los formularios y endpoints críticos.
- Cifrado AES-256-CBC: Tokens OAuth y credenciales cloud cifrados simétricamente.
- Protección Fuerza Bruta: Bloqueo temporal tras 5 intentos fallidos consecutivos.
- Session Timeout: Sesiones destruidas automáticamente tras 30 minutos de inactividad.