0.57.0.0¶
Features¶
- EditScope : Added new node which provides a container for node graph edits made by interactive tools in the UI (#3467).
- The current EditScope may be chosen from a new menu in the Viewer toolbar.
- The TransformTools and CameraTool will now automatically create edits in the chosen EditScope, enabling edits without the need to manually create a Transform node.
- Added a Ctrl + Delete hotkey which prunes the currently selected objects using the current EditScope.
- LocaliseAttributes : Added new node which makes local copies of inherited attributes.
Improvements¶
- PathFilter : Added
roots
, an optional filter input to provide multiple root locations which thepaths
are relative to. This can be useful when working on a single asset in isolation, and then placing it into multiple locations within a layout. - Spreadsheet : Improved performance of Spreadsheets with many rows.
- CopyPrimitiveVariables : Improved performance. In one benchmark, scene generation time has been reduced by 50%.
- MergeScenes : Improved performance when merging overlapping hierarchies.
- Serialisation : Reduced file size and load time by omitting redundant
setInput()
calls from serialisations. - ShaderTweaks : Added
localise
option to allow location-specific tweaks to be made to inherited shaders.
Fixes¶
- Filter : Fixed bug which prevented “Select Affected Objects” menu items from working in cases where there was another filter in between the filter and the nodes it was applied to.
- RotateTool : Fixed bug which caused aiming clicks to change the selection in some circumstances.
- TranslateTool : Fixed bug which caused snapping clicks to change the selection in some circumstances.
- Viewer : Fixed problems displaying the “Cs” primitive variable.
- Alembic :
- Fixed loading of “N” and “uv” for curves.
- Fixed writing of “N”, “uv” and “width” for curves.
- Fixed round-tripping of interpretation for secondary UV sets.
- Stats app :
- Fixed bug which caused the
-scene
and-image
arguments to evaluate a node’s input rather than its output. In particular this affected nodes like ContextVariables. - Fixed bug which meant that the
-scene
andimage
arguments didn’t support nested output plugs.
- Fixed bug which caused the
- ReverseWinding : Fixed incorrect results when two or more primitive variables referenced the same data.
API¶
- EditScopeAlgo : Added new namespace with utility functions for editing scenes using EditScope nodes.
- ScenePlug : Added
exists()
method. This provides fast existence queries for locations. - SceneAlgo :
- Added
filteredNodes()
function, returning all the FilteredSceneProcessors affected by a particular filter. - Deprecated
exists()
function. UseScenePlug::exists()
instead
- Added
- Spreadsheet :
- Added
RowsPlug::row( rowName )
method. - Added support for
spreadsheet:defaultRowVisible
metadata, which can be used to hide the default row.
- Added
- AttributeProcessor : Refactored to be more widely useful.
- Spacer : Added optional
preferredSize
constructor argument. - View : Added
editScope
plug andeditScope()
accessor method. - TransformTool :
- Added
Selection::editable()
method. - Added
Selection::warning()
method. - Added
selectionEditable()
method.
- Added
- TweakPlug : Changed
applyTweak(s)
return type tobool
- indicating if any tweaks were actually performed (#3699).
Breaking Changes¶
- AttributeProcessor :
- Removed
names
andinvertNames
plugs. - Rederived from FilteredSceneProcessor rather than SceneElementProcessor.
- Added new pure virtual methods that must be implemented by derived classes.
- Changed base class of several nodes from SceneElementProcessor to AttributeProcessor :
- Attributes
- ShuffleAttributes
- DeleteAttributes
- ShaderTweaks
- ShaderAssignment
- SetVisualiser
- AttributeVisualiser
- CollectTransforms
- Removed
- Context : Removed
Substitutions
,substitutions()
andhasSubstitutions()
. Use theIECore.StringAlgo
equivalents instead. - TransformTool : The
Selection
class now uses accessor methods rather than exposing data members directly. - Stats app : The
-scene
and-image
arguments now ignore input plugs. - Spreadsheet : Broke binary compatibility. Full source compatibility is retained.
- NodeUI : Removed
lazy
argument fromplugValueWidget()
method. - PlugValueWidget : Removed
lazy
argument fromplugValueWidget()
method. - PlugLayout : Removed
lazy
argument fromplugValueWidget()
andcustomWidget()
methods.
Build¶
- Cortex : Updated to version 10.0.0-a76.