- Added RebuildGeomNodesToColPolys method to commonUtils.py.
- Added class variable 'cType' which can be used to tell the node manager how to wrap a component.
- Cleaned up remaining cruft in actions/edit.py.
- Parenting now performs the loop in the command, not the action.
- Grouping / ungrouping added.
- Ctrl-s to save / ctrl-g to group hotkeys added.
- Removed reference to app from scene.
- Moved all duplicate GetRelModelPath methods into project.
- Creating a rigid body node will automatically add it to the scene's physics world if there is one.
- Removed the concept of pyTagWrappers. There are now only nodeWrappers - just be sure you don't get any name clashes (will probably add an assert for this in the future).
- Added method to allow plugins to add windows to the ui. This still won't save ui element positions to preferences, a major change in the way we load plugins will be necessary for that.
- Added unicode parsing type to sceneParser.py.
- Actor animations now deal with project relative paths.
- Added ability to set a NodePath's shader either through the property panel or drag-dropping onto the viewport.
- 'Maps' are now called 'Scenes' in a project.
- Mouse picker ray only traverses when the mouse is pressed.
- Proper dictionary property for actor anims added.
- Project right click -> explore here functionality added.
- Added basic embedded collision plugin. This is still a work in progress!
- Adding scripts to NodePaths is now undoable.
- Property grid string property now behaves a bit more sensibly, commiting changes on enter or losing focus (instead of every key).