Architecture overview
Hyprism contains three .NET 10 projects and a separate Docusaurus documentation application
Sources/
Hyprism.Core/ game, accounts, persistence, contracts
Hyprism.Desktop/ Avalonia application and platform adapters
Hyprism.LocalNode/ loopback HTTPS service and process controller
Tests/
Hyprism.Core.Tests/
Hyprism.Desktop.Tests/
Hyprism.LocalNode.Tests/
Docs/ bilingual documentation site
Packaging/ platform publishers and installer assets
Project dependenciesโ
Desktop references Core and Local Node. Local Node references Core. Core has no dependency on Avalonia and exposes the contracts used by both hosts
| Boundary | Owner | Details |
|---|---|---|
| Domain services and persisted state | Core | Core responsibilities |
| Views, commands, native dialogs, browser links | Desktop | Desktop composition |
| Autonomous authentication and local compatibility API | Local Node | Protocol and lifecycle |
| Installation and game processes | Core with host capabilities | Launch workflow |
| Storage, migrations, and diagnostics | Each owning service | Data and cache |
There is no Electron host, web frontend, IPC bridge, or generated TypeScript API in the launcher. Desktop calls C# interfaces directly
Startup and shutdownโ
- Desktop configures rendering, launcher version, and the shared HTTP user agent
Bootstrapper.Initializecreates Core services and applies host registrationsAppcreates the window, localizer, native file picker, URI launcher, and view models- Asynchronous initialization prepares optional remote data while the loading screen is visible
- Window shutdown cancels bootstrap work, disposes view models and services, and closes the launcher log
A Local Node already attached to a game has a separate lifetime and continues until that game exits
Where to add behaviorโ
Put game, account, download, or persistence rules in Core. Put presentation state and operating-system UI in Desktop. Extend Local Node only for its loopback service or companion process lifecycle
Use the contract reference before adding another service, and cover changes with the matching test suite
Source: Bootstrapper, Desktop startup, Local Node host