Files
llimphi/llimphi-icons/README.md
T
Sergio 93253cc227 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
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).
2026-07-25 20:57:22 +00:00

2.1 KiB
Raw Blame History

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_text or theme.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.