Table of Contents

vvvv gamma 2021.3.3

(used by vvvv beta42) released on 20 05 21

Installer | Offline Installer

Fixes

  • Fixes shaders being added multiple times to generated C# project files - forum
  • VL.Stride uses same version as VL itself
  • Fixes default value of a nullable type not being null when asked for via reflection
  • Fixes equality on category reference - this caused pin group pins with type annotation to be constantly changed
  • NuGet restore messages get logged to export window
  • Fixes null pointer when using a method with parameter = default(T) - forum
  • Explicitly enable the UseStrongCrypto and SystemDefaultTls switches - fixes a couple of export related issues reported in the forum where the connection to nuget.org failed
  • Stride: Fixes Plane flash bug - forum
  • Fixed a Spread IOBox threading issue - forum
  • Fixed a tooltip crash for values of type Skia Layer. LayerWidget now by default rendering on calling thread into a temporary render target.
  • Fix for a compiler bug, that lead to an endless compilation that prevented to be able to open a certain patch

Changes

  • Adds options like Is32Bit, IsConsoleApp and CleanBuildDirectory to exporter

vvvv gamma 2021.3.2

released on 07 04 21

Installer | Offline Installer

Fixes

  • Fixes emit exception when using ref structs which didn't define a ToString method. Will now emit a warning instead - forum
  • Fixes Cache region causing emit error - the selection of valid control points wasn't the same on all call sites
  • Adaptive interface declarations will always pass output pins via out parameters to avoid name clash in target code - fixes a crash seen in Kairos
  • Fixes Skia ImageReader's default on Filename pin and added FileExists check to avoid an exception when Filename isn't set.
  • Fixes CoreLibBasic Playhead's operation order.

vvvv gamma 2021.3.1

released on 27 02 21

Installer | Offline Installer

Changes

  • Don't show value-editor for generic ioboxes - when created via Link-ALT-click gesture
  • RegisterServices will now also be called on stop&run (not just on hot swap)
  • Reduced amount of memory allocations in VL.IO.OSC
  • Faster and allocation free ToFloat32/ToFloat64/etc. (Spread<byte> -> T) nodes (used for example by VL.IO.OSC)
  • Added the project directory path to ExportContext used in the node factory API. That way node factories no longer need to reference Microsoft.Build to copy files to the output directory.

Fixes

  • Fixed performance issues of cache region (internal helper class was allocated too often and the input change check caused a boxing conversion)
  • Fixed patches with static slots (like IO box) being considered stateful and in need of a private helper type. This had a bad impact on the runtime performance because loop regions would emit a more expensive code path.
  • Type unification will no longer substitute a parameter with an abstract type if the type must have a default constructor. Fixes regression introduced in 2021.3 and seen in VL.Devices.RealSense - forum
  • Fixed crash when mapping a nested generic type symbol to a CLR type - seen in VL.Kairos when hovering a certain pins
  • The system didn't recover once it failed to emit a compilation.
  • Fixed invalid target code when using Repeat loop on splicers constraint to multiple interfaces - forum
  • Fixed backend crash when adaptive node parameters resolve to the same argument
  • Fixed random emit crash in backend as reported by @readme

vvvv gamma 2021.3.0

released on 16 02 21

Installer | Offline Installer

New

  • VL.Stride 3d rendering library based on Stride
  • Int IOBoxes now can parse hex strings like 0x8f or #8f
  • added Quaternion IOBox
  • HTTPGet node
  • JSONReader/Writer, ParseJSON and Parse that return XElement instead of XDocument. The nodes returing XDocument are now advanced
  • Kill, Shutdown and PID nodes
  • MainLoop has incremental mode
  • Connecting to a Pad as sink will remove previous link on same operation
  • A process now takes its aspect from the respective property in the model
  • Adaptive AsReadOnlyMemory and AsMemory and cleanup of Memory related nodes and added Reinterpret memory node
  • Boolean operations: NOR, NAND..
  • Rectangle operations: SetSize, SetPosition
  • Rectangle & Vector2 operations: FixAspectRatio
  • Skia: Trim PathEffect, new modes how to deal with aspect ratio of images
  • Added a way to run a test patch of an external library. Shown off in VL.Elementa library.
  • NodeBrowser: added convenient ways to create Toggle, Bang & Press IOBoxes
  • Spreaded Boolean IOBoxes: Configurating ButtonMode works (Toggle, Bang & Press)

Changes

  • Reworked and simplified usage of OSC and TUIO nodes
  • Moved Enttec, Spacemouse, TheEyetribe, QRCode, ArtNet, Midi, OSC, TUIO and Firmata nodes in their own public repositories
  • Removed now obsolete experimental TCPServer/Client and WebSocketServer use VL.IO.TCP and VL.IO.WebSocket instead
  • Better support for ref structs forum
    • A ref struct will no longer have object has a base type - no boxing
    • It's no longer possible to link ref structs into delegate region - ref locals can't be captured.
    • It's no longer possible to instantiate generic types or nodes using ref structs - they're not allowed in type argument lists.
    • Trace calls will call ToString (ToArray for spans) on them - fixes emit error.
    • Adds forwards for Span and ReadOnlySpan to System.Memory.vl (was out-commented before)
  • When looking for MSBuild (which is needed to export apps) require at least version 16.8
  • Exporter will first build a map of pre-defined packages (based on VL.Skia and VL.Stride) it will then use to replace assembly references so we get a proper solution with nuget package references
  • Export using AnyCPU (fixes Stride asset compiler not finding assemblies) and use verbosity = minimal for logger
  • Removed tooltip generated "Element not in use" message and removed hack that Create/Update moments weren't shown. In combination this now gives a much easier experience when working with fragmented nodes as whether or not a pin is in use can quickly be observed with the moment assignment tag.
  • Added a feature to TreeNodeParentManager that allows to configure whether it's ok to connect to one parent twice (e.g. two links to one group node). Helpful for e.g. Elementa, where you'd want to be warned about that.
  • Tuned startup document loading. Help browser will also be loaded so it starts up faster when pressing F1.

Fixes

  • Finish link with node will not connect to the "Create" fragment of a process node
  • Added BOM check to FromBytes [String]
  • Fixed removal of empty sub patches inside regions forum
  • Fixed invalid target code in case a pin name contained an ampersand
  • Fixed a stack overflow in hot swap forum
  • Global search now also finds forwarded types
  • Fixed help browser positioning
  • Skia: Fixed SamplePath (only position version) to return success correctly.
  • Shutdown dialog not asking to save foreign documents from downloaded NuGet packages anylonger
  • Fixed pads not getting initialized with the type's default value (seen in Elementa)
  • Fixed regression in type unification (seen in Kairos)
  • Inactive IO boxes will no longer subscribe to value tracing forum