  We introduce a class of 3D color codes, which we call stacked codes, together
with a fault-tolerant transformation that will map logical qubits encoded in
two-dimensional (2D) color codes into stacked codes and back. The stacked code
allows for the transversal implementation of a non-Clifford $\pi/8$ logical
gate, which when combined with the logical Clifford gates that are transversal
in the 2D color code give a gate set which is both fault-tolerant and universal
without requiring nonstabilizer magic states. We then show that the layers
forming the stacked code can be unfolded and arranged in a 2D layout. As only
Clifford gates can be implemented transversally for 2D topological stabilizer
codes, a non-local operation must be incorporated in order to allow for this
transversal application of a non-Clifford gate. Our code achieves this
operation through the transformation from a 2D color code to the unfolded
stacked code induced by measuring only geometrically local stabilizers and
gauge operators within the bulk of 2D color codes together with a nonlocal
operator that has support on a one-dimensional boundary between such 2D codes.
We believe that this proposed method to implement the non-local operation is a
realistic one for 2D stabilizer layouts and would be beneficial in avoiding the
large overheads caused by magic state distillation.
