code: def split_stacks(self, stacks: List[List[BaseLayer]]) \
              -> List[List[BaseLayer]]:
          
  
          ns: List[List[BaseLayer]] = []
  
          for stack in stacks:
              cur: List[BaseLayer] = []
  
              for layer in stack:
                  if cur and isinstance(layer, lyr.RawText):
                      ns.append(cur)
                      cur = []
  
                  cur.append(layer)
  
              if cur:
                  ns.append(cur)
  
          return ns
docs: First step of the stacks cleanup process. We consider that if inside
          a stack there's a text layer showing up then it's the beginning of a
          new stack and split upon that.