0220e5d756
Pull in the refreshed linter and tooling configs (editorconfig, gitignore, gitattributes, prettierignore, prettierrc, markdownlint, yamllint, env.example, dotnet-tools) and run prettier and markdownlint in --fix / --write mode across the repo so the existing tree matches the new rules. - prettier 2-space indent on yaml/yml and json overrides, asterisk strong, underscore emphasis, proseWrap always - markdownlint MD007 indent aligned to 2 and MD049 to underscore so prettier output stays passing - preflight Block F also ignores CLAUDE.md (gitignored personal file) - prettierignore extended to keep HellionChat.yaml manifest and the NuGet packages.lock.json out of the formatter No semantic content changed; csharpier, build, full build-suite (729/729) and the new prettier/markdownlint/yamllint checks all green.
2.1 KiB
2.1 KiB
subtitle, versionsnatur
| subtitle | versionsnatur |
|---|---|
| Plugin-Load Render Polish | Performance-Patch |
- First-Frame-HITCH unter 100 ms: der erste Render-Frame des Plugins liegt jetzt bei ~76 ms Median (vorher ~127 ms), die Dalamud-Warnung „UiBuilder(Hellion Chat) > 100ms" beim Plugin-Start ist damit weg. Erreicht durch das Verlagern von sechs nicht-essentiellen Render- Sektionen (Statusleiste, Kanalname-Chunks, Fenster-Bounds-Check, Hinweis-Banner, Autocomplete, Input-Preview) auf den zweiten Frame. Bei 60 fps sieht man die deferred-Sektionen ~17 ms später, was im Atlas-Build-Fenster nach einem Reload unsichtbar bleibt.
- Slash-Commands zentral registriert: /hellion, /hellionView, /hellionSeString und /hellionDebugger werden jetzt im Plugin-Load zentral registriert statt erst beim ersten Öffnen ihres Ziel-Fensters. Heißt: die Befehle funktionieren ab dem ersten Tick, auch wenn das jeweilige Fenster nie geöffnet wurde. Der „Einstellungen"-Button im Plugin-Manager hängt am selben Pfad.
- Plugin-Load-Diagnose-Logs als Tripwire: die Profiling-Logs für MessageStore.Connect, MessageStore.Migrate, FilterAllTabs und den Auto-Translate-Warmup bleiben auf Information-Level eingeschaltet. Falls eine zukünftige Änderung die Lade-Zeit wieder über 100 ms drückt, taucht der Mehrverbrauch direkt im /xllog auf, ohne dass jemand erst den Debug-Filter einschalten muss.
- ChatTwo-IPC-Kompatibilitäts-Layer: HellionChat spiegelt jetzt die komplette ChatTwo-IPC-Surface
(
GetChatInputState,ChatInputStateChanged,Register,Unregister,Available,Invoke) zusätzlich zu unseren eigenenHellionChat.*-Gates unter demChatTwo.*-Namensraum. Drittseitige Integrationen die nur auf ChatTwo's IPC reagieren, etwa die Kontextmenü-Hooks von Artisan und AllaganTools, funktionieren damit weiter ohne Code-Änderung auf ihrer Seite. Die Conflict-Detection blockiert das parallele Laden von ChatTwo, daher kein Namensraum-Konflikt im Live-Betrieb. - Migration v17 unverändert: kein Schema-Bump, kein Config-Migrations- Aufwand. Nach dem Update läuft das Plugin gegen die bestehende v17-Datenbank weiter.