old_contents: from . geometry import gen_matrix
  
  
  class MultiMapBuilder:
  
      def __init__(self, make_object):
          self.map = []
          self.offset = 0
          self.make_object = make_object
  
      def addRow(self, *maps):
          yOff = len(self.map)
          lengths = [len(m) for m in maps]
          h = max(lengths)
          if(min(lengths) != h):
              raise ValueError("All maps in row must be the same height!")
  
          offsets = [0 + self.offset]
          count = 0
          for m in maps:
              offsets.append(h * len(m[0]) + offsets[count])
              count += 1
  
          for y in range(h):
              self.map.append([])
              for x in range(len(maps)):
                  self.map[y + yOff] += [i + offsets[x] for i in maps[x][y]]
  
          self.offset = offsets[len(offsets) - 1]
  
      def make_driver(self, width, height, matrix=None, **kwds):
          self.addRow(gen_matrix(width, height, **(matrix or {})))
          return self.make_object(width=width, height=height, **kwds)
  
new_contents: from . geometry import gen_matrix
  
  
  class MultiMapBuilder:
  
      def __init__(self, make_object):
          self.map = []
          self.offset = 0
          self.make_object = make_object
  
      def addRow(self, *maps):
          # DEPRECATED
          yOff = len(self.map)
          lengths = [len(m) for m in maps]
          h = max(lengths)
          if(min(lengths) != h):
              raise ValueError("All maps in row must be the same height!")
  
          offsets = [0 + self.offset]
          count = 0
          for m in maps:
              offsets.append(h * len(m[0]) + offsets[count])
              count += 1
  
          for y in range(h):
              self.map.append([])
              for x in range(len(maps)):
                  self.map[y + yOff] += [i + offsets[x] for i in maps[x][y]]
  
          self.offset = offsets[len(offsets) - 1]
  
      def add_one_row(self, row):
          for y, row_entry in enumerate(row):
              self.map.append([i + self.offset for i in row_entry])
  
          self.offset += len(row) * len(row[0])
  
      def make_driver(self, width, height, matrix=None, **kwds):
          self.add_one_row(gen_matrix(width, height, **(matrix or {})))
          return self.make_object(width=width, height=height, **kwds)
  
subject: Simplify MultiMap considerably.