  We study the problem of folding a polyomino $P$ into a polycube $Q$, allowing
faces of $Q$ to be covered multiple times. First, we define a variety of
folding models according to whether the folds (a) must be along grid lines of
$P$ or can divide squares in half (diagonally and/or orthogonally), (b) must be
mountain or can be both mountain and valley, (c) can remain flat (forming an
angle of $180^\circ$), and (d) must lie on just the polycube surface or can
have interior faces as well. Second, we give all the inclusion relations among
all models that fold on the grid lines of $P$. Third, we characterize all
polyominoes that can fold into a unit cube, in some models. Fourth, we give a
linear-time dynamic programming algorithm to fold a tree-shaped polyomino into
a constant-size polycube, in some models. Finally, we consider the triangular
version of the problem, characterizing which polyiamonds fold into a regular
tetrahedron.
