From e765f90d70fb428f982b980740c64af37018c471 Mon Sep 17 00:00:00 2001 From: Lightning Pixel Date: Wed, 18 Mar 2026 11:06:26 +0100 Subject: [PATCH 1/5] fix(setup): add window controls and fix overflow bugs in splash screen --- src/areas/setup/FirstRunSetup.tsx | 39 +++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/src/areas/setup/FirstRunSetup.tsx b/src/areas/setup/FirstRunSetup.tsx index 2493ffc..518e36f 100644 --- a/src/areas/setup/FirstRunSetup.tsx +++ b/src/areas/setup/FirstRunSetup.tsx @@ -71,7 +71,7 @@ function InstallingPanel({ progress }: { progress: SetupProgress | null }): JSX. const done = idx < currentIdx const active = idx === currentIdx return ( -
+
-

+

{progress?.currentPackage ?? (currentIdx >= 0 ? STEPS[currentIdx]?.label : 'Initialising…')}

{percent}%

@@ -167,9 +167,38 @@ export default function FirstRunSetup(): JSX.Element { } return ( -
- - {renderPanel()} +
+ {/* Title bar */} +
+
+
+ + +
+
+ + {/* Content */} +
+ + {renderPanel()} +
) } From 8488659501e4477354d1434a13c798df87401a6e Mon Sep 17 00:00:00 2001 From: Lightning Pixel Date: Wed, 18 Mar 2026 11:17:06 +0100 Subject: [PATCH 2/5] feat(generate): disable texture by default and warn on enable --- .../generate/components/GenerationOptions.tsx | 27 +++++++++++++++++-- src/shared/stores/appStore.ts | 2 +- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/areas/generate/components/GenerationOptions.tsx b/src/areas/generate/components/GenerationOptions.tsx index 0814b6c..f89a772 100644 --- a/src/areas/generate/components/GenerationOptions.tsx +++ b/src/areas/generate/components/GenerationOptions.tsx @@ -1,6 +1,6 @@ import { useEffect, useRef, useState } from 'react' import { useAppStore } from '@shared/stores/appStore' -import { FieldLabel, Tooltip } from '@shared/components/ui' +import { FieldLabel, Tooltip, ConfirmModal } from '@shared/components/ui' import type { CatalogModel } from '../models' @@ -161,6 +161,7 @@ export default function GenerationOptions(): JSX.Element { ) const isDisabled = currentJob?.status === 'uploading' || currentJob?.status === 'generating' + const [showTextureWarning, setShowTextureWarning] = useState(false) useEffect(() => { window.electron.model.listDownloaded() @@ -186,6 +187,7 @@ export default function GenerationOptions(): JSX.Element { } return ( + <>

Options

@@ -416,7 +418,13 @@ export default function GenerationOptions(): JSX.Element {
+ + {showTextureWarning && ( + { + setGenerationOptions({ enableTexture: true }) + setShowTextureWarning(false) + }} + onCancel={() => setShowTextureWarning(false)} + /> + )} + ) } diff --git a/src/shared/stores/appStore.ts b/src/shared/stores/appStore.ts index 9b009a8..8bb11bd 100644 --- a/src/shared/stores/appStore.ts +++ b/src/shared/stores/appStore.ts @@ -44,7 +44,7 @@ const DEFAULT_OPTIONS: GenerationOptions = { modelId: 'sf3d', vertexCount: 10000, remesh: 'quad', - enableTexture: true, + enableTexture: false, textureResolution: 512, octreeResolution: 380, guidanceScale: 5.5, From 86db762bce8e3d2790ee8978bb83605dde653f94 Mon Sep 17 00:00:00 2001 From: Lightning Pixel Date: Wed, 18 Mar 2026 11:27:08 +0100 Subject: [PATCH 3/5] fix readme --- README.md | 14 ++++++++++++++ docs/install-extension.png | Bin 0 -> 14657 bytes docs/install-from-github.png | Bin 0 -> 1530 bytes docs/install-models.png | Bin 0 -> 15700 bytes 4 files changed, 14 insertions(+) create mode 100644 docs/install-extension.png create mode 100644 docs/install-from-github.png create mode 100644 docs/install-models.png diff --git a/README.md b/README.md index ebdd875..47fb3e3 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,20 @@ Modly supports external AI model extensions. Each extension is a GitHub reposito |-----------|-------| | [modly-hunyuan3d-mini-extension](https://github.com/lightningpixel/modly-hunyuan3d-mini-extension) | Hunyuan3D 2 Mini | +### How to install an extension + +**1.** Go to the **Models** page and click **Install from GitHub**. + +![Install from GitHub](docs/install-from-github.png) + +**2.** Enter the HTTPS URL of the extension repository and confirm. + +![Enter extension URL](docs/install-extension.png) + +**3.** Once the extension is installed, download the model or one of its variants. + +![Install models](docs/install-models.png) + --- ## License diff --git a/docs/install-extension.png b/docs/install-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..f64b545f5e80ae49e96be4a88ee28b33450dd6ad GIT binary patch literal 14657 zcmcJ$cUY5I_crPjbp}P|RY64s6{HuXcT_}5=$+7{1w-$>SVkG7N$()iTaeyCML@a) z2+~EQgb?#>eY{9ayOd|rZlPOdim zH^s%p`ELmD3kdMS2wpcIM|X2?UPm{U|32WZwVS0Y+SwiLhItGa8HV#x{&V{Ci6dc;IqQj|K1tuHvRA2 zwRVIp^@6?QiA_9l{w5 zSZ&e+gZ{ka)-3+}Bev(efhBX%%c}>c{JLa!iknnNN5x%!`uo`b*MB#D>uLY_f4%sh zpAqLWg?_m6=H=B`s`>r%=e*FL*neJ8ubw>9VEp0E{f~br|MJ6~lZ@J)o@x^YVt+7% z%B$sRdp4LbgzBOMcSL>|wk;IeG5h=;3r%n<&96T{zkBU@MXHTY3Xxp`#ahBlL zObw1~4USg^Jg*Fv6PbRTMC@&%3R_Yy!>GO9C{aW{OLNEH^l9tNPr-u`oU!xnxtuI4 za*rOG1qOZezVO4e-!6P{{`3_F{PEj|g$*u-&$ra$h2 z|1m=zlz5t&eAa(<{AJ{`C<`4u?T>X*`-I@8ho|rF*+1;{n*~K7#+d$vgf@$)!6ded zy2DR~hx*qIc^Is%tYA)VhKnC_ZGTwQ!~PfEQkYv;IPwNL8z%W;I<1PMorkE4(!BB} zD(#1{-+UOt+s~dnW>q6;Rb~*DaAub_2c9i{>C_J8_U!c^#=colxp6)o)-h~LbgQWh zltaULWNLgcIQhe{?NpjzmU3i?K#F!pzg7a1dCfRIjeJ2_naIw7k!`nZ*aWO?A1Uh3SVsJqmv_Jgrq2=v=-MR7L zx11j~^~f>We@*y*vew+?<<#1;*G7SXkB~;=VQq(}^9HZhNSdJ0YKA;|Nh)lX^gm3T z;j-p!TxOv2=$3|zS>FD^LyNM+vayG>Zm|VJ0rB_hZ8*C{?uk?&unVFoXCoEnLYc6S z-ZYGj?kEUvo9c7m(8Zn;QcRJJQ>UKZxjLH@DHIUIyh*GT@ulgE-WmzF6^q;;gbc7*YjY4&zDlQad>%@_+hm-topK{AxJFWG>Ewvck>ZlbT5VnSW$+)hO zJcxe*&NRI$Z2CjMdHCo38yw)&l|p$v^9Na~t(WE)Qx1-LDoWnVns5`s3Tt~-baIeo;*kpLHwMbSd$Isf7y^mwl~X{_hXu^We&# zCv$pJMAhk}H($*6rr0#HCUoZ{Co{&yhNq5Dg_ILYTTB;H-PE+C zv*x;;J`SqOmgFE3wsxBj#&8+4O-}h93?Z-=be!J8CeOuNAPDH-ODKM~G5j z8W8N4%2HtRxr<0JwTCD+sLH+hQH~D%N2o znOQhVrrGxJ!LSR0VQo+5R~lAvt3ii;z3I~9-oO8|0T0!~C!!ceO@28{3AmjkpFsJL zRVou-P=L7P>U%8ENnM^^PgSfHv#%9eymgRqbJikQPb#{=&B@JfjYj{=wBb{B(_fe0 z?_E=Z)PzQ(!3oK8-)i69xX&nAZG8Fi<*{0qELQYf3hmh#m($;wSpFZlGKNZP~SZy=D#gogHaj*c}7k8Zs&@K-4> zFQ-4rG%ncH)g@%zb+)RehS0@bI%H^*cD<7|w5_-ZQ?K0C*2cxfh0Ruq(KRti+xF>6 zy!pIiwti=2?G&O|@*xLfb z38`Q2;b$3@fPD%)ih}ia}ir3G@moB|K z!H-S6Y3aV!cCH{lU(wVl57nPuVo=Qe2X%mj}(*qwW#d9FrvUxQChT)iAf1Px87njf=^RdH!e9jd3ea3W9?udO95X`z>HL) z2ZzVTUfGp4>2=5RYQvBv0$~V;6&PEHQhke-Kz>gwv|Og4BG)zum5n|Q=g zo%HF6bA`3F2KvS>Pshf`A+l+0J#|Ud4!7$Mgjg`RJX)b^HvRI;moG8|CG7i4&Rd)9Ai#$lIM@8`=+jp7-XuYV z?gajkB%40%D}N~VbT_y2>+Y?uuYV=)ZGH*mUz%|1AIy{s*3r|;<;K+Bp{4aZL!NYQ z4X^+Fcth97sHm?`jWjgkD>ar1USapji384c#DB8p4C ze6a{17)@*W_|)ACJD+LY9gkj}YO-~7Tp>jqJ;Csx?Rg6IEZM6LVbbAp>uw!Q%}nZ! zyDjwTA`qcl#PPhxkAL=XcV8^)V1j3+xNkcL=c*Rzxw(akIE+z4WQt?G66||bpO|ID zwWz;nXlN?UTaOW^TVxAlSuYPF4I8(4=DvPiB#oGjj5Kcvrv>ifL&QbQ-~H+^zLnW% zYNplHyjg{DY9NZFdEg9v!EoqL1$zvtisBnL`Ubbx;*!NTgsiQt3v=g%s;a9Ca&qLm z<4rQDG1w-}BYwiM#@5d6x)MY?FTZeo2OZTL%?lVPSaQ28V5DL@$*j%F0fW#79(-xdJgT#572Hg5%0&*z&d*Geb{OW) zro=_r;W8&Rse@){(aEG$bfK754MjtxwZll*^|7wQp5^m<^`2gKH2~OWR>q1Dj!)O^ACNVNH0@xk? z^eMl|kIWc2mAAR+9)3|&E%aPQPJ8=3pC%cT0Fo}UdKuwbXN)YfcnTq>GLV9x25sJ& ziC0}+zbA{8DZ9=040N(*uwEWL%EQ89GF}r@$&K{!Ng5j)BlStHKA39s*y;%VUe3er|C>s zT}X3^c*VW(Y6opY!-AE@jd6I}5F`QjrGi0^QR@WuDM3&BI#_2FdN4PeOm{Ip3)aJo zUrq5CkUv)d(Zs>Q0omwX2H@w6gUax^rjDH~7wOqBamtoa5Q&SMeX)Anaq!zrYn5fk zsknp$!jN`e5k$pk9UYx)aku&WmoINolg*#MpP{a)0K!eSNE3vV4W3;yuL*W$4e}6w3QJ0KJw2t8#SC|PGWifX;H=ljiG#>X?X&AJ54 zahnaG^U`wZWcM}d>gqyXmQDb{g;%RCE!$z6lZEe+nGa)X#(PEyp zTK3CHtYEo!*6v{cDDXq@o56F<&JlbK%L0&T?3RX>?oJO4^=Qemm$>dy!n?6o9Zvb$Pb6;-DeKNIktX4(ivXrA_GR=@m@4*i&!>~Y16K0v8XDVo$$Q0Kro=(K*`H)zzbm zGmkaAU%z>sKKzn6_LI&(apH)Khro#*MxW=pc|A4UUa|62e}wD*_WEu9W#m|oU0 ztkT^QLJx5=@YZ+cM6nxLNxgSy*UDoEXoFYdR_ZazY=*)?bqMQWkq-L;boylv6)2yN z%YG!*1Zg*Tt>Vymy*l8P<>dmTDZkYv2b}5j?7fdusg@Un!pNS zz%=@FgLa)UUtD|y^>A77m4j+ABZT3|pnbU#WR-FYg(%nL8E1z^tL_98jER`v(Laxo z4XEmV@b>XjaI}v>l#w9xaG~z*T4YfELWWu1{5*=+;PtI2MaAjE12UF#}EHsUoi_ABDBr%}ezMFtm0D4I$Y&jW)aygkl5L>IIzN7>Ai)kYu?*rwyB zgq9*CS3VZ%7FD8p8RzEb3v*F=T4^N02w^V4OixucoUit?KXIZ?J5pvhk%7k`e{=IB zd=lxGFpv5n`S8FPcDDl6t5$EuIiJ8vp{zRD!Ww)44NZ3YVZ^=u!+rIt8ZV;l$lxxCP~|iosG2IK84Vau2Xq#PiCRrTRL{r9M^9AV zfBQ3)hFrg%l@qw@enrH=SHWvKpvJLEL0oFlvCXW zWNY6j-KniEofF5siUkOg>9^XXe^I0{_wi$Y)np;1=%G>kupAvluSl;13yg&&lHFvs z!;4hKI_XO&@tseyp-$ZdNF3P`*hF;;msu_VBtckd@WYFMo0i!sz| zSPN&zSgtljDuKo|LWpC%EaPwR_WlQh9Q7Gz13z+LWz|Hww4YVQC^&EmBoQYx#Bkt5 zc~!1+lfbO5;inuSd)T7U1CpzaEK12D4#~!R>J~OdJv}N^3{PIcXlUBm*_CP_%_3?X zz*jjy%e#Epv}tS14jc7H5A2}RCJ;m}Zf-<)`0>-zl=&2=!mQS!{e3AVEh$W3jkHh_ z4>syR5#h#8WVMM+O1d7?nd+UuT2)oW?l9`b6L9lmeZa6=!=!|Nt>6HERh7|KGJB*U zU`2nK4EOAy0GSLd78|{!h=sYHEG>!^hlQP_%+LkB=wHyjckh|2>ofFRR~*$AH)oj- z6?b-a%Eukr$IomOE%3Qf$PGX*b0XIWI)QOy*H> zyK-ej_a?A#_Njq{#ztdm@(A2WnO>?}NFRh?!ylSsr>3k0LeP!#v8+{eeKrzdR1=u^n*nS++X}u&{aC$TSbd9nG$f{Ij7P(l=iI(c z6@GybflWeobTu?yB$~DC^ac^W&3HoQTP(;+R~}7BN=kBV7<50_Ss>u^GH_H0fKxk{ zmBNG96wdlJg`wMR_q#uiV@zpMr`{M=u56tS9enFB=?*@A+ z=;}EPtJ2vly=#!-O0$iTE+Mn=p+bdxqgBrZO=mgnUqzfbCt>Bah4FeN3EAq9CPt|o zDLXcfvB_U--dhO+u_h8vw!usY)l=u5r@;023l16MXhQq^yr{}1t z;MqmTkI~l=l~$dnd5vo|$Wwk!*e2-(eY1uhQeMlNo5W=*bsbXJs|Oc3_FwAO*2Y4j zW6gzl5-#Jrx{Yvnc?&RBz%y)y2gAg~3)j+2Z`@>A2{$cx8Q zn3fdTL$?gZ8hPOz`{45DS_^y;x|I08n3}S*BLf<=553v)4Rn(ItL26l#N*Oq_Pxjj zX0MCv>vd@l!yXVLC8|8+6fNCH%0(V&(h&3JNK13Ew-i^yBqrnx`w}FZkyLRvcdQb7CthVRm^sk> zPcvXKr!I*lis4o%U`Hbg^|_vNizH2w_>a@{9AR1DDL}9Txh?o_1;g(}u!`nVmcv!e!sY?r_Qs1glBOt!S(Fz3s z#(F}G14d3w*2Mx>6jCZEqm}5G$8TTcsw5RYd*<5&_DS_JC%IYy7h`*Ie(Vxih7~9R6*V0_XUuU~995p5uK~=6N>da%%vDqLc;QL- z!8{-l{XAn_lsbjNE^q59KvrY}p3YS?-^9Z?mAdrsZR%~Gv^CpR0f|9CnZ;Y$}G9~uJF*tAnLyUM;?Y4_`BYbs4MlB zOF!OlEz$kHg3gvujKBtOIg>P_%e$SSr&z#7g+Qe7p=SH9Acx90Oo9`DawCh-y7F1y z*S8)vA`6t)JzFQIk)`3t2cT)$+Dc@1^S2oH%j^|50~RK<($(OpGRgZ8-DE+V2sN1< z*6<60_dt1AZJDOO$Hm8|r>5qp_4><9a8TYk)9oxOC-hsT$gX=&z%EL=G^MQh?NtO) ze47pr_Nep{^h$9Mz2%8SX6cGjPbDlk0aekWKNmSPR%J(8D*7K$uik^;J{vA-OTf{Q zzQ(BAl9q_)b>qYrYHBAfRYf)2ER(hu;~`0Lh8tP2Z^ zFfEclv^sWRoqi#K2NHl}fHW5uxE6Y-0RmKV@~P{?;@;n0Vj9<#!3NZXg@t_&c4XP! zX-Sly8P(M{;Z#C4?P@|SwH#~mi{xwkcBg4?g^dbN>cK^-K#MFfuG7lY(12}JAS0H9 zTO#CxW@|i&$fko`0u0P z;FFv>N%)NUt9|&Bd)wjK;#WbU?Zkg{iQQKne8jV>pJ;}cmQlfQ74u)5i{W-F!)W9t zeL^apjrNMI+q;|AHVd0cXFv4wYuFK5JeQG5o##PWU{7Nr+h=$I?VfJ6~PvHoMKHN+Cp2Pf2#CQ=L@_6oyEl zK>r+>?U!4Ld-oI~dQ+u*%0awX99~tv*%F};G^?*AfCNQ_05~)Xbe4J?6)EO{TdPD$ zmG36r33-AC9Zbh($DqX6CjpEkEI}I-HL4VOifK70uUQ9j4NCCa3uAN)J6O*B*jQ@6&Xd=BY0`S!OV^@|>CffVa;r2*HfQBch8Cz+bQq4-G9s zl)ypMIQ=#W!B=-T!PK{4Yk4#afONqti(&zRa`!_@%MegqTJ?QqeY+a;yZ^8}v)f!e4StoM?)_!$E(Z~` zHo+;0{ICr|%r_AHOk&tnbrgd2r?=ZjWVgzoDDjMeU&aXT4rLtfCtRg-{jNy*P(2~@ zWDZ{O25-Yho+4?|TIybn{Mp52K|NB^Ee_&&9mq_LJ~j_1yDf#)o}p{&FOjeBKcWU# z^VV|U>N4Q>fZwXLx zGnGHjwQRQ`Se4YJ)@o-k{qcZZP5jr|K!e(yWi~s%?h&mFqC=n9>`4eh_)hl2=?RWX!)Vp;*HJ2QK{F( zno>-0Lkm}<78RtJbp3zZbG*;8&HvXu7HYxH;-A0(SBq^{0^AItTuiI7LUWNKoQ!mg zp*N4nO?p8!cw_IEfAz1N{0kaJIL_+vFbJ9|yK)#5-LGsl2>a;)P2kJ>#ghh751?W@ zPxAcW=mntQ0{;)IzD372YVS!cyk}|7wz1M4(5@?_P)o^82Q8iF#I1Okgka7Szdl~~ zZBjxm=>XfGJJ;rG-YrRKJbNF!S}c`hEerF9TBmEikZ z%jcN8SwwBYkclzh**OZ04T21Zh*Y&;2nIPh;_y&wD5vZGaD4vlAQHA&XdeCf_Kttr z`d(z9l}*qy@h+Vu83fB@MXdEjmXy)!_>C0R=N(z=@^tuHpG}C%`&o?srF2VCX-ts{ zrcS|kGGDA=JDC5~hvZ*RI;Sjn5t^{R|08DlFO&GcYiYXkL#M@&hqvYazv)={|7$T| z$0!jaI7DBHjX)AK3R#QL?Xcg99>im6&1$wU|Rq6QZS za-grJ9q~JGSGByDD}y$7&CUOFwN?FL_nel?8i!>W4@1SJQ+Yz~?V9o)75ja6Di75k zU+3*5nOK^O){JM}x^kaKhV9XATeR}6MUh#7_ zJR58k`i#m9RP>5e(P%zkG$8D9on7MU|L{ReO)dT1%y5XEPMMn z-AV#A$$RDN=&HuHM&)j8iOlBQwk$L73)e2ZxsuK=lA;P*0(%I;)!!X>`%3-p4bogZ z%gJ_=ZohYQ)E-k|i+M)dt%*Wazngh^ClfO*7!3zNAAavNq1vwmk!xx>0mw6c(sAUq zxzG9@r5wrIglp2;m-(w>wh2ekz-WGV!bezuAv=r3#y(vV`6`)1>VT*XeMf0&!ErG$ zMbM`NXAsV)`>L{12&fj2x;sfphDv1UY74(?l=NFRJp%(LjPLCYhN@LD9G;R^;DK{E zlS$#$mZy)@1ujlbpjTSvGtP5!^o2QdFKKA*<-d0J#%`#xRon|_%vxSH2TG$W-}Wo) zdJ)uSSrpkWpP7oi4olhZ$!M{?)8NPA)FBC2~4;a8MVC%&e|PLCY47WW3OlCOdnMM4;UUMVwZ;L(7nkD0BmC21FnF5+S<-v+UV0=Z6afqmOL+p9uIG` zAiAZ7S=v{PS=EdSdoFuJYg&?u7PQ2zMRoP|>T3@C2FOeYg^Gt#JG$8QolBi@VL=j0 zO0Q$%W{7gtG1ksiGP7a#RQ4YR5#5fa#40R8G|}{ltstb*p+qL zR<&+Lncj61vh}zT)2<~dbFOMU8sb_DQ>1nZf2xA%4^GEfgOED?b&Ja{Z|div$9H~f+8)TUElP8TkWf`mnt zV6_LYLXc5%0UHHe0J{EuzFG8Mlg;6?J6A7DxNB(Xf4mO*c1cM|$Y+G^@Lgy-NGi-f zU;66R4E2Y$T2gj>{Uo&}EWVIh+8L8qSZrSmN8OF8z(dcEzK_pSXm`jgEK~yX*7oyD zf#~7UC%ypI*$Bhf@Azfii-Yp^Q%0Fa16|#i*r=$2-CgOBT|l;~W755#|G;BLh6)CC z^+fc*=_I_rJ)G}LEBz14b6rCpDBQ4hT0JMcdGt$2HKVSs>d^iUbg~FT{j*h9zeb_V zKxl4*yi%ghwR*s$6i{7bB*jEGjreTmg0(tSjt1EaKWrJ5|ICp&FhtK<vzT`L9%br%ePlCsa+pFM7Pf9*w{4qH)GyJtQkTln!G&A zSLbX_X=wx+?Fg3T;eJU^PcL3VQZn+=0vd7yWpCsV2hc&d>e#A^`*W6mR-9jIc8fw9Dfj?KCN*4n2l{m7@%{MT85-V{_+ zuvq&w81mo(+Y89&8zxt>#b;dW=tEeUr<2msid<&dKH%NE>_xgQ%GjP_foDPde<@4B z`#6kk(uJSDsRePTC^OTv0+n_Z%BnR2koqcx5~>|b;)ZSYc-TNx(o0LbTs~SKn3P>; zX4axWBKcWWC0kdGfp~-@ekxN190ImF*60%>;xv_AT#Wgc3#BKMNynU=y3^Cp8pj4( z5^^SQF-{*xfKQ9b&3(csd%#MZG@4%6&=z<8{Ls~PeF*ES7<904B4iD1KapV&Y*cLz znyW6TeANznH`a=qaSwZO9`4Tlq*qLtl@SrGAtd^fo<~*PTwR4xDs@Ln0`rqTiL>WE#!;!2E$KGmw1eJZQr1~5qNH0VnkhbFyi1>}J=Fn(3l#Eb3+3~Ow0=GT*}!lNhS#D{Egp=^-2R3i}Yo);kd=0wq6BokeZLH zd`WW1niWpKBNmOiAQzuFmmbig;G@j=aU*=!ZnZ2T#zpOXWMv#2r3#di9(k@nnE8cL zP&ys6UDLlX%zW^zB_wbXa(yhRo}@2(mIh70kzi-gONN;m zx8~+%%Z+oBN|r2nnE7NJe{g6BZ-gIiYC44UP-Iy-d%=s@?2b;amu zk~T3GwTw`D-ev){Vtqh70)iFS+lIleKZWC|!ceVC95D4x+p40*#ye4pUq7f>h(LJZ zJWB(J;UzR_c`Sas-J7VHwZDI-s#?Sjn_U3FEqVS7mntpyG5mu858jO*+ zp(vA2(2sZqa4~5ghns&-j*SZ+hSCVefTz%~qEB&jYK8pX;wDJ8WJ$H9o9(d2?ROZ#yESe%JVBL?I!9M(ETp7!L6X)NbD_NFDy*X9>_wtf4iT>$XM^0 zZB+a15@_whE`oy%{ZvaO7}iQDPB; z3mYJsH9{j}qiLzXOzFLFE^*golnOoltZ=~YNdQV8xl4P;h2YEu+irP)S_}BR!!cOEyxhQ(njqN zmP+qoF|Xp2_EIL864KI$aJtaO*2cxLi0o)*k@CZ|VW#<;Mglm_su%)jD_a>KAJ^5q zXeNL&|r+MUFcb*3!@JcxZ(Jj}m^wndAb-t_+aYe)03G4mU5P!)h(UO}JIq>Pv3 z#giQpYN!hFIpY;vm3BP(mYdU1{%L3jU1}mn|6-VNT{};&2(;6#m+??N0y7~&+4cJ6 zk}-$ZxQCYVh4CxO}sA?f>wtg&)WKUwtv`|BZ^$dq~Hlh1n*unh#TF ORFYS_i@9_E@&5z!`S3pg literal 0 HcmV?d00001 diff --git a/docs/install-from-github.png b/docs/install-from-github.png new file mode 100644 index 0000000000000000000000000000000000000000..1de4163aeea70176895a84eca4818f6bfdbcd5a3 GIT binary patch literal 1530 zcmaKsc|6k%9LHB}WXm&8w0@b9$ws8=C7W&)XI|>96dG(t;T@g?4AP^+o z!5ZTkdwwY|!gchNEAx05ami7R4(I@=#gI@%XUqH0IyXR*>O@gzX zQwDu66(I^C%`sm?xykI_tESZPhSZZ};;jGJ8m&7HYRfpSkc?|v=G)F;ijYc}^cNIB zVt!UkZXBi}YPB$Hk`-J#aZ$yz$?;|+5D3%INWzgwSUK9Xd5q*m_;4GvHhrq4Uek>M zmYnyB^xty?S*E+*cX%dB?WP#HTRw&mXQI^(o%+<{d*z$LY^YwZ?CR<_YLErGVCB1N zU9#b^dB*p3qh+ocF;3`c?uMX*UC*Nya{*WAkx-Hhg2N-->g4QohcfO=4+O(zS@3>f zuh}!QRcB70k)bTwV6f9{=TkWv7$`|5j%gQ$Y`t9)9L`b_P?x!YvQrg=rzM(PJRMjY z3RTAkhau(P%~HOo0YHzjp#tx%Xgc(-CA_>1c0XpD2wf{uE-tI=Rjy2*3N93Q6~-E3 zd+CSl&80eL&j|?GmQYn4RTEbj#$>no%+Zks@H6~VzW{Ds)n`i7^MnUt#O^T2ozjF7 zUqJKi7d?f`D{Hp)Zmx529|t5F`+Ez=!U`LY&7tnhcR=6d!QL&IJII78aDZt2AMlE( zs)5-wCgk{&!f=AibgX8yJ+wz0Q z&%_#?5#|H6f{am@NNkiLK5d5~hP7U+}Hq?DSWegCf5VIqA)D^n;Fk&2-&DF&T|k zdex@H;)gUNQn_d16TeObjWy^E>!m?cuS1-6Y!7yEnWkwmI^z%tiuU2MA6sY0B&`gC z!0%$iV&v<(8MIv=R?tHm?^JNqSH>7Ghn{!kGUoUyo_@uzpvhEQ8o8;34%^qm9nrUi z94Ui#(4?kfn+|Gc{lByCKHON`&Z+k&7Vk?&*;kLK4GquC9a5njOk!IJ!515@6&KZy zHo;2Iw0d+W8l*-qpByud#m?xI8b~d)6V9s$ZHzyPVt0ov2c%qsJ9T)~C{L(jM>w-S zmsdw7Dr7Ymo^m>KrI!=vo~uR^jnRnP3R>^fTNA#?+<0xFlw;vSf7vA&kCmxW^l0EY zan8m7%Zr0PdKZTgrE`DK0 z0Uw2!=?@9kU_{S6(hzZ`eGQM-FA%KUb`zIqe`$VbO0+pgNnjm!EXn5vzmvWnl#M9* z;cbDsDw%%Zqzk#qDw}WW_7Q6HoGo&C3Uyige=!+(?XBApp$GbOwPhqwe_|H|I8khZ TKDNa3|24?L#>KkI%8&dXzGlv7 literal 0 HcmV?d00001 diff --git a/docs/install-models.png b/docs/install-models.png new file mode 100644 index 0000000000000000000000000000000000000000..1c4ca09bd9bc234cdf74c7b4ccb7cf79163cfd9b GIT binary patch literal 15700 zcmcJ$1yoyI7cE)?ikIS=Vg-u3hZZRA&{Diup}1?XqAe1vI0Schr;rx665LY=QY>P+3V{=ia^h5X^!9 z7#nj1n>@M~^K#!^M^W}(^*G%w=H!vhEA?0R?$v?uug$SA=eRCP2JZLn5kdbR_XnIy zt?u2E+Etc+rRQUMuyUlU=iSYFiQ>)5e&`6BoE+4=h$W1A{OD7D{v+JJXAkh$x$%@_ ze;s9%#^d@;r+*hCDyWN+?B%~|KUyvu9j$hqi%oA=M(Amj>j<`$(e7=fI-r@4WHo(u)iVhd@FWyJ0*2{7{!b7 zNo9)Kp5imRZ6KkgqJ;Lo&;7XL!}VMrMiL^&uH$AHm3;-CgBP&C6BCGPtN>K58gr9s=S_9TGp65&tSJEB__Zf z2fpomq;q^hkkunY143Ojg zp&`p}3Us4U^gietQ5Yj=EDu+er3^OYR~CKFCLp?$SpOxx7qYUxHc94VczK{ zLF%|i0g_utj_=h4Zlgb5U8$7Qe4n=!75TmQ@oHh_gr?u`bTLgF)aWQoiPQI-k%Rr^ z=P34fkKia8zs1ErZVkl(Bkfr_=uA7d=WysY)!E*Xvy)^Gb z?Qnu=FV%)QT)Kn9{y54mB@_;rFC6?<7tc z9VOI4PyKzB-bj1j9QlMKynzLt)YxX$;XD<4{N!AMf*d$3{jAEjqD!T1&Z>%=m5HN* z%Bb0^!1-OA^^>OC;`$$9;L8@bxZw)}sAA{(V(_POlX?G_UFR@TkD$*{Q87%9A-)+a zQ_cB`c35x7=e?BhaZm!N2(Y-4+TJexljMM|2$POabH2U0F|kFo@r5<#ec1a{Qn7U( zx(poo$DA%NY;v3RXFn1WLBa^glHWd4wX<6Es&59HJ2cW`iEPWs%aep_rV-&xEzfX@ zE;YFfE{2Ejclo~XF@i&Fa)@vuR-HedDmH4|i}*IIe{`{5HTVgd@W^|WhxN%rb4wyf zxQ7^DSdC3b&v}jv$dvtUXk`^1^*D=|4qlyl^=Ek6ze8bp_?({o$v*?jJ7?I$}`W%ha3N6ZBw)wA7aG|(G1d$j!Oj6~~JNfxARVJzXU zesQ{l{%-KS=nM62O?mnIa3~v5*Se6$M%-j#z>pB*&?Gc2DoWPC6OQRs9r*8W?Exes zQ-10Hbe7XYBcr17xSXFNEzYT*+Bl%>nQ6ctt3>^vc<;@3G;z2FtEO*5SQ z)Tik6;viUuP!RBhgrtf-@nIrPBK}rol>B!%Gw#4TBNJ0L!^;WXhhM}%gbF_tAR$TEgvv@Xj?w~kvJ+Pc_l;l5%X_f^SlB40u0@>DNr|KCm;6?dRLJK<9iP5>hxbJU%H2{L7-|DZ|!FU(P)He3vR_L!UlA+R zJJgm@bN}Zr*4_it8W4$IV9U6f6i4QmfrZUNpQ0Vh>({j0A$8N63{UK3>MHzf1iv^G z8zqYrl+AuF{JWd>^k5 z2cM{oOz_r+{m@C$cwEnmy5)|L=}%pg=}iU1VXMoW!S&JbD@|8ch90#gFKoc|(i(E* zToVcP4uV40V)6|k-UqtZJpv}El{++DP^V-_j!xzQyPfO4DCAe>Q6u8+l7H1ske9SI zP6l)*eTzQpU-wN4dJ9He)wnpnyS*ioxki(%ElWpzm(O&(p#P3@hvEplhU<1(r&B(| zs&C6R&AMUd?1}8nCZ5b_k?}DdCi6QFiXLJHPr}Py8eGU_Ngh*edu!xv{@``#KA=$H zT7sEC-`~ycOe|RmYBuJwTyedC898i~Q2`s1hlk5+eNoY+<>hkL)>X2BHRa{{Tj{B0 z1RSaViEX#u?+4z|oq;{yF+^pagwrW=5QGyVw&51_WKx9rc@_JL7PIQXgD7 z`=C3PTF;fnH#oX4kWmtMT@!zL0zqE@x7*w3{h!Fu4^GTi(c=Jd>_YvaD;viz{#cM};8FQ~+ zxEcr7_hzbbT7`roccI|PJ;zt4hXbvy=vO;P<+gD5k{pXp7Cp2vw9MT-Z8d1@L(Uht zoa)fVki4nsXKTN}z|R5`QUUyh#v(SKv#s#~ZIqToUoIRLbRt(emTIj>qEmd~gWaQ7 zEm15WqUCP@KtLSv_zr4fJya300Y0MB17`Q2f%w=ok80a3b(Yco($Kq%2`^oD-gYLzuh21u6^QJ zqx&!s5c>fv!QJx>pVNkm{h@?t##@gEKD>-Cc@2*9x2}SWj*NO%jnLl!%p=b_Q zC@ivm#>}k9*h5L-*K{Q_>zR|9Jha7CM@kA$N=l0C?q)`hIRn2{)a2*|o}FIAXJ$GZ z%#MHR+ty5-bYIV1GYS$212?PXe(MgIxDGj$xNW&JvZK*NuB`R+*{qcce+JwhBtF#% zx;CxC-Pg%TZ8ZEQGyS2^`|grVCh*+9vzR_w2FX&m`t~6_(wW7$Tj%T!T0mShW zCIBwUT$h&KKBK+o>246qlf?Aftp zZ)MYsOsBedK+V(CT*r9u8d0Lw5HW$1mX!sS1;KXopUrk&?QW+ z;al04mn~~wB@PlRa2PPI#SWhs4-oURAoEZ5rRBc~H#gu0F_^x!7k#}bO;*I$B3^UE zu+q=iHETr+oVBcL*v5pPW-3y#^4#v^$z7_dUHs6gk^>Q4i`!@(bii!S?n(=nx9d60 zkn0#FP)6oB=mi|sdcm%7a(CZz6=XDCVrA{aRD(O+L>y zF{F=|j~mwY`{d~n&SF==OZ4DL*2$c9wq$s9pmZY@kjz9`nFHx3YSgD#JS2rWj%Kv3 z7gyb{v_*S(6R$5eW!l=#JEgN(UDgD8l1fWQa-m`vS zJtaB7u(4cMLI5x%A&SIDAdG6AvN@yvZ-f66dGUj{8r~Pq(Rs18G~euKGbwd(H6|Jq zg4!-YMw=NoRoXY^B5}PZZ1~{?l>26&C}OMjo(L;b9x>3WPR4e3Ul)GC&c_NuQxRh{ zf!g~^QPEFMTNR?$O*CgakX!YE)&VR8c>(fFMdsZ`0)1+`Ulk zZ&Dy9gmCItbE-S|pEYju+?{*7UZZh4Po}&OCD+_A>uxR^(>dFrKAV=eVs|$atpZYC zI900Hr;yr5{?|1@rNU{vM?zPrxr}yMAgpgd<_K_X0$JPO4(R^u#?y}whIHAi!C&^oy-t;RbB01VH`SW-B1zmJ+e%lC z=tbv(@g?W<9w|euM5oJ~c{-QfatoV@9v~O&8 zU?KY(f&KG0m3DR8FOAmm^YQf>8wk}!)>aJEXIYCaV3(oxzi@G6F|?L2>Q~4=*{2~N zjzU3t!iR@{=YHHmCS1534Rls(bA?UV_gv8iYGuF(gvkwciat74e4q+<*}U*{tKLGf zeZl!BcH>_nCRV#leDw1z(9F3Y}gTav+y&k?I|@2Su!G zp;bd-z^y*Nri2p1k+zHp2s?vPy2JQWNlqG|>`l&u|LxI*5}Iq|9K?R83^Q_F92rg% z-Fo2P6kqpclMZ1#wyjA<{GYEdF(3~J|5hTkus)u>fbi|RUximT{-DUkw23*rxT`X& z;G*;Muke5S=m1Aa5mS7%X^)M|(aQPrA%{{!o|vNOjhr3U6c_9H>&^bo6M|?PHzGG4 zH;u|aTAfM%L^y>TWR>=i`tTbanW}n(W0b8D788@9*MH^UnvK{=NdYc=;!OGT&k%oc zlgkKQ3bp0!+;wD}t^&Pk#@GKHEX=LKrj@=#cco0edr^PzMt@IP?Gx-Hz0pd7 zVQ}Y()yPS%wZm+*+6w^`YF$94*Dr6D6}mf39rvT@K9<3RE3c)A09~~7bEYpZ{#{QP zKnHf!UTJ9DCe8(089kM%cU*|{?ZHp^8P#0}+o_nS8*g|M(p(3lqLqwoj>_Sx4Mrq& z&9~1)lfgU`+bLJGT!f{F@mgk?U;+X3QzOlJ&lV(BTAeh~DR=iqVU*7s>hYKC?X}y= zD83qH)K#oTli`9lANb%mz-tZIvPOqZ*a`fX<;m;|WBy^8gaAhPvnEpN#?su}%{EC! zrS-w~dcs{p?j_^I^@JSXDiiiGTX~}}xbC7vSUbUmG>&J0344>lR$D4D2@toMz^c7z zG0a`MK3XJ?&qmt#kPz8wMJ)`fPioNCYRARewNr<}SA%0utLBa4OSraGmV&1@zg=or zUnwgMjRvc(X_n)ZiJLlb4a=3od>ld?N4#{@%vs^O=^w8<2obwFp?{tUs>iWWml;ss z(xeD_KAcKwa@T1#DPl+xfxzX+f-IhcJlxC_9?1C>E2}F#uwwjYHT%c-+()G&Ib-0R z{cGgW<#iO44ac)8c5w1`y!2@56KgUS58wqzz`m|&Ff`1QR%@Y^o>p* zgclBrSWF~TQeU~}EXUcYgOp56Xepwmh0Q##933WdSklAOw8O@0Zp;_a%s3`!Djqcy z5}nO|<|r+7!E0{gSVyDfW*plzs9UUWX_O>PRSAcc-E!}}Ek9zlIaHl*c9njbg*89b zid&{KHW=-PJFW+ApJ=yWeM}9M|HHP`XM<3#g1&qBGidI+GFlAPY-!~B45TaCOw(6F zv|w1(n{bs#^R`%4s-d2m)yXllEVEV@H+&t5>kuR@a;Q~OlIs25Jta^|d2qpk5E~bA z8S6VZJ|q|7jpHSoobl-qW7Sb;|r3QYxUAO2_n- zgbs>-)(=w^X&@>(4dK(y*mp?rJw$BdLXz`Me6-7|N@0kjmuRZPiydKBRWuczM-cm? zNN{(KYx{Is@^c}_E3e-71dx3X&D@5UTIkY&<@zo>h9Hz7PP60BLvoJcgx$t99FiX* z5n%2P+B+S5oszN`VJ1gYvu9Fdeht}0Nqw@ZE&Q5jmO_2=?G%gCZl!!2R-@D6Y6Ky` zW>v%i^`R7&?K{8hK#1+$U^FSd3*R`)?_R~%d`sW_)rJ#RD54LkIgd~cXJez~Ac`Q? zma;&9=j13glBji8tWel1+aeCP^7&%g*GxY)|JEq{!O^uaB>5Ble3R^F+#*@eAk=&nseF=K8;FDV^+S)9mA-I+fS^Hojy~+uL6hhF)Z~|{RR;u+ z6dK8X%LjVPpUOG8zxAhio)WFf%}>n}G|^(UIm08z$MXD-zqGt-9K69$Tu@7At$3B0 zKQOhwb6H1~=iAl+w@+O?MdqGiZ2%0rDiZ@n_nk$EtY~P)6w~y4hWM`A`36 z<+%Ti>Ro#p5kRq?HtwAdR}U0RzkWm_n~Z3C*pxPMQ66@rzP+P4^k76?Job+m%03_8W3m!boR(vyH-+_4ZD%IPIW=lMI^~ zC7H?1ISNK)p6vvJ*+y?4w^(0FuviJ@*VK?uzk7IB9 z$r@E05jf9XHO`YdK|4}o4VR9d4myZ@lJRAE@kHSS%fueqDfVj+nJ;E}5h`2|$nH`l zbavN(dN+ObeE3t`o1lqeqtxhnDk8|^@C!C#dh8MAliR*5%gzXJ1Kxq03A^{lAj&4V zt$sE|ZSjV;kJhS0Tmkp${FO~p*X;z`&M7gfTWHvcPQfgcLM%>Jh@L?WqNt6CzKKc^L7WLzJk@Psyv5f^-d^V3Yg8aPHomF3mr1AkPD>_{hjrhY-CMwUEegP{_Jk#|-~zed%^;Zyxd;ScIrdjE zV+;Yfcbis0^@ic(V|WZ1FuTfeCn@9GAnu7HZ#Xj}=^Gi^fx$G8opf-y2h4Y|o1b9r zyVROi>B7-O_;DB8q$vZMjN{HFl14OaC55wwdc}|XgYDzk@ZXnbSA0Eh_u}K12+T^6 zBt*Pk0Q#3-C4HnhKwm9kw_eHT@2#B4>EhJ%nuqHKJsI@P@U5wR%?JvrtnUFKe$uhw z-2slHwQfNMNw9@z2))~l*;#zRN8o~`~?WLYPAE#-w5AW%AMqP1F zUkRYw5xM5i&>2=j1O+WTf$8k)K%3!8|TvFF>DldC>s z!1b)M&JN*e^Z;|fq);YnTMxxpmd-r$>MNo42RsL2*Lzo+8T+s5Kt3Fc z57%m^7yH-kk0VUSx0+Hd_s?P%rn?Wq2>|+xG#vx3ddrMgnIgEa2<-BnwjGn>**v6sD>sBDt_Jlv2M^T7@DmX2-rp{l&FrZq z^o(0{r9aK{coPtk{h%KGIb48t@Ls>R~ zCytxbc|}Dy0g+>4PP3@5b056(cCQgl(#tUp2xr`J*L|Ku;>Sg$6$wEe>4yr|CEeAX zrW>}L_(I%RrZ&WQziF=TURICcxOnK7HIIL6be_sApU#jAIqon)?=4B^IqKh*;Y_ZS zROv2;lR)irdj`0KAy1A*?q%-j&4$-eG~GLceX2wt`PwD1*ORuyS*4mb0Q<6z2IRw{ zqWMJwk!NEf;T2q>B4OA!!in~|X6IUShQ7`;b}i;LM`DI5(|k$0mf6C;&k99EOS^26 z=lsB4>eF`{1!KS4u)}2s5&NcBu0rIt1F1%#?GI4GM9;7OGzsS#SEtH45_wzcRwHPW4aVOZKLPZ&wY?HdN}qhC8a zbIV^hZC#A_x>VjGwTEYTlAl+=Osq|)7LCF^>$AeZok4R$QoeWH5r^EWOL~-)aAtFO zP1EDDHY(`AWT!cZ6h|~vnX$5)s;CM${Z%BtrU090A>~Z7bUHZWMAVvm*qf+yNu<-K zUhV3++>(bmZQLT6e6Mhe*0${nsq3>`$v$M=n%T#7Sk1JOAI)@74&PGZR$@%w3%%K+ zS0fV_1ySGr$$;vQOI;(a-VPkNmtbyc4zvxak_S|{Kf6p>Dnb>PL{_{)fnmMJcVO_LBSGhceaAYi*|`&#mnzs3w->Ly4ITV;Uuf1RAyec|nt5U3=R@fT zVn5GC8~{hB>eqYDcH+Tu1&e`Mri}!#1uaD+U&Co1i2gpPj?I4(8`>+Z>D$9Tr@Oi) zCtZrVgNWujYOR3lM4s*n#z<^pK?xmb>bI&HbghRMQ>YA1L}P5 zcr=zVyOy}Bndipv0vtswuXAB${Z*DoNiD-!1hI%JI%;`61I$Hwg6qZ6H*ox%NLNgO z3~1+`LRV6kOVCwCH%%Y!?)=ghj@{~>c|8)oq{w$sg38nQ__k4eO>68`gsiElO&9LC z_SF5gmz2Ln{1Y-U6UyijoEaEEK!01>KOa$H0VN#KNaKYBDc(^5Z8liLJw1mgVm?HwqlhJ=q%ca36D#*

z?9)Y zh@8IFKkLL#6rQR@c1+Hahy@~mU+)w^L^PL}U3hUDXvtMf1mjg7Kc;wMXMN1@6OXhl z@c8zRD3nVCG)hm@IWJuZD8bKJCbT21EgqIH*Rg4DvLoGlTWJAWgJ^TUYt;W$l9J^J$(d=wt2|tkSJ!6cC8C36O+;@_GVt{6MK7rkec)r*1Iw(ZoA?TP!j8OmNlD(38Rs@9|m0lQ3Fm0~w0x24u=IgkY1 z%f^(Umg$@l_A0%wclQaj#js7*=%&vG?N>roGW&+RtiPG%mYI7P?qyl5w(Q|V(fB51-j5NLm%3X;{TlSv!d%7R(FL3Ca+IQ5T}{dXw5Aiuf`xR zBk%xiL{qLx{t$Y48oo#6%Ry9;&d#xJRR{mU5%PB$656FGsnXw4u?6Z8#eM-7S~a0U zRd)0oAROXcBYPrMmz4ZE&4XvT9yR(Vj{WCmX8%9HP^Ki>4#|v=!ptPIs>aB z`+ru=Ov^@S4%(al1(CG4nO4*HOB;5I2||uW_RJur4Gm!-Ph|@uynR-dt}n)Ui(nI% z5}IyB#wJ!dMpDU5h7mrRhEW*Qr9ISN=e6xcH=4bxWBIIWuP^E=?@#VQx1gcvCoDv% zE5fnYhP=0z3YSF(MW#*+@NPApJKBVt2I#|4VL5$S^0y*x2o06bpAg?AY7VG*y;<4Gj#LiihYUXCy}iZwkA(dAn%_^B>8c6Y*(-D;J|OQVO|Qc+ilQo-|3+Q(-|G&d!N||yPWeQl%bY7e zGNWw2MuCz1aV#`KFCeF`w5mg50!1aWkt8>5imF2=R211#*z(kCn4b+H1tRSJMXfDr zhBAw+5>UDpb%z{7h?}f$%jw|Dzw#r;kHd{>!#8#y3a3+pQk_jDt*w8q>+5nj|=)A%;=zS`DKd| z$i{JKZo;#q@Js=s3VqwQMqh)-6sehdopSjsl?Fo}_@DNf`9A78yQf(+#L2gly01vD z@a#k>FChY~gS6iplnM}1KwP*}P<@A>_=v)4IQAB!2?3cm~=6n0s*avDxm}yQ8U&_T6ouI*H1-nBQhHQ*-9s zND=|VN(6eEG30B;%A}ZKGFzl#Hw04@>gKg2faJm#ppLxX{iCCDG}Xc;I+6V!_^lu{!^Hnd7*rKWA``Yqj^UcRx6 z%}e)qSCKc`0B~=}oO%VVUQqY%QY(p3^5dx^0it60?C`R_m4Zkjz^-9B zyN@SfF~(K#iNU)L2U^YwnNGoxbm>!w*Ga(kyyb6BTzdGhcsQwFp_V;kN&TakkEUAs z_SPQy(7}{`OBW^eDXsTc=?eNywC36h3sQW=GZLGA9^bZmyeXt4@(XII1DM_90to`f zOm+y!fq9tOLZ2DaTFxu@YY)jw>Lufc6O#KurD;KZH#y%^Y)3HWgxZN^V10u~kcOLt z`&~?!X0li%v*)F~=<(}Wthlj;^`DO+?uC=KhDdSg8YKnI7%S>*MlL#xUJ#f&xaaKc zgug&c!u`3494Nwtsgwf^>|RK?AEZTD^kxu4et;D<`58wyz;r{}8HJ!tDgxEu?r>exvZy9n3CG(P0#fC_~WN9 zru?-rTAgG6h>A~9wg%R$`kaW^WXZ34S6|nX=qA=i)CZ8CACAit<1I_V)t5>-Nk*NC znDTAoj}?dW`lgFt<2-?~^$&H?UlcO(wqC@(ly7`mD3$0oWNga)=d^(Zx@|?SQ1!=XzbE)7}NHaIko%#&zIe$X}TRuSXkYN#%df2Mj2vGO@rU%$LM=NDuK z_MPhbCsd81@?GzM(^eUC24Qg=qsBoGGsj?*797najBRU{fj>VwF6ss;nCCD!$PBwp z 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 literal 0 HcmV?d00001 From 464c2a8ad3df2bb5bfff3843930175df15466a9c Mon Sep 17 00:00:00 2001 From: Lightning Pixel Date: Wed, 18 Mar 2026 11:28:43 +0100 Subject: [PATCH 4/5] add url extension --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 47fb3e3..7c224fe 100644 --- a/README.md +++ b/README.md @@ -67,9 +67,9 @@ Modly supports external AI model extensions. Each extension is a GitHub reposito ### Official extensions -| Extension | Model | -|-----------|-------| -| [modly-hunyuan3d-mini-extension](https://github.com/lightningpixel/modly-hunyuan3d-mini-extension) | Hunyuan3D 2 Mini | +| Extension | Model | URL | +|-----------|-------|-----| +| [modly-hunyuan3d-mini-extension](https://github.com/lightningpixel/modly-hunyuan3d-mini-extension) | Hunyuan3D 2 Mini | https://github.com/lightningpixel/modly-hunyuan3d-mini-extension | ### How to install an extension From e4d5a825480bba6a19cf08f9fbd38b844bc3f148 Mon Sep 17 00:00:00 2001 From: Lightning Pixel Date: Wed, 18 Mar 2026 11:30:32 +0100 Subject: [PATCH 5/5] dump version 0.1.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 629dceb..8a2af26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "modly", - "version": "0.1.1", + "version": "0.1.2", "description": "Local AI-powered 3D mesh generation from images", "main": "./out/main/index.js", "author": "Modly",