graph = {
graphCell;
LiteGraph.registerNodeType("custom/multiply",CustomMultNode);
LiteGraph.registerNodeType("custom/observable",ObservableNode);
var graph = new LiteGraph.LGraph();
var canvas = new LiteGraph.LGraphCanvas("#graphDiv", graph);
canvas.allow_searchbox = false;
canvas.prompt = (title,value,callback,event)=>{ return null; };
var nodeConstA = LiteGraph.createNode("basic/const");
nodeConstA.pos = [200,200];
nodeConstA.setValue(4.5);
graph.add(nodeConstA);
var nodeConstB = LiteGraph.createNode("basic/const");
nodeConstB.pos = [200,300];
nodeConstB.setValue(1.5);
graph.add(nodeConstB);
var nodeMult = LiteGraph.createNode("custom/multiply");
nodeMult.pos = [500,250];
graph.add(nodeMult);
nodeConstA.connect(0,nodeMult,0);
nodeConstB.connect(0,nodeMult,1);
var nodeWatch = LiteGraph.createNode("basic/watch");
nodeWatch.pos = [700,250];
graph.add(nodeWatch);
var nodeObserve = LiteGraph.createNode("custom/observable");
nodeObserve.setMutator((value)=>{
mutable results = value;
});
nodeObserve.pos = [700,350];
graph.add(nodeObserve);
nodeMult.connect(0, nodeWatch, 0 );
nodeMult.connect(0, nodeObserve, 0 );
graph.start()
return graph;
}