From c581b59b7f0c235555226900158feab43bf64ded Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Tue, 11 Aug 2026 10:40:22 -0400 Subject: [PATCH] refactor(merman): simplify spatial span assembly (#41757) --- packages/merman/src/core/spatial.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/merman/src/core/spatial.ts b/packages/merman/src/core/spatial.ts index 2f22d61fb99..95f5a45fd8e 100644 --- a/packages/merman/src/core/spatial.ts +++ b/packages/merman/src/core/spatial.ts @@ -77,20 +77,21 @@ export function spatialPathSpans(points: readonly DiagramPoint[]): SpatialSpan[] .sort(([left], [right]) => left - right) .flatMap(([y, xs]) => { const sorted = [...xs].sort((left, right) => left - right) + const [first, ...rest] = sorted + if (first === undefined) return [] const spans: SpatialSpan[] = [] - let start = sorted[0] - let end = start - if (start === undefined) return spans - for (const x of sorted.slice(1)) { - if (x === end! + 1) { + let start = first + let end = first + for (const x of rest) { + if (x === end + 1) { end = x continue } - spans.push(normalizedSpan(y, start, end!)) + spans.push(normalizedSpan(y, start, end)) start = x end = x } - spans.push(normalizedSpan(y, start, end!)) + spans.push(normalizedSpan(y, start, end)) return spans }) }