# evadus-wtf/evadus-lite architecture

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

- Interactive diagram: https://gitdiagram.com/evadus-wtf/evadus-lite
- Repository: https://github.com/evadus-wtf/evadus-lite

## Overview

This is a WPF/WebView2 browser presented as an entry point to the Evadus ecosystem. The user interacts with the browser window, which hosts web content and contains the tab, navigation, bookmark, screenshot, and overlay behavior. The sampled source also shows bookmark file persistence, usage reporting, and a separate file-drop forwarder. Several responsibilities share MainWindow.xaml.cs because the application is implemented there; unsampled details and connections are omitted.

Main entry points: [`MainWindow.xaml.cs`](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs) (Browser window), [`WebViewDropForwarder.cs`](https://github.com/evadus-wtf/evadus-lite/blob/main/WebViewDropForwarder.cs) (File-drop forwarding)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser experience"]
  node_window["Browser window<br/>[MainWindow.xaml.cs]"]
  node_tabs["Tab management<br/>[MainWindow.xaml.cs]"]
  node_navigation["Navigation<br/>[MainWindow.xaml.cs]"]
end

subgraph group_features["Browser features"]
  node_drop["File-drop forwarding"]
  node_bookmarks["Bookmarks<br/>[MainWindow.xaml.cs]"]
  node_screenshots["Screenshots<br/>[MainWindow.xaml.cs]"]
  node_overlay["Overlay controls<br/>[MainWindow.xaml.cs]"]
end

subgraph group_state["State and reporting"]
  node_bookmarkfiles["Bookmark files"]
  node_usage["Usage reporting<br/>[MainWindow.xaml.cs]"]
end

node_user(("User"))
node_webcontent["Web content"]
node_tracker["Usage endpoint"]

node_user -->|"uses"| node_window
node_window -->|"manages"| node_tabs
node_tabs -->|"hosts"| node_navigation
node_navigation -->|"navigates"| node_webcontent
node_window -.->|"references"| node_drop
node_window -->|"manages"| node_bookmarks
node_bookmarks -->|"reads and writes"| node_bookmarkfiles
node_window -->|"manages"| node_screenshots
node_window -->|"controls"| node_overlay
node_window -->|"reports"| node_usage
node_usage -->|"posts data"| node_tracker

click node_window "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_tabs "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_navigation "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_drop "https://github.com/evadus-wtf/evadus-lite/blob/main/WebViewDropForwarder.cs"
click node_bookmarks "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_screenshots "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_overlay "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"
click node_usage "https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs"

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_window,node_tabs,node_navigation,node_user toneBlue
class node_drop,node_bookmarks,node_screenshots,node_overlay toneAmber
class node_bookmarkfiles,node_usage toneMint
class node_webcontent,node_tracker toneIndigo
```

## Components

### Browser experience

- [Browser window](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`
- [Tab management](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`
- [Navigation](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`

### Browser features

- [File-drop forwarding](https://github.com/evadus-wtf/evadus-lite/blob/main/WebViewDropForwarder.cs): `WebViewDropForwarder.cs`
- [Bookmarks](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`
- [Screenshots](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`
- [Overlay controls](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`

### State and reporting

- **Bookmark files**
- [Usage reporting](https://github.com/evadus-wtf/evadus-lite/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`

### Other components

- **User**
- **Web content**
- **Usage endpoint**

## Connections

- User → Browser window: uses (evidence: `README.md`)
- Browser window → Tab management: manages (evidence: `MainWindow.xaml.cs`)
- Tab management → Navigation: hosts (evidence: `MainWindow.xaml.cs`)
- Navigation → Web content: navigates (evidence: `MainWindow.xaml.cs`)
- Browser window → File-drop forwarding: references (evidence: `MainWindow.xaml.cs`)
- Browser window → Bookmarks: manages (evidence: `MainWindow.xaml.cs`)
- Bookmarks → Bookmark files: reads and writes (evidence: `MainWindow.xaml.cs`)
- Browser window → Screenshots: manages (evidence: `MainWindow.xaml.cs`)
- Browser window → Overlay controls: controls (evidence: `MainWindow.xaml.cs`)
- Browser window → Usage reporting: reports (evidence: `MainWindow.xaml.cs`)
- Usage reporting → Usage endpoint: posts data (evidence: `MainWindow.xaml.cs`)
