If you hold a buildable entity or blueprint, and a camera GUI element displays an area containing the XY coordinates of your cursor, the placement preview, including obstruction hitboxes, will show up in the camera window even if the surface is not the one you're trying to build on.
I would expect the placement preview to only show up on cameras for the correct surface, or not on camera at all.
Steps to reproduce:
1. Create a new freeplay world.
2. Run the following console command:
Code: Select all
/c
game.player.teleport(game.player.surface.find_non_colliding_position(game.player.character.name, {0,0}, 5, 0.5, false) or {0,0})
game.create_surface("other", { seed = 1337 })
game.player.force.chart("other", {{x = -31, y = -31}, {x = 31, y = 31}})
local camera = game.player.gui.top.add{type = "camera", name = "test_camera", position = {0, 0}, surface_index = game.surfaces.other.index, zoom = 0.5}
camera.style.minimal_width = 300
camera.style.minimal_height = 300
3. Take your furnace, or a blueprint, and move it around as if to place it.
Result: The camera in the top left corner will now show the furnace or blueprint, and the hitboxes of all objects preventing its placement, as if they were at the same coordinates on the other surface.