From 79b6a3a48732bb345cdb9109d748e75dafb1d117 Mon Sep 17 00:00:00 2001 From: papi <20916260+papi-ux@users.noreply.github.com> Date: Thu, 13 Aug 2026 11:22:31 -0400 Subject: [PATCH 1/3] docs: refresh README with Aurora showcase --- README.md | 472 +++--------------- .../com/papi/nova/NovaReleaseMetadataTest.kt | 6 - ...ova-command-center-live-aurora-v1.3.6.webp | Bin 0 -> 22756 bytes .../nova-library-control-aurora-v1.3.6.webp | Bin 0 -> 32628 bytes ...nova-play-setup-control-aurora-v1.3.6.webp | Bin 0 -> 30742 bytes scripts/check-public-docs.sh | 38 +- 6 files changed, 103 insertions(+), 413 deletions(-) create mode 100644 docs/screenshots/nova-command-center-live-aurora-v1.3.6.webp create mode 100644 docs/screenshots/nova-library-control-aurora-v1.3.6.webp create mode 100644 docs/screenshots/nova-play-setup-control-aurora-v1.3.6.webp diff --git a/README.md b/README.md index 4db94abb..828bf927 100644 --- a/README.md +++ b/README.md @@ -1,445 +1,117 @@
-
|
|
|
-| Host-backed Library with filters, art, and active-session state | Private Stream or Virtual Display choices with host recommendations | Command Center, NovaHUD, tuning, reconnect, and safe disconnect |
+| Pairs, browses apps, launches, and streams | Adds a host-backed Library with art, sources, and launch health |
+| Starts the host's configured app path | Shows Private Stream and other available display choices before launch |
+| Treats a running session as a generic state | Distinguishes active, resumable, watchable, and owner-aware sessions |
+| Offers basic disconnect or quit actions | Separates safe disconnect from ending the host session |
+| Shows client-side stream statistics | Adds server-backed runtime truth, Doctor, tuning provenance, and NovaHUD |
-## Feature Matrix
+Standard Moonlight-compatible hosts remain useful; Polaris supplies the richer
+metadata and controls.
-| Feature | With Polaris | With other Moonlight-compatible hosts |
-|---|---:|---:|
-| Standard GameStream launch | Yes | Yes |
-| Pairing and app launch | Yes | Yes |
-| Wake-on-LAN | Yes | Yes, when host/network metadata allows it |
-| Polaris Library with metadata, art, source badges, and launch context | Yes | No |
-| Private Stream / Host Virtual Display / Mirror Desktop choice | Yes | No |
-| Watch or resume owner-aware active sessions | Yes | Limited or no |
-| Command Center session truth and host actions | Yes | Partial |
-| NovaHUD host-health truth and high-FPS recovery copy | Yes | Limited |
-| Polaris Sync and tuning provenance | Yes | No |
-| AI Auto Quality surfaced in the client | Yes, when enabled on Polaris | No |
+## Browse, decide, control
-Use Nova with any compatible host for normal streaming. Pair it with Polaris when you want the client to understand what the host is actually about to do.
+### Browse
-## Quick Start
+Stage view puts the selected title into its landscape artwork while keeping the
+row controller-readable. Control Ultimate Edition leads the Aurora showcase;
+the [website gallery](https://papi-ux.com/nova/#themes) compares the same screen
+in Portable Chrome, Console OLED, Miami Nebula, High Contrast, and Material You.
-### First stream
+### Decide
-1. Install Nova from GitHub Releases, Obtainium, or GitHub Store.
-2. Open **Servers** and add or discover a host. Polaris hosts appear automatically on the LAN when discovery is enabled.
-3. Pair with **Trusted Pair** on a trusted Polaris subnet, **QR pairing** from the Polaris web UI, or normal **manual PIN** pairing.
-4. Launch from the standard game grid or the Polaris-powered Library.
-5. During a stream, open Command Center for tuning, overlays, controller actions, and quit/disconnect controls. Guide/Mode + Start/Menu opens Command Center, and Guide/Mode + Y shows or cycles NovaHUD.
+Play Setup describes what will happen for this title: where it runs, the client
+resolution, tuning policy, and Steam launch behavior. A session-scoped choice
+does not silently rewrite the host default.
-### Recommended first setup
+
-| Device | Start here |
-|---|---|
-| Android handheld or phone | `Nova-Android-arm64-v8a.apk` |
-| NVIDIA Shield or ARM64 Android TV | `Nova-Android-arm64-v8a.apk` |
-| Chromecast with Google TV, Google TV Streamer, or 32-bit ARM Android TV | `Nova-Android-armeabi-v7a.apk` |
-| Android x86_64 device or emulator | `Nova-Android-x86_64.apk` |
-
-If a sleeping host does not report a MAC address, open the host menu and choose **Edit Wake-on-LAN MAC**. Nova stores that address and reuses it for future wake requests, which helps VPN and routed setups where discovery metadata is incomplete.
-
-## Latest release: v1.3.6
+### Control
-Nova v1.3.6 makes launch intent and recovery actions explicit. Play Setup now speaks the host's complete launch-mode catalog, per-game overrides stay scoped to one session instead of rewriting the host default, and Doctor can apply, verify, and undo the safest supported correction from Command Center.
+During a stream, Command Center brings session health, Doctor guidance, tuning,
+NovaHUD, input helpers, safe disconnect, and protected end-session actions into
+a controller-first drawer.
-- **Doctor that can finish the job**: evidence-gated one-click actions can recheck a suspected network problem, lower bitrate by one guarded step, restore a history-capped profile gradually, verify the result against live telemetry, and offer Undo.
-- **Every host mode, one vocabulary**: Play Setup and Polaris Sync share the same server-authoritative grouped picker, including unavailable modes and the host's reason. Controller users can reach and select every card.
-- **Session-scoped launch overrides**: an explicit per-game mode travels only on that launch. Games without an override follow the host default, and launching no longer rewrites Polaris' persistent stream mode.
-- **Clearer launch truth**: Nova surfaces one display-mode fallback warning per session, includes launch mode in optimization requests, and marks the host's advisory AI pick without selecting it for you.
-- **Reliability and focus**: idempotent Polaris actions retry once after transient TLS failures; malformed host responses no longer crash launch; cached game detail and cold-start library screens settle and visibly focus the intended controller target.
-- **Honest HUD status**: normal network and decoder risk values stay quiet instead of producing false warning chips.
-- **Benchmark tooling stays isolated**: a separate non-shipping benchmark variant records bounded client decode-stage evidence and supports controlled ADB export without changing normal release behavior.
-- **Compatibility**: preserves minSdk 21, targetSdk 36, existing routing and persistence authorities, Moonlight-compatible hosts, Polaris integration, and signed in-place upgrades.
-- **Release packaging**: signed ARM64, ARMv7, and x86_64 APKs ship with portable SHA-256 sidecars. VersionCode 38 keeps Obtainium and manual installs on a clean upgrade path.
-- **Known issue**: gyro/motion sensors are not detected on some devices (#181). The Thor audio-device inventory remains diagnostic evidence, not a claimed routing fix.
+
-See the [changelog](CHANGELOG.md) for the full release history.
-
-## Install
-
-
-
-
-
- Library grid |
-
-
- Launch detail |
-
-
- Command Center |
-
-
- NovaHUD |
-
-
-
VNxJY1JnA-^Kx}r{Vv1rHQ@lVR3)pw3s4ScFUW|L2HKevzypG9xog9BS6!hap%~Dd33kd4 z9Uu^VUYn7Uij=or!=`;)oZPZ6pgGr~{fb25%uQze&@=o07=~1Yo45mYhCNp@8ZT~a zK_7`?s#_Zh9(o_l;Da9;h q zpm3RA_ JXh%Q73J_QT8l1t8}h1XViBB*L;h9M>$ zG^~doE#UX$75wgPfKZ~tL*13j3(o}@#xR@5$|gn|rTn%Ce5F56nfH)h1mWxdhe$~5 ziJc5W%=xWpmpq ^v!>eU()Cq zU!{WMKXms0zH01Nh{{55G{pS-^3R`G9Wq2`CNOFSkxsZdFzTiimXonFT`+S8xZES7 zyQkkc(v}tmj)=qDT4LJ)spSXYdkG?{cRh&@i-(Z4^Bw7tQFrShlU=YSOc!*kWm=V> z?>O6Th{9Q{cp)E0_n}L|9&h%?3t816c)6PY{461a-B*jTM>VdSCMuBThW5`n@E@8I z(HHRb^(nh^%G#*)zHE`4)8}f)q1V3>TH5OPf?MSZDZo<&L@}XU8Abo=D$P{Vj=?j` zFOf1!H*Cm{VB5h)82|u}(D{)ZTb_H9)uLrcCCpfmep*_5QAp>WgDgZ`xK5U>2LK9D zjhIzBXG5tUJp$R(bq#jPRbu}ET~76oej55C1%@h7b6$8*yIWh}ag2Q|=1JC4Lr+AV z7CamW0D$I#@!_XKV$M6*fJTqpeN|MRNd*9am7Td4CbKPW;rwcWSFu3-s~cb9#o864 zM0)_B3QEGSCHJDQIXY(UeVU!V(eEWBqx77hfPY*F8Ee8{zZi4xM{1?PQelr}#Im(x zx$D!e*MGmKvo*JgocH>FtIA7iGv%1G3^unhTkGh2XoRG6qvai550&6vM zy)@I9iUw&-yp4n;1pojFI}hul*gbM$TwuwsuXW8&zo4g^YYp|h2Y9z9O98%?Yo4VD zII gy6IgS^RFW4s7>4J3cs`s40@7R1 z`LjQWX^McAAZRO=AD>3^Skbt*O^hi9h2C#uR$?<;eh3P^N#fK&&W!f{u5~9PeX)6< z-F|Pv@+a8~L&{qEV)byDV;4Go&`y$qmpW*iTi68Sgp7c*@!Ey8w57SQ^K6!@KccKd zRIl1J!04Hj+M~`SFNuIL)O@$g{eI&oM_fz@ZLPJC54!SN4r&6f4=|P1+SK@dzeeSP zpmdk9UzgssjI$ahL*5g swEzH$gd}52q6I!%L~%)ox+5)UT)uIPlL_{t%5Sk11*O^! z&< cXCaBU{n}9S`~e9^aO8Ywr!*mqhDdC~veu2X#et> TXYn>76a8?sgAV}MF0W-1A86ZOz$HR1w!8=A zAFJVxVM0&{TzBVTvBuk}8-q@=6C?+U4pv@cKkp;3U% Anx{^-yRJ<7?6MR|uS0{?YUSQr`SS}D_@f6#dD zP6(>#3sW9j5kB!YI}527A6u*0s{StUS2vQSh-E3o^x_GwvjNpw(=GxuG*IC^)8u2< zD+6^j#QF=kEcv{E>zTJjs{(N|w^$hT1bvjP6t%_%VsuQ0ip=u>(IE+lOy|*pTj`PC zx%#6qA?R68Gsdr0%_@l?;yQ^>|N81bC2KQAnzW%LFm Kf-Wx;^zRVZ^k@Z zM2+`st95^z>c)y7J#GqKoW6YzGV`3wfe2c*OJL{)o4P!j4YlMTBAyMH4VmCBs#V3{ z39xM|0){iZ_-rIv-wA-viY%pj)Jpb){Va~pZ4F%VufZzZ0n(vEwUiH#F`u7u^f^K* zt9~1iQA4xUue%7;cK(Amb7vD+ldg0!sYecp5!g=#t;XMou15^%rtas&o#o&?Rkgrj zWs{Hs@vJ7Ci2Pyfri!LgI!x!|QYwg5JRWnGHD-3dX<0r{uIaDovO3@hSCd+8Bu@Ro zrQXaVcz0eq8SH=L!JJ&=FZG!#$_&2C bu^-eqRRupp(k2Twu(qz={Ph@`()mv5kAtnwqlF1vA zR<-)PXx6CHRypsILNO}mfMDmP87dAsZ0EpUrI>1tZ*~$*ct`;E2&ioJL?`K$n5!iN z!{=V(>J+Z?S@THdb(v)P9ZB``^#DKc#s*!m_}mGSepPD=x^y?r38P5mx1&u~bFIGD zPzN2p)M(+(?Q3u+`avK#;_GT6?y$${k2H8Z4RDcByJy5P2l~vj3cmIO9`+l3v>XHw z>axqY^Dh>y{ke-cmuZ4hOT|OT<1Ilaw$t$18$hE3yZ`u&Vf4mCG^op-i6L @p-b74rveD#s`3r8125+A$-zcM( zbu>AO`2K+bbWy=7pg`VEj46L0M9q`VqHV}3^{zGKt!Lj*MkjNcdv)a4*W%}bvncEt zMc#p#h(n7qo6{v8>-1Sc%GRpWq$ze)K=uQM;B*dA#dzBqL)Mm(!Z8edr~Py{O7(yV zTl{?>K1h=H>~Z_EAlO{8OHTM;ab6w*w#?S1MRVAPyxs=E0QZOd+ks~$Uw}+Dj)kUl zA;Iez;8d9Xw7lmLYm-cuIuzOv@cD*`1$?I>^ogWR>H?{1Hesi<{=A3qx)+(KUPYWg zmHEtN9?xn@pn6Tr!+1WaHt&?~0#i?=(hkX~#bRM#(+IbJh%cHTqIF8F4UYbRs&XkY zgB_ydw)p_9*KTC7Yfcw1iYDsFbiL6x&Uwqt&J+_c_dtR)vaGbfW w |mC9ZOIP`^l zk}IEnF1>Sk#O4Z;>58fh1m3i meU)y4{f^j<`@UxB~I8oLqQpwLs9K$n-R;_>?@R_suxX zAK<3Z!xXYf#S{r~COR~Zx^oz>fyK%_ecT}kIAgqjM@zSYo9e@c+ObHm38DRg g)4vZV0*sWQV5*Vg*e}sNW3=E?ev(O=9g0N_xn= z2+mK^pmbsHo{A_psSm!%K?Cc=yp E;h~pExRKEiacWx&>6*q<2NV9sUPHnd8NxDrG)o6eQ~E;!(ru;56$mu zy#8Xonj+bJb=TW5qG>IOeuqg&vi#!2qbTYgG&hROoaPzWIpWFY5=p+BvHjZRVIkd! zDXF*aYlZm0ns20srBFgZY}WF)sN@0D9>Ma871x+U9-El2{Q!rb$2Gjg(v1Ez!2-@t zVbAuau-)EtVj)64007im;p|9@|GjiD!Tc2KYQTl){K>5I2AqzL8ap7>B?zy)Y6S|5 z2PblITIyPSk|tHt`z(WFmvJ-R%TCX3-Nk?X-NfQb_L6zG!u2eYhq)_cBGjk$L2=Gf zP1XmwdU0Z>(nX3J=b{behV=GT^pq1=+*g0L?p#3W;aGJl4bZ6I>8*|2Az`Sk)j7JU zbb1QgKhG%B5;h(O__A#c^`%v>3aN!5yCx}>VHmzOyAHHba=T~%arv_0W*Sp{iy>R5 z-dGs2rx$tl9J5)~mNNLr0dCm>UHR%~W9s{ne1yh435VEb#g5-pOhb>Bn+k8ZIqvD8 z@vKP)HZdfuZP3DV-KAw9BDm<(#%se`tY7vcGUh;hP>IqX-|4NfYt}6+|Dt?+?Z$7; z;PW8%%8S1OI%l6*!6;_E&)wV7fY0?p&aDr&qG-v1TcpTyMMYL3enH!qOTM+eIWtKK z0WP|_Wv7Ugi|3D{uc3P&nC7F3EuXJc^?aMlw3FM?$*&_+hmfLM?`K}VB_5{k1 s3#de}N~e6u!|fV>*h(pK9qq zFeBe^ Rr4Sf zO7>(&H*NjF5S>c_rbsUSr(cV><`6o4jZA`T@Y5PDp>t#oMUuGX@rjqAOIRf{G!~S! zQERQgudb(QX0$+ilRg>9ZFGa1U0UhX%+n9~GceZXffrYXKnB=Ml+uV_2LJE4W$_i^ z1o+wGVJ=Vbl$GF%p$7m^daIKSH@UB>`)V|QA&qWC9qgk?lV 5 zW)|;T&ba!NS!reS(9&{nD#$F%rf>)nC*hfL@^3Te%8i42XYN0#je4DG$tX>_t5k%( zXB0lhNgH6Mhfs9*Q?0*Wk%M_8N}rN6oKmSq7)MiYae?hRKjdg2e!2?h1>g}5CV8xd zSTnS7%40;SntcE#RBI~p+~xhwzcuawiLAjLBo2)0LQGj=r+s@e!edLlgA5l>W$xA@ z#1N>PaEpA&nBXCIvQMemGMub>uE6YWtb0#+6Kiq^jwZy6@RQiA{N)T3 dSNej8VMao}*Y4X=7Sc@`P8LB~Hwsm}6z{sUR7-pOB$tcb3l)`s>nL2Z zg^X9SiRfie;p39wh18fAUbxZaANg=W@55~VCFqQok-1 >B<81dkU7_Z7=q9Cx!x@xh4_`|QOP==}tSVG@nK;gS z)xvZhPX Q5@zdp4aoddx zJ-z=<9p(CnoOE WG&hAi#4smdRqHI9wVBfC5xb}qnC#p1kL1)|p&)SnoxH4{ )irk;_K?{SeTO~DMVk$EH`SoCGpRc zdQ8Yd5;YspXI5&jnk4|kv3UkoYNkVBd~CIqB|_Dnmhh*>Vv%@p(raToQ>mXmg9N2Y zR-|ngJK*t=H@f!FXBdqbbE{cLHYAU2@$&_s8oni0eD+4%M oYbh&XOY}!wbS!%L3K1eu}Zf zKWlg;lDtK=L(>oSgz1_7V5s1R2hl}1%#GoCNYt$xf$4*X?!7H=wyC;T(Yny!PP}x+^+?i!L;ept%947!Ar!mrDEIzcV ~ =^j{l#pA7R+@HjDp1Rh`DtZ#?q(0_7N2UM1T04Wk)1*9HaGrT_Ht}2 zRYku&wiL(zbBP^L%BH?J@J_Odswo9SwO(?HB3YAv!hqRz$ASPe`*SE9XurIHQVxDb zd?(XMxr>da0|;Pd(-Wr!FJ&1?j8UwHWijOgjym$AeiW{leTOoWfHB#WyUc5_sMB3{ z=R;xB@(y>DKu)^ENTyge=1-v^pu!3;px}OubHT1ow6FS-9>@Q2j&oZSk)WHdYVIr2 zhhm@HR>Wr}&c)rdu@^0vDa_1p@!MX(>c_IOggQC(tcI?Cg^rNL+f$h;NbL*N7FeoN zlTNgQ`8R*fd1>*B2EEr3?2Xc|Y6}FiMyCAJDws0$u1y=4pTF4&O6F*wJF!M&5X=|D zEDJ67b5&zA eCTxc z#nF`_@#~DHw=)C>{oIX~TCPT~mZ=EhhNLkw;iNXSVrVM%a$bs#z^+B7$U(ys(Oom7 z8=qNZ5Ys uEh*#%#k?k; zBx;L)gzV@Hdhd+h*LO+a0RWi?It-a=iXdt^<3&IaxU7?><$_q~V>=^YviNrYq`!C7 z*`TwmKYL}F`o^Yl!havAGj8K}=3vf-WUsN)CInaLp$e1`A|Qa5)WpW-yzoM_(fpL@ z>^xP790!7}YiuX6uQggtM0U%FbPGCanbxr?V0t4dEKbQaQf>$}nS6t!!|$RgMz`5g z(fi(c8uC`OWr%zJ v%!Y+>~LY^+jKhb lS(0{t?YkDrRCA!@k&F*<&Wk(RU4nCG fZSpkpF>6el z4xGWqy0}EP?`SqxjLnfW2-?Tt@5xTaNIT0zT87>V!A;P&z{yuD1b4FJR)7U64G5^Vd~P&DN^0bVda_$_~W3wEZ$ zlf_2Xc@fFNz{PNkrivnE^78XxX^XkG-WYW(GB$e-QR|}uNn^dUvJo8$IjPvSTDFHg zEWPTNF|EVbr*EuBgWSL~8<+kz9p8q8hmlB@JS4E$XX2BtG^@|r+oHHIOX{6*1a4Y9 z-hp!d!kx}(P#Q#mpFx=s`$8 j@!0)I6l6=|W=wN7%$ouU5W)rVaHnRjqqkX2u2--D7wjA{qh+MvE#MXyK+uXo!R zdeL4B-MJ3U*lQ{wA67en(_YI8T(*W;nXb$DVCU&^+CBv3cp;iA2B?&r8oU&K&wm_2 z&=ZTuhI+e~yJrKKyVS7*hLFIJx&tNlVm%o!(HnRvK =x+BoW<9iY_|3RScld}D}By2iT4WD zz~>Y`EMM4g7(FTa7>}9S2L659__@jJS{0ph?Y7k}TT$V?5`{I7G(sHP5jL)RojMQ? z27zVgcE|FaQppONY}~|LVDU+wmYwN42lK%hKs#Ol%El5E%dAN6T|M`MhMvw?&jA@p z$X@OojU}cq8e#s6Y8%c<#gM)QUoa^V%ko0Ap G|Gk vLuTvI z=Tb%Z1v~+d+&zg5iHzP3AwQ y;YLPuZ`@W)e1s`ant>R@b SgzTN)Sz~Jnh$$`W8)M5ck>Lh;YBk*YjBN)KOr+D WZ7P3!;w$i9tKymj0!SA> } zJ)de=o~nuHpR;>H2clJ+3II{gs*gCVw$n*zJ(lR|mCC~Or5;j6q~vkG<7yKq+I~76 zXdR5U$Mb>?@w|#wF;_RamnL=UeriWo^`SgF>+H5WC3Jok@+#lDiOgI|ZpusM$4q)^ z1wvLLT22zx__Wj=__f_e6gT17r+v1jO&PBF# +w9`pJC( !yAJ*jQU)XYId+^?U@qEz(fTt10uSb|adEn5^2-j6~6`wygzt7SH rQ z@!)%BE;-o%sSv*Umfm!2C e5#M3$ lM_zhtZ8HKzper}=nP=AAmp9?Cvm1P>aQ%yF#) zLGpTAcW!dgTxygz_$*P>A)#)4&w^a7j#~q_hqF}59%fPVKw|0Yi3K242LO)xH~=I> z?m#OrRMmr;t2owgvj~?a z>p$(BK{}OR^s-eK+_wtcw2(@$W~mgpcvbpB$Cr%B>6%P-m93f`lT6fJ{O jWe`uY9Gm zPnhpBy0)K=Rfj-5_#1`LTmPJ1gZYPNmsUA+kDDWk_pHa?6Mgn3UdyZ6)A)KN5_%4o zw!S66_uA^X9&&pw^1KV2C;Cq*#m5WS@dz7Dp)#noj8i182^hnYC|vd5$C;W-J_)?u zss6U=Q&hSsiV+Q#lQ1?sZ`yc$-cT3Fm r~J4*=-3rBh^?aJF+J1pp|$D6{Re=L8jeRE{nTg@xJ#+z}N=6mP)-0ELs0tL~E1 zWrIh veyLOpOk;A-zWdvvBMR7YcC$BFpS)Sn4<>FW)gvS$ImpK_)zD@mvvCc# zcPONs$IZpP1~4%+6K?$-w&1(hzvUik4R>q9gML8u+OZ&rd)J!TZgGNyLf!g6=~H?U zu~nX}Ik29E@B%3hDU5L`FUq#`<%JL=+M%abAP}b2Q#Pn~!Z9f7pd%zm9M$Ad2WvN@ zKm{GCZn8J>^hfqUqZr8FSIhcpbFd7I`-GC_P``-r>SZKnuM%D$mIf=TOXg_>p`&K4 zba)wf-cvVYe;6iFeD~YYc8tuVzT{AR8vI~Gd~v95sz?saz^>;=aMY&~sC)1SQU~4A zCE5*SalPeCa@sgf7uF=V=kwAs|J$6uxs%Abf~ph*yd1%MBe3PVdn0Lv=** Obmr{%^QnQH+XD+u`lE-`#8jydQgjl6DjvJX|de)vlh9qBdO%GE{r|!(QDv` z-^SE@iDgs6%A3x+5+U-(W<|YPAsU6Fl-~9Yd?^D-t1`YqzQz+J??*=n-$+!NZNr0N z*=pRtNLbICykj<&@IdGi2x@4sT!e~c$aQ-*H-#35euF0}?o)M!++Lw^xu0F2Wl0RS z!R 2*AmP^A8D#jkym|(yUGt=rxxN|um8|WPHE2DC&08lE_xKu45 zU7#ZXY876~YdLx}XqE)7WQ0uYc%)B`Q$z7b&Bx|2h0`iqd?D0&3DK>`=oYu(Uc^P0 zk0?cBheDUR+?5|;txbC}Ex5-XUqiW^lf81hp6`Nf3IM$$9+HA9C=(cCE#lb_%1Jxg zyRp?aGbj18p~%TeGDNTPcf5&;XBV*F2zF6;BDfx*IQ=H~Jkz^rO5JtydkuD`ia5Ed zOVa1EywB6S4y#gH5jh(a3h+eYM9$eXlB{Y1gC}i}H=8)7WpeD#!h*lQAFs#8w$d_B z>l#HeG6KkKEIj!7`nbmKsZZP;aXzY@1_om8 Rh{c1Tl0I0U zj#z}(Nz~#DW|Wvh>a@Q!H+HE&7LcWu!R9{b)MiG+@-Gjtf|$|6zp6|^<<; &(p{7P=*`W zNB|NFZ-u3*MX2)9Nii<}*21D2e`n!dicKJY3Bx!I88u1l512TSA_{OJW3K~br!cK1 z3-6Qjd@nu;UU5`1UfS)wgyboS 6tl~-qE8?2ouP6pveTysbPhXy zls3l%eGXc*>CZvT-V C$a0t+_u+p@w3(tWG7>x9PL-kRC@uWR}1RZ zps?{~oQ(!@iYgr#qtkOCgIk}m!R$MsaTFCtJNNzcuDQNJXkf>a3nl(- sHMm0#-}+CGDgV-i`u=FSh0egCC`WU#l};M>-@{y<4nX^EIw!b}Kt3 zbX7NR?}i;ziEPqtm(V6^(uL|Y0zrVJlj`tCfGvSLs{ExSY~mOBYul^eQf#fjh4su) z?}Mr_8{cza_D>s)wb-503tRMZcy*io4RC{L7U(fYSpM)^j?dvVnx>U 2VM*K%rX}Q&)jF3JMe=W35RtMaSyAr7U@_dh z3tBNWzFj5FMEpedhW(2X*H;t(DLo^GWKav)tvgxV+X0hGtK0AjlFV`RsLS1C1uTa# z=EpuIqGB1n{MuF0G(rY!P(PCiLYF9C@WX4O)v8o3oOkgoZ8w_Ut!nOd^<2zyTe|39 zd?uV4vQ{p1Y$g*0AU&s8zaV|5KL%XrGEeg0^^rnH(8=n?TIexF&6`z5(!W%Ju#q45 zR&TDJ)8)X5xRK{6{EoL +E&LK0G`#-tJwQSyQ+e6QMGe1&w-RMgk>gO04lxdYlP)~8;O;GF6feYuV z@W0r}59HO0%cpH~fy#(%sSIUZk1RK-+So3kFa?&*e26B1>wA5k4}|m_n0 TJC@^rQvb$t zz5IryR%wsXEmb~GLN!DTK6RaPehIV0v40zEH?{Zhq5CE~f|vtZvPNzXi&{yr LERU9jf^aQlCg;E zqvD4BXk `A;?YJAEpCI;%0fq8Cp$%C z|4ui;e#yA7me!>I4)IhqPlrDF;nUhhc>-}Ncg3!6q^s|?4jMJdPo+d%A#mJ3Yrgv~ z33St5RRm;8mP@lY#+6w&P}Vb%=%hM8gB#xlQMtPaLxFLr#Uu%XpekEP=9a}L$3dtm zXoDPLhXWehTBnK~_GH#h4yaSnF~cKGBw8s|q>$x`+EFCXXQmBhpNwODGo9g_SMX|5 zmTDmCqHuuBm`w#~@O)*3uoh8*^u3Mok?zWHy?0umGR64PH{0s(9}vi{ds6B{-qcpH zM jK_n8!Q|hmAOp}wO4D#Q-PU7U*_+1*Cfi=MbBrauvIrw@|0YE8Q4Xr$n>e+O zyx?qw_W*sFTI64aC4@47X Oef(ZCR{* z=osViq@eQt#<-7I&L+C47j%Riy3AqV8eo77z6Xji(QBk#O3}OkBNYrkvJVZd&ya(I zD{4(L&xQ6?@zRp-TkFrx)}s6aXTMGj96+2(fUAXiM^jOE82% zoR3n=xi4%H#iPzz4!I7EzC$!DVSc&EzXCCGyv1c)O12cjYj``279gqVQ#B~Gi4r~+ z2-1mvY4`d;9n4zo47q>UR6TY?_mBuYLp6KIOd`3QMI&x<#qu*sO5%t8&CZ^u#aWd) z(N=!gV16qYJG4I2YVQ*oYn_|ny4MT-MxS5Z7!imfo#N)?AG5SYOi8$HTwbry8;tpF z9ZI}I3g7^^>$HnObeyHAVh(DroTTp1V^I3`KXJf1sa&VuVx_6K^QF#yd-<&D9WdG! zn2b~hZ4=j2%bRbw!C=wh-$cvc4fRH<=Jj@L*Jf;;zO*^qq+w1 Yh1*2PF=0%Pn@2YlH~;V!UJ|U>;j1T3DJQ}Zq#?E z8uZ{`Y*H0~BqtvYWQOQ8VIt4KfcjIfe!5cV2FC}-J?P&k#nKwe(BwtTwQX>tuy;~p zZq}XV^WhP3Tqt@H)4q~of*J2KBP<(DnZ zyF4?OxQWolMz6EeIWHzG>H6B*KSbW8iXm*<5GK<56=pYEDw}K$M$T!>`} W!RtpX*4c;y~E6W+;U=7NJ+?Qo<`p&u1?ELrz}48=AjofWxj{T zUUj &5t=j7&wI4*stEykz!i0qTBc;sZwiBsj3~~FnhIA* zc|4O`pnXFRGz4lRGQ+6?;zbD`>UPW>){`$gO2+qQF2iJ0w1j7*RT#7kXEffO?UBsD z3Q0hPEWJu2K6LVY9kJ%hahDA*!~*^Y1viizBRW-*TL_}vqfH0fQHIM2n&v{0)_>XT z{^gfHj(YKE+7v$k=o?dH8kZ~SK9nJ#&>2t Yurr@vb)%^g< zvFd^93jmmR*41c)#(IjVk|E12?T>m-68itbzBU?*(mKIduInUFO;|n-;dnh?)xF%V zwisk-JDMRwAmxzH@x0!3!#Vy8nYojAQhjd^``-T+Y;)+(QD^(UeVGckn4f$=1OSS^ zgd2lCsDCGt^Ucw)po^_cfbr<`il8P`-Wcy`_S(40HKy&SZ-|JdFe4hBP cu~+toB}?wk2CKpRB2I*TJm7YecnHz-s=Kz9WqRU#~^Z)0EnF8LVM2LRywgwXrr zhBv+i@J4$802s3PA5A{=Vz5{TbmlCsBuw-@0FZrU0R0j}r!zjsb1&<5x22u=cGdwx zd9mzwZ9vfX`R7w?$&dMVT cX{KqyBU)7?~!)OzhsY5Ux+-Ds<)R(KX?Q zqx`DD$**3~?+hx|)kS~4BHXO=Zk5xiAnt(U`Rb?>uv^FXdFCf;8B=Kvo;KCx_(M$p zFr8d;e^Mha;Tn50zvza2nQuk$pKJrx_UlISgS#T-wk$f&N7bEeq*V1
)@6MXPamth@8QBqPBEp=ETq2^X2<$#M34V9|fY$odE-bA4z zYj&`YzV$BKUuQSuUbU`>%C&Odvl?%p)1zaT@4tfKjCR^=K*fiJVKOt$M41da3WCM- zV`Lj8bBG;V3||@lp8)F>6zV*}v0IILy>bA>j>1cZh?M3a@3S|4-i=JCqHyKn=}2g| zIih$ro{yKcL~av1?*V?}Q$rI+SYS@Gh7kWsReY() fA;>RIx^JdBMISE5Q4w3X$ zeuj%+Ua_b`rUqO3P}tdE$3`h4ZS`&q_3=Z+NvQ&AXSfL0HX~0j9Scg*K2ktMrwVgk z_JjC1VeU8V36Bdyxw=A&m!xVBseRHOPUTpPGZ~e3a?+~UBh!^xyhVcW3UB_kG9y`Q z6O6bw)U!rH5(r%NPf5nh5!>a71t~H1%OC&&%eB2J+tVR(`Hhj@b~&Q5vK1;;YriUv zx_xRvKe3NrqC(o<%6tnWjMDDjZi=tGDw;yGQusZke=^mzryoe;D7NjbWMcNjNI5uh7 pEE-gw <0p^a)@$Vvco+dUju;|Eipk-{?40V8EmL=(_*hXYm`h z^3td`(3Ba9cETG8jUdf%k^;26iz@eHd3_ty@(0yM96K}|WRT2;#}Yqn+C7;+hZq0> zA8^3N-sX&JSOBN^>xUh6SptTT#&tiC006g0qD)0}-z z3(XK}O)|gkb&r(p&ga#ae@UNdYTKApzEPC*-ZL4fDp}FuY-$k(=#RJzQ{TD3M u?D5|b^g7D^xm%KVkuH>dJ9l3FprGJH`MZxFyo0E8&fA2F% z2f6bRwnCnE*Y$L}qr8_&uwQ9VeCgQvHqgMrTI=D$Dg=&kaEu!(S$gV6?VC)Z%S~8x zt1UQiZcY%uH*|tclg~Vl|H=@tq;D_8UxC oDK4&N__kU$w1dj9g2lV|KQ`GJU{ zbk&D_JL^POc zP*VLEf;wQ5ohS5 zTF(8WhSC#oi2ozUMW1dref^7TeS2X^s22X$J>JR %_Dhr8wbO{}6xgubx%(s*>fUoN%ck9!jJhdNnfIuZmFtYH`W1>z|2lw8 z#wGaib1q?uW(>kuq`R$*< DV1bA97rVk7{aWzT^;k-88OS)sm=ux+ADGau&Kn zf01FbENCrnZ^X4&JkSu>DI;++m;eE`KmY@mQGmOZ!IB2M{6IEl0@aHZp_mtg>ZU=u z#1iDUSS?L|skJ3xKQl%EDTV+5P5s!ehYA_J_)*QVn2!+6u-m{ f)M9fL)H%TS=u42i0U1fAi1sHfw166Ux|vl26D(K%@3A z(;|_A1HgM29P7jFT0coaUBu_jLDY4USels_zK7%bp#wv<6D`t&ZAoDJ$+=Ra)u$-# zl}=~+@5AG177T(aK=~oape`7)qY(W6hejuprEn7u`OS-y2 bSt{YuU_2^bNf>#IKbiuKcU$K=ftM+v+M;BM>yzXlhlIwy;PcSx}8VC$nAgt4O zM7+gGOJD9I2>?qVvj1(_S&} R>DbGA9Wk4`6JTB z-5LhHsj{Mr68S7@$YD%7hiFI7TN{!90(@Wq1mD5|b^%r &Ac2~J>ZTz+@plA9R9YT?RB z7v4$Y?D@OORwiu2DCRrmmfd*h)FbgT0ja^Qi>d#qEzMktc3L^vhU>Rw5(foHoH+MS zp}AoN7g=iakFCr1or1J!sQ$|F M1E^m$x?>DFsc i+&2~5 zHVuSKewTc>POk16?DtOTn*xNcdcy7*mRWH`jPR?W-3qnE(oZuMVkt9m8 4w)tX(CH5Q%rP|lI~3o{Z-3ohk%I&j>-cr+j+AcEzl8!N?%xoI|5>NW zd&wsgCdztBB>ckwrd;ydv8AdyE<|(R=WrK9Ci+tj-zWLA5CKj&E^6p *D8|##OuZ7*N6mq)?QB5#{J>V?q0(Ru$?y8EIU)UB_>9-Yd=tSbDIK z3)`xLY2W1%UyJk#X?39z#u^RPH%497>o}Ia*sSmr{cUFpI$ITEnPR=+3ix)=xbSVv zfGQq|lMquQpejO0wDfd%&9X-&$WF1xf}MKSftSo2r{ohzxu7yrYs7x6-*OZ>-zv&H z(+f&`ppth8!Od9h)ks-8Rw=H?VH@q*y(fB9EnKd0`OH_7f;JLT$7suA;X%VW-L}f) ztdaCM&1Fb-42Z_DQq1QCr+n+D99u=G01Scv035qk=$=DiC;eY6;AZOR*C_OT@IU#c zhx3iD$`V)rd#yC2OSZznF|9>6J^Y-%G*Yc1P{Fy}`%~6i2TaLqN}pepF;j6TTVd $J)DSfd`L{G6@nR6#{C?LyzXeb7i0P_|tsYob zi^}8e$_*{zHrdN9mq7ODDUYv_3-n9-50V@>_$jr27KLkS5$1;=LgJ@IhBG5LXVJT` z3UcR5_*2H1Fd1~fTA8pwJ}0yA6{=l;)E#G}9d7_-tiZA?yi2@_|_{w+0$` zyI+*Xuv?Zip~`8q3(zRfU+MT)E(l^WTI%dLwT6EO(HEYd` DjeV$X+X z5ZbedZCUj`$GD|;4QXuS=t`(IYuz#c02b*y;XF3;UH?# {2$b0hJpc}63GW5Pn_OIuGdF&aJ`@zp;(IhOCU%D!HYlLP;U689n-*Uta!?m1 MR2>%pLx!trCb;Sqx=8mHehAAtxLb~xUuuUERR_l|j`XghP)`8nQQd$e`?fjOCC2B8l6UecNJ zM`(b9pUDL-!%}PujXw1O>(B|b8ZL!TwaLKDSC0F%vNhM=xAwIp5rv=Le69RIQ=GfB ziRXe%$Wf*Ig{TO04swe1{#`R_4@VUMRmf78}Fo=rmn~Q8vWvRCLJ%f1 h6K?K`Ss3yc5&oB7{=ggO;JpryvX z)#POzXZ2yB&8Zp(7Z7PpeCX7nOvXY)HYJvM$tojAmf@h7>|Q2_vA&EU3!$y=`c9_$ z=;pyVGE89g#)Es!m;9I5+a2fpm0E$ZKJrKql<$U4=qQ34qj=eDqqZX26Pu%(1?XTw zZLCSHDd3pShLh9i!%dpMWnLD?YB0L(hrY+N&&7N`TXa5pH^@mFztA?%rmh&UvpiwT zmlq`_#_z5d@&E(P2@Ks}^GO_+>b_4^JzsUCN3kM&@2#a{Dt~gKcZr-0wa( - zRv%$V=?5b<-siQ@xXD;2)5RB0TQVGA0+luv$YyeU1B5jo!?l-Ws&_DzFX9f<1e7kV%nG3b;`G$?Gb4XQO5h+{>B}+s zz-XtE+4LnwJc$3o>Yfk8hOOnjMmJMNg|g5HpH+mLC)?=GF#d5--J~#kvm85^`4J=T z-mB(svMePQT2+ZyUTCtB@LU(KA~(|=e%ky7<)ZrH*@k$0YzD{YwiV-OJzR`%rQUwW zjQ0yx=LmCe@;% O=b|>KA-jgl;wHc41FB-$-8&t2ng92`rP%rY z2m$n900e#7x+ -AKHK2FnTxr%WYO78Taq1D= zb((1ygyfIo000(IiU0RE0HJPR #y99nW!Ef8VGu)k^x8u9O>-F*QD~S4Evlt* z`05g)LG*wC1!=h2ldT17-<_@iex+m?e}Y4p>WnhGnHMK}OuEz-V5q ueTMD?Gb _zXvm5aO*u>~Do^MU)cl1Ig`C;`n(otX|pJ+Y&zbX~%Co z*@~$_ppMITXgJM#nr553%N!9YX1^Sq4H#;v(DT%h;9P3&I+|_Dh!NXDZrHOz7`8Vd zio2`#R+03eOD;J^h}k1iBH?QsVIB>U>2=qne<(~zGoZU^iF@}~zsx6#lq5hF(8(1c zR+Ce6dlA~UCl-lg N;Krx<9%-Jg|is`8hR5tEjUi^MUzw8{V$?b4w~Zh&h5qG1j>3 %do40sc QiCV@=5GRZY000000Ool*ZvX%Q literal 0 HcmV?d00001 diff --git a/docs/screenshots/nova-library-control-aurora-v1.3.6.webp b/docs/screenshots/nova-library-control-aurora-v1.3.6.webp new file mode 100644 index 0000000000000000000000000000000000000000..044de9ee1bd45daeff3f0e7d4970c333c6d3dbd4 GIT binary patch literal 32628 zcmZ^KQ>-Wq4BoMA+qP}nwr!t#Y}>YN+qP}n` -z24g%Tq`BRJsRGn($L?dCq%I$p zmbN!HT1-?dx@f(Q55Lk@SoiElhnLeI?Iqxk^Wxkp@x1m6@T&95*SDI~+hCuiKPexS zr}(G;l)jKZ`4{{Pe&+9QU!Q-_*;M`a=C9%V+pGRzpJ&hTU)fRLEdATx^e^Xku%GD< z@(=mj-UPqe-*Y!*TOA|5G2h6a^!M0_f7#vJZ?<36um5jYJNjeajsIg`zqjol`AE`Y zPXK@JU&P Pg&oDYF#{a~`;iFsazj?x_847^3 ?AZa6OsO8_ZhZa zcBbbZg;v<(FZus?`p+?=8qNt;E})}iy%L#Y*2Mib&lfA6G%o-BkGU=Kr9JbSf2SZu zXfTR^Ttqr|0kyYC$N`W)m1-gc^VTh(pu9#4$^g8lI*YNII&*qm48pda4r~lvxKSR9 z>ZVZRDCle~q#8q-dLI|qBue-9Yhg*UE;?tr>7^@ajO%U-x;RlidtGwG#~Vrg^zby< zrJPEY9U!#hijUJCp&3qddXE>?69b;|l}C)uMgWqk#h&`+Oqr_Z_{cS&KoOB=wpz7t zbjjKg#XZExg?UjPX-n;MTZ1T_rw;W}COxCy=VCF>*g<8AE!{oW)fFfK@B-w$T33!w zw(#^%Rn;vo?2p pi#O8PG1Q(Wo+wUr}bc?+}9I269Oke#`53V4|djqAD@grty84w zUvLUS&~)91P<#X(+klC%NQlcT2}&*@Nbwr__7_^91PV{g$XA5H<@3assyiz3pC;Ba zwAu|Jkn@sY8{=WW!5QZ=#s(73_rS{8Zt~Q1V(Vm04S>xtqw$=q hyA{U z6eg2Qs6~Vrtd(4E#X440KG|15NkT1stnYQzNMdI)l$*=q#Iq`WgO$pFQjD 8>-VW9FigZU6vF)V9wQ{-^ir$DT?o#;yO3{ zC5Wf!P&av81ZOb|_;11UE{3*w_s)y&Y$!Hsm=>7FhM9$Y>n8PMAl|rhluf*)=12B4 z`U`Ct1pnxA^4O$1_7XOBW_c59DNrNvfX9^TguOWmh$99oEynw_ZP-U}m!*7UlqZs` zfO!Rm$Mamv%Oyk`%=`p2S )0#{QuXf`l{7+Jr0dC4n`IX>hTn*MtO&Z%Xb%o#%<0sA6G-vRjk| zgO73HzKttKMF;AFDmjRee4tRU8dTr{hI;M7or&5jYFT3Lu-+9doH`Mm-QpY
e~#^B;Lo{dhX)FGfCU|eQmF8!Bek!(S&37~_@9oRsVOzN z%6X>iDo7KOAgHH@YkRY+lV{h+WdQsjQ|VO(mbKBpzYhL!M2`OdtVObLCo!#6twXeG zkBbJFyv+tQhL}Be-S4-G0~kv1XiOO=1PK(h^ABpzYHi{w`~YM&G3%XNIDpP}>0sXj zi*Na)i06F&NgxE7&NIAjHEW>%OX4q9b6@=E!s+gHnJYg^eaqM2qe`BjQTxRD9&Vi* zhPGsWp8tms?D{FmlgFZf*Lw9ytQQEx%2+kwWNZ4VOy8(C$FZV3Hb8Sok)|%a5>IvQ z>^fO3v)NtCKL)DR$cZzLVm|}*hPV7x`)e_Z*1q&1SO{Hx90CVJEhN{)+XPEx?OMK3 zhTvDJW2*#Pv*%kIy*v!;(A$|$^1SzJ2Y4Z{3d?nH`#uG$civBP0B;j2-`gZ?bE4pL z_`RVEKc+zQOyn`>AIb_sfHa`U%V~|#kNNTOmZwSmPRrtNcm6D&PFpQub!=4k+UUK` z^PRpDlf2>id~YBGegbeVJvT*J98I{NRV1}6TV^a)kMFR?U(N*Djq~E_8ued6)tW3p zQw%V)TlKCP1kv$a@64iwzI5h+B%a;+HZOvkmohI*q~B0EhlKqRIo