> ## Documentation Index
> Fetch the complete documentation index at: https://avala.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquitectura

> Cómo está estructurada la plataforma Avala

Esta página proporciona una visión general de cómo la plataforma Avala está organizada y cómo interactúan sus componentes.

<img src="https://mintcdn.com/avala/QI4wcFsXqwG8KGbR/images/reference/architecture-system-overview-light.svg?fit=max&auto=format&n=QI4wcFsXqwG8KGbR&q=85&s=2e7d5ce34b4db810adebeec241a97e6a" alt="Arquitectura del sistema Avala" className="block dark:hidden w-full" width="480" height="100" data-path="images/reference/architecture-system-overview-light.svg" />

<img src="https://mintcdn.com/avala/QI4wcFsXqwG8KGbR/images/reference/architecture-system-overview.svg?fit=max&auto=format&n=QI4wcFsXqwG8KGbR&q=85&s=92d58f56f725d7b1a535b1d95323fe10" alt="Arquitectura del sistema Avala" className="hidden dark:block w-full" width="480" height="100" data-path="images/reference/architecture-system-overview.svg" />

## Visión general del sistema

<Steps>
  <Step title="Mission Control" icon="browser">
    Interfaz web en [avala.ai](https://avala.ai) — Visualización, Anotación, Gestión de proyectos, Control de calidad, Gestión de datasets
  </Step>

  <Step title="Motor de visualización" icon="display">
    Renderizado acelerado por GPU — Visor multi-sensor, Visor de nubes de puntos 3D, Visor Gaussian Splat, Pipeline de renderizado WebGPU/WebGL
  </Step>

  <Step title="REST API" icon="server">
    `api.avala.ai/api/v1` — Datasets, proyectos, tareas, exportaciones, organizaciones. Acceso vía HTTP/cURL directo, Python SDK, TypeScript SDK o CLI.
  </Step>

  <Step title="Servicios backend" icon="gears">
    Procesamiento asíncrono — Parsing de MCAP, conversión de video, generación de exportaciones, procesamiento de tareas, pipeline de inferencia
  </Step>

  <Step title="Almacenamiento" icon="database">
    Datos persistentes — Archivos de datasets, anotaciones, exportaciones, artefactos de modelos
  </Step>
</Steps>

## Componentes

### Mission Control

Mission Control es la aplicación web de Avala en [avala.ai](https://avala.ai). Proporciona:

* **Visualización de datos** — Visores acelerados por GPU para explorar datos de sensores antes, durante y después de la anotación. Reproducción multi-sensor, renderizado de nubes de puntos 3D y navegación de escenas Gaussian Splat — todo en el navegador.
* **Editor de anotación** — Herramientas diseñadas específicamente para etiquetar imágenes, video, nubes de puntos y datos multi-sensor con soporte para bounding boxes, polígonos, cuboides, segmentación, polilíneas y keypoints.
* **Gestión de proyectos** — Cree y configure proyectos de anotación, defina taxonomías de etiquetas, asigne trabajo a miembros del equipo y monitoree el progreso.
* **Control de calidad** — Revise anotaciones enviadas, señale problemas, rastree tasas de aceptación y ejecute flujos de consenso.
* **Gestión de datasets** — Suba datos, organice elementos en secuencias, explore y busque datasets, y gestione permisos de acceso.

### Motor de visualización

El motor de visualización se ejecuta en el navegador y proporciona renderizado acelerado por GPU para datos de sensores:

* **Visor multi-sensor** — Reproducción sincronizada de grabaciones MCAP y ROS con ocho tipos de paneles: Image, 3D / Point Cloud, Plot, Raw Messages, Log, Map, Gauge y State Transitions. Detección automática de topics y composición inteligente de diseño organizan los paneles según sus datos.
* **Visor de nubes de puntos 3D** — Renderiza datos LiDAR con seis modos de visualización (Neutral, Intensity, Rainbow, Label, Panoptic, Image Projection). Vistas cenital, perspectiva y lateral. Los compute shaders de WebGPU manejan el frustum culling y el renderizado de nivel de detalle para altas tasas de fotogramas en escaneos densos.
* **Visor Gaussian Splat** — Renderizado acelerado por WebGPU de reconstrucciones de escenas 3D Gaussian Splat. GPU radix sorting, buffer pooling y precompilación de pipelines ofrecen navegación en tiempo real por entornos fotorrealistas.
* **Pipeline de renderizado** — Se prefiere WebGPU con respaldo automático a WebGL para mayor compatibilidad de navegadores. Los feature flags controlan compute shaders, render bundles y compilación de shaders WGSL.
* **Diseño multi-ventana** — Disposiciones de paneles configurables con arrastrar y soltar. Un sistema de diseño basado en árboles con balanceo automático le permite personalizar cómo se organizan los paneles, o dejar que el compositor de diseño construya una disposición optimizada a partir de sus datos.

<Tip>
  El motor de visualización no requiere plugins ni descargas. Se ejecuta nativamente en Chrome 113+, Edge 113+ y otros navegadores compatibles con WebGPU, con respaldo WebGL para navegadores más antiguos.
</Tip>

### REST API

La REST API en `api.avala.ai/api/v1` proporciona acceso programático a todas las capacidades de la plataforma. Todas las solicitudes se autentican con una API key pasada en el encabezado `X-Avala-Api-Key`.

Recursos principales:

| Recurso           | Descripción                                                                         |
| ----------------- | ----------------------------------------------------------------------------------- |
| **Datasets**      | Crear, listar y gestionar datasets y sus elementos                                  |
| **Projects**      | Configurar flujos de anotación, taxonomías de etiquetas y configuraciones de tareas |
| **Tasks**         | Asignar, rastrear y gestionar unidades de trabajo de anotación individuales         |
| **Exports**       | Generar y descargar datos anotados en varios formatos                               |
| **Organizations** | Gestionar equipos, miembros, roles y permisos                                       |

La API sigue convenciones REST con cuerpos de solicitud y respuesta en JSON, paginación basada en cursor y códigos de estado HTTP estándar.

### SDKs

Puede llamar a la REST API directamente desde cualquier lenguaje usando clientes HTTP estándar (ver [REST API](/docs/sdks/rest-api)), o usar los SDKs oficiales:

* **Python SDK** (`pip install avala`) — Clientes síncronos y asíncronos, modelos Pydantic, paginación automática, excepciones tipadas, herramienta CLI.
* **TypeScript SDK** (`npm install @avala-ai/sdk`) — Cliente completamente tipado con API basada en Promises para Node.js y edge runtimes.
* **CLI** (`curl -fsSL https://avala.ai/install.sh | bash`) — Gestione datasets, proyectos, exportaciones y almacenamiento desde su terminal.

Consulte la [visión general de SDKs](/docs/es/sdks/overview) para más detalles.

### Servicios backend

Los servicios backend manejan el procesamiento asíncrono que impulsa la plataforma:

* **Parsing de MCAP** — Extrae y sincroniza flujos de sensores de grabaciones MCAP, detecta tipos de mensajes y construye índices de fotogramas para el visor multi-sensor.
* **Conversión de video** — Divide archivos de video subidos en secuencias de fotogramas para visualización y anotación.
* **Generación de exportaciones** — Produce exportaciones descargables en JSON, COCO, KITTI y otros formatos.
* **Procesamiento de tareas** — Genera y distribuye tareas de anotación basadas en la configuración del proyecto.
* **Pipeline de inferencia** — Ejecuta inferencia de modelos para anotación asistida por IA y pre-etiquetado.

### Almacenamiento

El almacenamiento gestiona todos los datos persistentes:

* **Archivos de datasets** — Imágenes sin procesar, fotogramas de video, nubes de puntos y grabaciones MCAP.
* **Anotaciones** — Datos etiquetados producidos por anotadores (bounding boxes, polígonos, cuboides, máscaras).
* **Exportaciones** — Archivos de exportación generados disponibles para descarga.
* **Artefactos de modelos** — Pesos y configuraciones para modelos de inferencia usados en el etiquetado asistido por IA.

### Servidor MCP

El servidor MCP (Model Context Protocol) expone las herramientas de Avala a asistentes de IA como Claude, Cursor y VS Code Copilot. Permite interacción en lenguaje natural con datasets, proyectos y exportaciones sin salir de su entorno de desarrollo.

<Info>
  El paquete `@avala-ai/mcp-server` está disponible en npm. Instale con `npm install -g @avala-ai/mcp-server` o use `npx`. Consulte la [guía de configuración MCP](/docs/integrations/mcp-setup) para instrucciones de instalación.
</Info>

## Cómo interactúan los componentes

1. **Los usuarios** interactúan con Avala a través de Mission Control (interfaz web) o programáticamente a través de la REST API y los SDKs.
2. **Mission Control** carga datos a través de la REST API y los renderiza usando el motor de visualización directamente en el navegador — no se requiere renderizado del lado del servidor.
3. **Todas las interfaces de cliente** se comunican con la misma REST API, por lo que las acciones realizadas en Mission Control son inmediatamente visibles a través de la API y viceversa.
4. **La REST API** valida solicitudes, gestiona recursos y despacha trabajo a los servicios backend para procesamiento asíncrono.
5. **Los servicios backend** procesan tareas (parsing de MCAP, conversión de video, generación de exportaciones) y escriben los resultados de vuelta al almacenamiento.

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Referencia de la API" icon="square-terminal" href="/docs/api-reference/overview">
    URL base, autenticación, endpoints y formato de respuesta.
  </Card>

  <Card title="Use Avala con IA" icon="sparkles" href="/docs/es/getting-started/mcp">
    Conecte Avala a Claude, Cursor y VS Code con MCP.
  </Card>

  <Card title="Tipos de datos" icon="database" href="/docs/es/getting-started/data-types">
    Capacidades de visualización y herramientas de anotación para cada tipo de dato.
  </Card>

  <Card title="Conceptos fundamentales" icon="lightbulb" href="/docs/es/getting-started/concepts">
    Visores, paneles, diseños, líneas de tiempo y otros conceptos de la plataforma.
  </Card>
</CardGroup>
