0.99.0¶
Apps¶
- Fixed potential startup error in gui viewer.py configuration file.
 
Core¶
- Added background execution mode to the LocalDispatcher.
 
UI¶
- Added a gnomon to the 3d viewer (#41).
 - Improved SceneInspector
 - Implemented error tolerant loading for file menu operations. Errors are reported via a dialogue, and will no longer prevent loading of a script (#746).
 - Fixed ScriptEditor to execute code in the right context. Prior to this, any queries performed in the script editor were always evaluated at frame 1.
 - Dispatcher UI no longer forces background execution - this is now controlled by per-dispatcher settings.
 
Scene¶
- Improved IPR
- Fixed hang during shutdown with active IPR render (#855).
 - Implemented camera edits for IPR rendering (#190).
 - Prevented errors in other nodes from causing incomplete edits.
 - Fixed UI errors caused by deleting camera during IPR (#898).
 - Optimised updates by pruning invisible hierarchies.
 - Fixed bug in shader edits at non-leaf locations.
 
 - Optimised Instancer, especially the computation of the bounding box for all the instances. This particular operation is now 18x faster on a 6 core machine, 7x faster on a 2 core machine.
 - Added an automatically created set for tracking all cameras in the scene.
 - Improved reporting of invalid cameras (#371).
 - Fixed FilteredSceneProcessor::acceptsInput() crash when inputPlug is null.
 
API¶
- Registered automatic from-python conversions for ScenePlug::ScenePath. This replaces the need to manually wrap any functions taking a ScenePath, making the bindings simpler.
 - Added exists() method to SceneAlgo. This can be used to query whether or not a particular location exists within a scene.
 - Replaced boost_intrusive_ptr with raw pointer where appropriate, to follow the convention laid out in Cortex.
 - Removed deprecated Box metadata methods. The standard Metadata API should be used instead.
 - Added missing wrapper for NodeGadget::nodule() overload.
 - Added OpDialogue preExecuteSignal() and postExecuteSignal().
 - Added OpDialogue parameterisedHolder() method.
 - Added a flags argument to ParameterHandler::setupPlug(). This allows clients to choose the default flags for their plugs, rather than being forced to have (Default | Dynamic) plugs.
 - Added ViewDescription constructor for 3 argument registerView.
 - Added Style::renderTranslateHandle() method.
 - Added GafferUI::Handle gadget.
 - Moved translatePythonException() to a new ExceptionAlgo.h header.
 - Added formatPythonException() function to ExceptionAlgo.h.
 - Added continueOnError argument to ScriptNode execution methods.
 - Added error return value to ScriptNode execution methods.
 - Improved EventLoop.executeOnUIThread() to execute immediately when used on main thread.
 
Build¶
- Requires Cortex-9.0.0a2
 - Updated default build to use PySide 1.2.2.
 - Stopped using python-config for build configuration. It was unreliable on Mac, and the hardcoded paths it returns prevented us from building with prebuilt binary dependencies.