anchor.diff:  
   /obj/machinery/computer/rdconsole/proc/ui_techweb_single_node(datum/techweb_node/node, selflink=TRUE, minimal=FALSE)
   	var/list/l = list()
  +	if (stored_research.hidden_nodes[node.id])
  +		return l
   	var/price = node.get_price(stored_research)
   	var/display_name = node.display_name
   	if (selflink)
  
positive.code: 	var/list/l = list()
  	if(stored_research.hidden_nodes[selected_node.id])
  		l += "<div><h3>ERROR: RESEARCH NODE UNKNOWN.</h3></div>"
  	l += ui_techweb_single_node(selected_node, selflink=FALSE)
  	l += "<div><h3>Prerequisites:</h3>[RDSCREEN_NOBREAK]"
  	for(var/i in selected_node.prerequisites)
  		var/datum/techweb_node/prereq = selected_node.prerequisites[i]
  		var/sc = stored_research.researched_nodes[prereq.id]
  		var/begin
  		var/end
  		if(sc)
  			begin = "<b>"
  			end = "</b>"
  		else
  			begin = "<span class='bad'>"
  			end = "</span>"
  		l += "<A href='?src=[REF(src)];view_node=[i]'>[begin][prereq.display_name][end]</A>"
  	l += "</div><div><h3>Unlocks:</h3>[RDSCREEN_NOBREAK]"
  	for(var/i in selected_node.unlocks)
  		var/datum/techweb_node/unlock = selected_node.unlocks[i]
  		l += "<A href='?src=[REF(src)];view_node=[i]'>[unlock.display_name]</A>"
  
  	l += "</div>[RDSCREEN_NOBREAK]"
  	return l
  
  /obj/machinery/computer/rdconsole/proc/ui_techweb_designview()		//Legacy code
  
negative.code: 			lathes += "<span data-tooltip='Limbgrower'>[build_path_icon(/obj/machinery/limbgrower)]</span>"
  		if(D.build_type & SMELTER)
  			lathes += "<span data-tooltip='Smelter'>[build_path_icon(/obj/machinery/mineral/processing_unit)]</span>"
  		l += "Construction types:"
  		l += lathes
  	l += "Required materials:"
  	var/all_mats = D.materials + D.reagents_list
  	for(var/M in all_mats)
  		l += "* [CallMaterialName(M)] x [all_mats[M]]"
  