You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bfdcdd5
Browse filesBrowse the repository at this point in the historyBrowse files
material swatch convention v1.2: bicolor and tricolor as a 135° ramp
Bicolor (2 hard colours) and tricolor (3 hard colours) now render as a smooth
135° linear ramp, first colour top-left, no hard edge — matching the
declared-gradient shape at the same length. Four or more hard colours still
render as a camembert (N equal conic sectors). Rainbow and the catalogue's
declared gradient type are unchanged. Updates the normative doc, its FR
translation (+ sourceHash), the reference-renderer playground, glossary
entries (EN/FR), and llms.txt.
note:'Look at all five boxes: the hard edge runs top-right → bottom-left through the centre of the circle, the square, the banner, the column and the clipped bar — first colour top-left, like the ramp.',
note:'Look at all five boxes: the blend runs top-left → bottom-right across the circle, the square, the banner, the column and the clipped bar, first colour top-left, no hard edge.',
open it in any browser, no server, no dependency. Every case, every box shape,
26
27
live colour pickers, and the exact CSS it produces.
@@ -31,30 +32,28 @@ picture.
31
32
32
33
| Shape | When | Geometry |
33
34
|---|---|---|
34
-
|**Diagonal split**| Exactly **two** hard-edged colours — bicolor | Two halves along the **135°** axis, hard edge through the centre: first colour **top-left**, second **bottom-right**|
35
-
|**Camembert** (pie) |**Three or more** hard-edged colours — tricolor, any list of N ≥ 3 | N equal conic sectors, first colour starting at **12 o'clock**, sweeping **clockwise**|
36
-
|**Ramp**| Rainbow, and the catalogue's declared `gradient` type | A smooth linear ramp at **135°** — pointing to the bottom-right, so the first colour sits top-left |
37
-
38
-
Said plainly: **two hard colours split on the diagonal, more make a camembert,
39
-
smooth colours make a ramp** — and there is exactly one angle in the whole system,
40
-
135°, shared by the split and the ramp.
41
-
42
-
**Bicolor is the diagonal split — the ramp's hard-edged twin.** Same axis, same
43
-
order (first colour top-left), but a hard edge at 50 % instead of a blend. The
44
-
edge runs top-right → bottom-left through the centre of *any* box: a round
45
-
swatch, a square tile, a wide thumbnail, a frame around a photo, a
46
-
partially-filled bar. Implement it once, in the function that splits a list of
47
-
hard colours (N = 2 → diagonal, N ≥ 3 → pie), so every caller gets it; never draw
48
-
it mirrored.
49
-
50
-
Why a diagonal for two colours: a vertical split read as two separate objects
51
-
standing side by side — on a thumbnail, and even more on the colour frame round a
52
-
product photo, where the photo hid the centre and left a left bar and a right
53
-
bar. A diagonal reads as one two-tone material. Why a pie from three colours up:
54
-
sector boundaries are angular, measured from the box centre, so N sectors stay
55
-
recognisable whatever the box's aspect ratio, where N diagonal bands would not.
56
-
Why 135°: it is the one angle of the system — a bicolor and a two-colour ramp
57
-
share the axis, and differ only by the hard edge.
35
+
|**Ramp**|**Two or three** hard-edged colours — bicolor, tricolor — plus rainbow and the catalogue's declared `gradient` type | A smooth linear ramp at **135°**, no hard edge — pointing to the bottom-right, so the first colour sits top-left |
36
+
|**Camembert** (pie) |**Four or more** hard-edged colours — any list of N ≥ 4 | N equal conic sectors, first colour starting at **12 o'clock**, sweeping **clockwise**|
37
+
38
+
Said plainly: **two or three hard colours blend into a ramp, four or more make a
39
+
camembert** — and there is exactly one angle in the whole system, 135°, shared
40
+
by every ramp in it.
41
+
42
+
**Bicolor and tricolor are a ramp — the same shape as a declared gradient.**
43
+
Same axis, same order (first colour top-left), no hard edge anywhere: 2 or 3
44
+
hard colours blend exactly like a catalogue `gradient` of the same length.
45
+
Implement it once, in the function that splits a list of colours (N ≤ 3 →
46
+
ramp, N ≥ 4 → pie), so every caller gets it; never draw it mirrored.
47
+
48
+
Why a ramp for two or three colours: a hard edge still read as two or three
49
+
separate objects — on a thumbnail, and even more on the colour frame round a
50
+
product photo, where the photo hid the centre and left disjoint coloured bars.
51
+
A ramp reads as one multi-tone material on any box shape. Why a pie from four
52
+
colours up: a ramp through four or more colours turns to mud, while sector
53
+
boundaries stay angular and recognisable — measured from the box centre, so N
54
+
sectors stay legible whatever the box's aspect ratio. Why 135°: it is the one
55
+
angle of the system, shared by every ramp, whether it has 2, 3 or more smooth
56
+
stops.
58
57
59
58
---
60
59
@@ -80,8 +79,8 @@ authoritative `color_count`):
80
79
81
80
| id | label |`color_count`| Shape |
82
81
|---|---|---|---|
83
-
|`252`| Bicolor | 2 |**Diagonal split**, 135° |
84
-
|`24`| Tricolor | 3 |Camembert, 3 sectors|
82
+
|`252`| Bicolor | 2 |**Ramp**, 135° |
83
+
|`24`| Tricolor | 3 |**Ramp**, 135°|
85
84
|`145`| Rainbow | 3 | Ramp, 135° |
86
85
87
86
Every other aspect (`Silk`, `Matt`, `Glitter`, …) has `color_count` ≤ 1 and does
@@ -121,14 +120,14 @@ Let `LIST` = `online_color_list` after [normalisation](#normalisation), `TYPE` =
121
120
| # | Condition | Result |
122
121
|---|---|---|
123
122
| 1 |`LIST ≥ 2` and `TYPE == "conic_gradient"`| Smooth conic sweep, closing on the first colour |
124
-
| 2 |`LIST ≥ 2` and `TYPE == "gradient"`| Ramp — **even on two colours**; the catalogue asked for a ramp, so it does not become a hard bicolor split|
125
-
| 3 |`LIST ≥ 2`|Hard split of `LIST`: **diagonal**when 2 colours, **camembert** of `LIST.length` sectors when 3 or more |
123
+
| 2 |`LIST ≥ 2` and `TYPE == "gradient"`| Ramp — same shape `LIST` would get at 2-3 colours anyway; the declared type only matters once `LIST.length ≥ 4`|
124
+
| 3 |`LIST ≥ 2`|**Ramp**of `LIST`when 2 or 3 colours, **camembert** of `LIST.length` sectors when 4 or more |
Copy file name to clipboardExpand all lines: docs/glossary.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ owns the full story.
34
34
|**Twin Tag**| The two chips of one spool, written together as a pair and kept identical for the spool's whole life — always counted as **one** spool. |
35
35
|**Reference database**| The shared ID tables (brands, materials, aspects, types, diameters, units) served from `cdn.tigertag.io`, so a chip encoded by one tool reads identically in every other. See [Universal filament identity](./concepts/universal-filament-identity.md). |
36
36
|**Aspect**| The reference-database field describing a filament's colour and finish; the [material swatch](./developers/material-swatch.md) is painted from it. |
37
-
|**Material swatch**| The normative convention for turning a spool's colour *data* into the same *picture* on every surface — three shapes only (diagonal split, camembert, ramp), with a reference renderer to check an implementation against. See [The material swatch](./developers/material-swatch.md). |
37
+
|**Material swatch**| The normative convention for turning a spool's colour *data* into the same *picture* on every surface — two shapes only (ramp for 2-3 hard colours, camembert for 4+), with a reference renderer to check an implementation against. See [The material swatch](./developers/material-swatch.md). |
38
38
|**`.ttag` file**| The portable, offline interchange file carrying one or more inventory materials (TigerData, TigerData+, TigerTag or TigerTag+) between tools. See [the `.ttag` format](./developers/ttag-format.md). |
39
39
|**Second life**| Re-encoding a chip for a refilled or re-purposed spool, or converting it to plain NDEF for any other NFC use — a chip should never become e-waste. See [Second life](./philosophy/second-life.md). |
40
40
|**Smartphone bridge**| Using a phone (or a desktop reader) to identify a spool for a printer that has no RFID reader of its own. See [The smartphone bridge](./philosophy/smartphone-bridge.md). |
0 commit comments