From 22ab520b5c58c9689b537bc81f83c284e851b947 Mon Sep 17 00:00:00 2001 From: amosblomqvist Date: Wed, 7 Oct 2026 12:46:28 +0300 Subject: [PATCH] =?UTF-8?q?graph:=20new=20default=20render=20tuning=20?= =?UTF-8?q?=E2=80=94=20blur=2040,=20labels=20until=20zoom=20(release=20pol?= =?UTF-8?q?ish=206)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two defaults moved by owner ruling (2026-10-07): the region blur doubles 20 → 40 (softer, wider cluster tints) and labelZoom drops 4 → 1 (node labels hidden at the overview, shown once the camera reaches fit zoom or closer). Stored values are untouched — only the absent-field fallbacks moved. The dead-center ladder law gains two owner-moved exceptions (labelZoom index 1, regions.blur index 7); every other default stays stop #5. 1428 tests, tsc, lint, build green. --- src/core/render-settings.ts | 7 +++++-- tests/render-settings.test.ts | 17 ++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/core/render-settings.ts b/src/core/render-settings.ts index 7fa968a..db44a35 100644 --- a/src/core/render-settings.ts +++ b/src/core/render-settings.ts @@ -157,7 +157,8 @@ export interface RegionTuning { export const REGION_BITMAP_OPTIONS = [128, 192, 256, 384, 512] as const; export const DEFAULT_REGION_TUNING: RegionTuning = { dilation: 20, - blur: 20, + // New default 40 (owner, 2026-10-07): softer, wider region tints. + blur: 40, bitmap: 256, edgeAlpha: 0.2, enabled: true, @@ -260,7 +261,9 @@ export const DEFAULT_RENDER_SETTINGS: GraphRenderSettings = { nodeSize: 2, edgeWidth: 1, arrowLength: 2, - labelZoom: 4, + // New default 1 (owner, 2026-10-07): labels hidden at the overview, + // shown once the camera reaches fit zoom or closer. + labelZoom: 1, labelSize: 3, clusterLabels: true, clusterLabelSize: 14, diff --git a/tests/render-settings.test.ts b/tests/render-settings.test.ts index 5249014..7f1271f 100644 --- a/tests/render-settings.test.ts +++ b/tests/render-settings.test.ts @@ -190,9 +190,9 @@ describe("sanitizeRenderSettings", () => { assert.equal(DEFAULT_RENDER_SETTINGS.edgeWidth, 1); assert.equal(DEFAULT_RENDER_SETTINGS.arrowLength, 2); assert.equal(DEFAULT_RENDER_SETTINGS.labelSize, 3); - assert.equal(DEFAULT_RENDER_SETTINGS.labelZoom, 4); + assert.equal(DEFAULT_RENDER_SETTINGS.labelZoom, 1); // labels only at fit zoom or closer (owner, 2026-10-07) assert.equal(DEFAULT_REGION_TUNING.dilation, 20); - assert.equal(DEFAULT_REGION_TUNING.blur, 20); + assert.equal(DEFAULT_REGION_TUNING.blur, 40); // new default (owner, 2026-10-07) assert.equal(DEFAULT_REGION_TUNING.edgeAlpha, 0.2); assert.equal(DEFAULT_REGION_TUNING.bitmap, 256); }); @@ -237,10 +237,17 @@ describe("ladder mapping (11 stops, default-centered)", () => { ["regions.edgeAlpha", REGION_EDGE_ALPHA_LADDER, DEFAULT_REGION_TUNING.edgeAlpha], ]; - test("every ladder has 11 stops; every default is stop #5 (dead-center)", () => { + // The dead-center law held until the owner moved two defaults + // off-center by ruling (2026-10-07): labelZoom 1 (index 1 — labels + // only at fit zoom or closer) and regions.blur 40 (index 7 — softer, + // wider tints). Every other default stays dead-center. + const OFF_CENTER: Record = { labelZoom: 1, "regions.blur": 7 }; + + test("every ladder has 11 stops; defaults dead-center except the two owner-moved", () => { for (const [name, ladder, dflt] of LADDERS) { assert.equal(ladder.length, 11, name); - assert.equal(ladder[5], dflt, name); // default at index 5 → position 50 + const idx = OFF_CENTER[name] ?? 5; + assert.equal(ladder[idx], dflt, name); // default at index 5 → position 50 } }); @@ -334,7 +341,7 @@ describe("physics sliders (fine-grained log, unchanged 2026-09-17)", () => { // span, so a value tuned on a big graph read far too sharp on a // small one. It's a canonical world reach now — any stored value // snaps to the nearest stop. - assert.equal(DEFAULT_REGION_TUNING.blur, 20); + assert.equal(DEFAULT_REGION_TUNING.blur, 40); // new default (owner, 2026-10-07) assert.equal(sanitizeRegionTuning({ blur: 3.7 }).blur, 4); // nearest stop assert.equal(sanitizeRegionTuning({ blur: 7.2 }).blur, 7.5); assert.equal(sanitizeRegionTuning({ blur: -5 }).blur, REGION_BLUR_LADDER[0]);