Reading map: measure the marker contrast instead of asserting it
The ember-scheme override was sky blue against the fuchsia quoted marker, which measures deltaE 0.5 under deuteranopia — the two rings would have been the same colour to a deuteranope, and telling them apart is the one job these hues actually have. White is the only candidate clearing all three of that scheme's marks (worst case 30.4; cyan managed 7.8, lime 8.5). Also records honestly that amber vs the trace green is 4.8 under protanopia, accepted on the same grounds the ember scheme already documents, and drops the border-top when the reading widget is the rail's only child — on a page with fewer than two headings it was a separator with nothing above it. Counts in the module docstring were still 262/206; they are 273/215.
This commit is contained in:
@@ -78,6 +78,15 @@
|
||||
}
|
||||
.reading-now[hidden] { display: none; }
|
||||
|
||||
/* The rule above is a separator from the table of contents. On a page with fewer than two
|
||||
headings there is no table of contents, this is the rail's only child, and the border then
|
||||
hangs over nothing — reads as a stray line rather than a division. */
|
||||
.reading-now:first-child {
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.reading-now__label {
|
||||
margin: 0 0 0.5rem;
|
||||
font-size: 0.72rem;
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
* • `trace` is pre-sorted chronologically and MUST NOT be re-sorted. `t` is date-only and
|
||||
* many highlights share a day, so array order is the only thing carrying the sequence.
|
||||
* • There is no `has_highlight` flag. The signal set is the distinct `trace[].node` values —
|
||||
* 262 highlights over 206 chunks, because one passage can be highlighted more than once.
|
||||
* 273 highlights over 215 chunks, because one passage can be highlighted more than once.
|
||||
* • Each entry carries `h`, the highlight's text_hash. It is the join key
|
||||
* api.c0smere.net/highlights/random returns beside the header quote; see markQuoted().
|
||||
*/
|
||||
|
||||
import * as THREE from 'three';
|
||||
|
||||
@@ -37,11 +37,18 @@
|
||||
--map-trace: var(--link-bright, #46c421);
|
||||
|
||||
/* --- the two standing markers ------------------------------------------------------------
|
||||
Drawn as rings, so colour is not what tells them from the point cloud — outline-versus-dot
|
||||
already does, the same form-carries-the-distinction argument the schemes below rest on.
|
||||
These hues only have to separate the two markers from EACH OTHER, and amber↔fuchsia holds
|
||||
up under protanopia (ΔE 18.7) where amber↔green would not.
|
||||
--map-newest: the most recent highlight. --map-quoted: the passage in the page header. */
|
||||
--map-newest: the most recent highlight. --map-quoted: the passage quoted in the header.
|
||||
Drawn as rings, so colour is not what separates them from the cloud — outline-versus-dot
|
||||
does, the same form-carries-the-distinction argument the schemes below rest on.
|
||||
|
||||
What colour DOES have to carry is telling the two markers apart, and it does that well:
|
||||
amber↔fuchsia is ΔE 52.9 normal, 59.6 protan, 56.5 deutan (colorspacious, severity 100).
|
||||
|
||||
⚠️ Measured honestly: amber↔trace-green is only **ΔE 4.8 under protanopia**. A protanope
|
||||
cannot tell the newest ring from the trace line by hue. Accepted on the same grounds the
|
||||
`ember` scheme below is accepted — nothing here is *encoded* by colour, a closed ring and a
|
||||
polyline are different shapes, and no reader ever has to answer a question by telling those
|
||||
two hues apart. Fuchsia has no such problem (ΔE 61.2 protan against the trace). */
|
||||
--map-newest: #f59e0b;
|
||||
--map-quoted: #e879f9;
|
||||
|
||||
@@ -69,10 +76,14 @@
|
||||
.reading-map--ember {
|
||||
--map-signal: #f59e0b;
|
||||
--map-trace: var(--link-bright, #46c421);
|
||||
/* The default newest-marker amber IS this scheme's signal colour, which would make the ring
|
||||
look like a highlight that had merely grown a hole. Sky blue is the furthest thing from
|
||||
both marks here. */
|
||||
--map-newest: #38bdf8;
|
||||
/* The default newest-marker amber IS this scheme's signal colour here, which would make the
|
||||
ring look like a highlight that had merely grown a hole.
|
||||
⚠️ Sky blue (#38bdf8) was the obvious substitute and is **wrong**: against the fuchsia
|
||||
quoted-marker it measures ΔE 0.5 under deuteranopia — the two rings would be the same
|
||||
colour to a deuteranope, which is the one distinction these hues actually have to carry.
|
||||
White is the only candidate that clears all three of this scheme's marks (worst case
|
||||
ΔE 30.4 across normal/protan/deutan); cyan managed 7.8 and lime 8.5. */
|
||||
--map-newest: #e8eef6;
|
||||
}
|
||||
|
||||
/* --- scheme: frost --------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user