Animate lots of objects in a scene coming together. In a way it's like reverse destruction, where everything is intact, and the purpose is to break it apart to make it come together again. You can define different styles of animation for different groups of objects, and with a single click generate or delete the entire animation, making it very easy to tweak the settings.
The settings are saved within the scene file, so there's no need to worry about noting things down.
Note that the visibility is mainly for 3DS Max as it allows values between 0 and 1, because in Maya there is only the option of 'on' or 'off', so don't expect inbetween values to make any difference.
Copy SceneConstructor.py into C:/Users/(name)/Documents/maya/scripts
Type this into the python bar, or add as a shelf item: from SceneConstructor import UserInterface; UserInterface().display()
Update list of objects when an object is deleted (I had it working to a basic level but it slowed everything to a crawl)
Reload settings when new scene is opened
Update any selections if object is renamed
Change 'clear current group' to a warning if items are selected in another group
Option to use current selection as group selection (button is there but disabled)
Axis animation multipliers (options there but disabled)
Option to copy to/load from clipboard
Set default relative scale to 'end scale' instead of 'current scale'
Keep track of which groups created what animation
Clear group animation only deletes keyframes from current group
Clear all animation only deletes keyframes created via the script
Potential Ideas (more complicated things that I may have trouble with):
Make animation follow line
Mirror animation line in any axis around point
The hide already selected objects option doesn't work correctly when a group has been selected
Closing the window retains settings even when not saved
Visibility sometimes doesn't reset when deleting animation
(let me know if you come across any more, if you add DEBUG_UI=True in the Python command line, it'll print which functions are running)