
Kocham SVG, jeszcze żeby to miało lepszą składnię, lepsze rozdzielenie definicji obiektu od jego użycia i lepsze kaskadowanie atrybutów (teraz niektóre się propagują w dół drzewa, a niektóre nie, wkurwia mnie to), to byłoby ideolo.

@sens: w obecnej pracę pracuję dużo z diagramami i trzeba strzałki z jednego prostokąta do drugiego robić i właśnie SVG, w ogóle ciekawy temat jak rozkładać nody na diagramie żeby nie wyglądał jak gówno i są layouty, że masz połączenie między nodami i ono ma 10 punktów i rysuje się SVG który się w nich łamie żeby omijać pozostałe

@Deykun: no ja właśnie sobie zacząłem hobystycznie robić taki jakiś symulator logiczny
https://i.imgur.com/LT0q74T.gif
na razie w powijakach, bo dopiero wczoraj wieczorkiem zacząłem xd

@sens:
Z gotowych apek to reactflow jest spoko libką, a do layoutów skomplikowanych (pewnie Ciebie nie dotknie) typu jak rozstawić 100 nodów i poprowadzić edge jest elkjs.
The Eclipse Layout Kernel (or ELK) - libka do layoutów od Eclipsa.

pewnie Ciebie nie dotknie
@Deykun: ta? potrzymaj mi moją sojową latte
od Eclipsa.
a to jednak nie, nienawidzę jebanego eclipsa XD

@Deykun: a tak serio, to może spojrzę jako point of reference jak sam nic nie wymyślę, ale w zasadzie po to robię sobie programiki dla siebie, żeby samemu rozwiązywać, a nie czekać na gotowe xd libki to ja mam w robocie

@sens:
W ogóle śmieszne, bo jak robiłem te mapkę herbami i mi zaczęło jebać przeglądarkę przy 2k nodów w HTMLu to doszedłem, że jednak trzeba je wrzucić na canvas z 0FPS. I potem poszedłem na rozmowę do firmy od diagramów to jest dokładnie problem z diagramami więc błysnąłem, że sam miałem ten problem i tak go rozwiązałem. I jak są przeskurwysyńskie diagramy to ją stawiają na płatnej libce na canvasie https://gojs.net/latest/ i ta libka rysująca wszystko sama bez htmla (więc button musi mieć onMouseOvery w canvasie setowane i cuda żeby był hover) jest rozwijana w js od 1998 roku czuć w niej czasami, te decyzje programistyczne z 2006 roku.
Dużo bindownania po this, funkcje które nie mają obiektu że robisz setPosition({ y }) tylko musisz dać setPosition(undefinded, y) bo funkcja powstała jak jeszcze nie było dekonstrukcji w obiektach. ;d
W sumie jak na to co robi tak całkiem ułożona, ale inny i zbudowany osobno świat JSa, a jeszcze żaden darmowy MIT projekt jej nie zeżarł, bo jednak 25 lat developmentu daje jakąś przewagę. xD

@Deykun: zastanawiałem się nad tym czy nie robić tego na canvasie, ale uznałem, że nie mam siły ani czasu się użerać z tym API, a SVG w sumie można traktować normalnie jako komponenty reactowe i normalnie reagują na zmiany stanu, więc nie muszę jeszcze się osobno renderowaniem manualnym przejmować. Obawiałem się czy wydajnościowo będzie ok, ale to też w sumie przecież nie trzeba wyświetlać całego grida tylko to co widać, więc w sumie spox.
Ale teraz znowu zasiadłem do tego pomysłu na preprocesor SVG z poprawionymi rzeczami które wymieniłem. Mam wielkie plany, oprócz tłumaczenia na SVG to jeszcze osobna funkcja enderowania tego bezpośrednio + bindingi w wasm i do pajtona.
Za 20 lat wykupi mnie Google albo inna zbrodnicza organizacja i będę milionerem szybciej niż żółtak