I’ve tweeted this yesterday and it’s getting some attention, so I decided to post it here to share comments, ideas and answer questions, if anybody got some
The tweet can be found here
https://twitter.com/wstucco/status/1046485501774057473
What I did is write a custom Scene module and a custom Component model on top of Scenic, reusing and extending Scenic’s own Scene and Component modules, that automatically keep track of component creation and can communicate.
The Scene has an internal list of children components and send to each of them an :animation_frame
message on regular intervals, the interval is the amount of milliseconds coming out from the formula
trunc(1_000 / FPS * multiplier)
Note:
The timing is not perfect yet, 60 FPS generate an interval of 16ms, which is actually 62.5 FPS
I’m starting a series of posts on this argument and the first one will about writing a Timer that has resolution in the microseconds instead of milliseconds (I’ve managed to have an std deviation of about 30 microseconds at 60 FPS)
You can find some more information on this thread
https://twitter.com/BoydMulterer/status/1046497642442678272
I will use this post as placeholder to post about progresses in the area of pixel animation without having access to pixels
I’ll post the code of the project as soon as I’ll be back home on my couch
With Scenic Elixir enters in the arena of GUI applications and it does in a pretty spectacular way