Skip to content

Project Structure & System def

Sebastiano Gelmetti edited this page Feb 19, 2026 · 1 revision
╔══════════════════════════════════════════════════════════════════╗
║                                                                  ║
║      ██████╗░██████╗░░█████╗░░░░░░██╗███████╗░█████╗░████████╗  ║
║      ██╔══██╗██╔══██╗██╔══██╗░░░░░██║██╔════╝██╔══██╗╚══██╔══╝  ║
║      ██████╔╝██████╔╝██║░░██║░░░░░██║█████╗░░██║░░╚═╝░░░██║░░░  ║
║      ██╔═══╝░██╔══██╗██║░░██║██╗░░██║██╔══╝░░██║░░██╗░░░██║░░░  ║
║      ██║░░░░░██║░░██║╚█████╔╝╚█████╔╝███████╗╚█████╔╝░░░██║░░░  ║
║      ╚═╝░░░░░╚═╝░░╚═╝░╚════╝░░╚════╝░╚══════╝░╚════╝░░░░╚═╝░░░  ║
║                                                                  ║
║                  S  T  R  U  C  T  U  R  E                       ║
║                                                                  ║
╚══════════════════════════════════════════════════════════════════╝

DarkCore-Manager/
│
├── 📄 Cargo.toml                    # Workspace manifest
├── 📄 relationships.json            # AppID ↔ DLC relational map
│
└── manager/                         # ━━━ MAIN CRATE ━━━
    ├── 📄 Cargo.toml
    ├── 📄 build.rs                  # Compile-time resource embedding
    ├── 🎨 logo.png                  # Embedded at compile time
    ├── 🎨 icon.ico                  # Windows executable icon
    │
    ├── core_data/                   # 🔊 Audio assets (obfuscated)
    │
    └── src/
        ├── main.rs                  # ─── Entry Point ──────────────
        │
        │                            # ─── Core Systems ─────────────
        ├── api.rs                   # Morrenus API Client
        ├── config.rs                # AppConfig persistence
        ├── cache.rs                 # Game metadata cache
        ├── vault.rs                 # 🧊 Intelligent Vault system
        ├── watcher.rs               # Background update monitor
        ├── updater.rs               # OTA self-update via GitHub
        │
        │                            # ─── Steam Integration ────────
        ├── game_path.rs             # Multi-library path detection
        ├── registry.rs              # Windows Registry operations
        ├── app_list.rs              # GreenLuma AppList management
        ├── profiles.rs              # Profile serialization
        ├── vdf_injector.rs          # config.vdf + depotcache ops
        ├── manifest_downloader.rs   # SteamCMD manifest fetcher
        │
        │                            # ─── Tools ────────────────────
        ├── injector.rs              # Win32 QueueUserAPC injection
        ├── goldberg.rs              # Goldberg Emulator generator
        ├── steamless.rs             # Steamless CLI automation
        │
        ├── direct_download/         # ─── Direct Download Engine ───
        │   ├── mod.rs
        │   ├── downloader.rs        #   CDN chunk downloader
        │   ├── lua_parser.rs        #   Morrenus Lua script parser
        │   ├── manifest.rs          #   Steam manifest decoder
        │   └── state.rs             #   Download state machine
        │
        ├── steam/                   # ─── Steam Manifest Layer ─────
        │   ├── mod.rs
        │   └── manifest.rs          #   ACF file operations
        │
        └── ui/                      # ─── User Interface ───────────
            ├── mod.rs
            ├── app.rs               #   App initialization + impl
            ├── render.rs            #   Main render orchestrator
            ├── state.rs             #   DarkCoreApp struct (40+ fields)
            ├── theme.rs             #   Cyberpunk color palette
            ├── helpers.rs           #   Shared utility functions
            ├── covers.rs            #   Cover art URL resolution
            ├── install_logic.rs     #   Installation pipeline engine
            ├── watcher.rs           #   Watcher UI integration
            │
            ├── panels/              #   ── Tab Panels ──────────
            │   ├── install.rs       #     Search + Game Grid + Hover
            │   ├── library.rs       #     Profiles + Game Management
            │   ├── settings.rs      #     Configuration + API Stats
            │   └── about.rs         #     Matrix Rain easter egg
            │
            ├── modals/              #   ── Modal Windows ───────
            │   ├── manifestor.rs    #     DLC Hierarchy Selector
            │   ├── dlc_picker.rs    #     Legacy DLC Picker
            │   ├── family_or_download.rs  # Family/Download Choice
            │   ├── install_modal.rs #     Library Selection
            │   ├── download_method.rs #   Steam vs Direct
            │   ├── import_zip.rs    #     ZIP Import Handler
            │   └── delete.rs        #     Delete Confirmation
            │
            └── components/          #   ── Reusable Widgets ────
                ├── sidebar.rs       #     Navigation + Logo + Audio
                ├── terminal.rs      #     System Log Console
                └── progress.rs      #     Download Progress Bar



