mirror of
https://invent.kde.org/marcoa/a-la-karte.git
synced 2026-02-09 21:13:08 +00:00
Docs: describe legacy vs gamecenter tracks
This commit is contained in:
parent
0aa7c4727a
commit
9db6e4cd6a
5 changed files with 119 additions and 0 deletions
13
README.md
13
README.md
|
|
@ -6,6 +6,19 @@
|
|||
|
||||
A unified game launcher for KDE Plasma 6, inspired by [KDE Apps Initiative issue#26](https://invent.kde.org/teams/apps-initiative/tasks/-/issues/26).
|
||||
|
||||
## Project tracks
|
||||
|
||||
This repository currently has two development tracks:
|
||||
|
||||
- **Legacy (launcher-first)**
|
||||
- The current `master`/`legacy` baseline: a traditional game launcher UI.
|
||||
- See `docs/LEGACY.md`.
|
||||
- **Gamecenter (launcher + daemons)**
|
||||
- The `gamecenter` branch: an experimental direction to evolve A-La-Karte into a launcher + game center suitable for a console-like KDE experience.
|
||||
- See `docs/GAMECENTER.md`.
|
||||
|
||||
For documentation index, see `docs/README.md`.
|
||||
|
||||
## Features
|
||||
|
||||
- Import games from Steam, Lutris, Heroic, Bottles, itch.io, Legendary, RetroArch playlists, Flatpak applications, and desktop entries
|
||||
|
|
|
|||
52
docs/GAMECENTER.md
Normal file
52
docs/GAMECENTER.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Gamecenter track (Launcher + Game Center)
|
||||
|
||||
## Goal
|
||||
|
||||
The gamecenter track evolves A-La-Karte from “a launcher” into “a launcher + game center” suitable for a **fully integrated, console-like experience on KDE**.
|
||||
|
||||
Key ideas:
|
||||
|
||||
- The UI becomes a client of background services.
|
||||
- Launching and monitoring games is handled by a daemon.
|
||||
- Runner resolution (Wine/Proton) is handled by a runner manager service.
|
||||
|
||||
## Architecture (high level)
|
||||
|
||||
### UI (A-La-Karte)
|
||||
|
||||
- Displays the library and settings.
|
||||
- Requests launches via the Game Center daemon instead of launching processes directly.
|
||||
- Surfaces daemon/service errors to the user.
|
||||
|
||||
### Game Center daemon
|
||||
|
||||
- Manages game sessions (launch/stop, running state, concurrency policy).
|
||||
- Tracks/monitors sessions so Steam/Lutris URL-based launches can still be managed.
|
||||
- Intended to be activatable via DBus/systemd.
|
||||
|
||||
DBus service (planned/implemented on the gamecenter branch):
|
||||
|
||||
- `org.kde.GameCenter1`
|
||||
|
||||
### Runner manager daemon
|
||||
|
||||
- Manages “runners” (e.g. Proton, Wine, GE builds):
|
||||
- install/uninstall
|
||||
- inventory listing
|
||||
- resolve launch specs deterministically
|
||||
- prefix lifecycle helpers
|
||||
|
||||
DBus service (planned/implemented on the gamecenter branch):
|
||||
|
||||
- `org.kde.ALaKarte.Runner1`
|
||||
|
||||
## Branches
|
||||
|
||||
- `master` / `legacy`
|
||||
- Launcher-focused baseline.
|
||||
- `gamecenter`
|
||||
- Experimental daemon-based direction.
|
||||
|
||||
## Status
|
||||
|
||||
This document is intentionally a living overview. Detailed API docs / roadmaps should live in separate documents as they solidify.
|
||||
18
docs/LEGACY.md
Normal file
18
docs/LEGACY.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Legacy track (Launcher)
|
||||
|
||||
## What it is
|
||||
|
||||
The legacy track is a traditional desktop application:
|
||||
|
||||
- The UI directly owns the game library.
|
||||
- The UI launches games.
|
||||
- Focus is on being a high-quality KDE Plasma launcher with good keyboard/gamepad navigation.
|
||||
|
||||
## What it is not
|
||||
|
||||
- A system-level game session manager.
|
||||
- A daemon that monitors and manages sessions across launchers.
|
||||
|
||||
## Why it exists
|
||||
|
||||
This track is the stable baseline and the fastest way to iterate on UX, importers, and per-game configuration.
|
||||
14
docs/README.md
Normal file
14
docs/README.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# Documentation
|
||||
|
||||
This folder contains higher-level project documentation.
|
||||
|
||||
## Overview
|
||||
|
||||
- `LEGACY.md`
|
||||
- Notes on the current launcher-focused architecture (historically the "legacy" track).
|
||||
- `GAMECENTER.md`
|
||||
- Notes on the "gamecenter" track: a launcher + Game Center daemon-based architecture for a more console-like KDE experience.
|
||||
|
||||
## Contributing docs
|
||||
|
||||
If you add a new document, link it from this index so it stays discoverable.
|
||||
22
docs/ROADMAP.md
Normal file
22
docs/ROADMAP.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Roadmap
|
||||
|
||||
This document captures the high-level direction of the project.
|
||||
|
||||
## Legacy track (launcher-first)
|
||||
|
||||
- Maintain a stable, polished KDE Plasma launcher.
|
||||
- Keep importers and library UX solid and reliable.
|
||||
|
||||
## Gamecenter track (launcher + daemons)
|
||||
|
||||
- Evolve into a fully integrated, console-like experience on KDE.
|
||||
- Move launching + session monitoring into a daemon.
|
||||
- Add runner management (Wine/Proton) as a service.
|
||||
|
||||
## Near-term goals
|
||||
|
||||
- (Fill in)
|
||||
|
||||
## Longer-term goals
|
||||
|
||||
- (Fill in)
|
||||
Loading…
Reference in a new issue