| // 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}; |