Volver a Capsus
Edición local y funciones en línea

Documentación Técnica de Capsus

Capsus guarda lienzos y cápsulas en el navegador, sin cuentas ni sincronización automática. El editor funciona offline con los recursos ya disponibles. Las previews, fuentes, medios externos y señalización del teléfono utilizan internet y pueden procesar datos técnicos de conexión.

1. Arquitectura Local-First

El lienzo, la edición de imágenes y el audio se procesan en el dispositivo. Fabric.js dibuja el lienzo y Three.js la esfera 3D. El service worker conserva recursos para trabajar offline después de cargarlos; las funciones de red y los recursos aún no descargados necesitan conexión.

// Tecnologías centrales

Almacenamiento: IndexedDB (idb-keyval), localStorage, Cache Storage

Motor de Lienzo: Fabric.js v7 + Three.js r185

Workers: serialize-worker, cutout workers

PWA: Service worker: recursos offline tras su carga

2. Especificación del Archivo .capsus.zip

Una copia .capsus.zip es un ZIP sin cifrado con el estado exportado de una edición. No garantiza conservar páginas o videos externos:

  • data.json: Estado del lienzo y las capas, identificador, nombre, versión del formato, estado de sellado y fecha de exportación.
  • HTML / TXT: Documentos opcionales para explorar notas, enlaces y medios fuera de Capsus. Sus nombres siguen el idioma de la interfaz y pueden omitirse si se superan los límites del archivo.
  • assets/: Medios y recursos de edición incluidos en la copia, como fotos, audios, vistas previas y máscaras. Los enlaces pueden seguir dependiendo de internet.

3. Endpoints de API Protegidos

El servidor atiende previews de enlaces, imágenes remotas y señalización del teléfono. Las APIs usan controles de origen y límites de solicitudes basados en IP o cabeceras; la señalización guarda temporalmente datos de sesión en Redis en producción.

GET /api/previewInterno

Recibe una URL y consulta la página, plataformas o intermediarios para obtener metadatos. Aplica controles contra SSRF y límites de solicitudes. Algunas previews públicas permiten caché compartida; no todas las consultas son efímeras.

GET /api/proxy-imageInterno

Proxifica imágenes remotas para habilitar el recorte y extracción de texturas sin contaminación de canvas (tainted canvas).

POST /api/phone-transferInterno

Coordina una conexión opcional con el teléfono mediante sesiones temporales y mensajes SDP cifrados. Las fotos viajan directamente entre dispositivos por WebRTC; el servidor no las guarda ni retransmite.

4. Seguridad y Privacidad

Capsus aplica cabeceras y validaciones de seguridad, sin garantizar protección absoluta. El micrófono requiere permiso; el recorte con IA analiza la imagen localmente tras descargar modelo y motor. Fuentes y medios externos pueden contactar a terceros. Los lienzos locales y copias .capsus.zip no están cifrados; el sellado no cambia eso. Consulta Privacidad para conocer las conexiones y el almacenamiento.

5. Negociación de Contenido para LLMs

Las rutas de Capsus soportan negociación de contenido HTTP vía cabecera Accept:

Accept: text/html → Esta interfaz web interactiva

Accept: text/markdown → Reescritura directa a /docs.md

GET /llms.txt → Contexto estructurado para agentes de IA