Release Notes/2021.30000/next

From Derivative
Jump to navigation Jump to search

These are the release notes for our upcoming release. Welcome to the "insider club"!

Known Issues[edit]

All Builds[edit]

  • Some panel borders and buttons elements may not display correctly on hiDPI monitors.

macOS Specific[edit]

macOS Apple Silicon Build Specific[edit]


Build 2022.24200 - May 24, 2022[edit]

New Features[edit]

  • Hap - Added support for new Hap HDR format. A 16-bit movie format that is just as fast to playback as other Hap formats. Slower to encode though.
  • Added support for 10-bit Window output (using environment variable TOUCH_10_BIT_COLOR=1).
  • Movie File Out TOP - Added support for encoding Hap R at a much faster speed.
  • GLSL MAT - All of the sTD* samplers are now wrapped in TD*() functions. These should be used instead of the samplers directly, for better compatibility with various GPUs.

New Python[edit]

  • Camera Class.dir - New member to get and set the direction of the camera as a vector.
  • TextCOMP Class.evalTextSize - Returned text height now includes word wrap and line breaks when the Text COMP 'Type' parameter is set to Multi Line.
  • TextCOMP Class.evalTextSize - Fixed missing dependency.
  • TextCOMP Class.textHeight - Fixed a bug where the value would not update properly on startup.
  • TOP Class.cudaMemory() method is working again.

New Palette[edit]

  • Palette:cameraViewport - Improvements to behavior and some bug fixes.
    • Added Zoom parameter to control the distance from the camera to the pivot point.
    • Adjusted how the auto-rotate speed is determined based on the mouse movement.
    • Fixed pan speed in orthographic mode so that it matches the current ortho width.
    • Fixed a bug with home not using the home angle from the parameter.
  • Palette:camSchnappr - Fixed a bug in autoblend where blue gamma was not adjusted. Also changed the default for Gamma to 2.0. Fix for near and far parameters being ignored by intrinsic calculation.
  • palette:firmata - Fix for disappearing empty pages.
  • Palette:kantanUVHelper - The shader now correctly deals with cases where there are not enough inputs.
  • Palette:particlesGpu - Complete overhaul
    • Removed geometry shaders, now using Compute Shaders.
    • Now compatible with macOS.
    • Numerous feature additions and new parameters for more control over forces and particle attributes.
    • Parameter added for controlling the absolute number of particles in the system. This effectively controls the resolution of the shader and can help in optization on less powerful GPUs.
    • Fixed for wrongly assigned resolution setting.
  • Palette:sopRender - Updated the viewer to use cameraViewport and the new zoom parameter. Switched ortho blend to a toggle parameter. Parent parameters Camera Z and Camera FOV are now bound to child Camera COMP parameters.
  • Palette:SVG - v0.1.4 - Removed a hack that was in place because of an issue in CEF (Chromium).
  • videoPlayer component - Deprecated and removed. Users should use the Palette:moviePlayer component instead.
  • Widgets - General improvements.
    • Improved handling of relative paths for file and folder selection widget.
      • New Relative paths menu.
      • Use project.paths toggle to allow customizing of how paths are collapsed and expanded relative to the project folder.
    • TextArea component now uses the Text COMP. Edit button was removed and a more complete edit mode menu replaces the edit toggle.
    • Fix to header component to make close button work.
    • Browser field widgets had render cursor turned off, now defaults to on.


  • Palette:webRTC, Palette:signalingServer, Palette:signalingClient - v1.0.1 - Various improvements for stable elease, changelog follows.
    • All COMPs - now support signaling messages validation with JSON Schema. More details at Palette:signalingServer#JSONSchema. WebRTC signaling message types also have matching schema files.
    • All COMPs - Minor improvements to logger. Fixing issues that could occur during initialization / parameters changes.
    • All COMPs - Improved wiki documentation.
    • All COMPs - Improved Reset strategies. Improved behavior means you should not need to pulse the Reset parameter as often.
    • All COMPs - Small tweaks and fixes.
    • signalingClient COMP - More aggressive reconnect strategy, should prevent the need to Reset.
    • signalingClient COMP - Fixing an issue that could occur when a connection between client and server would be lost / or rconnect.
    • webRTC COMP - Now supports an example for CHOP data sent over a dataChannel. More details at Palette:webRTC#dataChannls.
    • webRTC COMP - More aggressive subscribe strategy, should prevent the need to Reset.
    • webRTC COMP - Fixing an issue that could occur when a connection between signalingClient and signalingServer would be lost / or reconnect, negatively impacting the WebRTC COMP.
    • webRTC COMP - Improved performances of DAT data sent over dataChannels.
    • webRTC COMP - Tweaks to UI / panel layout layout to accomodate for multiple ongoing connections.

