gralculator/internal
Grok 9c27901c8e ui: fix chopped BASE button border and mismatched keypad background
Root cause: rowBase was much narrower than the other rows. When we did
Width(dispW).Align(Center).Render(rawGrid) the vertical join produced
a non-rectangular block, so the panel's bottom border was drawn around
the centered narrow line (chopped + shifted under BASE) and the bg 234
had large empty side regions on the bottom row.

Fix:
- Compute fullRowWidth from a complete row.
- Render the BASE key centered inside a string of that exact width.
- Now rawGrid is a true rectangle (all 5 rows same width).
- Render the backing panel *tightly* to rawGrid first (no forced width).
- Then center the resulting compact panel under the display with
  Width(dispW).Align(Center).

Result:
- Clean, straight bottom border under the BASE button.
- The black keypad background now exactly matches the bounding box
  of the actual keys (including the centered BASE row).
- No more dangling empty black space on the sides at the bottom.

The rest of the tactile key styles, per-key pressed flash, and wide
integrated display row are unchanged.
2026-06-06 14:56:54 +01:00
..
calc fix(engine): remove unused fmt import 2026-06-06 14:29:42 +01:00
ui ui: fix chopped BASE button border and mismatched keypad background 2026-06-06 14:56:54 +01:00
version chore(skeleton): minimal Go project layout + build system 2026-06-06 14:28:59 +01:00