From 98c7ac0e25ffa5889ec7ee92b6226bf11abbffb2 Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Thu, 3 Sep 2026 00:29:36 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20review=20index.md=20=E2=80=94=20logo,?= =?UTF-8?q?=20dark=20mode,=20environment=20download,=20prose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First page of the page-by-page documentation review. index.md - Motivation: one dense paragraph split into four. - Basic usage: a transition line before the "each step has its own guide" list. - Mathematical formulation: the Mayer term reworded as a boundary/pointwise cost on the initial and final times and states and the optimisation variables, not just the final state. - Testing: one dense paragraph split into three. - Reproducibility: dropped the `_downloads_toml` helper and three raw-HTML `
` blocks (one emoji used twice); now a lead paragraph, a two-row table for the two project files, and one `::: details` block holding versioninfo / Pkg.status / Pkg.status(manifest). Logo - `logo.png` -> `logo.svg` (cropped artwork from .extras/logos/logo-gagnant/). - Home page dark mode: an exact light/dark SVG pair. `docs/make.jl` generates `logo-dark.svg` from `logo.svg` (white backdrop -> #1b1b1f, Julia colours unchanged), git-ignored; two with a plain display toggle. - Navbar: single `/logo.svg` recoloured in dark mode by a `.dark` filter (24px, the ~10% desaturation is imperceptible; a light/dark pair double-renders in the DocumenterVitepress navbar title). Environment download (fixes a live 404 on the dev site) - VitePress does not bundle `.toml` referenced from a Markdown link, so the Project.toml / Manifest.toml download links have been 404 on `dev` since the DocumenterVitepress migration. `docs/make.jl` now copies each into `src/public/assets/` (served verbatim) as well as `src/assets/` (Documenter's link check). `src/public/` is git-ignored. Dark-mode figures - `.dark .vp-doc img[alt=""] { filter: invert(0.894) hue-rotate(180deg) }` in style.css: a = 1 - 27/255 lands white on the VitePress dark surface. Catches every local `![]` image (DVP drops their alt); exclude one with a `@raw html` `...`. Plan and per-page log: .reports/documentation-review-2026-09.md (git-ignored). Co-Authored-By: Claude Sonnet 5 --- .gitignore | 4 + docs/make.jl | 29 +++++-- docs/src/.vitepress/theme/style.css | 29 +++++++ docs/src/assets/logo.png | Bin 109478 -> 0 bytes docs/src/assets/logo.svg | 113 ++++++++++++++++++++++++++++ docs/src/examples/logo.md | 4 +- docs/src/index.md | 110 ++++++++++++++++----------- 7 files changed, 239 insertions(+), 50 deletions(-) delete mode 100644 docs/src/assets/logo.png create mode 100644 docs/src/assets/logo.svg diff --git a/.gitignore b/.gitignore index 80dd31e0a..aa986afda 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,10 @@ deps/src/ # Build artifacts for creating documentation generated by the Documenter package docs/build/ docs/site/ +# docs/src/public/ is populated by docs/make.jl (TOML snapshots + logo) for VitePress +docs/src/public/ +# logo-dark.svg is generated from logo.svg by docs/make.jl +docs/src/assets/logo-dark.svg # -------------------- # Julia Environment Files diff --git a/docs/make.jl b/docs/make.jl index 67e85ea63..995c807e7 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -112,15 +112,32 @@ end # ═══════════════════════════════════════════════════════════════════════════════ # Assets for reproducibility # ═══════════════════════════════════════════════════════════════════════════════ +# Each TOML is copied twice: into `src/assets/` so Documenter's link checker +# resolves the `assets/…` download links (no `warnonly` since #952), and into +# `src/public/assets/` so VitePress actually serves the file — it does not bundle +# `.toml`, and DocumenterVitepress's assets→public copy only handles logo/favicon. +# Creating `src/public/` also makes DVP skip that logo copy, so the logo is staged +# into `src/public/` here as well. `src/public/` is git-ignored (build output); +# `src/assets/Manifest.toml` stays tracked (the reviewable snapshot). mkpath(joinpath(@__DIR__, "src", "assets")) -cp( - joinpath(@__DIR__, "Manifest.toml"), - joinpath(@__DIR__, "src", "assets", "Manifest.toml"); - force=true, +mkpath(joinpath(@__DIR__, "src", "public", "assets")) +for f in ("Manifest.toml", "Project.toml") + cp(joinpath(@__DIR__, f), joinpath(@__DIR__, "src", "assets", f); force=true) + cp(joinpath(@__DIR__, f), joinpath(@__DIR__, "src", "public", "assets", f); force=true) +end + +# Logo: `logo.svg` is the tracked light artwork; `logo-dark.svg` is the same file with +# the white backdrop swapped for the VitePress dark surface (#1b1b1f), Julia mark colours +# unchanged — generated here (git-ignored) and Vite-bundled from `src/assets/` for the +# home-page pair. `logo.svg` is also staged into `src/public/` for the navbar (DVP +# fills `logo:` with the single `/logo.svg`; a `.dark` filter recolours it there). +write( + joinpath(@__DIR__, "src", "assets", "logo-dark.svg"), + replace(read(joinpath(@__DIR__, "src", "assets", "logo.svg"), String), "#ffffff" => "#1b1b1f"), ) cp( - joinpath(@__DIR__, "Project.toml"), - joinpath(@__DIR__, "src", "assets", "Project.toml"); + joinpath(@__DIR__, "src", "assets", "logo.svg"), + joinpath(@__DIR__, "src", "public", "logo.svg"); force=true, ) diff --git a/docs/src/.vitepress/theme/style.css b/docs/src/.vitepress/theme/style.css index 0a33c33cf..a434faee3 100644 --- a/docs/src/.vitepress/theme/style.css +++ b/docs/src/.vitepress/theme/style.css @@ -414,3 +414,32 @@ mjx-container svg path { flex: 1 1 100%; } } + +/* ============================================================================ + Dark mode: navbar logo. The home page swaps an exact light/dark SVG pair, but + the navbar logo is a single `` (DocumenterVitepress fills `logo:` with one + src) at 24px, where the filter's ~10% desaturation is imperceptible. Same + `invert(0.894) hue-rotate(180deg)` recipe as the figures below. + ============================================================================ */ +.dark .VPNavBarTitle .VPImage { + filter: invert(0.894) hue-rotate(180deg); +} + +/* ============================================================================ + Dark mode: in-content images rendered on a white ground — figures that are + outputs of Julia `@example` / `@repl` blocks (Plots.jl and CairoMakie, both + forced to SVG in docs/make.jl) and the `examples/logo.md` hero. DocumenterVitepress + renders every *local* image (`![…](file)` and captured plot output alike) with an + empty `alt`, so `img[alt=""]` catches them all; an image that must NOT be flipped + (a photo, a screenshot) is written as `…` in a `@raw html` block — + the `rocket-def.png` pattern in modelling/with-ai.md — and keeps its real `alt`. + `invert(a)` maps white to `255·(1−a)`; a = 1 − 27/255 ≈ 0.894 lands it on the + VitePress dark surface (#1b1b1f). `hue-rotate(180deg)` leaves that neutral grey + untouched (its matrix rows sum to 1) and only rotates the coloured marks back + toward their hue — approximately; data colours come out ~10% flatter, an accepted + trade-off (see .reports/documentation-review-2026-09.md option A). The logo uses an + exact light/dark SVG pair instead (docs/make.jl, config.mts) and is not touched here. + ============================================================================ */ +.dark .vp-doc img[alt=""] { + filter: invert(0.894) hue-rotate(180deg); +} diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png deleted file mode 100644 index 706dde78b4c66328e034a7469dd036d63b8b5e5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109478 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%0D#L%KY`DJTR==(hY!mr~jsMDmB_ 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%0AbAofI0GmG%m+-+ zu+L)ny#|x2@oz6Bd)!=6^8&kXNiyC7mrA-=gUiqSK$N0->VS-JnNsc zhY38rHyWGmrn>pF_2||=>mQ!UdVRtsNshO10!8nJ2;IjHR|WOW+_1%(W{(BnmGtHV z%#w`sc32^-T=2B+RuU$QY`7dJd$V30m%{AUd?5+vzi$Kg0~CM8pv0xfa4bqf9Mxch zmT@neQ`=MxAH#fzt6v1c+d~vv{fazYV>kKWg*}Y8bey7y{&}=bK8UX;@?BJ&4z-Fi z7V{-hjA?xGmDmd&$RA(TLXmRd4P!X;y8YV++s>QeNn2KxG3b3Ob%%VzXEzytbp`FC z-T&F;JpY}8JkEE}ZTn~H!};KIgdq5e9^n6cHNl+3rzAP4Ef*w0{BMg|QlFA^t zex!{vpf#EoK0SSpQxXzYHz?xl+TAdrcN?*1diMBltfyXn(8^@*_s5lI16orm(5lkL1g|Kjzx{Y?lTPbe zo!%ZwGowVx6I+LKVFCZ6Dn{&^ovbEt7(|TLMM2Go^gT|InEGQ3gp(BIxDH%MtdgMb z6z|JnP1pD%5om2c5^|dYIHvRQY1a79GBe(qquobMsu;snw>(q4or0{XI6M1Id})bF z9cNl*>hL%(lm(ekKM8E|)h)IdFw?u#lOv z;^6;MF5Z#+wK2$zjS{@K#M6#HgBn6X+_iN82?I`W1{MPYOq@hcjBAFo|I^$LgFiag z6KcK65;6kJ9mt20V7hf4m;9)A>giU+EsW z^Q>BeJs)Kc^h~FI0n!c70Px-${ zj$Mb4&NIP+N0aIKF$HvHdy+VpLsZkal)_Qj`JQV8&Q-SK;&S;n@DvIob)?zTAQttH z(g{WIfb9PspiQY)zqD0v+n4^y|7)0zX4C%giWKzZhvQ4?OmiH!Ju+{HK;Qms1vPpN z6|YCpFPB+t^%}lqP~UUD^=SQpYM_8%F{shE22$CS`cXGC8H?n2zJwHh<$(YEeqiv# zuL4c2P7z8IxwvI{^|y=hla8k(34hg`u@H5a5D0-Vrw)vT`TA5*es`X59*e^&^}M-4 zbAiXf1}jDjg+47@VNSh5%um1U81X0$e5)M*cd7iM)3>NpN5TB=-pDJ0Q$YG(aZZWt za@C-Tp2_Wlix`Ka!|rTp1g`gXv@OCTmdSmk#aH^KfBWBF@=dH;bI=-TCvFOh@W3`m zCq+)Puc>K~*~xa|k%;0Prbd6MYgj55y!!9(%-{Rcg&k7Ca(h`3&%R67!U&Tppk90E z$q?m~z_OdNoH*+HAk4|ik>+gSuc4I@&wk^<8Rqgi-H#lCp@gL?zFL78MQ@b2FuPuX zMid8ZY+0N-aj(&So;8?OQ(9mAtQmzQ^g0|YKJ@?G93xtG@z<=EGSCvdCg~)lnx{@z z+Wf&g*J}91G6Dd|Hh>Q#^m2=-3z;cL>7d$wgK8x$EVWJ>_7*0yN02~*IV*v&l7MlF z8V|q>lpZ3Z=0MJ|a!E5RJ}meU7cKCvU+;rKfNXAJn@=hXRlh-8pP)2LIDkRr*Cpw; z@7rVpo3RSWh(=Qtjf5;_ee8s2J_^;p8tQs7chVvF+Ka5$6>}tHu(VR`KPfpbB$g4g z#;unBGF?_z{@b_y&(IB|-%BA|l@T8mPcFXK`{2Yg858d&W>wpyq!SDuhna)%@F|r| z{YrUyKyQI%>xMQxX!Y!IHQ}TGCZx!z$+B$i9E3o|eQNQS|MR~R``yB@v88R6pEa*= znl-Li1-522BhFf!@=o7w-VfPpu^e{$v6>Z_VcBib0Ek3O>C1m{Ct>%kbdIq|baxaja){j`82?+0+LUk3$3~Gs0A(RY>}> zUr)E%QWrJ0e5)#*SW!qh!NFMp18W3X?sHZOX2PMtD)lrSD&~PE%^wDkMfP)L1;5~j zlN1v-d@Xa${pndU8ImVn>PN5I-yU#E5~}!*o&U8H6t{h7SbVx!=YnF*cwcb9U+jMnmBz!*#Bf zVM!u+Eq?#M>zaW$Xy2LlUxkdR*0^4tK9Qp*zD@qJ5^$DD;>#M4x#bb5T&gf<@o^|^ z$5STLaU3>C7hnkW%(9pzBasb?<~WrhAs_^)hozcYJ@9Igrb6;G;-Dyvbh>4zXodf) zNYNk^08Vz@#mg_IY@+@Bq~k6>-{b?Y`uHNnG>*c8Yi&PVb5@Xm_o|nF3dW9AN}%)l zIb7<9iFjw#ulSQAamq23kvd0w`F9Ot_W#FKojZcD1VZXO3L{{_r`2g%ZzX=URwrS6 zxoT|~-}-om-t|HFj@4Qc|N!@8ETA>vA%{HVVh zg4V_hNCM((5s=M)h-y(_ z!i-xDNL;L|R%QA664eswLDnYF#3NSx=+f#WXKMkMq6oYkfahLd3 z@$yz2y^!99Y6HAtaS{(#It7CLM{^&I93beZYjU6<*oz>6qJ2x}-mLf&rv*XaUI zr0MgfSq|2^PM`LryM>SC%PC^Pldk*ZT!-G%IJ#hP)z#?gR8Ix!*+y(KpQn(XJQo!# z*zheIm)&RhonQ$;We6RpaU=_QJ!Unj%&t5{Xy6O2i5_#84#_iTP%y-ARezn-elH^UE}<$ML}#2LDYum!sk{M zJF0+U=dW(JwNR4>T;VjUu$~W!H!Yxzg7MU;#h=8cy|SNR-?8w2JLe(E zJdUug;pl8J)Dc25)AfBU2>1-Ney- zX;2Bfi?6%s&G6t5e!>+pxiJz?cL*dg68?ZBrPtghuwjXQ-90wNfm0R`tnLwi_`6Hh za;pE0QSZZY_~Q#bcpDCQ3bVl2mm}vY=UP!2-3~P7TLTz@aAvr`n4B3$>F)c4jGb|8 zgv|VzK(Sx72q|&mD3-yWWI=g76bLx5E%}%ANV=8>D=BGEttCe&b$;90K^hAnOw$?THOw9Z=ASf5Dea| zk<812)+5XebJ9QHH;z_8rwz-^+Dbjl(Ta%6j>ufFP!^UFy#E&|{v*>SF|n%p<^}Sh zP{lT5E;YNTVuyqMT(z7|m;M$qV4@GKSV+1OIY@Y1QLdJ_zD zi6ui~BzSP4a|B^>dgK>XTWj+yYy?yb%YuNx2V%aK;1%OM!GD!Zva1mWN0!6waL1#_ zhS`4k<9pZe=}*r+R5C8<)&UxjOxi&j;#b7*2EE=F)igwhFRqV?b2#`pA>~d4G>J&C zqlcaZ_Mn_ ziG5X`1-eom2Gl3fAGse9A(ak`5dQN#zOJbE_Y0JZJ@y{3t!pN9%MXi)hd-69;)>?n(TtgO$&RV@<|A*WXK_e_oT``kP721Y02{NvyCD1-=0D?$$D+sV>fTW?E=T zSOnyN#TW+*HjP7gI_%F7nMDof7;iOp@mF>QZI9H z`vd=XErGs|7 zq<$;qq00t-H^ge8-U5Q6r)>zkp!4l;u1bCO5)Jmt?KmlQR@+^cA%qwGC0AkaB*ZY^ zBA7O( zjp1;Dm3S1V=ELiCRS`F4@jz==yK{(tU!RDASV?2E`tDG0dF1vrk0Bj1c*8?Rqk8M^ z9c#Rz3I<2}7*1D+mF%sGd54+Z!o)oK3dhK(49l7Mq!c6TBV`M$^)Wi-i`q#_C- z0fu<%P;(LTtA?Ab%Zk-slp%=DbNoPtwe0Um_CFx`6KMH5l$@75bbZ9C?Oa@Z3-7{f0 zU!~reFzO-+ggfAwAPtG0^)Mk8d?nUntXTyGhyE}-cTjF>>=)4EDuY7^3wnT_*~>%K z!2}R-!@TP4^ZB6uV#tOqa$JLi&;L8_9tji=mh=%wfUA-qo_AU%&F-7i&f0|Y%F4Hv zv1T{ify~Jz^8=Gc@^!gldl?sJ^*+KEvM5EIIfFPu@T;aA)B}u6XJ-f$p~Xpal` zX;>DA8YW=NJg*ItU^(Ky;4xid^C^L$%1GqMU84CxBkis?7$`P*_~V@v&1nPf$q8Eu z={Glij< zlbdEF2+(BKSXih3YGW5TM51*fxHj!bFi_bi6lnG)S*tPH_2)D5w|ti?f+$NP4X+-WLDFzi+A_^khTW*z;QpkoY#kuhXDsS3FTqOH3qqu`nAc`n(qlT`;-RL|{BulO zhEfjswF?DcnQKce;D->8lh*e+2&iC>21N|qYUEf4#{Z31=O$oI6U4fSKNKU4gV)_e z6&rxndnTa`jdCCaJ-174FCSDKPjh^`vNx0Cr3W0>KD3;E+mJ#e?+1Jz-?Qh>Xv)wt z%nj)IgfcyTdKVTHDhi3==_yMgY8ZnGBFz8sQ3U9lX{>5#Ph&jwRGr?nhNTx}oIpM_ znI1A9ueIHqPf;|Q)nz=QR{%zD9$cMBb`nd=|=ZDv$fV+luJ`0d$c_q%(3%To##0wDN9dIYD&1G2;9tub zC#wP&T>jTUf${8;huLl=Jew?$QMPnbTJIYnK%&RZ?1mYNuzaVZ!@gsw+V^q1mEzv( z^9ut42xwS6d8BK!_pO1IO6D|8O*caf+--Y6G7tQZofvBL9?sG)GpZV%*ohG+jNKF@^l}&jYWPaQJ+`xSvw(bM8~6^t6pU3RjViK(tXYYOJ$3&bDzi9 zYf&Ki*I)RMyffJ4XXI6Xd_y_48&c~JS7lwl%(3kg{fDlxf&_H$H(}XIuT_l8_x6@k9jo>2&V z1OTSI#s3#eh_k1bHdEvdw{T#84kj7YrpWed5_L4Fc*&P;D~6D9=VE=xLrksyM&nD}<#bbA+90e6@9>q2k- zadG;=|7_hW5GY{75|WJ*f7_R?UMZjN$&g!JRjf6p_$wF1rhx0xs>3bZiH5s+#}@_d z^dYiBd7xcyUW67$CU$|U|H2@REUx-Ei4Em4^^2f?N#u`?s|4kSL?JeN8EA6EPj49B z{{}E$h;(9k4MV$8glQGIXBrpJrH-UiYg*kacpoca=_X3x4j0I}SYH4(-A`db4Q~Tz zKCJPI!B)^Vi|iqgn4RQdg=nFGyb4b?9nDdYkZ{67Jo^0Aci7@OJT^>{Z`lrnQHls2 z7)`}4{!#ef9N(`N7N5!!GV8U8aMtLI*e7&Nr)Iz430FGl+aOWeBpN?}wWE>qx>)hp zYPOY3GV=K=p7NKx?BN*ZJ2QIX1BefnGO*QIc=;{1x>1o#txV@kqK+)2{l;wk!RuS~ zEynR-;NdJw;Rr?kt1f^8y~&2tdDTF;_T%t@OZl++G}75u;N#W%eqhJ@flOrGtUR+d zx#(Vwa8ieai>`{`*Za<9L~nNT9s@Ui0QCyop@T!MF29J+ z|A^Lg1WUg`OC`0R=1ZBiFIT-Hjok5C)pXFv^k9gt(L)8;+@(32n@LzN4O?A9pKBHu zxG&K!37T9b3J-ZpYi0*MuBfuh)y)X&>l4fPJ;(p=un0-ig7mjH)9r66&S;G=mO?zV>( ze;AV|98DJY4_KsK3w?SiX;i|)m0ur}$XbD}!l1YaiBGL;Nb_fYF>3?DXizCzRtWMR z|M6VFBA(J|Fgb5EWT4pP{Q=6w^TBU{2rX$dQz#P=foV)AI6A4fM<8#ure{Z77W@bQ zXYjFeGIzcLa;j!HS0bg}5brG%Jc?Z+E=~PC=1`;iT7YsZ#Z-R)P`RDwp<_z`F8C+HR7HaIkU9T z2$RE&cm56gK~-yvs!+bP@sk7Q-u3xO9R^#`uaLTrRUJ+gQexd>KK$IZNMB;qKjXS9 zQ=ezGMSH&uMuGej4L0!s=ArH!LyAs_Nam_|GXILgGpkctvBBYE*0HeWy)58KyrYoM z%4SBSubf6MbNj+e_kfW=&V?v|P&)}$LBS-1d8rY09~{$$68n)0r15JC^~2hvJPd_m z3kc5Smw$FMXCxa$H`Y6s%()i-1HQd7yO!7B+;(_iC#F9~rwFCZDc0>b^Q4V@ec8S8 z_a$(m16^O8Y^_(N9?gSr3Jn#G$YtaFcva#K3hLL^9CS>+K9a-BaDc!uh^F}3C+2)+ z2kd)9RJ2A1uvm+#9aX-{@GrkT8vH4187d8Zm485lAlSOJuQ=L^l@#l9m4^5$@~*0Y z)z`RcyQjPbDPV2kPLi=%1SiVo*jO89moVN0$|N1Fv=am5AbQPDEj(hBON%QV{Xo#q zC5X(4qQrmhYhkuL#kkJPHh0VY5VaYS;h_VKq6;Dx6Is$4w1(a@n!(B!sY=r-A2-~7ceIV*_!yGA-ivYJIqtpmE_4Od03Pp~r#j{vqtK++OMEWG%gcPdK;MyMv-Ds*{VY&aG; ze$fh|lE+v8O3vBGQ*xw#_7)0)@e2cs2|u+-eIK0cyYiwl5eeI!eblU!Z%jTZ17@O64z?at^+II0Y01%2MNs2_Jj^UfgkB$ zTJ{jfK?QJl>9P1^U$*FFB)aE_vvvN_Cp&o1N9Kn$B8u~sps%qr6AYwlw0+qXmE0Y# ziNhYovelZ9dCZ;f;B*72{fWosqZvkMYQ(SH8O97W{M6`UZ^Q~I`cn3u3sQn`LJTB* z60n7Uiy~(rdCi+<3Pdz6l>~~!ritv96!J7ofpi{UpkreLSb6^SPVZIwY~-jcQfX1- zxT4=)^r`c)tIvq=RCsK$8vM(_9PU)_NuT4Yn`M29l?@iQ?L8UeODt^e`Ru6|Yy9h^ zErqn?6Ob(pUv$K&W$aNMe^`J9Dxlyz4}&VjD#}6tx0hrrvpoVa`!5NWEe+xD>-xM8 z`bK`k=upv9j#Ke-xgfG@71v%bs#{}LEyZxvmY6TEF`Q(dM%58 zV6R;S0{g7%c?U|Rs(y<6oYKKltJH9pxOTlRNd~D%EP4nD2~X?*DW>oWLkpvbQJIS^ z&j_@0Cp?5qF&f_h`S`Jsw9kPa zsjd}CLl|%(17(42KMvCcahG|WqQ}sa$8PCnEdt&agh*p1pP&1;%BkrIuRgIyJSRbG z+$!oD*x#c*Oe>H=5QBii2ySkJtxis6y>O;64ZZp&S4#XEUdSw8f1CYA-vOd)D5}+i zjq+;S)nf}jwa~TdZ5O;?c_=l~@l4yW2y^xo@1r{S^%5u@rb#I^mG=D;Cap1TY64#r zhe{=hE(T}${vOMz^{P1fOrc@}quh0tqcX~0Q3J@T8vDdM?;Y_zJl!{T5*OmYLHgfF zc)!&SOebZcMbeUDmVlrM=QN~uZ8tb)@fvWdBoyp1wd;^3T-mTEoqGocmm4`lnD0T< zZ#MpvG)kMtro@`MZIM-Y$%haTn%8{zFgBVgVh)?45CIt|0`m7zFstz)frXoCcw4;T z!Jx3q3mB-j%o09<&i3}p-p-4U{C(v7pyUDDmP+gML&i2mbuI+!aj}itP{msPzX(R@ za95q$Mx<&NQ50o)&$wBkXB!@Z6s(@0VePLTa^3I!y_frAdzzc!X;Q}M`aprZ1&$2~ z60Gc(i>lHQvQb9SMa~*r^)$HRqkGbDmALb9dVmXP5*G!5-3qDN{;5l`+2G1{SAVLN z72j%@vqTQ!ZdSsFh3ifMnG%*n0gu^^&Rwpmf^K`Tou zS7w_o_^cnx`e|i7T>8KdB>Ze_LrzqwpGor3Vkf^pQ#chlGu?2tJ}F$q@bsU!P7!hx z+9`A^Zr{rODtMa#d7vbqeSPPM<`10#7ZJn`%_&{L&a{nAD$ZX;&_^Pfqekz+ z>$fddmsm~jFe5~&j40=C$wDn^(aH1$V7~ z3XsEh_1|2sZeRkz{91ZDJ+m(s!{n-P9`LAjK~Wc~;Lb0T&h*PkY$#zsHP8MiYMu@E z4!f)BP$kf)cpxv`m^;(iou3Mj*6$gJ|N`4ZvA$uBoqR*cjGSd>mf771`v->=NaA*uas(c%t zb@yerv)(%fgOO1!Xe%#fU*gBR`ihdE7`#{>xupHMNLpSJzv96WPh=&opI_ zrhC5`b7$6!XDzHFxj!ahWU7C2`hb=C!^4sor~d(?!`4?Tm*?~AI5+3st|_9%d9c(WN%vx zkH$)m`JBIXLWICvt zTcV3PMf#Sv9#=KDI{AEF$JC7*-rk;Y4|CQ1%GqqbpuiJhd<8cXi_sQ#CJb7PiMt&X zWmCQ)Na%C@7M!qBXy>_R(n4>_Pf@DGgu$ZY4+30(9}ZTLmD9|GdgbPp($t!2qk!z@ zmB!;pe_PSqa**gpI{x}sKliSf8T0$83O4ihxG#&jpM7Lv6rGoCsTOO4-N@m zj%rBLvPj}FoJz`+__y}JpeE7O#7|*O5l4CL5+n;oHl1M&bJhk=l;c0I14gOqNJ9hO z&j;;*y>f1xSe6dS8qLs65vTP14&mO;1LnZp_CW&GEdV9t)EuslJ3yW%z*mH!IK3h%C*JBl2`L{E19=0>UE9wo@`C8DZl$ZX9*0phSe0*P0R#?4{U9tXY^0gi+pYnwa?# zEaHUFW0%SL`yWh%d;Eq=?YFar$Pwf>j!SN8P_SM)-vB!|KKn)(*rpTfh_$g50gn6$ zjWXpz6VakYA?#jjlTLFY&RGi4xTbYs!U=}-bp8ym91wytF7AUzr2Rk=xT)8@H7jbm zw4@ZiVDe*RqNQ&x#vF#j{PqoS78EXk zo*UTeqb^LGRVS~|ZTN^3jEzoH$|aBAl{j1xeo=1jX%941x7CM>@`N`vo}j2*5yf1i za_`kxwhsu8{F0j07=YOM`-G9a?LwINUE%;r`N2K7*Ta5}Wsm3=Xj(jdvVgo=o0Ape zw9^)nO?GEE5}iI6KcK0Xq%9gw2R+uev(bETne_>CTzCAIZuiA>dGssr1;FNnwpZ5n zK$Z^zo^5-3jQL2KcyqU3FZZtG*Bn!6J-GnWx%$lHU$3U zY;>+mtx@VFnvaeOXa* zz$%NTsrTscw}W@jEVG|FHRPZj{i+}i_ZEw1GnN?$sj8S)oQNyq+(u$u%@(-N#Wvj5~?Zi!ZVs8ll1wb2+_!Y$MmkONi=U=c_T9e+M z;4*L6>WP*W>fK_qr$IodH{N#voUE5xCkCa~R&IR&69#?{^);60vo6-ThxR~=^BI)C zP9ur`N~-WkCBo6Ksn?@c@kA6G6TD@|D>#YYMXxv9L>kaOFac0mGK?IuWPh zN%SCBxuCx&yzhJP$3d1bTR;1IS~1x>`XO&vv1wyDi<$<7 zm)xAPCUh|t?9UHJG;t$;LKRe}Xm;!^8tY#*kEcAk@y@5`TW;d}JYbt;kN*PRGT;45%rcEu#n*1A_K=_!XJcj^`4mR@s`hc4f5I$D2xke-1V7~ zXb(nm6O`xGg)?qBbo!h)LL7ErxvlB*eqAL+D-KlZH<}vuvA%~KHFPeIWz=;&Z@C{4 zU_E~@^5rMbEV(WVB}(oD+==i=4@2r*M7|kH`(_=j4SvPTZa_tw{5ht3Ya+X*RjY;A{OiusP#2$u&wSj$_ zx#Jiv?Po#}_s8#&9Oxt80i{E^0$c4=$~tDA*gIkEAi|Q{1kM(x)Gm6B9#BrcnCYa00T5mA94zuRF7r`!i(0z`GNZXhx zkZF-A7#@w#AoizDUTL*E0;S6+ah?J`D8yoxcelXRHYqbTr#z!MT>1^}(>%(PW7&%y zSHpvQ*iu^$@EiQiEVTaq1{5%BaVEYy6YTa|si^E*4BoIK=DBp*6^DtD^~4Ok@s1!< zn7&xSYwx&l3gg*?Brxx&{#AvSi!_!3jdHm(jwngeBAfh3rmtkq&HijT%$XRW2LV1V z(xH@&1nkL&ZVU6WdmhVk=kEz;nC!9p0yhi{7z#=aNTYL~!2Ig;*2(kFbr-_gV)A%qe1eFH17lFrxdoE1O1RSUt(A??d6 z)V~U*IO_B%Us;!@>AOc|g$U9F=|n|rq&}t618oc*BT_qKUQi`B8EaOgj8cLxXTjp= z1U3j-x*Z@bXcozZ9P8TKTwvLB=rCjC?+{414G%JWukCb49y1V;bhd}m83@V#8wq87 zHBTPzDqSZxmUz4QOPP6QpZU`Y947KyIpd!n>>KRD!)ymapuwilLXK_2rb;MA0=qyU z()Us?J6h^(i<}+|=N^THBAKjA-s~#ZjB{+_vIemFVz|F>gZSlSjf^eKlsGvR{l3cC zu!1<9JUadvF_$I(lOs4Zb|733wu#~$XxhWr!Kbu8+9SVg-F&h5a}C#^`1AHfQ_lMN zbuRJL@cB7ds;UM?3juI@{ga_Zy;bn{UP!^!-o2jurgBuAjq5ABC+Vp&Oww z8hvu2tkt_Ig5cbDu`*NQ`6Fs>-0LdMO`8VKt+c${Z>!5`TsW*q^77(LYDw}P8X}0EYw52YncebG@QN9!Ur9Ag5S+n?Fd!U^gCa4AkD6A0T8pIBr z1d&d%c0MrS(Y~LPlz6?T&U88RC)&IMLPLhE(VZPyc3O-y>gDAe)OTMGiL92Sqr7en z9UdNdxC@D^LoziUsc;0X=uwiHfY;UReEJH`*^Z12A%@_%~|0LKiw7QbF>&$?NlPk<0W z-kyHRs)DK>!zPhMbn3S<)0DBwD+@PfgI->#A!~o>w(Y@D9rNw&&3jV@@J0Awt0Or) zk!nldKc3VjjEU_x#G@Q`TeIl;9JnHXC2~9DZ|IMgD!LI|MG1))+--p+RUwN9_d~@9 zVKu@C&$w${K&#zj05)QiIvn*_VXk>wvoK^9M@SkhTA1f%*|eoCmyMwoZ|K3NWbkDX zwr+P)tHkjyYHo7B{h9MlgOpj*Mege5*?Pc?8>n1j3Go|F=&Fq zI5g(*WR##%w~Lx*AK3SE1coqh%O~kLs;M(OTn*u5i8wFAN*px#pRKOi+g1~|S6ya{ zudgS2sLa%-*!MfaE8lawkk8p=1N~nSPmm^1F+BRg_zT-}cAF(M<=P)eOT+A1IRn>G zLUf}6eS=)Gf=NXNv$s!q$V+6vuIkQv?5uNO1F1G{DJfshIc6Ti@WaKp~mcLQvEI8wI=~Z{(2(QB4Lc^&oMFaH^ z57*XINQ3v6d ztT=#}%68F&9~(*)p=}PW%pqlbe`0KmP4CRNi>!>T7l;+HXc&itV;i+Mow-{gUCTpW zm(A}917Rq>f}N1eMs*v?T&Q44SdydaZ4SrZ2X#ZGhZvi#mwLDi=S30My0NlSlzCYQ zvH`kw(r|@Pk1xn&-9Nub=}-4BqC$$mTpWr~Pg@8WP#6SYAHlk;ZN*suxbgGb!}3O| z2YyC5`%~7vklaPt*qQ*9~J9y2tx$G#jEdOH zzKSox_%WT^ znQZ7GNZ3!%vVVnXp5XpyNA%m*jubLN7#MXB*qmrh3aOtLK7o;NTxK4@dU=Wv**ik^JE?^m2bUu8+gH{;ITa@#2DS+LGJ*BpAK~kk1OUVZ z9jN+v{)&$>^UiDGZYTsnB`KZ(vsg22i?uNtLrMWfij$jnJiypKo_&*>p(@aQ%+XHZx&WSdk2k75Z|r*1GOcruWtu*N^EaJM*7d{Q}H7C-y}8rc`BKSQ!sX*yzdkg0U=?ySo)FY^nZf46~3rYF;l;YS@8Ms-~Uo57`Sk=Mn_LDOj z2&-acC`oMcJU@97j*u9KjnNNvlJa6)F>6{;;%vWlzGd9HXeeEPx`Pp>rt?QMsVM)w zeH?SpC{9tlJB@?JO6RJ;uF<|18LXKpmDbzxk`sZJipG~s#;;7T6}*&`PO}sykU_UA znxi#2+bB5cz9fdHu~Sz*H@TG6ZrhuuT^pqc8Xwl`*kWv&rUf-_Cf_Rmi0*&%a5{RK zJv!d9Etm+S7fBOC9`%XG!ldUpBk+O;@SL6-#ApM^x0V@EOPACiPa0OiGt=@a&YKGY zb#(;mBn>S&{3x5H0C&;RfUu2L>r3i7t$l|*+H|(S5-3jB5IRtr?{ovk_cF*L;rLvgxe)I& z8uYu8NyFYhlPtS0ikG@37nMwXE1rRT>L@RKR=e>lJZt}1CSyN5=wX0dd9zTka!Jn8CB=Nr#(o@`xAgSt+IfM<`*kYv5czdn zXXouu-xPe16+)C2s5<2%hFQR>5G&}iJ)PdtPZm}H~iMPd}h>u340yv=_u;0#%8trQs zI?YQ&D8HK~tMsT3?&`m`Jvpp(V`mZ9B#S3wHU@)0JOV|psw{afU^OF#{2zzVFs7&9 zL`qjlIz+<`c?$DI_$o~cb`QJ+_VCl!clS-t1dmsKZ=_5sr$T1IGPHS?gKNSYY4$_~ zW}+)3^mQgeZ73l{z5shlV5LUAK&G}vzOJ8Rs^FRGT4qW6(A(RvJ}~l^7C_ky29(*m z4m{Vl3lj2r=_)ZY zr!syal+(@f;`!!zxR$T-M|3u|2o8eyTm@`(?_xE2vK+d6*Y1Z;U4DCGZr$ys51-j7 zZ{1a?%sDp@*R+A8Z0bhh56VH5FTLe4gX`YJ{Zt&SvxkchBg*Bc)x-R_CFW@rc*Hul zpNYyNVQS zWxv-U@GH|0E&}rbM16eX_*7tA@05E3uBBiF=<;Spw&qg&$3RiPiQ+@roKl zU#Z(e8H8C4+k*1&unJ3c>mvoANARW>O3=~8`8tDd+5QNcP>OJ#&?_Y5D)Aq~G`Ml??=Y5`?jS11n)!bf* z3TDEoJjL4KsHWw~bLx#4ot$$K{cvNPxsu7CS3|6Sf-EIy3I>y5yrOSpVV zSq;CkKE8h7tC}t7zW!s6d4bDT2Y)E5tOO*|(Vyd_(evL{+|V+9c4vhXwp2auDO=J` z;wWnh=1Ue73sZaWo9jr#v9Xzd*v!js^E8e&g^6&MKPM4Y5TYcGYFW4WT}Q=$MlLk5 zQlb+j86}Ja$;q$`Q1lm^Z;f`6y10s8~+UgOzP0y`fRaHz3+v{M6sr z;3Bz9%+7Y0@QnJ~fSH0$pD!7wqTXX&Txc@I{-xaW^RzG?66@j{Y};MPyLaA2b?TaY zH@sX)UA&e3zz$a+>voSLy6}4)Q*byxr7?|XoGs+3@qy6t0^6eJa`4re0j$zS5t$IweB0;fjUgK;=zI=~Vr0m`U#1 zaVm3@D!$Re$0O2xn~fx_`-^%bW1qOHr+L^jVjl9UzWz)vy)murQc^_dSl)}5^s`#X zav)x`I%sZtX~`!;I!$Kf!73iM2pPW9P7Kh7#TX2wbG z0c+`_(wg`yVq*zM_&O~?o4}pFaGWh;srQLIc%4W}i}CFe!v*FQD`oxFn6M!>bKjCu z-yT1&-2I>qv&woOVkpVEDkumRDq*5bBqmT5qa%Yg&9;q=7$cABxT>tPnkJYcBb`ov ziu`WAB<$Qb3SeJjQ&gOOLVJka#-KGYlzD)dzFaP+i#wSM}>QxT>8)> zkLB(+GR}NAJUzUh(bOqfK!u|kiG_X692}m+#}fitX);J)f02>+<3C3m95@56Dau7N zJwN1jm``-H{9g`9bLS`h5kpHmw~rWw`tlgPksElaKdM()Q+!aKibEy}jlg0Xnc2NC zfEwzre$g7Kxi$=!Ya5cB7Eb?tLgQpGn_nY!%N4*U0X7gC>sj;^k%+(8x~(~*5s!C$ z*{jYk=Zgi4D}oHZt{cH@iP6F~G5PI6*Yqj#*o4Vd1B9-A!?!qiG#R*N{FvMh2n=^1 zoVFfViEq3LsA?I9=!tx!&4itnoZkhke%fghrudD*F2yXy3Kr|8rJs!GKwuii!8m;H zYaypERcE~v#=j9YiH%3IgYwK8chS<^wrx?)A+#D4$%y90AEzSVh6>Ksf_+ZfR}unK zS)?aFV}g6=ic%{#_NeIy`lTHOsA?^ER*y3M=O2AKGq9eN400EXGyC0&#|Ds?0BB_R zS+nn^M|N0Z>%13F)qf%CbltpXfIh6#wGG0D%Mh^Y*5!7lI%jhDJ5(5j{@U4_{3y-` zTJc!Ij8VDM%nX588=XP%HI3D1ZW5Q1;eI92bbX1=Bgg>SbglE{+uts>uiA>+e@@U1 zH@^CGBJn|4>gw0A2^JfugEuHZlGhT*A%@^7&-NEh|I|bsl|~NE#(ow+KwSR7)CfBJ zU}~iDS+t*dvMrLXcekU9@|FPN>_k7NO)*+0U zf?~ujU@k&r6r63JDf7qV!62>oz~W0(S{!VNzuT2Whh~<4{C?k)q#;?N3c6W_=r8BQ zLDkJ}`lqH@ucZ_1Y=?@a6V z^~`l~%V6h}cU5aI3Jr?t3?&%p%=^!dDg9 zQp->BOrgC<+`W_hGuPUZ4U3*zgvgrnjl2(AB2{*Kum%}Myd@xd3d2-&b`eu-2%f1b zB2~;w^;@{>AO5OebFO{lTj6SN63=e3lB9?m4a4Xh`y;b)g-;X?;<=wX+lnrGr#M8b z6>!kp|B|S(IqqQE4{F{juD);1UC$7vtIWpd^=pan0AUT6(`|gVAWf=I4}!F#=oGLZ zp9Y>(&hMMs|GeTe@zZ3W>*8_4$AFwz0zh@L6MqM&E|NE?Z1}a?(2mjSr;8hn`3~13 zdr^`B#aQ#-nW>lLV4l)yltzin)9-pCv!C_dvmkEK)dUrOH2i(Jkc=m(zj{e%mv*>s z^z~DL?E8pYRpySCbRE;per44W(lhs)sfiMj$!am#+o1hS)&J{ybBuaMG8eu#NNiRB zwmqo~f@%ffDQF_BdNbSDJ+_CI)ObE_*_Cti$~;r-aZ^blF)1p^hDY&`$2r}85Vc}B z)(cON(jZ@5JJ3xNitH|mD;4Nl#Z21ct(M+VWKp~HCfBsa!hNbLr)%=xNY8y^30m-I z?t5?;Q5ar};Q!%8gBA@O(ZBf2C1Sk^sRbE`Bsv^W9?I;6L_mTk1qp*WtyH+$#Qc@09Bk$}~Z?VyyRLV!)CMchgpY8mh=*+^BuZ|R+9YFI7#c~xfSf~T+p^ryA`+)e)J+}*OvACs8z zzKV^&t-VEe(SO6M{~HlO@ZxHNWo*YPiK?e-9VU^_A}HzR;%mKwTo_a8yAZQ|q+O?O zq10=Xwc4KbMWfWaNS3DFTY0zTO__iGB4jtndpO%F)jzggyO!*4^SFYQXFW3SRJ`(e zYfEayykA-VxYAwe7hCAmlts!%GWLS=`L`vz_Lq;)XS3Yha~gZzQ-Q~=jqkRZ7_H=p zz_iR6I8EG;*TX7U$3uu`cP5={AA9@ehsZ&rSVJm`7cvKR>4xgCh}ZB)=VE^f^b?!m zWmq}45sQmM#TNybc=m2rWX0ifl8S9wfoAD(IFahOjaI!xIy`1GjXY0IWy|K&oOaVl zt`DBR5TMk~@L4N((1q-zMSWt*I=_UMu<=Z+&*4zJhC@OBT^xOaSjIk0^v9ThDy6|5 z3c%*9C&)`mI?7x`)p_mo5Oq-;v15UJQ@|T+fhzcpjX~IA7EIrgw3Ezz#=XZLnw=pV z^DPH2_E!CK32UXvI%D$dU%{hH4|^luMy4w7`g4s^CB6-XCkWnj7rw(}Ag)r{UQXMCc zZ!qn8Hgw9`DOoqD^>!<7i)8!|FJ61b(TCP~+))UN5shGJXURw&;MF7lzVSMEerj&S z==Ubwn{>v%ojbb@D@HzeK>ro(4*Cv(KM=$Ttiv0EoICcV`8plMR^{+hlw4K%3P~M> z!Vcy3eV?mB-eUhc9vB|jb$j2>5E0SfjT9n8rSG+Qw-D*8P)r(xf* zT)pqbcsC^EK6K&Z! z*bO@t$cUU%Va7m^W$+;6nkFzEkP_se`1s|sEz^rR#;8NO%edEsa8eF*|7VP>)N&0Q z_4P@m8T_g>yD4D8;M1mjX+x>?n(BYb$hbBL(pWXFp(4OWBlnDxl)J)ODMwph(bG$QRiwf?sP;vAr(h^5Ff2+%G-AdM36 zfuv8@krSa5qBMfMCUH-SsSsb(fbA7=zNlDk)U|b&3^8WWHB~A-`k~me&x*~&qy;<& ziWCdK1u8EB@lNAguc4Qj>gPkc)OsrJSN*!q9LoPV%0FgI)cYunohYwkAy+eNA z@~_?Nvxa>zEy02uU~KZpq<|GOItMLNdBm$Kb*_(x-Cf&?1_S95O{t=Q-(t$ZLGdup zY`vxPqw}s55JAp<;hxE5{U5tg_59ZgBOwn&JNcWBHpDO)qK>i;-mLp z9^dB#8y10p#wiyb?Bt*2RVnPvuyTrj99xx8MvN(5f50}j6G^`T*1<{+Q9Qt**=P0w zsrtP@FEVa6mPMz9nUym^RgMW4I}}pWGv@jHkp((;X#LcT4%rr;E}(_fy#v$$9dH0w z%v12#Kmn-ZNGehr$ZK0jYO_?-*$t&|$DhTi+YC0AN1&iC{wCJ01K%}Drlhlh%zN8X z*d4D~B$^)c9laQLr!iQd03`EkEVMNJo17186-AX7T%`9m%wdnq$Q1Myb#FpLsqoHo zygb;@IL?x_Lvt-2WPT8wrJ^znZvp{_a|fYx2M9cWVUs&6Z(euh3>Z)gZtwuwJtqXo zqcGiFmV|{ZC;Mr5EN~^M<#&gdTF;-Il7y5nZs$BKxrfo1&dTQ=KnbE6AsF4!GC`5U z<3l#SvC<*qluTj!7*^lw=P?SbWG;aKmV?f5hwvBR-37hrXIys0-nW%L-Eg7g(8vC1 z?*Zck^c+U_fitFs2ZDqo1yLXacfDjb>)v(?%}f$<$x>iWCn(2_rho>J-~l~|iR*=c zT2FEt(8&1vWhL(3t3N$}iFAQ34}svu0Q<3&G7wT7_95Y26R*eL)7+<|9{SQ zKYg&~;Q?!Mz;}~J>;&rBmYfF8SDN*lod~_E-C-JBcla9i48x;!g#y1Zbg-QOC-);e z*fdYjw?f2v4jQ->chP#hNvN9@N8gSUWd&MKP|09$^I03;pR;?RwT1&|Hxo|Kc>IgOXr zV!IzYBm2)cb&N~{u&oi=B-Ck$j*Z$`f3Adizy3rce=gOWz*5!iz{Ulo{Setj5-Na7 zfKx>S9U8rW@d7pGLoH!1S<1^E2O{ed$CU0z<3;M3B^tD%dNg@CGTZRwNRnTr!NX3Q z4QILx&1bbmHO(KpX3ey%8iXfm2f}`T#L@gu;>nJw-OMsCLD$8^PYv%$YMQTF(+~b7ymx8a#D;9okA;U<( zvqJFj3;_0ao4=im5%i-ngVl=%Xws8}yb6>=9Y0DuJywX%_xae(?~P}50 z$X8X3$Hz(56=ZM32^+gzI=wW7c5n3b+2-*)%`Hi7`nFz}ad~;8GD|aAmtyk2FNb0B z0F;3@0u#{IP{*b+jgU}y%vN}uR647qMS4EUa(3ct;>D>7-v%Ryd4?AtrI|{4=uWGuzG5G|T>@&s@bLgru zCIcc1LiQPg@;=gHUd3uvjpXw8F$Bd*dvUL+CfenmE5eMIfdQYo1+mdwy1j_fb9;YVf~5AHn4XLY*IWD9~qMavxh# z8C#VF1Doyeb`pmXlqRMBTO>z1yU}4;wB%J_P+l0UhV9o;#Kv4p8*8ir^DWhnkeUHo z@0^yXul>1ohju}-?hOBoj6nnc9{yjd_ + + + + + + + + + + + + + + + + diff --git a/docs/src/examples/logo.md b/docs/src/examples/logo.md index 49f9c7f3e..5f90192f0 100644 --- a/docs/src/examples/logo.md +++ b/docs/src/examples/logo.md @@ -4,7 +4,7 @@ The OptimalControl.jl logo is not a drawing. It is the solution of an optimal co problem — an **energy-minimal low-thrust orbit transfer** — solved once and repeated by symmetry. -![The OptimalControl.jl logo](../assets/logo.png) +![The OptimalControl.jl logo](../assets/logo.svg) A spacecraft spirals from a low circular orbit out to a higher one under continuous weak thrust. Two-body dynamics do not care which way is up, so the same optimal transfer, rotated @@ -168,7 +168,7 @@ scatter!(ax, Point2f(0, 0); color = jl.blue, markersize = 100) fig ``` -That is the figure the site uses as its logo (`docs/src/assets/logo.png`). +That is the figure the site uses as its logo (`docs/src/assets/logo.svg`). The published asset is produced by a slightly more elaborate script — crisper strokes, a few tuning knobs — kept in the repository at `.extras/logos/logo-gagnant/`. The optimal control diff --git a/docs/src/index.md b/docs/src/index.md index 02c216f58..60ecc7045 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -2,9 +2,37 @@ The OptimalControl.jl package is the root package of the [control-toolbox ecosystem](https://github.com/control-toolbox). The control-toolbox ecosystem gathers Julia packages for mathematical control and applications. It aims to provide tools to model and solve optimal control problems with ordinary differential equations by direct and indirect methods, both on CPU and GPU. +```@raw html + + + +``` + ## Motivation -The guiding philosophy of OptimalControl.jl is to offer, to our knowledge, the only Julia package that unifies both direct and indirect methods for optimal control within a single, coherent framework. This fills a gap in a landscape where existing tools are fragmented across programming languages and paradigms, and are usually restricted to a single family of methods. The package provides a domain-specific language that closely matches mathematical notation, together with multiple discretization schemes and shooting methods, and planned support for homotopy continuation methods. Its modeler–solver separation makes it agnostic to the underlying NLP modeling backend and optimization solver, and enables seamless execution on both CPU and GPU with minimal user intervention. Combined with an ecosystem of domain-specific applications, tutorials, and benchmarking tools, this design targets researchers and engineers working in optimal control, control theorists developing new algorithms, and students learning the field through interactive tutorials. +To our knowledge, OptimalControl.jl is the only Julia package that unifies both direct +and indirect methods for optimal control within a single, coherent framework. This fills +a gap in a landscape where existing tools are fragmented across programming languages and +paradigms, and are usually restricted to a single family of methods. + +The package provides a domain-specific language that closely matches mathematical +notation, together with multiple discretization schemes and shooting methods, and planned +support for homotopy continuation methods. + +Its modeler–solver separation makes it agnostic to the underlying NLP modeling backend +and optimization solver, and enables seamless execution on both CPU and GPU with minimal +user intervention. + +Combined with an ecosystem of domain-specific applications, tutorials, and benchmarking +tools, this design targets researchers and engineers working in optimal control, control +theorists developing new algorithms, and students learning the field through interactive +tutorials. ## Installation @@ -34,7 +62,9 @@ sol = solve(ocp) plot(sol) ``` -- For more details, see the [energy minimisation example](@ref examples-double-integrator-energy). +That is the whole program — model, solve, plot. Each step has its own guide: + +- For more details about the example, see the [energy minimisation page](@ref examples-double-integrator-energy). - The `@def` macro defines the problem. See the [abstract syntax guide](@ref modelling-abstract-syntax). - The `solve` function has many options. See the [solve overview](@ref solve-overview). - The `plot` function is flexible. See the [plot guide](@ref results-plot). @@ -49,15 +79,17 @@ plot(sol) | [Results](@ref results-solution) | Read a `Solution` — trajectories, costate, duals, status — plot it, save it, reload it. | | [Flows (indirect)](@ref flows-overview) | The Pontryagin Maximum Principle as code: build, integrate, and shoot with Hamiltonian flows. | | [Geometry](@ref geometry-overview) | The Lie-theoretic tools (`Lift`, `ad`, `Poisson`, `@Lie`) behind singular-control problems. | -| [Examples](@ref examples-gallery) | Six worked problems, direct and indirect, from energy minimisation to state constraints. | +| [Examples](@ref examples-gallery) | A gallery of complete problems worked end to end, direct and indirect, from energy minimisation to state constraints. | | [API reference](@ref api-modelling) | Every re-exported symbol, organised by theme. | | [Migrating to v2.1](@ref migration) | What changed since v2.0 and how to update your code. | ## Mathematical formulation -Optimal control problems are stated in Bolza form — a cost functional combining a terminal -(Mayer) and an integral (Lagrange) term, subject to dynamics and box/path/boundary -constraints, with optionally free times and extra optimisation variables. See +Optimal control problems are stated in Bolza form — a cost functional combining a boundary +term (Mayer), a pointwise cost evaluated on the initial and final times and states and on +the optimisation variables, and an integral term (Lagrange) accumulated along the +trajectory. The problem is subject to dynamics and box/path/boundary constraints, with +optionally free times and extra optimisation variables. See [Formulation](@ref modelling-formulation) for the full mathematical setting. ## Citing us @@ -92,63 +124,57 @@ If you want to ask a question, feel free to start a discussion [here](https://gi ## Testing -OptimalControl.jl is the umbrella package of a multi-repository ecosystem, and testing is organized in layers. Each sub-package (`CTBase`, `CTParser`, `CTModels`, `CTDirect`, `CTSolvers`, `CTFlows`) has its own test suite combining unit tests, integration tests, and code-quality checks (e.g. with [Aqua.jl](https://github.com/JuliaTesting/Aqua.jl)). At the umbrella level, OptimalControl.jl adds strong end-to-end integration tests that solve complete optimal control problems with both direct and indirect methods. Continuous integration runs on Linux, macOS, and Windows, on both CPU and GPU (via a self-hosted CUDA runner), through reusable workflows centralized in [CTActions](https://github.com/control-toolbox/CTActions). Code coverage is tracked on [Codecov](https://codecov.io), downstream packages are guarded against regressions through dedicated breakage tests, and beta versions are distributed during development via a local registry, [ct-registry](https://github.com/control-toolbox/ct-registry). Part of the test code is written with the help of AI agents, always under human review. +OptimalControl.jl is the umbrella package of a multi-repository ecosystem, and testing is +organized in layers. Each sub-package (`CTBase`, `CTDirect`, `CTFlows`, `CTModels`, `CTLie`, +`CTSolvers`, `CTParser`) has its own test suite combining unit tests, integration +tests, and code-quality checks (e.g. with [Aqua.jl](https://github.com/JuliaTesting/Aqua.jl)). +At the umbrella level, OptimalControl.jl adds strong end-to-end integration tests that +solve complete optimal control problems with both direct and indirect methods. + +Continuous integration runs on Linux, macOS, and Windows, on both CPU and GPU (via a +self-hosted CUDA runner), through reusable workflows centralized in +[CTActions](https://github.com/control-toolbox/CTActions). Code coverage is tracked on +[Codecov](https://codecov.io), and downstream packages are guarded against regressions +through dedicated breakage tests. + +Beta versions are distributed during development via a local registry, +[ct-registry](https://github.com/control-toolbox/ct-registry). Part of the test code is +written with the help of AI agents, always under human review. ## Reproducibility ```@setup main using Pkg using InteractiveUtils -using Markdown - -# Download links for the benchmark environment -function _downloads_toml(DIR) - link_manifest = joinpath("assets", DIR, "Manifest.toml") - link_project = joinpath("assets", DIR, "Project.toml") - return Markdown.parse(""" - Download the exact environment used to build these docs: - - 📦 [Project.toml]($link_project) - Package dependencies - - 📋 [Manifest.toml]($link_manifest) - Full dependency tree - """) -end ``` -```@example main -_downloads_toml(".") # hide -``` +Every page on this site executes its code when the documentation is built, against a +single pinned environment. You can inspect that environment below, or download it and +rebuild it locally. -```@raw html -
ℹ️ Version info -``` +| Download | Contents | +| --- | --- | +| [`Project.toml`](assets/Project.toml) | the packages this documentation depends on directly | +| [`Manifest.toml`](assets/Manifest.toml) | the exact version of every package in the resolved dependency tree | + +::: details Environment used to build this documentation + +**Julia version and operating system** ```@example main versioninfo() # hide ``` -```@raw html -
-``` - -```@raw html -
📦 Package status -``` +**Direct dependencies** ```@example main Pkg.status() # hide ``` -```@raw html -
-``` - -```@raw html -
📚 Complete manifest -``` +**Full dependency tree** ```@example main Pkg.status(; mode = PKGMODE_MANIFEST) # hide ``` -```@raw html -
-``` +:::