`blend_write_prepare` expects to work on a shallow copy of the `CurvesGeometry` struct. This is necessary because it changes the struct to contain only the layers being written. This is particularly important with writing with the new format enabled, where attributes are written as part of `AttributeStorage`. Writing with a shallow copy of the struct also gives us the flexibility to zero the runtime pointer in the written file which is generally a good practice. Pull Request: https://projects.blender.org/blender/blender/pulls/140560