1# llimphi-widget-skeleton
2
3Loading placeholder with a shimmer.
4
5When a screen is loading content whose shape is predictable (say a list of 5
6cards, or avatar + name + timestamp), a skeleton is more informative than a
7spinner: the user already sees WHAT is coming, they just don't have the real
8values yet.
9
10The shimmer comes from a **gradient band that crosses** the rect left to right
11cyclically. The stops are `[low, high, low]` over a band about 50% of the width,
12with `Extend::Pad` by default — outside the band the rect stays at `low`, inside
13it `high` paints the glint. It is the canonical Material/Apple pattern, more
14legible than the previous uniform oscillation.
15
16Like `spinner`, it needs the app to force periodic redraws for the animation to
17run (typically `Handle::spawn_periodic(50ms, …)` while skeletons are visible).
18
19---
20
21Part of **llimphi** — see [llimphi](../../README.md).
README.md
llimphi-widget-skeleton
Loading placeholder with a shimmer.
When a screen is loading content whose shape is predictable (say a list of 5
cards, or avatar + name + timestamp), a skeleton is more informative than a
spinner: the user already sees WHAT is coming, they just don't have the real
values yet.
The shimmer comes from a gradient band that crosses the rect left to right
cyclically. The stops are [low, high, low] over a band about 50% of the width,
with Extend::Pad by default — outside the band the rect stays at low, inside
it high paints the glint. It is the canonical Material/Apple pattern, more
legible than the previous uniform oscillation.
Like spinner, it needs the app to force periodic redraws for the animation to
run (typically Handle::spawn_periodic(50ms, …) while skeletons are visible).
Part of llimphi — see llimphi.