ssgg on-board profile editor

edits the JSON of ssgg onboard read --json / ssgg onboard decode --json · files only, no device (live lighting only under ssgg gui) · read, write and deploy are hardware-tested on an Apex 7 (`0x1612`) reverse-engineered protocol

The field above the board edits the profile name (the 24-byte name field of the payload) and marks it when it differs from the file as loaded, with a button that takes the name back. The board is an ANSI full-size drawing that scales to the column (no scrolling, never cropped). Each cap shows its key legend and, under it, what the current layer binds it to; the mapping offset, function byte and codes are in the hover tooltip and the Key panel. Keys with no offset in the legacy family's HID table are dim. Rapid Tap pairs bind raw HID codes, marked [RT n]. The two half caps above the numpad - are the wheel mappings, and clicking one binds it in the Key panel like any key; the rectangle above the numpad is the on-board OLED, drawn from the oled.bytes_hex block as a 128x40 monochrome bitmap, bit 7 of each byte its left pixel; click the rect to edit the block.