# llimphi-widget-wawa-mark *Read this in English: [README.md](README.md).* Sello vectorial del SO wawa. ## Spec (revisión 2026-05-29) Identidad nominal **implícita**: el rombo de fondo lleva la paleta oficial (Azul Índigo / Púrpura Profundo) y los trazos blancos forman las letras **"WA"** pero geométricamente — no son tipografía, son aristas internas que rebotan en los mismos 45° del rombo, así dan sensación de facetas talladas dentro del diamante. ### Composición 1. **Rombo de fondo** — degradado vertical inmaculado, sin sutura visible: índigo arriba, púrpura abajo. El degradado lineal cubre toda la altura del rombo (no sólo la mitad), de modo que el cambio de tono es continuo. 2. **Trazo "WA"** — un único `BezPath` con dos subtrazos: - **W** (izquierda): zigzag de 4 segmentos, todos a 45° (matching las aristas del rombo). Picos en la sutura azul/púrpura (y = 0.50), valles en y = 0.60. Cinco vértices, cuatro segmentos. - **A** (derecha): triángulo abierto formado por dos legs a 45° + un crossbar horizontal a mitad de altura. Tres segmentos. Las strokes diagonales (6 de las 7) son paralelas a las aristas del rombo, por eso "leen" como filos cortados del diamante en vez de letras pintadas encima. 3. **Merkle Core** — punto luminoso con halo en el pico central de la W (sobre la sutura, donde azul y púrpura se encuentran). Es el nodo raíz que amarra el sistema. ### Geometría (en coords normalizadas `[0, 1] × [0, 1]` del rect) ```text Top ◇ / \ / \ ← azul índigo / \ P0 P2★ P4 A1 ●─. ● .─● ●─. .─● ← y = 0.50 (sutura) ╲ ╱ ╲ ╱ ╲ ╱ ╳ ╳ ╲────╱ ← crossbar A (y=0.55) ╱ ╲ ╱ ╲ ╱ ╲ ●─' ● '─● ●─' '─● ← y = 0.60 (valles/pies) P1 P3 A0 A2 ↑ gap entre W y A Left ◇─────────────────────────────────◇ Right (sutura, y = 0.50) / / / ← púrpura profundo / ◇ Bottom ``` Las strokes diagonales todas a slope ±1, igual que las aristas del rombo. El crossbar de la A es la única horizontal — concesión mínima a la legibilidad de la letra, queda subordinado al patrón diamante. ## Uso ```ignore use llimphi_widget_wawa_mark::{wawa_mark_view, WawaMarkPalette}; // En un view: View::new(Style { size: Size { width: length(128.0), height: length(128.0) }, ..Default::default() }) .children(vec![wawa_mark_view(&WawaMarkPalette::default())]) ``` El widget rellena el rect del padre — pasarle un tamaño cuadrado para que el rombo no se distorsione (lo respeta igual, pero queda mejor cuadrado). --- Parte de **llimphi** — ver [llimphi](../../LEEME.md).