Expand description
NEW-77: the VoiceWave rings (catalog/style.json voiceWave), a port of
src/voice-wave.ts; fixtures/voice-wave.json locks it. A painter fills
and strokes each ring’s closed path with its part colour (outer, mid,
inner) at the ring’s alphas and centres the child at child_size.
Structs§
- Child
Box - Where a painter draws the child: its own box scaled about the wave’s
centre by
scale= min(1, child_size / its longer edge), never up; 0 = kept in the tree but not painted (sm). - Child
Size - Voice
Wave - Voice
Wave Bar - Voice
Wave Bars - One frame of the meter: the root box (count × barWidth + (count − 1) ×
gap wide,
heighttall), the phase and every bar rect (px from the box’s top-left), filled with thebarpart colour. - Voice
Wave Bars Input - The input of
voice_wave_bars:size= the size CLASS (smmdlgxl; anything else ismd). - Voice
Wave Bars Size - Voice
Wave Bars Spec - Voice
Wave Input - Voice
Wave Ring - Voice
Wave Spec
Enums§
- Activity
- The
activityprop (catalog enumvoiceWaveActivity). Deserialized throughActivity::parse: every value the catalog does not name (a bound string, a typo) isIdle, the TS reference’s fallback, so no FFI consumer gets{}. - Variant
- The
variantprop (catalog enum): anything butbarsisring.
Constants§
- RINGS
- The ring parts, outermost first.
Statics§
Functions§
- child_
box - The child’s painted box in a wave of edge
size(seeChildBox). - child_
size - The child’s edge for a box
size(sm 32 · md 56 · lg 160 · xl 200). - phase
- The phase (radians) a painter draws at
elapsedseconds. - voice_
wave - The three rings for one frame (coordinates rounded to 0.01 px).
- voice_
wave_ bars - The bars for one frame (style.json
voiceWave.bars$comment). - voice_
wave_ bars_ box - The box of a
barsmeter for a size class: (width, height, bar width, gap).