Re-tune render sizes for the world-space model: smaller defaults, wide low ends
The defaults were calibrated in the screen-fixed era; world-scaling renders
sizes at setting x k/kFit, so at the default label gate (2x fit) everything
read ~2x too big ("labels way too large even at the minimum"). Fit-zoom
normalizes layout scale away, so the fix belongs in sizes, not layout:
spreading nodes further apart in world units changes nothing at fit.
- Defaults: nodeSize 6 -> 4, arrowLength 5 -> 4, labelSize 12 -> 7.
- Clamps/slider ranges widened at the low end: nodeSize 1-14 (step 0.5),
edgeWidth 0.25-4 (step 0.25), arrowLength 1-15 (step 0.5),
labelSize 3-24 (step 0.5).
- GLOW_PAD 9 -> 6 (halo dominated small discs), REGION_LABEL_SIZE 18 -> 14.
- Tests updated for the new clamp bounds plus a low-end pass-through case
(403/403). The saved render-settings.json still shadows defaults by
design; the local copy was reset so the new defaults showed immediately.
This commit is contained in:
@@ -44,13 +44,21 @@ describe("sanitizeRenderSettings", () => {
|
||||
clusterLabels: "yes" as unknown as boolean,
|
||||
});
|
||||
assert.equal(s.nodeSize, 14); // clamped to max
|
||||
assert.equal(s.edgeWidth, 0.5); // clamped to min
|
||||
assert.equal(s.arrowLength, 2);
|
||||
assert.equal(s.edgeWidth, 0.25); // clamped to min
|
||||
assert.equal(s.arrowLength, 1);
|
||||
assert.equal(s.labelZoom, LABEL_ZOOM_MAX);
|
||||
assert.equal(s.labelSize, DEFAULT_RENDER_SETTINGS.labelSize); // NaN-safe reset
|
||||
assert.equal(s.clusterLabels, DEFAULT_RENDER_SETTINGS.clusterLabels);
|
||||
});
|
||||
|
||||
test("the widened low ends accept small sizes", () => {
|
||||
const s = sanitizeRenderSettings({ nodeSize: 1, edgeWidth: 0.25, arrowLength: 1, labelSize: 3 });
|
||||
assert.deepEqual(
|
||||
{ nodeSize: s.nodeSize, edgeWidth: s.edgeWidth, arrowLength: s.arrowLength, labelSize: s.labelSize },
|
||||
{ nodeSize: 1, edgeWidth: 0.25, arrowLength: 1, labelSize: 3 },
|
||||
);
|
||||
});
|
||||
|
||||
test("a fully valid object passes through unchanged", () => {
|
||||
const valid = { nodeSize: 8, edgeWidth: 2, arrowLength: 7, labelZoom: 0.25, labelSize: 16, clusterLabels: false };
|
||||
assert.deepEqual(sanitizeRenderSettings(valid), valid);
|
||||
|
||||
Reference in New Issue
Block a user