@@ -179,21 +179,10 @@ def nodeToMat(node: BinaryNode, depth=-1, valueFillChar=None, gapFillChar=None,
179179 for i , index in enumerate (valueIndexes ):
180180 mat [level ][index ] = [center ("/" , unitSize = unitSize , fillChar = " " ), center ("\\ " , unitSize = unitSize , fillChar = " " )][i % 2 ]
181181
182- # Fill gaps between pairs on the even level below (level + 1)
183- for i in range (0 , len (valueIndexes ), 2 ):
184- if i + 1 < len (valueIndexes ):
185- # Calculate parent position (should not be overwritten)
186- parent_col = (valueIndexes [i ] + valueIndexes [i + 1 ]) // 2
187- # Fill columns between valueIndexes[i] and valueIndexes[i+1], except parent
188- for col in range (valueIndexes [i ] + 1 , valueIndexes [i + 1 ]):
189- if col != parent_col :
190- mat [level + 1 ][col ] = center ("" , unitSize = unitSize , fillChar = gapFillChar )
191-
192182 # Calculate parent positions (midpoints between child pairs)
193183 next = []
194184 for i in range (0 , len (valueIndexes ) - 1 , 2 ):
195185 next .append ((valueIndexes [i ] + valueIndexes [i + 1 ]) // 2 )
196- prev = valueIndexes
197186 valueIndexes = next
198187 continue
199188
@@ -205,6 +194,20 @@ def nodeToMat(node: BinaryNode, depth=-1, valueFillChar=None, gapFillChar=None,
205194 for i , index in enumerate (valueIndexes ):
206195 if codes [i ] in tree :
207196 mat [level ][index ] = tree [codes [i ]]
197+
198+ # Fill gaps between pairs using prev (previous even level's valueIndexes)
199+ if prev is not None :
200+ for i in range (0 , len (prev ), 2 ):
201+ if i + 1 < len (prev ):
202+ # Calculate parent position (should not be overwritten)
203+ parent_col = (prev [i ] + prev [i + 1 ]) // 2
204+ # Fill columns between prev[i] and prev[i+1], except parent
205+ for col in range (prev [i ] + 1 , prev [i + 1 ]):
206+ if col != parent_col :
207+ mat [level ][col ] = center ("" , unitSize = unitSize , fillChar = gapFillChar )
208+
209+ # Save current valueIndexes for next even level
210+ prev = valueIndexes
208211
209212 # Remove empty leading columns if requested
210213 if removeEmpty :
0 commit comments