Skip to main content

Module loaders

Module loaders 

Source
Expand description

Loaders: the orb cluster, the pulse loader and the gradient matrix spinners. All motion routes through motion pure helpers, so the math is unit-tested and these elements are testable-by-compile.

orb is bezel’s own vocabulary — four shapes over one period — and is what a thinking surface should reach for. The older three are grids of cells.

Rendering pattern: one shared clock (motion::pulse_delta) drives the view, and per-cell offsets come from motion::staggered_phase off that single delta, so every cell stays phase-locked. Cells animate inside fixed-size slots — opacity and inner size are paint-local and never move surrounding layout. Reduced motion snaps every cell to its rest state automatically (gpui reduce_motion).

Enums§

Orb
Which orb to draw. All four share one period, one tint and one box, and differ only in how the circles are arranged and what the phase moves.

Constants§

GSPIN_DIM
Opacity a gradient-spinner cell rests at between pulses.
GSPIN_ROW_TINTS
Per-row tints of the gradient matrix spinner — a “sunrise” gradient sampled at each row: cool blue at the top, through amber, to pink.
MATRIX_SIDE
Side length of the gradient spinner matrix.
PULSE_CELLS
Cells in the pulse wave loader.

Functions§

gradient_spinner
The gradient matrix spinner (working indicator): a 3×3 grid of round cells tinted per row from the sunrise gradient. Each cell pulses opacity once per 750ms period; the per-cell phase follows the “arrow-up” pattern (the pulse enters at the bottom edge and converges toward the top-center cell), so the wave reads as travelling upward.
loading_word
“L O A D I N G” — text-[11px] uppercase tracking-[0.32em]; tracking approximated with thin spaces (gpui has no letter-spacing at the pinned rev).
mini_gradient_spinner
A 2×3 miniature of gradient_spinner sized for a status-dot slot: same row tints and pulse timing, but the brightness SNAKES around the grid’s perimeter (every cell of a 2×3 grid is on the ring) instead of sweeping as a vertical wave — a tiny radial chase. ~6×10px footprint at the default 2.5px cells.
orb
The orbs — bezel’s own loaders, and the only ones here that are.
pulse_loader
The pulse wave loader: a row of cells pulsing opacity 0.08→1 / scale 0.9→1 over 2.4s with a 0.15s stagger per cell.