gioser

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 484Markdown 258TOML 131RON 38118 Sutichaykuna

⎇ c5a232cf24788ab75a850ffe81eca5a7af50e2f8 llimphi-icons/LEEME.md Markdown · 54 siq'ikuna · 2.2 KB Ñawpa willay ch'uya

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

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

Catálogo

CategoríaIconos
Documentofile, folder, folder_open, save, open
Ediciónplus, minus, x, check, edit, trash
Navegaciónchevron_up, chevron_down, chevron_left, chevron_right, home, search
Estadoinfo, warning, error, bell
Sistemasettings, more
Multimediaplay, pause, stop, skip_*, volume*, repeat, shuffle, record, equalizer, camera, gauge
Archivosimage, 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.