Actually, to be more precise, I suppose this should be called “Vertex Shape LOD Data Madness”. The data flowchart spec for it has an if branch label “If TopoMesh Compressed Rep Data V1”. What does that mean?! It’s not something controlled by the prior two fields, as far as I can see. The TopoMesh Compressed LOD Data does have a version number field which can select for “TopoMesh Compressed Rep Data V1”, but the “TopoMesh Compressed LOD Data” is the alternative not selected by the “If TopoMesh Compressed Rep Data V1” branch. The ISO 14306 standard isn’t any help, it just repeats the same maddening chart.
The good news is, I think I have the Int32 Compressed Data Packet mk 2 more or less implemented now. (It hasn’t been tested yet; I need to figure out the above nonsense to get to a point where it can be.) I started up a completely parallel set of classes for mk 2, only to realize that mk 2 was mostly just mk 1 without the context-shifting stuff. So mostly handling mk 2 just meant initializing the next context field to 0.