summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-03 23:26:50 +0100
committersalmonik <salmonik@tuta.io>2026-11-03 23:26:50 +0100
commita1a8281a6f72ee7f1bcedf442f6ade48da8ffef4 (patch)
tree07a55046e125b752047da22abe65258feeada5e8 /CONTEXT.md
parentWorld: add world/sky material colour modulation (diff)
downloadhl2h-a1a8281a6f72ee7f1bcedf442f6ade48da8ffef4.tar.gz
hl2h-a1a8281a6f72ee7f1bcedf442f6ade48da8ffef4.zip
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.
Diffstat (limited to '')
-rw-r--r--CONTEXT.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index ce4a02e..b48100b 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -144,6 +144,13 @@ vocabulary / decisions.
144 `x`, `y`, `category` and an `expanded` bitmask (card index order). Every 144 `x`, `y`, `category` and an `expanded` bitmask (card index order). Every
145 feature now persists an `active` and `bind` pair, including movement, melee 145 feature now persists an `active` and `bind` pair, including movement, melee
146 and spread. 146 and spread.
147- **Colour control (`CK_COLOR`)**: row shows a live swatch; clicking the row
148 expands an inline picker (saturation/value square + hue bar + hex/RGB
149 preview) instead of three RGB sliders, growing the card in place so it
150 scrolls and clips like any other row. The picker keeps HSV state so grey
151 colours do not lose their hue; dragging writes the 0-255 RGB triple shared
152 with the config and saves on mouse release. Only one picker is open at a
153 time; closing the GUI or collapsing the card hides it.
147- Config writes are atomic: `config.tmp` is written and flushed, then 154- Config writes are atomic: `config.tmp` is written and flushed, then
148 `rename()`d over the real file. A failed write raises an error toast. 155 `rename()`d over the real file. A failed write raises an error toast.
149 156