04. Architektura i struktura repo
4.1. Widok ogolny
Repo koncentruje sie na jednym aktywnie rozwijanym wariancie aplikacji:
project-tkinter/ (UI desktop Python),
legacy/ (starsze punkty startowe),
.github/ (workflow i szablony community).
4.2. Tkinter
Kluczowe obszary:
app_main.py - launcher wariantow GUI (classic/horizon),
app_gui_classic.py - glowny UI i orchestracja,
app_gui_horizon.py - wariant Horizon,
runtime_core.py - wspolna logika runtime,
translation_engine.py - mechanika tlumaczenia,
project_db.py - baza i metadane projektowe,
series_store.py - per-seria magazyn terminow/decyzji i generowanie slownikow serii.
prompt_presets.py + prompt_presets.json - katalog i logika presetow promptow pod provider/mode.
4.3. Przeplyw danych
Typowy przeplyw:
- Uzytkownik wybiera pliki i profil.
- Runtime buduje polecenie dla silnika.
- Silnik wykonuje translacje/edycje.
- QA i walidacja raportuja wynik.
- Artefakty trafiaja do output/debug.
Nowy przeplyw serii:
- Projekt moze miec
series_id i volume_no.
- UI laduje/zapisuje serie z
project_db.py.
- Dla aktywnej serii
series_store.py buduje scalony slownik runu.
- Po udanym runie terminy z TM projektu moga byc dopisane jako
proposed w bazie serii.
- Operator zatwierdza terminy w panelu
Slownik serii.
4.4. Warstwy odpowiedzialnosci
- UI: input, konfiguracja, status.
- UI (run panel): global progress + stale widoczny status ledgera (
done/processing/error/pending).
- Runtime: walidacja opcji i budowanie komend.
- Engine: wykonanie translacji.
- QA: kontrole jakosci i bramki.
- Series memory: terminologia i decyzje serii (
data/series/<slug>/series.db).
4.5. Co zmieniac ostroznie
- format argumentow CLI miedzy UI a engine,
- sciezki i nazwy plikow cache/glossary,
- operacje na lokalnych bazach i lockach,
- zachowanie retry/backoff.
- migracje schematu SQLite (w tym samonaprawa brakujacych kolumn).
4.6. Miejsca do rozwoju
- testy integracyjne runtime,
- mocniejsze typowanie i walidacja kontraktow,
- automatyzacja release notes,
- pelny async pipeline requestow translacji (kontrolowana wspolbieznosc per provider/rate-limit),
- rozszerzenie
series_store.py o lorebook i reguly stylu per seria.