As you remove rectangular pieces from a rectangular body, maybe makes sense to do it with THREE.Shape()
and THREE.ExtrudeBufferGeometry()
?
Here is a post with a concept of how to “pierce” a wall to make a window (no CSG): Restrict an object to another?
Saying in general, you create a shape with holes or just change the shape, “biting off” pieces from its sides, then extrude it.