このページでは、Display Safety のソースコードの構成について説明します。
詳細については、各ディレクトリの README.md をご覧ください。
リポジトリのクローンを作成する
リポジトリにアクセスするには、Google テクニカル アカウント マネージャーにお問い合わせください。
フレームワーク
このディレクトリには、Display Safety フレームワークのコア コンポーネントが含まれています。
| ディレクトリ | 目的 |
|---|---|
api/har-platform-api |
サポートされているプラットフォームで高 可用性レンダラ(HAR)アプリを構築するためのプラットフォーム サブシステムの抽象化のコレクション。 |
api/har-types |
Hardware Abstraction Layer のタイプ。 |
asset-manager |
ランタイム アプリケーション アセットを管理するためのツール。 |
audio/har-audio |
HAR 音声再生を処理するためのクレート |
customizations |
HAR ベースのアプリからデザイン のカスタマイズを生成するための API、実装、派生マクロが含まれています。 |
derive/har-ui-model-derive |
HAR UI モデル システムで使用される共通の特性を派生させるための手続き型マクロ |
display_list |
グラフィック バックエンドから切り離された、レンダリングするシーンを記述する構造とコンポーネントを定義します。 |
graphics/external-image |
外部画像表現用のクレート。 |
graphics/har-gl-context |
グラフィック コンテキスト API を定義し、ディスプレイ レンダリングとオフスクリーン レンダリングの両方で、サポートされているプラットフォーム全体にわたる複数の実装 を含みます。 |
graphics/impeller |
生成された FFI バインディングを基盤とする、Impeller 用の Safe Rust API。 |
graphics/impeller-renderer |
Impeller をバックエンド レンダリング エンジンとして使用する高レベル レンダラの実装。 |
har-layout |
Taffy のラッパー。HAR のビューのレイアウトを計算します。 |
har-monitoring |
パフォーマンス モニタリング ツールキット。 |
har-utils |
一般的なユーティリティ。 |
harry |
HAR アプリケーションを構築するための基盤として使用されるフレームワーク |
harry-animation |
Harry 用のアニメーション API と実装 |
squoosh |
Harry フレームワークのビュー パラメータの中間表現とアニメーション エンジン。 |
task-scheduler |
タスクのスケジュールを設定し、指定した遅延後にバックグラウンド スレッドで実行するためのユーティリティ。 |
test_suites |
Display Safety の単体テストを実行するためのテストスイート |
事前ビルド
このディレクトリには、事前ビルドされたライブラリとアセットが含まれています。
| ディレクトリ | 目的 |
|---|---|
impeller/ |
OS と アーキテクチャごとに整理された、Impeller グラフィック エンジン用の事前ビルド ライブラリ。 |
impeller-rs-bindgen/ |
Impeller 用の Rust FFI バインディング。 |
impeller-rs-bindgen-wrapper/ |
Impeller バインディング用の API ラッパー。 |
リファレンス
このディレクトリには、HAR のリファレンス実装、プラットフォーム固有の実装、ツール、テスト アーティファクトが含まれています。
| ディレクトリ | 目的 |
|---|---|
audio/tinyalsa-rs |
Tinyalsa Audio ライブラリ用の Rust FFI バインディング。 |
audio/tinyalsa-audio |
`tinyalsa-rs` クレートによって生成された FFI バインディングを基盤とする、音声再生とデバイス管理用のライブラリ |
camera/emulated-camera |
`har-platform-api` の `Camera` 特性 を使用して、エミュレートされたカメラの実装を提供します。 |
graphics/gl-helpers |
GL ヘルパー関数を含むユーティリティ クレート |
har-user-input-evdev/ |
基本的な evdev ベースの入力処理の実装を実装します。 キーボード、マウス、タッチ(シングルタッチとマルチタッチ)イベントをサポートします。 |
harry-app/ |
`harry` フレームワークを使用して構築されたポータブル高可用性レンダラ(HAR) アプリのリファレンス実装。 |
harry-app-core/ |
`harry-app` リファレンス アプリのコア アプリケーション ロジック、状態管理、UI モデル定義。 |
harry-app-utils/ |
`harry-app` リファレンス アプリのユーティリティ関数とヘルパー モジュール。 |
harry-control-api/ |
`harry-app` リファレンス アプリの制御 API。 |
harry-grpcio-server/ |
gRPC サーバー(grpcio ベース)。これは、soong で Android バージョンをビルドする場合にのみ使用されます。 |
harry-tonic-server/ |
gRPC サーバー(tonic ベース)。これは、Cargo で Linux バージョンをビルドする場合にのみ使用されます。 |
harry-vehicle-data-grpc/ |
車両データ proto ファイルから生成された車両データ gRPC コード。 |
i18n/harry-app-i18n |
HAR の国際化とローカライズのサービス。 |
i18n/i18n-protos |
i18n データの protobuf メッセージと Rust コード生成を定義します。 |
libyuv-rs/ |
libyuv 用の Rust バインディング。 |
platforms/har-log |
サポートされているすべてのプラットフォームのログとトレースの実装を定義します。 |
platforms/har-looper-headless |
ヘッドレス レンダリング用のプラットフォームに依存しないルーパ実装。 |
platforms/har-platform-android |
`har-platform-api` プラットフォームの抽象化の Android 固有の実装を提供します。 |
platforms/har-platform-linux |
`har-platform-api` プラットフォームの抽象化の Linux 固有の実装を提供します。 |
platforms/harry-app-platform-specific |
harry-app の条件付きコンパイル ブリッジ。選択したプラットフォームに基づいて正しい 実装を選択します。 |
safety-monitor |
Android 用のリファレンス セーフティ モニターの実装。 |
screencap |
DRM フレームバッファから直接スクリーンショットを抽出するためのスクリーン キャプチャ ユーティリティ |
vehicle-data-scripts |
スクリプト化された車両データ シーケンスを作成するための構造とロジック |
サービス
このディレクトリには、Display Safety に関連する Android サービスが含まれています。
| ディレクトリ | 目的 |
|---|---|
ds-cvd-toolkit |
複数の Cuttlefish デバイスを起動できる Display Safety 用のコマンドライン ツール。 |
emulator |
ランタイム リソース オーバーレイのエミュレータ サポート |
har-grpc-services |
リファレンス実装で使用される proto 定義が含まれています。これは、HAR アプリと DriverUI、車両データ サービス間の通信チャネルを確立するために 確立するために使用されます。 |
har-sdv-service* |
proto ファイルによって生成されたコードを利用して、HAR にデータサービスを提供する SDV サービス バンドルを提供します。 |
har-tracing-common |
HAR のパフォーマンス トレース サービス |
harry-prebuilt/ |
事前ビルドされた Harry コンポーネント(アセット、構成など) |
ivi/ |
Android IVI(車載インフォテインメント)に関連するコンポーネント |
libhar_graphics/ |
HAR サービス用の C++ グラフィック ライブラリ。 |
pdk/ |
PDK リリース メタデータ |
product/ |
プロダクト固有の構成とアセット |
SdvCameraPreviewApp |
SDV 用のカメラ プレビュー アプリ。 |
vehicledata |
gRPC を使用して車両データ SDV データトンネル パブリッシャーを実装します。 |
Utils
このディレクトリには、リファレンス実装とテスト用の一般的なユーティリティが含まれています。
| ディレクトリ | 目的 |
|---|---|
asset-manager-cli |
アセット パッケージを生成するためのコマンドライン インターフェースを提供します。 |
dcf-info/ |
DCF(シリアル化された Design Compose Figma ドキュメント)からメタデータを抽出するツール。 |
figma-utils |
シリアル化された Figma ドキュメントを取得するための `figma_import` のコマンドライン ラッパーを提供します。 |
gauge-test |
ダイヤルとゲージの UI 要素をテストしてデモするために設計されたアプリ。 |
gui-playground-app |
新しい UI 機能とアニメーション機能をテストするためのサンドボックス環境。 |
har-platform-tests |
プラットフォーム固有の特性実装の統合テストスイート。 |
har-rendering-parity |
HAR、DesignCompose、 Figma 間のレンダリング パリティを検証するためのビジュアル ツール。 |
harry-rpc-client |
RPC 経由で Harry にコマンドを送信するためのコマンドライン インターフェースを提供します。 |
human-readable-report-generator |
安全アーティファクトを視覚的に検証するためのユーティリティ。 |
ktx-utils |
Khronos KTX 2.0 テクスチャ ファイルをエンコードおよびデコードするためのユーティリティを提供します。 |
list-test-app |
HAR でのリスト管理のテスト環境とデモ環境として機能します。 |
transfer-localizations |
Android XML ローカライズ ファイルを HAR proto 形式に変換するためのユーティリティ。 |
variable-density-analyzer |
Figma ドキュメントを分析し、ノードと デザイン変数の比率を計算します。 |