                 td.classList.add('ss-rec_' + r.id[n][info.i])
             return
           b = ID + '-rec_' + info.i + '_'
-          if (n = info.n)?
-            b += n + '_'
-          else
-            n = 0
+          if info.hasOwnProperty('n')
+            b += info.n + '_'
           for mi in [0..l-1] by 1
-            m = (info.metric = ms[mi]).id
-            info.v = r[m][n] && r[m][n][info.i]
+            info.metric = ms[mi]
+            info.v = r[info.metric.id][info.n]?[info.i]
+            info.d = r.id[info.n][info.i]
             info.id = b + (info.cols.start+mi)
-            info.d = r.id[n][info.i]
             generateCell(info)
             if info.v != null
-              ri = 'ss-rec_' + r.id[n][info.i]
-              info.cell.classList.add(ri)
-              info.cell.classList.add(ri + '_' + m)
+              info.cell.classList.add(ri = 'ss-rec_' + info.d)
+              info.cell.classList.add(ri + '_' + info.metric.id)
           return
 
         #generateAsset = (row, i, n) ->

          row.classList.add('expand')

          max = Counts[expanded][expandedCat]
          max++ if Editing
          return if max <= 1
          next = row.nextSibling
          start = Counts[expanded][expandedCat] == 1
          col = Groups.find (col) -> `col.category.id == expandedCat`
          for n in [+start..max-1] by 1
            info.row = TBody.insertBefore(document.createElement('tr'), next)
            info.row.data = expanded

          #  generateCell(row, 'release', slot.release, ID + '-release_' + i)

          for col in Groups
            info.category = (info.cols = col).category
            generateRecord(info)
          #if assets
          #  generateAsset(row, i)
