commit ba8d2c971791b08053675c01371963f5cca74d84
parent 7bb1df046879f7b8afe2b2ff353f78f16e9dfe46
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 22:30:32 -0400
homepage: the growth chart stacks its layers in palette order (brand S2 review)
STACK_ORDER was the interleave [0,2,1,4,3], tuned for the old family palette whose first two slots were too close to share an edge. With the new per-base order (blue, green, violet, amber, magenta) that interleave put green against magenta, in the CVD floor band on every base (6.3 light, 7.2 sepia, 6.9 dark). The natural order [0,1,2,3,4] is exactly the adjacency the palette was validated for: every touching pair passes the dataviz validator on all three bases (worst CVD 13.1 / 13.5 / 15.5).
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/homepage/app/components/ArchiveGrowthChart.tsx b/homepage/app/components/ArchiveGrowthChart.tsx
@@ -28,13 +28,16 @@ import {
//
// COLOUR follows the instance, never its rank on this chart: seriesColor(i) with
// i = the site's position in `sites`, the same index the instance cards use.
-// The STACK order is different on purpose: the family palette's first two
-// slots (teal, blue) are too close to share an edge, so the layers are
-// interleaved (0, 2, 1, 4, 3) to keep every touching pair distinguishable.
+// The layers stack in that same order (0..4): the per-base --chart-1..5
+// palette (tokens.css: blue, green, violet, amber, magenta) is validated for
+// ADJACENT pairs in exactly this order, so every touching pair clears the
+// dataviz validator on every base. It used to be interleaved (0, 2, 1, 4, 3)
+// for the old family palette, whose first two slots were too close; with the
+// new order that interleave put green against magenta, in the CVD floor band.
const W = 1000;
const H = 300;
-const STACK_ORDER = [0, 2, 1, 4, 3];
+const STACK_ORDER = [0, 1, 2, 3, 4];
function stackOrder(n: number): number[] {
const head = STACK_ORDER.filter((i) => i < n);