Region tints follow the search filter: visible-only edge strokes
buildRegions filtered everything by visibility except the intra-cluster edge strokes: with a search active, edges between filtered-out nodes were still stroked into the bitmap — which had already shrunk to the visible members — and segments crossing that rect cut diagonal hue streaks from other clusters across the filtered regions. Strokes now require both endpoints visible, same law as the world rect, member discs, and label anchors. The no-double-counting rule survives: a member touched only by a partially-invisible edge gets its disc.
This commit is contained in:
@@ -1124,6 +1124,11 @@ export class GraphCanvasRenderer {
|
||||
for (const e of data.edges) {
|
||||
if (clusterOf.get(e.from) !== ci) continue;
|
||||
if (clusterOf.get(e.to) !== ci) continue;
|
||||
// Search filter: stroke only fully-visible edges. Invisible-node
|
||||
// segments still stroked into the (visible-only) bitmap cut
|
||||
// diagonal hue streaks across other clusters' regions (user-
|
||||
// reported 2026-09-14) — rect, discs, and anchors already filter.
|
||||
if (!isVisible(e.from) || !isVisible(e.to)) continue;
|
||||
const a = this.nodeById.get(e.from);
|
||||
const b = this.nodeById.get(e.to);
|
||||
if (!a || !b) continue;
|
||||
|
||||
Reference in New Issue
Block a user