0.57.4.0

Improvements

  • Spreadsheet :

    • The enabled/disabled state of a cell may now be edited directly via a new switch in the popup editing window.

    • When promoting plugs - such as those from Attributes node - which have their own “enabled” switch, this switch is now adopted by the spreadsheet, instead of having an additional “enabled” switch on the cell.

    • Added support for creating columns from tweaks in ShaderTweaks nodes. This allows the mode and value to be grouped in a single column.

    • Added colour swatches for columns containing a switch as well as a colour value.

  • ShaderTweaks : Added a preset for tweaking OpenGL surface shaders.

  • Documentation : Added Contexts article.

Fixes

  • NodeEditor : Fixed “Connect to Spreadsheet” tool menu item to work with Spreadsheets that have sections. Previously, the submenu showed the sections unnecessarily, and selecting a section triggered an error.

  • Fixed hangs caused by bad GIL management in Path bindings.

  • OSLObject : Fixed bug that could cause string comparisons to fail for strings fetched using the InString shader or inString() function.

  • Fixed potential shutdown crashes when custom Metadata or View registrations have been made via Python.

  • Backdrop : Fixed bug which caused unnecessary plugs to be added during copy/paste.

  • TweakPlug : Fixed bugs which prevented the creation of output TweakPlugs.

  • Fixed crash when rendering unknown lights in 3Delight.

API

  • EditScopeAlgo : Added functions for creating edits on shader parameters.

  • Spreadsheet : Added an addColumn() overload with an adoptEnabledPlug boolean argument. This allows cells to reuse the enabled plug from their value plug if it has one.

  • SpreadsheetUI :

    • Added formatValue() and registerValueFormatter() methods to support custom formatting for extension plug types.

    • Added decoration() and registerDecoration() methods to support decorations for extension plug types.

    • Added registerValueWidget() method to support customisation of widgets used for editing.

    • Added spreadsheet:plugMenu:includeAsAncestor and spreadsheet:plugMenu:ancestorLabel metadata, to allow ancestor plugs to be promoted from the popup menu for their descendants.

  • BackdropNodeGadget : Added setBound() and getBound() methods.