0.49.0.0

Improvements

  • ArnoldAttributes : Added shadowGroup attribute for performing shadow linking (#2754).

  • ScaleTool : Added handles for scaling in the XY, XZ and YZ planes (#2760, #2664).

  • RotateTool : Added support for free rotation by dragging on a virtual sphere (#2760, #2664).

  • TranslateTool : Made XY, YX and YZ handles more visible (#2760, #2664).

  • Translate/Rotate/Scale tools :

    • Added support for animation (#2721).

    • Added control over the size of the handle via the + and - keys (#2671, #2769).

  • Catalogue (#2702) :

    • Multiple images may now be selected.

    • The selected images can now be deleted via the Delete and Backspace keys.

    • Images can now be reordered using drag and drop.

  • OSLObject/OSLImage : Added support for more vector type conversions. Among other things, this allows Color4fData primitive variables to be read as color values in OSLObject, by discarding the alpha channel (#2759).

  • GraphEditor : Added icons for Box and Reference nodes (#2762).

  • Improved error message when a dependency cycle is detected. The error now includes the names of the plugs involved (#2745).

  • AnimationEditor :

    • Keyframes are now pre-highlighted during drag-select (#2768).

    • The current frame can be set by clicking/dragging on the time axis (#2724).

    • When dragging keyframes in a single axis only, the viewport auto-scroll is now constrained to that axis (#2724).

  • SceneReader/SceneWriter (Cortex 10.0.0-a29) :

    • Added support for scalar attributes in Alembic files.

    • Added support for quaternion primitive variables in Alembic files.

  • MeshTangents : Added support for non-triangular faces (Cortex 10.0.0-a30).

  • VDB : Added support for float and double metadata (Cortex 10.0.0-a31).

Fixes

  • TypedObjectPlug : Fixed GIL management bug that could result in the application hanging during operations such as choosing AOVs in the image viewer (#2765).

  • ScriptNode : Fixed GIL management bug that could result in the application hanging during operations such as cut & paste (#2780).

  • GraphEditor :

    • Fixed connection visibility context menu items so that they respect the read-only status of nodes (#2757).

    • Omitted connection visibility context menu items from the menu for auxiliary nodes, since such nodes do not have hideable connections (#2752, #2757).

    • Fixed bookmark drawing update bug (#2763).

    • Fixed plug label visibility bug (#2761).

  • AnimationEditor (#2768) :

    • Fixed bugs with framerates other than 24fps.

    • Fixed selection management bug.

    • Improved numerical precision of keyframe dragging.

  • Backdrop : Made resizing undoable (#2734).

  • FileMenu : Closing a backup confirmation dialogue now aborts loading completely (#2749).

  • Isolate : Fixed filter matching bug in set computation (#2748).

  • Translate/Rotate/Scale tools : Fixed context management bug (#2760).

  • CollectScenes : Replaced bogus ArrayPlug input with ScenePlug (#2726).

  • Catalogue :

    • Fixed bug that caused CatalogueSelect nodes to be parented at the wrong level, if a nested Catalogue was promoted to the next level (#2702).

    • Fixed bug whereby image order changed if image deletion was undone (#2767).

  • Offset : Fixed hangs caused by empty data windows (#2770).

  • VDB : Fixed crashes caused by thread-safety bug. This manifested most commonly when instancing VDB objects (Cortex 10.0.0-a30).

  • Seeds : Fixed cancellation bug (Cortex 10.0.0-a31).

  • SceneReader : Fixed crashes caused by thread-safety bug in AlembicScene (Cortex 10.0.0-a32).

API

  • Dispatcher : Fixed crashes caused by passing None to frameRange() method in Python (#2716).

  • Added AttributeVisualiser.h to installation (#2744).

  • ConfirmationDialogue : waitForConfirmation() now returns None if the user closes the dialogue (#2749).

  • StandardStyle (#2760) :

    • Added support for XY,XZ and YZ axes in renderScaleHandle().

    • Added support for XYZ rotation handle in renderRotateHandle().

  • Handle : Added rasterScaleFactor() protected method (#2760).

  • MetadataAlgo : Added bookmarkedAffectedByChange() method (#2763).

  • GraphComponent (#2767) :

    • Added python binding for del graphComponent[childIndex].

    • The original child order is now restored when undoing calls to removeChild().

  • DependencyNode : Fixed crashes caused by Python derived classes returning None from affects() overrides (#2771).

  • ViewportGadget : Added support for enabling/disabling drag tracking separately in each axis (#2724).

Documentation

  • Added guidelines for contributing (#2713).

  • Added code of conduct (#2713).

  • Reworked the “Managing Complexity” section (#2623).

  • Improved installation and configuration sections (#2624).

  • Improved “Getting Started” tutorial (#2629).

Breaking Changes

  • ScaleHandle : scaling() method now returns a V3f (#2760).

  • RotateHandle (#2760) :

    • Changed signature of rotation() method.

    • Added private member data.

  • RotateTool (#2760) :

    • Added private member data.

    • Changed signature of rotate() method.

  • Style : Added highlightVector argument to renderRotateHandle() method (#2760).

  • TransformTool : Added argument to updateHandles() method (#2671, #2769).

  • ViewportGadget (#2724) :

    • Changed function signatures for setDragTracking() and getDragTracking() methods.

    • Changed private member variables.