╔══════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                      ║
║     ░██████╗██╗░░░██╗░██████╗████████╗███████╗███╗░░░███╗  ██████╗░███████╗███████╗  ║
║     ██╔════╝╚██╗░██╔╝██╔════╝╚══██╔══╝██╔════╝████╗░████║  ██╔══██╗██╔════╝██╔════╝  ║
║     ╚█████╗░░╚████╔╝░╚█████╗░░░░██║░░░█████╗░░██╔████╔██║  ██║░░██║█████╗░░█████╗░░  ║
║     ░╚═══██╗░░╚██╔╝░░░╚═══██╗░░░██║░░░██╔══╝░░██║╚██╔╝██║  ██║░░██║██╔══╝░░██╔══╝░░  ║
║     ██████╔╝░░░██║░░░██████╔╝░░░██║░░░███████╗██║░╚═╝░██║  ██████╔╝███████╗██║░░░░░  ║
║     ╚═════╝░░░░╚═╝░░░╚═════╝░░░░╚═╝░░░╚══════╝╚═╝░░░░░╚═╝  ╚═════╝░╚══════╝╚═╝░░░░░  ║
║                                                                                      ║
╚══════════════════════════════════════════════════════════════════════════════════════╝

🏗️ System Architecture Deep Dive

┌─────────────────────────────────────────────────────────────────────┐
│                        DarkCore Manager                             │
│                    ┌─────────────────────┐                          │
│                    │   egui Render Loop   │                          │
│                    │   (eframe + wgpu)    │                          │
│                    └────────┬────────────┘                          │
│                             │                                       │
│              ┌──────────────┼──────────────┐                        │
│              ▼              ▼              ▼                        │
│     ┌──────────────┐ ┌───────────┐ ┌────────────┐                  │
│     │   Sidebar    │ │  Panels   │ │   Modals   │                  │
│     │  Navigation  │ │           │ │            │                  │
│     │  + Logo Anim │ │ • Install │ │ • Manifest │                  │
│     │  + Profile   │ │ • Library │ │ • DLC Pick │                  │
│     │  + Audio     │ │ • Settings│ │ • Import   │                  │
│     │  + Updates   │ │ • About   │ │ • Delete   │                  │
│     └──────────────┘ └─────┬─────┘ │ • Family   │                  │
│                            │       │ • Download │                  │
│                            │       └────────────┘                  │
│              ┌─────────────┼─────────────┐                          │
│              ▼             ▼             ▼                          │
│     ┌──────────────┐ ┌──────────┐ ┌──────────────┐                 │
│     │  API Client  │ │  Vault   │ │  Injector    │                 │
│     │  (Morrenus)  │ │  Cache   │ │  (Win32 APC) │                 │
│     │  + Search    │ │  System  │ │  + Steamless │                 │
│     │  + Hierarchy │ │          │ │  + Goldberg  │                 │
│     │  + Manifests │ │  Lua +   │ │              │                 │
│     │  + Stats     │ │  Manifst │ │              │                 │
│     └──────┬───────┘ └────┬─────┘ └──────────────┘                 │
│            │              │                                         │
│            ▼              ▼                                         │
│     ┌──────────────────────────────┐                                │
│     │    Steam CDN / Local FS      │                                │
│     │    depotcache / steamapps    │                                │
│     └──────────────────────────────┘                                │
└─────────────────────────────────────────────────────────────────────┘

🧬 Core Modules

Module Lines Purpose
api.rs 849 Morrenus API Client, Search, Hierarchy
injector.rs Win32 QueueUserAPC DLL injection
vault.rs 289 Intelligent manifest caching layer
vdf_injector.rs VDF config & depotcache manager
watcher.rs 283 Background update detector
goldberg.rs Goldberg Emulator integration
steamless.rs Steamless CLI automation
game_path.rs Multi-library Steam path detection

🎨 UI Architecture

Layer Files Role
Panels 4 Install, Library, Settings, About
Modals 7 Manifestor, DLC Picker, Import, Delete, Family/Download, Install, Download Method
Components 4 Sidebar, Terminal, Progress, Covers
Engine 3 Render loop, State, Theme

Clone this wiki locally