[HN Gopher] Show HN: Svelvet - A component library for building ... ___________________________________________________________________ Show HN: Svelvet - A component library for building interactive flow diagrams Author : awillettnyc Score : 281 points Date : 2022-06-02 15:09 UTC (7 hours ago) (HTM) web link (svelvet.io) (TXT) w3m dump (svelvet.io) | yoda97 wrote: | So clean! love it. | Philip-J-Fry wrote: | The performance on my S21 Ultra is pretty bad. Feels like ~40fps | and stuttering. Also, it doesn't have mobile interaction for | dragging nodes. I can only pan the canvas. | upupandup wrote: | Not to detract this component but I can say with certainty that | people will be writing Desktop applications with Svelte/React | running inside Electron that takes up gigs of ram. It will be | interesting to see how this performs in such environment. | | Bit off topic but I really dig the clean look and feel of this. | Is there anything close in Flutter? Think building this in | Flutter might improve performance for your case (running on a | high end samsung phone) | iueotnmunto wrote: | I keep hearing this, but I've never figured out why it might | be the case, and particularly with Electron over Chrome/FF? | | Surely if react/svelte etc are built well they're relatively | low processor / compute? When manipulating canvas / images / | rich-whatever, I assume graphic accelerated functions would | work substantially better than alternatives. | upupandup wrote: | I'm not sure what the issue was, could be the particular | browser they are using (Samsung browser is horrible) but I | wouldn't be surprised if it runs into performance issues as | number of nodes increase. | iueotnmunto wrote: | I'm talking specifically about electron. | darkerside wrote: | Looks great on an S20 Note Ultra FWIW | a2128 wrote: | On my phone, with Chrome Android it's smooth and fast, but on | Firefox Android it feels about 20fps and isn't great. | jspaetzel wrote: | Beautiful, but so so slow. I wouldn't call this lightweight. | [deleted] | awillettnyc wrote: | Launch day is here! Our team is proud to present our open source | product, Svelvet is a lightweight Svelte component library for | building interactive node-based flow diagrams. | | Easy install with a NPM or Yarn package! | TIPSIO wrote: | Really cool. Love stuff like this and appreciate the time spent | doing a nice documentation page. Congrats and hopefully a fun | learning challenge for you all. | johnm wrote: | Nice! | | Would be great if it could generate static images of a diagram | in e.g. SVG. | nileshtrivedi wrote: | Are you planning to offer authoring of such flow diagrams as a | capability? Users should be able to nost just reposition nodes, | but add/modify/remove nodes and edges both and edit their | metadata. | | This would be super-useful because currently not many tools | exist for non-tech users for creating graph datasets AND | visually laying them out in a sensible way. | DenseComet wrote: | It looks like the title got changed and now it says Svelte | instead of Svelvet. Congrats on the launch! | moklick wrote: | Thanks for the credits (creator of React Flow here)! Our | website is MIT and so are the docs and all the content but I | don't get that you just copied content like whole sentences of | the docs or parts of the readme for example. | schnebbau wrote: | Why not? If the content is technical and the concept is near | identical then why waste time writing the same thing a | different way? | toqy wrote: | Looks like a software bootcamp project, so they probably did | it to save time on that bit. But you picked the wrong license | if you don't want people to copy you. | Sloppy wrote: | Why? An NPM package??? I'm baffled. | [deleted] | jsnk wrote: | What's baffling about it? | | It's a Svelte component library. | bmitc wrote: | Why was such a confusing name chosen? Even the Hacker News title | already gets it wrong. Just think how many times this will cause | confusion that wastes time being clarified. | [deleted] | vlunkr wrote: | I think the problem here is with HN's obsessive title editing, | not the library name. | bmitc wrote: | I agree on the title editing, which I in general dislike, | especially when no comment is left. | | But I disagree that this isn't confusing. Imagine the | conversation: Dev1: Says something about | nodal diagrams. Dev2: Suggests taking a look at | Svelvet. Dev1: Confused since they're already using | Svelte and ignores the comment or suggestion and moves on. | <months later> Dev1: We're developing our own | internal nodal diagram library. Dev2: Did you look at | Svelvet like I suggested. Dev1: Yes, we're already | using Svelte. Dev2: No, I mean *Svelvet*. | Dev1: Oh... | | It's like calling a React library Reactor or Reacts or | something like that. It's way too close for no reason. | | Just look at this thread for many examples of why naming your | library so close to the framework it sits on top of is a bad | idea. | toqy wrote: | Imagine how much time Dev2 could have saved by sharing a | link instead of name dropping obscure libraries they read | about on HN | the_arun wrote: | My eyes tricked me to read it as - Servlet! | dolmen wrote: | Fix the title: s/Svelte/Svelvet/ | [deleted] | adontz wrote: | Svelvet is a lightweight _Svelte_ component library | Asraelite wrote: | It was originally correct. Not sure why it was incorrectly | changed to Svelte. | DonHopkins wrote: | Svelting corrector. | dang wrote: | I'm not sure either! Fixed now though. | [deleted] | swyx wrote: | @dang or whoever changed the title - this title "Svelte: A | component library for building interactive node-based flow | diagrams" is incorrect, Svelte is the underlying JS framework but | Svelvet is the product that is being shared here. | dang wrote: | Whoops - fixed now. Thanks! | [deleted] | pvg wrote: | You can't fix titles by @danging but you can by emailing the | mods about the problem. | DonHopkins wrote: | @dangling references don't work? | pvg wrote: | nope, only participles, I've been told to. | simonbarker87 wrote: | Nice, so React Flow for Svelte? | ramshorst wrote: | Svelte https://github.com/oslabs-beta/Svelvet | bennyp101 wrote: | Seems to be - which is cool, Im a fan of Svelte so more | community investment is great! | | "Svelvet is an open source Svelte component library which seeks | to port React Flow functionality over to Svelte." [1] | | [1] https://medium.com/@alexander.zambrano/simplify- | application-... | steve_taylor wrote: | It's a timely development given React Flow's recent cash | grab. | zelphirkalt wrote: | It would be great to have some more helper lines when dragging | things aroung and some optional snapping to the helper lines, to | be able to properly align everything. I often use yEd Graph | Editor (offline) and have yet to find a tool, doing it as good as | yEd. It also looks like the connectors of a node, where an edge | joins with the node, are always in the middle of a side of the | rectangles. For many diagrams you will need more than that and an | edge should be able to join with a rectangle at any place. | nabeards wrote: | Shouldn't the title be _Svelvet_ : A component library... | [deleted] | operantoperator wrote: | How do JS folks come up with these names? Probably coincidentally | it means to starve in Norwegian. | | EDIT: Ohh, it's an English word | | "(of a person) slender and elegant." | DonHopkins wrote: | React doesn't, but Svelte is. | | https://www.youtube.com/watch?v=ZZoB5frlcnE | bmitc wrote: | Svelte is an English word but Svelvet, the actual name of the | posted project, is not. | tunesmith wrote: | What's the layout library? elkjs? | ec109685 wrote: | Nice project. | | Quite sad Google Diagrams is stuck in the stone ages. They solved | the hard parts of multi-user editing diagrams before anyone else | and then just basically stopped. This would be a nice feature. | FunnyLookinHat wrote: | This post [Svelte: A component library for building interactive | node-based flow diagrams (svelvet.io)] is named incorrectly. | Svelte is a "framework" - whereas this is Svelvet. | | This looks awesome though! Thank you for sharing! | [deleted] | george_ciobanu wrote: | Also check out ant vision components they're super broad and they | also have a node based editor. https://antv.vision/en/ | [deleted] | ravenstine wrote: | Oh man, I could have really used something like this 4 years ago. | I was doing a personal project that would have involved a node | graph UI, and it was actually kind of challenging finding an | existing library this simple and nice looking. Yeah, I know | there's D3.js but that involved way more knowledge and learning | than I was interested in. If I remember correctly, I ended up | writing my own. | | Dunno if it's feasible with the way it's designed, but it'd be | really useful for this to have force-directed drawing, even if | it's not a real-time thing. | robertlagrant wrote: | If you're on React these days ReactFlow (https://reactflow.dev) | is good for this. | lhoursquentin wrote: | > Yeah, I know there's D3.js but that involved way more | knowledge and learning than I was interested in. | | Same, d3 looked very powerful but had a steep learning curve. I | was looking for something simple to generate process trees in | real time and ended up using cytoscape js [0], helped me have a | working POC in an hour, highly recommended. | | [0] https://js.cytoscape.org/ | whiddershins wrote: | This is so great. | | How hard would/will it be to make the nodes draggable? | | Edit: maybe it already does this but it is hard to interact with | on the phone. | | Edit2: can't move them on iPad either. Maybe a use case for long | press? Double-tap? Two finger select? | | Edit3: Is Svelte in general under-developed when it comes to | handling touch events? I can't find a good touch example with | draggable components. | anulepau wrote: | hi, thank you for this suggestion! We noticed the same issue | during development and we definitely have it listed as a | feature we'd like to add on. :) I do not believe that handling | touch events is an issue with Svelte - for example, with | Svelvet you should still be able to pan and zoom across the | graph on your phone. We just don't have that functionality with | dragging nodes yet. | johnm wrote: | Indeed, they are draggable. | welder wrote: | The page causes my CPU to go crazy. | [deleted] | red_trumpet wrote: | Scrolling on my smartphone was a pain. Interestingly the | diagram did scroll fine, but the whole page mad problems. | junon wrote: | Not to detract, but if you're looking for something similar that | _isn 't_ batteries-included, I wrote a web component library for | node editors. Requires a bit of setup but gives you absolute | control, would be interested for someone to try it in a new | project and give feedback! | | https://github.com/qix-/node-editor | irq-1 wrote: | Also check out: https://sebastien.drouyer.com/jquery.flowchart- | demo/ | [deleted] | nileshtrivedi wrote: | This looks potentially useful. Is there a demo somewhere? And | an example where the node graph created by users can be saved | and served again? | pitaj wrote: | Is there a way to select and move multiple nodes at once? | tobr wrote: | Nice! Consider making this a proper Show HN instead! | https://news.ycombinator.com/showhn.html | awillettnyc wrote: | Thanks for the advice! Do you think the mods would mind a | double post? | pvg wrote: | Don't double post, just email the mods to add the Show HN: | prefix. If you're here to talk about your thing, this is | already a show hn. | crackinmalackin wrote: | This is awesome! Great work! I'm so excited to see more things | being built with svelte. | nrabulinski wrote: | Looks very good! I haven't read all the documentation but I | haven't seen it so I'll ask here: is it possible to automatically | position the nodes in rows? Or are there APIs which would allow | me to do that? | photochemsyn wrote: | Too bad the page requires Javascript to view. This trend is not | conducive to expanding engagement by those of us who run script | blockers like NoScript as the default mode. | | [edit: If you show some minimal page description that doesn't | rely on JS being run in the browser, then more people will be | willing to unblock the script if the site looks interesting] | datashaman wrote: | It's an _interactive_ component. How do you propose this be | done _without_ javascript? | | There is also the github page at https://github.com/oslabs- | beta/Svelvet | | EDIT: I see what you mean and I agree - _nothing_ works on the | page without Javascript. It's just blank. | manishsharan wrote: | I use PlantUML + Dropbox to share . It's not pretty but it is | powerful. We make it interactive by editing the text file and | saving the changes. There is also a VSCode plugin for | PlantUML,which I have not tried. | mcv wrote: | This title suggests Svelte is the component library, which | confused me, because I knew Svelte as a front-end framework. | | The component library is called Svelvet, and it's (presumably) | made for Svelte. | [deleted] | encryptluks2 wrote: | While I can see how point-and-clickers love things like this, I | prefer building connections using markup. So things like | Graphviz, PlantUML, and Mermaid appeal to me. However, they leave | a lot left to be desired in terms of simplicity. Wouldn't YAML or | something similar be better at representing connections, and just | have some markup options for types? | bee_rider wrote: | If you are going to let the program do the layout | automatically, then graphviz dot already does really good, | right? | | I think the reason people make these projects is specifically | because they want to manually place some nodes at particular 2d | positions, which I think is a little difficult if you are just | recording nodes and connections. (I think many people are not | as excited about solutions like "just use a bunch of invisible | edges to enforce additional position requirements" as us). | chrisweekly wrote: | Mods: typo in title - it's SVELVET (not Svelte, a web framework | which Svelvet happens to use) | [deleted] | DonHopkins wrote: | Very nice! I love Svelte, and reading code like this is a great | way to learn how to use it better. | | Has anybody made a customizable JSON tree editor / browser for | Svelte? Especially one that supports schema driven custom views | for json data structures. | bthomas wrote: | > schema driven custom views for json data structures | | Is there a React library that does this well? ___________________________________________________________________ (page generated 2022-06-02 23:00 UTC)