From dcc8ff18673a7ab3af7c3808e54d6e7027865d09 Mon Sep 17 00:00:00 2001 From: Jon Kazama Date: Wed, 19 Aug 2026 19:35:35 +0200 Subject: [PATCH] chore(release): close the v1.14.0 cycle Version to 1.14.0 in the csproj, changelog and roadmap for the local state. Not published: repo.json stays on 1.5.6.0, links untouched. The changelog leads with what the row became and is honest about how it got there: every style decision in this cycle was made by looking at variants in the lab, in-game, against the live theme -- and the two recurring traps of the day (the RGBA/ABGR contrast swap, popups that do not size to their content) each left a guard behind rather than just a fix. Smoke-tested continuously by Flo through the evening rather than at a single gate: the contrast bug, the clipped menu, the hover speed and the seam hardness were all his catches, live, and each is named in the log where it was fixed. --- HellionChat/HellionChat.csproj | 2 +- docs/CHANGELOG.md | 77 ++++++++++++++++++++++++++++++++++ docs/ROADMAP.md | 10 +++-- 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/HellionChat/HellionChat.csproj b/HellionChat/HellionChat.csproj index aaf2c79..2c7b7d6 100644 --- a/HellionChat/HellionChat.csproj +++ b/HellionChat/HellionChat.csproj @@ -1,7 +1,7 @@ - 1.13.0 + 1.14.0 enable enable diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f352c18..f7e7651 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -11,6 +11,83 @@ releases as an overview and links to the release pages for details. --- +## [1.14.0] — unreleased (local only) + +The input row. It was the one surface a user actually works in and it spoke three +shape languages at once — a rounded pill, a square field, five filled default +buttons — sitting directly above a status bar that is rounded throughout. This +release makes the row one thing, and it teaches the popups the window's own +shapes while it is in there. **Not published** — the public release stays at +v1.5.6. + +### Added + +- A style lab under `/hellion lab`: variants of UI elements side by side, drawn + in real ImGui against the live theme. Permanent, as a dev playground — its + radio buttons default to whatever shipped, so the window doubles as a record + of which variant won. Every decision in this release was made by looking at it + in-game rather than at a drawing. +- `PopupRow`, the row a popup is made of: soft hover fill, a two-pixel accent + bar on the active entry — the sidebar row's shape, which is also exactly what + Character Select+ draws for its own popup entries. The channel picker and the + new input-row menu are built from it. +- A colour-channel guard in preflight (Block G). `EnsureContrast` works in ABGR, + theme colours are RGBA, both are `uint`, and the mistake of feeding one into + the other happened six times in a single day — each found only by a human + staring at unreadable text. The guard flags any raw theme member reaching the + helper; on its first real run it caught three cases a hand-written search had + missed minutes earlier. + +### Changed + +- The five filled buttons in the input row are two ghost buttons and a menu. + Symbols stay outside because they are used mid-sentence; theme, settings, + screenshot mode and hide moved in. The ghosts are flat at rest and glow on + hover — the first caller `DrawGlowBorder` ever had. +- The screenshot toggle was allowed into the menu only because its state moved + to the status bar first, as an accent camera pill that shows while the mode is + on. Knowing what the screen shows before the screenshot key is pressed is the + entire point of the mode; a state behind a closed menu answers nothing. +- The input field paints its own rounded surface and hands ImGui a transparent + frame, so the widget draws only text and caret. Focus is a two-pixel accent + rail on the left edge — the same mark rows and popups use. The field is about + a hundred pixels wider, reclaimed from the button reserve. +- The channel pill is chamfered, the corner language of the segmented control, + with a faint white depth gradient. +- The channel header traded its surface plate for a tenth-opacity accent wash. + The plate was the exact shape the settings window abandoned in v1.11.0 — it + reads fine on blue themes and vanishes on violet ones. +- The sidebar softened, on tester feedback that the transition to the chat field + was too hard: the full-width border line under every row is a fading rule now, + the gap between list and messages carries a surface wash instead of two hard + edges, and the selected tab bridges across it so it touches the conversation + it selects. +- Hover fades run at a quarter of their old speed with a smoothstep curve — + soft start, soft landing. 14/s in was judged light speed; it is 3/s now, and + a test guards against drifting back. Every hover in the plugin inherits both + changes through the one shared code path. + +### Fixed + +- Popups size themselves from their widest visible entry. Both new popups + carried a guessed minimum width, and German outran it within a day — + `Schnellauswahl` and `Chat ausblenden` were clipped mid-word. +- Popup entry text was unreadable at rest on several themes and only became + legible on hover: the RGBA-into-ABGR mistake again, in `PopupRow` and three + spots in the lab. Fixed, and the new preflight guard exists so the seventh + occurrence dies in CI rather than in a screenshot. +- The pill label was raw theme text on an accent fill with no contrast check. + +### Known issues + +- The channel header still recomputes its widths every frame rather than on the + status bar's one-second tick. +- `Metrics.Scale` still calls a Dalamud property that is marked obsolete. +- The first-run wizard is now the last surface drawn in ImGui defaults. It is + the next cycle. + +--- + ## [1.13.0] — unreleased (local only) Typography. The message list was the last surface still drawn in ImGui defaults, diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index c918a00..4e6b69f 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -14,7 +14,7 @@ be a poor fit for the plugin's privacy-first scope during brainstorming. The published release is **v1.5.6**. Development since then runs as a UI rebuild towards v2.0.0 and is not published: the whole window layer is being rewritten from ImGui defaults to custom drawing. -Versions v1.6.0 through v1.13.0 are local development states, and `repo.json` deliberately keeps +Versions v1.6.0 through v1.14.0 are local development states, and `repo.json` deliberately keeps its download links on v1.5.6 so nobody updates into a partial state. Where it stands: @@ -35,8 +35,12 @@ Where it stands: - **v1.13.0** — typography. Named type roles instead of one size, a channel header above the conversation, timestamps in a column of their own, and rows with a surface. Screenshot mode reached one of four surfaces that draw a tab name and now reaches all of them. -- **v1.14.0 onwards** — the input bar, then the first-run wizard: the last two surfaces still - drawn in ImGui defaults. +- **v1.14.0** — the input row: two ghost buttons and a menu where five filled defaults sat, a + field with its own surface and focus rail, popups built from the sidebar's row shape, and a + softened seam between the tab list and the conversation. Plus a style lab under + `/hellion lab` and a preflight guard for the RGBA/ABGR contrast trap. +- **v1.15.0** — the first-run wizard, the last surface still drawn in ImGui defaults, and the + first thing a tester sees. The sidebar is no longer on this list. Earlier drafts had it moving from tab rows to channel rows, but both reasons for that are gone: it was flat and unstyled when the idea was written,