operator
Range
a .. b
a .. b is a half-open numeric range used by the counting for loop: for index in a .. b walks index from a up to but not including b. This "up to but not including" convention makes lengths line up naturally — 0 .. len(route) visits every element index of a slice, and 0 .. GRID_WIDTH visits every column with no off-by-one. Both endpoints are int expressions, so a bound can be a const, a var, or any computed value. It is distinct from the string slice text[start..end], which uses the same half-open idea for bytes.
Example
for row in 0 .. GRID_HEIGHT {
for column in 0 .. GRID_WIDTH {
Screen.put_pixel(x: column, y: row, color: Color.MidnightBlue)
}
}