1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! 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-export main public types
pub use ;
pub use CustomShaderRenderer;
pub use RenderError;
pub use ;
pub use ;
pub use Scrollbar;
// Re-export shared types from dependencies for convenience
pub use ;