News for hackers. Stuff that matters.
Re:A CSS-Inspired Syntax for Flowcharts by tonerow on Monday August 29, 2022 @10:46AM (#32638934)
That sounds really cool! When you say query string, am I right in thinking of URL search params? i.e., "?trigger=event1" kind of thing?
Re:A CSS-Inspired Syntax for Flowcharts by catapart on Monday August 29, 2022 @11:02AM (#32639140)
Yes, exactly! For example `(myVar=myVal&key=value)` I use a runtime list of regex to parse the text into tokens, so it's completely dynamic but my current project I have a need to "condition" the nodes (only show up if certain conditions are true) and also to set values upon node actions (in this case, "selecting" a node can set values; i.e. `<myVar="a weirdly formatted new value"&key=newKey>`, or whatever). As far as I can tell, allowing the library that will generate compile-time/runtime objects from the nodes to receive those types of key-value pairs can allow for whatever text-substitution, state-setting, or event triggers a consuming app would need. Very interested if you can think of some outlier functionality that I'm missing, though!
Re:A CSS-Inspired Syntax for Flowcharts by tonerow on Monday August 29, 2022 @12:07PM (#32639863)
It definitely seems like your use-case is more complex than just rendering the diagrams. I think that is very cool. I'd love to see the video if you want to share it (my email is on my hn profile)
Re:A CSS-Inspired Syntax for Flowcharts by catapart on Monday August 29, 2022 @12:37PM (#32640268)
Oh for sure! I'm actually using the parsing to generate a branching dialog markup syntax, so it's keeping track of things like if you've already chosen an option, or if your character has the stats to even show an option to you.

The intention, though, was the make the variable assignment general-purpose enough for whatever node data needed to be stored. So, in my case, I'll be storing things like "x" and "y" positions, so that the nodes can be restored to their absolute position on the graph.

As for the video, please feel free to ask any questions; I'm sorry about it being kind of slow and incomplete. This was recorded to showcase how the tokenization is dynamic: https://streamja.com/JKPkJ