1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! **The four bubbles, by role** (DESIGN §4.45 item 7; `docs/STYLE.md` §5,
//! *a block*): the fill that stands under each block of the transcript, named
//! once here and derived from the palette — no new literal.
//!
//! The operator's is the one hued fill, the brand at half a tint: *I'm
//! reading the message I wrote* is answered by hue. The model's three are the
//! ground ladder read as an elevation ramp rising toward what is read — a
//! trail on the ground inside a hairline, the lowest step, because its calls
//! are bookkeeping once they have run; intermediate prose one rung up; the
//! turn's final prose on the top rung. Every one is faint, which is the
//! ruling's *not jarring*: a bubble says a role and is read through, never
//! read.
//!
//! **Which bubble a row gets is decided in the projection**
//! (`crate::ui::chat::rows`), where the turn's shape is known; this file only
//! says what each one looks like.
use ;
use ;
/// The role a block of the transcript stands on.
/// **The fill and the stroke a bubble wears.** Three of the four carry no
/// stroke — a block is raised by a tint, never boxed — and the trail's
/// hairline is what keeps the lowest step visible at all on the ground it
/// stands on.