From a22521b119dccee505efbb3f46c1b96e0474a256 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 15 Sep 2019 12:10:13 +1000 Subject: [PATCH] add tris and url parsing --- client/package.json | 1 + client/src/socket.jsx | 4 ++++ server/src/img.rs | 30 +++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/client/package.json b/client/package.json index 2897558c..7c875711 100644 --- a/client/package.json +++ b/client/package.json @@ -29,6 +29,7 @@ "preact-compat": "^3.19.0", "preact-context": "^1.1.3", "preact-redux": "^2.1.0", + "query-string": "^6.8.3", "react-string-replace": "^0.4.4", "react-stripe-elements": "^3.0.0", "redux": "^4.0.0" diff --git a/client/src/socket.jsx b/client/src/socket.jsx index 74140922..e5c11d5c 100644 --- a/client/src/socket.jsx +++ b/client/src/socket.jsx @@ -1,3 +1,5 @@ +const querystring = require('query-string'); + const toast = require('izitoast'); const cbor = require('borc'); @@ -310,6 +312,8 @@ function createSocket(events) { ws = null; } + console.log(querystring.parse(location.hash)); + ws = new WebSocket(SOCKET_URL); ws.binaryType = 'arraybuffer'; diff --git a/server/src/img.rs b/server/src/img.rs index e3584c20..3fc746b3 100644 --- a/server/src/img.rs +++ b/server/src/img.rs @@ -117,7 +117,7 @@ pub fn shapes_write(id: Uuid) -> Result { (ConstructShapes::Circle, 10), (ConstructShapes::Line, 10), (ConstructShapes::V, 10), - // (ConstructShapes::Tri, 3), + (ConstructShapes::Tri, 10), // (ConstructShapes::Plus, 5), (ConstructShapes::Blank, 1), ]; @@ -155,6 +155,9 @@ pub fn shapes_write(id: Uuid) -> Result { let size = rng.gen_range(20.0, 50.0); write!(&mut svg, "", fill = colour, x = size / 2.0, y = size / 2.0, width = size, height = size, x_t = x_translate, y_t = y_translate, rotation = rotation)?; + if scalar == 0.0 && rng.gen_bool(0.5) { + continue; + } write!(&mut svg, "", fill = colour, x = size / 2.0, y = size / 2.0, width = size, height = size, x_t = -x_translate, y_t = -y_translate, rotation = rotation)?; }, @@ -163,6 +166,9 @@ pub fn shapes_write(id: Uuid) -> Result { let b = rng.gen_range(20.0, 50.0); write!(&mut svg, "", fill = colour, x = -b / 2.0, y = h / 2.0, x0 = -b / 2.0, y0 = -h / 2.0, x1 = 0, y1 = b / 2.0, x2 = b / 2.0, y2 = -h / 2.0, rotation = rotation, x_translate = x_translate, y_translate = y_translate)?; + if scalar == 0.0 && rng.gen_bool(0.5) { + continue; + } write!(&mut svg, "", fill = colour, x = -b / 2.0, y = h / 2.0, x0 = -b / 2.0, y0 = -h / 2.0, x1 = 0, y1 = b / 2.0, x2 = b / 2.0, y2 = -h / 2.0, rotation = rotation + 180, x_translate = -x_translate, y_translate = -y_translate)?; }, @@ -178,6 +184,9 @@ pub fn shapes_write(id: Uuid) -> Result { let height = rng.gen_range(20.0, 50.0); write!(&mut svg, "", fill = colour, x = width / 2.0, y = height / 2.0, width = width, height = height, x_t = x_translate, y_t = y_translate, rotation = rotation)?; + if scalar == 0.0 && rng.gen_bool(0.5) { + continue; + } write!(&mut svg, "", fill = colour, x = width / 2.0, y = height / 2.0, width = width, height = height, x_t = -x_translate, y_t = -y_translate, rotation = rotation)?; }, @@ -188,11 +197,30 @@ pub fn shapes_write(id: Uuid) -> Result { write!(&mut svg, "", fill = colour, width = width, x = -b / 2.0, y = h / 2.0, x0 = -b / 2.0, y0 = -h / 2.0, x1 = 0, y1 = b / 2.0, x2 = b / 2.0, y2 = -h / 2.0, rotation = rotation, x_translate = x_translate, y_translate = y_translate)?; + if scalar == 0.0 && rng.gen_bool(0.5) { + continue; + } write!(&mut svg, "", fill = colour, width = width, x = -b / 2.0, y = h / 2.0, x0 = -b / 2.0, y0 = -h / 2.0, x1 = 0, y1 = b / 2.0, x2 = b / 2.0, y2 = -h / 2.0, rotation = rotation + 180, x_translate = -x_translate, y_translate = -y_translate)?; }, ConstructShapes::Tri => { + let width = rng.gen_range(2.0, 4.0); + let length = rng.gen_range(12.5, 25.0); + let x0 = (0.0 as f64).cos() * length; + let y0 = (0.0 as f64).sin() * length; + let x1 = ((f64::consts::PI * 2.0) / 3.0).cos() * length; + let y1 = ((f64::consts::PI * 2.0) / 3.0).sin() * length; + let x2 = ((f64::consts::PI * 4.0) / 3.0).cos() * length; + let y2 = ((f64::consts::PI * 4.0) / 3.0).sin() * length; + + write!(&mut svg, "", + fill = colour, width = width, x0 = x0, y0 = y0, x1 = x1, y1 = y1, x2 = x2, y2 = y2, rotation = rotation, x_translate = x_translate, y_translate = y_translate)?; + if scalar == 0.0 && rng.gen_bool(0.5) { + continue; + } + write!(&mut svg, "", + fill = colour, width = width, x0 = x0, y0 = y0, x1 = x1, y1 = y1, x2 = x2, y2 = y2, rotation = rotation, x_translate = -x_translate, y_translate = -y_translate)?; }, ConstructShapes::Plus => {