1. If the walls are vertical and you are maximizing the horizontal area of the sofa and you are not allowed to reorient the sofa, then the problem collapses to the 2D case and the solution is the same.
2. If you are allowed to reorient the sofa while moving it, and the sofa doesn't have a minimum height, and the ceiling is arbitrarily high, then the sofa can be arbitrarily large by angling it to an arbitrary degree and then setting it flat for measuring.
3. So the in between case is where the ceiling is of some limited height and/or the sofa is of some arbitrary height, and then you have to decide whether the sofa has to be an extrusion of a 2D shape, or if it can be an arbitrary shape, at which point you're maximizing volume rather than area. And for that the obvious lower bound is the 2D maximum shape * the ceiling height. But maybe there's better?
You could make the 3D case more interesting by having two corners: one in the plane and one out of the plane. It seems to me that that would need a new solution.
To make 3D relevant for a single turn, one of the hallways could be rotated 45° lengthwise.
Given a rectangle tunnel, twist it so the walls become the ceiling, and also turn it in the same time. Seems like the same problem..
What is solved here is maximum shape, it feels like moving a object like this in 3D is basically a robot planning thing which in it self obviously magic for me. Finding a continuous path in a configuration space is the easy part, but then you have to understand how that changes when your shape changes.
https://colab.research.google.com/github/google-deepmind/alp...
The volume has to be greater than 1 unit in order to be a solution so it could be harder in higher dimensions.