feat: adapt Exile-ui for linux
This commit is contained in:
48
README.md
48
README.md
@ -20,9 +20,12 @@ configurer. Pour les sessions X11 c'est sans effet.
|
||||
> position/taille forcées, *ignorer la barre des tâches*. Jouer en **plein écran
|
||||
> fenêtré** (borderless).
|
||||
|
||||
## Périmètre actuel (v1)
|
||||
## Fonctionnalités
|
||||
|
||||
Socle + **Act-Tracker / leveling** :
|
||||
Socle + **Act-Tracker / leveling**, **timer de run**, **profils de personnage**
|
||||
et **zone-layout viewer**.
|
||||
|
||||
### Act-Tracker / leveling
|
||||
|
||||
- Lecture en continu du `Client.txt` du jeu (détection de zone et de niveau via
|
||||
les lignes `Generating level … area "…"` et `… is now level N`).
|
||||
@ -36,7 +39,31 @@ Socle + **Act-Tracker / leveling** :
|
||||
- **Hotkeys globaux** configurables (suivant / précédent / afficher-masquer).
|
||||
- Branche **league-start** vs non-league-start du guide.
|
||||
- L'overlay n'apparaît que lorsque le jeu est au premier plan (optionnel).
|
||||
- Réglages persistés dans `~/.config/exile-ui/config.json`.
|
||||
|
||||
### Timer de run
|
||||
|
||||
- Chronomètre de speedrun campagne : temps total + **splits par acte**, calqué
|
||||
sur le timer de l'outil d'origine.
|
||||
- **Pause automatique** en ville/hideout et sur **inactivité (AFK)** — la
|
||||
détection AFK se fait par polling de la souris via `xdotool` (les API d'idle
|
||||
sont absentes sous Wayland/XWayland).
|
||||
- Pause manuelle distincte de la pause automatique.
|
||||
|
||||
### Profils de personnage
|
||||
|
||||
- Profils créés manuellement, **liés à un personnage in-game par son nom**
|
||||
(reconnu dans le log) — pas d'API GGG (OAuth réservé).
|
||||
- Chaque profil garde sa **propre progression**, sa branche de guide et son
|
||||
**timer** (avec splits par acte).
|
||||
|
||||
### Zone-layout viewer
|
||||
|
||||
- Sélecteur de layouts de zone interactif, **porté de l'`act-decoder`** AHK :
|
||||
arbre de décision sur les images groupées par `areaID`, qu'on affine
|
||||
manuellement selon ce qu'on voit à l'écran (aucune capture d'écran — ToS).
|
||||
- Images de layouts PoE2 embarquées dans `static/layouts/`.
|
||||
|
||||
Réglages et profils persistés dans `~/.config/exile-ui/config.json`.
|
||||
|
||||
## Développement
|
||||
|
||||
@ -59,19 +86,24 @@ npm run tauri build # produit l'AppImage + .deb dans src-tauri/target/release
|
||||
src/ frontend (SvelteKit, SPA)
|
||||
lib/api.ts pont commandes/events Tauri
|
||||
lib/markup.ts parseur du langage de balisage du guide → HTML
|
||||
lib/StepView.svelte rendu d'une étape du guide (lignes + optionnels)
|
||||
lib/Overlay.svelte fenêtre overlay (label "overlay")
|
||||
lib/Settings.svelte fenêtre principale / réglages (label "main")
|
||||
lib/Settings.svelte fenêtre principale / réglages / profils (label "main")
|
||||
lib/Layouts.svelte fenêtre du zone-layout viewer (label "layout")
|
||||
lib/layouts.ts arbre de décision des layouts (manifest areaID → chemins)
|
||||
src-tauri/src/
|
||||
lib.rs état partagé, commandes, fenêtres, hotkeys
|
||||
logwatch.rs tail du Client.txt → parsing → events + progression
|
||||
leveltracker.rs chargement du guide/zones, logique de progression
|
||||
timer.rs timer de run (total + splits par acte, pauses auto/AFK)
|
||||
poe.rs détection du log + fenêtre active (X11/xdotool)
|
||||
config.rs persistance de la configuration
|
||||
src-tauri/data/ données PoE2 embarquées (guide, zones, gemmes)
|
||||
config.rs persistance config + profils de personnage
|
||||
src-tauri/data/ données PoE2 embarquées (guide2, areas2, gems2)
|
||||
static/layouts/ images de layouts de zone (zone-layout viewer)
|
||||
```
|
||||
|
||||
Les deux fenêtres chargent le même bundle SPA ; la vue est choisie selon le
|
||||
label de la fenêtre (`overlay` vs `main`).
|
||||
Les fenêtres chargent le même bundle SPA ; la vue est choisie selon le label de
|
||||
la fenêtre (`overlay`, `main`, `layout`).
|
||||
|
||||
## Crédits
|
||||
|
||||
|
||||
Reference in New Issue
Block a user