Is there any documentation of the .skp file format?

There is actually no specific “speculation” mentioned in this thread’s OP, which is as it should be, because this thread is about the SKP internal file format.

I answered the speculations in that thread where those discussions should remain.
(Thomas is taking this thread off-topic here.)


Back to file format

A few general tidbits:

SKP is a container format (that can hold other objects in addition to SKP objects.)

Windows binary formats that hold other objects often use OLE data structures.
The MS Visual C Runtime libraries have functions to assist with these kinds of files.
(You can read about these on the Microsoft websites Technet, MSDN, Windows SDK, etc.)

In the SketchUp Ruby API documentation, you’ll find quite a few classes with plural names.
These represent C-side collection objects. You can assume that a SKP file will have a section for most of these data collections (for model objects) in addition to the main “entities” collection.

The file will also have all the options properties you see in the Model Info dialog panels.

It would surprise me however. Many of the end users of the C SDK are other CAD / modeling software providers who know how time consuming and difficult it is to write an API to read complex binary datafiles. They do it for their own software’s file types. They’re really not interested in hacking another company’s file format. (They’ve actually been here in this very forum, asking for features and functions to be added to the existing C SDK.)

Anything they’d do to hack the SKP format would be very fragile as the format seems to change each year. So the smart thing to do is to use the free provided C SDK to access binary SKP files and their internal data.