why traverse the mesh twice?
If I understand correctly, Draco encodes the mesh by traversing it twice in the same way: one for connectivity encoding and the other one for attributes encoding, so I wonder why 2 traversals are used and why not combining them into only 1 traversal.
Thanks.
The main motivation for decoupling the traversals of connectivity vs attributes was to allow different and potentially more efficient traversal when encoding attribute values. E.g. I believe the public version of Draco contains a traversal that tries to maximize the number of surrounding vertices (prediction degree) as it decodes vertex values. This should lead to better predictions and lower entropy. If the attribute traversal is the same as the connectivity traversal, the data could be potentially reused between the traversals to improve performance (but the traversal is not really the bottleneck at this point)