Skip to main content

Crate par_term_render

Crate par_term_render 

Source
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.
ScrollbackMark
Public-facing metadata for a mark anchored to a scrollback line.

Type Aliases§

SeparatorMark
Visible command separator mark: (row, col_offset, optional_color)