docs: def create_rectangle(proto_bits, pulse_len=100):
          """
          :type proto_bits: list of str
          """
          ones = np.ones(pulse_len, dtype=np.float32) * 1
          zeros = np.ones(pulse_len, dtype=np.float32) * -1
          n = 0
          y = []
          for msg in proto_bits:
              for bit in msg:
                  n += pulse_len
                  if bit == "0":
                      y.extend(zeros)
                  else:
                      y.extend(ones)
          x = np.arange(0, n).astype(np.int64)
          scene = ZoomableScene()
          scene.setSceneRect(0, -1, n, 2)
          scene.setBackgroundBrush(constants.BGCOLOR)
          scene.addLine(0, 0, n, 0, QPen(constants.AXISCOLOR, 0))
          if len(y) > 0:
              y = np.array(y)
          else:
              y = np.array(y).astype(np.float32)
          path = path_creator.array_to_QPath(x, y)
          scene.addPath(path, QPen(constants.LINECOLOR, 0))
          return scene, n