From a1a8281a6f72ee7f1bcedf442f6ade48da8ffef4 Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 3 Nov 2026 23:26:50 +0100 Subject: GUI: add inline colour picker control Replace the six RGB sliders on the World tint card with a CK_COLOR control: each row shows a live swatch and expands an inline picker with a saturation/value square, a hue bar, and hex/RGB preview. The picker grows the card in place so it scrolls/clips like any other row, keeps HSV state while open (grey does not lose its hue), writes the shared 0-255 RGB triple used by the config, and saves on mouse release. Costs ~1.2k small rects per frame only while a picker is open; no texture interface needed. --- CONTEXT.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CONTEXT.md') diff --git a/CONTEXT.md b/CONTEXT.md index ce4a02e..b48100b 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -144,6 +144,13 @@ vocabulary / decisions. `x`, `y`, `category` and an `expanded` bitmask (card index order). Every feature now persists an `active` and `bind` pair, including movement, melee and spread. +- **Colour control (`CK_COLOR`)**: row shows a live swatch; clicking the row + expands an inline picker (saturation/value square + hue bar + hex/RGB + preview) instead of three RGB sliders, growing the card in place so it + scrolls and clips like any other row. The picker keeps HSV state so grey + colours do not lose their hue; dragging writes the 0-255 RGB triple shared + with the config and saves on mouse release. Only one picker is open at a + time; closing the GUI or collapsing the card hides it. - Config writes are atomic: `config.tmp` is written and flushed, then `rename()`d over the real file. A failed write raises an error toast. -- cgit v1.2.3