# akshayykadam/pixel-camera architecture

> Architecture diagram of the GitHub repository akshayykadam/pixel-camera, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/akshayykadam/pixel-camera
- Repository: https://github.com/akshayykadam/pixel-camera

## Overview

This repository packages Morphe bytecode patches that unlock and repair Pixel Camera features on older Pixel devices. The principal workflow is to apply the patch package to a compatible Camera APK with Morphe, producing a modified app; individual patch modules alter feature behavior, while shared utilities provide bytecode and resource-editing helpers. The graph preserves the README’s major feature branches. Some patch modules are represented by their indexed source files, but their internal behavior was not sampled, so their detailed interactions are omitted.

Main entry points: [`morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/PixelCameraPatchUtils.kt`](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/PixelCameraPatchUtils.kt) (Patch utilities), [`morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt`](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt) (Camera Looks), [`morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt`](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt) (Pro controls), [`morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt`](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt) (Quick access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Patch workflow"]
  node_morphe["Morphe patcher"]
  node_camera_apk["Compatible Camera APK"]
  node_clone["Camera clone"]
  node_patched_app["Patched Camera app"]
end

subgraph group_camera_features["Camera features"]
  node_looks["Camera Looks"]
  node_pro["Pro controls"]
  node_quick["Quick access"]
  node_brightness["Max brightness"]
  node_portrait["Portrait fixes"]
  node_zoom["Telephoto zoom"]
end

subgraph group_creator_media["Creator and media"]
  node_creator["Creator Suite"]
  node_saving["Photo saving"]
  node_quality["Image quality"]
  node_av1["AV1 encoding"]
  node_video_lens["Video lens switching"]
end

subgraph group_shared_layer["Shared patch layer"]
  node_utils["Patch utilities"]
end

node_user(("Camera modifier"))

node_user -->|"uses"| node_morphe
node_user -->|"provides"| node_camera_apk
node_morphe -->|"patches"| node_camera_apk
node_morphe -->|"produces"| node_patched_app
node_looks -->|"uses helpers"| node_utils
node_pro -->|"uses helpers"| node_utils
node_quick -->|"uses helpers"| node_utils
node_brightness -->|"uses helpers"| node_utils
node_portrait -->|"uses helpers"| node_utils
node_zoom -->|"uses helpers"| node_utils
node_creator -->|"uses helpers"| node_utils
node_saving -->|"uses helpers"| node_utils
node_quality -->|"uses helpers"| node_utils
node_av1 -->|"uses helpers"| node_utils
node_video_lens -->|"uses helpers"| node_utils

click node_looks "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt"
click node_pro "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt"
click node_quick "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt"
click node_brightness "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/brightness/MaxBrightnessPatch.kt"
click node_portrait "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/PortraitModeFixPatch.kt"
click node_zoom "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/TelephotoPortraitAndZoomPatch.kt"
click node_creator "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/creator/CreatorSuitePatch.kt"
click node_saving "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/photosaving/PhotoSavingFixPatch.kt"
click node_quality "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quality/ProImageQualityPatch.kt"
click node_av1 "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/Av1VideoEncodingPatch.kt"
click node_video_lens "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/VideoLensSwitchingPatch.kt"
click node_clone "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/clone/PixelCameraClonePatch.kt"
click node_utils "https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/PixelCameraPatchUtils.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_morphe,node_camera_apk,node_clone,node_patched_app toneBlue
class node_looks,node_pro,node_quick,node_brightness,node_portrait,node_zoom toneAmber
class node_creator,node_saving,node_quality,node_av1,node_video_lens toneMint
class node_utils toneRose
class node_user toneIndigo
```

## Components

### Patch workflow

- **Morphe patcher**
- **Compatible Camera APK**
- [Camera clone](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/clone/PixelCameraClonePatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/clone/PixelCameraClonePatch.kt`
- **Patched Camera app**

### Camera features

- [Camera Looks](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt`
- [Pro controls](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt`
- [Quick access](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt`
- [Max brightness](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/brightness/MaxBrightnessPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/brightness/MaxBrightnessPatch.kt`
- [Portrait fixes](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/PortraitModeFixPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/PortraitModeFixPatch.kt`
- [Telephoto zoom](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/TelephotoPortraitAndZoomPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/TelephotoPortraitAndZoomPatch.kt`

### Creator and media

- [Creator Suite](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/creator/CreatorSuitePatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/creator/CreatorSuitePatch.kt`
- [Photo saving](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/photosaving/PhotoSavingFixPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/photosaving/PhotoSavingFixPatch.kt`
- [Image quality](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quality/ProImageQualityPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quality/ProImageQualityPatch.kt`
- [AV1 encoding](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/Av1VideoEncodingPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/Av1VideoEncodingPatch.kt`
- [Video lens switching](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/VideoLensSwitchingPatch.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/VideoLensSwitchingPatch.kt`

### Shared patch layer

- [Patch utilities](https://github.com/akshayykadam/pixel-camera/blob/main/morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/PixelCameraPatchUtils.kt): `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/PixelCameraPatchUtils.kt`

### Other components

- **Camera modifier**

## Connections

- Camera modifier → Morphe patcher: uses (evidence: `README.md`)
- Camera modifier → Compatible Camera APK: provides (evidence: `README.md`)
- Morphe patcher → Compatible Camera APK: patches (evidence: `README.md`)
- Morphe patcher → Patched Camera app: produces (evidence: `README.md`)
- Camera Looks → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/looks/CameraLooksPatch.kt`)
- Pro controls → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/pro/ProControlsPatch.kt`)
- Quick access → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quickaccess/QuickAccessPatch.kt`)
- Max brightness → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/brightness/MaxBrightnessPatch.kt`)
- Portrait fixes → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/PortraitModeFixPatch.kt`)
- Telephoto zoom → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/portrait/TelephotoPortraitAndZoomPatch.kt`)
- Creator Suite → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/creator/CreatorSuitePatch.kt`)
- Photo saving → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/photosaving/PhotoSavingFixPatch.kt`)
- Image quality → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/quality/ProImageQualityPatch.kt`)
- AV1 encoding → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/Av1VideoEncodingPatch.kt`)
- Video lens switching → Patch utilities: uses helpers (evidence: `morphe-patches/patches/src/main/kotlin/app/morphe/patches/pixelcamera/video/VideoLensSwitchingPatch.kt`)
