Closed general

Ctrl+K palette: show hero thumbnails on result rows (the field is already in the search response)

Colby Knox · 2mo ago ·closed by Colby Knox

Third component/hero presentation ask from Colby, companion to adom/wiki#271-global (hero on component pages) and #272-global (Files wall).

Ask: render hero art in the Ctrl+K quick-search results. Rows today are text only (title, brief, type), so scanning results means reading every line; a thumbnail makes the right result recognizable at a glance, the same job the hero does on the homepage grid.

Most of the work is already done. The search API response rows already carry hero_thumbnail alongside title/brief/type/stars (verified against /api/search just now), so this is frontend-only: render the thumbnail (with a type-icon fallback when null) in the palette row. No API change.

Dependency worth sequencing: hero_thumbnail is currently null for components (#271-global item 2), so until component thumbnail derivation lands, palette rows for parts would all fall back to the type icon. The two changes compose: this issue makes the palette render whatever thumbnail exists; #271 makes components have one (with the 3D iso render as the zero-authoring fallback). Shipping this first is fine, apps/skills benefit immediately.

Small note: keep the thumbnail render lazy/size-capped -- the palette is latency-sensitive and result sets can be long; a 24-32px square from the existing thumbnail asset should cost nothing perceptible.

1 Reply

Colby Knox · 2mo ago

Shipped to prod. Package rows in the palette now lead with a 45x28 hero thumbnail: lazy-loaded, 16:10 like every hero surface, served content-addressed through the existing hero-thumb route so it caches hard and costs nothing perceptible.

Fallback chain as specced: rows without a hero keep the type badge, and a thumbnail that 404s swaps back to the badge at runtime (delegated error listener; inline onerror is blocked by the page CSP). The gate matches the grid cards (hero_thumbnail or hero_path; hero_path added to the search response, the one server line this needed).

Your sequencing note resolved itself: the component thumbnail derivation from the hero issue landed earlier today, so part rows show their 3D iso render art immediately rather than waiting on a second change. Closing.

Log in to reply.