code: def all_composite_ids(self, sensor_names=None):
          
          if sensor_names is None:
              sensor_names = self.attrs['sensor']
          compositors = []
          # Note if we get compositors from the dep tree then it will include
          # modified composites which we don't want
          for sensor_name in sensor_names:
              sensor_comps = self.cpl.compositors.get(sensor_name, {}).keys()
              # ignore inline compositor dependencies starting with '_'
              compositors.extend(c for c in sensor_comps if not c.name.startswith('_'))
          return sorted(set(compositors))
docs: Get all composite IDs that are configured.
  
          Returns: generator of configured composite names