# GGSight Desktop Distribution

GGSight is distributed as a desktop app, not as a browser-only web app.

A website cannot continuously scan a user's game screen or capture selected regions while they play. The desktop app handles screen capture, OCR, scan zones, gamer tag parsing, local SQLite storage, public lookup logic, desktop notifications, console capture mode, privacy controls, CSV/JSON export, and update checks.

## MVP Downloads

- `GGSight-Windows-MVP.zip`
- `GGSight-macOS-MVP.zip`
- `GGSight-Linux-MVP.zip`

The Windows beta bundle includes a native `GGSight.exe` launcher plus the source files needed by the installer. The macOS and Linux bundles are source-style beta bundles for MVP testing. A later release can replace them with signed native installers such as `.exe`/`.msi`, `.dmg`/`.pkg`, and distro packages.

## Windows Install

```powershell
cd C:\path\to\GGSight
powershell -ExecutionPolicy Bypass -File .\desktop\install_windows.ps1 -RunAfterInstall
```

The Windows installer copies the bundled `desktop/GGSight.exe` to `C:\GGSightRuntime\GGSight.exe` when the native launcher is present, falling back to `%LOCALAPPDATA%\GGSightRuntime` if the system drive is not writable. The desktop and Start Menu shortcuts then launch that branded executable so the taskbar uses the GGSight logo. Source-style installs without `desktop/GGSight.exe` fall back to a Python virtual environment and `pythonw.exe` with the GGSight icon and app identity set by the app. Add `-NoDesktopShortcut` or `-NoStartMenuShortcut` if you do not want those shortcuts.

If Windows still shows an old Python icon, close the old running app and launch GGSight again from the desktop shortcut. A full laptop restart should not be required; restarting Explorer is usually enough if Windows keeps a stale icon cached.

Manual Windows run:

```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m ggsight.app
```

## macOS Install

```bash
cd /path/to/GGSight
chmod +x desktop/install_macos.sh
desktop/install_macos.sh --run
```

Install Tesseract OCR separately and make sure `tesseract` is on PATH. On macOS with Homebrew:

```bash
brew install tesseract
```

## Linux Install

```bash
cd /path/to/GGSight
chmod +x desktop/install_linux.sh
desktop/install_linux.sh --run
```

Install Tesseract OCR separately and make sure `tesseract` is on PATH. On Debian/Ubuntu:

```bash
sudo apt install tesseract-ocr
```

## First-Run Flow

1. Launch GGSight.
2. Accept the legal and safety agreement.
3. Choose a game profile.
4. Choose a visible source such as monitor, window, OBS preview, capture card preview, PS Remote Play, or Xbox Remote Play.
5. Draw scan zones.
6. Start scanning.

No account is required for first use.

## Optional Account Strategy

The local app should only ask for an account when the user requests cloud sync, cloud backup, paid features, subscription management, or multi-device history.

## Update Metadata

The MVP update checker reads `desktop/update_metadata.json`. Later, this can move to a website-hosted JSON endpoint.
