This line is certainly confusing:
|
((lastPointCoord() > maxCoord()) || (lastPointCoord() < minCoord))) { |
with
maxCoord being "called" and
minCoord being not.
It is correct, in that
their opaque type can both convert to "scalar" (a plain value) or be called and return that same value, but reading the code strongly smells of bug.
It may be worth to schedule a uniforming change.