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

          saveRun cell, info.asset.save(data).then () ->
            generateText(cell, t, info.asset[t])
            return

        ################################# Interaction


              Volume.records[d] if (d = @d)?
            asset: ->
              s.assets[d] if (s = @slot)? and (d = @d)?
            v:
              Data[c][m][n]?[i] if (c = @c)? and (m = @m)? and (n = @n)? and (i = @i)?

          caching = (v, f) ->
            get: ->
