Hi.
There's a small problem. Right now, you can select concrete and place it, but then you can't copy or dismantle one of its sides. You can't do anything with it because it's "nobody's." Because of this, the game can't link the concrete tile to the object—the tile won't select or assemble.
This happens because of the nullification:
tileLeft.placeable_by = nil
tileRight.placeable_by = nil
tileLeftRefined.placeable_by = nil
tileRightRefined.placeable_by = nil
To fix this, you need to pass the parameters correctly, and everything will work as expected:
tileLeft.placeable_by = { item = concrete.name, count = 1 }
tileRight.placeable_by = { item = concrete.name, count = 1 }
tileLeftRefined.placeable_by = { item = "refined-" .. concrete.name, count = 1 }
tileRightRefined.placeable_by = { item = "refined-" .. concrete.name, count = 1 }