               run: f
               default: d && !defd
             defd ||= d
-          if info.r
+          if info.d?
             if input == info.record.measures[info.metric.id]
               add("Keep " + info.record.displayName,
                 () -> return,

            data[t] = v ? ''
            return if info.asset[t] == data[t]
            saveRun info.cell, info.asset.save(data).then () ->
              generateText(info)
              return
          else


        edit = (info) ->
          switch info.t
            when 'rec'
              if info.c == 'asset'
                # for now, just go to slot edit
                $location.url(info.slot.editRoute())
                return
              return if info.slot.id == Volume.top.id
              m = info.metric.id
              if m == 'id'
                # trash/bullet: remove
                setRecord(info, null)
                return
              return if info.metric.readonly
              editScope.type = info.metric.type
              switch info.c
                when 'slot'
                  v = info.slot[m]
                  if m == 'release'
                    ### jshint ignore:start ###
                    v ||= 0
                    ### jshint ignore:end ###
                when 'asset' # not reached
                  v = info.asset[m]
                else
                  v = info.record?.measures[m]
                  if info.col.first
                    editScope.type = 'ident'
                    editScope.info = info
                    rs = []
                    mf = (r) -> (m) -> r.measures[m]
                    for ri, r of Volume.records
                      if (r.category || 0) == info.category.id && !(ri of Depends && info.i of Depends[ri])
                        rs.push
                          r:r
                          v:(r.measures[info.metric.id] ? '').toLowerCase()
                          d:recordDescription(r)
                    editScope.records = rs.sort((a, b) -> byMagic(a.v, b.v))
                  else if info.metric.options
                    editScope.type = 'options'
                    editScope.options = info.metric.options
                  else if info.metric.long
                    editScope.type = 'long'
                  break
              editInput.value = (v ? '')+''
            when 'add'
              if info.c == 'asset'
                # for now, just go to slot edit
                $location.url(info.slot.editRoute())
                return
              return if info.slot.id == Volume.top.id
              c = info.category
              if info.d?
                editInput.value = info.d + ''
              else
                editInput.value = 'remove'
              editScope.type = 'record'
