Why are the middle rows of my indicators not interactive?

Having trouble with the ZIM indicators setup:/

Not sure... perhaps another object is blocking that area. Or if you have set a distance for the interaction, then it could be too far away. Try pressing ALT T to toggle the TextureActive and see if the 2D version lets you select all the dots.

It seems you are not quite using the ZIM Indicator() which would be something like this:

    interactive:true, fill:true
new Tile(new Indicator(500,30,20), 1, 10, 50).center();


But maybe you do not want the lights filling up to the selection? If you just want one selected per row then set fill:false.

But if you just want to toggle on or off any light... then you can't use the indicator. At which point you could still use Tile which is basically doing what you are doing in your double for loop:

const tile = new Tile(new Circle(10, grey), 20, 10, 20, 20)
tile.on("mousedown", e=>{
    const dot = e.target;
    dot.color = dot.color == grey ? orange : grey;