generated from erix/meta
lib-console provides shared framebuffer console primitives used by bootloader, kernel, and userspace console services.
- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
lib-console
lib-console provides shared framebuffer console primitives used by
bootloader, kernel, and userspace console services.
It is a no_std, allocation-free library with strict bounds checking and a
small deterministic API surface.
Responsibilities
- parse/validate PF2 font container identity
- validate framebuffer geometry and pixel formats
- provide bounded text rendering into linear framebuffers
- track cursor/continuity/render status metadata
lib-console is not responsible for IPC, kernel mappings, or device discovery.
Public API
Core items:
FramebufferInfoV1Pf2FontInfoV1ConsoleStatusV1ConsoleRendererV1parse_pf2_font_info(...)
Supported pixel formats:
PIXEL_FORMAT_BGRA8888PIXEL_FORMAT_RGBA8888
PF2 detection supports both direct and FILE-wrapped magic.
Determinism and safety
- all geometry and size math is checked
- renderer never writes outside the provided framebuffer slice
- unsupported bytes are rendered as stable fallback glyphs (
?) - scrolling and cursor updates are deterministic
Build and test
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test