Email or username:

Password:

Forgot your password?
Top-level
this.xor.that

@jonathanhogg oh that's super cool! do you have a code sample I could peek at by chance?
the yaml+expr setup was a little out of necessity and is janky at times, but I also like some aspects of it (the file whitespace has to match the structure of the input configuration, so it never gets tooo messy.)

5 comments
Jonathan Hogg

@this_xor_that So I started out using JSON and a little expression language, with an interactive Python frontend for spitting this out from `with` statements and a symbolic expression tree. I wrote Flitter to combine these ideas of describing the visuals as a tree of configuration nodes and a macro language to construct/parameterise the trees. There's a load of examples here:

github.com/jonathanhogg/flitte

but, stupidly, I didn't include images in there so you can see quickly what the examples do!

@this_xor_that So I started out using JSON and a little expression language, with an interactive Python frontend for spitting this out from `with` statements and a symbolic expression tree. I wrote Flitter to combine these ideas of describing the visuals as a tree of configuration nodes and a macro language to construct/parameterise the trees. There's a load of examples here:

this.xor.that

@jonathanhogg oooh this and the docs are great. Thanks for sharing! It seems like a nice example of having a language keep a structured hierarchy too.

Jonathan Hogg

@this_xor_that the hierarchical aspect was super-important to me in designing Flitter. I spend a lot of my time tabbing in blocks and adding a parent as I develop an idea. E.g., “these things, but randomly rotated and translated”, “that, but now 100 of them”…

this.xor.that

@jonathanhogg oooh. I do the same of inserting hierarchies, but my set up means I usually have to update the rust code, so it’s not livecoded.
To make up for it, I have overengineered tricks (if you have a list defining a shape, you can drop in what is essentially a for loop as an element and either create a bunch of shapes or a bunch of curves to make up an individual shape. Or both.) But hiding that behind a good ole for-loop is appealing.. 🤔

Go Up