From ec56e44e9d5b3f02294840d437bdf63bef65f608 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sat, 1 Jan 2022 17:28:47 -0500 Subject: [PATCH] add space_debug, y axis rotations --- src/main/mesh.js | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/src/main/mesh.js b/src/main/mesh.js index 63f9e102..0dde74ea 100644 --- a/src/main/mesh.js +++ b/src/main/mesh.js @@ -115,13 +115,17 @@ broker.subscribe('space_init', data => { }, 'keydown', evt => { let rv = Math.PI / 16; - switch (evt.code) { + let { shiftKey, metaKey, ctrlKey, code } = evt; + switch (code) { case 'KeyA': - if (evt.metaKey || evt.ctrlKey) { + if (metaKey || ctrlKey) { api.selection.set(api.group.list()); estop(evt); } break; + case 'KeyD': + broker.send.space_debug(); + break; case 'Escape': api.selection.clear(); estop(evt); @@ -141,10 +145,18 @@ broker.subscribe('space_init', data => { api.selection.rotate(rv,0,0).floor(); break; case 'ArrowLeft': - api.selection.rotate(0,0,rv).floor(); + if (shiftKey) { + api.selection.rotate(0,rv,0).floor(); + } else { + api.selection.rotate(0,0,rv).floor(); + } break; case 'ArrowRight': - api.selection.rotate(0,0,-rv).floor(); + if (shiftKey) { + api.selection.rotate(0,-rv,0).floor(); + } else { + api.selection.rotate(0,0,-rv).floor(); + } break; } } @@ -195,6 +207,25 @@ broker.subscribe('space_load', data => { .focus(); }); +// on debug key press +broker.subscribe('space_debug', () => { + for (let g of mesh.api.group.list()) { + let { center, size } = g.bounds(); + console.group('group', { + center, + size, + pos: g.group.position + }); + for (let m of g.models) { + console.log('model', { + box: m.mesh.getBoundingBox(), + pos: m.mesh.position + }); + } + console.groupEnd(); + } +}); + // remove version cache bust from url window.history.replaceState({},'','/mesh/');