vvvv / VL-Language

The official repo for the design of the VL programming language
31 stars 0 forks source link

[Decision] Picking Signatures <=> Picking Pins #56

Open gregsn opened 2 years ago

gregsn commented 2 years ago

Up to now the only way to select overloads was to pick single pins one by one. Users demanded a way of picking the overloads directly instead.

We now offer both modes:

From a technical point of view, it's the same basic idea (picking pins), only the way how you pick them differs.

Let's compare the two modes:

Signatures Single Pins
grafik grafik grafik grafik
grafik grafik
grafik grafik

In both modes, the common pins (pins that are present in all overloads) are omitted in order to avoid too much verbosity. E.g. all

Compatibility

The underlying system for overload selection stays the same, thus we have back-and-forth compatibility. The only difference is the way they get presented to the user, either

Here is an example of how a node reference gets serialized: grafik The only new bit is the attribute OverloadStrategy="AllPinsThatAreNotCommon". Earlier versions of vvvv gamma will just ignore that part and thus will be able to load new vl files. Newer versions will show all pins as one overload pick, removing the attribute would again just show the pins.

When are NodeReferences enhanced by PinReferences

Storing pin references in all node references would be too verbose and would blow up the vl files. So we only store the currently necessary parts to identify the overload. This is exactly what you get presented in the UI.

Node Configuration.zip