docs: add launcher agent context
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# ShaCraft Launcher architecture
|
||||
|
||||
## Current capability
|
||||
|
||||
The launcher can persist local settings, discover an installed Java runtime,
|
||||
inspect a profile and synchronise Aeronautics files from the signed ShaCraft
|
||||
v2 manifest. It does **not** launch Minecraft yet.
|
||||
|
||||
## Data flow
|
||||
|
||||
```text
|
||||
signed-manifest endpoint
|
||||
-> Ed25519 verification in remote.rs
|
||||
-> manifest schema + URL/path validation
|
||||
-> local profile inspection
|
||||
-> temporary download, SHA-256 verification, atomic replacement
|
||||
```
|
||||
|
||||
Profiles live below Tauri's `app_data_dir()/profiles/<profile-id>`. Settings
|
||||
live at `app_data_dir()/settings.json`. Neither location should be assumed to
|
||||
be the system `.minecraft` directory.
|
||||
|
||||
## Aeronautics contract
|
||||
|
||||
- Profile ID: `aeronautics`
|
||||
- Manifest endpoint:
|
||||
`https://shacraft.ru/api/launcher/v2/profiles/aeronautics/signed-manifest`
|
||||
- Payload: manifest schema v1, 251 managed files at the time of writing.
|
||||
- Download files: HTTPS only, exact hosts `shacraft.ru` and
|
||||
`cdn.shacraft.ru`.
|
||||
|
||||
## Planned but not implemented
|
||||
|
||||
1. Signed, cross-platform Java 21 runtime installation.
|
||||
2. User-selectable profile directory and structured launcher logs.
|
||||
3. Official Microsoft authentication and a compliant Minecraft/NeoForge launch
|
||||
flow.
|
||||
|
||||
Do not represent these as completed features in UI or release notes.
|
||||
Reference in New Issue
Block a user