`Projector` loops over all visible objects using `o` as the loop variable, but another loop inside that one also uses `o`. Since `var`s are function-scoped, not block-scoped, this can prematurely advance the outer loop and skip rendering some objects entirely.