From 14fd2bcfa8307171d79ac2d5825ffdeb2fdbd66c Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 13 Aug 2026 18:24:52 -0500 Subject: [PATCH] feat: visualiser improvements and 3D view and decrease collapased sidebar width a bit. --- meshchatx.rsm | Bin 192940 -> 193172 bytes meshchatx/src/frontend/components/App.vue | 4 +- .../network-visualiser/NetworkVisualiser.vue | 78 ++- .../internal/NetworkVisualiserToolbar.vue | 48 ++ .../components/settings/SettingsPage.vue | 13 + .../sections/VisualiserSettingsSection.vue | 23 +- .../src/frontend/js/networkVisualiserCache.js | 4 +- .../src/frontend/js/networkVisualiserPerf.js | 21 +- .../frontend/js/networkVisualiserPlanet.js | 613 ++++++++++++++++++ .../js/networkVisualiserWebGLEngine.js | 207 +++++- .../registries/coreSettingsSectionKeywords.js | 5 + .../js/settings/settingsVisualiserPrefs.js | 45 ++ meshchatx/src/frontend/locales/de.json | 6 + meshchatx/src/frontend/locales/en.json | 6 + meshchatx/src/frontend/locales/es.json | 6 + meshchatx/src/frontend/locales/fi.json | 6 + meshchatx/src/frontend/locales/fr.json | 6 + meshchatx/src/frontend/locales/it.json | 6 + meshchatx/src/frontend/locales/nl.json | 6 + meshchatx/src/frontend/locales/ru.json | 6 + meshchatx/src/frontend/locales/zh.json | 6 + .../vendor/visualiser-wasm/integrity.json | 2 +- tests/e2e/keyboard-shortcuts.spec.js | 2 +- tests/e2e/shell.spec.js | 2 +- tests/frontend/NetworkVisualiser.test.js | 19 + .../frontend/NetworkVisualiserToolbar.test.js | 23 + tests/frontend/behaviorContracts.test.js | 7 + .../crossSurfaceIdentityUnreadOracle.test.js | 9 + tests/frontend/networkVisualiserPerf.test.js | 5 +- .../frontend/networkVisualiserPlanet.test.js | 160 +++++ .../networkVisualiserWebGLEngine.test.js | 21 + tests/frontend/settingsSections.test.js | 7 +- .../frontend/settingsVisualiserPrefs.test.js | 14 +- tests/frontend/viteDx.test.js | 14 + visualiser-wasm/cmd/wasm/main.go | 3 +- visualiser-wasm/internal/graph/build.go | 4 +- visualiser-wasm/internal/graph/build_test.go | 2 +- visualiser-wasm/internal/graph/full.go | 4 +- visualiser-wasm/internal/layout/force.go | 34 +- visualiser-wasm/internal/layout/force_test.go | 29 + visualiser-wasm/internal/scene/scene.go | 57 +- visualiser-wasm/internal/scene/scene_test.go | 60 +- 42 files changed, 1511 insertions(+), 82 deletions(-) create mode 100644 meshchatx/src/frontend/js/networkVisualiserPlanet.js create mode 100644 tests/frontend/networkVisualiserPlanet.test.js diff --git a/meshchatx.rsm b/meshchatx.rsm index 8239d11f7839d6e6ee0b9a1e502b110c16defbb7..a3863dc846a0bb8eb2535df566b1e0978a223412 100644 GIT binary patch delta 3202 zcmYLLYp7jE6=v`1_2%AalQv@WAf_c%tj+D3nKdtrIj10vN*dE(MXD8N*34*YOxoNO zi&#Yc*%A_ObWlllwon>jqeE@@7ROX# zYPlH>ik-2EtK$|)d6hzv=s2?%D~f$?HAFRg__}UuKPldm1Q((X+2>-cXvr-}Dq@IY z%`v;eXrqX-t(Ag0DY8(hCbcl!b4z#YaBQyIGP{1RTexvb$%~ITFdDoYbK{&8n-UU! ziJBT4?PIR2ZDllPy(UV|1(lfCs+Hrv+Wysz-TK+ljoqa;OxTGNa=DSUS=H2PByR&y z@zvxifjl+QR$CMXQqhoj15C5kxWjPIcC`1<*6xPcUvKVyecMDChf}RmK%1*@)-Ea= z@Jb=4o7CXRX6IZhS*s?*x@5+Wn2n`4UU$>*xxL+n;f}kzHIv|rFC;7>Sjx5vAksOK z7^eYwF*-X6L7dYnPz^yxT}4cC8Vvxw?XQ*Fy{{f_OAjtD*kW?Q2UFx|Nh$A?)54B? zDUltfP9jWAd#klr-E!3-+RTh|?67T5w|!W*w_BLocOV_CM~3g+-FI< zfRZM$x#CQy1UNb5P$LMOe2tl7sJXh7hhsatt-~Gnb&Ipfhr6(0N;NYY@PMN#Un={c zlVi;R1WQ2zM~W>a4hEA3Q5ocEK5A*UFsb3EpXzqZ&K>C9_xh<;6pV_6(VuG7SJyC; zQcH6+m=Zm%1^PF3QOHIcF%X|>;t~~*RKxls-Oa<%!`=KuHE`DFOi7s}K3gA)<8f+~ z$rx32)z0e(R{H>9K@3d+4qPVzuhqG}a=2SJ0jnFO2Hd>@7sjEA(l{03sL@-DAY>Do zK+Qg&4tQ9VqZVKdHLQH$%BBH@*4(uWb{smm0A!-_kr)MVG`f@0nuivQqnZr<& zVm1;|!l1IlD2ObcTzT;iSL@Bcw>_|05anVP@g-QUfkH0PWg?$Ll$@FduWJHlfs!|t zob?8XS&9=|{RX zyD+-uRLD9B*h)EAXvadLFr^Tob>&2phCnf-U!_Yw}Vf2Uv zXv!wU3ab>$)fV7@4&Lhwx?%|2LB=LK=2>g~hNbEFPlCvGgX5M=KCv+l24s1iX zHkpWvt6E%1ky?Vn;4&FH(8Kd5`gcwRR__ch0&`&-DojUJimIXqa3tse1ardh#*4yZ zQCuQM0kDvccC2#Cux+lJpMBsf{ogn5s-6l?hRl?!4V@sN#D`=pVh?&mNAL(y-na-6 zQ3R`D%2o`*A`ai0^*7F*e5QZ(x+%;wgaA-d!k9s9C=f`H21=1LafU4cMP*oN2X!>z zm=o)a#6Wt@UU;tGuz7-p3l{420&VaD14WYA+A~sDWrrNlc)IM z_-{k3k8wEHM3UpK|(LhwM1NEufeP0ln8!*YhPCbiT&9)Oq>l+6GVI)GWiR&cz8mS{ z*v+J9>^w*>)4+@bPixirsv@L`ume)rU^9U3v5!RUkvVXeB3K;ikS>C4YhUW`>?WqD zQnP3@4v8DAWm&8b#*Vi%3@uq5DS-b0&YN4vpbX+XMZ`gk!|99tmf^eS`|Bqd4|)Vq zTBtq-APz%|2`NXZKtPBfY>?WEvpI#T;62!wT*mcU7PVUGh70|hCmFjOgiK7J1cpJ4Xt+U53^tbmDY+qRAzX=YK>#gVe%`=qyP&ZY`Xs`s)gAtnuSH{kb zHPRRaVnG`oDsoeqDt1;-JxssI20 delta 3081 zcmYM0Ta2Am702^^!gQw7Sei~^Z<-dL)THeD+RN0QLlhe<6bmGpD1m)hyTMjUnL)u@ zKx23zWSY`^4+g@EMx#*(*rU-14@SWlY^#ZB6i6k;6m{%GAG{I$pP5+Gr_R~m+H0@> zfBn{a{P*+UdVPL;;v+MUoqp=z2YT|_^$2uKJw%@cH1r6zWLx!KfU_de?Nc3 z`^PW*>gn&FKk~qJD=+^2N55V9@NbTN_obWkUAO=E&F8+{og8o5z4ZB?KYZ|sJ1@Qe zuV4H2_iiX#zF>dw#b1Bt$jA?Tv=<=v{Mlwtr4e_4Czbj(T3%jZtLXhZ|VNfjdD)Txzs48 zrgPI)6=QTE60xR*=9*JtywatbCP8JZsZtHvD`_DPhxh+K=B~-+nQr6Okuz*V4BR4- zuFe*bs!Z_6%zBneR@LSNk5MAgxYk%$Np&qNZ|&Nvhs)c$U6aSQcb7MeN;An?A+}ao z_LNFs-D-*4I0nguo3Aw`oG`4EjW!!1#a^`4(X8b-jkhp7v9p_-{B2M7^1JuvYK2|! z!3M>RBq6raSsG7MBXSu!MMkb6X7K^x4f(7S>MCYf-q*cjc<4~KWw`F_fQ)2I^Cd<$v9^+xaYd*~=33bsAp~lv_z)xw58v9oeLdU@=lZLMJ%_pn$4WV5 z6XUda61}Hjq@^082|C-sgAXj1OxdM04d5f85Gaz>Suy4lIcKH1%P^|+#Ed|>t|D;0EwqA4?zGA5A1Lt)g)Rr^HRn~I8yD(pm%v=`xF zb*bBPpvvA)EFQmSqmvvw48f>bOD$-dZE%V3af*fwltBNmv*bB8a>24F2d6VmH9B?T z%^kxp7Q4CO_+qzVq%|vonxZr(8zegCOM!)Bgx-;|N)Zw{bc-P*?QHW`WuAo*LWQfhda0G8>4Kidu{Z&&58X~|^u0`~V)M)WSWUke4@%r^hv%`3) zn;qfPKr!P}D%Do>gOwUuw2B=X2MR_cin_UoYka9$YzV4EG(3Fvzh}-KX!otxty&0W z9gspoMWv8x_5ryh=Lycq0kE=OVlWo}D`I`KfwDl5%;ieJ8}43O510xnk_rxs0!q-S z1RDT{q+%$VJybAcK}e&53K{;ZXk%3g4;x;)zS}j`VfMg1$JXPC(I~Lbz*_;5ELA){ zKpo)4=t!wfZz={o*s=v`DvNEsVNec;Ef&5kp83KRTtsJ_XLTf+vAKxu9Xu zwbkjM89k<_uwZ8@fKv+mEn0ZZ%+r9An?Kdvu`-55Q7d37!4MwSaMhvejap4qkTuHI zOtZBpJQmU_kH)DQs@uZKPu{5gbKR&E;2SA9im)o2tP;}FQ%O|I9w>~#bJGI8I1fIN zgR9BIgE-tKue5$)?>H1tv3lU41aBN_her@$fWQ!B9r`SD!XH~k7m-0f2u|Q|#H4t$oX0i*&*PiWSdyyNJnQLY_!&!9#> zIo-?(|MycumUn6sINXa(}r8l_S=Rt=lZwpx9C?w0|H}7nF8B1 zFxJ89m`hb9fZG;ZN_5E-Ho9U^X9G5wk`QS1EB)5tuCx7y;gLh#=E+yj_xt9@)gWyQ zCA<%V4OT)ICH$@89!yn|hB=K(FdrZd5Y;qb*^F-1VD8ee=hc3BtZ^l>_OJjz6Bx|U zSU^Hfg1G?xGa|r34t#){Y$m`J|1c^OZg7*;SNr!~H8xN_6dcRo9Z^UQ;cyXNqTn^r z9`!F+Nl<%}fTZle286)iL2cFK=<7YrjIqNw2!g!>)Jz2%4TcRRkEn{GW1W1p9ut+D zwcs0UsWc`@vJBHGn*8oke_J<(dte<*+924H&=gP|RDkM*1d>Vvu3>a5NyD0&3xQ@9 zb6Epnm4|y*`klk_AN$Q?qY`d}LZx72JI(=|Hmb6LhNL9{tQvN}ZY7echV5--ki#Nr zoBfqg^EckPB#TRXj~w4%MJb&EULhoVQo1?EF>O_Ws4=6TH&7B5;%x@LRa(#<>(VK P2SbqLG~5K?7P|ieMrECn diff --git a/meshchatx/src/frontend/components/App.vue b/meshchatx/src/frontend/components/App.vue index 740a2d48..157333fb 100644 --- a/meshchatx/src/frontend/components/App.vue +++ b/meshchatx/src/frontend/components/App.vue @@ -66,7 +66,7 @@
-