안전 코드 구조 표시

이 페이지에서는 디스플레이 안전 소스 코드의 구성을 설명합니다.

자세한 내용은 각 디렉터리의 README.md를 참고하세요.

저장소 복제

저장소에 액세스하려면 Google 기술계정 관리자에게 문의하세요.

프레임워크

이 디렉터리에는 핵심 디스플레이 안전 프레임워크 구성요소가 포함되어 있습니다.

디렉터리 목적
api/har-platform-api 지원되는 플랫폼에서 고가용성 렌더러 (HAR) 앱을 빌드하기 위한 플랫폼 하위 시스템 추상화 모음입니다.
api/har-types 하드웨어 추상화 계층 유형입니다.
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 바인딩을 기반으로 하는 임펠러용 안전 Rust API입니다.
graphics/impeller-renderer 임펠러를 지원 렌더링 엔진으로 사용하는 상위 수준 렌더러 구현입니다.
har-layout HAR에서 뷰의 레이아웃을 계산하는 Taffy 래퍼입니다.
har-monitoring 성능 모니터링 툴킷입니다.
har-utils 일반적인 유틸리티입니다.
harry HAR 애플리케이션 빌드의 기반으로 사용할 프레임워크입니다.
harry-animation Harry용 애니메이션 API 및 구현입니다.
squoosh Harry 프레임워크의 뷰 매개변수를 위한 중간 표현 및 애니메이션 엔진입니다.
task-scheduler 작업을 예약하고 지정된 지연 시간 후에 백그라운드 스레드에서 실행하는 유틸리티입니다.
test_suites 디스플레이 안전 단위 테스트를 실행하기 위한 테스트 모음입니다.

사전 빌드

이 디렉터리에는 사전 빌드된 라이브러리와 애셋이 포함되어 있습니다.

디렉터리 목적
impeller/ OS 및 아키텍처별로 정리된 임펠러 그래픽 엔진용 사전 빌드된 라이브러리입니다.
impeller-rs-bindgen/ 임펠러용 Rust FFI 바인딩입니다.
impeller-rs-bindgen-wrapper/ 임펠러 바인딩용 API 래퍼입니다.

참조

이 디렉터리에는 HAR 참조 구현, 플랫폼별 구현, 도구, 테스트 아티팩트가 포함되어 있습니다.

디렉터리 목적
audio/tinyalsa-rs Tinyalsa 오디오 라이브러리용 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 데이터의 프로토콜 버퍼 메시지 및 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 스크립팅된 차량 데이터 시퀀스를 만들기 위한 구조 및 로직입니다.

서비스

이 디렉터리에는 디스플레이 안전과 관련된 Android 서비스가 포함되어 있습니다.

디렉터리 목적
ds-cvd-toolkit 여러 Cuttlefish 기기를 실행할 수 있는 디스플레이 안전용 명령줄 도구입니다.
emulator 런타임 리소스 오버레이의 에뮬레이터 지원입니다.
har-grpc-services 참조 구현에서 HAR 앱과 DriverUI 및 차량 데이터 서비스 간의 통신 채널을 설정하는 데 사용되는 프로토콜 정의가 포함되어 있습니다.
har-sdv-service* 프로토콜 파일에서 생성된 코드를 활용하여 HAR 에 데이터 서비스를 제공하는 데 사용되는 SDV 서비스 번들을 제공합니다.
har-tracing-common HAR의 성능 추적 서비스입니다.
harry-prebuilt/ 사전 빌드된 Harry 구성요소 (애셋, 구성 등)입니다.
ivi/ Android IVI (차량용 인포테인먼트)와 관련된 구성요소입니다.
libhar_graphics/ HAR 서비스를 위한 C++ 그래픽 라이브러리입니다.
pdk/ PDK 출시 메타데이터입니다.
product/ 제품별 구성 및 애셋입니다.
SdvCameraPreviewApp SDV용 카메라 미리보기 앱입니다.
vehicledata gRPC를 사용하여 차량 데이터 SDV 데이터 터널 게시자를 구현합니다.

유틸리티

이 디렉터리에는 참조 구현 및 테스트를 위한 일반적인 유틸리티가 포함되어 있습니다.

디렉터리 목적
asset-manager-cli 애셋 패키지를 생성하기 위한 명령줄 인터페이스를 제공합니다.
dcf-info/ DCF (직렬화된 디자인 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 프로토콜 형식으로 변환하는 유틸리티입니다.
variable-density-analyzer Figma 문서를 분석하고 노드와 디자인 변수의 비율을 계산합니다.