> ## 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.

# アーキテクチャ

> Avala プラットフォームの構成

このページでは、Avala プラットフォームの構成と、コンポーネント間の連携方法を概説します。

<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="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="Avala システムアーキテクチャ" className="hidden dark:block w-full" width="480" height="100" data-path="images/reference/architecture-system-overview.svg" />

## システム概要

<Steps>
  <Step title="Mission Control" icon="browser">
    [avala.ai](https://avala.ai) のウェブ UI — ビジュアライゼーション、アノテーション、プロジェクト管理、品質管理、データセット管理
  </Step>

  <Step title="ビジュアライゼーションエンジン" icon="display">
    GPU アクセラレーションレンダリング — マルチセンサービューア、3D ポイントクラウドビューア、Gaussian Splat ビューア、WebGPU/WebGL レンダリングパイプライン
  </Step>

  <Step title="REST API" icon="server">
    `api.avala.ai/api/v1` — データセット、プロジェクト、タスク、エクスポート、組織。直接 HTTP/cURL、Python SDK、TypeScript SDK、CLI でアクセス可能。
  </Step>

  <Step title="バックエンドサービス" icon="gears">
    非同期処理 — MCAP パース、動画変換、エクスポート生成、タスク処理、推論パイプライン
  </Step>

  <Step title="ストレージ" icon="database">
    永続データ — データセットファイル、アノテーション、エクスポート、モデルアーティファクト
  </Step>
</Steps>

## コンポーネント

### Mission Control

Mission Control は [avala.ai](https://avala.ai) にある Avala のウェブアプリケーションです。以下を提供します：

* **データビジュアライゼーション** — アノテーションの前、最中、後にセンサーデータを探索するための GPU アクセラレーションビューア。マルチセンサー再生、3D ポイントクラウドレンダリング、Gaussian Splat シーンナビゲーション — すべてブラウザ内で実行されます。
* **アノテーションエディター** — 画像、動画、ポイントクラウド、マルチセンサーデータにラベルを付けるための専用ツール。バウンディングボックス、ポリゴン、キュボイド、セグメンテーション、ポリライン、キーポイントをサポートしています。
* **プロジェクト管理** — アノテーションプロジェクトの作成と設定、ラベルタクソノミーの定義、チームメンバーへの作業割り当て、進捗の監視。
* **品質管理** — 提出されたアノテーションのレビュー、課題のフラグ付け、承認率の追跡、コンセンサスワークフローの実行。
* **データセット管理** — データのアップロード、シーケンスへのアイテムの整理、データセットの閲覧と検索、アクセス権限の管理。

### ビジュアライゼーションエンジン

ビジュアライゼーションエンジンはブラウザ内で動作し、センサーデータの GPU アクセラレーションレンダリングを提供します：

* **マルチセンサービューア** — 8 種類のパネル（画像、3D / ポイントクラウド、プロット、生メッセージ、ログ、マップ、ゲージ、ステート遷移）による MCAP および ROS レコーディングの同期再生。トピックの自動検出とスマートレイアウト構成により、データに基づいてパネルを配置します。
* **3D ポイントクラウドビューア** — 6 つの可視化モード（ニュートラル、インテンシティ、レインボー、ラベル、パノプティック、画像プロジェクション）で LiDAR データをレンダリングします。バードアイビュー、パースペクティブビュー、サイドビュー。WebGPU コンピュートシェーダーが密なスキャンでの高フレームレートのための視錐台カリングとレベルオブディテールレンダリングを処理します。
* **Gaussian Splat ビューア** — 3D Gaussian Splat シーン再構成の WebGPU アクセラレーションレンダリング。GPU ラディックスソート、バッファプーリング、パイプラインプリコンパイルにより、フォトリアリスティックな環境のリアルタイムナビゲーションを実現します。
* **レンダリングパイプライン** — WebGPU が優先され、より広いブラウザサポートのために自動的に WebGL にフォールバックします。フィーチャーフラグがコンピュートシェーダー、レンダーバンドル、WGSL シェーダーコンパイルを制御します。
* **マルチウィンドウレイアウト** — ドラッグ&ドロップによる設定可能なパネル配置。自動バランシング付きのツリーベースレイアウトシステムにより、パネルの配置をカスタマイズするか、レイアウトコンポーザーにデータから最適化された配置を構築させることができます。

<Tip>
  ビジュアライゼーションエンジンはプラグインやダウンロードを必要としません。Chrome 113+、Edge 113+、その他の WebGPU 対応ブラウザでネイティブに動作し、古いブラウザでは WebGL にフォールバックします。
</Tip>

### REST API

`api.avala.ai/api/v1` の REST API は、すべてのプラットフォーム機能へのプログラムアクセスを提供します。すべてのリクエストは、`X-Avala-Api-Key` ヘッダーに渡される API キーで認証されます。

主要リソース：

| リソース       | 説明                               |
| ---------- | -------------------------------- |
| **データセット** | データセットとそのアイテムの作成、一覧表示、管理         |
| **プロジェクト** | アノテーションワークフロー、ラベルタクソノミー、タスク設定の設定 |
| **タスク**    | 個々のアノテーション作業単位の割り当て、追跡、管理        |
| **エクスポート** | 各種フォーマットでのアノテーション済みデータの生成とダウンロード |
| **組織**     | チーム、メンバー、ロール、権限の管理               |

API は JSON リクエスト・レスポンスボディ、カーソルベースのページネーション、標準 HTTP ステータスコードによる REST 規約に従っています。

### SDK

任意の言語から標準 HTTP クライアントを使用して REST API を直接呼び出すことができます（[REST API](/docs/sdks/rest-api) を参照）。または、公式 SDK をご利用ください：

* **Python SDK**（`pip install avala`）— 同期・非同期クライアント、Pydantic モデル、自動ページネーション、型付き例外、CLI ツール。
* **TypeScript SDK**（`npm install @avala-ai/sdk`）— Node.js およびエッジランタイム用の Promise ベース API を持つ完全型付きクライアント。
* **CLI**（`curl -fsSL https://avala.ai/install.sh | bash`）— ターミナルからデータセット、プロジェクト、エクスポート、ストレージを管理。

詳細は [SDK 概要](/docs/ja/sdks/overview)をご覧ください。

### バックエンドサービス

バックエンドサービスは、プラットフォームを動かす非同期処理を処理します：

* **MCAP パース** — MCAP レコーディングからセンサーストリームを抽出・同期し、メッセージタイプを検出し、マルチセンサービューア用のフレームインデックスを構築します。
* **動画変換** — アップロードされた動画ファイルを、ビジュアライゼーションとアノテーションのためのフレームシーケンスに分割します。
* **エクスポート生成** — JSON、COCO、KITTI、その他のフォーマットでダウンロード可能なエクスポートを生成します。
* **タスク処理** — プロジェクト設定に基づいてアノテーションタスクを生成・配布します。
* **推論パイプライン** — AI 支援アノテーションとプレラベリングのためのモデル推論を実行します。

### ストレージ

ストレージはすべての永続データを管理します：

* **データセットファイル** — 生の画像、動画フレーム、ポイントクラウド、MCAP レコーディング。
* **アノテーション** — アノテーターが作成したラベル付きデータ（バウンディングボックス、ポリゴン、キュボイド、マスク）。
* **エクスポート** — ダウンロード可能な生成済みエクスポートファイル。
* **モデルアーティファクト** — AI 支援ラベリングに使用される推論モデルの重みと設定。

### MCP サーバー

MCP（Model Context Protocol）サーバーは、Avala のツールを Claude、Cursor、VS Code Copilot などの AI アシスタントに公開します。開発環境を離れずに、自然言語でデータセット、プロジェクト、エクスポートを操作できます。

<Info>
  `@avala-ai/mcp-server` パッケージは npm で利用可能です。`npm install -g @avala-ai/mcp-server` でインストールするか、`npx` を使用してください。インストール手順は [MCP セットアップガイド](/docs/integrations/mcp-setup)をご覧ください。
</Info>

## コンポーネントの連携方法

1. **ユーザー**は Mission Control（ウェブ UI）を通じて、または REST API と SDK を通じてプログラムで Avala と対話します。
2. **Mission Control** は REST API を通じてデータをロードし、ビジュアライゼーションエンジンを使用してブラウザ内で直接レンダリングします — サーバーサイドレンダリングは不要です。
3. **すべてのクライアントインターフェース**は同じ REST API と通信するため、Mission Control で行ったアクションは即座に API 経由で確認でき、その逆も同様です。
4. **REST API** はリクエストを検証し、リソースを管理し、非同期処理のためにバックエンドサービスに作業をディスパッチします。
5. **バックエンドサービス**はタスク（MCAP パース、動画変換、エクスポート生成）を処理し、結果をストレージに書き戻します。

## 次のステップ

<CardGroup cols={2}>
  <Card title="API リファレンス" icon="square-terminal" href="/docs/api-reference/overview">
    ベース URL、認証、エンドポイント、レスポンスフォーマット。
  </Card>

  <Card title="AI で Avala を使う" icon="sparkles" href="/docs/ja/getting-started/mcp">
    MCP で Avala を Claude、Cursor、VS Code に接続できます。
  </Card>

  <Card title="データタイプ" icon="database" href="/docs/ja/getting-started/data-types">
    各データタイプのビジュアライゼーション機能とアノテーションツール。
  </Card>

  <Card title="基本コンセプト" icon="lightbulb" href="/docs/ja/getting-started/concepts">
    ビューア、パネル、レイアウト、タイムライン、その他のプラットフォームコンセプト。
  </Card>
</CardGroup>
