@kevindietrich I would love to have some quick feedback on this, as it's quite a major feature.
This patch introduces support for an Alembic feature: instancing
- On export: for objects that share their data, the data is written only once. Subsequent writes reference the first object's data.
- On import: mesh and camera instances are properly handled. Once the approach to handle those is fleshed out, we can add support for other types relatively easily.
I've attached a blend file that's suitable for writing instanced mesh data and camera data, but please also test with wild ideas of your own ;-)
NOTE: one thing I really should add is a check on the modifiers of the object. After all, we can't instance mesh data when the object has different modifiers, and this isn't taken into account in the current code. However, if there is anything else I overlooked, let me know ;-)