1# llimphi-icons
2
3*Read this in English: [README.md](README.md).*
4
5Set canónico de iconos vectoriales para apps tawasuyu.
6
7Cada icono es una función pura que devuelve un `BezPath` definido en
8un grid lógico de **24×24 unidades**. El renderer escala al rect que
9reciba, así un mismo icono sirve para 12px (en una fila de lista) y
10para 64px (en una hero card) sin pérdida de nitidez — es vector,
11no bitmap.
12
13## Diseño
14
15- **Stroke-based, no fill**: los iconos son trazos de ancho 2 (en
16 unidades del grid) con joins/caps suaves. El stroke se renderiza
17 con el color que la app elija (típicamente `theme.fg_text` o
18 `theme.accent`).
19- **Geometría minimal, no marca**: glifos genéricos universales,
20 no "marca registrada". Cada uno debe ser reconocible al primer
21 vistazo aún en 12×12.
22- **Set acotado**: suficientes para cubrir el grueso de acciones y
23 tipos que aparecen en cualquier UI tawasuyu. Si una app necesita uno
24 más, lo agrega aquí (no en su propio crate) — la consistencia
25 visual importa más que el aislamiento.
26
27## Catálogo
28
29| Categoría | Iconos |
30|--------------|-----------------------------------------------------|
31| Documento | `file`, `folder`, `folder_open`, `save`, `open` |
32| Edición | `plus`, `minus`, `x`, `check`, `edit`, `trash` |
33| Navegación | `chevron_up`, `chevron_down`, `chevron_left`, `chevron_right`, `home`, `search` |
34| Estado | `info`, `warning`, `error`, `bell` |
35| Sistema | `settings`, `more` |
36| Multimedia | `play`, `pause`, `stop`, `skip_*`, `volume*`, `repeat`, `shuffle`, `record`, `equalizer`, `camera`, `gauge` |
37| Archivos | `image`, `music`, `film`, `archive`, `code`, `file_text`, `link`, `font` |
38
39## Uso
40```ignore
41use llimphi_icons::{Icon, icon_view};
42
43// Botón con icono "save":
44let btn = View::new(style)
45 .fill(palette.bg_button)
46 .children(vec![icon_view(Icon::Save, palette.fg_text, 1.6)]);
47```
48El parámetro `stroke_width` (3er arg de `icon_view`) está en unidades
49del grid (24×24). `1.6` es el default armonioso; `2.0` para énfasis;
50`1.2` para iconos en tipografías pequeñas.
51
52---
53
54Parte de **llimphi** — ver [llimphi](../LEEME.md).
LEEME.md
llimphi-icons
Read this in English: README.md.
Set canónico de iconos vectoriales para apps tawasuyu.
Cada icono es una función pura que devuelve un BezPath definido en
un grid lógico de 24×24 unidades. El renderer escala al rect que
reciba, así un mismo icono sirve para 12px (en una fila de lista) y
para 64px (en una hero card) sin pérdida de nitidez — es vector,
no bitmap.
Diseño
- Stroke-based, no fill: los iconos son trazos de ancho 2 (en
unidades del grid) con joins/caps suaves. El stroke se renderiza
con el color que la app elija (típicamente
theme.fg_text o
theme.accent).
- Geometría minimal, no marca: glifos genéricos universales,
no "marca registrada". Cada uno debe ser reconocible al primer
vistazo aún en 12×12.
- Set acotado: suficientes para cubrir el grueso de acciones y
tipos que aparecen en cualquier UI tawasuyu. Si una app necesita uno
más, lo agrega aquí (no en su propio crate) — la consistencia
visual importa más que el aislamiento.
Catálogo
| Categoría | Iconos |
| Documento | file, folder, folder_open, save, open |
| Edición | plus, minus, x, check, edit, trash |
| Navegación | chevron_up, chevron_down, chevron_left, chevron_right, home, search |
| Estado | info, warning, error, bell |
| Sistema | settings, more |
| Multimedia | play, pause, stop, skip_*, volume*, repeat, shuffle, record, equalizer, camera, gauge |
| Archivos | image, music, film, archive, code, file_text, link, font |
Uso
use llimphi_icons::{Icon, icon_view};
// Botón con icono "save":
let btn = View::new(style)
.fill(palette.bg_button)
.children(vec![icon_view(Icon::Save, palette.fg_text, 1.6)]);
El parámetro stroke_width (3er arg de icon_view) está en unidades
del grid (24×24). 1.6 es el default armonioso; 2.0 para énfasis;
1.2 para iconos en tipografías pequeñas.
Parte de llimphi — ver llimphi.