             return
 
           add: (c, d) ->
+            Cats[c] = true
             if v = this[c]
               if Array.isArray(v)
                 n = v.push(d) - 1

          Cols = []
          if slot
            slot = undefined
            cats = Object.keys(volume.metrics).sort(byNumber).map((i) -> constants.category[i])
            if Top
              cats.unshift(pseudoCategory.asset)
            else

        Groups = []     # [] Array over categories :: {category: Category, metrics[]: Array of Metric}
        Cols = []       # [] Array over metrics :: {category: Category, metric: Metric} (flattened version of Groups)
        Rows = []       # [i] :: Row (-1 => foot)
        Cats = {}       # Set of used categories
        Order = []      # Permutation Array of Row in display order
        Expanded = undefined # Info

