From deb8e6566cac7aa8912ff00c9660f1455c6ca5ed Mon Sep 17 00:00:00 2001 From: howard Date: Thu, 8 Apr 2021 01:48:29 -0700 Subject: [PATCH] notice plane transparency artifact --- icon/svg-to-jsx.js | 3 +- icon/svgr_raw/intersect_thin.svg | 73 ++++++++ icon/svgr_raw/union_thin.svg | 81 +++++++++ src/Sketch.js | 1 + src/axes.js | 2 +- src/icons.jsx | 276 +++++++++++++++++++++++++++++++ src/react/app.css | 11 +- src/react/icons.jsx | 89 +++++++++- src/react/navBar.jsx | 4 +- src/react/tree.jsx | 10 +- src/shared.js | 2 +- todo.txt | 3 +- 12 files changed, 540 insertions(+), 15 deletions(-) create mode 100644 icon/svgr_raw/intersect_thin.svg create mode 100644 icon/svgr_raw/union_thin.svg create mode 100644 src/icons.jsx diff --git a/icon/svg-to-jsx.js b/icon/svg-to-jsx.js index 49c1c6a..0974e04 100644 --- a/icon/svg-to-jsx.js +++ b/icon/svg-to-jsx.js @@ -13,6 +13,7 @@ const names = [] try { const files = await fs.promises.readdir(dir); for (const file of files) { + console.log(file) const res = await fs.promises.readFile(dir+file, 'utf-8') let name = file.split('.')[0] name = name[0].toUpperCase() + name.slice(1) @@ -28,7 +29,7 @@ try { output.push(`export { ${names.join(', ')} };`) - const data = fs.writeFileSync('../src/icons.jsx', output.join('')) + const data = fs.writeFileSync('../src/react/icons.jsx', output.join('')) } catch (err) { diff --git a/icon/svgr_raw/intersect_thin.svg b/icon/svgr_raw/intersect_thin.svg new file mode 100644 index 0000000..3d29ff8 --- /dev/null +++ b/icon/svgr_raw/intersect_thin.svg @@ -0,0 +1,73 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/icon/svgr_raw/union_thin.svg b/icon/svgr_raw/union_thin.svg new file mode 100644 index 0000000..f02d42b --- /dev/null +++ b/icon/svgr_raw/union_thin.svg @@ -0,0 +1,81 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/src/Sketch.js b/src/Sketch.js index f91eb25..86f7978 100644 --- a/src/Sketch.js +++ b/src/Sketch.js @@ -164,6 +164,7 @@ class Sketch { this.canvas.removeEventListener('pointermove', this.onHover) this.store.dispatch({ type: 'exit-sketch' }) this.labelContainer.innerHTML = "" + this.scene.axes.visible = false } diff --git a/src/axes.js b/src/axes.js index 039b5ae..ad98068 100644 --- a/src/axes.js +++ b/src/axes.js @@ -23,7 +23,7 @@ class AxesHelper extends THREE.Object3D { new THREE.Vector3(...dir), // dir new THREE.Vector3(0, 0, 0), // origin this.length[i], //length - 0x0000ff, + 0xcc1f1a, this.headLength, this.headWidth ) diff --git a/src/icons.jsx b/src/icons.jsx new file mode 100644 index 0000000..c37418b --- /dev/null +++ b/src/icons.jsx @@ -0,0 +1,276 @@ +import * as React from "react"; +function Arc(props) { + return ( + + + + + + + ); +} + +function Dimension(props) { + return ( + + + + + + + + + + + + + ); +} + +function Intersect(props) { + return ( + + + + + + ); +} + +function Intersect_thin(props) { + return ( + + + + + + ); +} + +function Line(props) { + return ( + + + + + + + ); +} + +function Subtract(props) { + return ( + + + + + + ); +} + +function Union(props) { + return ( + + + + + + + ); +} +export { Arc, Dimension, Intersect, Intersect_thin, Line, Subtract, Union }; \ No newline at end of file diff --git a/src/react/app.css b/src/react/app.css index 7ad9bff..6175df8 100644 --- a/src/react/app.css +++ b/src/react/app.css @@ -48,8 +48,15 @@ body { .btn { cursor: pointer; @apply fill-current - bg-gray-100 text-green-600 - hover:bg-gray-200 hover:text-green-700; + bg-transparent text-gray-200 + hover:bg-gray-600 hover:text-gray-200; +} + +.btn-light { + cursor: pointer; + @apply fill-current + bg-transparent text-gray-700 + hover:bg-gray-300 hover:text-gray-700; } diff --git a/src/react/icons.jsx b/src/react/icons.jsx index a4bdcf9..8ed172d 100644 --- a/src/react/icons.jsx +++ b/src/react/icons.jsx @@ -125,6 +125,47 @@ function Intersect(props) { ); } +function Intersect_thin(props) { + return ( + + + + + + ); +} + function Line(props) { return ( ); } -export { Arc, Dimension, Intersect, Line, Subtract, Union }; \ No newline at end of file + +function Union_thin(props) { + return ( + + + + + + + ); +} +export { Arc, Dimension, Intersect, Intersect_thin, Line, Subtract, Union, Union_thin }; \ No newline at end of file diff --git a/src/react/navBar.jsx b/src/react/navBar.jsx index ef79ae7..dd34fdf 100644 --- a/src/react/navBar.jsx +++ b/src/react/navBar.jsx @@ -58,10 +58,10 @@ export const NavBar = () => { const [_, forceUpdate] = useReducer(x => x + 1, 0); - return
+ return
{ btnz.map(([Icon, fcn, txt], idx) => ( - )) diff --git a/src/react/tree.jsx b/src/react/tree.jsx index 499d8de..4b9882c 100644 --- a/src/react/tree.jsx +++ b/src/react/tree.jsx @@ -39,7 +39,7 @@ const TreeEntry = ({ entId }) => { const vis = obj3d.visible return
-
{ if (entId[0] == 'm') { // entry.material.color.set(color.hover) @@ -65,7 +65,7 @@ const TreeEntry = ({ entId }) => { {entId}
-
{ activeSketchId && treeEntries[activeSketchId].deactivate() entry.activate() @@ -76,7 +76,7 @@ const TreeEntry = ({ entId }) => {
-
{ dispatch({ type: 'delete-node', id: entId }) }} @@ -85,7 +85,7 @@ const TreeEntry = ({ entId }) => {
{ vis ? -
{ obj3d.visible = false; sc.render() @@ -95,7 +95,7 @@ const TreeEntry = ({ entId }) => {
: -
{ obj3d.visible = true; sc.render() diff --git a/src/shared.js b/src/shared.js index 1fb429a..f1b542b 100644 --- a/src/shared.js +++ b/src/shared.js @@ -12,7 +12,7 @@ raycaster.params.Points.threshold = 0.1; const color = { - background:0xbbbbbb, + background:0xdae1e7, lighting: 0xFFFFFF, emissive: 0x072534, diff --git a/todo.txt b/todo.txt index a8b2933..3094f23 100644 --- a/todo.txt +++ b/todo.txt @@ -1,6 +1,7 @@ fix css on design tree (a lot of work) \ clear dim on exit exit sketch / rehydrate when back or after loading \\\ done +dimension to origin // done - select sketch for extrusion @@ -21,8 +22,6 @@ extrude edit dialog. directio and magnitude fix extrusion loop find -dimension to origin - file save stl export