@@ -169,6 +169,16 @@ <h2 id="returns">Returns</h2>
169169 for i, index in enumerate(valueIndexes):
170170 mat[level][index] = [center("/", unitSize=unitSize, fillChar=" "), center("\\", unitSize=unitSize, fillChar=" ")][i % 2]
171171
172+ # Fill gaps between pairs on the even level below (level + 1)
173+ for i in range(0, len(valueIndexes), 2):
174+ if i + 1 < len(valueIndexes):
175+ # Calculate parent position (should not be overwritten)
176+ parent_col = (valueIndexes[i] + valueIndexes[i + 1]) // 2
177+ # Fill columns between valueIndexes[i] and valueIndexes[i+1], except parent
178+ for col in range(valueIndexes[i] + 1, valueIndexes[i + 1]):
179+ if col != parent_col:
180+ mat[level + 1][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
181+
172182 # Calculate parent positions (midpoints between child pairs)
173183 next = []
174184 for i in range(0, len(valueIndexes) - 1, 2):
@@ -185,17 +195,6 @@ <h2 id="returns">Returns</h2>
185195 for i, index in enumerate(valueIndexes):
186196 if codes[i] in tree:
187197 mat[level][index] = tree[codes[i]]
188-
189- # Fill gaps between pairs using prev (previous level's valueIndexes)
190- if prev is not None:
191- for i in range(0, len(prev), 2):
192- if i + 1 < len(prev):
193- # Calculate parent position (should not be overwritten)
194- parent_col = (prev[i] + prev[i + 1]) // 2
195- # Fill columns between prev[i] and prev[i+1], except parent
196- for col in range(prev[i] + 1, prev[i + 1]):
197- if col != parent_col:
198- mat[level][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
199198
200199 # Remove empty leading columns if requested
201200 if removeEmpty:
0 commit comments