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 87f4f35
Browse filesBrowse the repository at this point in the historyBrowse files
Material swatch v1.2: bicolor and tricolor are a soft split — solid colours with a 20 % blended seam on the 135° axis, not a full ramp. Doc + French translation, test vectors, reference renderer, glossary, llms.txt
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.',
note:'Look at all five boxes: the seam 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; each colour stays solid, only a 20 % seam blends.',
open it in any browser, no server, no dependency. Every case, every box shape,
27
28
live colour pickers, and the exact CSS it produces.
@@ -32,28 +33,34 @@ picture.
32
33
33
34
| Shape | When | Geometry |
34
35
|---|---|---|
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
+
|**Soft split**|**Two or three** hard-edged colours — bicolor, tricolor | N equal bands along the **135°** axis, first colour **top-left**; each colour stays **solid**, and only a seam of **20 %** of the diagonal (`SPLIT_BLEND`) centred on each boundary blends |
37
+
|**Ramp**| Rainbow, and the catalogue's declared `gradient` type | A smooth linear ramp at **135°**, evenly spaced stops — pointing to the bottom-right, so the first colour sits top-left |
36
38
|**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
39
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.
40
+
Said plainly: **two or three hard colours make a soft split, four or more make a
41
+
camembert, smooth colours make a ramp** — and there is exactly one angle in the
42
+
whole system, 135°, shared by the soft split and the ramp.
41
43
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.
44
+
**Bicolor and tricolor are a soft split — the ramp's axis, the split's clarity.**
45
+
Same axis and order as a ramp (first colour top-left), but each colour holds
46
+
solid over its band and only a **20 %** seam blends at each boundary. With
47
+
`seg = 100 / N` and `h = SPLIT_BLEND / 2 = 10`, colour *i* holds from
48
+
`i·seg + h` (0 for the first) to `(i+1)·seg − h` (100 for the last).
45
49
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
50
+
soft split, N ≥ 4 → pie), so every caller gets it; never draw it mirrored.
51
+
52
+
Why a soft split for two or three colours: a hard edge still read as two or
53
+
three separate objects — on a thumbnail, and even more on the colour frame
54
+
round a product photo, where the photo hid the centre and left disjoint
55
+
coloured bars. A full ramp fixed that but washed the colours out, so neither
56
+
reads as the true colour. The soft split keeps each colour solid and blends only
57
+
the seam: one multi-tone material, true colours, on any box shape. 20 % was
58
+
chosen by eye across every surface (a wider seam leaves a tricolor's middle
59
+
colour almost no solid band). Why a pie from four
60
+
colours up: four or more bands along one diagonal get too thin to read, while sector
53
61
boundaries stay angular and recognisable — measured from the box centre, so N
54
62
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.
63
+
angle of the system, shared by the soft split and every ramp.
57
64
58
65
---
59
66
@@ -79,8 +86,8 @@ authoritative `color_count`):
79
86
80
87
| id | label |`color_count`| Shape |
81
88
|---|---|---|---|
82
-
|`252`| Bicolor | 2 |**Ramp**, 135° |
83
-
|`24`| Tricolor | 3 |**Ramp**, 135° |
89
+
|`252`| Bicolor | 2 |**Soft split**, 135° |
90
+
|`24`| Tricolor | 3 |**Soft split**, 135° |
84
91
|`145`| Rainbow | 3 | Ramp, 135° |
85
92
86
93
Every other aspect (`Silk`, `Matt`, `Glitter`, …) has `color_count` ≤ 1 and does
@@ -120,14 +127,14 @@ Let `LIST` = `online_color_list` after [normalisation](#normalisation), `TYPE` =
120
127
| # | Condition | Result |
121
128
|---|---|---|
122
129
| 1 |`LIST ≥ 2` and `TYPE == "conic_gradient"`| Smooth conic sweep, closing on the first colour |
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 |
130
+
| 2 |`LIST ≥ 2` and `TYPE == "gradient"`| Ramp — even on two or three colours; the catalogue asked for a smooth ramp, so it does not become a soft split|
131
+
| 3 |`LIST ≥ 2`|**Soft split** 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 — 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). |
37
+
|**Material swatch**| The normative convention for turning a spool's colour *data* into the same *picture* on every surface — three shapes (a 135° soft split for 2-3 hard colours, a camembert for 4+, a 135° ramp for smooth colours), 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