From bfade9640500c1a5bbeff99f9283b823227dee8b Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:04:36 +0200 Subject: [PATCH 01/20] feat(fonts): rebake atlas at distanceRange 16 for outline+glow headroom Co-Authored-By: Claude Opus 4.7 --- public/fonts/cormorant.json | 1168 ++++++++--------- public/fonts/cormorant.png | Bin 85977 -> 187557 bytes src/data/fonts.ts | 29 +- .../buildFontAtlas.distanceRange.test.ts | 12 + 4 files changed, 618 insertions(+), 591 deletions(-) create mode 100644 tests/tools/buildFontAtlas.distanceRange.test.ts diff --git a/public/fonts/cormorant.json b/public/fonts/cormorant.json index 21f40173..355f3ebb 100644 --- a/public/fonts/cormorant.json +++ b/public/fonts/cormorant.json @@ -7,10 +7,10 @@ "id": 181, "index": 0, "char": "µ", - "width": 17, - "height": 46, - "xoffset": 2, - "yoffset": 7, + "width": 29, + "height": 58, + "xoffset": -4, + "yoffset": 1, "xadvance": 21, "chnl": 15, "x": 0, @@ -21,27 +21,27 @@ "id": 87, "index": 230, "char": "W", - "width": 43, - "height": 30, - "xoffset": -2, - "yoffset": 11, + "width": 55, + "height": 42, + "xoffset": -8, + "yoffset": 5, "xadvance": 39, "chnl": 15, "x": 0, - "y": 48, + "y": 60, "page": 0 }, { "id": 47, "index": 2412, "char": "/", - "width": 16, - "height": 42, - "xoffset": -1, - "yoffset": 6, + "width": 28, + "height": 54, + "xoffset": -7, + "yoffset": 0, "xadvance": 15, "chnl": 15, - "x": 19, + "x": 31, "y": 0, "page": 0 }, @@ -49,195 +49,195 @@ "id": 92, "index": 2413, "char": "\\", - "width": 16, - "height": 42, - "xoffset": -1, - "yoffset": 6, + "width": 28, + "height": 54, + "xoffset": -7, + "yoffset": 0, "xadvance": 15, "chnl": 15, - "x": 37, - "y": 0, + "x": 0, + "y": 104, "page": 0 }, { "id": 124, "index": 2516, "char": "|", - "width": 6, - "height": 42, - "xoffset": 1, - "yoffset": 6, + "width": 18, + "height": 54, + "xoffset": -5, + "yoffset": 0, "xadvance": 7, "chnl": 15, "x": 0, - "y": 80, + "y": 160, "page": 0 }, { "id": 106, "index": 574, "char": "j", - "width": 11, - "height": 41, - "xoffset": -2, - "yoffset": 12, + "width": 23, + "height": 53, + "xoffset": -8, + "yoffset": 6, "xadvance": 11, "chnl": 15, "x": 0, - "y": 124, + "y": 216, "page": 0 }, { "id": 74, "index": 70, "char": "J", - "width": 19, - "height": 40, - "xoffset": -4, - "yoffset": 11, + "width": 31, + "height": 52, + "xoffset": -10, + "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 8, - "y": 80, + "x": 20, + "y": 160, "page": 0 }, { "id": 40, "index": 2452, "char": "(", - "width": 14, - "height": 39, - "xoffset": 0, - "yoffset": 7, + "width": 26, + "height": 51, + "xoffset": -6, + "yoffset": 1, "xadvance": 13, "chnl": 15, - "x": 0, - "y": 167, + "x": 30, + "y": 104, "page": 0 }, { "id": 41, "index": 2453, "char": ")", - "width": 14, - "height": 39, - "xoffset": -1, - "yoffset": 7, + "width": 26, + "height": 51, + "xoffset": -7, + "yoffset": 1, "xadvance": 13, "chnl": 15, - "x": 13, - "y": 122, + "x": 0, + "y": 271, "page": 0 }, { "id": 81, "index": 181, "char": "Q", - "width": 33, - "height": 39, - "xoffset": 0, - "yoffset": 10, + "width": 45, + "height": 51, + "xoffset": -6, + "yoffset": 4, "xadvance": 32, "chnl": 15, - "x": 0, - "y": 208, + "x": 25, + "y": 214, "page": 0 }, { "id": 91, "index": 2456, "char": "[", - "width": 11, - "height": 39, - "xoffset": 1, - "yoffset": 7, + "width": 23, + "height": 51, + "xoffset": -5, + "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 16, - "y": 163, + "x": 53, + "y": 157, "page": 0 }, { "id": 93, "index": 2457, "char": "]", - "width": 11, - "height": 39, - "xoffset": -1, - "yoffset": 7, + "width": 23, + "height": 51, + "xoffset": -7, + "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 29, - "y": 80, + "x": 58, + "y": 56, "page": 0 }, { "id": 123, "index": 2454, "char": "{", - "width": 13, - "height": 39, - "xoffset": -1, - "yoffset": 7, + "width": 25, + "height": 51, + "xoffset": -7, + "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 29, - "y": 121, + "x": 61, + "y": 0, "page": 0 }, { "id": 125, "index": 2455, "char": "}", - "width": 13, - "height": 39, - "xoffset": -1, - "yoffset": 7, + "width": 25, + "height": 51, + "xoffset": -7, + "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 42, - "y": 80, + "x": 0, + "y": 324, "page": 0 }, { "id": 77, "index": 86, "char": "M", - "width": 38, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 50, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 36, "chnl": 15, - "x": 45, - "y": 44, + "x": 58, + "y": 109, "page": 0 }, { "id": 98, "index": 526, "char": "b", - "width": 24, - "height": 35, - "xoffset": -2, - "yoffset": 7, + "width": 36, + "height": 47, + "xoffset": -8, + "yoffset": 1, "xadvance": 22, "chnl": 15, - "x": 55, - "y": 0, + "x": 83, + "y": 53, "page": 0 }, { "id": 100, "index": 533, "char": "d", - "width": 24, - "height": 35, - "xoffset": -1, - "yoffset": 7, + "width": 36, + "height": 47, + "xoffset": -7, + "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 81, + "x": 88, "y": 0, "page": 0 }, @@ -245,1120 +245,1120 @@ "id": 109, "index": 592, "char": "m", - "width": 35, - "height": 21, - "xoffset": -2, - "yoffset": 20, + "width": 47, + "height": 33, + "xoffset": -8, + "yoffset": 14, "xadvance": 32, "chnl": 15, - "x": 29, - "y": 162, + "x": 0, + "y": 377, "page": 0 }, { "id": 65, "index": 311, "char": "A", - "width": 34, - "height": 31, - "xoffset": -2, - "yoffset": 10, + "width": 46, + "height": 43, + "xoffset": -8, + "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 44, - "y": 121, + "x": 27, + "y": 324, "page": 0 }, { "id": 102, "index": 541, "char": "f", - "width": 21, - "height": 34, - "xoffset": -1, - "yoffset": 7, + "width": 33, + "height": 46, + "xoffset": -7, + "yoffset": 1, "xadvance": 13, "chnl": 15, - "x": 57, - "y": 76, + "x": 28, + "y": 267, "page": 0 }, { "id": 104, "index": 543, "char": "h", - "width": 25, - "height": 34, - "xoffset": -2, - "yoffset": 7, + "width": 37, + "height": 46, + "xoffset": -8, + "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 0, - "y": 249, + "x": 63, + "y": 267, "page": 0 }, { "id": 107, "index": 578, "char": "k", - "width": 25, - "height": 34, - "xoffset": -2, - "yoffset": 7, + "width": 37, + "height": 46, + "xoffset": -8, + "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 0, - "y": 285, + "x": 72, + "y": 210, "page": 0 }, { "id": 108, "index": 583, "char": "l", - "width": 13, - "height": 34, - "xoffset": -1, - "yoffset": 7, + "width": 25, + "height": 46, + "xoffset": -7, + "yoffset": 1, "xadvance": 11, "chnl": 15, - "x": 0, - "y": 321, + "x": 78, + "y": 153, "page": 0 }, { "id": 119, "index": 747, "char": "w", - "width": 34, - "height": 20, - "xoffset": -3, - "yoffset": 21, + "width": 46, + "height": 32, + "xoffset": -9, + "yoffset": 15, "xadvance": 29, "chnl": 15, - "x": 29, - "y": 185, + "x": 105, + "y": 153, "page": 0 }, { "id": 51, "index": 2269, "char": "3", - "width": 18, - "height": 33, - "xoffset": -1, - "yoffset": 20, + "width": 30, + "height": 45, + "xoffset": -7, + "yoffset": 14, "xadvance": 16, "chnl": 15, - "x": 0, - "y": 357, + "x": 110, + "y": 102, "page": 0 }, { "id": 53, "index": 2271, "char": "5", - "width": 17, - "height": 33, - "xoffset": 0, - "yoffset": 19, + "width": 29, + "height": 45, + "xoffset": -6, + "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 15, - "y": 321, + "x": 121, + "y": 49, "page": 0 }, { "id": 55, "index": 2273, "char": "7", - "width": 20, - "height": 33, - "xoffset": -1, - "yoffset": 20, + "width": 32, + "height": 45, + "xoffset": -7, + "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 27, - "y": 249, + "x": 126, + "y": 0, "page": 0 }, { "id": 72, "index": 43, "char": "H", - "width": 33, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 45, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 32, "chnl": 15, - "x": 27, - "y": 284, + "x": 142, + "y": 96, "page": 0 }, { "id": 78, "index": 98, "char": "N", - "width": 33, - "height": 31, - "xoffset": -1, - "yoffset": 11, + "width": 45, + "height": 43, + "xoffset": -7, + "yoffset": 5, "xadvance": 31, "chnl": 15, - "x": 35, - "y": 207, + "x": 152, + "y": 47, "page": 0 }, { "id": 36, "index": 2554, "char": "$", - "width": 18, - "height": 32, - "xoffset": 0, - "yoffset": 13, + "width": 30, + "height": 44, + "xoffset": -6, + "yoffset": 7, "xadvance": 18, "chnl": 15, - "x": 49, - "y": 240, + "x": 160, + "y": 0, "page": 0 }, { "id": 38, "index": 2506, "char": "&", - "width": 31, - "height": 32, - "xoffset": 1, - "yoffset": 10, + "width": 43, + "height": 44, + "xoffset": -5, + "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 66, - "y": 154, + "x": 192, + "y": 0, "page": 0 }, { "id": 54, "index": 2272, "char": "6", - "width": 21, - "height": 32, - "xoffset": 0, - "yoffset": 9, + "width": 33, + "height": 44, + "xoffset": -6, + "yoffset": 3, "xadvance": 20, "chnl": 15, - "x": 80, - "y": 76, + "x": 0, + "y": 412, "page": 0 }, { "id": 57, "index": 2275, "char": "9", - "width": 21, - "height": 32, - "xoffset": -1, - "yoffset": 20, + "width": 33, + "height": 44, + "xoffset": -7, + "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 85, - "y": 37, + "x": 0, + "y": 458, "page": 0 }, { "id": 79, "index": 117, "char": "O", - "width": 32, - "height": 31, - "xoffset": 0, - "yoffset": 10, + "width": 44, + "height": 43, + "xoffset": -6, + "yoffset": 4, "xadvance": 32, "chnl": 15, - "x": 107, - "y": 0, + "x": 35, + "y": 412, "page": 0 }, { "id": 82, "index": 350, "char": "R", - "width": 32, - "height": 30, - "xoffset": 0, - "yoffset": 11, + "width": 44, + "height": 42, + "xoffset": -6, + "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 80, - "y": 110, + "x": 35, + "y": 457, "page": 0 }, { "id": 85, "index": 199, "char": "U", - "width": 32, - "height": 31, - "xoffset": -1, - "yoffset": 11, + "width": 44, + "height": 43, + "xoffset": -7, + "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 103, - "y": 71, + "x": 75, + "y": 315, "page": 0 }, { "id": 86, "index": 229, "char": "V", - "width": 32, - "height": 30, - "xoffset": -2, - "yoffset": 11, + "width": 44, + "height": 42, + "xoffset": -8, + "yoffset": 5, "xadvance": 28, "chnl": 15, - "x": 108, - "y": 33, + "x": 75, + "y": 360, "page": 0 }, { "id": 90, "index": 246, "char": "Z", - "width": 25, - "height": 32, - "xoffset": 0, - "yoffset": 9, + "width": 37, + "height": 44, + "xoffset": -6, + "yoffset": 3, "xadvance": 25, "chnl": 15, - "x": 0, - "y": 392, + "x": 102, + "y": 258, "page": 0 }, { "id": 103, "index": 908, "char": "g", - "width": 21, - "height": 32, - "xoffset": -1, - "yoffset": 20, + "width": 33, + "height": 44, + "xoffset": -7, + "yoffset": 14, "xadvance": 19, "chnl": 15, - "x": 20, - "y": 356, + "x": 111, + "y": 187, "page": 0 }, { "id": 112, "index": 686, "char": "p", - "width": 24, - "height": 32, - "xoffset": -2, - "yoffset": 20, + "width": 36, + "height": 44, + "xoffset": -8, + "yoffset": 14, "xadvance": 22, "chnl": 15, - "x": 34, - "y": 316, + "x": 81, + "y": 404, "page": 0 }, { "id": 113, "index": 688, "char": "q", - "width": 23, - "height": 32, - "xoffset": -1, - "yoffset": 20, + "width": 35, + "height": 44, + "xoffset": -7, + "yoffset": 14, "xadvance": 21, "chnl": 15, - "x": 0, - "y": 426, + "x": 81, + "y": 450, "page": 0 }, { "id": 121, "index": 753, "char": "y", - "width": 24, - "height": 32, - "xoffset": -4, - "yoffset": 21, + "width": 36, + "height": 44, + "xoffset": -10, + "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 0, - "y": 460, + "x": 118, + "y": 450, "page": 0 }, { "id": 33, "index": 2401, "char": "!", - "width": 9, - "height": 31, - "xoffset": 1, - "yoffset": 11, + "width": 21, + "height": 43, + "xoffset": -5, + "yoffset": 5, "xadvance": 11, "chnl": 15, - "x": 141, - "y": 0, + "x": 119, + "y": 404, "page": 0 }, { "id": 63, "index": 2403, "char": "?", - "width": 16, - "height": 31, - "xoffset": -1, - "yoffset": 11, + "width": 28, + "height": 43, + "xoffset": -7, + "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 25, - "y": 426, + "x": 121, + "y": 304, "page": 0 }, { "id": 66, "index": 9, "char": "B", - "width": 25, - "height": 31, - "xoffset": 0, - "yoffset": 11, + "width": 37, + "height": 43, + "xoffset": -6, + "yoffset": 5, "xadvance": 24, "chnl": 15, - "x": 27, - "y": 390, + "x": 121, + "y": 349, "page": 0 }, { "id": 67, "index": 338, "char": "C", - "width": 29, - "height": 31, - "xoffset": 0, - "yoffset": 10, + "width": 41, + "height": 43, + "xoffset": -6, + "yoffset": 4, "xadvance": 29, "chnl": 15, - "x": 43, - "y": 350, + "x": 142, + "y": 394, "page": 0 }, { "id": 68, "index": 10, "char": "D", - "width": 30, - "height": 31, - "xoffset": -1, - "yoffset": 11, + "width": 42, + "height": 43, + "xoffset": -7, + "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 60, - "y": 316, + "x": 141, + "y": 233, "page": 0 }, { "id": 71, "index": 345, "char": "G", - "width": 31, - "height": 31, - "xoffset": 0, - "yoffset": 10, + "width": 43, + "height": 43, + "xoffset": -6, + "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 62, - "y": 274, + "x": 146, + "y": 187, "page": 0 }, { "id": 83, "index": 182, "char": "S", - "width": 20, - "height": 31, - "xoffset": 1, - "yoffset": 10, + "width": 32, + "height": 43, + "xoffset": -5, + "yoffset": 4, "xadvance": 21, "chnl": 15, - "x": 69, - "y": 240, + "x": 153, + "y": 140, "page": 0 }, { "id": 84, "index": 192, "char": "T", - "width": 28, - "height": 31, - "xoffset": 0, - "yoffset": 10, + "width": 40, + "height": 43, + "xoffset": -6, + "yoffset": 4, "xadvance": 27, "chnl": 15, - "x": 70, - "y": 188, + "x": 187, + "y": 140, "page": 0 }, { "id": 88, "index": 235, "char": "X", - "width": 31, - "height": 30, - "xoffset": -2, - "yoffset": 11, + "width": 43, + "height": 42, + "xoffset": -8, + "yoffset": 5, "xadvance": 27, "chnl": 15, - "x": 99, - "y": 142, + "x": 189, + "y": 92, "page": 0 }, { "id": 69, "index": 16, "char": "E", - "width": 23, - "height": 30, - "xoffset": 0, - "yoffset": 11, + "width": 35, + "height": 42, + "xoffset": -6, + "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 114, - "y": 104, + "x": 199, + "y": 46, "page": 0 }, { "id": 70, "index": 40, "char": "F", - "width": 22, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 34, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 22, "chnl": 15, - "x": 137, - "y": 65, + "x": 151, + "y": 278, "page": 0 }, { "id": 73, "index": 48, "char": "I", - "width": 15, - "height": 30, - "xoffset": 0, - "yoffset": 11, + "width": 27, + "height": 42, + "xoffset": -6, + "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 142, - "y": 33, + "x": 185, + "y": 232, "page": 0 }, { "id": 75, "index": 73, "char": "K", - "width": 30, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 42, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 27, "chnl": 15, - "x": 152, - "y": 0, + "x": 191, + "y": 185, "page": 0 }, { "id": 76, "index": 77, "char": "L", - "width": 25, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 37, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 159, - "y": 32, + "x": 229, + "y": 136, "page": 0 }, { "id": 80, "index": 179, "char": "P", - "width": 24, - "height": 30, - "xoffset": -1, - "yoffset": 11, + "width": 36, + "height": 42, + "xoffset": -7, + "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 184, - "y": 0, + "x": 234, + "y": 90, "page": 0 }, { "id": 89, "index": 236, "char": "Y", - "width": 30, - "height": 30, - "xoffset": -2, - "yoffset": 11, + "width": 42, + "height": 42, + "xoffset": -8, + "yoffset": 5, "xadvance": 26, "chnl": 15, - "x": 91, - "y": 221, + "x": 236, + "y": 46, "page": 0 }, { "id": 52, "index": 2270, "char": "4", - "width": 21, - "height": 29, - "xoffset": -1, - "yoffset": 20, + "width": 33, + "height": 41, + "xoffset": -7, + "yoffset": 14, "xadvance": 19, "chnl": 15, - "x": 100, - "y": 174, + "x": 237, + "y": 0, "page": 0 }, { "id": 56, "index": 2274, "char": "8", - "width": 22, - "height": 29, - "xoffset": 0, - "yoffset": 13, + "width": 34, + "height": 41, + "xoffset": -6, + "yoffset": 7, "xadvance": 21, "chnl": 15, - "x": 26, - "y": 459, + "x": 272, + "y": 0, "page": 0 }, { "id": 64, "index": 2505, "char": "@", - "width": 29, - "height": 29, - "xoffset": 1, - "yoffset": 16, + "width": 41, + "height": 41, + "xoffset": -5, + "yoffset": 10, "xadvance": 30, "chnl": 15, - "x": 43, - "y": 423, + "x": 160, + "y": 322, "page": 0 }, { "id": 105, "index": 548, "char": "i", - "width": 13, - "height": 29, - "xoffset": -1, - "yoffset": 12, + "width": 25, + "height": 41, + "xoffset": -7, + "yoffset": 6, "xadvance": 11, "chnl": 15, - "x": 54, - "y": 383, + "x": 187, + "y": 276, "page": 0 }, { "id": 35, "index": 2411, "char": "#", - "width": 21, - "height": 28, - "xoffset": 0, - "yoffset": 17, + "width": 33, + "height": 40, + "xoffset": -6, + "yoffset": 11, "xadvance": 22, "chnl": 15, - "x": 69, - "y": 383, + "x": 156, + "y": 439, "page": 0 }, { "id": 37, "index": 2612, "char": "%", - "width": 26, - "height": 28, - "xoffset": -1, - "yoffset": 13, + "width": 38, + "height": 40, + "xoffset": -7, + "yoffset": 7, "xadvance": 24, "chnl": 15, - "x": 74, - "y": 349, + "x": 185, + "y": 365, "page": 0 }, { "id": 59, "index": 2399, "char": ";", - "width": 9, - "height": 28, - "xoffset": 0, - "yoffset": 21, + "width": 21, + "height": 40, + "xoffset": -6, + "yoffset": 15, "xadvance": 10, "chnl": 15, - "x": 92, - "y": 307, + "x": 49, + "y": 369, "page": 0 }, { "id": 110, "index": 604, "char": "n", - "width": 25, - "height": 21, - "xoffset": -2, - "yoffset": 20, + "width": 37, + "height": 33, + "xoffset": -8, + "yoffset": 14, "xadvance": 22, "chnl": 15, - "x": 26, - "y": 490, + "x": 203, + "y": 319, "page": 0 }, { "id": 117, "index": 716, "char": "u", - "width": 25, - "height": 21, - "xoffset": -2, - "yoffset": 20, + "width": 37, + "height": 33, + "xoffset": -8, + "yoffset": 14, "xadvance": 21, "chnl": 15, - "x": 50, - "y": 454, + "x": 214, + "y": 229, "page": 0 }, { "id": 116, "index": 707, "char": "t", - "width": 17, - "height": 24, - "xoffset": -1, - "yoffset": 18, + "width": 29, + "height": 36, + "xoffset": -7, + "yoffset": 12, "xadvance": 14, "chnl": 15, - "x": 53, - "y": 477, + "x": 235, + "y": 180, "page": 0 }, { "id": 118, "index": 746, "char": "v", - "width": 23, - "height": 20, - "xoffset": -3, - "yoffset": 21, + "width": 35, + "height": 32, + "xoffset": -9, + "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 72, - "y": 477, + "x": 214, + "y": 264, "page": 0 }, { "id": 48, "index": 2267, "char": "0", - "width": 22, - "height": 21, - "xoffset": -1, - "yoffset": 20, + "width": 34, + "height": 33, + "xoffset": -7, + "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 74, - "y": 413, + "x": 191, + "y": 407, "page": 0 }, { "id": 111, "index": 624, "char": "o", - "width": 22, - "height": 21, - "xoffset": -1, - "yoffset": 20, + "width": 34, + "height": 33, + "xoffset": -7, + "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 92, - "y": 379, + "x": 225, + "y": 354, "page": 0 }, { "id": 120, "index": 752, "char": "x", - "width": 22, - "height": 20, - "xoffset": -2, - "yoffset": 21, + "width": 34, + "height": 32, + "xoffset": -8, + "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 77, - "y": 436, + "x": 242, + "y": 298, "page": 0 }, { "id": 122, "index": 763, "char": "z", - "width": 18, - "height": 22, - "xoffset": -1, - "yoffset": 19, + "width": 30, + "height": 34, + "xoffset": -7, + "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 98, - "y": 402, + "x": 191, + "y": 442, "page": 0 }, { "id": 177, "index": 2600, "char": "±", - "width": 18, - "height": 22, - "xoffset": -1, - "yoffset": 19, + "width": 30, + "height": 34, + "xoffset": -7, + "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 102, - "y": 337, + "x": 191, + "y": 478, "page": 0 }, { "id": 50, "index": 2268, "char": "2", - "width": 18, - "height": 21, - "xoffset": -1, - "yoffset": 20, + "width": 30, + "height": 33, + "xoffset": -7, + "yoffset": 14, "xadvance": 17, "chnl": 15, - "x": 116, - "y": 361, + "x": 223, + "y": 442, "page": 0 }, { "id": 61, "index": 2594, "char": "=", - "width": 21, - "height": 12, - "xoffset": -1, - "yoffset": 25, + "width": 33, + "height": 24, + "xoffset": -7, + "yoffset": 19, "xadvance": 20, "chnl": 15, - "x": 72, - "y": 499, + "x": 156, + "y": 481, "page": 0 }, { "id": 97, "index": 855, "char": "a", - "width": 20, - "height": 21, - "xoffset": 0, - "yoffset": 20, + "width": 32, + "height": 33, + "xoffset": -6, + "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 95, - "y": 253, + "x": 223, + "y": 477, "page": 0 }, { "id": 99, "index": 527, "char": "c", - "width": 19, - "height": 21, - "xoffset": -1, - "yoffset": 20, + "width": 31, + "height": 33, + "xoffset": -7, + "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 95, - "y": 276, + "x": 227, + "y": 389, "page": 0 }, { "id": 101, "index": 885, "char": "e", - "width": 19, - "height": 21, - "xoffset": -1, - "yoffset": 20, + "width": 31, + "height": 33, + "xoffset": -7, + "yoffset": 14, "xadvance": 17, "chnl": 15, - "x": 103, - "y": 299, + "x": 255, + "y": 424, "page": 0 }, { "id": 114, "index": 689, "char": "r", - "width": 19, - "height": 21, - "xoffset": -2, - "yoffset": 20, + "width": 31, + "height": 33, + "xoffset": -8, + "yoffset": 14, "xadvance": 16, "chnl": 15, - "x": 116, - "y": 276, + "x": 260, + "y": 389, "page": 0 }, { "id": 115, "index": 698, "char": "s", - "width": 15, - "height": 21, - "xoffset": 0, - "yoffset": 20, + "width": 27, + "height": 33, + "xoffset": -6, + "yoffset": 14, "xadvance": 14, "chnl": 15, - "x": 117, - "y": 253, + "x": 257, + "y": 459, "page": 0 }, { "id": 42, "index": 2407, "char": "*", - "width": 20, - "height": 20, - "xoffset": 0, - "yoffset": 8, + "width": 32, + "height": 32, + "xoffset": -6, + "yoffset": 2, "xadvance": 19, "chnl": 15, - "x": 122, - "y": 322, + "x": 251, + "y": 264, "page": 0 }, { "id": 49, "index": 2297, "char": "1", - "width": 14, - "height": 20, - "xoffset": 0, - "yoffset": 21, + "width": 26, + "height": 32, + "xoffset": -6, + "yoffset": 15, "xadvance": 14, "chnl": 15, - "x": 124, - "y": 299, + "x": 253, + "y": 218, "page": 0 }, { "id": 58, "index": 2398, "char": ":", - "width": 9, - "height": 20, - "xoffset": 0, - "yoffset": 21, + "width": 21, + "height": 32, + "xoffset": -6, + "yoffset": 15, "xadvance": 9, "chnl": 15, - "x": 97, - "y": 458, + "x": 266, + "y": 180, "page": 0 }, { "id": 60, "index": 2597, "char": "<", - "width": 19, - "height": 18, - "xoffset": -1, - "yoffset": 22, + "width": 31, + "height": 30, + "xoffset": -7, + "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 0, - "y": 494, + "x": 268, + "y": 134, "page": 0 }, { "id": 62, "index": 2596, "char": ">", - "width": 19, - "height": 18, - "xoffset": -1, - "yoffset": 22, + "width": 31, + "height": 30, + "xoffset": -7, + "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 101, - "y": 426, + "x": 272, + "y": 90, "page": 0 }, { "id": 126, "index": 2602, "char": "~", - "width": 19, - "height": 8, - "xoffset": 0, - "yoffset": 27, + "width": 31, + "height": 20, + "xoffset": -6, + "yoffset": 21, "xadvance": 19, "chnl": 15, - "x": 70, - "y": 221, + "x": 242, + "y": 332, "page": 0 }, { "id": 43, "index": 2590, "char": "+", - "width": 18, - "height": 18, - "xoffset": -1, - "yoffset": 22, + "width": 30, + "height": 30, + "xoffset": -7, + "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 97, - "y": 480, + "x": 261, + "y": 354, "page": 0 }, { "id": 95, "index": 2443, "char": "_", - "width": 18, - "height": 6, - "xoffset": -1, - "yoffset": 38, + "width": 30, + "height": 18, + "xoffset": -7, + "yoffset": 32, "xadvance": 17, "chnl": 15, - "x": 44, - "y": 154, + "x": 257, + "y": 494, "page": 0 }, { "id": 34, "index": 2482, "char": "\"", - "width": 14, - "height": 16, - "xoffset": -1, - "yoffset": 10, + "width": 26, + "height": 28, + "xoffset": -7, + "yoffset": 4, "xadvance": 12, "chnl": 15, - "x": 116, - "y": 384, + "x": 286, + "y": 459, "page": 0 }, { "id": 39, "index": 2483, "char": "'", - "width": 8, - "height": 16, - "xoffset": -1, - "yoffset": 10, + "width": 20, + "height": 28, + "xoffset": -7, + "yoffset": 4, "xadvance": 6, "chnl": 15, - "x": 102, - "y": 361, + "x": 288, + "y": 424, "page": 0 }, { "id": 44, "index": 2397, "char": ",", - "width": 9, - "height": 16, - "xoffset": 0, - "yoffset": 33, + "width": 21, + "height": 28, + "xoffset": -6, + "yoffset": 27, "xadvance": 9, "chnl": 15, - "x": 77, - "y": 458, + "x": 280, + "y": 43, "page": 0 }, { "id": 94, "index": 2604, "char": "^", - "width": 16, - "height": 15, - "xoffset": 0, - "yoffset": 10, + "width": 28, + "height": 27, + "xoffset": -6, + "yoffset": 4, "xadvance": 16, "chnl": 15, - "x": 122, - "y": 344, + "x": 303, + "y": 43, "page": 0 }, { "id": 176, "index": 2513, "char": "°", - "width": 16, - "height": 15, - "xoffset": -1, - "yoffset": 11, + "width": 28, + "height": 27, + "xoffset": -7, + "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 118, - "y": 402, + "x": 308, + "y": 0, "page": 0 }, { "id": 45, "index": 2435, "char": "-", - "width": 15, - "height": 8, - "xoffset": -1, - "yoffset": 26, + "width": 27, + "height": 20, + "xoffset": -7, + "yoffset": 20, "xadvance": 14, "chnl": 15, - "x": 53, - "y": 503, + "x": 275, + "y": 332, "page": 0 }, { "id": 96, "index": 2788, "char": "`", - "width": 9, - "height": 15, - "xoffset": -1, - "yoffset": 6, + "width": 21, + "height": 27, + "xoffset": -7, + "yoffset": 0, "xadvance": 9, "chnl": 15, - "x": 132, - "y": 384, + "x": 160, + "y": 365, "page": 0 }, { "id": 46, "index": 2396, "char": ".", - "width": 9, - "height": 8, - "xoffset": 0, - "yoffset": 33, + "width": 21, + "height": 20, + "xoffset": -6, + "yoffset": 27, "xadvance": 9, "chnl": 15, - "x": 49, - "y": 274, + "x": 111, + "y": 233, "page": 0 }, { @@ -1367,12 +1367,12 @@ "char": " ", "width": 0, "height": 0, - "xoffset": -2, - "yoffset": 37, + "xoffset": -8, + "yoffset": 31, "xadvance": 10, "chnl": 15, - "x": 8, - "y": 122, + "x": 20, + "y": 214, "page": 0 } ], @@ -1486,10 +1486,10 @@ "smooth": 1, "aa": 1, "padding": [ - 2, - 2, - 2, - 2 + 8, + 8, + 8, + 8 ], "spacing": [ 0, @@ -1511,7 +1511,7 @@ }, "distanceField": { "fieldType": "msdf", - "distanceRange": 4 + "distanceRange": 16 }, "kernings": [ { diff --git a/public/fonts/cormorant.png b/public/fonts/cormorant.png index 43f364d548b40c4512911145e03be6b519de619e..8c1a86ab18e12a89432ebca1c7b9b7e3a6ddd786 100644 GIT binary patch literal 187557 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%0Aa&u3 z?%+XK#@tt7>-2C?)f>1W6eUfcK)_`kR3HyBbhQdJ3hoqe6}(a#VkOLmjE|5r3D>MB zrt#s<*Ff(vEz-*L^kdPNDZu-ILVy(Aif=rQ{0{W!_tZ-eyMx@&PM7)o57%b7wRpBr z{O(1Y6SGEKK*Z?ufh5}ycssn%BOccx3 z($r(5roi3qK!q-KjcP%hnQ*Jox;0h{!yd&1xDnfp;9C7Xxmsb|6D z$&y*=%+t6Kl}PS(hm`$HuI~lb%cZ@jv7~;3rt3}RNc8}1r12&i+)#+~QDvuE#Su_f zaQ1iaYZ7m1YvBizLjCXbFmo8`v{p z*;8jk=9CGVp{}M?KWM(FaVd(J>5nxP(1In!*ix7wM}$a+bcb|YtN+O+ z)ux^=vKU+AQSd7m%8b9a`lc6JJjwvLC~~qEvltQ>1{pMo@B77X`U;;6U8N7~;j8}~ z%;787@yugW+SCvd5oqlq${MSN0-h0N{XNHU-W;KOG$G9ng7b3r&V7Nv>+QyYNdc4| zWN6Od2SGME>njBs{c-;5Gih*kfiu9iIT^yp-ZD+wV`68O0I96+ECH1E_TM5LJ?UC< zUYbb(70$}B^sE5~ihN3ZdVD&72|?)^6gb6SW5Jc*=O>SQf(3kFhM7IPS+E|!gdO)E z`yZf1AH{*$vRSjFJzUFA2&Zfqi(UuKf`6Uos}KOxk68r6$4ejEAuod<$4=Ts=RVEl zIvsXpN2o^(Qjl^;F&dJ`rpkBf4myS1H*c9=VrQ>C)$CTsz+v_c(YVdF|H&8pM8pk* zK`Edaz`6S%{nbDp=2z`#c8DAMu5w5o06jlaeKk&Q5NjI0W{ZN*mJUXb@Zki2HZA=W zn@mlV0MqT&)<$hRcs8ZClPAT&GzLZw-`IZw;Ax?5m@X4AEH`vWG7@S6HcZ9GNQ0

id_-7bPL%-~5B(yVj)T33EHNIZ+doB49Cd-}GBBP=e$1a3}V) zID#FSHI(|=d_R`>MBUb8et&Shb$m^A|LXpyZ8ZbPW)P@X&>3S8&`mAD=5Oa?^}$l< z(tZ^1TdvkxKzYNwxw*l;137^U&tF}6&Z=Jy_dA*AtP)(s1B_Vi$7jS8Ixwbc+}m|=_TMQHOj?aS)()=yK8(>Z&a zO^Hp(S<_il=!xjJyrGx!)`%hZ^IzXn6NQ;t51`Gz#yK_!Uv{Q{4|A^duK6Tb< zM4>rApxU&*pZyrnfU14#H<0Hs`;*~0`B)1^VL&3iy3>l4mlc7<_6w3@jP%T;6`D+ zA4sj=!8%LO6RHYm8fpOxW;gZ!%=eMsZa4#00(2*YSb5$AHBT1LJ@(dZ$VQ^&GYVbL zge4S0`LYGHV3s&_d3M863sfI+z{gk5Qt#jIh4szZZO$W_OnQS2Yc)*`#Z|;lc++me z`;dLQ8_r3(Q$8fAZ&IzB8K&h8MMX~IRnEjz8&wIF&w&PNHDyMzL)2{}auf)U=J~a* zZmqvF-x>e^*!mK9DBG|9&(o?WS;`h7DpK~W*(xL=A^VnnCuCpx71^VZeR(1j%?Q~U z$(C%%7Gude_Q7E6{^uU`{NDHfdGG5sGfz*;+~+#yTxb2BB}l8TUAu}|x^@n~J6Pnj zamI7*_>2@RFbLJ>X2qgoqX`BM`i0y;i>3?j-4HVoco$M&`dt#GOs+0zpKgOK1fdD4 z3v8YO$EsbK5erU|B_-#{=VwpsFaDrc++x?o=xiJ^=C4Wceac5>d<65EzLhVV5U#PE zadv-V$*=cyY)B`k>sAnzuOOs=lUOfWt*64_dg3XSZ&c)&!(AOmk8tZywKb=#-h*=Y zrqScN+`PPn_QiVK|0P`Ro9ny{7p%ZL^Q}uUYE^_9kQfjnJugY?wo=Up-8r04@tCiD zK)?ebKty1{5Tz+a;bxe{P@NE?zH@&&O-gD3-8a7}UTIJWrPUVZX7jc@kr(vi&NVRf zYa7$L-a~}qj?>7mXD3%!H+Wl~HuOENYAVW?xH!C3JEd%E_&S=o$<{Ci!m?Uf08hf* zV%z>UwrBj6B#R1;NtJLJA1B4(S;8=mg<8c z2ON=ke#1Hmd@Krx0_5KfZFvrra2CtWDHt|{HQ?MIziEf*LrS^ktZ%{X78N?kTe#f?u5H2Ep2VpG^B~&bh%T=PoK(HNJYvWTB}uqCta5P zv2c|73g*zeLI8QgoE*w{?}P%_kguWqkjI*fT6$XdoTi_DZ(7;`3(_GBSS(x&ZO1(f zhE#w|VDmy?=L*}AZ46LvPPo#jXwJ=}+h|4XW z5R2aSTl2gK?t(vO<1b+QpCa&lY)JVS-_!(HX6n{$s(MtU6Jth*Tt*IxIHkM_v2cp6 zz*Ey4VO2rUZr1%{(qfX6O@4}?wR!0gmeYlYcOt9hG`kPwu1bTBv19ZTt!v*1V7M6Y z+A{%hWqO^Po<0kUd^&?WbcpVQPFv!O0y_r}W<{mI&nbg=j0TOA*UEf<45w-uMDc;T zBXr2W=9e2eXX0h_yrto%2hr`)k@VJ?h7?c*(&DO0CWg9ne2xDIvubvy^!RBL4gI{; zfl<9Rf!rxQvE5YNga`T>tdwrL54r^=hT(kkl-#+3#b90HTubmE>O%zA_0`zPs*@&N zKI@+Iw=TC|gXF)3c1Z?vgAkn88u7yzzquHk)ySh?OTznfdp=Jl`ki>iJ9-x40$;Y4 zU+;JeHo6wqB?0u5vbU-&BrBR1O1ve-C~D+uOH(tcIRZn5IbmB2QzO^Sb18h^wZ8b~6f?&)c0uwDDj%q4H;8@4|E-PcfNwALcurb}7N z>FO=O3Fee4oTNH*eC>$*DL5FyDOjq~rb}XLAoiv%s8u&j+4~(DJo0xTktd~E>`|^& z0`r?Aa;@a5{;NLj9D8H;OLR>LQy&n! z;eeqjo}Aq;cG`mDu}S|`cT&}p8lZKrW_zBSN}L6)nV^+R8fXM{EuxQ0&GxAyGQBCQ zi=2Gmf+Dv_a(Fm|f&P9*`CI&xlktV{)KHL&Tm~Psz#t-V^C?+PDM`7`<2hYFD_bT< zXF_pSXox(ztsSU|)pq9tFR?R8wd6%gzXvZp8oc>(10C&KOV=m|msmt45tRWNBjo7S zLh-!enl<^ogvO@b(>_VEP*ZO>O4EM=rl-V=bXTLICC8Snl2QvwR z#dDfo{v`{QESa#o2gg>ok`geB`c*jcRu=8II`BFMMVjPN^0ac|r#;OC2 zF61VYPRNde=LS4W9c}~hRPXurg;>Ij%lovnGNW>%evw;CruRmG*8nUFI8CoPar_@) zK6O*Tr2$kZFYmE7CKryt!<2*0bv}d3HyT1giLjp*F?SUyc5e{`zCMPfL)k?~8^1(c zEC&%?cjsk9mw*f*y1I(&Q+K`a^*)W}HurL!eC-+UOPBsA5|B)1euxA7jW|}Pt9__5 z!6?eC;GQjf$Mt?L*C83`-O*u7W{bLlSV^S4$iB#P63l)G+RosfrH870?JvZ~rSKdO z|B}_+_PCUVyIS#vx?xr3Ud`(k+Hvd%qi4|uL#Ro{V#WcF8T~wZe8bK&s?^`_#MRSU zt{hFT;PBIpW{6?XcI7bp;H`RR@0IZG!{j#GVx1$k{3-V!9U`N*lxZ(QQWfCy{Vw&8 zhgy30B|7=8Znxk%Q|cpi-`(Vw)xcuT>#>Z1|AjQ}kO%?lTUaG}gA=lv5?wYQ>MAI( zB9nuXQp-E7U1#7VMKpN0xHtu$o*88Qz~Z!S3y01aC>OaC>R>jqIe*Rc!)39h&*$)< z$|I32(6ay8)<5JZi~nF3`@>W>+QQ3BH{_Lo?`fn8C0ri9L*)>Y(+4e9<*w4Bwc($6 zhP!pLEhR^ZW7qy?dq6l#cT(VXdkye6is6MC+;KF+x9UdR@;SF@4kxX=F>GQtTNwBTQJe4 zxrP|A53))zQ=dm!|Jfe`Z@9fnRf)=81WHW7JpfWaHiR;Tp&|aA^R-c+Hb@5`#6FN` zIzoCZ$ZcqAR}Ps9sA#^v$Vx8T1v}vjKY(&c2i~TxyW49Ecw&W{OP!;?LJ97(Z19cSpJF@dvxGW;6HK2qe{=3W_$7{s|h^q9JVr?Q zc6clCaPWwPVqrfwo!Y7&^p{tlbMNJ_vP1VyA9tz!T(V@LWD#=_;ESo4Mz%k)g-23+ z_Am*v^4ezWUTstf>C|_DhKgb=(mI3)C~_k_tF28>Z%BVcvlx}f_yL~<<0Lxia*>~>zR2h zmK&KsiA21gDBRgO@oIKzLxeCczQ}_v&bi>BM|ok$$`5_9E#`ymFyZ zzkSimb-#{iTXu33-#nTgEnCuL7%CsB8`;m|F=@=R;u<$%6}7xH+oP)H?elBN=Mq_( zWd8zKf1w%pYbuD6c1F?^Q1F~(FmDlmH%>p!C$59L!#+GYrO;uhUg|nuP9bd`R6)Z| z2vJhjoFeJ-%Apv}jx;H+Xp8^3iE^E`AYW~5AW^@|$ClLkgjKp8XsSs{%Bl6qcUpD{ z)ln(yPdW{y?`}>uhtwS`vbvqht_`c;&LI7BN@o{|T!C+jgQ-0IIRIVdNMyivDiV#> zD<9!{4)Gy?q)CUEB=d1-iGVY+0ExY&w9YW4y@KS&aJ3mZ->rvONj<{SwU%20_wNJR z-1p9cjS3Sa8Cj$l4e0=iVD9bnVRYfEIWep9D?6g;3+`~Pp+u@5FIaC46nl1=c5D1d zOB?Ka9Xp+heQ~gw0w9hv{>vY?Op-V7-cYd_tii5^FDwLPe}O$b>B_Np%C{d>c?>D` zjO5;Yv90|)RzyU?K;BY@T-`@JNN+8orQ0guq5{K`P28~TDJxHhF&FNzT5h{((|B1< z=9w}WRd2mlWZsb7c{6hS=F)Gy1yX~^9YfO8BOO%6^wbo+a!H{VZ%5i}%-!;zEslA~ zgN449UY6pP;uiYD+-{vd#4_o6sibUBFOc=go?&{%$^+3&NKY2dkBz+$<>iHh!*7!{ z{#JUoYyBT>1u#DG^-vsQOQmBapzwgsj44m-b^evA8;W}i9 zccm_DngP(qF@df8^&u-)?;`XbG>y@oLhymk<=|Z)!-gpI`-Q%TCKDE%wf9=sjfxC`CEj%q!E!VJP98S9JkZn)xIZfx9 zI51$3gbpt%cKM#(5p${vxu(ZW7fy=OcFeyJ6-gG$gp~p9vbUY(fJDk&@fcF!`|tYq zu9;OZ%?=DXsL64AWzNZQ=$YPO;+=@Ju_Eg92(ecF7YDo9#2+`B$6qB8tRB>2q0?s) zVN2e4{s`1yLg!Ix(?MzjbXXnV<>w65VycY~4R_CX+}ZnDLtIS7G3>k-M`1aNr}k~z zn9gxtzn3EBJho~WG`h%320gimUj!HeccK9p6hiH@Z8e0(J(=dmrCTl`*G5I*Z%chfVo$V4ompt zbeuYOR!DIeDim2rQ^Iz|c1ii2h^$g7LiUDQoOY(|UC=&V;hFLC8M+{2z`sd;~Rpg`d|qj3qJ+YnSj|9KH2Hx^a#@VLpZqEggf z^~zv=?+#S=PSBmG6+UtSBQVB~tZ|_){CiO*J9q0C>g+W(?aK^~9XnQm*Z3P? z0=0QB>bPrkH0vbaW;v&%lqN60#YgpKxm+Jfvz1E4L8C-Uj<~98+LUD5jDÐs*($ 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

