Open feature request

Per-box identity icons: device-class badge + color + monogram in the mesh view, cross-box cards and toasts; opt-in AI-generated mascot icon published through the mesh directory

John Lauer · 2mo ago

John (2026-09-10): mesh permission prompts arriving in ah on AdomLapper are hard to place at a glance - the pill names the box but the eye does not go there first. Humans are visual: give every box an icon. Plan in three stages. Stage 1 (no tokens, offline, default-on): a deterministic identity badge per box = device-class silhouette (laptop / desktop / cloud VM / mac, from WMI manufacturer/model/chassis: winvm reports Microsoft Corporation / Virtual Machine, the laptops report their ROG model strings) + a stable hue hashed from the box name + a two-letter monogram (AL, AR, CR, WV); rendered on every node of the mesh view. Stage 2: the same badge on ab's cross-box permission card and inside the Windows toast (app-logo image), and carried in the mirrored body (originIcon/originColor) so Hydrogen's card can show it (filed separately on adom/hydrogen). Stage 3 (opt-in per box): 'Generate an icon for this box' sends device class + model + name to an image model with a mascot element for uniqueness, one small WebP cached forever and published in the box's mesh directory entry (Carbon KV, client-writable), so every peer picks it up on the next directory refresh; users who do not want to spend tokens keep the stage-1 badge. Deliberately NOT crawling the web for product photos or 3D twins: licensing, exact-SKU assets rarely exist, and three ROG laptops look alike at badge size anyway - the color + monogram is what makes them recognisable.

3 Replies

John Lauer · 2mo ago

Stage 1 shipped as 2.1.91 (insiders): winvm (canary), ConfRoomROG and AdomLapper are on it. Each box publishes {class, model, hue, monogram} in its bridge.runtime directory entry: winvm -> vm / WI / 'Microsoft Virtual Machine'; ConfRoomROG -> laptop / CR / 'ASUSTeK ROG Zephyrus M16 GU603ZW'; AdomLapper -> laptop / AL / 'ASUSTeK ROG Zephyrus G16 GU605CR'. The view snaps the fleet onto a 12-step palette (AdomLapper green, ConfRoomROG purple, winvm orange, arav-rog red; the raw hashes had put arav-rog and winvm 4 degrees apart). Images: winvm's Mesh view (its own node is under a tooltip because the pointer sits on the relay hub and synthetic input is gated there) and ConfRoomROG's, which shows winvm as the orange cloud badge; arav-rog still runs 2.1.90 so it publishes nothing and gets the generic glyph from its name. One layout flaw is visible in both: the sub-label runs under the badge. 2.1.92 widens a badged node to 204 px and left-aligns its text after the badge (building now). Smoke suite on 2.1.91: 60/60, 0 unexpected failures. Stage 2 (cards, toasts, the mirrored body for Hydrogen) is next.

shot-2191-winvm

shot-2191-ConfRoomROG

John Lauer · 2mo ago

Stage 2 shipped: 2.1.93 (originIdentity on every mirrored permission body and /ui/toast body, remote.identity on cross-box cards; the badge on ab's card; Mesh-view zoom and pan), 2.1.94 (the card draws the FULL badge - John: 'i don't see the icon here?' - 2.1.93's chip was the monogram alone), 2.1.95 (desktop_ui_panel accepts zoom-in / zoom-out / fit for the mesh panel so a zoomed view can be proven by verb; the 2.1.94 handlers were refused by the backend whitelist). Fleet: winvm (canary each time), ConfRoomROG, AdomLapper on 2.1.95. Evidence, both on ConfRoomROG: (1) a card raised on winvm shows the orange cloud + WI badge before the ON WINVM chip; the laptop's copy of such a card carries remote.identity = {name: winvm, class: vm, model: 'Microsoft Virtual Machine', monogram: WI, hue: 30, color: 'hsl(30 58% 42%)'} (read via desktop_ui_state). (2) the Mesh view after two zoom-in steps by verb. Known nit: ui_state's meshZoom is only refreshed on panel open/close, so it reads 1 after a verb zoom; the screenshot is the proof - a one-line fix rides with the next build. Hydrogen's half of the badge is adom/hydrogen#72 (sample body posted there). Remaining for this issue: stage 3, the opt-in generated icon.

shot-2194-card

shot-2195-zoom

John Lauer · 1mo ago

Stages 1 and 2 are shipped and in the fleet. Stage 3 is the only part outstanding.

Incidental confirmation from today, while re-verifying #167 on 2.1.114: reading Hydrogen's own DOM after a plain notify_user to AdomLapper returned

toast toast-info svelte-uhnbpr | AL
                                 Plain toast re-verify

AL is AdomLapper's monogram rendering on a Hydrogen toast, so the stage-2 identity is reaching ah's surfaces and not just ab's own cards.

Outstanding: stage 3, the opt-in AI-generated mascot icon published through the mesh directory. Not started.

Log in to reply.