# 09_APLICACIONES **Versión:** 10.0 **Fecha:** 6 Enero 2026 **Sistema:** TZZR --- # Visión General Las aplicaciones son **interfaces especializadas** para interactuar con el sistema TZZR. Cada una resuelve un problema específico y puede integrarse con otras partes del sistema. | App | Propósito | Destino | |-----|-----------|---------| | **Packet** | Captura de evidencia | Secretaría (Clara) | | **Mind Map** | Árboles de milestones y bloques | Feldman (estructuras) | | **Mind Flow** | Flujos de trabajo con HST | Producción (Alfred/Jared) | | **Mind Link** | Menú de acceso / visualizador | Salida (Usuario) | --- # Packet **Tipo:** App Móvil (Flutter) **Estado:** APK funcional **Destino:** Secretaría (Clara/Margaret) ## Propósito Captura de evidencia multimedia con política zero-retention. Todo lo capturado se envía inmediatamente a la Secretaría sin dejar rastro en el dispositivo. ## Características | Característica | Descripción | |----------------|-------------| | Zero-retention | Archivos en RAM, nunca en disco | | Hash-first | SHA-256 único por contenedor | | Offline-capable | Cola de 20 reintentos en 72h | | Multi-destino | DECK, CORP u otros servidores | ## Flujo ``` Captura → Etiquetas HST → Enviar → Clara → BCK ``` ## Pantallas | Pantalla | Función | |----------|---------| | Captura | Foto, audio, video, texto, GPS | | Etiquetas | Selección de tags HST | | Packs | Conjuntos predefinidos | | Pendientes | Cola de fallos | | Config | Destinos y bibliotecas | ## API ```http POST /ingest X-Auth-Key: {h_instancia} { "hash": "sha256 del contenedor", "titulo": "opcional", "etiquetas": ["mrf1", "mrf2"], "archivos": [{"nombre", "tipo", "contenido"}] } ``` --- # Mind Map **Tipo:** App Web / iPad **Estado:** Especificado **Destino:** Feldman (estructuras de referencia) ## Propósito Crear **árboles de milestones** y **árboles de bloques**, enlazarlos entre ellos. Cada nodo genera un hash único. Las estructuras resultantes sirven como documentación interna para que Feldman reconozca entradas y proponga integraciones. ## Problema que Resuelve | Problema | Solución | |----------|----------| | Vendor lock-in | Formato abierto, exportable | | Duplicación de elementos | Elementos únicos por hash | | Pérdida de datos | Estructuras separadas de elementos | ## Modelo Conceptual ``` ┌─────────────────────────────────────────────────────────────────┐ │ ELEMENTOS │ │ (entidades únicas, cada una con su hash) │ │ │ │ [E1: hash-a1b2] [E2: hash-c3d4] [E3: hash-e5f6] │ └─────────────────────────────────────────────────────────────────┘ │ │ RELACIONES ▼ ┌─────────────────────────────────────────────────────────────────┐ │ ESTRUCTURAS │ │ │ │ Árbol A: E1 ──► E2 ──► E3 │ │ Árbol B: E4 ──► E5 ──► E3 (mismo E3, no duplicado) │ └─────────────────────────────────────────────────────────────────┘ ``` ## Identificación por Hash Cada elemento tiene un **content hash** (SHA-256) calculado sobre su contenido: ```python def calculate_hash(elemento): content = { 'nombre': elemento['nombre'].strip().lower(), 'tipo': elemento.get('tipo', 'nodo'), } content_string = json.dumps(content, sort_keys=True) return hashlib.sha256(content_string.encode()).hexdigest() ``` ## Estados | Estado | Descripción | |--------|-------------| | **Borrador** | Editable, puede ser solo local | | **Consolidado** | Inmutable, sincronizado | ## Tipos de Árbol ### Árbol de Milestones (MST) ``` Proyecto Alpha (mrf: a1b2c3...) ├── Fase 1 (mrf: d4e5f6...) │ ├── Diseño (mrf: g7h8i9...) │ └── Desarrollo (mrf: j0k1l2...) └── Fase 2 (mrf: m3n4o5...) └── Testing (mrf: p6q7r8...) ``` ### Árbol de Bloques (BCK) ``` Documentación Proyecto (mrf: x1y2z3...) ├── Especificación técnica (mrf: a9b8c7...) ├── Manual de usuario (mrf: d6e5f4...) └── Guía de despliegue (mrf: g3h2i1...) ``` ### Enlaces entre Árboles ``` MST: Fase 1 > Desarrollo └── enlaza → BCK: Especificación técnica ``` ## Interfaz ``` ┌─────────────────────────────────────────────────────────────────┐ │ Mind Map 🔄 Sync ⚙ │ ├─────────────────────────────────────────────────────────────────┤ │ ┌───────────────┐ ┌─────────────────────────────────────────┐ │ │ │ MAPAS │ │ Proyecto Alpha │ │ │ │ │ ├─────────────────────────────────────────┤ │ │ │ ▼ Trabajo │ │ │ │ │ │ • Proyecto │ │ ▼ 🔒 Proyecto Alpha │ │ │ │ Alpha │ │ ▼ 🔒 Fase 1 │ │ │ │ • Backlog │ │ • Diseño │ │ │ │ │ │ • Desarrollo [2] │ │ │ │ ▼ Personal │ │ ▶ 🔒 Fase 2 (3 items) │ │ │ │ • Ideas │ │ │ │ │ │ │ │ │ │ │ │ + Nuevo mapa │ │ + Añadir elemento... │ │ │ └───────────────┘ └─────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ 🔒 = consolidado [2] = aparece en 2 mapas │ └─────────────────────────────────────────────────────────────────┘ ``` ## Atajos de Teclado | Atajo | Acción | |-------|--------| | `Enter` | Crear hermano debajo | | `Tab` | Convertir en hijo | | `Shift+Tab` | Subir nivel | | `Ctrl+Enter` | Crear hijo | | `Space` | Colapsar/expandir | | `Ctrl+Shift+C` | Consolidar elemento | | `Ctrl+L` | Vincular elemento existente | ## Exportación | Formato | Uso | |---------|-----| | JSON | Estructura completa con hashes | | OPML | Compatibilidad con otras apps | | Markdown | Lectura humana | --- # Mind Flow **Tipo:** App Web / iPad **Estado:** Especificado **Destino:** Producción (Alfred/Jared) ## Propósito Crear **flujos de trabajo** enlazando piezas de la **biblioteca HST**. Interfaz minimalista para bocetado rápido de procesos. Los flujos definidos se usan como plantillas en Producción. ## Diferencia con Mind Map | Mind Map | Mind Flow | |----------|-----------| | Árboles jerárquicos | Grafos direccionales | | Estructura estática | Flujo con dirección | | Milestones y bloques | Procesos HST enlazados | ## Principios de Diseño | Principio | Descripción | |-----------|-------------| | Minimalismo | Elementos esenciales | | Naturalidad | Físicas orgánicas | | Portabilidad | Exportable | ## Elementos Visuales Cuadrados con esquinas redondeadas (estilo Apple), tamaño 1×1. | Elemento | Marco | Descripción | |----------|-------|-------------| | Proceso | Amarillo | Paso individual (tag HST) | | Flujo | Azul | 2+ procesos conectados | ## Biblioteca HST en UI ``` ┌─────────────────────────────────────────────────────────────────┐ │ [inv] [cli] [prv] [pgo] [ctr] [doc] [tsk] ... 🔍 Buscar │ ├─────────────────────────────────────────────────────────────────┤ │ [⭐ frecuentes del usuario] │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ LIENZO DE TRABAJO │ │ │ │ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │ cli │────────▶│ inv │────────▶│ pgo │ │ │ └─────┘ └─────┘ └─────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ## Sistema de Físicas ### Gravedad Central Elementos atraídos hacia el centro del lienzo (estilo Apple Watch). ### Separación Vertical - Procesos (amarillo): tendencia arriba - Flujos (azul): tendencia abajo ## Conexiones ### Crear 1. Arrastrar proceso sobre otro 2. Colisión genera rebote 3. Se crea línea de conexión 4. Ambos pasan a flujo (azul) ### Direccionalidad | Acción | Resultado | |--------|-----------| | Deslizar sobre línea | Flecha en dirección del gesto | | Doble tap | Cicla: sin flecha → → → ← | ### Elasticidad - Límite: 2 celdas - Superar y soltar en vacío: ruptura - Superar y soltar sobre otro: unión ## Nodo Fantasma Al crear flujo aparece nodo vacío para: - Conexiones adicionales - Flujos circulares ## Exportación a Producción ```json { "mrf": "hash-del-flujo", "nombre": "Proceso de facturación", "pasos": [ {"ref": "cli", "mrf": "hash-cliente"}, {"ref": "inv", "mrf": "hash-factura"}, {"ref": "pgo", "mrf": "hash-pago"} ], "conexiones": [ {"from": 0, "to": 1}, {"from": 1, "to": 2} ] } ``` --- # Mind Link **Tipo:** Componente Web embebible **Estado:** Planificado **Destino:** Salida al usuario ## Propósito **Visualizador y menú de acceso** integrable en cualquier parte del sistema: 1. **Menú** - Agrupar herramientas o funcionalidades 2. **Visualizador** - Enlace de salida de documentos 3. **Share** - Página pública tipo linktree ## Integración con ADI Se integra con ADI para aplicación de acceso a documentos. ## Característica Clave **Embebible en cualquier parte del sistema** como componente reutilizable. ## Modo Menú ``` ┌─────────────────────────────────────────┐ │ 🏠 TZZR │ ├─────────────────────────────────────────┤ │ ┌─────────┐ ┌─────────┐ │ │ │ 📷 │ │ 🗺️ │ │ │ │ Packet │ │ Mind Map│ │ │ └─────────┘ └─────────┘ │ │ ┌─────────┐ ┌─────────┐ │ │ │ ⚡ │ │ 📊 │ │ │ │ Flow │ │ Reports │ │ │ └─────────┘ └─────────┘ │ └─────────────────────────────────────────┘ ``` ## Modo Visualizador ``` ┌─────────────────────────────────────────┐ │ Documentación Proyecto │ ├─────────────────────────────────────────┤ │ [Proyecto] │ │ │ │ │ ┌─────────┼─────────┐ │ │ │ │ │ │ │ [Spec] [Manual] [API] │ └─────────────────────────────────────────┘ ``` ## Modo Share ``` ┌─────────────────────────────────────┐ │ 🖼️ Avatar │ │ Nombre │ │ Bio corta │ ├─────────────────────────────────────┤ │ [🔗 Portfolio] │ │ [📧 Contacto] │ │ [📄 CV] │ └─────────────────────────────────────┘ ``` ## Tipos de Nodo | Tipo | Acción | |------|--------| | Link externo | Abre URL | | Documento | Abre visualizador | | App | Lanza aplicación | | Submenú | Expande hijos | | Acción | Ejecuta función | ## Configuración ```json { "modo": "menu", "titulo": "Panel Principal", "nodos": [ { "icono": "📷", "nombre": "Packet", "tipo": "app", "destino": "/packet" } ] } ``` --- # Matriz de Aplicaciones ## Por Destino | App | Secretaría | Producción | Feldman | Salida | |-----|------------|------------|---------|--------| | Packet | ✅ | - | - | - | | Mind Map | - | - | ✅ | - | | Mind Flow | - | ✅ | - | - | | Mind Link | - | - | - | ✅ | ## Por Estado | App | Estado | Próximo paso | |-----|--------|--------------| | Packet | APK funcional | Enlazar con Clara | | Mind Map | Especificado | Prototipo | | Mind Flow | Especificado | Prototipo | | Mind Link | Planificado | Especificar integración ADI | ## Por Plataforma | App | Web | iPad | Móvil | |-----|-----|------|-------| | Packet | ❌ | ❌ | ✅ | | Mind Map | ✅ | ✅ | ❌ | | Mind Flow | ✅ | ✅ | ❌ | | Mind Link | ✅ | ✅ | ✅ | --- # Principios Comunes ## Hash como Identificador ```python mrf = hashlib.sha256(contenido.encode()).hexdigest() ``` ## Inmutabilidad Datos consolidados no se modifican. Cambios crean nuevas versiones. ## Portabilidad Formatos abiertos, exportables, sin vendor lock-in. ## Offline-first Funcionalidad básica sin conexión. --- *SKYNET v10 - 09_APLICACIONES - 6 Enero 2026*