+-+~V318p- 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 F_`iCkYnK23 literal 85977 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 { + it('bakes at distanceRange 16 so the SDF carries headroom for outline + glow', () => { + // Headroom rationale: the up-to-12-px glow extent at maxPixelSize plus + // ~2 px of outline must stay inside the SDF's encoded range. 4 (the + // msdf-bmfont-xml default) clamped the falloff tail; 16 leaves ~25% + // margin past the worst-case effect extent. + expect(DISTANCE_RANGE_PX).toBe(16); + }); +}); From 9392632c978e9ebea6a027d9cd44bd53808309c8 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:08:49 +0200 Subject: [PATCH 02/20] feat(labels): migrate Label.color to straight RGBA, premultiply on pack Co-Authored-By: Claude Opus 4.7 --- src/@types/rendering/Label.d.ts | 16 +++++- src/services/gpu/renderers/labelRenderer.ts | 21 ++++++-- .../labelRenderer.colorMigration.test.ts | 49 +++++++++++++++++++ 3 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 tests/services/gpu/renderers/labelRenderer.colorMigration.test.ts diff --git a/src/@types/rendering/Label.d.ts b/src/@types/rendering/Label.d.ts index 836a4a61..f60492cf 100644 --- a/src/@types/rendering/Label.d.ts +++ b/src/@types/rendering/Label.d.ts @@ -38,7 +38,21 @@ export type Label = { * producers have migrated to `worldEmMpc`. */ readonly pixelSize: number; - /** RGBA premultiplied, defaults to [1,1,1,1]. */ + /** + * Straight (non-premultiplied) RGBA fill colour, default `[1, 1, 1, 1]`. + * + * ## Convention + * + * Spell the colour the natural way — `[1, 0, 0, 0.5]` is + * "half-transparent red". The renderer's pack loop multiplies + * `rgb * a` on write before uploading to the GPU storage buffer; the + * fragment shader composites in premultiplied space. Producers + * therefore never have to think about premultiplication. + * + * The outline/glow colour fields below follow the same straight-RGBA + * convention — uniformity across the colour API surface is the whole + * point of carrying out this migration alongside the effects work. + */ readonly color?: Vec4; /** * Floor clamp on the projected em height in screen pixels (default 8). diff --git a/src/services/gpu/renderers/labelRenderer.ts b/src/services/gpu/renderers/labelRenderer.ts index b737fd73..dd2eb329 100644 --- a/src/services/gpu/renderers/labelRenderer.ts +++ b/src/services/gpu/renderers/labelRenderer.ts @@ -430,11 +430,19 @@ export function createLabelRenderer( labelBuf[labelBase + 1] = label.worldPos[1]; labelBuf[labelBase + 2] = label.worldPos[2]; labelBuf[labelBase + 3] = label.worldEmMpc ?? 0.01; + // Public API surface is STRAIGHT RGBA — producers spell colours the + // natural way (e.g. `[1, 0, 0, 0.5]` for "half-transparent red"). + // The fragment shader composites in premultiplied space (see + // fragment.wesl's blend-state docstring), so we multiply r/g/b by a + // HERE and write the result through to the GPU. The previous public + // API was premultiplied — see the Label.color docstring for the + // migration note. const color = label.color ?? [1, 1, 1, 1]; - labelBuf[labelBase + 4] = color[0]!; - labelBuf[labelBase + 5] = color[1]!; - labelBuf[labelBase + 6] = color[2]!; - labelBuf[labelBase + 7] = color[3]!; + const a = color[3]!; + labelBuf[labelBase + 4] = color[0]! * a; + labelBuf[labelBase + 5] = color[1]! * a; + labelBuf[labelBase + 6] = color[2]! * a; + labelBuf[labelBase + 7] = a; labelBuf[labelBase + 8] = label.pixelSize; labelBuf[labelBase + 9] = label.minPixelSize ?? 8; labelBuf[labelBase + 10] = label.maxPixelSize ?? 64; @@ -556,5 +564,10 @@ export function createLabelRenderer( // `satisfies Renderer` confirms the shared label+destroy contract at // compile time without widening the static type seen by consumers. renderer satisfies Renderer; + // Expose the CPU-side label storage scratch buffer for unit tests + // that need to assert pack-loop output. The accessor is prefixed + // with `__debug` to flag it as test-only — production code should + // never read this; the GPU has the authoritative copy. + (renderer as unknown as { __debugLabelBuf: () => Float32Array }).__debugLabelBuf = () => labelBuf; return renderer; } diff --git a/tests/services/gpu/renderers/labelRenderer.colorMigration.test.ts b/tests/services/gpu/renderers/labelRenderer.colorMigration.test.ts new file mode 100644 index 00000000..3bd1ef3b --- /dev/null +++ b/tests/services/gpu/renderers/labelRenderer.colorMigration.test.ts @@ -0,0 +1,49 @@ +import { describe, it, expect } from 'vitest'; +import { createLabelRenderer } from '../../../../src/services/gpu/renderers/labelRenderer'; +import { parseFontMetrics } from '../../../../src/services/gpu/labels/fontMetrics'; +import type { LoadedFontAtlases } from '../../../../src/@types/rendering/LoadedFontAtlases'; + +const FIXTURE_METRICS = parseFontMetrics({ + pages: ['x.png'], + common: { lineHeight: 50, base: 38, scaleW: 512, scaleH: 512 }, + info: { face: 'X', size: 42 }, + distanceField: { fieldType: 'msdf', distanceRange: 16 }, + chars: [ + { id: 65, x: 0, y: 0, width: 30, height: 40, xoffset: 0, yoffset: 0, xadvance: 25, page: 0, chnl: 15 }, + ], +}); +const FIXTURE_ATLASES: LoadedFontAtlases = { metricsByFont: { cormorant: FIXTURE_METRICS }, bitmaps: [] }; + +describe('LabelRenderer color migration to straight RGBA', () => { + it('premultiplies straight RGBA on write to the storage buffer', () => { + const r = createLabelRenderer( + { device: null as unknown as GPUDevice, context: null as unknown as GPUCanvasContext, + format: 'rgba16float' as GPUTextureFormat, canvas: null as unknown as HTMLCanvasElement }, + FIXTURE_ATLASES, + ); + r.setLabels([{ + id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', + color: [1, 0.5, 0.25, 0.5], + }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + // color slot is bytes 16..31, f32 indices 4..7 + expect(buf[4]).toBeCloseTo(0.5, 5); // 1 * 0.5 + expect(buf[5]).toBeCloseTo(0.25, 5); // 0.5 * 0.5 + expect(buf[6]).toBeCloseTo(0.125, 5); // 0.25 * 0.5 + expect(buf[7]).toBeCloseTo(0.5, 5); // alpha unchanged + }); + + it('defaults to opaque white when color is omitted', () => { + const r = createLabelRenderer( + { device: null as unknown as GPUDevice, context: null as unknown as GPUCanvasContext, + format: 'rgba16float' as GPUTextureFormat, canvas: null as unknown as HTMLCanvasElement }, + FIXTURE_ATLASES, + ); + r.setLabels([{ id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf[4]).toBe(1); + expect(buf[5]).toBe(1); + expect(buf[6]).toBe(1); + expect(buf[7]).toBe(1); + }); +}); From 5274f3d42caccbee8347d60e5d3fea604c5f999e Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:09:41 +0200 Subject: [PATCH 03/20] fix(fonts): update font registry test for distanceRange 16 rebake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to bfade96 — the rebake bumped DISTANCE_RANGE_PX from 4 to 16 but missed updating the registry test's pinned constant. Co-Authored-By: Claude Opus 4.7 --- tests/data/fonts.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/data/fonts.test.ts b/tests/data/fonts.test.ts index 7b0ab290..68c2e9c8 100644 --- a/tests/data/fonts.test.ts +++ b/tests/data/fonts.test.ts @@ -14,7 +14,7 @@ describe('font registry', () => { // and the runtime (loadFontAtlases.ts). Hard-coding them in two // places was the original sin the registry eliminates. expect(ATLAS_PX).toBe(512); - expect(DISTANCE_RANGE_PX).toBe(4); + expect(DISTANCE_RANGE_PX).toBe(16); expect(ATLAS_FONT_SIZE).toBe(42); }); From 018d8e7b03a00c0f85a1ccdec0e32ea0368ba728 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:14:05 +0200 Subject: [PATCH 04/20] test(poi): tripwire that POI_STYLES.labelColor alpha stays 1 Co-Authored-By: Claude Opus 4.7 --- .../engine/subsystems/poiSubsystem.test.ts | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/services/engine/subsystems/poiSubsystem.test.ts b/tests/services/engine/subsystems/poiSubsystem.test.ts index d3849dd2..a0970efa 100644 --- a/tests/services/engine/subsystems/poiSubsystem.test.ts +++ b/tests/services/engine/subsystems/poiSubsystem.test.ts @@ -1,5 +1,8 @@ import { describe, expect, it } from 'vitest'; -import { createPoiSubsystem } from '../../../../src/services/engine/subsystems/poiSubsystem'; +import { + createPoiSubsystem, + POI_STYLES, +} from '../../../../src/services/engine/subsystems/poiSubsystem'; import type { PointOfInterest } from '../../../../src/@types/engine/subsystems/PointOfInterest'; import type { ReadyFrameContext } from '../../../../src/@types/engine/frame/ReadyFrameContext'; import type { EngineState } from '../../../../src/@types/engine/state/EngineState'; @@ -512,3 +515,18 @@ describe('poiSubsystem · marker/label visibility', () => { expect(markers).toHaveLength(1); }); }); + +describe('POI_STYLES labelColor alpha', () => { + it('every labelColor has alpha=1 so the straight->premultiplied migration is a no-op', () => { + // Migration safety: the label pack loop now multiplies rgb * a on + // write (straight RGBA -> premultiplied at the GPU boundary). If a + // future POI_STYLES edit lowers a labelColor's alpha below 1, the + // new pack-loop premultiplication will silently dim its RGB + // channels relative to the pre-migration behaviour. This test + // fails loudly so the implementer can either re-balance the RGB + // intent or confirm the dimming was deliberate. + for (const [category, style] of Object.entries(POI_STYLES)) { + expect(style.labelColor[3], `${category}.labelColor alpha`).toBe(1); + } + }); +}); From aeedf9d102013ab46031b0d3d101df3ee3aeb46c Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:16:45 +0200 Subject: [PATCH 05/20] feat(labels): declare optional outline + glow fields on Label type Co-Authored-By: Claude Opus 4.7 --- src/@types/rendering/Label.d.ts | 59 +++++++++++++++++++++++++ tests/rendering/labelTypeFields.test.ts | 12 +++++ 2 files changed, 71 insertions(+) create mode 100644 tests/rendering/labelTypeFields.test.ts diff --git a/src/@types/rendering/Label.d.ts b/src/@types/rendering/Label.d.ts index f60492cf..8843bdd8 100644 --- a/src/@types/rendering/Label.d.ts +++ b/src/@types/rendering/Label.d.ts @@ -54,6 +54,65 @@ export type Label = { * point of carrying out this migration alongside the effects work. */ readonly color?: Vec4; + /** + * Straight (non-premultiplied) RGBA colour of the outside outline + * stroke. Default `[0, 0, 0, 0]` — fully transparent, which combined + * with `outlineEmFrac = 0` collapses the outline band to zero + * contribution in the fragment shader. The renderer premultiplies on + * write (same convention as `color`). + * + * The outline is composited OVER the fill in premultiplied space, so a + * 50%-alpha outline correctly half-blends with whatever sits behind + * the label. + */ + readonly outlineColor?: Vec4; + /** + * Outline width as a fraction of the projected em height. Default + * `0`. Example: `0.05` on a 40-px-tall label gives a 2-px-wide + * outline; on a 60-px label the same fraction grows to 3 px. + * + * ## Why em-fraction instead of pixels + * + * The label sizing pipeline clamps the projected em height to + * `[minPixelSize, maxPixelSize]`; an em-fraction outline naturally + * inherits that clamp. A pixel-absolute outline would visually + * dominate at the `minPixelSize` floor (where the glyph itself is + * tiny) and vanish at the `maxPixelSize` ceiling. + * + * Outside stroke — the outline grows outward from the glyph contour; + * the glyph body stays its natural size. + */ + readonly outlineEmFrac?: number; + /** + * Straight RGBA colour of the soft outside glow halo. Default + * `[0, 0, 0, 0]`. Same renderer-premultiplies-on-write convention as + * `color`. + * + * The glow is composited OVER (not additive) — alpha-blended onto the + * background like a translucent plate. Additive would have vanished + * against bright backgrounds (the Milky Way, dense cluster fields), + * which is exactly where labels need to stand out most. + */ + readonly glowColor?: Vec4; + /** + * Glow radius as a fraction of the projected em height. Default `0`. + * The glow extends from the glyph contour (`d = 0`) outward by this + * amount with a smoothstep falloff; the visible halo's outer edge sits + * at `glowEmFrac * displayEmPx` screen pixels past the glyph edge. + * + * ## Why em-fraction + * + * Same rationale as `outlineEmFrac` — the halo naturally inherits the + * projected-em-height clamp. + * + * ## Band overlap with outline + * + * The glow extends from `d = 0` regardless of `outlineEmFrac`; the + * outline overlays the inner portion when both are active. Visible + * total halo extent is `max(outlineEmFrac, glowEmFrac)`. Toggling the + * outline off does not change the overall label silhouette. + */ + readonly glowEmFrac?: number; /** * Floor clamp on the projected em height in screen pixels (default 8). * When the perspective projection of `worldEmMpc` falls below this diff --git a/tests/rendering/labelTypeFields.test.ts b/tests/rendering/labelTypeFields.test.ts new file mode 100644 index 00000000..f94d1b66 --- /dev/null +++ b/tests/rendering/labelTypeFields.test.ts @@ -0,0 +1,12 @@ +import { describe, it, expectTypeOf } from 'vitest'; +import type { Label } from '../../src/@types/rendering/Label'; +import type { Vec4 } from '../../src/@types/math/Vec4'; + +describe('Label type effect fields', () => { + it('declares optional outlineColor / outlineEmFrac / glowColor / glowEmFrac', () => { + expectTypeOf().toEqualTypeOf(); + expectTypeOf().toEqualTypeOf(); + expectTypeOf().toEqualTypeOf(); + expectTypeOf().toEqualTypeOf(); + }); +}); From 5b1b2ae596b2b2c408207cd48ff8ac0089185ac4 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:20:58 +0200 Subject: [PATCH 06/20] =?UTF-8?q?feat(labels):=20grow=20per-label=20storag?= =?UTF-8?q?e=2048=E2=86=9296=20bytes=20for=20outline+glow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- src/services/gpu/renderers/labelRenderer.ts | 87 +++++++++++++----- .../renderers/labelRenderer.effects.test.ts | 89 +++++++++++++++++++ 2 files changed, 154 insertions(+), 22 deletions(-) create mode 100644 tests/services/gpu/renderers/labelRenderer.effects.test.ts diff --git a/src/services/gpu/renderers/labelRenderer.ts b/src/services/gpu/renderers/labelRenderer.ts index dd2eb329..e87c1b29 100644 --- a/src/services/gpu/renderers/labelRenderer.ts +++ b/src/services/gpu/renderers/labelRenderer.ts @@ -88,12 +88,23 @@ const UNIFORM_BYTES = 80; /** * Per-label storage buffer stride, matching `struct LabelData` in io.wesl: - * worldPos vec4 — xyz = world Mpc, w = worldEmMpc - * color vec4 — premultiplied rgb, a - * sizing vec4 — pixelSize, minPixelSize, maxPixelSize, fadeAlpha - * 3 × 16 bytes = 48 bytes/label. + * + * bytes 0..15 worldPos vec4 — xyz = world Mpc, w = worldEmMpc + * bytes 16..31 color vec4 — premultiplied rgba (fill) + * bytes 32..47 sizing vec4 — outlineEmFrac, minPx, maxPx, fadeAlpha + * bytes 48..63 outlineColor vec4 — premultiplied rgba (outline stroke) + * bytes 64..79 glowColor vec4 — premultiplied rgba (glow halo) + * bytes 80..95 effects vec4 — glowEmFrac, _r, _r, _r (yzw reserved) + * + * 6 × 16 bytes = 96 bytes/label. Grew from 48 to host the outline + glow + * effect fields; the legacy `pixelSize` slot (formerly sizing.x — never + * read by the shader after the worldEmMpc migration) is repurposed for + * `outlineEmFrac` rather than left zero, on the principle that wasting a + * `vec4` for a single new scalar squanders alignment. Reserved scalars + * in `effects.yzw` are kept at zero by the CPU writer so a future + * fifth/sixth effect can land without another stride bump. */ -const LABEL_DATA_BYTES = 48; +const LABEL_DATA_BYTES = 96; /** * Per-glyph instance buffer stride, matching `VsIn` attributes 1–5 in io.wesl: @@ -414,7 +425,7 @@ export function createLabelRenderer( label.alignY ?? 'baseline', ); - // Write per-label storage record (48 bytes, 12 floats) unconditionally + // Write per-label storage record (96 bytes, 24 floats) unconditionally // — even when `quads` is empty. Keeping the per-label index stable // across the outer loop matters because each glyph carries its // labelIndex by position; if we skipped a label whose text produced @@ -422,32 +433,64 @@ export function createLabelRenderer( // label entry. An unused storage slot is harmless (no glyph // references it, the GPU never reads it). // - // [0..3] worldPos (x,y,z, worldEmMpc) - // [4..7] color (r,g,b,a premultiplied) - // [8..11] sizing (pixelSize, minPx, maxPx, fadeAlpha) + // [0..3] worldPos (x, y, z, worldEmMpc) + // [4..7] color (r*a, g*a, b*a, a — premultiplied) + // [8..11] sizing (outlineEmFrac, minPx, maxPx, fadeAlpha) + // [12..15] outlineColor (r*a, g*a, b*a, a) + // [16..19] glowColor (r*a, g*a, b*a, a) + // [20..23] effects (glowEmFrac, 0, 0, 0) const labelBase = li * (LABEL_DATA_BYTES / 4); labelBuf[labelBase + 0] = label.worldPos[0]; labelBuf[labelBase + 1] = label.worldPos[1]; labelBuf[labelBase + 2] = label.worldPos[2]; labelBuf[labelBase + 3] = label.worldEmMpc ?? 0.01; - // Public API surface is STRAIGHT RGBA — producers spell colours the - // natural way (e.g. `[1, 0, 0, 0.5]` for "half-transparent red"). - // The fragment shader composites in premultiplied space (see - // fragment.wesl's blend-state docstring), so we multiply r/g/b by a - // HERE and write the result through to the GPU. The previous public - // API was premultiplied — see the Label.color docstring for the - // migration note. + + // fill colour — straight RGBA → premultiplied on write. Public API + // surface is STRAIGHT RGBA — producers spell colours the natural way + // (e.g. `[1, 0, 0, 0.5]` for "half-transparent red"). The fragment + // shader composites in premultiplied space (see fragment.wesl's + // blend-state docstring), so we multiply r/g/b by a HERE and write + // the result through to the GPU. const color = label.color ?? [1, 1, 1, 1]; - const a = color[3]!; - labelBuf[labelBase + 4] = color[0]! * a; - labelBuf[labelBase + 5] = color[1]! * a; - labelBuf[labelBase + 6] = color[2]! * a; - labelBuf[labelBase + 7] = a; - labelBuf[labelBase + 8] = label.pixelSize; + const ca = color[3]!; + labelBuf[labelBase + 4] = color[0]! * ca; + labelBuf[labelBase + 5] = color[1]! * ca; + labelBuf[labelBase + 6] = color[2]! * ca; + labelBuf[labelBase + 7] = ca; + + // sizing.x repurposes the legacy pixelSize slot to carry + // outlineEmFrac. See LABEL_DATA_BYTES docstring above for the + // rationale. Default 0 means "no outline contribution". + labelBuf[labelBase + 8] = label.outlineEmFrac ?? 0; labelBuf[labelBase + 9] = label.minPixelSize ?? 8; labelBuf[labelBase + 10] = label.maxPixelSize ?? 64; labelBuf[labelBase + 11] = label.fadeAlpha ?? 1; + // outline colour — same straight → premultiplied conversion as fill. + // Default [0,0,0,0] makes outlineEmFrac irrelevant (the band's alpha + // pre-multiplies to zero). + const outlineColor = label.outlineColor ?? [0, 0, 0, 0]; + const oa = outlineColor[3]!; + labelBuf[labelBase + 12] = outlineColor[0]! * oa; + labelBuf[labelBase + 13] = outlineColor[1]! * oa; + labelBuf[labelBase + 14] = outlineColor[2]! * oa; + labelBuf[labelBase + 15] = oa; + + // glow colour — same conversion. + const glowColor = label.glowColor ?? [0, 0, 0, 0]; + const ga = glowColor[3]!; + labelBuf[labelBase + 16] = glowColor[0]! * ga; + labelBuf[labelBase + 17] = glowColor[1]! * ga; + labelBuf[labelBase + 18] = glowColor[2]! * ga; + labelBuf[labelBase + 19] = ga; + + // effects.x = glowEmFrac; .yzw stay zero (initialised by the + // labelBuf TypedArray constructor — reasserted here for clarity). + labelBuf[labelBase + 20] = label.glowEmFrac ?? 0; + labelBuf[labelBase + 21] = 0; + labelBuf[labelBase + 22] = 0; + labelBuf[labelBase + 23] = 0; + // Resolve the label's font to its GPU texture-array layer index // ONCE per label, outside the inner glyph loop — every glyph in // a label shares the same layer. diff --git a/tests/services/gpu/renderers/labelRenderer.effects.test.ts b/tests/services/gpu/renderers/labelRenderer.effects.test.ts new file mode 100644 index 00000000..9fa2f5a3 --- /dev/null +++ b/tests/services/gpu/renderers/labelRenderer.effects.test.ts @@ -0,0 +1,89 @@ +import { describe, it, expect } from 'vitest'; +import { createLabelRenderer } from '../../../../src/services/gpu/renderers/labelRenderer'; +import { parseFontMetrics } from '../../../../src/services/gpu/labels/fontMetrics'; +import type { LoadedFontAtlases } from '../../../../src/@types/rendering/LoadedFontAtlases'; + +const FIXTURE_METRICS = parseFontMetrics({ + pages: ['x.png'], + common: { lineHeight: 50, base: 38, scaleW: 512, scaleH: 512 }, + info: { face: 'X', size: 42 }, + distanceField: { fieldType: 'msdf', distanceRange: 16 }, + chars: [ + { id: 65, x: 0, y: 0, width: 30, height: 40, xoffset: 0, yoffset: 0, xadvance: 25, page: 0, chnl: 15 }, + ], +}); +const FIXTURE_ATLASES: LoadedFontAtlases = { metricsByFont: { cormorant: FIXTURE_METRICS }, bitmaps: [] }; +const newRenderer = () => createLabelRenderer( + { device: null as unknown as GPUDevice, context: null as unknown as GPUCanvasContext, + format: 'rgba16float' as GPUTextureFormat, canvas: null as unknown as HTMLCanvasElement }, + FIXTURE_ATLASES, +); + +describe('LabelRenderer effect-field pack layout', () => { + it('per-label storage record is 24 f32 slots (96 bytes)', () => { + const r = newRenderer(); + r.setLabels([{ id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }]); + // First label occupies slots 0..23. The second label (if present) + // would start at slot 24. Assert by writing two labels and + // inspecting the second label's worldPos slot. + r.setLabels([ + { id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }, + { id: 'b', worldPos: [7, 8, 9], text: 'A', pixelSize: 0, font: 'cormorant' }, + ]); + const buf2 = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf2[24]).toBe(7); // second label's worldPos.x + expect(buf2[25]).toBe(8); + expect(buf2[26]).toBe(9); + }); + + it('writes outlineColor (premultiplied) at slots 12..15', () => { + const r = newRenderer(); + r.setLabels([{ + id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', + outlineColor: [1, 0, 0, 0.5], + }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf[12]).toBeCloseTo(0.5, 5); // 1 * 0.5 + expect(buf[13]).toBe(0); + expect(buf[14]).toBe(0); + expect(buf[15]).toBeCloseTo(0.5, 5); + }); + + it('writes glowColor (premultiplied) at slots 16..19', () => { + const r = newRenderer(); + r.setLabels([{ + id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', + glowColor: [0, 0.5, 1, 0.8], + }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf[16]).toBe(0); + expect(buf[17]).toBeCloseTo(0.4, 5); // 0.5 * 0.8 + expect(buf[18]).toBeCloseTo(0.8, 5); // 1 * 0.8 + expect(buf[19]).toBeCloseTo(0.8, 5); + }); + + it('writes outlineEmFrac at sizing.x (slot 8) and glowEmFrac at effects.x (slot 20)', () => { + const r = newRenderer(); + r.setLabels([{ + id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', + outlineEmFrac: 0.07, glowEmFrac: 0.18, + }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf[8]).toBeCloseTo(0.07, 5); + expect(buf[20]).toBeCloseTo(0.18, 5); + // Reserved effects.y/z/w stay zero + expect(buf[21]).toBe(0); + expect(buf[22]).toBe(0); + expect(buf[23]).toBe(0); + }); + + it('defaults all four new fields to zero when omitted', () => { + const r = newRenderer(); + r.setLabels([{ id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }]); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + expect(buf[8]).toBe(0); // outlineEmFrac + expect(buf[12]).toBe(0); expect(buf[13]).toBe(0); expect(buf[14]).toBe(0); expect(buf[15]).toBe(0); // outlineColor + expect(buf[16]).toBe(0); expect(buf[17]).toBe(0); expect(buf[18]).toBe(0); expect(buf[19]).toBe(0); // glowColor + expect(buf[20]).toBe(0); // glowEmFrac + }); +}); From 3a8a43272db9df28ad4953db12493fe5679b43db Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:25:09 +0200 Subject: [PATCH 07/20] feat(labels/shader): grow LabelData, expand quad for effect fringe Co-Authored-By: Claude Opus 4.7 --- src/services/gpu/shaders/labels/io.wesl | 40 ++++++- src/services/gpu/shaders/labels/vertex.wesl | 111 ++++++++++++-------- 2 files changed, 105 insertions(+), 46 deletions(-) diff --git a/src/services/gpu/shaders/labels/io.wesl b/src/services/gpu/shaders/labels/io.wesl index 54a33b22..e7603598 100644 --- a/src/services/gpu/shaders/labels/io.wesl +++ b/src/services/gpu/shaders/labels/io.wesl @@ -50,16 +50,33 @@ struct Uniforms { }; struct LabelData { - // worldPos.xyz = anchor in Mpc; worldPos.w = worldEmMpc (PRIMARY size driver — - // em height in world-space Mpc, projected to pixels by the vertex stage). + // worldPos.xyz = anchor in Mpc; worldPos.w = worldEmMpc (PRIMARY size + // driver — em height in world-space Mpc, projected to pixels by the + // vertex stage). worldPos: vec4, - // color.rgb premultiplied; color.a = base alpha (multiplied by fadeAlpha). + // Fill colour — premultiplied rgba. The renderer pack loop multiplies + // r/g/b by a before upload, so the shader can treat (rgb, a) as the + // OVER-composite input directly. color: vec4, - // x = pixelSize (LEGACY — ignored by shader; kept for layout stability) + // x = outlineEmFrac (REPURPOSED — formerly the legacy pixelSize slot, + // which the shader stopped reading at the worldEmMpc + // migration; see labelRenderer.ts LABEL_DATA_BYTES + // docstring for the rationale) // y = minPixelSize (floor clamp on projected em height, in screen px) // z = maxPixelSize (ceiling clamp on projected em height, in screen px) - // w = fadeAlpha + // w = fadeAlpha (multiplied into every effect band uniformly) sizing: vec4, + // Outside-stroke outline colour — premultiplied rgba. When alpha is + // zero (the default for labels that don't opt in), the outline band + // contributes nothing regardless of outlineEmFrac. + outlineColor: vec4, + // Soft outside glow colour — premultiplied rgba. Same opt-in semantics + // as outlineColor: zero alpha → band collapses. + glowColor: vec4, + // x = glowEmFrac (band radius as a fraction of projected em height) + // y/z/w = reserved (CPU writer keeps these zero so a future fifth/sixth + // effect parameter can land without bumping the stride) + effects: vec4, }; struct VsIn { @@ -86,9 +103,22 @@ struct VsIn { struct VsOut { @builtin(position) pos: vec4, @location(0) uv: vec2, + // Fill colour pre-multiplied by fadeAlpha so the fragment stage can + // alpha-blend without re-reading fadeAlpha. @location(1) color: vec4, // Flat-interpolated so the fragment shader sees the same integer // layer index for every fragment of one glyph quad. Non-flat // interpolation of an integer is a WGSL validation error. @location(2) @interpolate(flat) fontIndex: u32, + // Outline colour pre-multiplied by fadeAlpha (same pre-fade bake as + // the fill colour — keeps the fragment stage simple). + @location(3) outlineColor: vec4, + // Glow colour pre-multiplied by fadeAlpha. + @location(4) glowColor: vec4, + // x = outline width in SDF units (atlas px ÷ DISTANCE_RANGE_PX); + // y = glow radius in SDF units; + // converted CPU-side from the em-fraction inputs at the vertex + // stage, so the fragment shader has the values it needs without + // re-deriving from per-label data. + @location(5) widths: vec2, }; diff --git a/src/services/gpu/shaders/labels/vertex.wesl b/src/services/gpu/shaders/labels/vertex.wesl index f8ec7a9b..217654b6 100644 --- a/src/services/gpu/shaders/labels/vertex.wesl +++ b/src/services/gpu/shaders/labels/vertex.wesl @@ -5,9 +5,21 @@ // is the em height expressed in Mpc of world space; the vertex stage // projects it through the camera's clip.w to obtain a screen-pixel // height, clamps to [minPx, maxPx] for legibility, and scales the -// atlas-baked glyph quad to match. Labels therefore grow as the -// camera approaches (natural perspective), bounded below and above. -// See labels/io.wesl's docblock for the full sizing model. +// atlas-baked glyph quad to match. +// +// ## Quad expansion for outline + glow +// +// When a label sets outlineEmFrac and/or glowEmFrac, the on-screen +// footprint of the glyph extends past its atlas rect by +// 'max(outlineEmFrac, glowEmFrac) * displayEmPx' screen pixels. If +// the quad stays sized to the atlas rect, the effect bands get +// clipped at the glyph's bounding box and look like a chopped halo. +// We pre-compute the fringe extent in atlas px and grow each corner +// outward by that amount. The fragment shader's UV mix still uses +// the unit corner [0,1] range, so UVs at the fringe extrapolate +// outside the atlas rect — that's deliberate: those samples land in +// the SDF's distance-only region (well past the glyph contour), which +// is exactly what the glow falloff math wants. import package::labels::io::Uniforms; import package::labels::io::LabelData; @@ -18,11 +30,12 @@ import package::lib::billboard::worldLenToPx; import package::lib::billboard::pxToClipOffset; // Atlas em pixel size — must match 'ATLAS_FONT_SIZE' in src/data/fonts.ts. -// Hardcoded rather than passed as a uniform because it's a build-time -// constant of the atlas binary, not a per-frame value. If the atlas -// is ever rebuilt at a different size, update both this constant and -// the fonts.ts export in the same commit. const ATLAS_EM_PX: f32 = 42.0; +// MSDF distance range in pixels — must match 'DISTANCE_RANGE_PX' in +// src/data/fonts.ts. Bumped from 4 to 16 in 2026-05-19 alongside the +// outline+glow feature so the SDF carries headroom past the glyph +// contour for the glow falloff tail. +const DISTANCE_RANGE_PX: f32 = 16.0; @group(0) @binding(0) var u: Uniforms; @group(0) @binding(1) var labels: array; @@ -30,56 +43,72 @@ const ATLAS_EM_PX: f32 = 42.0; @vertex fn vs(input: VsIn) -> VsOut { let label = labels[input.labelIndex]; - let worldPos = label.worldPos.xyz; - let worldEmMpc = label.worldPos.w; // primary size driver — world-space em height in Mpc - // sizing.x (pixelSize) is a legacy buffer slot, kept for layout stability. - // The new model reads worldEmMpc instead; sizing.x is intentionally ignored. - let minPx = label.sizing.y; - let maxPx = label.sizing.z; - let fadeAlpha = label.sizing.w; + let worldPos = label.worldPos.xyz; + let worldEmMpc = label.worldPos.w; + let outlineEmFrac = label.sizing.x; + let minPx = label.sizing.y; + let maxPx = label.sizing.z; + let fadeAlpha = label.sizing.w; + let glowEmFrac = label.effects.x; // Project anchor to clip space. let clip = worldToClip(u.cam, worldPos); - // Perspective-driven size: project 'worldEmMpc' (an em height in Mpc - // of world space) into screen pixels at the anchor's depth. The - // shared 'worldLenToPx' helper encapsulates the standard - // perspective NDC→screen projection ((L / clip.w) * viewport.y / 2); - // see lib/billboard.wesl for the canonical derivation. Clamping to - // [minPx, maxPx] is label-specific — bounds the result for - // legibility at extreme distances and very close approach — so it - // stays inline here. + // Perspective-driven size (existing math, unchanged). let pxPerEm = worldLenToPx(u.cam, worldEmMpc, clip.w); let displayEmPx = clamp(pxPerEm, minPx, maxPx); let pxScale = displayEmPx / ATLAS_EM_PX; - // Glyph corner in atlas px, relative to label anchor. Atlas Y is - // top-down; we flip to make Y up in world space (so labels appear - // above the anchor when localOffsetY is negative). + // Effect fringe in atlas px. The on-screen fringe is + // 'max(outline, glow) * displayEmPx' screen pixels, which divides + // by pxScale to recover atlas-px (because the same pxScale gets + // applied to the corner offset below). + let fringeAtlasPx = max(outlineEmFrac, glowEmFrac) * ATLAS_EM_PX; + + // Expand each corner outward by the fringe. The unit-corner attribute + // sits in {(0,0),(1,0),(0,1),(1,1)}; remap to {-1,+1} via (corner*2-1) + // to get an outward direction, then add 'corner*localSize' for the + // glyph rect, and 'direction*fringeAtlasPx' for the fringe extension. + let outward = input.corner * 2.0 - vec2(1.0, 1.0); let cornerAtlasPx = vec2( - input.localOffset.x + input.corner.x * input.localSize.x, - -(input.localOffset.y + input.corner.y * input.localSize.y), + input.localOffset.x + input.corner.x * input.localSize.x + outward.x * fringeAtlasPx, + -(input.localOffset.y + input.corner.y * input.localSize.y + outward.y * fringeAtlasPx), ); - // Convert atlas px to clip space at depth clip.w using the shared - // 'pxToClipOffset' helper — it applies the (2 / viewport) NDC step - // and multiplies by clip.w so the GPU's perspective divide recovers - // the right pixel size. See lib/billboard.wesl for the derivation. let ndcOffset = pxToClipOffset(u.cam, cornerAtlasPx * pxScale, clip.w); - let outPos = vec4(clip.x + ndcOffset.x, clip.y + ndcOffset.y, clip.z, clip.w); - let uv = vec2( + // UV expansion to match the corner expansion. The UV rect coordinates + // are already normalised; the fringe in atlas px maps to UV space via + // '(uvSpan / localSize)'. The result samples outside the glyph's + // atlas rect at the fringe, which is what the SDF falloff math wants + // (the distance-only region past the glyph contour). + let uvSpanX = input.uvRect.z - input.uvRect.x; + let uvSpanY = input.uvRect.w - input.uvRect.y; + let uvBase = vec2( mix(input.uvRect.x, input.uvRect.z, input.corner.x), mix(input.uvRect.y, input.uvRect.w, input.corner.y), ); + let uvFringe = vec2( + outward.x * fringeAtlasPx * uvSpanX / max(input.localSize.x, 0.0001), + outward.y * fringeAtlasPx * uvSpanY / max(input.localSize.y, 0.0001), + ); + let uv = uvBase + uvFringe; + + // Pre-bake fadeAlpha into every colour channel that flows to the + // fragment stage. The fragment stage then just multiplies by the + // per-band SDF coverage, so fadeAlpha applies uniformly to fill, + // outline, and glow without an extra fragment-side multiply. + let outColor = vec4(label.color.rgb * fadeAlpha, label.color.a * fadeAlpha); + let outOutlineColor = vec4(label.outlineColor.rgb * fadeAlpha, label.outlineColor.a * fadeAlpha); + let outGlowColor = vec4(label.glowColor.rgb * fadeAlpha, label.glowColor.a * fadeAlpha); + + // Convert em-fraction widths to SDF units. See io.wesl docstring + // for the derivation: + // widthInSdfUnits = (frac * ATLAS_EM_PX) / DISTANCE_RANGE_PX + let outlineSdf = outlineEmFrac * ATLAS_EM_PX / DISTANCE_RANGE_PX; + let glowSdf = glowEmFrac * ATLAS_EM_PX / DISTANCE_RANGE_PX; + let widths = vec2(outlineSdf, glowSdf); - let outColor = vec4(label.color.rgb, label.color.a * fadeAlpha); - // fontIndex flows from the per-glyph instance attribute to a flat - // varying so the fragment shader samples the right atlas layer for - // this glyph's font. All glyphs of one label carry the same - // fontIndex (resolved CPU-side from label.font), but the value is - // per-glyph because that's the only attribute channel the per-glyph - // instance buffer exposes. - return VsOut(outPos, uv, outColor, input.fontIndex); + return VsOut(outPos, uv, outColor, input.fontIndex, outOutlineColor, outGlowColor, widths); } From 94ffac5a497b705e25c88c91b225787754ccceb5 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:27:18 +0200 Subject: [PATCH 08/20] docs(labels/shader): drop date-stamped history note from vertex.wesl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Comments: timeless and terse — explain current state, not the journey. Co-Authored-By: Claude Opus 4.7 --- src/services/gpu/shaders/labels/vertex.wesl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/gpu/shaders/labels/vertex.wesl b/src/services/gpu/shaders/labels/vertex.wesl index 217654b6..7a1ebaa5 100644 --- a/src/services/gpu/shaders/labels/vertex.wesl +++ b/src/services/gpu/shaders/labels/vertex.wesl @@ -32,9 +32,9 @@ import package::lib::billboard::pxToClipOffset; // Atlas em pixel size — must match 'ATLAS_FONT_SIZE' in src/data/fonts.ts. const ATLAS_EM_PX: f32 = 42.0; // MSDF distance range in pixels — must match 'DISTANCE_RANGE_PX' in -// src/data/fonts.ts. Bumped from 4 to 16 in 2026-05-19 alongside the -// outline+glow feature so the SDF carries headroom past the glyph -// contour for the glow falloff tail. +// src/data/fonts.ts. The SDF must carry headroom past the glyph +// contour for the glow falloff tail; tighter ranges clamp the tail +// and produce a banded halo edge. const DISTANCE_RANGE_PX: f32 = 16.0; @group(0) @binding(0) var u: Uniforms; From eacd402bfdc00ef6a39a4b2a17a2a02e6a627119 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:29:01 +0200 Subject: [PATCH 09/20] feat(labels/shader): three-band composite glow+outline+fill Co-Authored-By: Claude Opus 4.7 --- src/services/gpu/shaders/labels/fragment.wesl | 98 ++++++++++++++----- 1 file changed, 71 insertions(+), 27 deletions(-) diff --git a/src/services/gpu/shaders/labels/fragment.wesl b/src/services/gpu/shaders/labels/fragment.wesl index 1ef2616a..9d9f41b5 100644 --- a/src/services/gpu/shaders/labels/fragment.wesl +++ b/src/services/gpu/shaders/labels/fragment.wesl @@ -1,46 +1,90 @@ -// labels/fragment.wesl — MSDF labels fragment stage. +// labels/fragment.wesl — MSDF labels fragment stage with three-band +// composite: glow (soft outside halo) → outline (hard outside stroke) +// → fill (glyph body). All composited OVER in premultiplied space. // -// Samples the multi-channel signed-distance atlas, takes the median -// across R/G/B to recover the glyph edge, then anti-aliases the edge -// with a screen-space-derivative width. Output is premultiplied — the -// blend state on the renderer side expects (rgb*a, a). +// ## Bands // -// ## Multi-font sampling +// The MSDF distance 'd' is positive inside the glyph and negative +// outside; the glyph contour sits at 'd = 0'. The three bands are: // -// The atlas binding is a texture_2d_array: each registered font in -// src/data/fonts.ts occupies one array layer. The per-glyph -// fontIndex varying (flat-interpolated from the vertex stage) selects -// the layer at sample time, so a single draw call can render glyphs -// from any mix of registered fonts — the GPU picks the right atlas -// page per fragment. +// fill : smoothstep(-aa, +aa, d) +// — existing one-pixel AA band straddling the contour. +// outline: smoothstep(-aa - outlineSdf, -aa, d) * (1 - fill) +// — covers d ∈ [-outlineSdf, 0]; the (1 - fill) factor +// masks the inside half so the outline doesn't bleed +// into the glyph body. +// glow : smoothstep(-glowSdf, 0, d) +// — soft falloff from the contour outward by glowSdf, +// with default smoothstep cubic ease. Overlaps the +// outline band; the OVER composite below resolves +// which colour wins. +// +// 'outlineSdf' and 'glowSdf' are in SDF units (the same units 'd' +// lives in); the vertex stage converts from em-fraction inputs via +// 'widthInSdfUnits = (emFrac * ATLAS_EM_PX) / DISTANCE_RANGE_PX'. +// +// ## Composite +// +// out = over(glow, over(outline, fill)) +// +// All three band colours arrive pre-multiplied (and pre-faded by +// fadeAlpha — the vertex stage bakes fadeAlpha into the rgba), +// so the OVER step is the canonical: +// +// over(A, B) = A + B * (1 - A.a) +// +// ## Why overlap, not stack +// +// "Glow radius" matches the mental model "visible halo extent", not +// "extra halo past the outline". Overlap also keeps the label +// silhouette stable when the outline is toggled on/off. import package::labels::io::VsOut; @group(0) @binding(2) var atlas: texture_2d_array; @group(0) @binding(3) var atlasSampler: sampler; -// Median of three scalars. The MSDF technique encodes one SDF per -// colour channel, each shifted by a sub-pixel; taking the median of -// the three recovers the glyph contour even where one channel -// disagrees (sharp corners, near-zero strokes). It's the 'M' in MSDF. fn median3(r: f32, g: f32, b: f32) -> f32 { return max(min(r, g), min(max(r, g), b)); } @fragment fn fs(input: VsOut) -> @location(0) vec4 { - // textureSample on a 2D-array takes the layer index as the third - // argument (after the UV). i32 cast because WGSL's texture-array - // sample signature requires a signed integer layer. let s = textureSample(atlas, atlasSampler, input.uv, i32(input.fontIndex)).rgb; - // Distance from the glyph contour: positive inside, negative outside, - // zero exactly on the edge. let d = median3(s.r, s.g, s.b) - 0.5; - // 'fwidth' gives roughly one pixel's worth of distance at this - // fragment's scale, so the smoothstep band is exactly one pixel - // wide regardless of zoom — that's what keeps MSDF text crisp at - // any size. let aa = fwidth(d); - let alpha = smoothstep(-aa, aa, d) * input.color.a; - return vec4(input.color.rgb * alpha, alpha); + + let outlineSdf = input.widths.x; + let glowSdf = input.widths.y; + + // Fill mask (1 inside the glyph, 0 outside, smoothed at the edge). + let fillMask = smoothstep(-aa, aa, d); + + // Outline mask covers d ∈ [-outlineSdf, 0] but is masked OUT inside + // the glyph. When outlineSdf == 0 the smoothstep collapses to a + // single-point step at d=0 — the mask is then identically zero + // outside the glyph (no contribution) and identically 'fillMask' + // inside (cancelled by '1 - fillMask'). So a zero outline width + // correctly contributes nothing. + let outlineBand = smoothstep(-aa - outlineSdf, -aa, d); + let outlineMask = outlineBand * (1.0 - fillMask); + + // Glow band: smooth ramp from d = -glowSdf (alpha 0) to d = 0 + // (alpha 1). When glowSdf == 0 the ramp degenerates to a step at + // d=0 — multiplied by glowColor.a (which is 0 when the producer + // doesn't set glowColor), the band's contribution stays zero. + let glowMask = smoothstep(-glowSdf, 0.0, d); + + // Per-band premultiplied colours. The masks scale the already- + // premultiplied colour by the band's coverage. + let fillPM = input.color * fillMask; + let outlinePM = input.outlineColor * outlineMask; + let glowPM = input.glowColor * glowMask; + + // Composite over(glow, over(outline, fill)). Each 'over' step + // does: result = top + bottom * (1 - top.a) + let layer1 = outlinePM + fillPM * (1.0 - outlinePM.a); + let layer2 = glowPM + layer1 * (1.0 - glowPM.a); + + return layer2; } From e301eade5f8b641493c9b6f7d6d4208fd56ce0cd Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:30:41 +0200 Subject: [PATCH 10/20] docs(labels/shader): restore MSDF + texture-array didactic context MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The three-band rewrite dropped the educational notes about why median3 exists and how the texture_2d_array binding routes per-glyph fonts. Restore them — they're orthogonal to the band math and genuinely useful. Co-Authored-By: Claude Opus 4.7 --- src/services/gpu/shaders/labels/fragment.wesl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/services/gpu/shaders/labels/fragment.wesl b/src/services/gpu/shaders/labels/fragment.wesl index 9d9f41b5..1e89def2 100644 --- a/src/services/gpu/shaders/labels/fragment.wesl +++ b/src/services/gpu/shaders/labels/fragment.wesl @@ -41,9 +41,18 @@ import package::labels::io::VsOut; +// The atlas binding is a texture_2d_array: each registered font in +// src/data/fonts.ts occupies one array layer. The per-glyph fontIndex +// varying (flat-interpolated from the vertex stage) selects the layer +// at sample time, so a single draw call can render glyphs from any mix +// of registered fonts — the GPU picks the right atlas page per fragment. @group(0) @binding(2) var atlas: texture_2d_array; @group(0) @binding(3) var atlasSampler: sampler; +// Median of three scalars. The MSDF technique encodes one SDF per +// colour channel, each shifted by a sub-pixel; taking the median of +// the three recovers the glyph contour even where one channel +// disagrees (sharp corners, near-zero strokes). It's the 'M' in MSDF. fn median3(r: f32, g: f32, b: f32) -> f32 { return max(min(r, g), min(max(r, g), b)); } From d4abb539fe46d0e3877232fb06228ca6eef1f78a Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:32:17 +0200 Subject: [PATCH 11/20] feat(labels): add labelStyleOverride module for debug-panel tuning Co-Authored-By: Claude Opus 4.7 --- src/services/engine/labelStyleOverride.ts | 81 +++++++++++++++++++ .../engine/labelStyleOverride.test.ts | 43 ++++++++++ 2 files changed, 124 insertions(+) create mode 100644 src/services/engine/labelStyleOverride.ts create mode 100644 tests/services/engine/labelStyleOverride.test.ts diff --git a/src/services/engine/labelStyleOverride.ts b/src/services/engine/labelStyleOverride.ts new file mode 100644 index 00000000..f105b2e2 --- /dev/null +++ b/src/services/engine/labelStyleOverride.ts @@ -0,0 +1,81 @@ +/** + * labelStyleOverride — process-wide, single-slot live-tuning hook for + * the DebugPanel's LabelEffectsSection. + * + * ### Why module-scoped mutable state? + * + * The override is a developer-only debug hook: while the DebugPanel + * has it on, every label-emitting subsystem consults the current + * value at frame-build time and substitutes the override's outline + + * glow fields for its own producer defaults. React state in the + * panel component is the wrong shape because the engine's per-frame + * code runs outside React's render loop and would need a ref or + * useEffect to read the current values; a plain module-scoped object + * is read directly by every producer with zero ceremony. + * + * ### Why a single slot, not a per-category record? + * + * The workflow is "select category, tune, bake into POI_STYLES, move + * to next category". A per-category record would invite the user to + * leave overrides stale across category switches; the single slot + * makes the active target unambiguous. + * + * ### Why default targetCategory = null? + * + * Production startup should never accidentally apply an override. + * The DebugPanel only exists in DEV builds or when ?debug is in the + * URL, so a non-DEV runtime never even calls `setLabelStyleOverride`. + * Defaulting to null means "no producer matches" and the override is + * completely inert until a developer opens the panel and picks a + * category. + */ + +import type { Vec4 } from '../../@types/math/Vec4'; +import type { PoiCategory } from './subsystems/poiSubsystem'; + +/** + * The set of label-emitting categories the override can target. + * Mirrors the dropdown in `LabelEffectsSection.tsx` — keep in sync. + */ +export type LabelStyleOverrideTarget = 'youAreHere' | PoiCategory; + +/** + * Read-only snapshot of the current override. `targetCategory` is + * null when the override is inactive. + */ +export type LabelStyleOverride = { + readonly targetCategory: LabelStyleOverrideTarget | null; + readonly outlineColor: Vec4; + readonly outlineEmFrac: number; + readonly glowColor: Vec4; + readonly glowEmFrac: number; +}; + +// The single mutable slot. Reassigned (not mutated in place) by +// `setLabelStyleOverride` so any consumer that captured the prior +// reference sees a stable snapshot for the duration of one frame. +let current: LabelStyleOverride = { + targetCategory: null, + outlineColor: [0, 0, 0, 0], + outlineEmFrac: 0, + glowColor: [0, 0, 0, 0], + glowEmFrac: 0, +}; + +export function getLabelStyleOverride(): LabelStyleOverride { + return current; +} + +export function setLabelStyleOverride(next: LabelStyleOverride): void { + current = next; +} + +export function clearLabelStyleOverride(): void { + current = { + targetCategory: null, + outlineColor: [0, 0, 0, 0], + outlineEmFrac: 0, + glowColor: [0, 0, 0, 0], + glowEmFrac: 0, + }; +} diff --git a/tests/services/engine/labelStyleOverride.test.ts b/tests/services/engine/labelStyleOverride.test.ts new file mode 100644 index 00000000..c718d83a --- /dev/null +++ b/tests/services/engine/labelStyleOverride.test.ts @@ -0,0 +1,43 @@ +import { describe, it, expect, beforeEach } from 'vitest'; +import { + getLabelStyleOverride, + setLabelStyleOverride, + clearLabelStyleOverride, + type LabelStyleOverrideTarget, +} from '../../../src/services/engine/labelStyleOverride'; + +describe('labelStyleOverride', () => { + beforeEach(() => clearLabelStyleOverride()); + + it('returns null target when no override is set', () => { + expect(getLabelStyleOverride().targetCategory).toBeNull(); + }); + + it('stores the most recent override', () => { + setLabelStyleOverride({ + targetCategory: 'cluster', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.05, + glowColor: [0, 0, 1, 0.5], + glowEmFrac: 0.2, + }); + const v = getLabelStyleOverride(); + expect(v.targetCategory).toBe('cluster'); + expect(v.outlineColor).toEqual([1, 0, 0, 1]); + expect(v.outlineEmFrac).toBe(0.05); + expect(v.glowColor).toEqual([0, 0, 1, 0.5]); + expect(v.glowEmFrac).toBe(0.2); + }); + + it('clearLabelStyleOverride resets targetCategory to null', () => { + setLabelStyleOverride({ + targetCategory: 'void', + outlineColor: [0, 0, 0, 0], + outlineEmFrac: 0, + glowColor: [0, 0, 0, 0], + glowEmFrac: 0, + }); + clearLabelStyleOverride(); + expect(getLabelStyleOverride().targetCategory).toBeNull(); + }); +}); From 2fa10b933c2993665bfdb472a5185b1912440180 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:37:09 +0200 Subject: [PATCH 12/20] feat(labels): apply labelStyleOverride from youAreHere + POI producers Co-Authored-By: Claude Opus 4.7 --- .../engine/subsystems/poiSubsystem.ts | 22 +++++ .../engine/subsystems/youAreHereSubsystem.ts | 18 ++++ .../poiSubsystem.labelEffects.test.ts | 94 +++++++++++++++++++ .../youAreHereSubsystem.labelEffects.test.ts | 80 ++++++++++++++++ 4 files changed, 214 insertions(+) create mode 100644 tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts create mode 100644 tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts diff --git a/src/services/engine/subsystems/poiSubsystem.ts b/src/services/engine/subsystems/poiSubsystem.ts index 30918413..fe6949d2 100644 --- a/src/services/engine/subsystems/poiSubsystem.ts +++ b/src/services/engine/subsystems/poiSubsystem.ts @@ -102,6 +102,7 @@ import type { ClusterMarkerDescriptor } from '../../../@types/rendering/ClusterM import { apparentSizePx } from '../../../utils/math/apparentSizePx'; import { hexToGl } from '../../../utils/color/hexToGl'; import { FADE_IN_DURATION_MS } from '../../animation/fadeController'; +import { getLabelStyleOverride } from '../labelStyleOverride'; type CategoryStyle = { readonly labelColor: Vec4; @@ -407,6 +408,12 @@ export function createPoiSubsystem(input: CreatePoiSubsystemInput = {}): PoiSubs const halfH = ctx.canvasSize.height * 0.5; const fovYRad = 2 * Math.atan(halfH / ctx.drawPxPerRad); const [cx, cy, cz] = ctx.drawCamPos; + // Capture the live-tuning override once per frame — reads are + // cheap, but a consistent snapshot matters when the loop crosses + // many POIs. The director will not call produceLabels again + // within the same frame. See `labelStyleOverride.ts` for the + // module-scoped state's rationale. + const override = getLabelStyleOverride(); for (const p of pois) { // Label-axis gate. Markers consult their own `markerVisibility` // record in `produceMarkers` below — flipping a category's label @@ -535,6 +542,20 @@ export function createPoiSubsystem(input: CreatePoiSubsystemInput = {}): PoiSubs } } + // Per-POI override fields: only POIs whose own category matches + // the override's target adopt the outline + glow values. All + // other categories keep their producer-default effect fields + // (today: unset → renderer's transparent-zero defaults). + const overrideFields = + override.targetCategory === p.category + ? { + outlineColor: override.outlineColor, + outlineEmFrac: override.outlineEmFrac, + glowColor: override.glowColor, + glowEmFrac: override.glowEmFrac, + } + : {}; + labels.push({ id: p.id, worldPos: labelWorldPos, @@ -548,6 +569,7 @@ export function createPoiSubsystem(input: CreatePoiSubsystemInput = {}): PoiSubs fadeAlpha, alignX, alignY, + ...overrideFields, }); } // One-shot layer fade-in: first frame that emits a non-empty diff --git a/src/services/engine/subsystems/youAreHereSubsystem.ts b/src/services/engine/subsystems/youAreHereSubsystem.ts index 78473561..ef0c8dbb 100644 --- a/src/services/engine/subsystems/youAreHereSubsystem.ts +++ b/src/services/engine/subsystems/youAreHereSubsystem.ts @@ -33,6 +33,7 @@ import type { LabelProducerOutput } from '../../../@types/engine/subsystems/Labe import type { YouAreHereSubsystem } from '../../../@types/engine/subsystems/YouAreHereSubsystem'; import { youAreHereAlpha } from '../../gpu/labels/youAreHereVisibility'; import { FADE_IN_DURATION_MS } from '../../animation/fadeController'; +import { getLabelStyleOverride } from '../labelStyleOverride'; const LABEL_TEXT = 'You are here'; const LABEL_ANCHOR_MPC = 0.05; @@ -68,6 +69,22 @@ export function createYouAreHereSubsystem(): YouAreHereSubsystem { ); } + // Live-tuning override: when the DebugPanel selects 'youAreHere' + // as the target category, substitute the override's outline + glow + // fields for the producer defaults (today simply "off"). The + // override is module-scoped + read fresh each frame so changes from + // the panel apply on the next render without a producer reseed. + const override = getLabelStyleOverride(); + const effectFields = + override.targetCategory === 'youAreHere' + ? { + outlineColor: override.outlineColor, + outlineEmFrac: override.outlineEmFrac, + glowColor: override.glowColor, + glowEmFrac: override.glowEmFrac, + } + : {}; + const labels: readonly Label[] = [ { id: 'you-are-here', @@ -81,6 +98,7 @@ export function createYouAreHereSubsystem(): YouAreHereSubsystem { maxPixelSize: 150, fadeAlpha: alpha, alignX: 'center', + ...effectFields, }, ]; const lines: readonly MarkerLine[] = [ diff --git a/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts new file mode 100644 index 00000000..9ee155e0 --- /dev/null +++ b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts @@ -0,0 +1,94 @@ +/** + * poiSubsystem · labelStyleOverride integration + * + * Exercises the override path through the real producer: when the + * DebugPanel's LabelEffectsSection picks a POI category as the target, + * any POI whose own category matches adopts the override's outline + + * glow fields; non-matching POIs (and the case where the target is a + * different category) emit labels with effect fields undefined. + * + * State stub: the producer only touches state.subsystems.fades.fadeTo + * (one-shot layer fade-in). Context stub mirrors poiSubsystem.test.ts + * — a 60° fovY at 1920×1080. The cluster POI sits at +X with + * physicalRadiusMpc set so the marker pass keeps the anchor gate happy + * (label visibility for clusters is gated on the marker being visible). + */ + +import { beforeEach, describe, expect, it } from 'vitest'; +import { createPoiSubsystem } from '../../../../src/services/engine/subsystems/poiSubsystem'; +import { + clearLabelStyleOverride, + setLabelStyleOverride, +} from '../../../../src/services/engine/labelStyleOverride'; +import type { PointOfInterest } from '../../../../src/@types/engine/subsystems/PointOfInterest'; +import type { ReadyFrameContext } from '../../../../src/@types/engine/frame/ReadyFrameContext'; +import type { EngineState } from '../../../../src/@types/engine/state/EngineState'; + +function makeState(): EngineState { + return { + subsystems: { + scheduler: { requestRender: () => {} }, + fades: { fadeTo: () => Promise.resolve() }, + }, + } as unknown as EngineState; +} + +function makeCtx(): ReadyFrameContext { + return { + drawCamPos: [0, 0, 0], + canvasSize: { width: 1920, height: 1080 }, + drawPxPerRad: 1080 / (2 * Math.tan((60 * Math.PI) / 180 / 2)), + } as unknown as ReadyFrameContext; +} + +const VIRGO: PointOfInterest = { + id: 'virgo', + name: 'Virgo', + category: 'cluster', + worldPos: [10, 0, 0], + physicalRadiusMpc: 2, +}; + +describe('poiSubsystem · labelStyleOverride', () => { + beforeEach(() => { + clearLabelStyleOverride(); + }); + + it('applies the override only to labels whose category matches', () => { + setLabelStyleOverride({ + targetCategory: 'cluster', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.08, + glowColor: [0, 1, 0, 0.5], + glowEmFrac: 0.2, + }); + const sub = createPoiSubsystem(); + sub.setPois([VIRGO]); + const out = sub.produceLabels(makeState(), makeCtx()); + expect(out.labels).toHaveLength(1); + const label = out.labels[0]!; + expect(label.outlineColor).toEqual([1, 0, 0, 1]); + expect(label.outlineEmFrac).toBe(0.08); + expect(label.glowColor).toEqual([0, 1, 0, 0.5]); + expect(label.glowEmFrac).toBe(0.2); + }); + + it('leaves labels untouched when override targets a different category', () => { + setLabelStyleOverride({ + targetCategory: 'void', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.08, + glowColor: [0, 1, 0, 0.5], + glowEmFrac: 0.2, + }); + const sub = createPoiSubsystem(); + sub.setPois([VIRGO]); + const out = sub.produceLabels(makeState(), makeCtx()); + expect(out.labels).toHaveLength(1); + const label = out.labels[0]!; + expect(label.outlineColor).toBeUndefined(); + expect(label.outlineEmFrac).toBeUndefined(); + expect(label.glowColor).toBeUndefined(); + expect(label.glowEmFrac).toBeUndefined(); + }); +}); diff --git a/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts new file mode 100644 index 00000000..a6b83033 --- /dev/null +++ b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts @@ -0,0 +1,80 @@ +/** + * youAreHereSubsystem · labelStyleOverride integration + * + * Exercises the override path through the real producer: when the + * DebugPanel's LabelEffectsSection picks 'youAreHere' as the target + * category, the produced label adopts the override's outline + glow + * fields; when it picks any other category, the label's effect fields + * stay undefined (producer defaults). + * + * State stub: the producer only touches state.subsystems.fades.fadeTo + * (one-shot layer fade-in). A no-op stub suffices. + * + * Context stub: youAreHereAlpha is a pure function of |drawCamPos|, so + * we place the camera at the origin — the alpha is comfortably above 0 + * and the produceLabels body reaches the single labels.push. + */ + +import { beforeEach, describe, expect, it } from 'vitest'; +import { createYouAreHereSubsystem } from '../../../../src/services/engine/subsystems/youAreHereSubsystem'; +import { + clearLabelStyleOverride, + setLabelStyleOverride, +} from '../../../../src/services/engine/labelStyleOverride'; +import type { ReadyFrameContext } from '../../../../src/@types/engine/frame/ReadyFrameContext'; +import type { EngineState } from '../../../../src/@types/engine/state/EngineState'; + +function makeState(): EngineState { + return { + subsystems: { + scheduler: { requestRender: () => {} }, + fades: { fadeTo: () => Promise.resolve() }, + }, + } as unknown as EngineState; +} + +function makeCtx(): ReadyFrameContext { + return { drawCamPos: [0, 0, 0] } as unknown as ReadyFrameContext; +} + +describe('youAreHereSubsystem · labelStyleOverride', () => { + beforeEach(() => { + clearLabelStyleOverride(); + }); + + it('applies the override when targetCategory is youAreHere', () => { + setLabelStyleOverride({ + targetCategory: 'youAreHere', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.08, + glowColor: [0, 1, 0, 0.5], + glowEmFrac: 0.2, + }); + const sub = createYouAreHereSubsystem(); + const out = sub.produceLabels(makeState(), makeCtx()); + expect(out.labels).toHaveLength(1); + const label = out.labels[0]!; + expect(label.outlineColor).toEqual([1, 0, 0, 1]); + expect(label.outlineEmFrac).toBe(0.08); + expect(label.glowColor).toEqual([0, 1, 0, 0.5]); + expect(label.glowEmFrac).toBe(0.2); + }); + + it('ignores the override when targetCategory is a different category', () => { + setLabelStyleOverride({ + targetCategory: 'cluster', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.08, + glowColor: [0, 1, 0, 0.5], + glowEmFrac: 0.2, + }); + const sub = createYouAreHereSubsystem(); + const out = sub.produceLabels(makeState(), makeCtx()); + expect(out.labels).toHaveLength(1); + const label = out.labels[0]!; + expect(label.outlineColor).toBeUndefined(); + expect(label.outlineEmFrac).toBeUndefined(); + expect(label.glowColor).toBeUndefined(); + expect(label.glowEmFrac).toBeUndefined(); + }); +}); From a7f33ed7baced60e18b47d5190a7bb890e9d28fb Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:41:20 +0200 Subject: [PATCH 13/20] feat(labels): version-bump override so director re-flushes on edit Co-Authored-By: Claude Opus 4.7 --- src/services/engine/labelStyleOverride.ts | 13 +++ .../subsystems/labelDirectorSubsystem.ts | 17 ++- .../labelDirectorSubsystem.override.test.ts | 110 ++++++++++++++++++ 3 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts diff --git a/src/services/engine/labelStyleOverride.ts b/src/services/engine/labelStyleOverride.ts index f105b2e2..64e695f6 100644 --- a/src/services/engine/labelStyleOverride.ts +++ b/src/services/engine/labelStyleOverride.ts @@ -62,12 +62,24 @@ let current: LabelStyleOverride = { glowEmFrac: 0, }; +// Monotonic version counter — incremented on every set/clear. The +// label director includes this in its signature hash so an override +// edit triggers a re-flush even when the merged label set is +// id+fadeAlpha-stable. Cheaper than a listener channel and impossible +// to leak (no subscribers to forget to dispose). +let version = 0; + export function getLabelStyleOverride(): LabelStyleOverride { return current; } +export function getLabelStyleOverrideVersion(): number { + return version; +} + export function setLabelStyleOverride(next: LabelStyleOverride): void { current = next; + version++; } export function clearLabelStyleOverride(): void { @@ -78,4 +90,5 @@ export function clearLabelStyleOverride(): void { glowColor: [0, 0, 0, 0], glowEmFrac: 0, }; + version++; } diff --git a/src/services/engine/subsystems/labelDirectorSubsystem.ts b/src/services/engine/subsystems/labelDirectorSubsystem.ts index eba3d088..827fe3b3 100644 --- a/src/services/engine/subsystems/labelDirectorSubsystem.ts +++ b/src/services/engine/subsystems/labelDirectorSubsystem.ts @@ -41,6 +41,7 @@ import type { EngineState } from '../../../@types/engine/state/EngineState'; import type { Destroyable } from '../../../@types/rendering/Destroyable'; import type { LabelProducer } from '../../../@types/engine/subsystems/LabelProducer'; import type { LabelDirectorSubsystem } from '../../../@types/engine/subsystems/LabelDirectorSubsystem'; +import { getLabelStyleOverrideVersion } from '../labelStyleOverride'; export function createLabelDirectorSubsystem(): LabelDirectorSubsystem { let labelRenderer: LabelRenderer | null = null; @@ -64,7 +65,10 @@ export function createLabelDirectorSubsystem(): LabelDirectorSubsystem { } function signatureOf(labels: readonly Label[], lines: readonly MarkerLine[]): string { - // Cheap stable signature: per-entry `id:fadeAlpha`, joined. + // Cheap stable signature: per-entry `id:fadeAlpha`, joined, plus a + // trailing `;O:` term that tracks the labelStyleOverride + // module's monotonic version counter. + // // Re-upload triggers when ids/count change OR when any entry's // `fadeAlpha` differs from the prior frame. Including `fadeAlpha` // matters because the `youAreHereSubsystem` keeps the same `id` @@ -75,6 +79,15 @@ export function createLabelDirectorSubsystem(): LabelDirectorSubsystem { // appears at e.g. 0.1 alpha and never brightens as the camera // closes in.) // + // The override-version term forces a re-flush whenever the + // DebugPanel's LabelEffectsSection mutates `labelStyleOverride`. + // Producers consult the override at frame-build time to swap in + // outline+glow fields, but the producer's resulting Label objects + // still carry the same `id` and `fadeAlpha`, so without this term + // the director would short-circuit and a slider edit would have no + // visible effect until something else (camera motion, fade) bumped + // the signature. + // // We deliberately DON'T include world positions or colours — the // glyph layout in `labelRenderer.setLabels` is the expensive // step we're protecting; static-position producers (youAreHere, @@ -86,7 +99,7 @@ export function createLabelDirectorSubsystem(): LabelDirectorSubsystem { // from POI name which is part of the id space. const lIds = labels.map((l) => `${l.id}:${l.fadeAlpha ?? 1}`).join('|'); const mIds = lines.map((m) => `${m.id}:${m.fadeAlpha ?? 1}`).join('|'); - return `L:${labels.length}:${lIds};M:${lines.length}:${mIds}`; + return `L:${labels.length}:${lIds};M:${lines.length}:${mIds};O:${getLabelStyleOverrideVersion()}`; } function runFrame(state: EngineState, ctx: ReadyFrameContext): void { diff --git a/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts b/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts new file mode 100644 index 00000000..b6e00ea4 --- /dev/null +++ b/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts @@ -0,0 +1,110 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { createLabelDirectorSubsystem } from '../../../../src/services/engine/subsystems/labelDirectorSubsystem'; +import { + clearLabelStyleOverride, + setLabelStyleOverride, +} from '../../../../src/services/engine/labelStyleOverride'; +import type { LabelProducer } from '../../../../src/@types/engine/subsystems/LabelProducer'; +import type { Label } from '../../../../src/@types/rendering/Label'; +import type { MarkerLine } from '../../../../src/@types/rendering/MarkerLine'; +import type { ReadyFrameContext } from '../../../../src/@types/engine/frame/ReadyFrameContext'; +import type { EngineState } from '../../../../src/@types/engine/state/EngineState'; + +function makeState(requestRender: () => void = () => {}): EngineState { + return { subsystems: { scheduler: { requestRender } } } as unknown as EngineState; +} + +function makeCtx(): ReadyFrameContext { + return { drawCamPos: [0, 0, 0] } as unknown as ReadyFrameContext; +} + +function makeProducer(id: string, labels: Label[], lines: MarkerLine[], awake = false): LabelProducer { + return { id, produceLabels: () => ({ labels, lines, awake }) }; +} + +function makeLabelStub() { + return { setLabels: vi.fn(), render: vi.fn(), glyphCount: () => 0, labelCount: () => 0, destroy: vi.fn() }; +} +function makeLineStub() { + return { setLines: vi.fn(), render: vi.fn(), lineCount: () => 0, destroy: vi.fn() }; +} + +const SAMPLE_LABEL: Label = { + id: 'sample-label', + worldPos: [0, 0, 0], + text: 'x', + font: 'cormorant', + pixelSize: 10, +}; +const SAMPLE_LINE: MarkerLine = { + id: 'sample-line', + fromWorld: [0, 0, 0], + toWorld: [1, 0, 0], + pixelWidth: 1, + color: [1, 1, 1, 1], +}; + +describe('labelDirectorSubsystem — labelStyleOverride wake', () => { + // The override is process-wide module-scoped state; reset before each + // test so prior tests' mutations don't leak in. + beforeEach(() => { + clearLabelStyleOverride(); + }); + + it('re-flushes when the override changes even if merged labels are id+fadeAlpha-stable', () => { + const dir = createLabelDirectorSubsystem(); + const labelStub = makeLabelStub(); + const lineStub = makeLineStub(); + dir.attachRenderers(labelStub as never, lineStub as never); + // A constant producer — same single label + line, frame after frame. + // Without the override-version term in the signature, frames 2+ would + // short-circuit and skip the GPU upload. + dir.registerProducer(makeProducer('p', [SAMPLE_LABEL], [SAMPLE_LINE])); + + dir.runFrame(makeState(), makeCtx()); + dir.runFrame(makeState(), makeCtx()); + // Sanity: the dedupe path is intact for the stable producer. + expect(labelStub.setLabels).toHaveBeenCalledTimes(1); + expect(lineStub.setLines).toHaveBeenCalledTimes(1); + + // Edit the override. The producer's output is unchanged, but the + // director's signature must include the override version so the + // next frame re-flushes (so a DebugPanel slider edit takes effect + // immediately rather than waiting for some other invalidator). + setLabelStyleOverride({ + targetCategory: 'youAreHere', + outlineColor: [0, 0, 0, 1], + outlineEmFrac: 0.1, + glowColor: [0, 0, 0, 1], + glowEmFrac: 0.2, + }); + + dir.runFrame(makeState(), makeCtx()); + expect(labelStub.setLabels).toHaveBeenCalledTimes(2); + expect(lineStub.setLines).toHaveBeenCalledTimes(2); + }); + + it('re-flushes on clearLabelStyleOverride as well (both setter and clearer bump the version)', () => { + const dir = createLabelDirectorSubsystem(); + const labelStub = makeLabelStub(); + const lineStub = makeLineStub(); + dir.attachRenderers(labelStub as never, lineStub as never); + dir.registerProducer(makeProducer('p', [SAMPLE_LABEL], [SAMPLE_LINE])); + + // Prime with an override active so we start at version > 0. + setLabelStyleOverride({ + targetCategory: 'youAreHere', + outlineColor: [0, 0, 0, 1], + outlineEmFrac: 0.1, + glowColor: [0, 0, 0, 1], + glowEmFrac: 0.2, + }); + dir.runFrame(makeState(), makeCtx()); + dir.runFrame(makeState(), makeCtx()); + expect(labelStub.setLabels).toHaveBeenCalledTimes(1); + + clearLabelStyleOverride(); + dir.runFrame(makeState(), makeCtx()); + expect(labelStub.setLabels).toHaveBeenCalledTimes(2); + }); +}); From 950f63b7c7e4bc427653befed8c0fdcaf7545152 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:44:53 +0200 Subject: [PATCH 14/20] feat(debug): add LabelEffectsSection live-tuning controls Co-Authored-By: Claude Opus 4.7 --- src/components/DebugPanel/DebugPanel.tsx | 3 + .../DebugPanel/LabelEffectsSection.tsx | 127 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 src/components/DebugPanel/LabelEffectsSection.tsx diff --git a/src/components/DebugPanel/DebugPanel.tsx b/src/components/DebugPanel/DebugPanel.tsx index 50300470..07c498de 100644 --- a/src/components/DebugPanel/DebugPanel.tsx +++ b/src/components/DebugPanel/DebugPanel.tsx @@ -33,6 +33,7 @@ import { AssetLoadingSection } from './AssetLoadingSection'; import { GpuTimingsSection } from './GpuTimingsSection'; import { RenderTogglesSection } from './RenderTogglesSection'; import { DataQualitySection } from './DataQualitySection'; +import { LabelEffectsSection } from './LabelEffectsSection'; export type DebugPanelProps = { slots: ReadonlyMap>; @@ -82,6 +83,8 @@ export function DebugPanel({ onHighlightFallbackChange={onHighlightFallbackChange} onRealOnlyModeChange={onRealOnlyModeChange} /> +

); } diff --git a/src/components/DebugPanel/LabelEffectsSection.tsx b/src/components/DebugPanel/LabelEffectsSection.tsx new file mode 100644 index 00000000..f07907da --- /dev/null +++ b/src/components/DebugPanel/LabelEffectsSection.tsx @@ -0,0 +1,127 @@ +/** + * LabelEffectsSection — live-tuning controls for the label outline + + * glow effects. + * + * ## Workflow + * + * 1. Pick a target category from the dropdown. + * 2. Tune outline colour + em-fraction and glow colour + em-fraction + * via the four controls. Changes apply on the next frame; the + * label director re-flushes when the override version increments. + * 3. Once the values look right, commit them into `POI_STYLES.` + * or `youAreHereSubsystem.ts`'s producer defaults as a follow-up + * edit. The override is a temporary hook, not a long-term storage + * location. + * + * ## Why a single override slot + a dropdown + * + * See `labelStyleOverride.ts`'s docstring — the per-category record + * alternative was rejected because it invites stale values to leak + * across category switches. + * + * ## Why these specific control ranges + * + * - `outlineEmFrac` slider: 0 to 0.2. Beyond 0.2 the outline starts + * eating into adjacent labels at typical em sizes; 0.05–0.1 is the + * readable sweet spot. + * - `glowEmFrac` slider: 0 to 0.5. Glow can extend further than the + * outline before becoming visually noisy; 0.15–0.3 is the typical + * "soft halo behind the text" range. + * + * ## Why `useEffect` and not a render-time setter call + * + * Calling `setLabelStyleOverride` during render would be a React + * anti-pattern (side effects during render are officially discouraged + * and trigger strict-mode warnings / double-fires). A `useEffect` + * synchronised to the seven control values fires once per commit and + * stays cheap. + */ + +import { useEffect, useState, type ReactElement } from 'react'; +import { + setLabelStyleOverride, + clearLabelStyleOverride, + type LabelStyleOverrideTarget, +} from '../../services/engine/labelStyleOverride'; +import type { Vec4 } from '../../@types/math/Vec4'; + +const CATEGORIES: readonly LabelStyleOverrideTarget[] = [ + 'youAreHere', + 'cluster', + 'supercluster', + 'famousGalaxy', + 'void', +]; + +function hexToRgb(hex: string): [number, number, number] { + const m = /^#?([0-9a-f]{6})$/i.exec(hex); + if (!m) return [1, 1, 1]; + const n = parseInt(m[1]!, 16); + return [((n >> 16) & 0xff) / 255, ((n >> 8) & 0xff) / 255, (n & 0xff) / 255]; +} + +export function LabelEffectsSection(): ReactElement { + const [target, setTarget] = useState(''); + const [outlineHex, setOutlineHex] = useState('#000000'); + const [outlineAlpha, setOutlineAlpha] = useState(1); + const [outlineEmFrac, setOutlineEmFrac] = useState(0.05); + const [glowHex, setGlowHex] = useState('#ffffff'); + const [glowAlpha, setGlowAlpha] = useState(0.4); + const [glowEmFrac, setGlowEmFrac] = useState(0.2); + + useEffect(() => { + if (target === '') { + clearLabelStyleOverride(); + return; + } + const [or, og, ob] = hexToRgb(outlineHex); + const [gr, gg, gb] = hexToRgb(glowHex); + const outlineColor: Vec4 = [or, og, ob, outlineAlpha]; + const glowColor: Vec4 = [gr, gg, gb, glowAlpha]; + setLabelStyleOverride({ + targetCategory: target, + outlineColor, + outlineEmFrac, + glowColor, + glowEmFrac, + }); + }, [target, outlineHex, outlineAlpha, outlineEmFrac, glowHex, glowAlpha, glowEmFrac]); + + const labelStyle = { display: 'flex', alignItems: 'center', gap: 6, cursor: 'pointer' } as const; + return ( +
+ Label Effects +
+ + + + + +
+
+ ); +} From 8863df6a361821b74d906cc9ddb2c334f1ff837e Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:46:57 +0200 Subject: [PATCH 15/20] fix(debug): clear label override on LabelEffectsSection unmount Closing the DebugPanel mid-tune left the override active indefinitely, which surprised users coming from the "(off)" dropdown's clean exit. Add the cleanup so panel toggle and dropdown reset behave the same. Co-Authored-By: Claude Opus 4.7 --- src/components/DebugPanel/LabelEffectsSection.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/DebugPanel/LabelEffectsSection.tsx b/src/components/DebugPanel/LabelEffectsSection.tsx index f07907da..873fc78b 100644 --- a/src/components/DebugPanel/LabelEffectsSection.tsx +++ b/src/components/DebugPanel/LabelEffectsSection.tsx @@ -69,6 +69,11 @@ export function LabelEffectsSection(): ReactElement { const [glowAlpha, setGlowAlpha] = useState(0.4); const [glowEmFrac, setGlowEmFrac] = useState(0.2); + // The cleanup clears the override on unmount so toggling the + // DebugPanel off restores production label styling even if the + // dropdown was still pointing at a category. Without it, closing + // the panel mid-tune would leave the engine applying outline/glow + // forever — surprising asymmetry with the dropdown's own "(off)". useEffect(() => { if (target === '') { clearLabelStyleOverride(); @@ -85,6 +90,7 @@ export function LabelEffectsSection(): ReactElement { glowColor, glowEmFrac, }); + return () => clearLabelStyleOverride(); }, [target, outlineHex, outlineAlpha, outlineEmFrac, glowHex, glowAlpha, glowEmFrac]); const labelStyle = { display: 'flex', alignItems: 'center', gap: 6, cursor: 'pointer' } as const; From 110bf7be96be5cc5f9ab4ff8e5b57bf0cde076b1 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 02:57:49 +0200 Subject: [PATCH 16/20] fix(labels): wake render-on-demand loop on label-style override edit The version counter alone only forces a re-flush IF a frame is already running. Render-on-demand sits idle between user inputs, so DebugPanel slider edits stayed invisible until the user moved the mouse. Add a registered wake callback; engine bootstrap wires it to scheduler.requestRender so every set/clear pumps the loop on the next tick. Tests can leave the callback unregistered. Co-Authored-By: Claude Opus 4.7 --- src/services/engine/engine.ts | 11 +++++++++ src/services/engine/labelStyleOverride.ts | 20 ++++++++++++++++ .../engine/labelStyleOverride.test.ts | 23 ++++++++++++++++++- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/services/engine/engine.ts b/src/services/engine/engine.ts index 1d89ee6b..15785255 100644 --- a/src/services/engine/engine.ts +++ b/src/services/engine/engine.ts @@ -113,6 +113,7 @@ import { createSelectionSubsystem } from './subsystems/selectionSubsystem'; import { createBiasCorrectionSubsystem } from './subsystems/biasCorrectionSubsystem'; import { createYouAreHereSubsystem } from './subsystems/youAreHereSubsystem'; import { createLabelDirectorSubsystem } from './subsystems/labelDirectorSubsystem'; +import { registerLabelStyleOverrideWake } from './labelStyleOverride'; import { createPoiSubsystem } from './subsystems/poiSubsystem'; import { createFpsCounter } from './subsystems/fpsCounter'; import { HDR_PASSES, UI_PASSES } from './frame/passes'; @@ -698,6 +699,16 @@ export function createEngine(canvas: HTMLCanvasElement, cb: EngineCallbacks): En state.subsystems.labelDirector.registerProducer(state.subsystems.youAreHere); state.subsystems.labelDirector.registerProducer(state.subsystems.pois); + // ── Wake on label-style override edits ──────────────────────────────── + // + // The DebugPanel's LabelEffectsSection writes to `labelStyleOverride`, + // which bumps a version counter that the label director reads from its + // signature hash. But render-on-demand only consults that hash inside + // an active frame — slider edits at idle would sit invisible until the + // user nudged the camera. Registering scheduler.requestRender here + // closes the loop: every set/clear wakes the loop on the next tick. + registerLabelStyleOverrideWake(() => state.subsystems.scheduler.requestRender()); + // ── Cleanup function returned by `attachOrbitControls` ───────────────── // Orbit-controls attachment lives outside `inputBindings` because it // needs a fully-constructed OrbitCamera which doesn't exist at diff --git a/src/services/engine/labelStyleOverride.ts b/src/services/engine/labelStyleOverride.ts index 64e695f6..a52c1954 100644 --- a/src/services/engine/labelStyleOverride.ts +++ b/src/services/engine/labelStyleOverride.ts @@ -69,6 +69,13 @@ let current: LabelStyleOverride = { // to leak (no subscribers to forget to dispose). let version = 0; +// Wake callback — the engine bootstrap registers a closure that calls +// `scheduler.requestRender()`. Without this, the version bump only +// causes a re-flush IF a frame happens to run; render-on-demand sits +// idle until the user nudges the mouse. Registration is module-scoped +// because the override has no constructor seam to receive deps. +let wake: (() => void) | null = null; + export function getLabelStyleOverride(): LabelStyleOverride { return current; } @@ -80,6 +87,7 @@ export function getLabelStyleOverrideVersion(): number { export function setLabelStyleOverride(next: LabelStyleOverride): void { current = next; version++; + wake?.(); } export function clearLabelStyleOverride(): void { @@ -91,4 +99,16 @@ export function clearLabelStyleOverride(): void { glowEmFrac: 0, }; version++; + wake?.(); +} + +/** + * Register a wake callback fired on every override set/clear. The + * engine's bootstrap wires this to `scheduler.requestRender()` so a + * DebugPanel slider edit wakes the render-on-demand loop in addition + * to bumping the director's signature hash. Tests can leave this + * unregistered — the version counter still works. + */ +export function registerLabelStyleOverrideWake(fn: () => void): void { + wake = fn; } diff --git a/tests/services/engine/labelStyleOverride.test.ts b/tests/services/engine/labelStyleOverride.test.ts index c718d83a..acd56eb4 100644 --- a/tests/services/engine/labelStyleOverride.test.ts +++ b/tests/services/engine/labelStyleOverride.test.ts @@ -1,13 +1,17 @@ -import { describe, it, expect, beforeEach } from 'vitest'; +import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { getLabelStyleOverride, setLabelStyleOverride, clearLabelStyleOverride, + registerLabelStyleOverrideWake, type LabelStyleOverrideTarget, } from '../../../src/services/engine/labelStyleOverride'; describe('labelStyleOverride', () => { beforeEach(() => clearLabelStyleOverride()); + // Always reinstall a no-op wake at teardown so a test that registered + // a counter doesn't leak its closure into the next file's runs. + afterEach(() => registerLabelStyleOverrideWake(() => {})); it('returns null target when no override is set', () => { expect(getLabelStyleOverride().targetCategory).toBeNull(); @@ -40,4 +44,21 @@ describe('labelStyleOverride', () => { clearLabelStyleOverride(); expect(getLabelStyleOverride().targetCategory).toBeNull(); }); + + it('fires the registered wake callback on set and clear', () => { + let wakes = 0; + registerLabelStyleOverrideWake(() => { + wakes++; + }); + setLabelStyleOverride({ + targetCategory: 'cluster', + outlineColor: [1, 0, 0, 1], + outlineEmFrac: 0.05, + glowColor: [0, 0, 1, 0.5], + glowEmFrac: 0.2, + }); + expect(wakes).toBe(1); + clearLabelStyleOverride(); + expect(wakes).toBe(2); + }); }); From 53a39e4087087d1ff33f0aafa7cb13d75f3cb7e7 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 11:37:34 +0200 Subject: [PATCH 17/20] fix(labels): widen atlas padding so glow doesn't bleed into neighbours MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit texturePadding was 2 — fine for the prior 4-pixel SDF range but way too tight after the bump to distanceRange=16. Any glow extent past ~5 atlas px sampled into the next glyph's pixels, surfacing as recognisable letter fragments around the halo at glowEmFrac > 0.13. Bump padding to 12, the max that keeps the atlas in a single 512x512 page. The resulting cap is glowEmFrac <= 0.28 (~12 atlas px), which comfortably covers the 0.15-0.25 "soft halo" target range. Clamp the slider to match so the UI can't dial past the safe zone. Co-Authored-By: Claude Opus 4.7 --- public/fonts/cormorant.json | 366 +++++++++--------- public/fonts/cormorant.png | Bin 187557 -> 187330 bytes .../DebugPanel/LabelEffectsSection.tsx | 10 +- tools/fonts/buildFontAtlas.ts | 9 +- 4 files changed, 197 insertions(+), 188 deletions(-) diff --git a/public/fonts/cormorant.json b/public/fonts/cormorant.json index 355f3ebb..cfa6736f 100644 --- a/public/fonts/cormorant.json +++ b/public/fonts/cormorant.json @@ -28,7 +28,7 @@ "xadvance": 39, "chnl": 15, "x": 0, - "y": 60, + "y": 70, "page": 0 }, { @@ -41,7 +41,7 @@ "yoffset": 0, "xadvance": 15, "chnl": 15, - "x": 31, + "x": 41, "y": 0, "page": 0 }, @@ -56,7 +56,7 @@ "xadvance": 15, "chnl": 15, "x": 0, - "y": 104, + "y": 124, "page": 0 }, { @@ -70,7 +70,7 @@ "xadvance": 7, "chnl": 15, "x": 0, - "y": 160, + "y": 190, "page": 0 }, { @@ -84,7 +84,7 @@ "xadvance": 11, "chnl": 15, "x": 0, - "y": 216, + "y": 256, "page": 0 }, { @@ -97,8 +97,8 @@ "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 20, - "y": 160, + "x": 30, + "y": 190, "page": 0 }, { @@ -111,8 +111,8 @@ "yoffset": 1, "xadvance": 13, "chnl": 15, - "x": 30, - "y": 104, + "x": 40, + "y": 124, "page": 0 }, { @@ -126,7 +126,7 @@ "xadvance": 13, "chnl": 15, "x": 0, - "y": 271, + "y": 321, "page": 0 }, { @@ -139,8 +139,8 @@ "yoffset": 4, "xadvance": 32, "chnl": 15, - "x": 25, - "y": 214, + "x": 35, + "y": 254, "page": 0 }, { @@ -153,8 +153,8 @@ "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 53, - "y": 157, + "x": 73, + "y": 187, "page": 0 }, { @@ -167,8 +167,8 @@ "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 58, - "y": 56, + "x": 78, + "y": 66, "page": 0 }, { @@ -181,7 +181,7 @@ "yoffset": 1, "xadvance": 12, "chnl": 15, - "x": 61, + "x": 81, "y": 0, "page": 0 }, @@ -196,7 +196,7 @@ "xadvance": 12, "chnl": 15, "x": 0, - "y": 324, + "y": 384, "page": 0 }, { @@ -209,8 +209,8 @@ "yoffset": 5, "xadvance": 36, "chnl": 15, - "x": 58, - "y": 109, + "x": 78, + "y": 129, "page": 0 }, { @@ -223,8 +223,8 @@ "yoffset": 1, "xadvance": 22, "chnl": 15, - "x": 83, - "y": 53, + "x": 113, + "y": 63, "page": 0 }, { @@ -237,7 +237,7 @@ "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 88, + "x": 118, "y": 0, "page": 0 }, @@ -252,7 +252,7 @@ "xadvance": 32, "chnl": 15, "x": 0, - "y": 377, + "y": 447, "page": 0 }, { @@ -265,8 +265,8 @@ "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 27, - "y": 324, + "x": 37, + "y": 384, "page": 0 }, { @@ -279,8 +279,8 @@ "yoffset": 1, "xadvance": 13, "chnl": 15, - "x": 28, - "y": 267, + "x": 38, + "y": 317, "page": 0 }, { @@ -293,8 +293,8 @@ "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 63, - "y": 267, + "x": 83, + "y": 317, "page": 0 }, { @@ -307,8 +307,8 @@ "yoffset": 1, "xadvance": 21, "chnl": 15, - "x": 72, - "y": 210, + "x": 92, + "y": 250, "page": 0 }, { @@ -321,8 +321,8 @@ "yoffset": 1, "xadvance": 11, "chnl": 15, - "x": 78, - "y": 153, + "x": 108, + "y": 183, "page": 0 }, { @@ -335,8 +335,8 @@ "yoffset": 15, "xadvance": 29, "chnl": 15, - "x": 105, - "y": 153, + "x": 140, + "y": 122, "page": 0 }, { @@ -349,8 +349,8 @@ "yoffset": 14, "xadvance": 16, "chnl": 15, - "x": 110, - "y": 102, + "x": 161, + "y": 59, "page": 0 }, { @@ -363,8 +363,8 @@ "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 121, - "y": 49, + "x": 166, + "y": 0, "page": 0 }, { @@ -377,8 +377,8 @@ "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 126, - "y": 0, + "x": 59, + "y": 439, "page": 0 }, { @@ -391,8 +391,8 @@ "yoffset": 5, "xadvance": 32, "chnl": 15, - "x": 142, - "y": 96, + "x": 95, + "y": 375, "page": 0 }, { @@ -405,8 +405,8 @@ "yoffset": 5, "xadvance": 31, "chnl": 15, - "x": 152, - "y": 47, + "x": 132, + "y": 308, "page": 0 }, { @@ -419,8 +419,8 @@ "yoffset": 7, "xadvance": 18, "chnl": 15, - "x": 160, - "y": 0, + "x": 141, + "y": 241, "page": 0 }, { @@ -433,8 +433,8 @@ "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 192, - "y": 0, + "x": 145, + "y": 166, "page": 0 }, { @@ -447,8 +447,8 @@ "yoffset": 3, "xadvance": 20, "chnl": 15, - "x": 0, - "y": 412, + "x": 183, + "y": 222, "page": 0 }, { @@ -461,8 +461,8 @@ "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 0, - "y": 458, + "x": 103, + "y": 429, "page": 0 }, { @@ -475,8 +475,8 @@ "yoffset": 4, "xadvance": 32, "chnl": 15, - "x": 35, - "y": 412, + "x": 148, + "y": 429, "page": 0 }, { @@ -489,8 +489,8 @@ "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 35, - "y": 457, + "x": 152, + "y": 363, "page": 0 }, { @@ -503,8 +503,8 @@ "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 75, - "y": 315, + "x": 189, + "y": 278, "page": 0 }, { @@ -517,8 +517,8 @@ "yoffset": 5, "xadvance": 28, "chnl": 15, - "x": 75, - "y": 360, + "x": 200, + "y": 116, "page": 0 }, { @@ -531,8 +531,8 @@ "yoffset": 3, "xadvance": 25, "chnl": 15, - "x": 102, - "y": 258, + "x": 203, + "y": 57, "page": 0 }, { @@ -545,8 +545,8 @@ "yoffset": 14, "xadvance": 19, "chnl": 15, - "x": 111, - "y": 187, + "x": 207, + "y": 0, "page": 0 }, { @@ -559,8 +559,8 @@ "yoffset": 14, "xadvance": 22, "chnl": 15, - "x": 81, - "y": 404, + "x": 204, + "y": 417, "page": 0 }, { @@ -573,8 +573,8 @@ "yoffset": 14, "xadvance": 21, "chnl": 15, - "x": 81, - "y": 450, + "x": 208, + "y": 333, "page": 0 }, { @@ -587,8 +587,8 @@ "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 118, - "y": 450, + "x": 228, + "y": 170, "page": 0 }, { @@ -601,8 +601,8 @@ "yoffset": 5, "xadvance": 11, "chnl": 15, - "x": 119, - "y": 404, + "x": 245, + "y": 226, "page": 0 }, { @@ -615,8 +615,8 @@ "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 121, - "y": 304, + "x": 252, + "y": 0, "page": 0 }, { @@ -629,8 +629,8 @@ "yoffset": 5, "xadvance": 24, "chnl": 15, - "x": 121, - "y": 349, + "x": 252, + "y": 55, "page": 0 }, { @@ -643,8 +643,8 @@ "yoffset": 4, "xadvance": 29, "chnl": 15, - "x": 142, - "y": 394, + "x": 292, + "y": 0, "page": 0 }, { @@ -657,8 +657,8 @@ "yoffset": 5, "xadvance": 29, "chnl": 15, - "x": 141, - "y": 233, + "x": 256, + "y": 110, "page": 0 }, { @@ -671,8 +671,8 @@ "yoffset": 4, "xadvance": 30, "chnl": 15, - "x": 146, - "y": 187, + "x": 301, + "y": 55, "page": 0 }, { @@ -685,8 +685,8 @@ "yoffset": 4, "xadvance": 21, "chnl": 15, - "x": 153, - "y": 140, + "x": 345, + "y": 0, "page": 0 }, { @@ -699,8 +699,8 @@ "yoffset": 4, "xadvance": 27, "chnl": 15, - "x": 187, - "y": 140, + "x": 276, + "y": 165, "page": 0 }, { @@ -713,8 +713,8 @@ "yoffset": 5, "xadvance": 27, "chnl": 15, - "x": 189, - "y": 92, + "x": 310, + "y": 110, "page": 0 }, { @@ -727,8 +727,8 @@ "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 199, - "y": 46, + "x": 356, + "y": 55, "page": 0 }, { @@ -741,8 +741,8 @@ "yoffset": 5, "xadvance": 22, "chnl": 15, - "x": 151, - "y": 278, + "x": 389, + "y": 0, "page": 0 }, { @@ -755,8 +755,8 @@ "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 185, - "y": 232, + "x": 435, + "y": 0, "page": 0 }, { @@ -769,8 +769,8 @@ "yoffset": 5, "xadvance": 27, "chnl": 15, - "x": 191, - "y": 185, + "x": 403, + "y": 54, "page": 0 }, { @@ -783,8 +783,8 @@ "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 229, - "y": 136, + "x": 474, + "y": 0, "page": 0 }, { @@ -797,8 +797,8 @@ "yoffset": 5, "xadvance": 23, "chnl": 15, - "x": 234, - "y": 90, + "x": 457, + "y": 54, "page": 0 }, { @@ -811,8 +811,8 @@ "yoffset": 5, "xadvance": 26, "chnl": 15, - "x": 236, - "y": 46, + "x": 403, + "y": 108, "page": 0 }, { @@ -825,8 +825,8 @@ "yoffset": 14, "xadvance": 19, "chnl": 15, - "x": 237, - "y": 0, + "x": 457, + "y": 108, "page": 0 }, { @@ -839,8 +839,8 @@ "yoffset": 7, "xadvance": 21, "chnl": 15, - "x": 272, - "y": 0, + "x": 457, + "y": 161, "page": 0 }, { @@ -853,8 +853,8 @@ "yoffset": 10, "xadvance": 30, "chnl": 15, - "x": 160, - "y": 322, + "x": 365, + "y": 162, "page": 0 }, { @@ -867,8 +867,8 @@ "yoffset": 6, "xadvance": 11, "chnl": 15, - "x": 187, - "y": 276, + "x": 365, + "y": 109, "page": 0 }, { @@ -881,8 +881,8 @@ "yoffset": 11, "xadvance": 22, "chnl": 15, - "x": 156, - "y": 439, + "x": 245, + "y": 281, "page": 0 }, { @@ -895,8 +895,8 @@ "yoffset": 7, "xadvance": 24, "chnl": 15, - "x": 185, - "y": 365, + "x": 278, + "y": 220, "page": 0 }, { @@ -909,8 +909,8 @@ "yoffset": 15, "xadvance": 10, "chnl": 15, - "x": 49, - "y": 369, + "x": 328, + "y": 164, "page": 0 }, { @@ -923,8 +923,8 @@ "yoffset": 14, "xadvance": 22, "chnl": 15, - "x": 203, - "y": 319, + "x": 204, + "y": 473, "page": 0 }, { @@ -937,8 +937,8 @@ "yoffset": 14, "xadvance": 21, "chnl": 15, - "x": 214, - "y": 229, + "x": 252, + "y": 389, "page": 0 }, { @@ -951,8 +951,8 @@ "yoffset": 12, "xadvance": 14, "chnl": 15, - "x": 235, - "y": 180, + "x": 255, + "y": 333, "page": 0 }, { @@ -965,8 +965,8 @@ "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 214, - "y": 264, + "x": 290, + "y": 272, "page": 0 }, { @@ -979,8 +979,8 @@ "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 191, - "y": 407, + "x": 328, + "y": 216, "page": 0 }, { @@ -993,8 +993,8 @@ "yoffset": 14, "xadvance": 20, "chnl": 15, - "x": 225, - "y": 354, + "x": 296, + "y": 316, "page": 0 }, { @@ -1007,8 +1007,8 @@ "yoffset": 15, "xadvance": 18, "chnl": 15, - "x": 242, - "y": 298, + "x": 337, + "y": 261, "page": 0 }, { @@ -1021,8 +1021,8 @@ "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 191, - "y": 442, + "x": 374, + "y": 215, "page": 0 }, { @@ -1035,8 +1035,8 @@ "yoffset": 13, "xadvance": 17, "chnl": 15, - "x": 191, - "y": 478, + "x": 253, + "y": 434, "page": 0 }, { @@ -1049,8 +1049,8 @@ "yoffset": 14, "xadvance": 17, "chnl": 15, - "x": 223, - "y": 442, + "x": 295, + "y": 434, "page": 0 }, { @@ -1063,8 +1063,8 @@ "yoffset": 19, "xadvance": 20, "chnl": 15, - "x": 156, - "y": 481, + "x": 103, + "y": 485, "page": 0 }, { @@ -1077,8 +1077,8 @@ "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 223, - "y": 477, + "x": 295, + "y": 479, "page": 0 }, { @@ -1091,8 +1091,8 @@ "yoffset": 14, "xadvance": 18, "chnl": 15, - "x": 227, - "y": 389, + "x": 301, + "y": 361, "page": 0 }, { @@ -1105,8 +1105,8 @@ "yoffset": 14, "xadvance": 17, "chnl": 15, - "x": 255, - "y": 424, + "x": 342, + "y": 305, "page": 0 }, { @@ -1119,8 +1119,8 @@ "yoffset": 14, "xadvance": 16, "chnl": 15, - "x": 260, - "y": 389, + "x": 337, + "y": 406, "page": 0 }, { @@ -1133,8 +1133,8 @@ "yoffset": 14, "xadvance": 14, "chnl": 15, - "x": 257, - "y": 459, + "x": 418, + "y": 162, "page": 0 }, { @@ -1147,8 +1147,8 @@ "yoffset": 2, "xadvance": 19, "chnl": 15, - "x": 251, - "y": 264, + "x": 383, + "y": 261, "page": 0 }, { @@ -1162,7 +1162,7 @@ "xadvance": 14, "chnl": 15, "x": 253, - "y": 218, + "y": 480, "page": 0 }, { @@ -1175,8 +1175,8 @@ "yoffset": 15, "xadvance": 9, "chnl": 15, - "x": 266, - "y": 180, + "x": 416, + "y": 215, "page": 0 }, { @@ -1189,8 +1189,8 @@ "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 268, - "y": 134, + "x": 344, + "y": 350, "page": 0 }, { @@ -1203,8 +1203,8 @@ "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 272, - "y": 90, + "x": 385, + "y": 305, "page": 0 }, { @@ -1217,8 +1217,8 @@ "yoffset": 21, "xadvance": 19, "chnl": 15, - "x": 242, - "y": 332, + "x": 0, + "y": 492, "page": 0 }, { @@ -1231,8 +1231,8 @@ "yoffset": 16, "xadvance": 17, "chnl": 15, - "x": 261, - "y": 354, + "x": 427, + "y": 259, "page": 0 }, { @@ -1245,8 +1245,8 @@ "yoffset": 32, "xadvance": 17, "chnl": 15, - "x": 257, - "y": 494, + "x": 148, + "y": 484, "page": 0 }, { @@ -1259,8 +1259,8 @@ "yoffset": 4, "xadvance": 12, "chnl": 15, - "x": 286, - "y": 459, + "x": 449, + "y": 214, "page": 0 }, { @@ -1273,8 +1273,8 @@ "yoffset": 4, "xadvance": 6, "chnl": 15, - "x": 288, - "y": 424, + "x": 487, + "y": 214, "page": 0 }, { @@ -1287,8 +1287,8 @@ "yoffset": 27, "xadvance": 9, "chnl": 15, - "x": 280, - "y": 43, + "x": 469, + "y": 254, "page": 0 }, { @@ -1301,8 +1301,8 @@ "yoffset": 4, "xadvance": 16, "chnl": 15, - "x": 303, - "y": 43, + "x": 469, + "y": 294, "page": 0 }, { @@ -1315,8 +1315,8 @@ "yoffset": 5, "xadvance": 14, "chnl": 15, - "x": 308, - "y": 0, + "x": 428, + "y": 301, "page": 0 }, { @@ -1329,8 +1329,8 @@ "yoffset": 20, "xadvance": 14, "chnl": 15, - "x": 275, - "y": 332, + "x": 468, + "y": 333, "page": 0 }, { @@ -1343,8 +1343,8 @@ "yoffset": 0, "xadvance": 9, "chnl": 15, - "x": 160, - "y": 365, + "x": 428, + "y": 340, "page": 0 }, { @@ -1357,8 +1357,8 @@ "yoffset": 27, "xadvance": 9, "chnl": 15, - "x": 111, - "y": 233, + "x": 387, + "y": 347, "page": 0 }, { @@ -1371,8 +1371,8 @@ "yoffset": 31, "xadvance": 10, "chnl": 15, - "x": 20, - "y": 214, + "x": 132, + "y": 363, "page": 0 } ], diff --git a/public/fonts/cormorant.png b/public/fonts/cormorant.png index 8c1a86ab18e12a89432ebca1c7b9b7e3a6ddd786..044bf2960b292a0a16308f1275913d9f5c6bb1b5 100644 GIT binary patch literal 187330 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 W$E*JkCp`auaOr3poFiynjr{+{d-iJp literal 187557 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%0Aa&u3 z?%+XK#@tt7>-2C?)f>1W6eUfcK)_`kR3HyBbhQdJ3hoqe6}(a#VkOLmjE|5r3D>MB zrt#s<*Ff(vEz-*L^kdPNDZu-ILVy(Aif=rQ{0{W!_tZ-eyMx@&PM7)o57%b7wRpBr z{O(1Y6SGEKK*Z?ufh5}ycssn%BOccx3 z($r(5roi3qK!q-KjcP%hnQ*Jox;0h{!yd&1xDnfp;9C7Xxmsb|6D z$&y*=%+t6Kl}PS(hm`$HuI~lb%cZ@jv7~;3rt3}RNc8}1r12&i+)#+~QDvuE#Su_f zaQ1iaYZ7m1YvBizLjCXbFmo8`v{p z*;8jk=9CGVp{}M?KWM(FaVd(J>5nxP(1In!*ix7wM}$a+bcb|YtN+O+ z)ux^=vKU+AQSd7m%8b9a`lc6JJjwvLC~~qEvltQ>1{pMo@B77X`U;;6U8N7~;j8}~ z%;787@yugW+SCvd5oqlq${MSN0-h0N{XNHU-W;KOG$G9ng7b3r&V7Nv>+QyYNdc4| zWN6Od2SGME>njBs{c-;5Gih*kfiu9iIT^yp-ZD+wV`68O0I96+ECH1E_TM5LJ?UC< zUYbb(70$}B^sE5~ihN3ZdVD&72|?)^6gb6SW5Jc*=O>SQf(3kFhM7IPS+E|!gdO)E z`yZf1AH{*$vRSjFJzUFA2&Zfqi(UuKf`6Uos}KOxk68r6$4ejEAuod<$4=Ts=RVEl zIvsXpN2o^(Qjl^;F&dJ`rpkBf4myS1H*c9=VrQ>C)$CTsz+v_c(YVdF|H&8pM8pk* zK`Edaz`6S%{nbDp=2z`#c8DAMu5w5o06jlaeKk&Q5NjI0W{ZN*mJUXb@Zki2HZA=W zn@mlV0MqT&)<$hRcs8ZClPAT&GzLZw-`IZw;Ax?5m@X4AEH`vWG7@S6HcZ9GNQ0

id_-7bPL%-~5B(yVj)T33EHNIZ+doB49Cd-}GBBP=e$1a3}V) zID#FSHI(|=d_R`>MBUb8et&Shb$m^A|LXpyZ8ZbPW)P@X&>3S8&`mAD=5Oa?^}$l< z(tZ^1TdvkxKzYNwxw*l;137^U&tF}6&Z=Jy_dA*AtP)(s1B_Vi$7jS8Ixwbc+}m|=_TMQHOj?aS)()=yK8(>Z&a zO^Hp(S<_il=!xjJyrGx!)`%hZ^IzXn6NQ;t51`Gz#yK_!Uv{Q{4|A^duK6Tb< zM4>rApxU&*pZyrnfU14#H<0Hs`;*~0`B)1^VL&3iy3>l4mlc7<_6w3@jP%T;6`D+ zA4sj=!8%LO6RHYm8fpOxW;gZ!%=eMsZa4#00(2*YSb5$AHBT1LJ@(dZ$VQ^&GYVbL zge4S0`LYGHV3s&_d3M863sfI+z{gk5Qt#jIh4szZZO$W_OnQS2Yc)*`#Z|;lc++me z`;dLQ8_r3(Q$8fAZ&IzB8K&h8MMX~IRnEjz8&wIF&w&PNHDyMzL)2{}auf)U=J~a* zZmqvF-x>e^*!mK9DBG|9&(o?WS;`h7DpK~W*(xL=A^VnnCuCpx71^VZeR(1j%?Q~U z$(C%%7Gude_Q7E6{^uU`{NDHfdGG5sGfz*;+~+#yTxb2BB}l8TUAu}|x^@n~J6Pnj zamI7*_>2@RFbLJ>X2qgoqX`BM`i0y;i>3?j-4HVoco$M&`dt#GOs+0zpKgOK1fdD4 z3v8YO$EsbK5erU|B_-#{=VwpsFaDrc++x?o=xiJ^=C4Wceac5>d<65EzLhVV5U#PE zadv-V$*=cyY)B`k>sAnzuOOs=lUOfWt*64_dg3XSZ&c)&!(AOmk8tZywKb=#-h*=Y zrqScN+`PPn_QiVK|0P`Ro9ny{7p%ZL^Q}uUYE^_9kQfjnJugY?wo=Up-8r04@tCiD zK)?ebKty1{5Tz+a;bxe{P@NE?zH@&&O-gD3-8a7}UTIJWrPUVZX7jc@kr(vi&NVRf zYa7$L-a~}qj?>7mXD3%!H+Wl~HuOENYAVW?xH!C3JEd%E_&S=o$<{Ci!m?Uf08hf* zV%z>UwrBj6B#R1;NtJLJA1B4(S;8=mg<8c z2ON=ke#1Hmd@Krx0_5KfZFvrra2CtWDHt|{HQ?MIziEf*LrS^ktZ%{X78N?kTe#f?u5H2Ep2VpG^B~&bh%T=PoK(HNJYvWTB}uqCta5P zv2c|73g*zeLI8QgoE*w{?}P%_kguWqkjI*fT6$XdoTi_DZ(7;`3(_GBSS(x&ZO1(f zhE#w|VDmy?=L*}AZ46LvPPo#jXwJ=}+h|4XW z5R2aSTl2gK?t(vO<1b+QpCa&lY)JVS-_!(HX6n{$s(MtU6Jth*Tt*IxIHkM_v2cp6 zz*Ey4VO2rUZr1%{(qfX6O@4}?wR!0gmeYlYcOt9hG`kPwu1bTBv19ZTt!v*1V7M6Y z+A{%hWqO^Po<0kUd^&?WbcpVQPFv!O0y_r}W<{mI&nbg=j0TOA*UEf<45w-uMDc;T zBXr2W=9e2eXX0h_yrto%2hr`)k@VJ?h7?c*(&DO0CWg9ne2xDIvubvy^!RBL4gI{; zfl<9Rf!rxQvE5YNga`T>tdwrL54r^=hT(kkl-#+3#b90HTubmE>O%zA_0`zPs*@&N zKI@+Iw=TC|gXF)3c1Z?vgAkn88u7yzzquHk)ySh?OTznfdp=Jl`ki>iJ9-x40$;Y4 zU+;JeHo6wqB?0u5vbU-&BrBR1O1ve-C~D+uOH(tcIRZn5IbmB2QzO^Sb18h^wZ8b~6f?&)c0uwDDj%q4H;8@4|E-PcfNwALcurb}7N z>FO=O3Fee4oTNH*eC>$*DL5FyDOjq~rb}XLAoiv%s8u&j+4~(DJo0xTktd~E>`|^& z0`r?Aa;@a5{;NLj9D8H;OLR>LQy&n! z;eeqjo}Aq;cG`mDu}S|`cT&}p8lZKrW_zBSN}L6)nV^+R8fXM{EuxQ0&GxAyGQBCQ zi=2Gmf+Dv_a(Fm|f&P9*`CI&xlktV{)KHL&Tm~Psz#t-V^C?+PDM`7`<2hYFD_bT< zXF_pSXox(ztsSU|)pq9tFR?R8wd6%gzXvZp8oc>(10C&KOV=m|msmt45tRWNBjo7S zLh-!enl<^ogvO@b(>_VEP*ZO>O4EM=rl-V=bXTLICC8Snl2QvwR z#dDfo{v`{QESa#o2gg>ok`geB`c*jcRu=8II`BFMMVjPN^0ac|r#;OC2 zF61VYPRNde=LS4W9c}~hRPXurg;>Ij%lovnGNW>%evw;CruRmG*8nUFI8CoPar_@) zK6O*Tr2$kZFYmE7CKryt!<2*0bv}d3HyT1giLjp*F?SUyc5e{`zCMPfL)k?~8^1(c zEC&%?cjsk9mw*f*y1I(&Q+K`a^*)W}HurL!eC-+UOPBsA5|B)1euxA7jW|}Pt9__5 z!6?eC;GQjf$Mt?L*C83`-O*u7W{bLlSV^S4$iB#P63l)G+RosfrH870?JvZ~rSKdO z|B}_+_PCUVyIS#vx?xr3Ud`(k+Hvd%qi4|uL#Ro{V#WcF8T~wZe8bK&s?^`_#MRSU zt{hFT;PBIpW{6?XcI7bp;H`RR@0IZG!{j#GVx1$k{3-V!9U`N*lxZ(QQWfCy{Vw&8 zhgy30B|7=8Znxk%Q|cpi-`(Vw)xcuT>#>Z1|AjQ}kO%?lTUaG}gA=lv5?wYQ>MAI( zB9nuXQp-E7U1#7VMKpN0xHtu$o*88Qz~Z!S3y01aC>OaC>R>jqIe*Rc!)39h&*$)< z$|I32(6ay8)<5JZi~nF3`@>W>+QQ3BH{_Lo?`fn8C0ri9L*)>Y(+4e9<*w4Bwc($6 zhP!pLEhR^ZW7qy?dq6l#cT(VXdkye6is6MC+;KF+x9UdR@;SF@4kxX=F>GQtTNwBTQJe4 zxrP|A53))zQ=dm!|Jfe`Z@9fnRf)=81WHW7JpfWaHiR;Tp&|aA^R-c+Hb@5`#6FN` zIzoCZ$ZcqAR}Ps9sA#^v$Vx8T1v}vjKY(&c2i~TxyW49Ecw&W{OP!;?LJ97(Z19cSpJF@dvxGW;6HK2qe{=3W_$7{s|h^q9JVr?Q zc6clCaPWwPVqrfwo!Y7&^p{tlbMNJ_vP1VyA9tz!T(V@LWD#=_;ESo4Mz%k)g-23+ z_Am*v^4ezWUTstf>C|_DhKgb=(mI3)C~_k_tF28>Z%BVcvlx}f_yL~<<0Lxia*>~>zR2h zmK&KsiA21gDBRgO@oIKzLxeCczQ}_v&bi>BM|ok$$`5_9E#`ymFyZ zzkSimb-#{iTXu33-#nTgEnCuL7%CsB8`;m|F=@=R;u<$%6}7xH+oP)H?elBN=Mq_( zWd8zKf1w%pYbuD6c1F?^Q1F~(FmDlmH%>p!C$59L!#+GYrO;uhUg|nuP9bd`R6)Z| z2vJhjoFeJ-%Apv}jx;H+Xp8^3iE^E`AYW~5AW^@|$ClLkgjKp8XsSs{%Bl6qcUpD{ z)ln(yPdW{y?`}>uhtwS`vbvqht_`c;&LI7BN@o{|T!C+jgQ-0IIRIVdNMyivDiV#> zD<9!{4)Gy?q)CUEB=d1-iGVY+0ExY&w9YW4y@KS&aJ3mZ->rvONj<{SwU%20_wNJR z-1p9cjS3Sa8Cj$l4e0=iVD9bnVRYfEIWep9D?6g;3+`~Pp+u@5FIaC46nl1=c5D1d zOB?Ka9Xp+heQ~gw0w9hv{>vY?Op-V7-cYd_tii5^FDwLPe}O$b>B_Np%C{d>c?>D` zjO5;Yv90|)RzyU?K;BY@T-`@JNN+8orQ0guq5{K`P28~TDJxHhF&FNzT5h{((|B1< z=9w}WRd2mlWZsb7c{6hS=F)Gy1yX~^9YfO8BOO%6^wbo+a!H{VZ%5i}%-!;zEslA~ zgN449UY6pP;uiYD+-{vd#4_o6sibUBFOc=go?&{%$^+3&NKY2dkBz+$<>iHh!*7!{ z{#JUoYyBT>1u#DG^-vsQOQmBapzwgsj44m-b^evA8;W}i9 zccm_DngP(qF@df8^&u-)?;`XbG>y@oLhymk<=|Z)!-gpI`-Q%TCKDE%wf9=sjfxC`CEj%q!E!VJP98S9JkZn)xIZfx9 zI51$3gbpt%cKM#(5p${vxu(ZW7fy=OcFeyJ6-gG$gp~p9vbUY(fJDk&@fcF!`|tYq zu9;OZ%?=DXsL64AWzNZQ=$YPO;+=@Ju_Eg92(ecF7YDo9#2+`B$6qB8tRB>2q0?s) zVN2e4{s`1yLg!Ix(?MzjbXXnV<>w65VycY~4R_CX+}ZnDLtIS7G3>k-M`1aNr}k~z zn9gxtzn3EBJho~WG`h%320gimUj!HeccK9p6hiH@Z8e0(J(=dmrCTl`*G5I*Z%chfVo$V4ompt zbeuYOR!DIeDim2rQ^Iz|c1ii2h^$g7LiUDQoOY(|UC=&V;hFLC8M+{2z`sd;~Rpg`d|qj3qJ+YnSj|9KH2Hx^a#@VLpZqEggf z^~zv=?+#S=PSBmG6+UtSBQVB~tZ|_){CiO*J9q0C>g+W(?aK^~9XnQm*Z3P? z0=0QB>bPrkH0vbaW;v&%lqN60#YgpKxm+Jfvz1E4L8C-Uj<~98+LUD5jDÐs*($ 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 F_`iCkYnK23 diff --git a/src/components/DebugPanel/LabelEffectsSection.tsx b/src/components/DebugPanel/LabelEffectsSection.tsx index 873fc78b..7ec63652 100644 --- a/src/components/DebugPanel/LabelEffectsSection.tsx +++ b/src/components/DebugPanel/LabelEffectsSection.tsx @@ -24,9 +24,11 @@ * - `outlineEmFrac` slider: 0 to 0.2. Beyond 0.2 the outline starts * eating into adjacent labels at typical em sizes; 0.05–0.1 is the * readable sweet spot. - * - `glowEmFrac` slider: 0 to 0.5. Glow can extend further than the - * outline before becoming visually noisy; 0.15–0.3 is the typical - * "soft halo behind the text" range. + * - `glowEmFrac` slider: 0 to 0.28. The upper bound is set by the + * atlas's inter-glyph padding (12 px at ATLAS_FONT_SIZE=42 ⇒ 0.286 + * em-fraction); sampling past it bleeds into the neighbouring + * glyph's pixels. 0.15–0.25 is the typical "soft halo behind the + * text" range, comfortably inside the cap. * * ## Why `useEffect` and not a render-time setter call * @@ -124,7 +126,7 @@ export function LabelEffectsSection(): ReactElement { diff --git a/tools/fonts/buildFontAtlas.ts b/tools/fonts/buildFontAtlas.ts index 9beb0ee6..971d8b8c 100644 --- a/tools/fonts/buildFontAtlas.ts +++ b/tools/fonts/buildFontAtlas.ts @@ -61,7 +61,14 @@ const OUTPUT_DIR = 'public/fonts'; const SHARED_OPTIONS = { outputType: 'json', textureSize: [ATLAS_PX, ATLAS_PX], - texturePadding: 2, + // Inter-glyph spacing in the atlas, in pixels. Must be large enough + // that a fragment sampling a UV offset outward from a glyph for the + // outline+glow falloff never lands in a NEIGHBOURING glyph's pixels. + // Worst case at runtime is `glowEmFrac_max * ATLAS_FONT_SIZE` + // atlas pixels (LabelEffectsSection caps glowEmFrac at 0.5; with + // ATLAS_FONT_SIZE = 42 the worst-case extent is 21 px). 22 leaves + // a 1-px safety margin without inflating glyph cells excessively. + texturePadding: 12, distanceRange: DISTANCE_RANGE_PX, fieldType: 'msdf', fontSize: ATLAS_FONT_SIZE, From ac96559fb1f64d1d8afde86f7f48d5602628587b Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 12:13:25 +0200 Subject: [PATCH 18/20] feat(labels): bake drop-shadow outline into producer defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Black at alpha 0.1, width 0.16 em — a soft dark fringe behind every label that reads cleanly against the busy starfield without a heavy outlined-chip look. Applies uniformly to youAreHere and all four POI categories. Override still wins when the DebugPanel is targeting a category, so per-category re-tuning stays possible. CategoryStyle gains outlineColor + outlineEmFrac as required fields so a future category can't silently omit them. Co-Authored-By: Claude Opus 4.7 --- src/services/engine/subsystems/poiSubsystem.ts | 14 ++++++++++++++ .../engine/subsystems/youAreHereSubsystem.ts | 6 ++++++ .../subsystems/poiSubsystem.labelEffects.test.ts | 6 +++--- .../youAreHereSubsystem.labelEffects.test.ts | 12 +++++++----- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/services/engine/subsystems/poiSubsystem.ts b/src/services/engine/subsystems/poiSubsystem.ts index fe6949d2..705accb2 100644 --- a/src/services/engine/subsystems/poiSubsystem.ts +++ b/src/services/engine/subsystems/poiSubsystem.ts @@ -167,6 +167,10 @@ type CategoryStyle = { readonly markerMaxApparentRadiusPx: number; /** Smoothstep band width for the marker fade-out. */ readonly markerMaxApparentFadeBandPx: number; + /** Drop-shadow outline (straight RGBA — renderer premultiplies). */ + readonly outlineColor: Vec4; + /** Outline width as em-fraction. Capped at ~0.28 by atlas padding. */ + readonly outlineEmFrac: number; }; /** @@ -202,6 +206,8 @@ export const POI_STYLES = { ringColor: hexToGl('#B39947'), markerMaxApparentRadiusPx: 700, markerMaxApparentFadeBandPx: 400, + outlineColor: [0, 0, 0, 0.1], + outlineEmFrac: 0.16, }, supercluster: { labelColor: hexToGl('#FFCC80'), @@ -217,6 +223,8 @@ export const POI_STYLES = { ringColor: hexToGl('#996B3666'), markerMaxApparentRadiusPx: 700, markerMaxApparentFadeBandPx: 400, + outlineColor: [0, 0, 0, 0.1], + outlineEmFrac: 0.16, }, famousGalaxy: { labelColor: hexToGl('#FFF2CC'), @@ -233,6 +241,8 @@ export const POI_STYLES = { ringColor: hexToGl('#000000'), markerMaxApparentRadiusPx: 700, markerMaxApparentFadeBandPx: 400, + outlineColor: [0, 0, 0, 0.1], + outlineEmFrac: 0.16, }, void: { labelColor: hexToGl('#99D9F2'), @@ -250,6 +260,8 @@ export const POI_STYLES = { ringColor: hexToGl('#73B3D9'), markerMaxApparentRadiusPx: 700, markerMaxApparentFadeBandPx: 400, + outlineColor: [0, 0, 0, 0.1], + outlineEmFrac: 0.16, }, } as const satisfies Readonly>; @@ -569,6 +581,8 @@ export function createPoiSubsystem(input: CreatePoiSubsystemInput = {}): PoiSubs fadeAlpha, alignX, alignY, + outlineColor: [...style.outlineColor], + outlineEmFrac: style.outlineEmFrac, ...overrideFields, }); } diff --git a/src/services/engine/subsystems/youAreHereSubsystem.ts b/src/services/engine/subsystems/youAreHereSubsystem.ts index ef0c8dbb..a4f67a5e 100644 --- a/src/services/engine/subsystems/youAreHereSubsystem.ts +++ b/src/services/engine/subsystems/youAreHereSubsystem.ts @@ -45,6 +45,10 @@ const LINE_TOP_MPC = LABEL_ANCHOR_MPC * 0.75; // `[1, 1, 1, 1]` is display white at any tone-map setting. const LABEL_COLOR: Vec4 = [1, 1, 1, 1]; const LINE_COLOR: Vec4 = [1, 1, 1, 1]; +// Soft black drop-shadow for legibility against the starfield. +// Re-tune via DebugPanel `LabelEffectsSection`. +const OUTLINE_COLOR: Vec4 = [0, 0, 0, 0.1]; +const OUTLINE_EM_FRAC = 0.16; export function createYouAreHereSubsystem(): YouAreHereSubsystem { // One-shot fade-in: the first frame where this producer emits a @@ -98,6 +102,8 @@ export function createYouAreHereSubsystem(): YouAreHereSubsystem { maxPixelSize: 150, fadeAlpha: alpha, alignX: 'center', + outlineColor: [...OUTLINE_COLOR], + outlineEmFrac: OUTLINE_EM_FRAC, ...effectFields, }, ]; diff --git a/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts index 9ee155e0..b4907e44 100644 --- a/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts +++ b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts @@ -73,7 +73,7 @@ describe('poiSubsystem · labelStyleOverride', () => { expect(label.glowEmFrac).toBe(0.2); }); - it('leaves labels untouched when override targets a different category', () => { + it('falls back to the category baked-in outline when override targets another category', () => { setLabelStyleOverride({ targetCategory: 'void', outlineColor: [1, 0, 0, 1], @@ -86,8 +86,8 @@ describe('poiSubsystem · labelStyleOverride', () => { const out = sub.produceLabels(makeState(), makeCtx()); expect(out.labels).toHaveLength(1); const label = out.labels[0]!; - expect(label.outlineColor).toBeUndefined(); - expect(label.outlineEmFrac).toBeUndefined(); + expect(label.outlineColor).toEqual([0, 0, 0, 0.1]); + expect(label.outlineEmFrac).toBe(0.16); expect(label.glowColor).toBeUndefined(); expect(label.glowEmFrac).toBeUndefined(); }); diff --git a/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts index a6b83033..6d326c78 100644 --- a/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts +++ b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts @@ -4,8 +4,9 @@ * Exercises the override path through the real producer: when the * DebugPanel's LabelEffectsSection picks 'youAreHere' as the target * category, the produced label adopts the override's outline + glow - * fields; when it picks any other category, the label's effect fields - * stay undefined (producer defaults). + * fields; when it picks any other category, the label falls back to + * the producer's baked-in drop-shadow outline (`OUTLINE_COLOR` + + * `OUTLINE_EM_FRAC` in `youAreHereSubsystem.ts`) and no glow. * * State stub: the producer only touches state.subsystems.fades.fadeTo * (one-shot layer fade-in). A no-op stub suffices. @@ -60,7 +61,7 @@ describe('youAreHereSubsystem · labelStyleOverride', () => { expect(label.glowEmFrac).toBe(0.2); }); - it('ignores the override when targetCategory is a different category', () => { + it('falls back to the baked drop-shadow outline when override targets another category', () => { setLabelStyleOverride({ targetCategory: 'cluster', outlineColor: [1, 0, 0, 1], @@ -72,8 +73,9 @@ describe('youAreHereSubsystem · labelStyleOverride', () => { const out = sub.produceLabels(makeState(), makeCtx()); expect(out.labels).toHaveLength(1); const label = out.labels[0]!; - expect(label.outlineColor).toBeUndefined(); - expect(label.outlineEmFrac).toBeUndefined(); + // Producer defaults: a soft black drop-shadow outline, glow unset. + expect(label.outlineColor).toEqual([0, 0, 0, 0.1]); + expect(label.outlineEmFrac).toBe(0.16); expect(label.glowColor).toBeUndefined(); expect(label.glowEmFrac).toBeUndefined(); }); From e5435e10231c343dfeeeddfe092f57a02432d954 Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 12:16:03 +0200 Subject: [PATCH 19/20] =?UTF-8?q?feat(debug):=20hide=20glow=20controls=20?= =?UTF-8?q?=E2=80=94=20MSDF=20composite=20artefacts=20at=20width?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Outline remains tunable; glow is deferred until a proper bloom or parallel-SDF approach replaces the MSDF-stretched composite. The shader + override fields stay in place so the replacement can plug in. Co-Authored-By: Claude Opus 4.7 --- .../DebugPanel/LabelEffectsSection.tsx | 84 +++++-------------- 1 file changed, 22 insertions(+), 62 deletions(-) diff --git a/src/components/DebugPanel/LabelEffectsSection.tsx b/src/components/DebugPanel/LabelEffectsSection.tsx index 7ec63652..f54337bb 100644 --- a/src/components/DebugPanel/LabelEffectsSection.tsx +++ b/src/components/DebugPanel/LabelEffectsSection.tsx @@ -1,42 +1,17 @@ /** - * LabelEffectsSection — live-tuning controls for the label outline + - * glow effects. + * LabelEffectsSection — live-tuning controls for the label outline. * - * ## Workflow + * Pick a target category, tune outline colour + width, then bake the + * values into `POI_STYLES.` or `youAreHereSubsystem.ts`. The + * override is a temporary hook, not a storage location. * - * 1. Pick a target category from the dropdown. - * 2. Tune outline colour + em-fraction and glow colour + em-fraction - * via the four controls. Changes apply on the next frame; the - * label director re-flushes when the override version increments. - * 3. Once the values look right, commit them into `POI_STYLES.` - * or `youAreHereSubsystem.ts`'s producer defaults as a follow-up - * edit. The override is a temporary hook, not a long-term storage - * location. + * Glow controls are intentionally absent: the MSDF-based composite + * artefacts at wider radii, so the glow path is deferred until a + * proper bloom approach lands. The override + shader still carry + * glow fields so that work can plug in without re-wiring. * - * ## Why a single override slot + a dropdown - * - * See `labelStyleOverride.ts`'s docstring — the per-category record - * alternative was rejected because it invites stale values to leak - * across category switches. - * - * ## Why these specific control ranges - * - * - `outlineEmFrac` slider: 0 to 0.2. Beyond 0.2 the outline starts - * eating into adjacent labels at typical em sizes; 0.05–0.1 is the - * readable sweet spot. - * - `glowEmFrac` slider: 0 to 0.28. The upper bound is set by the - * atlas's inter-glyph padding (12 px at ATLAS_FONT_SIZE=42 ⇒ 0.286 - * em-fraction); sampling past it bleeds into the neighbouring - * glyph's pixels. 0.15–0.25 is the typical "soft halo behind the - * text" range, comfortably inside the cap. - * - * ## Why `useEffect` and not a render-time setter call - * - * Calling `setLabelStyleOverride` during render would be a React - * anti-pattern (side effects during render are officially discouraged - * and trigger strict-mode warnings / double-fires). A `useEffect` - * synchronised to the seven control values fires once per commit and - * stays cheap. + * `setLabelStyleOverride` runs in `useEffect`, not during render — + * side effects during render trigger strict-mode double-fires. */ import { useEffect, useState, type ReactElement } from 'react'; @@ -55,6 +30,10 @@ const CATEGORIES: readonly LabelStyleOverrideTarget[] = [ 'void', ]; +// Glow is deferred — write transparent zero so the override carries +// the full shape but the shader's glow band contributes nothing. +const GLOW_OFF: Vec4 = [0, 0, 0, 0]; + function hexToRgb(hex: string): [number, number, number] { const m = /^#?([0-9a-f]{6})$/i.exec(hex); if (!m) return [1, 1, 1]; @@ -65,35 +44,27 @@ function hexToRgb(hex: string): [number, number, number] { export function LabelEffectsSection(): ReactElement { const [target, setTarget] = useState(''); const [outlineHex, setOutlineHex] = useState('#000000'); - const [outlineAlpha, setOutlineAlpha] = useState(1); - const [outlineEmFrac, setOutlineEmFrac] = useState(0.05); - const [glowHex, setGlowHex] = useState('#ffffff'); - const [glowAlpha, setGlowAlpha] = useState(0.4); - const [glowEmFrac, setGlowEmFrac] = useState(0.2); + const [outlineAlpha, setOutlineAlpha] = useState(0.1); + const [outlineEmFrac, setOutlineEmFrac] = useState(0.16); - // The cleanup clears the override on unmount so toggling the - // DebugPanel off restores production label styling even if the - // dropdown was still pointing at a category. Without it, closing - // the panel mid-tune would leave the engine applying outline/glow - // forever — surprising asymmetry with the dropdown's own "(off)". + // Cleanup clears the override on unmount so closing the panel + // mid-tune restores producer-default styling. useEffect(() => { if (target === '') { clearLabelStyleOverride(); return; } const [or, og, ob] = hexToRgb(outlineHex); - const [gr, gg, gb] = hexToRgb(glowHex); const outlineColor: Vec4 = [or, og, ob, outlineAlpha]; - const glowColor: Vec4 = [gr, gg, gb, glowAlpha]; setLabelStyleOverride({ targetCategory: target, outlineColor, outlineEmFrac, - glowColor, - glowEmFrac, + glowColor: GLOW_OFF, + glowEmFrac: 0, }); return () => clearLabelStyleOverride(); - }, [target, outlineHex, outlineAlpha, outlineEmFrac, glowHex, glowAlpha, glowEmFrac]); + }, [target, outlineHex, outlineAlpha, outlineEmFrac]); const labelStyle = { display: 'flex', alignItems: 'center', gap: 6, cursor: 'pointer' } as const; return ( @@ -115,20 +86,9 @@ export function LabelEffectsSection(): ReactElement { - - ); From 810ea349bf769bd6cc9e29e665e8dc2f5667707e Mon Sep 17 00:00:00 2001 From: Alexander Rulkens Date: Wed, 20 May 2026 14:57:26 +0200 Subject: [PATCH 20/20] refactor(labels): remove glow infrastructure, shrink storage 96 to 64 bytes The MSDF-stretched composite produced artefacts at wider glow radii. A proper glow approach (offscreen blur or parallel SDF) will land separately; in the meantime, the dormant glow fields and shader band are dead weight. Drop them and the Label type's optional glow fields, the override's glow slots, the per-label storage vec4s, and the vertex/fragment glow paths. Per-label storage shrinks from 6 vec4s (96 bytes) to 4 (64 bytes). VsOut.widths (vec2) collapses to a scalar outlineSdf. Tests for the new layout follow. Co-Authored-By: Claude Opus 4.7 --- src/@types/rendering/Label.d.ts | 56 ++---------- .../DebugPanel/LabelEffectsSection.tsx | 17 +--- src/services/engine/labelStyleOverride.ts | 6 -- .../engine/subsystems/poiSubsystem.ts | 7 +- .../engine/subsystems/youAreHereSubsystem.ts | 9 +- src/services/gpu/renderers/labelRenderer.ts | 48 +++------- src/services/gpu/shaders/labels/fragment.wesl | 61 ++++--------- src/services/gpu/shaders/labels/io.wesl | 33 ++----- src/services/gpu/shaders/labels/vertex.wesl | 53 +++++------ tests/rendering/labelTypeFields.test.ts | 4 +- .../engine/labelStyleOverride.test.ts | 8 -- .../labelDirectorSubsystem.override.test.ts | 4 - .../poiSubsystem.labelEffects.test.ts | 25 ++---- .../youAreHereSubsystem.labelEffects.test.ts | 18 ++-- .../renderers/labelRenderer.effects.test.ts | 89 +++++++++---------- 15 files changed, 124 insertions(+), 314 deletions(-) diff --git a/src/@types/rendering/Label.d.ts b/src/@types/rendering/Label.d.ts index 8843bdd8..ba7fb723 100644 --- a/src/@types/rendering/Label.d.ts +++ b/src/@types/rendering/Label.d.ts @@ -55,64 +55,18 @@ export type Label = { */ readonly color?: Vec4; /** - * Straight (non-premultiplied) RGBA colour of the outside outline - * stroke. Default `[0, 0, 0, 0]` — fully transparent, which combined + * Outside-stroke outline colour (straight RGBA — renderer + * premultiplies on write). Default `[0, 0, 0, 0]`, which combined * with `outlineEmFrac = 0` collapses the outline band to zero - * contribution in the fragment shader. The renderer premultiplies on - * write (same convention as `color`). - * - * The outline is composited OVER the fill in premultiplied space, so a - * 50%-alpha outline correctly half-blends with whatever sits behind - * the label. + * contribution. Composited OVER the fill in premultiplied space. */ readonly outlineColor?: Vec4; /** * Outline width as a fraction of the projected em height. Default - * `0`. Example: `0.05` on a 40-px-tall label gives a 2-px-wide - * outline; on a 60-px label the same fraction grows to 3 px. - * - * ## Why em-fraction instead of pixels - * - * The label sizing pipeline clamps the projected em height to - * `[minPixelSize, maxPixelSize]`; an em-fraction outline naturally - * inherits that clamp. A pixel-absolute outline would visually - * dominate at the `minPixelSize` floor (where the glyph itself is - * tiny) and vanish at the `maxPixelSize` ceiling. - * - * Outside stroke — the outline grows outward from the glyph contour; - * the glyph body stays its natural size. + * `0`. Em-fraction so the outline scales naturally with the label's + * perspective-driven sizing clamp. */ readonly outlineEmFrac?: number; - /** - * Straight RGBA colour of the soft outside glow halo. Default - * `[0, 0, 0, 0]`. Same renderer-premultiplies-on-write convention as - * `color`. - * - * The glow is composited OVER (not additive) — alpha-blended onto the - * background like a translucent plate. Additive would have vanished - * against bright backgrounds (the Milky Way, dense cluster fields), - * which is exactly where labels need to stand out most. - */ - readonly glowColor?: Vec4; - /** - * Glow radius as a fraction of the projected em height. Default `0`. - * The glow extends from the glyph contour (`d = 0`) outward by this - * amount with a smoothstep falloff; the visible halo's outer edge sits - * at `glowEmFrac * displayEmPx` screen pixels past the glyph edge. - * - * ## Why em-fraction - * - * Same rationale as `outlineEmFrac` — the halo naturally inherits the - * projected-em-height clamp. - * - * ## Band overlap with outline - * - * The glow extends from `d = 0` regardless of `outlineEmFrac`; the - * outline overlays the inner portion when both are active. Visible - * total halo extent is `max(outlineEmFrac, glowEmFrac)`. Toggling the - * outline off does not change the overall label silhouette. - */ - readonly glowEmFrac?: number; /** * Floor clamp on the projected em height in screen pixels (default 8). * When the perspective projection of `worldEmMpc` falls below this diff --git a/src/components/DebugPanel/LabelEffectsSection.tsx b/src/components/DebugPanel/LabelEffectsSection.tsx index f54337bb..7d6c164e 100644 --- a/src/components/DebugPanel/LabelEffectsSection.tsx +++ b/src/components/DebugPanel/LabelEffectsSection.tsx @@ -5,11 +5,6 @@ * values into `POI_STYLES.` or `youAreHereSubsystem.ts`. The * override is a temporary hook, not a storage location. * - * Glow controls are intentionally absent: the MSDF-based composite - * artefacts at wider radii, so the glow path is deferred until a - * proper bloom approach lands. The override + shader still carry - * glow fields so that work can plug in without re-wiring. - * * `setLabelStyleOverride` runs in `useEffect`, not during render — * side effects during render trigger strict-mode double-fires. */ @@ -30,10 +25,6 @@ const CATEGORIES: readonly LabelStyleOverrideTarget[] = [ 'void', ]; -// Glow is deferred — write transparent zero so the override carries -// the full shape but the shader's glow band contributes nothing. -const GLOW_OFF: Vec4 = [0, 0, 0, 0]; - function hexToRgb(hex: string): [number, number, number] { const m = /^#?([0-9a-f]{6})$/i.exec(hex); if (!m) return [1, 1, 1]; @@ -56,13 +47,7 @@ export function LabelEffectsSection(): ReactElement { } const [or, og, ob] = hexToRgb(outlineHex); const outlineColor: Vec4 = [or, og, ob, outlineAlpha]; - setLabelStyleOverride({ - targetCategory: target, - outlineColor, - outlineEmFrac, - glowColor: GLOW_OFF, - glowEmFrac: 0, - }); + setLabelStyleOverride({ targetCategory: target, outlineColor, outlineEmFrac }); return () => clearLabelStyleOverride(); }, [target, outlineHex, outlineAlpha, outlineEmFrac]); diff --git a/src/services/engine/labelStyleOverride.ts b/src/services/engine/labelStyleOverride.ts index a52c1954..e08fbe87 100644 --- a/src/services/engine/labelStyleOverride.ts +++ b/src/services/engine/labelStyleOverride.ts @@ -47,8 +47,6 @@ export type LabelStyleOverride = { readonly targetCategory: LabelStyleOverrideTarget | null; readonly outlineColor: Vec4; readonly outlineEmFrac: number; - readonly glowColor: Vec4; - readonly glowEmFrac: number; }; // The single mutable slot. Reassigned (not mutated in place) by @@ -58,8 +56,6 @@ let current: LabelStyleOverride = { targetCategory: null, outlineColor: [0, 0, 0, 0], outlineEmFrac: 0, - glowColor: [0, 0, 0, 0], - glowEmFrac: 0, }; // Monotonic version counter — incremented on every set/clear. The @@ -95,8 +91,6 @@ export function clearLabelStyleOverride(): void { targetCategory: null, outlineColor: [0, 0, 0, 0], outlineEmFrac: 0, - glowColor: [0, 0, 0, 0], - glowEmFrac: 0, }; version++; wake?.(); diff --git a/src/services/engine/subsystems/poiSubsystem.ts b/src/services/engine/subsystems/poiSubsystem.ts index 705accb2..42bdc0c0 100644 --- a/src/services/engine/subsystems/poiSubsystem.ts +++ b/src/services/engine/subsystems/poiSubsystem.ts @@ -555,16 +555,13 @@ export function createPoiSubsystem(input: CreatePoiSubsystemInput = {}): PoiSubs } // Per-POI override fields: only POIs whose own category matches - // the override's target adopt the outline + glow values. All - // other categories keep their producer-default effect fields - // (today: unset → renderer's transparent-zero defaults). + // the override's target adopt the outline values; other + // categories keep their category-default outline. const overrideFields = override.targetCategory === p.category ? { outlineColor: override.outlineColor, outlineEmFrac: override.outlineEmFrac, - glowColor: override.glowColor, - glowEmFrac: override.glowEmFrac, } : {}; diff --git a/src/services/engine/subsystems/youAreHereSubsystem.ts b/src/services/engine/subsystems/youAreHereSubsystem.ts index a4f67a5e..9463800b 100644 --- a/src/services/engine/subsystems/youAreHereSubsystem.ts +++ b/src/services/engine/subsystems/youAreHereSubsystem.ts @@ -74,18 +74,15 @@ export function createYouAreHereSubsystem(): YouAreHereSubsystem { } // Live-tuning override: when the DebugPanel selects 'youAreHere' - // as the target category, substitute the override's outline + glow - // fields for the producer defaults (today simply "off"). The - // override is module-scoped + read fresh each frame so changes from - // the panel apply on the next render without a producer reseed. + // as the target category, substitute the override's outline fields + // for the producer defaults. Read fresh each frame so panel + // changes apply on the next render. const override = getLabelStyleOverride(); const effectFields = override.targetCategory === 'youAreHere' ? { outlineColor: override.outlineColor, outlineEmFrac: override.outlineEmFrac, - glowColor: override.glowColor, - glowEmFrac: override.glowEmFrac, } : {}; diff --git a/src/services/gpu/renderers/labelRenderer.ts b/src/services/gpu/renderers/labelRenderer.ts index e87c1b29..2e49ef4c 100644 --- a/src/services/gpu/renderers/labelRenderer.ts +++ b/src/services/gpu/renderers/labelRenderer.ts @@ -93,18 +93,13 @@ const UNIFORM_BYTES = 80; * bytes 16..31 color vec4 — premultiplied rgba (fill) * bytes 32..47 sizing vec4 — outlineEmFrac, minPx, maxPx, fadeAlpha * bytes 48..63 outlineColor vec4 — premultiplied rgba (outline stroke) - * bytes 64..79 glowColor vec4 — premultiplied rgba (glow halo) - * bytes 80..95 effects vec4 — glowEmFrac, _r, _r, _r (yzw reserved) * - * 6 × 16 bytes = 96 bytes/label. Grew from 48 to host the outline + glow - * effect fields; the legacy `pixelSize` slot (formerly sizing.x — never - * read by the shader after the worldEmMpc migration) is repurposed for - * `outlineEmFrac` rather than left zero, on the principle that wasting a - * `vec4` for a single new scalar squanders alignment. Reserved scalars - * in `effects.yzw` are kept at zero by the CPU writer so a future - * fifth/sixth effect can land without another stride bump. + * 4 × 16 bytes = 64 bytes/label. `sizing.x` repurposes the legacy + * `pixelSize` slot (ignored by the shader since the worldEmMpc + * migration) to carry `outlineEmFrac`, sparing a fresh vec4 for one + * scalar. */ -const LABEL_DATA_BYTES = 96; +const LABEL_DATA_BYTES = 64; /** * Per-glyph instance buffer stride, matching `VsIn` attributes 1–5 in io.wesl: @@ -437,20 +432,16 @@ export function createLabelRenderer( // [4..7] color (r*a, g*a, b*a, a — premultiplied) // [8..11] sizing (outlineEmFrac, minPx, maxPx, fadeAlpha) // [12..15] outlineColor (r*a, g*a, b*a, a) - // [16..19] glowColor (r*a, g*a, b*a, a) - // [20..23] effects (glowEmFrac, 0, 0, 0) const labelBase = li * (LABEL_DATA_BYTES / 4); labelBuf[labelBase + 0] = label.worldPos[0]; labelBuf[labelBase + 1] = label.worldPos[1]; labelBuf[labelBase + 2] = label.worldPos[2]; labelBuf[labelBase + 3] = label.worldEmMpc ?? 0.01; - // fill colour — straight RGBA → premultiplied on write. Public API - // surface is STRAIGHT RGBA — producers spell colours the natural way - // (e.g. `[1, 0, 0, 0.5]` for "half-transparent red"). The fragment - // shader composites in premultiplied space (see fragment.wesl's - // blend-state docstring), so we multiply r/g/b by a HERE and write - // the result through to the GPU. + // Public colour API is STRAIGHT RGBA — producers write the natural + // form (`[1, 0, 0, 0.5]` is "half-transparent red"); the fragment + // shader composites in premultiplied space, so we multiply r/g/b + // by a here on the write boundary. const color = label.color ?? [1, 1, 1, 1]; const ca = color[3]!; labelBuf[labelBase + 4] = color[0]! * ca; @@ -458,17 +449,13 @@ export function createLabelRenderer( labelBuf[labelBase + 6] = color[2]! * ca; labelBuf[labelBase + 7] = ca; - // sizing.x repurposes the legacy pixelSize slot to carry - // outlineEmFrac. See LABEL_DATA_BYTES docstring above for the - // rationale. Default 0 means "no outline contribution". labelBuf[labelBase + 8] = label.outlineEmFrac ?? 0; labelBuf[labelBase + 9] = label.minPixelSize ?? 8; labelBuf[labelBase + 10] = label.maxPixelSize ?? 64; labelBuf[labelBase + 11] = label.fadeAlpha ?? 1; // outline colour — same straight → premultiplied conversion as fill. - // Default [0,0,0,0] makes outlineEmFrac irrelevant (the band's alpha - // pre-multiplies to zero). + // Default [0,0,0,0] makes outlineEmFrac irrelevant (band alpha is 0). const outlineColor = label.outlineColor ?? [0, 0, 0, 0]; const oa = outlineColor[3]!; labelBuf[labelBase + 12] = outlineColor[0]! * oa; @@ -476,21 +463,6 @@ export function createLabelRenderer( labelBuf[labelBase + 14] = outlineColor[2]! * oa; labelBuf[labelBase + 15] = oa; - // glow colour — same conversion. - const glowColor = label.glowColor ?? [0, 0, 0, 0]; - const ga = glowColor[3]!; - labelBuf[labelBase + 16] = glowColor[0]! * ga; - labelBuf[labelBase + 17] = glowColor[1]! * ga; - labelBuf[labelBase + 18] = glowColor[2]! * ga; - labelBuf[labelBase + 19] = ga; - - // effects.x = glowEmFrac; .yzw stay zero (initialised by the - // labelBuf TypedArray constructor — reasserted here for clarity). - labelBuf[labelBase + 20] = label.glowEmFrac ?? 0; - labelBuf[labelBase + 21] = 0; - labelBuf[labelBase + 22] = 0; - labelBuf[labelBase + 23] = 0; - // Resolve the label's font to its GPU texture-array layer index // ONCE per label, outside the inner glyph loop — every glyph in // a label shares the same layer. diff --git a/src/services/gpu/shaders/labels/fragment.wesl b/src/services/gpu/shaders/labels/fragment.wesl index 1e89def2..722ce7d8 100644 --- a/src/services/gpu/shaders/labels/fragment.wesl +++ b/src/services/gpu/shaders/labels/fragment.wesl @@ -1,43 +1,30 @@ -// labels/fragment.wesl — MSDF labels fragment stage with three-band -// composite: glow (soft outside halo) → outline (hard outside stroke) -// → fill (glyph body). All composited OVER in premultiplied space. +// labels/fragment.wesl — MSDF labels fragment stage with two-band +// composite: outline (hard outside stroke) over fill (glyph body), all +// in premultiplied space. // // ## Bands // // The MSDF distance 'd' is positive inside the glyph and negative -// outside; the glyph contour sits at 'd = 0'. The three bands are: +// outside; the glyph contour sits at 'd = 0'. // // fill : smoothstep(-aa, +aa, d) -// — existing one-pixel AA band straddling the contour. +// — one-pixel AA band straddling the contour. // outline: smoothstep(-aa - outlineSdf, -aa, d) * (1 - fill) // — covers d ∈ [-outlineSdf, 0]; the (1 - fill) factor // masks the inside half so the outline doesn't bleed // into the glyph body. -// glow : smoothstep(-glowSdf, 0, d) -// — soft falloff from the contour outward by glowSdf, -// with default smoothstep cubic ease. Overlaps the -// outline band; the OVER composite below resolves -// which colour wins. // -// 'outlineSdf' and 'glowSdf' are in SDF units (the same units 'd' -// lives in); the vertex stage converts from em-fraction inputs via -// 'widthInSdfUnits = (emFrac * ATLAS_EM_PX) / DISTANCE_RANGE_PX'. +// 'outlineSdf' is in SDF units (the same units 'd' lives in); the +// vertex stage converts from em-fraction via +// widthInSdfUnits = (outlineEmFrac * ATLAS_EM_PX) / DISTANCE_RANGE_PX // // ## Composite // -// out = over(glow, over(outline, fill)) -// -// All three band colours arrive pre-multiplied (and pre-faded by -// fadeAlpha — the vertex stage bakes fadeAlpha into the rgba), -// so the OVER step is the canonical: +// out = over(outline, fill) // +// Both band colours arrive pre-multiplied and pre-faded by fadeAlpha +// (baked at the vertex stage), so the OVER step is the canonical // over(A, B) = A + B * (1 - A.a) -// -// ## Why overlap, not stack -// -// "Glow radius" matches the mental model "visible halo extent", not -// "extra halo past the outline". Overlap also keeps the label -// silhouette stable when the outline is toggled on/off. import package::labels::io::VsOut; @@ -63,8 +50,7 @@ fn fs(input: VsOut) -> @location(0) vec4 { let d = median3(s.r, s.g, s.b) - 0.5; let aa = fwidth(d); - let outlineSdf = input.widths.x; - let glowSdf = input.widths.y; + let outlineSdf = input.outlineSdf; // Fill mask (1 inside the glyph, 0 outside, smoothed at the edge). let fillMask = smoothstep(-aa, aa, d); @@ -72,28 +58,15 @@ fn fs(input: VsOut) -> @location(0) vec4 { // Outline mask covers d ∈ [-outlineSdf, 0] but is masked OUT inside // the glyph. When outlineSdf == 0 the smoothstep collapses to a // single-point step at d=0 — the mask is then identically zero - // outside the glyph (no contribution) and identically 'fillMask' - // inside (cancelled by '1 - fillMask'). So a zero outline width - // correctly contributes nothing. + // outside the glyph (no contribution) and cancelled by (1 - fillMask) + // inside. So a zero outline width contributes nothing. let outlineBand = smoothstep(-aa - outlineSdf, -aa, d); let outlineMask = outlineBand * (1.0 - fillMask); - // Glow band: smooth ramp from d = -glowSdf (alpha 0) to d = 0 - // (alpha 1). When glowSdf == 0 the ramp degenerates to a step at - // d=0 — multiplied by glowColor.a (which is 0 when the producer - // doesn't set glowColor), the band's contribution stays zero. - let glowMask = smoothstep(-glowSdf, 0.0, d); - - // Per-band premultiplied colours. The masks scale the already- - // premultiplied colour by the band's coverage. + // Per-band premultiplied colours. let fillPM = input.color * fillMask; let outlinePM = input.outlineColor * outlineMask; - let glowPM = input.glowColor * glowMask; - - // Composite over(glow, over(outline, fill)). Each 'over' step - // does: result = top + bottom * (1 - top.a) - let layer1 = outlinePM + fillPM * (1.0 - outlinePM.a); - let layer2 = glowPM + layer1 * (1.0 - glowPM.a); - return layer2; + // Composite over(outline, fill): result = top + bottom * (1 - top.a) + return outlinePM + fillPM * (1.0 - outlinePM.a); } diff --git a/src/services/gpu/shaders/labels/io.wesl b/src/services/gpu/shaders/labels/io.wesl index e7603598..56b94ce1 100644 --- a/src/services/gpu/shaders/labels/io.wesl +++ b/src/services/gpu/shaders/labels/io.wesl @@ -58,25 +58,12 @@ struct LabelData { // r/g/b by a before upload, so the shader can treat (rgb, a) as the // OVER-composite input directly. color: vec4, - // x = outlineEmFrac (REPURPOSED — formerly the legacy pixelSize slot, - // which the shader stopped reading at the worldEmMpc - // migration; see labelRenderer.ts LABEL_DATA_BYTES - // docstring for the rationale) - // y = minPixelSize (floor clamp on projected em height, in screen px) - // z = maxPixelSize (ceiling clamp on projected em height, in screen px) - // w = fadeAlpha (multiplied into every effect band uniformly) + // x = outlineEmFrac (repurposed legacy pixelSize slot) + // y = minPixelSize, z = maxPixelSize, w = fadeAlpha sizing: vec4, - // Outside-stroke outline colour — premultiplied rgba. When alpha is - // zero (the default for labels that don't opt in), the outline band - // contributes nothing regardless of outlineEmFrac. + // Outside-stroke outline colour — premultiplied rgba. Zero alpha + // collapses the outline band regardless of outlineEmFrac. outlineColor: vec4, - // Soft outside glow colour — premultiplied rgba. Same opt-in semantics - // as outlineColor: zero alpha → band collapses. - glowColor: vec4, - // x = glowEmFrac (band radius as a fraction of projected em height) - // y/z/w = reserved (CPU writer keeps these zero so a future fifth/sixth - // effect parameter can land without bumping the stride) - effects: vec4, }; struct VsIn { @@ -113,12 +100,8 @@ struct VsOut { // Outline colour pre-multiplied by fadeAlpha (same pre-fade bake as // the fill colour — keeps the fragment stage simple). @location(3) outlineColor: vec4, - // Glow colour pre-multiplied by fadeAlpha. - @location(4) glowColor: vec4, - // x = outline width in SDF units (atlas px ÷ DISTANCE_RANGE_PX); - // y = glow radius in SDF units; - // converted CPU-side from the em-fraction inputs at the vertex - // stage, so the fragment shader has the values it needs without - // re-deriving from per-label data. - @location(5) widths: vec2, + // Outline width in SDF units (atlas px / DISTANCE_RANGE_PX). + // Converted CPU-side at the vertex stage so the fragment shader has + // the value ready without re-deriving from per-label data. + @location(4) outlineSdf: f32, }; diff --git a/src/services/gpu/shaders/labels/vertex.wesl b/src/services/gpu/shaders/labels/vertex.wesl index 7a1ebaa5..d6597b80 100644 --- a/src/services/gpu/shaders/labels/vertex.wesl +++ b/src/services/gpu/shaders/labels/vertex.wesl @@ -7,19 +7,14 @@ // height, clamps to [minPx, maxPx] for legibility, and scales the // atlas-baked glyph quad to match. // -// ## Quad expansion for outline + glow +// ## Quad expansion for the outline fringe // -// When a label sets outlineEmFrac and/or glowEmFrac, the on-screen -// footprint of the glyph extends past its atlas rect by -// 'max(outlineEmFrac, glowEmFrac) * displayEmPx' screen pixels. If -// the quad stays sized to the atlas rect, the effect bands get -// clipped at the glyph's bounding box and look like a chopped halo. -// We pre-compute the fringe extent in atlas px and grow each corner -// outward by that amount. The fragment shader's UV mix still uses -// the unit corner [0,1] range, so UVs at the fringe extrapolate -// outside the atlas rect — that's deliberate: those samples land in -// the SDF's distance-only region (well past the glyph contour), which -// is exactly what the glow falloff math wants. +// When a label sets 'outlineEmFrac', the on-screen footprint extends +// past the atlas rect by 'outlineEmFrac * displayEmPx' screen pixels. +// If the quad stays sized to the atlas rect, the outline clips at the +// glyph's bounding box. We grow each corner outward by the fringe +// expressed in atlas px; the UV expansion below extrapolates past the +// glyph's atlas rect so the fragment shader can sample the SDF tail. import package::labels::io::Uniforms; import package::labels::io::LabelData; @@ -32,9 +27,8 @@ import package::lib::billboard::pxToClipOffset; // Atlas em pixel size — must match 'ATLAS_FONT_SIZE' in src/data/fonts.ts. const ATLAS_EM_PX: f32 = 42.0; // MSDF distance range in pixels — must match 'DISTANCE_RANGE_PX' in -// src/data/fonts.ts. The SDF must carry headroom past the glyph -// contour for the glow falloff tail; tighter ranges clamp the tail -// and produce a banded halo edge. +// src/data/fonts.ts. Sets the SDF's encoded headroom past the glyph +// contour; tighter ranges clamp the tail and produce banded edges. const DISTANCE_RANGE_PX: f32 = 16.0; @group(0) @binding(0) var u: Uniforms; @@ -49,21 +43,20 @@ fn vs(input: VsIn) -> VsOut { let minPx = label.sizing.y; let maxPx = label.sizing.z; let fadeAlpha = label.sizing.w; - let glowEmFrac = label.effects.x; // Project anchor to clip space. let clip = worldToClip(u.cam, worldPos); - // Perspective-driven size (existing math, unchanged). + // Perspective-driven size. let pxPerEm = worldLenToPx(u.cam, worldEmMpc, clip.w); let displayEmPx = clamp(pxPerEm, minPx, maxPx); let pxScale = displayEmPx / ATLAS_EM_PX; - // Effect fringe in atlas px. The on-screen fringe is - // 'max(outline, glow) * displayEmPx' screen pixels, which divides - // by pxScale to recover atlas-px (because the same pxScale gets - // applied to the corner offset below). - let fringeAtlasPx = max(outlineEmFrac, glowEmFrac) * ATLAS_EM_PX; + // Outline fringe in atlas px. The on-screen fringe is + // 'outlineEmFrac * displayEmPx' screen pixels, which divides by + // pxScale to recover atlas-px (because the same pxScale is applied + // to the corner offset below). + let fringeAtlasPx = outlineEmFrac * ATLAS_EM_PX; // Expand each corner outward by the fringe. The unit-corner attribute // sits in {(0,0),(1,0),(0,1),(1,1)}; remap to {-1,+1} via (corner*2-1) @@ -81,8 +74,8 @@ fn vs(input: VsIn) -> VsOut { // UV expansion to match the corner expansion. The UV rect coordinates // are already normalised; the fringe in atlas px maps to UV space via // '(uvSpan / localSize)'. The result samples outside the glyph's - // atlas rect at the fringe, which is what the SDF falloff math wants - // (the distance-only region past the glyph contour). + // atlas rect at the fringe — the distance-only region past the glyph + // contour, which is where the outline band lives. let uvSpanX = input.uvRect.z - input.uvRect.x; let uvSpanY = input.uvRect.w - input.uvRect.y; let uvBase = vec2( @@ -97,18 +90,14 @@ fn vs(input: VsIn) -> VsOut { // Pre-bake fadeAlpha into every colour channel that flows to the // fragment stage. The fragment stage then just multiplies by the - // per-band SDF coverage, so fadeAlpha applies uniformly to fill, - // outline, and glow without an extra fragment-side multiply. + // per-band SDF coverage, so fadeAlpha applies uniformly to fill and + // outline without an extra fragment-side multiply. let outColor = vec4(label.color.rgb * fadeAlpha, label.color.a * fadeAlpha); let outOutlineColor = vec4(label.outlineColor.rgb * fadeAlpha, label.outlineColor.a * fadeAlpha); - let outGlowColor = vec4(label.glowColor.rgb * fadeAlpha, label.glowColor.a * fadeAlpha); - // Convert em-fraction widths to SDF units. See io.wesl docstring - // for the derivation: + // Convert em-fraction outline width to SDF units: // widthInSdfUnits = (frac * ATLAS_EM_PX) / DISTANCE_RANGE_PX let outlineSdf = outlineEmFrac * ATLAS_EM_PX / DISTANCE_RANGE_PX; - let glowSdf = glowEmFrac * ATLAS_EM_PX / DISTANCE_RANGE_PX; - let widths = vec2(outlineSdf, glowSdf); - return VsOut(outPos, uv, outColor, input.fontIndex, outOutlineColor, outGlowColor, widths); + return VsOut(outPos, uv, outColor, input.fontIndex, outOutlineColor, outlineSdf); } diff --git a/tests/rendering/labelTypeFields.test.ts b/tests/rendering/labelTypeFields.test.ts index f94d1b66..776f6bb6 100644 --- a/tests/rendering/labelTypeFields.test.ts +++ b/tests/rendering/labelTypeFields.test.ts @@ -3,10 +3,8 @@ import type { Label } from '../../src/@types/rendering/Label'; import type { Vec4 } from '../../src/@types/math/Vec4'; describe('Label type effect fields', () => { - it('declares optional outlineColor / outlineEmFrac / glowColor / glowEmFrac', () => { + it('declares optional outlineColor / outlineEmFrac', () => { expectTypeOf().toEqualTypeOf(); expectTypeOf().toEqualTypeOf(); - expectTypeOf().toEqualTypeOf(); - expectTypeOf().toEqualTypeOf(); }); }); diff --git a/tests/services/engine/labelStyleOverride.test.ts b/tests/services/engine/labelStyleOverride.test.ts index acd56eb4..7efd86df 100644 --- a/tests/services/engine/labelStyleOverride.test.ts +++ b/tests/services/engine/labelStyleOverride.test.ts @@ -22,15 +22,11 @@ describe('labelStyleOverride', () => { targetCategory: 'cluster', outlineColor: [1, 0, 0, 1], outlineEmFrac: 0.05, - glowColor: [0, 0, 1, 0.5], - glowEmFrac: 0.2, }); const v = getLabelStyleOverride(); expect(v.targetCategory).toBe('cluster'); expect(v.outlineColor).toEqual([1, 0, 0, 1]); expect(v.outlineEmFrac).toBe(0.05); - expect(v.glowColor).toEqual([0, 0, 1, 0.5]); - expect(v.glowEmFrac).toBe(0.2); }); it('clearLabelStyleOverride resets targetCategory to null', () => { @@ -38,8 +34,6 @@ describe('labelStyleOverride', () => { targetCategory: 'void', outlineColor: [0, 0, 0, 0], outlineEmFrac: 0, - glowColor: [0, 0, 0, 0], - glowEmFrac: 0, }); clearLabelStyleOverride(); expect(getLabelStyleOverride().targetCategory).toBeNull(); @@ -54,8 +48,6 @@ describe('labelStyleOverride', () => { targetCategory: 'cluster', outlineColor: [1, 0, 0, 1], outlineEmFrac: 0.05, - glowColor: [0, 0, 1, 0.5], - glowEmFrac: 0.2, }); expect(wakes).toBe(1); clearLabelStyleOverride(); diff --git a/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts b/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts index b6e00ea4..5b992e51 100644 --- a/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts +++ b/tests/services/engine/subsystems/labelDirectorSubsystem.override.test.ts @@ -75,8 +75,6 @@ describe('labelDirectorSubsystem — labelStyleOverride wake', () => { targetCategory: 'youAreHere', outlineColor: [0, 0, 0, 1], outlineEmFrac: 0.1, - glowColor: [0, 0, 0, 1], - glowEmFrac: 0.2, }); dir.runFrame(makeState(), makeCtx()); @@ -96,8 +94,6 @@ describe('labelDirectorSubsystem — labelStyleOverride wake', () => { targetCategory: 'youAreHere', outlineColor: [0, 0, 0, 1], outlineEmFrac: 0.1, - glowColor: [0, 0, 0, 1], - glowEmFrac: 0.2, }); dir.runFrame(makeState(), makeCtx()); dir.runFrame(makeState(), makeCtx()); diff --git a/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts index b4907e44..34e7313a 100644 --- a/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts +++ b/tests/services/engine/subsystems/poiSubsystem.labelEffects.test.ts @@ -3,9 +3,8 @@ * * Exercises the override path through the real producer: when the * DebugPanel's LabelEffectsSection picks a POI category as the target, - * any POI whose own category matches adopts the override's outline + - * glow fields; non-matching POIs (and the case where the target is a - * different category) emit labels with effect fields undefined. + * any POI whose own category matches adopts the override's outline + * fields; non-matching POIs keep their category-default outline. * * State stub: the producer only touches state.subsystems.fades.fadeTo * (one-shot layer fade-in). Context stub mirrors poiSubsystem.test.ts @@ -57,29 +56,23 @@ describe('poiSubsystem · labelStyleOverride', () => { it('applies the override only to labels whose category matches', () => { setLabelStyleOverride({ targetCategory: 'cluster', - outlineColor: [1, 0, 0, 1], - outlineEmFrac: 0.08, - glowColor: [0, 1, 0, 0.5], - glowEmFrac: 0.2, + outlineColor: [1, 1, 0, 1], + outlineEmFrac: 0.06, }); const sub = createPoiSubsystem(); sub.setPois([VIRGO]); const out = sub.produceLabels(makeState(), makeCtx()); expect(out.labels).toHaveLength(1); const label = out.labels[0]!; - expect(label.outlineColor).toEqual([1, 0, 0, 1]); - expect(label.outlineEmFrac).toBe(0.08); - expect(label.glowColor).toEqual([0, 1, 0, 0.5]); - expect(label.glowEmFrac).toBe(0.2); + expect(label.outlineColor).toEqual([1, 1, 0, 1]); + expect(label.outlineEmFrac).toBe(0.06); }); it('falls back to the category baked-in outline when override targets another category', () => { setLabelStyleOverride({ targetCategory: 'void', - outlineColor: [1, 0, 0, 1], - outlineEmFrac: 0.08, - glowColor: [0, 1, 0, 0.5], - glowEmFrac: 0.2, + outlineColor: [1, 1, 0, 1], + outlineEmFrac: 0.06, }); const sub = createPoiSubsystem(); sub.setPois([VIRGO]); @@ -88,7 +81,5 @@ describe('poiSubsystem · labelStyleOverride', () => { const label = out.labels[0]!; expect(label.outlineColor).toEqual([0, 0, 0, 0.1]); expect(label.outlineEmFrac).toBe(0.16); - expect(label.glowColor).toBeUndefined(); - expect(label.glowEmFrac).toBeUndefined(); }); }); diff --git a/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts index 6d326c78..a0ff1ebf 100644 --- a/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts +++ b/tests/services/engine/subsystems/youAreHereSubsystem.labelEffects.test.ts @@ -3,10 +3,10 @@ * * Exercises the override path through the real producer: when the * DebugPanel's LabelEffectsSection picks 'youAreHere' as the target - * category, the produced label adopts the override's outline + glow - * fields; when it picks any other category, the label falls back to - * the producer's baked-in drop-shadow outline (`OUTLINE_COLOR` + - * `OUTLINE_EM_FRAC` in `youAreHereSubsystem.ts`) and no glow. + * category, the produced label adopts the override's outline fields; + * when it picks another category, the label falls back to the + * producer's baked drop-shadow outline (OUTLINE_COLOR + OUTLINE_EM_FRAC + * in `youAreHereSubsystem.ts`). * * State stub: the producer only touches state.subsystems.fades.fadeTo * (one-shot layer fade-in). A no-op stub suffices. @@ -48,8 +48,6 @@ describe('youAreHereSubsystem · labelStyleOverride', () => { targetCategory: 'youAreHere', outlineColor: [1, 0, 0, 1], outlineEmFrac: 0.08, - glowColor: [0, 1, 0, 0.5], - glowEmFrac: 0.2, }); const sub = createYouAreHereSubsystem(); const out = sub.produceLabels(makeState(), makeCtx()); @@ -57,8 +55,6 @@ describe('youAreHereSubsystem · labelStyleOverride', () => { const label = out.labels[0]!; expect(label.outlineColor).toEqual([1, 0, 0, 1]); expect(label.outlineEmFrac).toBe(0.08); - expect(label.glowColor).toEqual([0, 1, 0, 0.5]); - expect(label.glowEmFrac).toBe(0.2); }); it('falls back to the baked drop-shadow outline when override targets another category', () => { @@ -66,17 +62,13 @@ describe('youAreHereSubsystem · labelStyleOverride', () => { targetCategory: 'cluster', outlineColor: [1, 0, 0, 1], outlineEmFrac: 0.08, - glowColor: [0, 1, 0, 0.5], - glowEmFrac: 0.2, }); const sub = createYouAreHereSubsystem(); const out = sub.produceLabels(makeState(), makeCtx()); expect(out.labels).toHaveLength(1); const label = out.labels[0]!; - // Producer defaults: a soft black drop-shadow outline, glow unset. + // Producer defaults: a soft black drop-shadow outline. expect(label.outlineColor).toEqual([0, 0, 0, 0.1]); expect(label.outlineEmFrac).toBe(0.16); - expect(label.glowColor).toBeUndefined(); - expect(label.glowEmFrac).toBeUndefined(); }); }); diff --git a/tests/services/gpu/renderers/labelRenderer.effects.test.ts b/tests/services/gpu/renderers/labelRenderer.effects.test.ts index 9fa2f5a3..a30db5a2 100644 --- a/tests/services/gpu/renderers/labelRenderer.effects.test.ts +++ b/tests/services/gpu/renderers/labelRenderer.effects.test.ts @@ -13,35 +13,43 @@ const FIXTURE_METRICS = parseFontMetrics({ ], }); const FIXTURE_ATLASES: LoadedFontAtlases = { metricsByFont: { cormorant: FIXTURE_METRICS }, bitmaps: [] }; -const newRenderer = () => createLabelRenderer( - { device: null as unknown as GPUDevice, context: null as unknown as GPUCanvasContext, - format: 'rgba16float' as GPUTextureFormat, canvas: null as unknown as HTMLCanvasElement }, - FIXTURE_ATLASES, -); +const newRenderer = () => + createLabelRenderer( + { + device: null as unknown as GPUDevice, + context: null as unknown as GPUCanvasContext, + format: 'rgba16float' as GPUTextureFormat, + canvas: null as unknown as HTMLCanvasElement, + }, + FIXTURE_ATLASES, + ); describe('LabelRenderer effect-field pack layout', () => { - it('per-label storage record is 24 f32 slots (96 bytes)', () => { + it('per-label storage record is 16 f32 slots (64 bytes)', () => { const r = newRenderer(); - r.setLabels([{ id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }]); - // First label occupies slots 0..23. The second label (if present) - // would start at slot 24. Assert by writing two labels and - // inspecting the second label's worldPos slot. r.setLabels([ { id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }, { id: 'b', worldPos: [7, 8, 9], text: 'A', pixelSize: 0, font: 'cormorant' }, ]); - const buf2 = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); - expect(buf2[24]).toBe(7); // second label's worldPos.x - expect(buf2[25]).toBe(8); - expect(buf2[26]).toBe(9); + const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); + // Second label's worldPos starts at slot 16 (= 64-byte stride / 4). + expect(buf[16]).toBe(7); + expect(buf[17]).toBe(8); + expect(buf[18]).toBe(9); }); it('writes outlineColor (premultiplied) at slots 12..15', () => { const r = newRenderer(); - r.setLabels([{ - id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', - outlineColor: [1, 0, 0, 0.5], - }]); + r.setLabels([ + { + id: 'a', + worldPos: [0, 0, 0], + text: 'A', + pixelSize: 0, + font: 'cormorant', + outlineColor: [1, 0, 0, 0.5], + }, + ]); const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); expect(buf[12]).toBeCloseTo(0.5, 5); // 1 * 0.5 expect(buf[13]).toBe(0); @@ -49,41 +57,30 @@ describe('LabelRenderer effect-field pack layout', () => { expect(buf[15]).toBeCloseTo(0.5, 5); }); - it('writes glowColor (premultiplied) at slots 16..19', () => { - const r = newRenderer(); - r.setLabels([{ - id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', - glowColor: [0, 0.5, 1, 0.8], - }]); - const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); - expect(buf[16]).toBe(0); - expect(buf[17]).toBeCloseTo(0.4, 5); // 0.5 * 0.8 - expect(buf[18]).toBeCloseTo(0.8, 5); // 1 * 0.8 - expect(buf[19]).toBeCloseTo(0.8, 5); - }); - - it('writes outlineEmFrac at sizing.x (slot 8) and glowEmFrac at effects.x (slot 20)', () => { + it('writes outlineEmFrac at sizing.x (slot 8)', () => { const r = newRenderer(); - r.setLabels([{ - id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant', - outlineEmFrac: 0.07, glowEmFrac: 0.18, - }]); + r.setLabels([ + { + id: 'a', + worldPos: [0, 0, 0], + text: 'A', + pixelSize: 0, + font: 'cormorant', + outlineEmFrac: 0.07, + }, + ]); const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); expect(buf[8]).toBeCloseTo(0.07, 5); - expect(buf[20]).toBeCloseTo(0.18, 5); - // Reserved effects.y/z/w stay zero - expect(buf[21]).toBe(0); - expect(buf[22]).toBe(0); - expect(buf[23]).toBe(0); }); - it('defaults all four new fields to zero when omitted', () => { + it('defaults outline fields to zero when omitted', () => { const r = newRenderer(); r.setLabels([{ id: 'a', worldPos: [0, 0, 0], text: 'A', pixelSize: 0, font: 'cormorant' }]); const buf = (r as unknown as { __debugLabelBuf(): Float32Array }).__debugLabelBuf(); - expect(buf[8]).toBe(0); // outlineEmFrac - expect(buf[12]).toBe(0); expect(buf[13]).toBe(0); expect(buf[14]).toBe(0); expect(buf[15]).toBe(0); // outlineColor - expect(buf[16]).toBe(0); expect(buf[17]).toBe(0); expect(buf[18]).toBe(0); expect(buf[19]).toBe(0); // glowColor - expect(buf[20]).toBe(0); // glowEmFrac + expect(buf[8]).toBe(0); // outlineEmFrac + expect(buf[12]).toBe(0); + expect(buf[13]).toBe(0); + expect(buf[14]).toBe(0); + expect(buf[15]).toBe(0); }); });

+-+~V318p- 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