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.
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
Spreadsheet :
Added
RowsPlug::row( rowName )
method.Added support for
spreadsheet:defaultRowVisible
metadata, which can be used to hide the default row.
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.
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
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.