Bug Fixes and Improvements[edit]

  • Scalable Display TOP - Upgraded to SDK v8.0
  • CodeMeter runtime kit updated to 7.40b - Use this runtime if running older versions of TouchDesigner at the same time as 2022 versions.
  • Actor COMP - In Bullet simulations fixed a collision shape bug when 'Update Collision Shape' and 'Infinite Mass' are both enabled.
  • Light COMP - Fixed 'Custom Projection Matrix' parameter not being enabled.
  • USD COMP - Now working on macOS again.
  • OP Viewer COMP - Turning off 'Interactive' now blocks all panel values from viewed panels. Furthermore, it now only affects the viewed panel and leaves the OP Viewer's own panel behaviours active.
  • Text COMP - New features and bug fixes.
    • Added support for font size, color, skew, tracking and stretch to the Specification Table.
    • Added support for a Specification CHOP, allowing styling control through CHOP channels.
    • Fixed a bug where word wrap could still be on after switching from multi line to single line mode.
    • Fixed a bug where the 'Text' parameter value was not updated when deleting text using 'Edit Mode' = Editable (Continuous Update).
    • Fixed a layout problem when a panel is toggled between visible and hidden.
    • Fixed a bug with editing text when formatting codes were enabled.
    • Fixed an issue where parameters that were based on panel size wouldn't update properly.
  • Text COMP / DAT Viewer - Fixed a bug with undoing text deletion after a redo.
  • Text COMP / Geo Text COMP - Line breaks at the end of a string now count as an extra line.
  • Engine COMP - Fixed a crash which could occur when deleting an Engine COMP.
  • Engine COMP - Fixed some outputs not updating after being replicated.
  • GLSL TOP, GLSL MAT - Unassigned uniform warnings are now working again.
  • Movie File In TOP - Fixed bug loading EXR files with partial data windows.
  • Movie File Out TOP - Fixed incorrect warning message when recording with some codecs.
  • Text TOP - Improved kerning for Bitmap fonts on Windows when using english text.
  • Audio Device In CHOP - Allow any rate up to and including 192KHz without modification. Previously the CHOP would set the sample rate to 44.1KHz when it was above 96KHz.
  • Audio VST CHOP - Plugin state crash workaround - Added 'Load Plugin State' parameter to allow for disabling of the feature with unstable plugins (notably Tyrell N6 VST).
  • Count CHOP - Fixed missing narrow/single sample pulses.
  • Leap Motion CHOP / Leap Motion TOP - On Windows - Leap DLLs are no longer included with the TouchDesigner installer. The new 'Library Folder' parameter should be set to the location of the correct DLL for the selected API. See Help for installation instructions.
  • Leap Motion CHOP / Leap Motion TOP - On macOS - Leap Motion is currently disabled. We plan to reintroduce this features in upcoming builds.
  • MIDI In CHOP - Option to 'Preserve Pulses' now exposed and fixed bugs causing erratic output.
  • OpenVR CHOP - Prevent TouchDesigner from closing on SteamVR shutdown.
  • OP Find DAT - Don't recook unnecessarily when child comment changes.
  • Fixed a bug that turned word wrap on in DATs when ui options were updated.
  • DATs now update word wrapping dynamically when zooming.
  • Reimplemented the max character limit on word wrap in DATs.
  • Panel option Align Grid Rows/Columns fills space better when children are set to Fill.
  • Fixed issue with panel layout in Palette and OP Snippets. Palette no longer lays out badly when toggling its display on/off.
  • Fixed incomplete panel layout issues when parent aligns children.
  • Fixed resizing floating windows to continuously resize (affects Parameter Dialogs, other floating node views when power off).
  • Fixed jumping panel.u values when dragging over open CHOP viewer.
  • Performance improvements when navigating networks with a large number of DAT viewers.
  • DAT viewers are now anchored to the mouse position when zooming with the middle mouse button.

Backward Compatibility[edit]