Getting Started¶
This guide shows the minimal workflow:
- Create a
Grid. - Create a
GlyphRegistry(orRenderProfile) to define width policy. - Apply operations using
Renderer. - Render the resulting grid with a backend (optionally using
Damage).
Minimal Example¶
use termgrid_core::{Frame, GlyphRegistry, Grid, RenderOp, Renderer, Style};
let reg = GlyphRegistry::default();
let mut grid = Grid::new(80, 24);
let mut r = Renderer::new();
let frame = Frame {
ops: vec![
RenderOp::Clear,
RenderOp::Put { x: 0, y: 0, text: "hello".into(), style: Style::default() },
],
};
let damage = r.apply_with_damage(&mut grid, ®, &frame).expect("render");
Notes:
- Use
apply_with_damagewhen integrating an incremental backend. - Enable
debug-validateduring development/CI to catch invariant violations early.