From c713dfa732b83a734e95da7f64db7d07fa9ef0e1 Mon Sep 17 00:00:00 2001 From: Taksh Date: Tue, 30 Jun 2026 23:01:43 +0530 Subject: [PATCH 1/4] fix(creation): honor suspend_mobject_updating in Create/Uncreate ShowPartial rebuilds each frame from starting_mobject; suspend its updaters too when suspend_mobject_updating is set. Fixes #4763 Co-authored-by: Cursor --- manim/animation/creation.py | 9 +++++++++ tests/module/animation/test_creation.py | 12 +++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/manim/animation/creation.py b/manim/animation/creation.py index f79b6ec197..3da7d443a6 100644 --- a/manim/animation/creation.py +++ b/manim/animation/creation.py @@ -123,6 +123,15 @@ def __init__( raise TypeError(f"{self.__class__.__name__} only works for VMobjects.") super().__init__(mobject, **kwargs) + def begin(self) -> None: + super().begin() + # Each frame is rebuilt from starting_mobject via pointwise_become_partial, + # so its updaters must also be suspended; otherwise they keep mutating the + # reference copy and leak back into the result, ignoring + # suspend_mobject_updating (#4763). + if self.suspend_mobject_updating and self.starting_mobject is not None: + self.starting_mobject.suspend_updating() + def interpolate_submobject( self, submobject: Mobject, diff --git a/tests/module/animation/test_creation.py b/tests/module/animation/test_creation.py index d2a0b08666..e4dad24c25 100644 --- a/tests/module/animation/test_creation.py +++ b/tests/module/animation/test_creation.py @@ -3,7 +3,7 @@ import numpy as np import pytest -from manim import AddTextLetterByLetter, Text +from manim import RIGHT, AddTextLetterByLetter, Circle, Create, Text def test_non_empty_text_creation(): @@ -32,3 +32,13 @@ def test_run_time_for_non_empty_text(config): expected_run_time = np.max((1 / config.frame_rate, run_time_per_char)) * len(s.text) anim = AddTextLetterByLetter(s, time_per_char=run_time_per_char) assert anim.run_time == expected_run_time + + +def test_create_suspends_starting_mobject_updaters() -> None: + """Create rebuilds from starting_mobject each frame; its updaters must pause too (#4763).""" + circle = Circle() + circle.add_updater(lambda m, dt: m.shift(RIGHT * dt)) + anim = Create(circle, suspend_mobject_updating=True) + anim.begin() + assert anim.starting_mobject is not None + assert anim.starting_mobject.updating_suspended From aab0fd5d9491261f60a73d1a6d105cc6e1ef2984 Mon Sep 17 00:00:00 2001 From: Taksh Date: Wed, 8 Jul 2026 18:08:03 +0530 Subject: [PATCH 2/4] test(updaters): opt into running updaters during Create in snapshot Default Create now suspends starting_mobject updaters (#4763). Co-authored-by: Cursor --- tests/test_graphical_units/test_updaters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_graphical_units/test_updaters.py b/tests/test_graphical_units/test_updaters.py index c05024687b..551b107a76 100644 --- a/tests/test_graphical_units/test_updaters.py +++ b/tests/test_graphical_units/test_updaters.py @@ -31,7 +31,7 @@ def f(mob): scene.add(Square()) s = Circle().add_updater(f) - scene.play(Create(s)) + scene.play(Create(s, suspend_mobject_updating=False)) @frames_comparison(last_frame=False) From 13d82fbeaaff574fcc5e2678bcbfa630e78dda46 Mon Sep 17 00:00:00 2001 From: Taksh Date: Wed, 8 Jul 2026 18:14:58 +0530 Subject: [PATCH 3/4] test(graphical): refresh Create updater snapshot for #4763 Default Create now suspends starting_mobject updaters. Co-authored-by: Cursor --- .../updaters/UpdateSceneDuringAnimation.npz | Bin 10852 -> 9560 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz b/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz index 0cbc604b4726ce90a58e448a5d1e4b6b0a4276db..e6b82c544386f5107ef61e59b525558631529f9d 100644 GIT binary patch literal 9560 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 literal 10852 zcmeHNc~n!^zK&Y8ih@-U6@j)^abQpp5Fub|6)P%O#E1|mB1Rb%2m!*>D??ifI58V$@q)rTp2!a7l(ugDinIt3uLXx)+>UzER-MiN7e|`5B7G#|v=j^@D{(aLv zZY~QxGDjc~AA`To5R+|T7qstxbP=l&=feF$0({Ta z_}vON`t{l$NRL)rJ0q&t^l<&E!SwI1{Pr^M*L1Yk)`Fiddj_%(Bld5b7hLr5uSxUb z2L*XdX2loX8|9OuvUpb%QhzYtPNtd3;(9?dt*k;!0e0q5#NxPDt*%2mhJQ(~)l7O= z==W|I|4AodydvF#sZn~6Eyy#k+O-MtFk$P&tM)`Ee)4eU z&8F{|mz>S>P}8nDnMiRtg#v?{B!+(^XARRIBq;Hyng6_lM>O(?@ti* zf2C+va_~A_lZ-1PoyMNxUx;`_pgZJoHxd^ZGw;lm)3~x6gHIRT#s0PVXCI9hVj6gq z3<$?HqMDVV7rI#(85yNWvOYiClAa)*_vf07f7aF{@poQ$ULx(ZVtrxSfu4-e+ZV!T z78=$+j$k2CQ=0S1W*Ehja0B(w0=HXZHHS;d?j1TSF88+DH&75e4^{uUH&v6@bH2!i z%UM)m&*T)G@JU)*(pXvJMYp*NH$Ma=nv&~(GqUi9F9XSe9rf2`l=L-bTjJIr0NjcSu_B#kV@}pem>@x+>!g0 zi1vWzCExs2NPnzklla{|J*zm;!x^vN;ZJ#2g-7LAisKr|yhY7Uj(2 zF(1m>f(C6<1BM^NyRCO(l^GGOj6s87-AdD+T|T$mx9!ZhxDtOZ*_Op!y(V+?2-vms zj8N>AMb!7WWX{WAh$Z4a~UZ<};(OFUal5DTi zy_4HWFt(5oa=r$2So#dg-C$)$X~xDUFh5VBAnLxkO(q#-iz?F39XSRX7X0m~I4Jg9 zGBMbv@Q6=RUdeOFe_*hUY|mPjTiCD(zWp}=r~qS6Z1@ykpPmoSIaPAMGU`a-YRv^! z#?#jee>iZM9N2d6Gu~w`_xk(8yDT9gR(~HGz<@DXF;OyC(P%6y%;y6-C<^Gv_voPR zV`DbI#}Ajr;C30I@!U}!3E_6DH|oW-A?t~Z&?3J7Z;uXPRQX9TuWjF>LupxAnN)o| z*$mgsLjJKL`HwyOnM015=SmJS3H*%sC-f5;q+RX}}Ydc~k9m1Jx=N$4IfpOBn37iMA6+iF; zj~Ag6+ZKVT)d};xXXnrwd!ac&QRnyeYBA%7zP_6^SJgw;>d@1Yc=CjbjjbOS<#Vt5 z((@ zTN-f?xB8|*(xbfvVq>TK$RSdsA8o(!UU|vAqDqo4Ml`x1UrWW|G-HzZz?aWb`3sBI zragxiY^%w$GpE$~yGI9$>YqV7f4ObN+F-pau~0sfnZc_U-<@_)=NlxQkvEXZpwt=J z{kv-mnm!9Ibf~-6LQ>xkY5!Fk7?8ObMOb^VX}LI;f>>Q^2_Y*<8z~o=Gg38nyY8sE zNwee9)HCU?Gwy9NK~)ELV->~+adUq)L=B$JlMW~{=5P|=WeN-OvSFcJ_$fpb-)nE^ z5i}SHhrm&>^{PiBn8!HQs6`y-a?6EKoTFf@osxFlAc;S538G#+f{B*R9_3XG-!X6u zGOrQmUuE6uir*45@4VyUaj}rpWEp0^F-|k(nZjZlG@ayk@d>R&mhPYjVkDwS9BQ&> z$Lx8=T^>z8eI{}N6}lwCIcr-Sjj@v+bRxR!TCtM7kG!-fP9YKtXO&sD z)k~Xh2)X6DuYU)~id&!~O<_1+yNKAS(LOovhrTaUSSR(^_&m!HB+{FM455R*Bv8rr z_O4guGi7Ba=qYb`1KqHjlaK5pfH)gG0&@h5_i;nAaz};AhI9!gy zIZ*?SYCH#i!Hntkp9oi#3Q)C3mbQcEqJAMdWU(@93I1aQvyVJvX!g+~`hgrDL|29*U!kWJ?QO@1CPYi9$`9)C>9tLNsmDJ?bxHiXz!w!#UYdzbFGqcTa@qT2LYB{p+k7^QidQNI zk1eGN!(5Gof-y(;O}}?#70x(U!<`Osp)9^VKowz6a%LuF2L}C@= zRmj4PGP+XC^i@+`mm3Z|11LT0){5WvP~WO7#WpH2rfY0)jl{;I`D=ZuJKz4+zKZdt@qzl9 zLDDOEDH(%}N;Y76n$YN>4?m-7`%E_Lnye?BN<18`DZozSljWT{`y$F4$hjFNt9%A& zJBM1Leb)BwDw4L~JNPX@PbpGadz{PTjJqxXSe?xw>bbV&S>cq}4oYF+ci47`m;!Hf zzVagA25-k2vO(tPvM>UDt2cINvJF%H@CDLpB8JqWx5*OGCHM|1j8`Z|LNLiJ6Q@e4 zo$6IzJB2;uu9UI;U{u!ag+vP$r<#Q9u^wtVbDYRbw!Iw85t5#|hMrnCu&A;320&(P zk(lQHc1SAp3<}bOmYlPqVBMn6b=;IbJP;AsuCq@z;ES^~Njy9CkZJBGeses9h1R_~QFGUNW0^_h{w*AeW8=@Z@FzJ#5Du({qAa z9XE9EEtj&#KEvzDN~_D#I>==rThNzU91bJcTJNKsoGjKMRuU}i&V@(U)hCi7)&R7g zo)n8+vhuId?+hq~-t2&wdNj8C=cnMv61iAh)>QS>$;E5(h?;lva1GG!A)rxi4dgJY zcwm<1=AU-oz|lQ%Z4W0$Kra1&@iUwd`YkT~-kX@2o{g2qbhA9d2LNGy3wb!H+D%e_ zhyJA6p@4VT9Dh-QYBNpK-5N*G?Dl(k#bGW5dV!X^`f4u2ppBxs=F-=fKlBTR|S{Act)M95K}{{=gA~HRMM4BxM|JX;EZN^K3nZ z97a=&!Bg8;)3dmVLxL62MmxpimZ&jzyA?y95)a9q1-DgJMh%pkDWS%Nng z|1j&5PL;s})2%XA=s73osW>r!yC%w`l-2!cLk<*kZtWbquD{w3E}g}J)RQ^Zyqkn| zDXiXd$^n>+VsXlcR-4lj9h8&L94~&yi?IGYtQ&SU90;g_2@8`3 zgo98n&b34N0*J^qOwiY$PPjA(Sst)&YA~a+Ekp-n;OMmx)W@u%9|D!M1h#`dtM5MnYtVS5R~&W@rbe4zxEK9{k|8yi#8a+?Z2 z2}LHHlS z|JC0ZwhU*UpGyp~j1_B`plaT@;FOV>%UDE`g+ra@2CNa=FcSElX|yOM02JPXY|~T} zYj6bsnp1DqJpeN<#ofuS(HCG6W&fx+*a;0VibC`EkDk3h;>Rz)y1XzZ3gbM*ycsaf zbppafO#s@}=ol``WWZPx&2F0m)Aw?Da=eNy*A7msnxNw(^{e1nd*Qqf;-}+TVy2H^ z2*vhb>pu0tp!cZXJUd<{AwQwn`eQ~KdVEjT+(K&&%gmOL_Ugr(!b9iI5)*(?e`!TG zon^4cC#=M5RitgFolU`>#!5bv9Zy$19e$J?1bjaI6lpj8SQKFxXE2#uoVB*^1Q2#V z2jV0U**0#9mxgUnZoHjKU0g>eR;rG?6Jk}T8!E)AqCTTOuVT!*=CYuB;ctH zfg&*ovy$hk*@9rOsA1WbI5DR_Mtpjg`8zC}>}mL8IG)V7 z^JoNFW`{!Ykp-Z`xmn}l6#u=9TY|8qC?i{{)HCQ3mi2QSCs@4yDS!sMQ#cHf8Xq&b zjwgG}+7`#8H8<=Evr+b{1vQz@D*Z1JCQZpd<8nvZ_75 zhvC{(qvw2IcUxRz>=O!o9|p3H@$@dj&;)s zk(jI)D&QIf3a=>IfT05++(cZW+tUkxlU%SU^>2ETClcRNlMd?9s~)ClrrYcQAB6*Z z)h|{J--{nBX%mdP+HafoAxn(k)9mFij)9|H_4S8uplCC`I>5ChC_LV~ zHVvOXB%F{z2QIT3HPk*$fkfXe(?eVz8WoW#%yLLvvPah~9oT$Z) zLY8&zh&qJlS;^Bj4i2{2+c&)%pV9bK_zAUHBdwMa?>e1rAq?Cf$j2tF9D^VOR^A4m zp;pKH%Y(PZ)x@qJdcM+U4<^2OGH>g9O&07NK;Aa!d4T2NYTz+3JKR#1rucpV=+nx9 zCbA{SWF?iKR0D-{5}sH~=W>8PBz7(bP({t9%MzRFrSztYQ9RNMh5!V{gaOK4Rs$WL zmTIgLRN{nHgp7Pp-;vAPlW+t>@Mll$TnwgUguNS%OFJJLt*C17d;MED%^;7eRMH!( zo<{V-wF~s_KPrLrU{083=9<*j&~^F##mlR<0tqnw9fTYK5f`kkL0;`KRS^HSWg(IW zTZH0Ny>U1f>3NLBDZ(7*^f~$(>tkOa(xsMyFkOJA@rU4i=6`7hkne~)JmCRtp~SsgXRCHSUXUHLcYB1~87KkV7N}74 zqtHGbwnGjH0~0$)sr^>+-5}kXebK5vjlV{;iwYzvO5r*N){BkgNjzJ3%ppGj@e#}- zRYV_n%!!s{)=5Q6EhwzrFowe{Q6s#fI%(F9JE_<^-Ub*Vb8kHNVR_?&X=RBvV5F5T zr?%V$C@o^uZ*Ebi{*n}bNFH?!lZfiz zLvOE+Sj@C6F0xT_6BE0Gim&_?{r(mG{{M=8)leAn%0H+G?%mh09WHIH)F}PA%>Pjl zf)9$IDPijCmyXzPVWnV{9T%pSCcXrs1iY|gGAq|({4?***Q5Eu^1#wb+PbtT7`S?{ z;?V?id&=QsK!A9IJrZNJ3|0cfI28+UARGppI80pRk#@J~nM}LCmnn5&NH_ROc`P7x zn6@;HX$(#~y+8{D)>+y-w-$4J{W$3BlhjoHS-RaE0IEz%vobaVh+U6kh6elfJcI>?pwfv3Nfj5`v-J@ zGT6Wd!HOzg4U-jMC>8sekYj+n=8Mg;bd$(Dqjb|3Tr zob-SkD%k)COoL-i13+=z=0IrCWH3e_i9)I$?R0O`5mf12_Bt*6C(>c#;wFBrzEgy- zR}GeYrbUC$<$JZl;icB<5OINT+ol zzxCfM+hCd@+6&zA&B5tCBUle}!00}U$Hc;d zhp-S=q0Dp_-29G7d%{=GY)xnQ66&^}Tv(DA`Dzvp7uf~!C;uvdU>&LGe9LHeU=>m= zHrNK9MZ>OVW&kQ4T$BbcbNL{{_P?|VIOB);h(sp?F)byvZ_qozAFb+qVG=WM3+Hwu zuF=$DoUs01ss=XBR36|9E6j*J5Hj=-z8N$6E}8(5?G55OARXTs$A{bH}WEnH9bc$JW2XoQ`ir5_Ku%s2qTBYKs$Em?!gwFIK#DtHc6u~Eui zFv5gsB+rEDlS?$xf?R}`YWFyG)#Ioa6mmVWgGQG;vV*22+VO>6ZCqmf>E;;CrD^#s zAn!7ci^RQiQXx)3BAUmBte*JOMh{&)?R+ Date: Wed, 8 Jul 2026 18:22:44 +0530 Subject: [PATCH 4/4] test(updaters): use GrowFromCenter in scene-mutation snapshot Avoid coupling the graphical test to Create's starting_mobject behavior. Co-authored-by: Cursor --- .../updaters/UpdateSceneDuringAnimation.npz | Bin 9560 -> 11033 bytes tests/test_graphical_units/test_updaters.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz b/tests/test_graphical_units/control_data/updaters/UpdateSceneDuringAnimation.npz index e6b82c544386f5107ef61e59b525558631529f9d..84937f2796da9052ccda3ffab211a0584db9999a 100644 GIT binary patch literal 11033 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 literal 9560 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 diff --git a/tests/test_graphical_units/test_updaters.py b/tests/test_graphical_units/test_updaters.py index 551b107a76..1ba27a14c0 100644 --- a/tests/test_graphical_units/test_updaters.py +++ b/tests/test_graphical_units/test_updaters.py @@ -31,7 +31,7 @@ def f(mob): scene.add(Square()) s = Circle().add_updater(f) - scene.play(Create(s, suspend_mobject_updating=False)) + scene.play(GrowFromCenter(s)) @frames_comparison(last_frame=False)