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 thepathsare 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
localiseoption 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
-sceneand-imagearguments to evaluate a node’s input rather than its output. In particular this affected nodes like ContextVariables.Fixed bug which meant that the
-sceneandimagearguments 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:defaultRowVisiblemetadata, which can be used to hide the default row.
AttributeProcessor : Refactored to be more widely useful.
Spacer : Added optional
preferredSizeconstructor argument.View : Added
editScopeplug 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
namesandinvertNamesplugs.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.StringAlgoequivalents instead.TransformTool : The
Selectionclass now uses accessor methods rather than exposing data members directly.Stats app : The
-sceneand-imagearguments now ignore input plugs.Spreadsheet : Broke binary compatibility. Full source compatibility is retained.
NodeUI : Removed
lazyargument fromplugValueWidget()method.PlugValueWidget : Removed
lazyargument fromplugValueWidget()method.PlugLayout : Removed
lazyargument fromplugValueWidget()andcustomWidget()methods.
Build
Cortex : Updated to version 10.0.0-a76.