I'm right there with you on exploring the form with code and making it a learning experience. I've tried to teach myself OpenGL and really get my head around OOP a number of times and it took my laser project to do it.
At some point my software read ILDA, but there would be little reason to have it write ILDA since it's not an editor. Most likely I will have an ILDA object class and support loading of an ilda file into it's own object which can then be played, translated, rotated and scaled along with other objects currently being displayed. Currently I'm pretty ignorant of the ILDA format, but I'll learn about it when I'm ready to read them, just like I read up on the OBJ 3d file format. Laserboy is an editor, and I want to be able to read the files that are made with it and other editors. I don't want to have to support the reading of a million different file types - that would be tedious, hence I'm glad there is some sort of standard.
If I understand correctly, the ILDA format does not allow for the creation of objects. I can't say this block of points over here a smiley face
, and over the next 30 frames rotate it a TWO_PI/30f or PI/midi_knob_1 increment. That's too bad for me because the philosophy of my software is exactly that.
Speaking of 3d, what happened in the 3d software world? When I was doodling around with Lightwave and Alias 10 years ago, there were 31 flavors of 3d formats - formats for objects, formats for scenes, formats for animations, etc. Each software had a different philosophy and that was reflected in the file formats. You could write things as DXF and OBJ, but often they didn't capture it all. Maybe this has been resolved - I haven't touched 3d software in a while.
My $0.02. Since I cut my teeth on the DSP I've never worked with ilda files and I don't really know what to say about the version 3 mishap.