# abhi13-coder/just-mods architecture

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

- Interactive diagram: https://gitdiagram.com/abhi13-coder/just-mods
- Repository: https://github.com/abhi13-coder/just-mods

## Overview

Just-mods is a collection of independent experiments, not one application. Its clearest user workflow is ScreenFX: users open the editor or system-overlay tool, choose or adjust a look, preview it, and apply it through an overlay service. The repository also documents an ARM32 AI Gallery adaptation, ToonSky native post-processing, and APK-analysis and shader-packaging workflows. ScreenFX and ToonSky links below are grounded in sampled source; the other projects are represented from README claims and tree paths, so their internal flows are not inferred.

Main entry points: [`ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java) (Look editor), [`ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java`](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java) (Overlay controls), [`ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java`](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java) (App entry), [`ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java`](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java) (Image preview)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_screenfx["ScreenFX Android app"]
  node_home["App entry<br/>[MainActivity.java]"]
  node_editor["Look editor"]
  node_looks["Presets and saves<br/>[Looks.java]"]
  node_preview["Image preview<br/>[PreviewView.java]"]
  node_adjust["Pixel adjustments<br/>[Adjust.java]"]
  node_renderer["Overlay effects"]
  node_overlayui["Overlay controls"]
  node_service["Overlay service"]
  node_fxview["Screen overlay view<br/>[FxView.java]"]
  node_preferences[("Saved preferences<br/>[Looks.java]")]
end

subgraph group_toon["ToonSky graphics"]
  node_toonplugin["Native postprocessor<br/>[main.cpp]"]
  node_aml["AML hook interface<br/>[aml.hpp]"]
end

subgraph group_ai["AI Edge Gallery"]
  node_gallery["ARM32 AI Gallery"]
end

subgraph group_automation["Modification workflows"]
  node_agx["AgX shader packaging"]
  node_hi3["HI3 APK analysis<br/>[hi3-analysis.yml]"]
end

node_user(("Phone user"))
node_gtasa["GTA San Andreas"]

node_user -->|"opens"| node_home
node_home -->|"launches"| node_editor
node_home -->|"launches"| node_overlayui
node_editor -->|"updates"| node_preview
node_editor -->|"loads and saves"| node_looks
node_editor -->|"starts and refreshes"| node_service
node_preview -->|"applies"| node_adjust
node_preview -->|"draws effects"| node_renderer
node_overlayui -->|"chooses looks"| node_looks
node_overlayui -->|"starts and stops"| node_service
node_service -->|"creates view"| node_fxview
node_fxview -->|"parses active look"| node_looks
node_fxview -->|"draws effects"| node_renderer
node_editor -->|"writes active look"| node_preferences
node_overlayui -->|"reads and writes"| node_preferences
node_toonplugin -->|"uses interface"| node_aml
node_toonplugin -->|"hooks rendering"| node_gtasa

click node_home "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java"
click node_editor "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java"
click node_looks "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Looks.java"
click node_preview "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java"
click node_adjust "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Adjust.java"
click node_renderer "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayRenderer.java"
click node_overlayui "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java"
click node_service "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayService.java"
click node_fxview "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/FxView.java"
click node_preferences "https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Looks.java"
click node_toonplugin "https://github.com/abhi13-coder/just-mods/blob/main/src/main.cpp"
click node_aml "https://github.com/abhi13-coder/just-mods/blob/main/include/AML/aml.hpp"
click node_gallery "https://github.com/abhi13-coder/just-mods/tree/main/prebuilt/armeabi-v7a"
click node_agx "https://github.com/abhi13-coder/just-mods/blob/main/.github/workflows/Release-gallery-edge-ai-app.yml"
click node_hi3 "https://github.com/abhi13-coder/just-mods/blob/main/.github/workflows/hi3-analysis.yml"

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_home,node_editor,node_looks,node_preview,node_adjust,node_renderer,node_overlayui,node_service,node_fxview,node_preferences,node_user toneBlue
class node_toonplugin,node_aml toneAmber
class node_gallery toneMint
class node_agx,node_hi3 toneRose
class node_gtasa toneIndigo
```

## Components

### ScreenFX Android app

- [App entry](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java): `ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java`
- [Look editor](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java): `ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`
- [Presets and saves](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Looks.java): `ScreenFX/app/src/main/java/com/screenfx/app/Looks.java`
- [Image preview](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java): `ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java`
- [Pixel adjustments](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Adjust.java): `ScreenFX/app/src/main/java/com/screenfx/app/Adjust.java`
- [Overlay effects](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayRenderer.java): `ScreenFX/app/src/main/java/com/screenfx/app/OverlayRenderer.java`
- [Overlay controls](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java): `ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java`
- [Overlay service](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/OverlayService.java): `ScreenFX/app/src/main/java/com/screenfx/app/OverlayService.java`
- [Screen overlay view](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/FxView.java): `ScreenFX/app/src/main/java/com/screenfx/app/FxView.java`
- [Saved preferences](https://github.com/abhi13-coder/just-mods/blob/main/ScreenFX/app/src/main/java/com/screenfx/app/Looks.java): `ScreenFX/app/src/main/java/com/screenfx/app/Looks.java`

### ToonSky graphics

- [Native postprocessor](https://github.com/abhi13-coder/just-mods/blob/main/src/main.cpp): `src/main.cpp`
- [AML hook interface](https://github.com/abhi13-coder/just-mods/blob/main/include/AML/aml.hpp): `include/AML/aml.hpp`

### AI Edge Gallery

- [ARM32 AI Gallery](https://github.com/abhi13-coder/just-mods/tree/main/prebuilt/armeabi-v7a): `prebuilt/armeabi-v7a`

### Modification workflows

- [AgX shader packaging](https://github.com/abhi13-coder/just-mods/blob/main/.github/workflows/Release-gallery-edge-ai-app.yml): `.github/workflows/Release-gallery-edge-ai-app.yml`
- [HI3 APK analysis](https://github.com/abhi13-coder/just-mods/blob/main/.github/workflows/hi3-analysis.yml): `.github/workflows/hi3-analysis.yml`

### Other components

- **Phone user**
- **GTA San Andreas**

## Connections

- Phone user → App entry: opens (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java`)
- App entry → Look editor: launches (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java`)
- App entry → Overlay controls: launches (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/MainActivity.java`)
- Look editor → Image preview: updates (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`)
- Look editor → Presets and saves: loads and saves (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`)
- Look editor → Overlay service: starts and refreshes (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`)
- Image preview → Pixel adjustments: applies (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java`)
- Image preview → Overlay effects: draws effects (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/PreviewView.java`)
- Overlay controls → Presets and saves: chooses looks (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java`)
- Overlay controls → Overlay service: starts and stops (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java`)
- Overlay service → Screen overlay view: creates view (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/OverlayService.java`)
- Screen overlay view → Presets and saves: parses active look (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/FxView.java`)
- Screen overlay view → Overlay effects: draws effects (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/FxView.java`)
- Look editor → Saved preferences: writes active look (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/EditorActivity.java`)
- Overlay controls → Saved preferences: reads and writes (evidence: `ScreenFX/app/src/main/java/com/screenfx/app/OverlayActivity.java`)
- Native postprocessor → AML hook interface: uses interface (evidence: `src/main.cpp`)
- Native postprocessor → GTA San Andreas: hooks rendering (evidence: `src/main.cpp`)
