diff --git a/package-lock.json b/package-lock.json
index 12284156..80c04cc8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,7 @@
"@codemirror/state": "^0.19.6",
"@codemirror/stream-parser": "^0.19.2",
"@codemirror/view": "^0.19.28",
- "@sindarius/gcodeviewer": "^2.1.17",
+ "@sindarius/gcodeviewer": "^3.1.0",
"@types/node": "^16.11.22",
"@types/overlayscrollbars": "^1.12.1",
"axios": "^0.26.0",
@@ -1876,43 +1876,49 @@
}
},
"node_modules/@babylonjs/core": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-4.2.2.tgz",
- "integrity": "sha512-gAgetSyoxFZ/xzMVVnGPKaP941NHA59Ho8GGKFW98OTEp8yZcnzJjNOD2zfF1eKmlvR/6WwSmcrKWTJtPF1pyA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.8.0.tgz",
+ "integrity": "sha512-1/p2XxuwoGStoEc0Nh0O4iBrSfWpRAYzkWXRqxjTqD/CU1bufZuHFLlBQp6GuVei33RU/yGjVI/W5d/rhSIXYA==",
"dependencies": {
- "tslib": ">=1.10.0"
- },
- "engines": {
- "node": "*"
+ "tslib": "^2.3.1"
}
},
"node_modules/@babylonjs/gui": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-4.2.2.tgz",
- "integrity": "sha512-iFKnSb0m9Zz7oeD1LTZWE9Hxcp0QMytXZenLNgrbHOm8mo2V+Y6OiVEP9SpvZRqks6bTDTFrpfjMTy1DrZyTGQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-5.8.0.tgz",
+ "integrity": "sha512-uqrJiu2oqyYmY4IgGMfWx0vabUKjkb3PK/ZTO+75rYne6yFFOp5Wivyi03O3Ew+m69W7Igt/gwtVCMaAit+g6w==",
"dependencies": {
- "@babylonjs/core": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@babylonjs/gui-editor": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/gui-editor/-/gui-editor-5.8.0.tgz",
+ "integrity": "sha512-Fa/m+l8tOIeK81diylQ05t0+8JFYoW5Dm+mX7ekZKPNjViZIBDatsUHYiWBbwA0L2YLwYgADIO+NmhQZe1ns0g==",
+ "dependencies": {
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/gui": "^5.8.0"
},
- "engines": {
- "node": "*"
+ "peerDependencies": {
+ "@types/react": ">=16.7.3",
+ "@types/react-dom": ">=16.0.9"
}
},
"node_modules/@babylonjs/inspector": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/inspector/-/inspector-4.2.2.tgz",
- "integrity": "sha512-aTK9u+wKv9pvL+/ftRMQxIiwyvxUs4AF0RaN/WQgDRqLKdYf+NGCjc2NX5P4Krcs5hU6CD7CjyOIhhtJXGRk7g==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/inspector/-/inspector-5.8.0.tgz",
+ "integrity": "sha512-HJ/4iDdf5G5Jh67FLDlW+tNdKIMSB0NVrExXgY+Vgbj9AtIFqSR/WU2Zo2P3qNnCvq2w9AmDXxfJPkqVq+/hJw==",
"dependencies": {
- "@babylonjs/core": "4.2.2",
- "@babylonjs/gui": "4.2.2",
- "@babylonjs/loaders": "4.2.2",
- "@babylonjs/materials": "4.2.2",
- "@babylonjs/serializers": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
- },
- "engines": {
- "node": "*"
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/gui": "^5.8.0",
+ "@babylonjs/gui-editor": "^5.8.0",
+ "@babylonjs/loaders": "^5.8.0",
+ "@babylonjs/materials": "^5.8.0",
+ "@babylonjs/serializers": "^5.8.0",
+ "@fortawesome/fontawesome-svg-core": "^6.1.0",
+ "@fortawesome/free-regular-svg-icons": "^6.0.0",
+ "@fortawesome/free-solid-svg-icons": "^6.0.0"
},
"peerDependencies": {
"@types/react": ">=16.7.3",
@@ -1920,41 +1926,32 @@
}
},
"node_modules/@babylonjs/loaders": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-4.2.2.tgz",
- "integrity": "sha512-Qk8r4xp4eOznbX3AsNYv8HgwS+tzGu6TwSpDX4il3g0B+k1N5k6KE5ghrnwDytoxUDVjGZ/VKk2cQqiHsg/NLg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.8.0.tgz",
+ "integrity": "sha512-8hA6xGlJcNvktJ7kzLZyNcWUaoy/LgINNjGKc1l6kvzf2sTLZ2xC0w8ZkHPlOB9Y7o4U4VNRvoxgtewYnTI+8g==",
"dependencies": {
- "@babylonjs/core": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
- },
- "engines": {
- "node": "*"
+ "@babylonjs/core": "^5.8.0",
+ "babylonjs-gltf2interface": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"node_modules/@babylonjs/materials": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-4.2.2.tgz",
- "integrity": "sha512-Y7umjVEYV5ZsLYVxgrkb5+4lPsz35acgOEqiZErFBdGXJw3AHJLJmalcmL5WXqUBR2SzyShFLCJOdbFQbkmaxg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-5.8.0.tgz",
+ "integrity": "sha512-jXP6xFzhctt3zi7JSpLN0FM38P/BO6xfWFN+odnCcA+RZm66Pm9QhcCU3m6vbn/8fZuj3/u2HUve0LusdBr9XQ==",
"dependencies": {
- "@babylonjs/core": "4.2.2",
- "tslib": ">=1.10.0"
- },
- "engines": {
- "node": "*"
+ "@babylonjs/core": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"node_modules/@babylonjs/serializers": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-4.2.2.tgz",
- "integrity": "sha512-PEW09qqScaWV5c9UA44uY2YuF9aQJ6gYTMvjopul9YsiPoJolL4QrHO9OxikaYWQb7rgll3XukoRejhZ+HanTQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-5.8.0.tgz",
+ "integrity": "sha512-KZNK5p9dlSaEjeS/jH50pAD9liJjkQCdWg9SXc1l537wiJHSqBdkYQ1akgTrVIbYhrjr5sYh/4+Eh8qx378eBg==",
"dependencies": {
- "@babylonjs/core": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
- },
- "engines": {
- "node": "*"
+ "@babylonjs/core": "^5.8.0",
+ "babylonjs-gltf2interface": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"node_modules/@codemirror/autocomplete": {
@@ -2295,6 +2292,51 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz",
+ "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-regular-svg-icons": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-solid-svg-icons": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
@@ -2683,14 +2725,15 @@
}
},
"node_modules/@sindarius/gcodeviewer": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-2.1.18.tgz",
- "integrity": "sha512-uGD5uozEfUjbQaJw2D4pr1+ai1+X6cNf6W1olpaO/R7Ijr9E4NXllsXMeTKYjeMynNdhElDuefTRC843+egAOA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-3.1.0.tgz",
+ "integrity": "sha512-SS9+tw16aPYi3UGwxUJL5uuBeYN42flYhfy2+4gBS2HPJnbrRXytlPywYRIFir9b1PI5sf9c4M+OEZPRdqYOXA==",
"dependencies": {
- "@babylonjs/core": "^4.2.0",
- "@babylonjs/inspector": "^4.2.0",
- "@babylonjs/materials": "^4.2.0",
- "d3": "^7.0.0"
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/inspector": "^5.8.0",
+ "@babylonjs/loaders": "^5.8.0",
+ "@babylonjs/materials": "^5.8.0",
+ "d3": "^7.4.4"
}
},
"node_modules/@surma/rollup-plugin-off-main-thread": {
@@ -2752,15 +2795,15 @@
"integrity": "sha512-V25YHbSoKQN35UasHf0EKD9U2vcmexRSp78qa8UglxFH8H3D+adEa9zGZwrqpH4TdvqeMrgMqVqsLB4woAryrQ=="
},
"node_modules/@types/prop-types": {
- "version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
"peer": true
},
"node_modules/@types/react": {
- "version": "17.0.40",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.40.tgz",
- "integrity": "sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ==",
+ "version": "18.0.9",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.9.tgz",
+ "integrity": "sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw==",
"peer": true,
"dependencies": {
"@types/prop-types": "*",
@@ -2769,9 +2812,9 @@
}
},
"node_modules/@types/react-dom": {
- "version": "17.0.13",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz",
- "integrity": "sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ==",
+ "version": "18.0.5",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz",
+ "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==",
"peer": true,
"dependencies": {
"@types/react": "*"
@@ -3554,12 +3597,9 @@
}
},
"node_modules/babylonjs-gltf2interface": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-4.2.2.tgz",
- "integrity": "sha512-LCQgW1lM+EpKK4yWMiPEgi6ONwJ7W4JrSu3t9JixNRgvnic72OnN2f0bt91rE30EJr1ZaokvkXD/aEiBp/Juyg==",
- "engines": {
- "node": "*"
- }
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.8.0.tgz",
+ "integrity": "sha512-60vqZ100RtwexfYnTD2CuKxOpKi8D0KCdU05GCU87BgV6ZavdmmDi04EsGYaH0AH8ygq3AusFyWFiuhTC0gCKQ=="
},
"node_modules/balanced-match": {
"version": "1.0.2",
@@ -4094,9 +4134,9 @@
}
},
"node_modules/csstype": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
- "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
+ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
"peer": true
},
"node_modules/cypress": {
@@ -4163,9 +4203,9 @@
"dev": true
},
"node_modules/d3": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz",
- "integrity": "sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==",
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-7.4.4.tgz",
+ "integrity": "sha512-97FE+MYdAlV3R9P74+R3Uar7wUKkIFu89UWMjEaDhiJ9VxKvqaMxauImy8PC2DdBkdM2BxJOIoLxPrcZUyrKoQ==",
"dependencies": {
"d3-array": "3",
"d3-axis": "3",
@@ -4203,9 +4243,9 @@
}
},
"node_modules/d3-array": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
- "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.6.tgz",
+ "integrity": "sha512-DCbBBNuKOeiR9h04ySRBMW52TFVc91O9wJziuyXw6Ztmy8D3oZbmCkOO3UHKC7ceNJsN2Mavo9+vwV8EAEUXzA==",
"dependencies": {
"internmap": "1 - 2"
},
@@ -4248,9 +4288,9 @@
}
},
"node_modules/d3-color": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
- "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
"engines": {
"node": ">=12"
}
@@ -4381,9 +4421,9 @@
}
},
"node_modules/d3-hierarchy": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
- "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+ "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
"engines": {
"node": ">=12"
}
@@ -10699,63 +10739,74 @@
}
},
"@babylonjs/core": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-4.2.2.tgz",
- "integrity": "sha512-gAgetSyoxFZ/xzMVVnGPKaP941NHA59Ho8GGKFW98OTEp8yZcnzJjNOD2zfF1eKmlvR/6WwSmcrKWTJtPF1pyA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.8.0.tgz",
+ "integrity": "sha512-1/p2XxuwoGStoEc0Nh0O4iBrSfWpRAYzkWXRqxjTqD/CU1bufZuHFLlBQp6GuVei33RU/yGjVI/W5d/rhSIXYA==",
"requires": {
- "tslib": ">=1.10.0"
+ "tslib": "^2.3.1"
}
},
"@babylonjs/gui": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-4.2.2.tgz",
- "integrity": "sha512-iFKnSb0m9Zz7oeD1LTZWE9Hxcp0QMytXZenLNgrbHOm8mo2V+Y6OiVEP9SpvZRqks6bTDTFrpfjMTy1DrZyTGQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-5.8.0.tgz",
+ "integrity": "sha512-uqrJiu2oqyYmY4IgGMfWx0vabUKjkb3PK/ZTO+75rYne6yFFOp5Wivyi03O3Ew+m69W7Igt/gwtVCMaAit+g6w==",
"requires": {
- "@babylonjs/core": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "@babylonjs/gui-editor": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/gui-editor/-/gui-editor-5.8.0.tgz",
+ "integrity": "sha512-Fa/m+l8tOIeK81diylQ05t0+8JFYoW5Dm+mX7ekZKPNjViZIBDatsUHYiWBbwA0L2YLwYgADIO+NmhQZe1ns0g==",
+ "requires": {
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/gui": "^5.8.0"
}
},
"@babylonjs/inspector": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/inspector/-/inspector-4.2.2.tgz",
- "integrity": "sha512-aTK9u+wKv9pvL+/ftRMQxIiwyvxUs4AF0RaN/WQgDRqLKdYf+NGCjc2NX5P4Krcs5hU6CD7CjyOIhhtJXGRk7g==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/inspector/-/inspector-5.8.0.tgz",
+ "integrity": "sha512-HJ/4iDdf5G5Jh67FLDlW+tNdKIMSB0NVrExXgY+Vgbj9AtIFqSR/WU2Zo2P3qNnCvq2w9AmDXxfJPkqVq+/hJw==",
"requires": {
- "@babylonjs/core": "4.2.2",
- "@babylonjs/gui": "4.2.2",
- "@babylonjs/loaders": "4.2.2",
- "@babylonjs/materials": "4.2.2",
- "@babylonjs/serializers": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/gui": "^5.8.0",
+ "@babylonjs/gui-editor": "^5.8.0",
+ "@babylonjs/loaders": "^5.8.0",
+ "@babylonjs/materials": "^5.8.0",
+ "@babylonjs/serializers": "^5.8.0",
+ "@fortawesome/fontawesome-svg-core": "^6.1.0",
+ "@fortawesome/free-regular-svg-icons": "^6.0.0",
+ "@fortawesome/free-solid-svg-icons": "^6.0.0"
}
},
"@babylonjs/loaders": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-4.2.2.tgz",
- "integrity": "sha512-Qk8r4xp4eOznbX3AsNYv8HgwS+tzGu6TwSpDX4il3g0B+k1N5k6KE5ghrnwDytoxUDVjGZ/VKk2cQqiHsg/NLg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.8.0.tgz",
+ "integrity": "sha512-8hA6xGlJcNvktJ7kzLZyNcWUaoy/LgINNjGKc1l6kvzf2sTLZ2xC0w8ZkHPlOB9Y7o4U4VNRvoxgtewYnTI+8g==",
"requires": {
- "@babylonjs/core": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "babylonjs-gltf2interface": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"@babylonjs/materials": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-4.2.2.tgz",
- "integrity": "sha512-Y7umjVEYV5ZsLYVxgrkb5+4lPsz35acgOEqiZErFBdGXJw3AHJLJmalcmL5WXqUBR2SzyShFLCJOdbFQbkmaxg==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-5.8.0.tgz",
+ "integrity": "sha512-jXP6xFzhctt3zi7JSpLN0FM38P/BO6xfWFN+odnCcA+RZm66Pm9QhcCU3m6vbn/8fZuj3/u2HUve0LusdBr9XQ==",
"requires": {
- "@babylonjs/core": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"@babylonjs/serializers": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-4.2.2.tgz",
- "integrity": "sha512-PEW09qqScaWV5c9UA44uY2YuF9aQJ6gYTMvjopul9YsiPoJolL4QrHO9OxikaYWQb7rgll3XukoRejhZ+HanTQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-5.8.0.tgz",
+ "integrity": "sha512-KZNK5p9dlSaEjeS/jH50pAD9liJjkQCdWg9SXc1l537wiJHSqBdkYQ1akgTrVIbYhrjr5sYh/4+Eh8qx378eBg==",
"requires": {
- "@babylonjs/core": "4.2.2",
- "babylonjs-gltf2interface": "4.2.2",
- "tslib": ">=1.10.0"
+ "@babylonjs/core": "^5.8.0",
+ "babylonjs-gltf2interface": "^5.8.0",
+ "tslib": "^2.3.1"
}
},
"@codemirror/autocomplete": {
@@ -11092,6 +11143,35 @@
"strip-json-comments": "^3.1.1"
}
},
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA=="
+ },
+ "@fortawesome/fontawesome-svg-core": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz",
+ "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ }
+ },
+ "@fortawesome/free-regular-svg-icons": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ }
+ },
+ "@fortawesome/free-solid-svg-icons": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ }
+ },
"@humanwhocodes/config-array": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
@@ -11398,14 +11478,15 @@
}
},
"@sindarius/gcodeviewer": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-2.1.18.tgz",
- "integrity": "sha512-uGD5uozEfUjbQaJw2D4pr1+ai1+X6cNf6W1olpaO/R7Ijr9E4NXllsXMeTKYjeMynNdhElDuefTRC843+egAOA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-3.1.0.tgz",
+ "integrity": "sha512-SS9+tw16aPYi3UGwxUJL5uuBeYN42flYhfy2+4gBS2HPJnbrRXytlPywYRIFir9b1PI5sf9c4M+OEZPRdqYOXA==",
"requires": {
- "@babylonjs/core": "^4.2.0",
- "@babylonjs/inspector": "^4.2.0",
- "@babylonjs/materials": "^4.2.0",
- "d3": "^7.0.0"
+ "@babylonjs/core": "^5.8.0",
+ "@babylonjs/inspector": "^5.8.0",
+ "@babylonjs/loaders": "^5.8.0",
+ "@babylonjs/materials": "^5.8.0",
+ "d3": "^7.4.4"
}
},
"@surma/rollup-plugin-off-main-thread": {
@@ -11467,15 +11548,15 @@
"integrity": "sha512-V25YHbSoKQN35UasHf0EKD9U2vcmexRSp78qa8UglxFH8H3D+adEa9zGZwrqpH4TdvqeMrgMqVqsLB4woAryrQ=="
},
"@types/prop-types": {
- "version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
"peer": true
},
"@types/react": {
- "version": "17.0.40",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.40.tgz",
- "integrity": "sha512-UrXhD/JyLH+W70nNSufXqMZNuUD2cXHu6UjCllC6pmOQgBX4SGXOH8fjRka0O0Ee0HrFxapDD8Bwn81Kmiz6jQ==",
+ "version": "18.0.9",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.9.tgz",
+ "integrity": "sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw==",
"peer": true,
"requires": {
"@types/prop-types": "*",
@@ -11484,9 +11565,9 @@
}
},
"@types/react-dom": {
- "version": "17.0.13",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz",
- "integrity": "sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ==",
+ "version": "18.0.5",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz",
+ "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==",
"peer": true,
"requires": {
"@types/react": "*"
@@ -12045,9 +12126,9 @@
}
},
"babylonjs-gltf2interface": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-4.2.2.tgz",
- "integrity": "sha512-LCQgW1lM+EpKK4yWMiPEgi6ONwJ7W4JrSu3t9JixNRgvnic72OnN2f0bt91rE30EJr1ZaokvkXD/aEiBp/Juyg=="
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.8.0.tgz",
+ "integrity": "sha512-60vqZ100RtwexfYnTD2CuKxOpKi8D0KCdU05GCU87BgV6ZavdmmDi04EsGYaH0AH8ygq3AusFyWFiuhTC0gCKQ=="
},
"balanced-match": {
"version": "1.0.2",
@@ -12433,9 +12514,9 @@
"dev": true
},
"csstype": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
- "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
+ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
"peer": true
},
"cypress": {
@@ -12497,9 +12578,9 @@
}
},
"d3": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz",
- "integrity": "sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==",
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-7.4.4.tgz",
+ "integrity": "sha512-97FE+MYdAlV3R9P74+R3Uar7wUKkIFu89UWMjEaDhiJ9VxKvqaMxauImy8PC2DdBkdM2BxJOIoLxPrcZUyrKoQ==",
"requires": {
"d3-array": "3",
"d3-axis": "3",
@@ -12534,9 +12615,9 @@
}
},
"d3-array": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
- "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.6.tgz",
+ "integrity": "sha512-DCbBBNuKOeiR9h04ySRBMW52TFVc91O9wJziuyXw6Ztmy8D3oZbmCkOO3UHKC7ceNJsN2Mavo9+vwV8EAEUXzA==",
"requires": {
"internmap": "1 - 2"
}
@@ -12567,9 +12648,9 @@
}
},
"d3-color": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
- "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw=="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="
},
"d3-contour": {
"version": "3.0.1",
@@ -12655,9 +12736,9 @@
}
},
"d3-hierarchy": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
- "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+ "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="
},
"d3-interpolate": {
"version": "3.0.1",
diff --git a/package.json b/package.json
index e1820878..43f9807d 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,7 @@
"@codemirror/state": "^0.19.6",
"@codemirror/stream-parser": "^0.19.2",
"@codemirror/view": "^0.19.28",
- "@sindarius/gcodeviewer": "^2.1.17",
+ "@sindarius/gcodeviewer": "^3.1.0",
"@types/node": "^16.11.22",
"@types/overlayscrollbars": "^1.12.1",
"axios": "^0.26.0",
diff --git a/src/components/gcodeviewer/Viewer.vue b/src/components/gcodeviewer/Viewer.vue
index 607af687..a9b7f099 100644
--- a/src/components/gcodeviewer/Viewer.vue
+++ b/src/components/gcodeviewer/Viewer.vue
@@ -2,66 +2,52 @@
-
+
-
+
-
+
+
+
+ v-model="scrubPosition"
+ :hint="scrubPosition + '/' + scrubFileSize"
+ :max="scrubFileSize"
+ dense
+ min="0"
+ persistent-hint>
+
+
+
+ {{ mdiPause }}
+ {{ mdiPlay }}
+
+
+ {{ mdiFastForward }}
+
+
+ 1x
+ 2x
+ 5x
+ 10x
+ 20x
+
@@ -116,7 +119,10 @@
v-html="tracking ? mdiToggleSwitch : mdiToggleSwitchOffOutline">
{{ $t('GCodeViewer.Tracking') }}
- {{ $t('GCodeViewer.ClearLoadedFile') }}
+
+ {{ mdiBroom }}
+ {{ $t('GCodeViewer.ClearLoadedFile') }}
+
@@ -129,7 +135,7 @@
hide-details
outlined>
-
+
+
+
+
+ {{ mdiCog }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- {{ mdiCog }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
| undefined = undefined
+ private scrubFileSize = 0
+
private downloadSnackbar: downloadSnackbar = {
status: false,
filename: '',
@@ -362,8 +379,9 @@ export default class Viewer extends Mixins(BaseMixin) {
async mounted() {
this.loadedFile = this.$store.state.gcodeviewer?.loadedFileBackup ?? null
viewer = this.$store.state.gcodeviewer?.viewerBackup ?? null
-
await this.init()
+
+ if (this.loadedFile !== null) this.scrubFileSize = viewer.fileSize
}
beforeDestroy() {
@@ -372,6 +390,12 @@ export default class Viewer extends Mixins(BaseMixin) {
this.$store.dispatch('gcodeviewer/setLoadedFileBackup', this.loadedFile)
this.$store.dispatch('gcodeviewer/setViewerBackup', viewer)
}
+
+ this.scrubPlaying = false
+ if (this.scrubInterval) {
+ clearInterval(this.scrubInterval)
+ this.scrubInterval = undefined
+ }
}
@Debounce(200)
@@ -424,22 +448,20 @@ export default class Viewer extends Mixins(BaseMixin) {
}
}
- if (viewer === null) {
- await this.viewerInit(canvasElement)
- }
+ if (viewer === null) await this.viewerInit(canvasElement)
this.registerProgressCallback()
if (this.$route.query?.filename && this.loadedFile !== this.$route.query?.filename?.toString()) {
//TODO: test without sleep
- await this.sleep(1000) //Give the store a chance to initializ before loading the file.
+ await this.sleep(1000) //Give the store a chance to initialize before loading the file.
await this.loadFile(this.$route.query.filename.toString())
}
}
- viewerInit(element: HTMLCanvasElement) {
+ async viewerInit(element: HTMLCanvasElement) {
viewer = new GCodeViewer(element)
- viewer.init()
+ await viewer.init()
viewer.setBackgroundColor(this.backgroundColor)
viewer.bed.setBedColor(this.gridColor)
viewer.setCursorVisiblity(this.showCursor)
@@ -495,6 +517,8 @@ export default class Viewer extends Mixins(BaseMixin) {
clearLoadedFile() {
if (viewer) {
+ this.scrubPlaying = false
+ this.scrubFileSize = 0
viewer.clearScene(true)
this.loadedFile = null
this.tracking = false
@@ -508,8 +532,6 @@ export default class Viewer extends Mixins(BaseMixin) {
}
finishLoad() {
- this.maxZSlider = viewer.getMaxHeight() + 1
- this.zSlider = this.maxZSlider
this.loading = false
viewer.setCursorVisiblity(this.showCursor)
@@ -531,6 +553,7 @@ export default class Viewer extends Mixins(BaseMixin) {
viewer.buildObjects.loadObjectBoundaries(objects)
viewer.buildObjects.showObjectSelection(this.showObjectSelection)
}
+ this.scrubFileSize = viewer.fileSize
viewer.gcodeProcessor.updateFilePosition(viewer.fileSize)
}
@@ -593,6 +616,7 @@ export default class Viewer extends Mixins(BaseMixin) {
await viewer.processFile(text)
this.loadingPercent = 100
this.finishLoad()
+ this.scrubFileSize = viewer.fileSize
}
cancelDownload() {
@@ -672,8 +696,7 @@ export default class Viewer extends Mixins(BaseMixin) {
async trackingChanged(newVal: boolean) {
if (!viewer) return
if (newVal) {
- //Set zSlider to max value
- this.zSlider = this.maxZSlider
+ this.scrubPlaying = false
//Force renderers reload.
viewer.gcodeProcessor.updateFilePosition(0)
viewer?.forceRender()
@@ -989,12 +1012,6 @@ export default class Viewer extends Mixins(BaseMixin) {
}
}
- @Watch('zSlider')
- zSliderChanged(newVal: number) {
- viewer?.setZClipPlane(newVal, -1)
- viewer?.forceRender()
- }
-
get progressColor() {
return this.$store.state.gui.gcodeViewer?.progressColor ?? '#FFFFFF'
}
@@ -1004,8 +1021,46 @@ export default class Viewer extends Mixins(BaseMixin) {
viewer?.setProgressColor(newVal)
}
- updateZSlider(newVal: any) {
- this.zSlider = newVal
+ @Watch('scrubPlaying')
+ scrubPlayingChanged(to: boolean): void {
+ if (to) {
+ if (this.scrubInterval) {
+ clearInterval(this.scrubInterval)
+ this.scrubInterval = undefined
+ }
+ this.scrubPlaying = true
+ if (this.scrubPosition >= this.scrubFileSize) {
+ this.scrubPosition = 0
+ }
+
+ viewer.gcodeProcessor.updateFilePosition(this.scrubPosition - 30000)
+ this.scrubInterval = setInterval(() => {
+ this.scrubPosition += 100 * this.scrubSpeed
+ viewer.gcodeProcessor.updateFilePosition(this.scrubPosition)
+ if (this.tracking || this.scrubPosition >= this.scrubFileSize) {
+ this.scrubPlaying = false
+ }
+ }, 200)
+ } else {
+ if (this.scrubInterval) clearInterval(this.scrubInterval)
+ this.scrubPlaying = false
+ this.scrubInterval = undefined
+ }
+ }
+
+ get showScrubber() {
+ return !this.tracking && this.scrubFileSize > 0
+ }
+
+ @Debounce(200)
+ @Watch('scrubPosition')
+ updateScrubPosition(to: number): void {
+ if (!this.tracking) viewer.gcodeProcessor.updateFilePosition(to)
+ }
+
+ fastForward(): void {
+ this.scrubPosition = this.scrubFileSize
+ viewer.gcodeProcessor.updateFilePosition(this.scrubPosition)
}
}
diff --git a/src/components/panels/GcodefilesPanel.vue b/src/components/panels/GcodefilesPanel.vue
index de3a8623..2bba85cf 100644
--- a/src/components/panels/GcodefilesPanel.vue
+++ b/src/components/panels/GcodefilesPanel.vue
@@ -1321,7 +1321,7 @@ export default class GcodefilesPanel extends Mixins(BaseMixin) {
}
view3D(item: FileStateFile) {
- this.$router.push({ path: '/viewer', query: { filename: this.currentPath + '/' + item.filename } })
+ this.$router.push({ path: '/viewer', query: { filename: 'gcodes' + this.currentPath + '/' + item.filename } })
}
deleteSelectedFiles() {
diff --git a/src/components/settings/SettingsGCodeViewerTab.vue b/src/components/settings/SettingsGCodeViewerTab.vue
index 1bc40c39..9703f08b 100644
--- a/src/components/settings/SettingsGCodeViewerTab.vue
+++ b/src/components/settings/SettingsGCodeViewerTab.vue
@@ -37,6 +37,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/locales/de.json b/src/locales/de.json
index 4dd2586d..03e84e03 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -724,6 +724,7 @@
"GridColor": "Gitterfarbe",
"MaxFeed": "Max Vorschub",
"MinFeed": "Min Vorschub",
+ "ProgressColor": "Fortschrittsfarbe",
"ShowAxes": "Zeige Achsen an"
},
"GeneralTab": {
diff --git a/src/locales/en.json b/src/locales/en.json
index 1c2864c6..7df98d13 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -772,6 +772,7 @@
"GridColor": "Grid Color",
"MaxFeed": "Max Feed Rate",
"MinFeed": "Min Feed Rate",
+ "ProgressColor": "Progress Color",
"ShowAxes": "Show Axes"
},
"GeneralTab": {
diff --git a/src/store/gui/index.ts b/src/store/gui/index.ts
index a27b0ee0..a971b445 100644
--- a/src/store/gui/index.ts
+++ b/src/store/gui/index.ts
@@ -118,7 +118,7 @@ export const getDefaultState = (): GuiState => {
maxFeed: 100,
minFeedColor: '#2196f3',
maxFeedColor: '#D41216',
- progressColor: '#FFFFFFB2',
+ progressColor: '#ECECEC',
showCursor: true,
showTravelMoves: false,
showObjectSelection: false,