As one of Vuo's developers, I work on Vuo's engine (the thing that makes compositions run), work on nodes, and write documentation. You'll see me on the forums answering people's questions about Vuo.
I enjoy using Vuo to make live music visuals. My hope for Vuo is that it will grow into a community of people of diverse backgrounds and identities making lots of different artistic, useful, unique, goofy, beautiful, crafty, wonderful compositions.
Estoy practicando para ser competente en español. Si publicas en el foro en español, trataré de responder en la misma manera.
Gee whiz, @mmengelhardt — I thought you said you weren't good at programming ;-) You have a nice systematic approach, breaking it down into smaller problems, etc.
Adding on to the suggestions from @Bodysoulspirit, here are a couple of tips…
You can let the Arrange Layers in Row node calculate the text widths and positions for you. There's a little trick to make it work with text layers (which I had to remind myself of with the "Show Arranged Text Layers" example composition, found in the Arrange Layers in Row documentation). ArrangeTextLayers.vuo (attached) demonstrates for one line of the poem.
While there is a Receive Mouse Drags on Layer node, the approach that comes to my mind for your case — with multiple text layers that are continually swapping position — is to use plain old Receive Mouse Drags. See DragFirstTextLayer.vuo (attached).
I simplified the problem (don't know if this will work for you) by imagining the window divided left to right into 6 zones of equal width (the number 6 because there are 6 text layers). If you drag a piece of text into zone 6, the right-most zone, it goes to the end of the line. If you drag it into zone 2, it goes to the second position in the line. Etc.
I further simplified the problem by always dragging the first (left-most) text layer. I know that's oversimplifying — you want to be able to drag any of the text layers. For that, you could replace the Take from List with a some nodes that remove an item from a certain position in the list, based on the position of the drag.
So calculating the amount of characters and the next step is to sort the list, I tried using the dictionary built-in nodes but I'm getting a bug (joining the composition for the team, no output from the dictionary)
Not a bug, just need to swap the keys and values. The counts should be the keys since you want to sort by count.
Have you tested running the composition in Vuo? Does it behave the same as in VDMX? I tried the attached composition in Vuo and it applied the mask as expected, no black screen. This composition might have different published input values than yours — which leads back to Magneson (@MartinusMagneson)'s suggestion that the layer width might be wrong.
With VDMX on Vuo 1.2.6, it's still fine to use Vuo 1.2.7. VDMX just won't be able to recognize new nodes added in 1.2.7 such as Supershape.