docs: restructure into docs/ folder, add roadmap and learning notes

- Move AI_DISCLOSURE, THIRD_PARTY_NOTICES, UPSTREAM_SYNC, ipc.md
  into docs/ (ipc.md renamed to IPC.md for consistency)
- Add docs/ROADMAP.md, docs/CHANGELOG.md, docs/CONTRIBUTORS.md,
  docs/LEARNING-JOURNEY.md
- Update README to reflect the v1.0.0 standalone state, drop the
  development section, refresh the architecture tree, add a
  release-cadence block linking to LEARNING-JOURNEY
- Fix stale ChatTwo/* source paths to HellionChat/* across docs
- Update cross-links in PRIVACY, CONTRIBUTING and .github/* so they
  point at the new docs/ paths

Pure documentation pass, no code changes.
This commit is contained in:
2026-05-04 09:03:59 +02:00
parent fa9baa3929
commit d63c710836
13 changed files with 584 additions and 113 deletions
+131
View File
@@ -0,0 +1,131 @@
# Hellion Chat — Roadmap
Geplante Arbeit nach dem v1.0.0 Standalone-Cut. Diese Liste ist absichtlich
grob: konkrete Specs, Größenschätzungen und Repro-Steps liegen im
internen Backlog. Tracking nach außen läuft über
[GitHub Issues](https://github.com/JonKazama-Hellion/HellionChat/issues)
mit dem `roadmap`-Label, sobald ein Item für einen Cycle eingeplant ist.
Reihenfolge ist Priorität, nicht Garantie. Items können sich verschieben
oder ganz wegfallen wenn sie sich beim Brainstorm als nicht passend zur
Privacy-First-Schnittmenge des Plugins erweisen.
---
## Nächster Cycle (v1.1.0)
- **Ad-Block / Spam-Filter** — Hybrid-Konzept aus eigenem Light-Filter und
optionaler `NoSoliciting`-IPC-Integration. Adressiert Werbe-Spam in
öffentlichen Channels und Tells. Größter Block des Cycles.
- **Receive-Suppressed-Tells-Toggle** — Auto-Tell-Tabs greift auch wenn ein
Drittplugin (z.B. XIVMessenger) die /tell-Anzeige global suppressed.
Gleicher Hook-Layer wie Ad-Block, deshalb gebündelt.
## Mittelfristig (v1.1.x v1.2.0)
- **Plugin-weite Theme-Varianten** — über die ChatColours-Presets aus v0.6.0
hinaus. Mehrere komplette Window-Themes (Frame, Surface, Border, Text)
inkl. Farbfamilien mit Helligkeits-Abstufungen. Anknüpfung an
Hellion-Online-Media-Brand-Themes (Event Horizon, Night Blue, Indigo Violet
und weitere).
- **Database-Viewer Inline-Search** — Volltext-Suche im DB-Viewer via
SQLite FTS5. Aktuell gibt es nur Datums- und Channel-Filter.
- **TempTell Persistence** — Pin-Toggle auf TempTell-Tabs damit ausgewählte
Tells einen Relog überleben. Tester-Wunsch von Jingliu.
- **FontManager Async-Refactor** — `LoadGameSymFontAsync` aus dem
blockierenden Plugin-Constructor herausziehen. Cold-Start-Hitching beim
ersten Plugin-Start beheben (Severity niedrig, Plugin ist funktional).
- **Separate Opacity Active vs. Inactive** — zweiter Slider für inaktive
Fenster-Deckkraft. Upstream lehnt das ab; wir können hier anders
entscheiden.
- **Failed-Tell-Notification** — sichtbare Nachricht bei /tell-Fail
(offline, restricted instance, blacklisted, world-mismatch) statt
stillem Failure.
- **Per-Tab Sound-Notification** — Sound-Toggle und optional eigene .wav
pro Tab, mit Mute-In-Combat-Option.
## Langfrist (v1.x+)
### Storage-Backends (drei Stufen Bestätigung)
- MySQL/MariaDB-Backend für Multi-Device-Setups
- PostgreSQL-Backend
- AES-256-Verschlüsselung für sensible Channels mit lokalem Key
### Linux-spezifisch
- WireGuard-Network-Detection als optionaler Filter-Trigger
- libnotify-Integration für native Linux-Toasts
- XDG-Compliance (komplex unter Wine)
### UX und Tab-Management
- **Regex Tab Routing** — Plugin-Output-Spam in eigene Tabs, Tells
bestimmter Personen automatisch sortieren. Klar abgegrenzt zum Ad-Block:
Routing sortiert in Views, Block versteckt global.
- **Auto-Detect Duties** — Tab-Switch beim Duty-Start via Condition-Flag.
- **UX Bundle** — Vertical-Tab-Bar als Layout-Option, Shift+Mousewheel zum
Tab-Header-Scrollen ohne Aktivierung, globaler Hotkey zum Schließen des
aktiven Tabs.
- **Configure Tab Title** — konfigurierbares Tab-Title-Format
(Name / Name + abgekürzter World / voller Name / Custom), pro Tab
überschreibbar.
- **Name Display Options** — analog zu FFXIV-Vanilla (voller Name, Vorname
abgekürzt, Initialen), per-Channel-Override möglich.
- **Item & Flag Linking** — Outgoing: Shift-Klick auf Item/Flag sendet ins
fokussierte Plugin-Input. Incoming: Item-Links und Map-Coords klickbar.
- **Color Currently Selected Input Channel** — Channel-Selector-Button im
Input-Bar mit Channel-Farbe einfärben.
- **Plugin-Disclosure Pre-Send Filter** — konfigurierbare Wort-/Regex-Liste
blockiert das Senden mit Pre-Send-Confirm. Schutz vor versehentlicher
Plugin-Nennung in öffentlichen Channels.
- **Chat Clear on Name Change** — bei Charakter-Namensänderung lokalen
Verlauf migrieren oder löschen, Default Wipe für maximale Privacy.
- **Hide Plugin Window on NG+ Screen** — Hide-Logik um zusätzliche
Addon-Namen erweitern.
- **Kick from Novice Network** — Mentor-Nische, Context-Menü-Eintrag mit
Confirmation.
- **Text-to-Speech für /tell** — eingehende Tells via TTS, optional pro
Sender, mit Channel-Filter und Mute-In-Combat. Geringe Priorität.
### Distribution und Branding
- Hand-gezeichnetes Hellion-Logo (aktuell Platzhalter aus dem
Hellion-Online-Media-Brand-Repo)
- GitHub Action für automatischen `repo.json`-Sync nach Tag-Push
- Submission ans Dalamud-Main-Plugin-Repo (zusätzlich zum Custom-Repo)
---
## Bug-Verifizierungen
Aus dem Upstream-Issue-Tracker übernommen, in Hellion Chat 1.0.0 noch
nicht reproduziert oder verifiziert. Werden bei Gelegenheit gegen den
aktuellen Stand getestet.
- **Right-Click Whisper Error** in Field Ops / Special Instances (Eureka,
Bozja, Occult Crescent, DRS) — Upstream
[#168](https://github.com/Infiziert90/ChatTwo/issues/168). Reply-Helper
scheint `@World`-Suffix zu schlucken.
- **FPS Drops with Plugin active** — Upstream
[#145](https://github.com/Infiziert90/ChatTwo/issues/145). 1020 % Drop
seit upstream v1.29.19.0. v1.0.0 hat mehrere Fixes auf den verdächtigen
Pfaden, Repro-Test gegen aktuellen Stand offen.
- **Add Blacklist from Plugin Window** — Upstream
[#140](https://github.com/Infiziert90/ChatTwo/issues/140). Right-Click
Add-to-Blacklist wirft "Cannot locate character with that name", via
Vanilla-Chat funktioniert es.
- **DB-Viewer Column Sort** — sortiert State-Column lexikografisch statt
numerisch (10 vor 2). XIVIM
[#82](https://github.com/NightmareXIV/XIVInstantMessenger/issues/82),
Repro in Hellion Chat offen.
---
## Lizenz-Boundary
Hellion Chat ist EUPL-1.2-lizenziert. Konzept-Imports aus AGPL-3.0-Plugins
(z.B. XIV Instant Messenger) sind ausschließlich architektonische
Inspiration, kein Code-Port. Imports aus dem GPL-3.0-kompatiblen
Upstream-Bestand laufen weiter über
[`UPSTREAM_SYNC.md`](UPSTREAM_SYNC.md).