Regenerado con scripts/actualizar-standalone.py --llimphi. Vendoriza además
shared/{foreign-lottie,grafo}. Quedan fuera los crates acoplados al workspace
madre (wasm-*, video-plane, voxel-app/studio, allichay, plugin-host, shuma-term).
cargo check --workspace verde (112 miembros).
2.1 KiB
2.1 KiB
llimphi-icons
The canonical set of vector icons for tawasuyu apps.
Every icon is a pure function returning a BezPath defined on a logical grid of
24×24 units. The renderer scales it to whatever rect it gets, so the same
icon serves at 12px (in a list row) and at 64px (in a hero card) with no loss of
sharpness — it is vector, not bitmap.
Design
- Stroke-based, not filled: icons are strokes of width 2 (in grid units) with
soft joins and caps. The stroke is rendered in whatever colour the app chooses
(typically
theme.fg_textortheme.accent). - Minimal geometry, not a logo: universal generic glyphs, not "trademarks". Each one must be recognizable at a glance even at 12×12.
- A bounded set: enough to cover the bulk of actions and types appearing in any tawasuyu UI. If an app needs one more, it adds it here (not in its own crate) — visual consistency matters more than isolation.
Catalog
| Category | Icons |
|---|---|
| Document | file, folder, folder_open, save, open |
| Editing | plus, minus, x, check, edit, trash |
| Navigation | chevron_up, chevron_down, chevron_left, chevron_right, home, search |
| Status | info, warning, error, bell |
| System | settings, more |
| Multimedia | play, pause, stop, skip_*, volume*, repeat, shuffle, record, equalizer, camera, gauge |
| Files | image, music, film, archive, code, file_text, link, font |
Use
use llimphi_icons::{Icon, icon_view};
// A button with the "save" icon:
let btn = View::new(style)
.fill(palette.bg_button)
.children(vec![icon_view(Icon::Save, palette.fg_text, 1.6)]);
The stroke_width parameter (3rd argument of icon_view) is in grid units
(24×24). 1.6 is the harmonious default; 2.0 for emphasis; 1.2 for icons
next to small type.
Part of llimphi — see llimphi.