diff --git a/scripts/make_js_stuff.py b/scripts/make_js_stuff.py new file mode 100644 index 0000000..13ddbe4 --- /dev/null +++ b/scripts/make_js_stuff.py @@ -0,0 +1,25 @@ +from abp import clifford +import json + +with open("../server/tables.js", "w") as f: + f.write("var decompositions = ") + f.write(json.dumps(clifford.decompositions)) + f.write(";\n") + + f.write("var conjugation_table = ") + f.write(json.dumps(clifford.conjugation_table.tolist())) + f.write(";\n") + + f.write("var times_table = ") + f.write(json.dumps(clifford.times_table.tolist())) + f.write(";\n") + + f.write("var cz_table = ") + f.write(json.dumps(clifford.cz_table.tolist())) + f.write(";\n") + + f.write("var clifford = ") + f.write(json.dumps(clifford.by_name)) + f.write(";\n") + + diff --git a/server/anders_briegel.js b/server/anders_briegel.js index f0207e6..f405fe4 100644 --- a/server/anders_briegel.js +++ b/server/anders_briegel.js @@ -105,9 +105,3 @@ function log_graph_state() { console.log(ngbh); } -add_node(0); -add_node(1); -act_local_rotation(0, 10); -act_local_rotation(1, 10); -act_cz(0, 1); -log_graph_state(); diff --git a/server/api.js b/server/api.js index 6f8663f..50a900f 100644 --- a/server/api.js +++ b/server/api.js @@ -1,10 +1,5 @@ var ws; -function add_node(node){ - data = {"method": "add_node", "node": node}; - ws.send(JSON.stringify(data)); -} - function connect_to_server() { ws = new WebSocket("ws://localhost:5001"); ws.onopen = function() diff --git a/server/graph.js b/server/graph.js index 99acec6..5a16118 100644 --- a/server/graph.js +++ b/server/graph.js @@ -1,20 +1,39 @@ -function buildGraph(json) { +var graph; + +function graph_model(){ + this.geometry = new THREE.Geometry(); + this.nodes = new THREE.Points(this.geometry, materials.qubit); + this.nodes.geometry.dynamic = true; + this.object = new THREE.Object3D(); + this.object.add(this.nodes); + + this.add_node = function(node){ + var vertex = new THREE.Vector3(0, 0, 0); + this.nodes.geometry.vertices.push(vertex); + this.nodes.geometry.verticesNeedUpdate = true; + render(); + }; +} + + + +//function buildGraph(json) { // Add all the qubits - var geometry = new THREE.Geometry(); - var vertex = new THREE.Vector3(0, 0, 0); - geometry.vertices.push(vertex); - var nodes = new THREE.Points(geometry, materials.node); + //var geometry = new THREE.Geometry(); + //var vertex = new THREE.Vector3(0, 0, 0); + //geometry.vertices.push(vertex); + //var nodes = new THREE.Points(geometry, materials.node); // Add all the edges - var edges = new THREE.Object3D(); - edges.add(makeEdge({ - "start": [0, 0, 0], - "end": [1, 1, 1] - })); + //var edges = new THREE.Object3D(); + //edges.add(makeEdge({ + //"start": [0, 0, 0], + //"end": [1, 1, 1] + //})); // Construct and return - var graph = new THREE.Object3D(); - graph.add(nodes); - graph.add(edges); - return graph; -} + //var graph = new THREE.Object3D(); + //graph.add(nodes); + //graph.add(edges); + //return graph; +//} diff --git a/server/grid.js b/server/grid.js deleted file mode 100644 index 553927b..0000000 --- a/server/grid.js +++ /dev/null @@ -1,5 +0,0 @@ -//TODO Move to THREE.gridhelper -// Make a grid -function makeGrid(side, n, color) { - return grid; -} diff --git a/server/index.html b/server/index.html index 70d5e3b..4e4a49b 100644 --- a/server/index.html +++ b/server/index.html @@ -15,6 +15,7 @@ + diff --git a/server/main.css b/server/main.css new file mode 100644 index 0000000..ff0f9a6 --- /dev/null +++ b/server/main.css @@ -0,0 +1,47 @@ +html, body { margin: 0; padding: 0; overflow: hidden; font-size: 10pt; font-family: "courier new"; } +#infoholder { + background: black; + color:white; + padding: 5px; + margin:0px; + position: absolute; + top:5px; + left:5px; + font-family:"courier new"; + text-align: center; + font-size:10pt; + height:15px; + border-radius:3px; +} + +#pallette { + background-color: black; + /*border-radius:3px;*/ + color:white; + padding: 10px; + font-family:"courier new"; + position: absolute; + top: 10px; + right: 10px; + font-size: 9pt; +} + +ul { + list-style-type: none; + padding: 0px; + margin: 0px; +} + +.visible { + visibility: visible; + opacity: 1; + transform: scale(1); + transition: opacity .08s linear, transform .08s linear; +} + +.hidden { + visibility: hidden; + opacity: 0; + transform: scale(.5); + transition: visibility .08s, opacity .08s linear, transform .08s linear; +} diff --git a/server/main.js b/server/main.js index db878d0..597b6b0 100644 --- a/server/main.js +++ b/server/main.js @@ -14,6 +14,8 @@ window.onload = init; function makeScene() { var myScene = new THREE.Scene(); var grid = new THREE.GridHelper(20, 2); + graph = new graph_model(); + myScene.add(graph.object); grid.rotation.x = Math.PI/2; grid.setColors(0xdddddd, 0xeeeeee); myScene.add(grid); diff --git a/server/poll.js b/server/poll.js new file mode 100644 index 0000000..83f4779 --- /dev/null +++ b/server/poll.js @@ -0,0 +1,21 @@ +function poll() { + var ws = new WebSocket("ws://localhost:5001"); + ws.onopen = function() + { + console.log("Connected to server."); + }; + + ws.onmessage = function (evt) + { + var received_msg = evt.data; + console.log("Message received: " + evt.data); + }; + + ws.onclose = function() + { + console.log("Connection was closed."); + }; +} + +window.onload = poll; +