When loading a mesh into sketchup, I noticed that sometimes faces would be missing:
two mesh file format IO implementations later, I realized the problem is not the file format but rather that sketch up seems to be ignoring faces (and sometimes edges?) smaller than a certain scale. For example if I scale the model down by 0.1 I see:
And if I scale the model up, eventually I get all of the faces:
Still not sure how to ensure that all faces get loaded at the correct scale, but at least I know what the problem is now.