0.93.0

Core

  • Added the ability to specify Metadata overrides to specify instances of Plugs and Nodes.

UI

  • Added UI Editor. This allows the user plug layout for any node to be edited - plugs can be reordered, dividers added and help strings specified. In particular this allows the creation of custom UIs for Boxes, which can then be exported and loaded by References.
  • Fixed initial unsortedness of PathListingWidgets.

Scene

  • Added PrimitiveVariables node. This allows arbitrary primitive variables with constant interpolation to be added to objects.
  • Added Duplicate node. This allows arbitrary numbers of duplicates of subhierarchies to be created, each with their own transform.

OSL

  • Specifying lockgeom=1 by default for all OSL shading engines. This means that primitive variables (user data in OSL parlance) are not automatically mapped to shader inputs unless those inputs have explicitly set lockgeom=0 in the source (which is rare). This almost doubles the speed of a simple image noising operation.
  • Fixed OSLShader::acceptsInput( NULL ) crash.

API

  • Added PlugLayout class, which creates node editor UIs driven by Metadata. This will replace all existing plug layouts over time.
  • Added StringAlgo.h, containing various string utilities, including wildcard matching (#707).
  • Added metadata accessors to OSLShader.
  • Fixed module import order and namespace pollution issues.
  • Replaced Metadata regexes with new string matching code.
  • Added Metadata signals emitted on registration of values.
  • Made NameWidget accept None for the the GraphComponent.
  • Added borderWidth argument to SplitContainer constructor.
  • Added PathListingWidget setHeaderVisible()/getHeaderVisible() methods.
  • Added PathListingWidget.pathAt() method.
  • Fixed bug in GafferUI::Pointer::setFromFile( “” )
  • Added a DictPath.dict() accessor.
  • Moved NodeEditor.acquire() to NodeSetEditor.acquire(). This allows it to be used to acquire an editor of any type.
  • Added fallbackResult to WeakMethod.
  • Fixed CompoundPlug plugSetSignal() emission when children change.