Sam,
I think what has been throwing us for a loop

hasn't really been so much a GRIP problem (generating java code from GRIP has made this part very elegant), but a steep learning curve for more advanced Java syntax.
There is a fundamental need for the vision code to loop, and really understanding how this is done can feel like hiking through a jungle:
- What is a thread, and how does Java implement them? (See more on the Runnable interface)
- What is a lambda expression (->), and how can you implement an interface directly with one? (particularly as used in the constructor for a VisionThread)
- What does it mean for a method be called as a parameter using method references ( :: ) in java8? (as related to the 1st parameter of the first constructor for VisionThread)
The while loop that we, and perhaps others, needed was really in the runForever() method of the VisionRunner class, but that's not a simple find unless you are already familiar with the previous concepts.
Throw on top of that:
- Understanding scope issues in regards to how FIRST executes the methods of our code through the FMS,
- Getting familiar with openCV,
- and good ol'-fashioned hardware issues
and it can be hard while learning to feel confident about the levels of abstracted code we are using.
Our school recently began offering APCS A for students, which has been very helpful for robotics team students who program our robot, but a lot of these topics are not in the scope of the AP exam and are things we'll need to figure out how to integrate into our learning pipeline.
The GRIP/vision screensteps have been much improved this year, and very helpful, and we are especially appreciative of the time you have put into ChiefDelphi forums to help us and others out with GRIP-related questions. I, personally, am very excited about how GRIP and the openCV-based libraries can help make vision-processing a reality for a larger number of FRC teams going forward.
Perhaps in the future, there is an opportunity to add some additional screensteps (or point to good tutorial resources) that address some of the topics I mentioned above.