Ta strona zawiera opis organizacji kodu źródłowego Display Safety.
Więcej informacji znajdziesz w pliku README.md w każdym katalogu.
Kopiowanie repozytorium
Aby uzyskać dostęp do repozytorium, skontaktuj się z Technicznym menedżerem konta Google.
Platforma
Ten katalog zawiera podstawowe komponenty platformy Display Safety.
| Katalog | Cel |
|---|---|
api/har-platform-api |
Zbiór abstrakcji podsystemu platformy do tworzenia aplikacji mechanizmu renderowania o wysokiej dostępności (HAR) na obsługiwanych platformach. |
api/har-types |
Typy warstwy abstrakcji sprzętowej. |
asset-manager |
Narzędzia do zarządzania komponentami aplikacji w środowisku wykonawczym. |
audio/har-audio |
Crate do obsługi odtwarzania dźwięku HAR. |
customizations |
Zawiera interfejsy API, implementacje i makra pochodne do tworzenia dostosowań projektu na podstawie aplikacji HAR. |
derive/har-ui-model-derive |
Makra proceduralne do wyprowadzania typowych cech używanych przez system modelu interfejsu HAR . |
display_list |
Definiuje struktury i komponenty opisujące scenę do renderowania, niezależne od żadnego graficznego backendu. |
graphics/external-image |
Crate do reprezentacji obrazów zewnętrznych. |
graphics/har-gl-context |
Definiuje interfejs API kontekstu graficznego i zawiera wiele implementacji na obsługiwanych platformach, zarówno do wyświetlania, jak i renderowania pozaekranowego. |
graphics/impeller |
Bezpieczny interfejs API Rust dla Impeller, oparty na wygenerowanych powiązaniach FFI. |
graphics/impeller-renderer |
Implementacja renderowania wysokiego poziomu przy użyciu Impeller jako silnika renderowania. |
har-layout |
Otoczka dla Taffy do obliczania układu widoków w HAR. |
har-monitoring |
Zestaw narzędzi do monitorowania wydajności. |
har-utils |
Typowe narzędzia. |
harry |
Platforma, która będzie stanowić podstawę do tworzenia aplikacji HAR. |
harry-animation |
Interfejs API animacji i implementacja dla Harry. |
squoosh |
Reprezentacja pośrednia i silnik animacji parametrów widoku w platformie Harry. |
task-scheduler |
Narzędzie do planowania zadań i wykonywania ich w wątku w tle po określonym opóźnieniu. |
test_suites |
Zestawy testów do uruchamiania testów jednostkowych Display Safety. |
Wstępnie skompilowane biblioteki
Ten katalog zawiera wstępnie skompilowane biblioteki i komponenty.
| Katalog | Cel |
|---|---|
impeller/ |
Wstępnie skompilowane biblioteki silnika graficznego Impeller, uporządkowane według systemu operacyjnego i architektury. |
impeller-rs-bindgen/ |
Powiązania Rust FFI dla Impeller. |
impeller-rs-bindgen-wrapper/ |
Otoczka interfejsu API dla powiązań Impeller. |
Źródła wiedzy
Ten katalog zawiera implementację referencyjną HAR, implementacje specyficzne dla platformy, narzędzia i artefakty testowe.
| Katalog | Cel |
|---|---|
audio/tinyalsa-rs |
Powiązania Rust FFI dla biblioteki Tinyalsa Audio. |
audio/tinyalsa-audio |
Biblioteka do odtwarzania dźwięku i zarządzania urządzeniami, oparta na powiązaniach FFI wygenerowanych przez crate `tinyalsa-rs`. |
camera/emulated-camera |
Zawiera implementację emulowanej kamery przy użyciu cechy `Camera` z `har-platform-api`. |
graphics/gl-helpers |
Crate narzędziowy zawierający funkcje pomocnicze GL. |
har-user-input-evdev/ |
Implementuje podstawową implementację obsługi danych wejściowych opartą na evdev. Obsługuje zdarzenia klawiatury, myszy i dotyku (pojedynczego i wielodotykowego). |
harry-app/ |
Implementacja referencyjna przenośnej aplikacji mechanizmu renderowania o wysokiej dostępności (HAR) utworzonej za pomocą platformy `harry`. |
harry-app-core/ |
Podstawowa logika aplikacji, zarządzanie stanem i definicje modelu interfejsu użytkownika dla aplikacji referencyjnej `harry-app`. |
harry-app-utils/ |
Funkcje narzędziowe i moduły pomocnicze dla aplikacji referencyjnej `harry-app`. |
harry-control-api/ |
Interfejsy API sterowania dla aplikacji referencyjnej `harry-app`. |
harry-grpcio-server/ |
Serwer gRPC (oparty na grpcio). Jest używany tylko podczas tworzenia wersji na Androida za pomocą soong. |
harry-tonic-server/ |
Serwer gRPC (oparty na tonic). Jest używany tylko podczas tworzenia wersji na Linuxa za pomocą Cargo. |
harry-vehicle-data-grpc/ |
Kod gRPC danych pojazdu wygenerowany z plików proto danych pojazdu. |
i18n/harry-app-i18n |
Usługi internacjonalizacji i lokalizacji dla HAR. |
i18n/i18n-protos |
Definiuje komunikaty protobuf i generowanie kodu Rust dla danych i18n. |
libyuv-rs/ |
Powiązania Rust dla libyuv. |
platforms/har-log |
Definiuje implementacje logowania i śledzenia dla każdej obsługiwanej platformy. |
platforms/har-looper-headless |
Implementacja loopera niezależna od platformy do renderowania bez interfejsu graficznego. |
platforms/har-platform-android |
Zawiera implementacje abstrakcji platformy `har-platform-api` specyficzne dla Androida. |
platforms/har-platform-linux |
Zawiera implementacje abstrakcji platformy `har-platform-api` specyficzne dla Linuxa. |
platforms/harry-app-platform-specific |
Mostek kompilacji warunkowej dla harry-app, który wybiera prawidłową implementację na podstawie wybranej platformy. |
safety-monitor |
Implementacja referencyjnego monitora bezpieczeństwa na Androida. |
screencap |
Narzędzie do zrzutów ekranu umożliwiające wyodrębnianie zrzutów ekranu bezpośrednio z buforów ramki DRM . |
vehicle-data-scripts |
Struktury i logika tworzenia sekwencji danych pojazdu opartych na skryptach. |
Usługa
Ten katalog zawiera usługi Androida związane z Display Safety.
| Katalog | Cel |
|---|---|
ds-cvd-toolkit |
Narzędzie wiersza poleceń dla Display Safety umożliwiające uruchamianie wielu urządzeń Cuttlefish. |
emulator |
Obsługa emulatora w przypadku nakładek zasobów środowiska wykonawczego. |
har-grpc-services |
Zawiera definicje proto używane w implementacji referencyjnej do ustanawiania kanałów komunikacji między aplikacją HAR a usługami DriverUI i danych pojazdu. |
har-sdv-service* |
Zawiera pakiet usług SDV używany do udostępniania usług danych HAR przy użyciu kodu wygenerowanego przez pliki proto. |
har-tracing-common |
Usługi śledzenia wydajności dla HAR. |
harry-prebuilt/ |
Wstępnie skompilowane komponenty Harry (komponenty, konfiguracje itp.). |
ivi/ |
Komponenty związane z Androidem IVI (samochodowy system multimedialny). |
libhar_graphics/ |
Biblioteka graficzna C++ dla usług HAR. |
pdk/ |
Metadane wersji PDK. |
product/ |
Konfiguracje i komponenty specyficzne dla usługi. |
SdvCameraPreviewApp |
Aplikacja podglądu z kamery dla SDV. |
vehicledata |
Implementuje wydawcę tunelu danych SDV danych pojazdu przy użyciu gRPC. |
Narzędzia
Ten katalog zawiera ogólne narzędzia do implementacji referencyjnych i testowania.
| Katalog | Cel |
|---|---|
asset-manager-cli |
Zawiera interfejs wiersza poleceń do generowania pakietów komponentów. |
dcf-info/ |
Narzędzie do wyodrębniania metadanych z pliku DCF (zserializowanego dokumentu Design Compose Figma dokumentu). |
figma-utils |
Zawiera otoczkę wiersza poleceń dla `figma_import` do pobierania zserializowanych dokumentów Figma. |
gauge-test |
Aplikacja przeznaczona do testowania i demonstrowania elementów interfejsu użytkownika w postaci pokręteł i wskaźników. |
gui-playground-app |
Środowisko testowe do testowania nowych funkcji interfejsu użytkownika i animacji. |
har-platform-tests |
Zestaw testów integracji implementacji cech specyficznych dla platformy. |
har-rendering-parity |
Narzędzie wizualne do sprawdzania zgodności renderowania między HAR, DesignCompose i Figma. |
harry-rpc-client |
Zawiera interfejs wiersza poleceń do wysyłania poleceń do Harry za pomocą RPC. |
human-readable-report-generator |
Narzędzie do wizualnej weryfikacji artefaktów bezpieczeństwa. |
ktx-utils |
Zawiera narzędzia do kodowania i dekodowania plików tekstur Khronos KTX 2.0 |
list-test-app |
Służy jako środowisko testowe i demonstracyjne do zarządzania listami w HAR. |
transfer-localizations |
Narzędzie do konwertowania plików lokalizacji XML Androida na format proto HAR. |
variable-density-analyzer |
Analizuje dokument Figma i oblicza stosunek węzłów do zmiennych projektu. |