  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. 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.
