A = function() -- print('A') local font = love.graphics.newFont(scale(20)) love.graphics.setFont(font) -- editor objects implicitly depend on current font -- translate Definitions to Surface Surface = {} for key,node in pairs(Definitions) do node.key = key compute_layout(node, node.x,node.y, Surface, font) end -- continue the pipeline B(font) -- TODO: ugly that we're manipulating editor objects twice end