More explicit branching logic
More explicit branching logic

The new logic seems to make it more clear that the code in the
relevant branches only happens during certain interaction modes.
Although the old code was set up such that this was implicitly the
case, it didn't seem particularly obvious.

jstrait/webgl-city,jstrait/webgl-city