Files
brahman/crates/modules/pineal/heatmap/src/lib.rs
T
sergio 4528e08e04 feat(pineal): cierra stub heatmap — matrix + viridis + encoder + paint
Fase F: segundo stub de pineal cerrado.

- matrix — HeatmapMatrix densa width×height de f32, con revision para
  invalidación de textura; get/set/min_max/replace_data.
- palette — Ramp::{Viridis, Grayscale}; Viridis por interpolación
  lineal de 5 control points perceptualmente uniformes.
- encoder — encode_argb: normaliza por min/max + rampa + pack 0xAARRGGBB
  para subir como textura (camino de matrices grandes).
- paint — painter agnóstico: un fill_rect por celda contra un Canvas
  (camino de matrices chicas + export SVG).

12 tests verdes. cargo check --workspace verde.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 14:13:10 +00:00

24 lines
765 B
Rust
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//! `pineal-heatmap` — matriz `width × height` de `f32` → visualización.
//!
//! Dos caminos de render:
//! - [`paint`] — agnóstico, un `fill_rect` por celda contra un `Canvas`.
//! Apto para matrices chicas y export SVG.
//! - [`encoder::encode_argb`] — empaqueta la matriz como buffer ARGB para
//! que un backend lo suba como textura y la rendee con un solo blit.
//! Apto para matrices grandes (4096² sin sudar).
//!
//! - [`matrix`] — `HeatmapMatrix` con `revision` para invalidación.
//! - [`palette`] — color ramps (Viridis, Grayscale).
#![forbid(unsafe_code)]
pub mod matrix;
pub mod palette;
pub mod encoder;
pub mod paint;
pub use encoder::encode_argb;
pub use matrix::HeatmapMatrix;
pub use paint::paint;
pub use palette::Ramp;