  A generic rectangulation is a partition of a rectangle into finitely many
interior-disjoint rectangles, such that no four rectangles meet in a point. In
this work we present a versatile algorithmic framework for exhaustively
generating a large variety of different classes of generic rectangulations. Our
algorithms work under very mild assumptions, and apply to a large number of
rectangulation classes known from the literature, such as generic
rectangulations, diagonal rectangulations, 1-sided/area-universal,
block-aligned rectangulations, and their guillotine variants, including
aspect-ratio-universal rectangulations. They also apply to classes of
rectangulations that are characterized by avoiding certain patterns, and in
this work we initiate a systematic investigation of pattern avoidance in
rectangulations. Our generation algorithms are efficient, in some cases even
loopless or constant amortized time, i.e., each new rectangulation is generated
in constant time in the worst case or on average, respectively. Moreover, the
Gray codes we obtain are cyclic, and sometimes provably optimal, in the sense
that they correspond to a Hamilton cycle on the skeleton of an underlying
polytope. These results are obtained by encoding rectangulations as
permutations, and by applying our recently developed permutation language
framework.
