graph drawing tool
load_graph_from_disk = function()
	-- make sure to clear any existing graph
	Nodes = deepcopy(Initial_nodes)
	set_viewport(deepcopy(Initial_viewport))
	--
	if Settings[Filename] then
		set_viewport(Settings[Filename].viewport)
	end
	local f = App.open_for_reading(Filename)
	if not f then return end
	local contents = f:read()
	f:close()
	if contents == '' then return end
	local data = json.decode(contents)
	if data.nodes then
		Nodes = data.nodes
	end
	First_available_id = data.next
end