@@ -86,7 +86,9 @@ def construct(self):
8686 self .play (animate_vertex_fill (graph .vertices [0 ], YELLOW ))
8787
8888 new_frontier = self .create_vector_row (["T" , "" , "" , "" , "" , "" ])
89+ new_frontier .move_to (frontier_cells )
8990 new_levels = self .create_vector_row (["1" , "" , "" , "" , "" , "" ])
91+ new_levels .move_to (levels_cells )
9092 self .play (
9193 Transform (frontier_cells , new_frontier ),
9294 Transform (levels_cells , new_levels ),
@@ -102,6 +104,7 @@ def construct(self):
102104 ):
103105 # Update level
104106 new_level_val = Text ("2" , font_size = 24 , color = BLUE )
107+ new_level_val .move_to (level_val )
105108 self .play (Transform (level_val , new_level_val ))
106109
107110 # Show expansion: nodes 1 and 3 become frontier
@@ -113,7 +116,9 @@ def construct(self):
113116
114117 # Update vectors
115118 new_frontier = self .create_vector_row (["" , "T" , "" , "T" , "" , "" ])
119+ new_frontier .move_to (frontier_cells )
116120 new_levels = self .create_vector_row (["1" , "2" , "" , "2" , "" , "" ])
121+ new_levels .move_to (levels_cells )
117122 self .play (
118123 Transform (frontier_cells , new_frontier ),
119124 Transform (levels_cells , new_levels ),
@@ -129,6 +134,7 @@ def construct(self):
129134 ):
130135 # Update level
131136 new_level_val = Text ("3" , font_size = 24 , color = BLUE )
137+ new_level_val .move_to (level_val )
132138 self .play (Transform (level_val , new_level_val ))
133139
134140 # Show expansion: nodes 2, 4, 5 become frontier
@@ -142,7 +148,9 @@ def construct(self):
142148
143149 # Update vectors
144150 new_frontier = self .create_vector_row (["" , "" , "T" , "" , "T" , "T" ])
151+ new_frontier .move_to (frontier_cells )
145152 new_levels = self .create_vector_row (["1" , "2" , "3" , "2" , "3" , "3" ])
153+ new_levels .move_to (levels_cells )
146154 self .play (
147155 Transform (frontier_cells , new_frontier ),
148156 Transform (levels_cells , new_levels ),
@@ -159,6 +167,7 @@ def construct(self):
159167 ):
160168 # Update level
161169 new_level_val = Text ("4" , font_size = 24 , color = BLUE )
170+ new_level_val .move_to (level_val )
162171 self .play (Transform (level_val , new_level_val ))
163172
164173 # All frontier nodes become visited, no new frontier
@@ -170,6 +179,7 @@ def construct(self):
170179
171180 # Update frontier to empty
172181 new_frontier = self .create_vector_row (["" , "" , "" , "" , "" , "" ])
182+ new_frontier .move_to (frontier_cells )
173183 self .play (Transform (frontier_cells , new_frontier ))
174184 self .wait (1 )
175185
@@ -188,8 +198,9 @@ def construct(self):
188198 self .play (Create (result_box ))
189199 self .wait (2 )
190200
191- # Show the efficiency
192- self .play (FadeOut (done_label ), FadeOut (result_box ))
201+ # Show the efficiency - fade out vectors and replace with summary
202+ vec_area_pos = vec_area .get_center ()
203+ self .play (FadeOut (done_label ), FadeOut (result_box ), FadeOut (vec_area ))
193204
194205 with self .voiceover (
195206 """Notice what happened: three iterations to process six nodes, with
@@ -205,14 +216,14 @@ def construct(self):
205216 Text ("• Each node processed once" , font_size = 22 ),
206217 Text ("• No explicit visited tracking" , font_size = 22 ),
207218 ).arrange (DOWN , buff = 0.2 , aligned_edge = LEFT )
208- efficiency .to_edge ( DOWN , buff = 0.4 )
219+ efficiency .move_to ( vec_area_pos )
209220
210221 self .play (Write (efficiency ))
211222 self .wait (3 )
212223
213224 self .play (
214225 FadeOut (title ), FadeOut (graph ), FadeOut (legend ),
215- FadeOut (vec_area ), FadeOut ( efficiency )
226+ FadeOut (efficiency )
216227 )
217228 self .wait (0.5 )
218229
0 commit comments