# llimphi-test *Read this in English: [README.md](README.md).* # llimphi-test — arnés golden-image headless y determinista El problema que cierra: en `PLAN-NUCLEO-RETENIDO.md` y `PARIDAD-FLUTTER.md` cada bloque termina con "falta verificar en metal / PNG-diff pendiente", y CLAUDE.md §8 prohíbe renderizar-y-mirar de rutina por costo de tokens. Este crate convierte esa verificación cara y subjetiva en `assert_golden!(...)`: barata, objetiva, en CI, certificada por **texto** (`DiffStats`). ## Determinismo El `Harness` pide un `Hal` por el adapter de **software** (`llimphi_hal::Hal::new_headless(true)`): el rasterizador llvmpipe/lavapipe (deviceType CPU) produce el **mismo píxel** en cualquier host y en CI, no atado a la GPU de quien generó el golden. Si la máquina no tiene un fallback adapter, cae al adapter normal y la tolerancia perceptual de `GoldenConfig` absorbe la diferencia de vendor. ## Uso típico (dentro de un test de otro crate) ```ignore use llimphi_test::assert_golden; #[test] fn card_con_sombra() { let v = mi_widget::card(...); assert_golden!("card_con_sombra", v, 400, 240); // tests/goldens/card_con_sombra.png } ``` Regenerar los goldens: `LLIMPHI_GOLDEN_UPDATE=1 cargo test`. --- Parte de **llimphi** — ver [llimphi](../LEEME.md).