New version pushed to github together with another handy widget with two commands that can be used to chop off commands from start and end of queue.
That widget also toggles geos on and off (feature targeted at PD/PA).
There are still some painful bugs, for example when stalling m and building two same e buildings, the cons toggles back and forth between them. it puts real pressure on processing in late game. for example many spam factories. with many nanos. i should explicitly remove factories from neighbour candidates. #todo
renamed repo to 
https://github.com/aronj/spring_widgets
just take a look at this sexy sort code tho :D
Code: Select all
  if assistType == 'energy' then
    table.sort(candidates, function(a,b)
      local aWillStall = buildingWillStall(a[1])
      local bWillStall = buildingWillStall(b[1])
      if aWillStall and bWillStall then
        return a[3]['energyMake'] / a[3]['buildTime'] / a[3]['power'] > b[3]['energyMake'] / b[3]['buildTime'] / b[3]['power']
      elseif aWillStall and not bWillStall and a[3]['energyMake'] > 0 then
        return false
      elseif not aWillStall and bWillStall and b[3]['energyMake'] > 0 then
        return true
      else
        return a[3]['energyMake'] / a[3]['power'] > b[3]['energyMake'] / b[3]['power']
      end
    end)
  elseif assistType == 'mm' then
    table.sort(candidates, function(a,b) return getMetalMakingEfficiency(a[2]) < getMetalMakingEfficiency(b[2]) end)
  elseif assistType == 'metal' then
    return false
  end
  return candidates[1][1]
The idea is to find the best candidate within specific resource type.
edit: I think the spammy force assist fidgety switch target bug might be finally resolved.