I think if we're going to go through all the trouble to create a parallel library, why not make something like a wrapper file format that's just as easy to read but easier to extend. Someone a long time ago suggested an XML version of the library. I envision something like this:
The advantage of this approach is that XML parsers are plentiful and we can easily extend the format without breaking existing programs (since the old dat file with still exist albeit without the new connection, normal, etc info).
Code:
<ldrawfile>
<header>
(Header tags)
</header>
<connections>
(Connection tags)
</connections>
<datcode>
(Link to raw dat file)
</datcode>
<binaryfile>
(Link to a binary file)
</binaryfile>
</ldrawfile>
The advantage of this approach is that XML parsers are plentiful and we can easily extend the format without breaking existing programs (since the old dat file with still exist albeit without the new connection, normal, etc info).