I havent had much time to work on this lately - I’m in London for 2 weeks working on a project 7 days a week.

So basically, the way the crush data seems to work - there are many of these structures in the car file:

Vertex index
bbox min
bbox max
scale1
scale2
list of affected vertices

So taking a vertex, if it collides with something, it can move within the defined bounding box. The amount it moves for a collision is scaled by either scale1 or scale2 (not sure how this is determined yet).

Then the list of affected vertices is used to move points around the main vertex to make it look like the bodywork is compressing around it. Each affected vertex has some sort of scale (1-255), at 1, all vertexes move down, at 255 they all move upwards.