A = function()
local font = love.graphics.newFont(scale(20))
love.graphics.setFont(font) -- editor objects implicitly depend on current font
-- translate Nodes to Surface
Surface = {}
for key,node in pairs(Nodes) do
node.id = key
compute_layout(node, node.x,node.y, Surface, font)
end
-- draw edges after all nodes have been initialized
for key,node in pairs(Nodes) do
for _,d in ipairs(node.outgoing_edges) do
compute_layout_for_edge(key, d)
end
end
-- continue the pipeline
B(font)
-- TODO: ugly that we're manipulating editor objects twice
end