feat(pineal): cierra stub polar — pie/donut + radar

Fase F: tercer stub de pineal cerrado.

- pie — paint_pie: pie y donut (inner_radius > 0). Porciones desde las
  12 en punto, horario; valores negativos → 0. Cada cuña se tesela en
  un triangle strip [in,out,in,out,…] con segmentos de arco escalados
  al ángulo.
- radar — paint_radar: M ejes equiespaciados, valores proyectados a
  distancia proporcional; relleno (fan) + contorno (polilínea cerrada).

Painters 100% agnósticos (trait Canvas). 5 tests verdes.
cargo check --workspace verde.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 14:14:37 +00:00
parent 4528e08e04
commit 370a593ad8
3 changed files with 230 additions and 10 deletions
+9 -10
View File
@@ -1,16 +1,15 @@
//! `pineal-polar` — gráficos en coordenadas polares.
//!
//! - **`pie`** — pie / donut chart.
//! - **`radar`** — radar (spider) chart.
//! - **`element`** — `Element` GPUI.
//! Painters agnósticos (hablan contra `Canvas`): el `Canvas` no tiene
//! primitiva de arco, así que cada forma se tesela en triangle strips.
//!
//! No comparte mucho con cartesian; viewport y gestures van
//! ad-hoc. El picture-cache de cartesian no aplica acá (las
//! rotaciones lo invalidan).
//! - [`pie`] — pie / donut chart.
//! - [`radar`] — radar (spider) chart.
#![forbid(unsafe_code)]
#![allow(dead_code)]
pub mod pie {}
pub mod radar {}
pub mod element {}
pub mod pie;
pub mod radar;
pub use pie::{paint_pie, Slice};
pub use radar::paint_radar;