blob: d9b5c2998a5aa27faccc295e710b7e8eb10f22d3 [file] [edit]
// Copyright 2026 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! Glyph bitmap atlas cache for efficient text rendering.
//!
//! This module provides a glyph bitmap atlas cache that:
//! - Rasterizes glyphs once and reuses the bitmaps for subsequent draws
//! - Packs glyph bitmaps into shared atlas images using guillotiere
//! - Uses stable glyph keys for reliable cache hits
//! - Supports multiple atlas pages for scalability
//! - Implements simple age-based eviction
//!
//! The core type is [`GlyphAtlas`], which handles allocation, eviction,
//! and pending-command queues.
pub mod cache;
pub mod commands;
pub mod key;
mod region;
#[cfg(all(debug_assertions, feature = "std"))]
pub use cache::GlyphCacheStats;
pub use cache::{
AtlasConfig, GLYPH_PADDING, GlyphAtlas, GlyphCacheConfig, ImageCache, PendingBitmapUpload,
PendingClearRect,
};
pub use commands::{AtlasCommand, AtlasCommandRecorder, AtlasPaint};
pub use key::GlyphCacheKey;
pub use region::{AtlasSlot, RasterMetrics};