code: def bbox(self):
          
          from itertools import chain
          knots = [
              (knot.anchor[1], knot.anchor[0])
              for knot in chain.from_iterable(self.paths)
          ]
          if len(knots) == 0:
              return (0., 0., 1., 1.)
          x, y = zip(*knots)
          return (min(x), min(y), max(x), max(y))
docs: Bounding box tuple (left, top, right, bottom) in relative coordinates,
          where top-left corner is (0., 0.) and bottom-right corner is (1., 1.).
  
          :return: `tuple`