I need to put this project down for a couple of weeks while I prioritise some other things but I wanted to throw this out there and see what kind of feedback I get.
With a vague motivation of doing something pixel related on an embedded system, but authoring the code in Rust instead of Arduino flavoured C, I started work on an FSEQ parser. It currently only supports v1, but what this allowed me to do was to export the parser as a Web Assembly module so that I could re-use the same code in a web application. So now I have a primitive web based FSEQ v1 visualisation.
Warning! I've only run a very small set of test files through it, nothing of significant size so I don't know at what point it will bug out.
Web application is available here: https://fseq-web.firebaseapp.com/ (https://fseq-web.firebaseapp.com/)
Code can be found here: https://gitlab.com/sharebear/fseq_parser (https://gitlab.com/sharebear/fseq_parser) (documentation needs some work ;) )
I'm very interested to hear if anyone sees any value in this. I'm hoping to pick up the code again mid march when I will prioritise the v2 parsing.
Knowing what colors on what channels is pretty much useless without knowing the models and props that they are placed on. But I applaud your efforts.
Quote from: allknowing2012 on February 19, 2020, 03:49:03 PMKnowing what colors on what channels is pretty much useless without knowing the models and props that they are placed on.
I didn't really claim that it was, my stated end goal is to use the parser in an embedded project. In it's current state the usage as a Web Assembly module is mostly proof of concept, a fun way to test different files easily and a tool for me to get up to speed with React programming.
Once I've implemented v2 parsing I'll publish the module on NPM and then if anyone wanted to go further to implement a richer visualisation they are welcome to do so. I assume this would require switching out my SVG rendering with something Canvas based for performance reasons, it would probably also make sense to do more of the work on the Web Assembly side.