What
A new Raster element type is available for plugins to use in their UI. It takes props like {key, columns, rows, cells}, where cells is base64-encoded packed cell data, and plugins can repaint it via a paintRaster-style call ({ requestId, key, cells, columns, rows }).
- The rendering layer now sizes and lays out
Rasterelements like other UI primitives, and it participates in existing press/hosted-button handling. - Global UI state now tracks
mountedRasters(which rasters are currently mounted) andrasterAdmission(whether a raster is allowed to render). - Behind the scenes it includes an SGR-color cache, per-second blit (draw) throttling, and validation limited to BMP images with single-width cells.
Why
This gives plugin authors a way to draw arbitrary pixel-like graphics into the terminal UI, beyond the text-based components available before, while the admission/throttling logic keeps repeated repaints from overwhelming the terminal.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
For a heat map, a sparkline, or a game board in the terminal, draw one `Raster` and not a `Box` for each cell. A `Raster` takes a `key`, its size in `columns` and `rows`, and `cells`, a base64 string that packs every cell. Each cell is thr…plugins/mods/interface see the edit
Anthropic's documentation has since written up Raster, on Draw in the interface with a mod.