Files
system-docs/v4-archive/mind-link/docs/MINDLINK-DOCUMENTACION.md
2025-12-24 17:28:34 +00:00

254 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MindLink v11 - Documentación
## Descripción General
MindLink es una interfaz de comunicación visual tipo mindmap/linktree para entregar documentos a clientes. Presenta nodos principales (categorías) con subnodos desplegables (documentos) conectados por líneas animadas.
---
## Estructura de Datos
### Configuración General
| Campo | Tipo | Ejemplo | Descripción |
|-------|------|---------|-------------|
| `titulo` | Texto | "Proyecto Demo HST" | Título principal de la página |
| `mostrar_titulo` | Booleano | true | Mostrar/ocultar el título |
| `colores` | Texto | "#FF6B35, #E5A000, #06D6A0" | Colores en hexadecimal separados por comas |
| `fuente` | Texto | "Inter" | Nombre de la fuente tipográfica |
### Fuentes Disponibles
| Valor | Descripción |
|-------|-------------|
| `Inter` | Moderna, muy legible (recomendada) |
| `Roboto` | Google, neutra |
| `Open Sans` | Google, amigable |
| `Montserrat` | Geométrica, elegante |
| `Lato` | Equilibrada, profesional |
| `SF Pro Display` | Apple, premium |
| `system` | Fuente nativa del sistema |
---
### Nodos (Categorías)
| Campo | Tipo | Ejemplo | Descripción |
|-------|------|---------|-------------|
| `id` | Texto | "n1" | Identificador único |
| `titulo` | Texto | "Arquitectura" | Nombre de la categoría |
| `imagen` | URL | "https://..." | Imagen cuadrada (se muestra 120×120px) |
| `subnodos` | Array | [...] | Lista de documentos |
### Subnodos (Documentos)
| Campo | Tipo | Ejemplo | Descripción |
|-------|------|---------|-------------|
| `id` | Texto | "s1" | Identificador único |
| `titulo` | Texto | "Plano General" | Nombre del documento |
| `imagen` | URL | "https://..." | Miniatura 16:9 (se muestra 180×101px) |
| `tiene_preview` | Booleano | true | Icono ojo (esquina superior derecha) |
| `tiene_descarga` | Booleano | true | Icono descarga (esquina inferior izquierda) |
| `tiene_enlace` | Booleano | true | Icono enlace (esquina inferior derecha) |
| `tiene_historial` | Booleano | false | Icono reloj (esquina superior izquierda) |
---
## Iconos de Acción
Los iconos se posicionan en las **4 esquinas** del subnodo para facilitar el uso en móviles:
```
┌─────────────────────┐
│ 🕐 👁 │ 🕐 = historial (tiene_historial)
│ │ 👁 = preview (tiene_preview)
│ │
│ ⬇ 🔗 │ ⬇ = descarga (tiene_descarga)
└─────────────────────┘ 🔗 = enlace (tiene_enlace)
```
**Estilo visual:**
- Fondo: negro semi-transparente `rgba(0,0,0,0.5)`
- Icono: blanco
- Tamaño: 26×26px
- Radio: 4px
- Opacidad: 50% (aumenta al hacer hover)
---
## Especificaciones Visuales
### Dimensiones
| Elemento | Valor | Notas |
|----------|-------|-------|
| Nodo principal | 120×120 px | Cuadrado |
| Subnodo | 180×101 px | Ratio 16:9 |
| Radio esquinas nodo | 20px | |
| Radio esquinas subnodo | 15px | |
| Grosor líneas/bordes | 3px | |
| Gap entre subnodos | 20px | Vertical |
| Gap entre grupos | 50px | Vertical |
| Gap nodo a subnodo | 70px | Horizontal |
### Tipografía
| Elemento | Tamaño | Peso | Color |
|----------|--------|------|-------|
| Título página | 32px | 600 | #1a1a1a |
| Título nodo | 18px | 500 | Color del nodo |
| Título subnodo | 16px | 500 | Color del nodo |
### Colores por Defecto
```
#FF6B35 - Naranja (nodo 1)
#E5A000 - Amarillo (nodo 2)
#06D6A0 - Verde (nodo 3)
#0891B2 - Cyan (nodo 4)
#3B82F6 - Azul (nodo 5)
#8B5CF6 - Violeta (nodo 6)
#EC4899 - Rosa (nodo 7)
```
Los colores rotan automáticamente: nodo 8 usa color 1, etc.
### Fondo de Fallback
Cuando una imagen no carga, se muestra fondo gris `#ccc`. Esto evita espacios en blanco y texto fantasma.
---
## Animaciones
| Elemento | Duración | Función | Delay |
|----------|----------|---------|-------|
| Movimiento vertical del nodo | 400ms | ease-out | - |
| Revelado de líneas | 450ms | linear | 80ms |
| Aparición subnodos | instantánea | - | 30ms |
### Secuencia al Expandir
1. El nodo se desplaza verticalmente para centrarse con sus subnodos
2. Las líneas se revelan con efecto de máscara deslizante
3. Los subnodos aparecen instantáneamente
### Secuencia al Colapsar
1. Las líneas desaparecen
2. Los subnodos se ocultan
3. El nodo vuelve a su posición
---
## Centrado Automático
El contenedor principal se centra horizontalmente con flexbox:
- **Con subnodos expandidos**: Ancho = nodo + gap + subnodo (~400px)
- **Todo colapsado**: Ancho = solo nodos (~180px)
El ancho cambia con transición suave (400ms).
---
## Integración con NocoDB
### Estructura de Tablas Recomendada
**Tabla: `proyectos`**
```
id | titulo | mostrar_titulo | colores | fuente
```
**Tabla: `nodos`**
```
id | proyecto_id | titulo | imagen | orden
```
**Tabla: `subnodos`**
```
id | nodo_id | titulo | imagen | tiene_preview | tiene_descarga | tiene_enlace | tiene_historial | orden
```
### Campo de Imagen
Usar campo tipo **Attachment** de NocoDB. La URL del archivo se usa directamente.
Para optimizar imágenes automáticamente, considerar:
- **Cloudinary**: `https://res.cloudinary.com/cuenta/image/upload/w_180,h_101,c_fill/imagen.jpg`
- **Redimensionado manual** antes de subir
### Tamaños de Imagen Recomendados
| Tipo | Subir | Se muestra como |
|------|-------|-----------------|
| Nodo | 240×240 px | 120×120 px |
| Subnodo | 360×202 px | 180×101 px |
Subir al doble para pantallas retina.
---
## Ejemplo JSON Completo
```json
{
"titulo": "Proyecto Cliente X",
"mostrar_titulo": true,
"colores": "#FF6B35, #06D6A0, #3B82F6",
"fuente": "Montserrat",
"nodos": [
{
"id": "n1",
"titulo": "Planos",
"imagen": "https://ejemplo.com/planos-thumb.jpg",
"subnodos": [
{
"id": "s1",
"titulo": "Planta Baja",
"imagen": "https://ejemplo.com/planta-baja.jpg",
"tiene_preview": true,
"tiene_descarga": true,
"tiene_enlace": false,
"tiene_historial": true
},
{
"id": "s2",
"titulo": "Planta Alta",
"imagen": "https://ejemplo.com/planta-alta.jpg",
"tiene_preview": true,
"tiene_descarga": true,
"tiene_enlace": true,
"tiene_historial": false
}
]
}
]
}
```
---
## Pendiente de Implementar
- [ ] Conexión real con API de NocoDB
- [ ] Sistema de autenticación con PIN
- [ ] Funcionalidad real de iconos:
- [ ] Preview: abrir modal con documento
- [ ] Descarga: descargar archivo
- [ ] Enlace: copiar URL al portapapeles
- [ ] Historial: mostrar versiones anteriores
- [ ] Responsive móvil (adaptar a pantallas pequeñas)
- [ ] Integración en aplicación empresarial
---
## Historial de Versiones
| Versión | Cambios principales |
|---------|---------------------|
| v11 | Colores/fuentes configurables, centrado mejorado, iconos en 4 esquinas, fix texto duplicado |
| v10 | Imágenes base64 incrustadas (demo) |
| v9 | Esquinas redondeadas 20px/15px, iconos 50% opacidad |
| v8 | Subnodos aparecen instantáneamente |
| v7-v1 | Iteraciones de diseño y animación |