Skip to main content

Crate felis_render_core

Crate felis_render_core 

Source
Expand description

§felis-render-core

The renderer-neutral core of felis, a daemon-backed terminal emulator for persistent sessions and headless control: palette, cell appearance, box drawing, the glyph index, the shelf atlas and the cell painter with its display list.

Modules§

appearance
How a cell looks: its colors after reverse video, the cursor, the bidi warning, selection and faint, and which decorations it carries. Resolved per row of cells, so a client holding only decoded scrollback rows resolves them the same way the cell painter does.
atlas
First-fit shelf packer for the glyph atlas. Shelves are never defragmented: when the atlas fills, the caller resets and rebuilds.
box_drawing
Programmatic rasterization of box-drawing, block, Braille, mosaic, and Powerline glyphs.
display_list
What the cell painter emits: rectangles, glyph draws and line decorations in physical pixels, colors in linear RGBA. A backend draws rects, then glyphs, then decos, each in list order.
glyphs
Glyph index that bridges felis_shaping with a backend’s glyph atlas: GlyphIndex shapes, rasterizes and packs glyphs, and the backend drains its PendingUploads into wherever its atlas lives (felis-render-wgpu’s GlyphCache writes them into a texture).
overlay
Frame overlays the client composes over the grid: IME pre-edit, scrollback search, and the bottom-row bars.
painter
The cell painter: turns the screen and the frame’s overlays into the display list of crate::display_list.
palette
SGR color to linear-RGBA conversion. The renderer wants linear sRGB so the surface format (Bgra8UnormSrgb) does the gamma encoding.

Structs§

ImageData
pixels.len() equals width * height * bytes_per_pixel(format); the daemon dispatcher enforces it.
SelectionRange
start / end are normalized by the client: row-major min/max for a linear selection, axis-aligned bounding box for a rectangle.

Traits§

ImageSource
Supplies image pixels for GPU atlas re-uploads when the atlas recycles itself.