smix-annotate
Screenshot annotation primitives + PNG compression for smix. See RFC docs/ai-guide/rfc-v0.3.0-annotated-screenshots.md.
v0.3.0 scope
- 5 primitives: circle, arrow, text, box, line
- 3 compression presets: fast, balanced (default), aggressive (via oxipng)
- Named + hex + rgba color palette, plus semantic colors (
EXPECTED,ACTUAL,HINT,ERROR,SUCCESS) - Position: absolute pixel + normalized 0..1
- Text rendering via
ab_glyph(font supplied by caller — v0.3.5 bundles Inter + Noto Sans SC)
Library usage
use ;
let png = read?;
let out = new?
.add
.compression
.render?;
write?;
Non-goals (deferred to v0.3.5)
- Bundled fonts (Inter + Noto Sans SC)
- Selector-relative position resolution (smix-adapter-maestro runtime handles it)
- Auto-annotate for
--debug-outputfail-step screenshots