Are you still working on the "getting info from previous wheel" part.
I'm working on a similar gear generator, and have had to deal with the same issue.
From my understanding, each point wrangle works on each point in parallel, meaning each point won't get real-time info on the other points effected by that wrangle. But you could do something like this -
In a point wrangle -
int gear_number = @ptnum; //for example
i@gear_number = gear_number; //free it from the wrangle context and copy it into an attribute
Then place another point wrangle beneath that one, and -
int previous_gear_number = point(0, 'gear_number', @ptnum-1);
Then if you were to do something like this in that same (last) wrangle -
i@previous_gear_number = previous_gear_number;
...you would see in the attribute spreadsheet that each point now has an attribute containing the number of the previous point.
You can use that method for any info, including arrays.
Hope that makes sense and helps!