# snakeeyes021/torquio architecture

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

- Interactive diagram: https://gitdiagram.com/snakeeyes021/torquio
- Repository: https://github.com/snakeeyes021/torquio

## Overview

Torquio is a Linux installation and management framework for running Steinberg Dorico in WINE. The principal workflow starts with a user launching the `torquio` CLI, which guides installation through container setup, a custom WINE build, prefix initialization, and installation of Steinberg components; the Download Assistant then supports obtaining Dorico. The CLI also exposes ongoing environment management, scaling, folder mapping, and key-command backup. The README documents these capabilities; sampled implementation is limited to the graphics handler and WINE debug stub, so internal wiring beyond documented behavior is not inferred.

Main entry points: [`scripts/2-install/setup_prefix.sh`](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/setup_prefix.sh) (WINE Prefix), [`torquio`](https://github.com/snakeeyes021/torquio/blob/main/torquio) (Torquio CLI), [`scripts/2-install/install_sda.sh`](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_sda.sh) (Download Assistant), [`scripts/3-runtime_handlers/torquio_graphics.py`](https://github.com/snakeeyes021/torquio/blob/main/scripts/3-runtime_handlers/torquio_graphics.py) (Display Scaling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_install["Installation"]
  node_container["Container Setup<br/>[setup_prefix.sh]"]
  node_winebuild["Custom WINE Build<br/>[build_wine.sh]"]
  node_mediabay["MediaBay Install"]
  node_sda["Download Assistant<br/>[install_sda.sh]"]
  node_noteperformer["NotePerformer Install"]
end

subgraph group_environment["WINE Environment"]
  node_prefix[("WINE Prefix<br/>[setup_prefix.sh]")]
  node_dorico["Dorico Download"]
end

subgraph group_management["Environment Management"]
  node_cli["Torquio CLI"]
  node_dashboard["Status Dashboard"]
  node_graphics["Display Scaling"]
  node_mapping["Folder Mapping"]
  node_keycommands["Key Commands"]
  node_maintenance["WINE Maintenance"]
end

subgraph group_desktop["Desktop Integration"]
  node_desktop["Desktop Shortcuts<br/>[extract_icons.sh]"]
  node_loginhandlers["Login Handlers"]
end

node_user(("User"))
node_host(("Linux Host"))
node_container_runtime["Docker / Podman"]
node_distrobox["Distrobox"]
node_steinberg["Steinberg Services"]

node_user -->|"runs"| node_cli
node_cli -->|"starts install"| node_container
node_container -->|"sets up container"| node_distrobox
node_distrobox -->|"uses"| node_container_runtime
node_container -->|"configures build"| node_winebuild
node_winebuild -->|"provides WINE"| node_prefix
node_container -->|"initializes"| node_prefix
node_prefix -->|"installs into"| node_mediabay
node_prefix -->|"installs into"| node_sda
node_prefix -.->|"installs into"| node_noteperformer
node_sda -->|"downloads Dorico"| node_steinberg
node_sda -->|"provides download"| node_dorico
node_cli -->|"opens"| node_dashboard
node_cli -->|"runs"| node_graphics
node_graphics -->|"queries display"| node_host
node_graphics -->|"configures DPI"| node_prefix
node_cli -->|"manages"| node_mapping
node_mapping -->|"maps folders"| node_prefix
node_cli -->|"manages"| node_keycommands
node_keycommands -->|"imports / exports"| node_prefix
node_cli -->|"runs tools"| node_maintenance
node_maintenance -->|"maintains"| node_prefix
node_container -->|"registers shortcuts"| node_desktop
node_container -->|"registers handlers"| node_loginhandlers
node_loginhandlers -->|"handles web login"| node_steinberg

click node_cli "https://github.com/snakeeyes021/torquio/blob/main/torquio"
click node_container "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/setup_prefix.sh"
click node_winebuild "https://github.com/snakeeyes021/torquio/blob/main/scripts/1-build/build_wine.sh"
click node_prefix "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/setup_prefix.sh"
click node_mediabay "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_mediabay.sh"
click node_sda "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_sda.sh"
click node_noteperformer "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_noteperformer.sh"
click node_dashboard "https://github.com/snakeeyes021/torquio/blob/main/torquio"
click node_graphics "https://github.com/snakeeyes021/torquio/blob/main/scripts/3-runtime_handlers/torquio_graphics.py"
click node_mapping "https://github.com/snakeeyes021/torquio/blob/main/torquio"
click node_keycommands "https://github.com/snakeeyes021/torquio/blob/main/torquio"
click node_maintenance "https://github.com/snakeeyes021/torquio/blob/main/torquio"
click node_desktop "https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/extract_icons.sh"
click node_loginhandlers "https://github.com/snakeeyes021/torquio/blob/main/scripts/3-runtime_handlers/torquio-sda-handler"

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_container,node_winebuild,node_mediabay,node_sda,node_noteperformer,node_user toneBlue
class node_prefix,node_dorico toneAmber
class node_cli,node_dashboard,node_graphics,node_mapping,node_keycommands,node_maintenance toneMint
class node_desktop,node_loginhandlers toneRose
class node_host,node_container_runtime,node_distrobox,node_steinberg toneIndigo
```

## Components

### Installation

- [Container Setup](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/setup_prefix.sh): `scripts/2-install/setup_prefix.sh`
- [Custom WINE Build](https://github.com/snakeeyes021/torquio/blob/main/scripts/1-build/build_wine.sh): `scripts/1-build/build_wine.sh`
- [MediaBay Install](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_mediabay.sh): `scripts/2-install/install_mediabay.sh`
- [Download Assistant](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_sda.sh): `scripts/2-install/install_sda.sh`
- [NotePerformer Install](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/install_noteperformer.sh): `scripts/2-install/install_noteperformer.sh`

### WINE Environment

- [WINE Prefix](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/setup_prefix.sh): `scripts/2-install/setup_prefix.sh`
- **Dorico Download**

### Environment Management

- [Torquio CLI](https://github.com/snakeeyes021/torquio/blob/main/torquio): `torquio`
- [Status Dashboard](https://github.com/snakeeyes021/torquio/blob/main/torquio): `torquio`
- [Display Scaling](https://github.com/snakeeyes021/torquio/blob/main/scripts/3-runtime_handlers/torquio_graphics.py): `scripts/3-runtime_handlers/torquio_graphics.py`
- [Folder Mapping](https://github.com/snakeeyes021/torquio/blob/main/torquio): `torquio`
- [Key Commands](https://github.com/snakeeyes021/torquio/blob/main/torquio): `torquio`
- [WINE Maintenance](https://github.com/snakeeyes021/torquio/blob/main/torquio): `torquio`

### Desktop Integration

- [Desktop Shortcuts](https://github.com/snakeeyes021/torquio/blob/main/scripts/2-install/extract_icons.sh): `scripts/2-install/extract_icons.sh`
- [Login Handlers](https://github.com/snakeeyes021/torquio/blob/main/scripts/3-runtime_handlers/torquio-sda-handler): `scripts/3-runtime_handlers/torquio-sda-handler`

### Other components

- **User**
- **Linux Host**
- **Docker / Podman**
- **Distrobox**
- **Steinberg Services**

## Connections

- User → Torquio CLI: runs
- Torquio CLI → Container Setup: starts install
- Container Setup → Distrobox: sets up container
- Distrobox → Docker / Podman: uses
- Container Setup → Custom WINE Build: configures build
- Custom WINE Build → WINE Prefix: provides WINE
- Container Setup → WINE Prefix: initializes
- WINE Prefix → MediaBay Install: installs into
- WINE Prefix → Download Assistant: installs into
- WINE Prefix → NotePerformer Install: installs into
- Download Assistant → Steinberg Services: downloads Dorico
- Download Assistant → Dorico Download: provides download
- Torquio CLI → Status Dashboard: opens
- Torquio CLI → Display Scaling: runs
- Display Scaling → Linux Host: queries display
- Display Scaling → WINE Prefix: configures DPI
- Torquio CLI → Folder Mapping: manages
- Folder Mapping → WINE Prefix: maps folders
- Torquio CLI → Key Commands: manages
- Key Commands → WINE Prefix: imports / exports
- Torquio CLI → WINE Maintenance: runs tools
- WINE Maintenance → WINE Prefix: maintains
- Container Setup → Desktop Shortcuts: registers shortcuts
- Container Setup → Login Handlers: registers handlers
- Login Handlers → Steinberg Services: handles web login
