Expand description
GPU-accelerated rendering engine for par-term terminal emulator.
This crate provides the rendering pipeline for the terminal emulator, including:
- Cell-based GPU rendering with glyph atlas
- Sixel/iTerm2/Kitty inline graphics rendering
- Custom GLSL shader post-processing (Shadertoy/Ghostty compatible)
- Scrollbar rendering with mark overlays
- Background image rendering
- GPU utility functions
§Logging Convention (ARC-004)
This crate has two logging systems: log::debug!() / log::trace!() calls
and the root crate’s crate::debug_info!() / crate::debug_log!() macros.
For rendering hot paths (functions called every frame during
render_split_panes, build_instance_buffers, shader compilation), prefer
log::debug!() / log::trace!() since these are controlled by RUST_LOG
and have near-zero overhead when disabled. The root crate’s custom debug
macros (debug_info!) are not available in this sub-crate.
For non-hot-path diagnostics (startup, resource loading, error paths), either system is acceptable.
A future migration (deferred — see AUDIT.md ARC-004) will unify both systems
under tracing. Until then, do NOT add new log::debug!() calls inside
per-frame loops without guarding them behind a level check or making them
conditional on cfg!(debug_assertions).
Re-exports§
pub use cell_renderer::CellRenderer;pub use cell_renderer::PaneViewport;pub use custom_shader_renderer::CustomShaderRenderer;pub use error::RenderError;pub use graphics_renderer::GraphicRenderInfo;pub use graphics_renderer::GraphicsRenderer;pub use renderer::DividerRenderInfo;pub use renderer::PaneDividerSettings;pub use renderer::PaneRenderInfo;pub use renderer::PaneTitleInfo;pub use renderer::Renderer;pub use renderer::RendererParams;pub use renderer::compute_visible_separator_marks;pub use scrollbar::Scrollbar;
Modules§
- cell_
renderer - custom_
shader_ renderer - Custom shader renderer for post-processing effects
- error
- Typed error types for par-term-render.
- gpu_
utils - Common GPU utilities for texture and sampler creation.
- graphics_
renderer - renderer
- scrollbar
Structs§
- Cell
- A single terminal cell with styled content for rendering.
- Scrollback
Mark - Public-facing metadata for a mark anchored to a scrollback line.
Type Aliases§
- Separator
Mark - Visible command separator mark: (row, col_offset, optional_color)