Multipart question here:
I have a RenderEngine addon, and for a number of reasons would like to be notified of scene updates. What is the best way to do this? The way I found that works best is to add a bpy.app.handlers.scene_update_pre/post. Clearly this works. But finding the object which updated, the only way seems to be to iterate through scene.objects and look for object.is_updated/is_updated_data. Yes?
Couple reasons we want to do this:
For normal rendering, we generate an intermediary file format (RIB files). Let’s say I generate a separate file for each object in the scene. If I know the update date of each object, I can do modtime check on the objects RIB file and compare that to see if it needs to be re-imitted. But it needs the update date of each object. So the way I did that was by using the scene_update handle to set an update_time property basically.
For doing interactive rendering (think preview render in cycles but done a bit differently) the addon needs to track updates to the scene and issue rendering update commands based on that.