@@ -169,17 +169,11 @@ <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 each pair with gapFillChar
173- for i in range(0, len(valueIndexes), 2):
174- if i + 1 < len(valueIndexes):
175- # Fill columns between valueIndexes[i] and valueIndexes[i+1]
176- for col in range(valueIndexes[i] + 1, valueIndexes[i + 1]):
177- mat[level][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
178-
179172 # Calculate parent positions (midpoints between child pairs)
180173 next = []
181174 for i in range(0, len(valueIndexes) - 1, 2):
182175 next.append((valueIndexes[i] + valueIndexes[i + 1]) // 2)
176+ prev = valueIndexes
183177 valueIndexes = next
184178 continue
185179
@@ -191,6 +185,14 @@ <h2 id="returns">Returns</h2>
191185 for i, index in enumerate(valueIndexes):
192186 if codes[i] in tree:
193187 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+ # Fill columns between prev[i] and prev[i+1]
194+ for col in range(prev[i] + 1, prev[i + 1]):
195+ mat[level][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
194196
195197 # Remove empty leading columns if requested
196198 if removeEmpty:
0 commit comments