7 Commits
Author SHA1 Message Date
Mbucari 8050e11a41 Revert SkiaSharp to 3.119.4, matching Avalonia 2026-09-06 01:11:20 -06:00
Mbucari bdf55009b5 Fix tests and warnings from new deps 2026-09-06 00:27:17 -06:00
Cursor Agentandrmcrackan 2eb12a26de Let the Plus badge overlap the PDF instead of displacing it
Co-authored-by: rmcrackan <rmcrackan@gmail.com>
2026-08-13 18:09:35 +00:00
Cursor Agentandrmcrackan ee94c6f3d6 Separate the Plus badge from the stoplight with a knocked-out rim
Co-authored-by: rmcrackan <rmcrackan@gmail.com>
2026-08-13 16:03:20 +00:00
Cursor Agentandrmcrackan 99b52103a7 Badge Audible Plus titles on the Liberate stoplight icon
Co-authored-by: rmcrackan <rmcrackan@gmail.com>
2026-08-13 15:09:29 +00:00
Cursor Agentandrmcrackan ac4186ac25 Show a plus on collapsed series rows, not on expanded ones
The Liberate icon offers an action rather than reporting a state, so an expanded
series shows a minus to collapse it and a collapsed one shows a plus to expand
it. Naming the geometry after the state it belonged to had these swapped.

Name it after its shape instead, and pin the direction with a test: the plus is
the minus plus a bar, so it is strictly the inkier of the two.

Co-authored-by: rmcrackan <rmcrackan@gmail.com>
2026-08-13 06:08:59 +00:00
Cursor Agentandrmcrackan c04b24f722 Add shared Liberate icon generator to LibationUiBase
Both UIs need the same stoplight/PDF/error/series icons. WinForms selected
pre-baked PNGs by name while Avalonia composed vector layers in XAML, so the
two drifted and every new combination needed another pair of PNGs.

Port the Avalonia artwork and palette into LibationUiBase and rasterize it with
SkiaSharp, keyed by a descriptor of the finite combinations and cached in memory.
EntryStatus.ButtonImage now serves that shared rendering to both UIs.

Co-authored-by: rmcrackan <rmcrackan@gmail.com>
2026-08-13 05:46:55 +00:00