(Edit: Not a bug!) Build List creates a list of layers in an incorrect order

Steps causing the bug to occur

NOT A BUG - SEE COMMENT BELOW

Please see the supporting composition. A number of overlapping oval layers are rendered in two windows. In the one labelled Build, a Build List node is used to generate the layers, and in the one labelled Process, a Process List node is used to the same effect.

In the Build window, the layer that should be rendered last (number 5 in the attached image) seems to have been rendered first, and upon closer inspection, the number 5 layer is in fact at index 1 in the Build List node’s Built List.

In the Process window, the layers seem to be rendered in the expected order.

The nodes associated with the Process List node are tinted purple on the canvas, and the Build List nodes are green. Both sections of the composition are constructed the same way, except that the Process List node is fed a list of ascending integers, whereas the Build List node generates its own list integers.

Have you found a workaround?

The workaround is to use a Process List node, as in the composition.

Other notes

  • Vuo version: 1.2.1
  • macOS version: OS X 10.11
  • How severely does this bug affect you? It prevents me from completing a specific task with Vuo.

When Build List is used to generate a list of ascending integers, the list comes out in the correct order. However, when used to make layers in the attached composition, a list of n items comes out in the order n, 1, 2, … , n-2, n-1. The problem seems to occur no matter how many layers are generated.

Build list bug.vuo (18.5 KB)

Process.png

Build.png

@jstrecker posted an excellent Q&A explaining a little nuance of the Build List and Process List nodes that I missed.

When a Build List or Process List node does its thing, it relies on events originating from the Build Item or Process Item output port and, after working their way through the nodes that do the building or processing, landing at the Build Item or Process Item input port. If events are working their way into this event flow from elsewhere (as in my
Build list bug.vuo (18.5 KB)
) the list coming out of Build List or Process List can be jumbled.

In this good example composition (20.4 KB), the Hold Value nodes are tinted blue. Notice that their refresh ports are connected to the Build Item and Process Item output ports, ensuring that the events are passed into the processing zone when and only when they’re expected.

Fixed Screenshots

Build fixed.png
Process fixed.png

Glad you figured it out :)