Steffen Wrote:this is a perfect example for how much more compact our current syntax is over JSON.
I think that if the -only- thing on the table here is JSON vs. .dat/.ldr syntax, then it's sort of "who-cares"...I can write a program to convert from one to the other and then back losslessly - it is a re-encoding of the same information.
The real question of a second library is whether it is -semantically- different...for example, a "second" library could be:
- Flattened - every triangle in a part is in the part file and not in primitives.
- Have no conditional lines.
- Have quads reduced to pairs of triangles.
- Have the shared vertices pre-indexed.
- Have normals pre-computed for apparently-smooth surfaces.
- Have UV coordinates pre-computed for textured parts (from the spec'd projection).
These are changes such that conversions between the two formats would be "lossy". If a second library isn't semantically different, it doesn't provide substantial benefits to apps.
From what I've read in this thread, Roland's proposal was very much "second library is a derived product of the first" - e.g. some of the potentially expensive and/or annoying tasks of processing the library could be removed. UV mapping and normals could be pre-computed once in a tool and the library flattened, BFC fixed and the result would leave viewers with a much simpler rendering format.
Such a "compiled" library probably needs -no- approval from any kind of oversight committee; if I wanted this for BrickSmith I could code it private to BrickSmith and call it a day. There may be good leverage in several programs sharing a compiled format, but if everyone else says this is stupid, one developer can go do it.
But then others have jumped on "this would be a way to get around backward compatibility." But that's a very different notion; if the -new- format is the master and the old format is the derived product and they're not semantically the same, then this represents fnudamental changes in (1) what the library is and (2) what programs can actually edit the master data. That would need real oversight and approval, and it's a much taller order.
Cheers
Ben