chore(linting): refresh configs and sweep auto-fix
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.
This commit is contained in:
@@ -3,35 +3,26 @@ subtitle: Plugin-Load Render Polish
|
||||
versionsnatur: 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 eigenen `HellionChat.*`-Gates unter
|
||||
dem `ChatTwo.*`-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.
|
||||
- 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 eigenen `HellionChat.*`-Gates unter dem `ChatTwo.*`-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.
|
||||
|
||||
Reference in New Issue
Block a user