diff --git a/dev-server-frontend/bun.lockb b/dev-server-frontend/bun.lockb index 8857eaaf..da74e120 100755 Binary files a/dev-server-frontend/bun.lockb and b/dev-server-frontend/bun.lockb differ diff --git a/dev-server-frontend/package-lock.json b/dev-server-frontend/package-lock.json index 1db5bd6e..5fc0a36b 100644 --- a/dev-server-frontend/package-lock.json +++ b/dev-server-frontend/package-lock.json @@ -22,7 +22,7 @@ "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-toggle-group": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", - "@tscircuit/3d-viewer": "^0.0.13", + "@tscircuit/3d-viewer": "^0.0.14", "@tscircuit/builder": "^1.5.134", "@tscircuit/pcb-viewer": "^1.4.0", "@tscircuit/schematic-viewer": "^1.2.14", @@ -2173,6 +2173,230 @@ } } }, + "node_modules/@resvg/resvg-js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz", + "integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==", + "license": "MPL-2.0", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@resvg/resvg-js-android-arm-eabi": "2.6.2", + "@resvg/resvg-js-android-arm64": "2.6.2", + "@resvg/resvg-js-darwin-arm64": "2.6.2", + "@resvg/resvg-js-darwin-x64": "2.6.2", + "@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2", + "@resvg/resvg-js-linux-arm64-gnu": "2.6.2", + "@resvg/resvg-js-linux-arm64-musl": "2.6.2", + "@resvg/resvg-js-linux-x64-gnu": "2.6.2", + "@resvg/resvg-js-linux-x64-musl": "2.6.2", + "@resvg/resvg-js-win32-arm64-msvc": "2.6.2", + "@resvg/resvg-js-win32-ia32-msvc": "2.6.2", + "@resvg/resvg-js-win32-x64-msvc": "2.6.2" + } + }, + "node_modules/@resvg/resvg-js-android-arm-eabi": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz", + "integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-android-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz", + "integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz", + "integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-x64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz", + "integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz", + "integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz", + "integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz", + "integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz", + "integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz", + "integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-arm64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz", + "integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-ia32-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz", + "integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==", + "cpu": [ + "ia32" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-x64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz", + "integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-wasm": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-wasm/-/resvg-wasm-2.6.2.tgz", + "integrity": "sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==", + "license": "MPL-2.0", + "engines": { + "node": ">= 10" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -2655,16 +2879,22 @@ } }, "node_modules/@tscircuit/3d-viewer": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/@tscircuit/3d-viewer/-/3d-viewer-0.0.13.tgz", - "integrity": "sha512-o/LBEeGimzRF4UFPsjlG63W7/khziaxeXrKygYFSM4WNvgAuyYWU5LfMc9Heha3AM0rhcijOFUSmHBcHQaWVqg==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@tscircuit/3d-viewer/-/3d-viewer-0.0.14.tgz", + "integrity": "sha512-zYdzSsLE7V5KSa0eiOgv0pdKYUoEKgIXpVZqeygAZG6P2jNsnmkOUz/o8QPvn0Og3NflNJQ36UnzJ0wmsIF71w==", "dependencies": { "@jscad/modeling": "^2.12.2", "@jscad/regl-renderer": "^2.6.9", "@jscad/stl-serializer": "^2.1.17", "@react-three/drei": "^9.107.2", "@react-three/fiber": "^8.16.8", + "@tscircuit/builder": "^1.9.0", + "@tscircuit/react-fiber": "^1.1.29", + "@tscircuit/soup": "^0.0.39", + "@tscircuit/soup-util": "^0.0.15", "@types/three": "^0.165.0", + "jscad-fiber": "^0.0.38", + "jscad-planner": "^0.0.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-use-gesture": "^9.1.3", @@ -2673,15 +2903,16 @@ } }, "node_modules/@tscircuit/builder": { - "version": "1.5.148", - "resolved": "https://registry.npmjs.org/@tscircuit/builder/-/builder-1.5.148.tgz", - "integrity": "sha512-H8zn2XD1Ie1GITG7nH8DzLYHrUbMPtlc8aXe9krPMDE+zxl5OBIwfDe5Hmi8bO0G0790cvUQU71b8qZeDVh35w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@tscircuit/builder/-/builder-1.9.0.tgz", + "integrity": "sha512-jVz8qQB3ChiRxQP+/0jzM6FG7G7nDL1AkkcguH1vVrinHQ/rtXKfIv9leDDHLKVRl2CBfXj+z4Bb8WP4lwDusg==", "license": "MIT", "dependencies": { "@lume/kiwi": "^0.1.0", "@tscircuit/layout": "^0.0.25", "@tscircuit/routing": "1.3.1", "@tscircuit/schematic-autolayout": "^0.0.5", + "circuit-to-png": "^0.0.3", "convert-units": "^2.3.4", "fast-json-stable-stringify": "^2.1.0", "format-si-prefix": "^0.3.2", @@ -2837,18 +3068,31 @@ } }, "node_modules/@tscircuit/react-fiber": { - "version": "1.0.6", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tscircuit/react-fiber/-/react-fiber-1.2.0.tgz", + "integrity": "sha512-PpgVskFZBCLv5gz0KHuc3fkPBftenzo/MJeyumy2uKc0ApMTaQSd1i6SiEG5Khat7njvBGCwzxKj3dYBCeCKrg==", "license": "MIT", - "peer": true, "dependencies": { - "lodash": "^4.17.21", - "react-reconciler": "^0.29.0" + "@tscircuit/soup": "^0.0.34", + "react-reconciler": "^0.29.0", + "to-snake-case": "^1.0.0" }, "peerDependencies": { "@tscircuit/builder": "*", + "@tscircuit/props": "*", "react": "*" } }, + "node_modules/@tscircuit/react-fiber/node_modules/@tscircuit/soup": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@tscircuit/soup/-/soup-0.0.34.tgz", + "integrity": "sha512-Xz0bwDE5FiF8qXaG0LZ5UEx7HeKX3FLvKhqq02l+iyzmoSBiwhlf8U4Z2WI+XtY63KSyqlv8r0ixNrtWrlWucQ==", + "license": "ISC", + "dependencies": { + "convert-units": "^2.3.4", + "zod": "^3.23.6" + } + }, "node_modules/@tscircuit/routing": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@tscircuit/routing/-/routing-1.3.1.tgz", @@ -2908,20 +3152,22 @@ "resolved": "https://registry.npmjs.org/@tscircuit/soup/-/soup-0.0.39.tgz", "integrity": "sha512-22AaLOEtNs871XuRprfgTFsFq2Rp/DVKaW3XzXsh9O0PDjGuPzqsBhPIBy9Em94B5R3yXZMOIprCbTFOvPDAJA==", "license": "ISC", - "peer": true, "dependencies": { "convert-units": "^2.3.4", "zod": "^3.23.6" } }, "node_modules/@tscircuit/soup-util": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@tscircuit/soup-util/-/soup-util-0.0.11.tgz", - "integrity": "sha512-fNL84qhAglj6KSdYXVafmDOByRMIHAnyzDgpRmzYrkCUbv3AvJgH1HqO8j9p3pqe/Oc+Csbm14Lhgl+SrxCgYg==", + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@tscircuit/soup-util/-/soup-util-0.0.15.tgz", + "integrity": "sha512-clr3dyNEijAtPmRq85yRUNouhavbLaH3dy6nYE7pWfaSE7yPcfnkRbsfYJj4S7bGJZZTAj73MROaRD85NKfKqA==", "license": "ISC", - "peer": true, + "dependencies": { + "parsel-js": "^1.1.2" + }, "peerDependencies": { "@tscircuit/soup": "*", + "transformation-matrix": "*", "zod": "*" } }, @@ -3740,6 +3986,12 @@ "version": "1.0.2", "license": "MIT" }, + "node_modules/base-x": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz", + "integrity": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==", + "license": "MIT" + }, "node_modules/base16": { "version": "1.0.0", "license": "MIT" @@ -3945,6 +4197,15 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bs58": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz", + "integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==", + "license": "MIT", + "dependencies": { + "base-x": "^4.0.0" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -4090,6 +4351,41 @@ "node": ">= 6" } }, + "node_modules/circuit-to-png": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/circuit-to-png/-/circuit-to-png-0.0.3.tgz", + "integrity": "sha512-SDd6P7pTD0HdkBkt7ILZmpA6OfSJATcz+uNtLv7u714LRGAU7tp5gkZmYnQJ+FWglunYUM1bHdezfW4B31r+FA==", + "dependencies": { + "@resvg/resvg-js": "^2.6.2", + "@resvg/resvg-wasm": "^2.6.2", + "circuit-to-svg": "^0.0.1" + }, + "peerDependencies": { + "@tscircuit/soup": "*", + "typescript": "^5.5.4" + } + }, + "node_modules/circuit-to-svg": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/circuit-to-svg/-/circuit-to-svg-0.0.1.tgz", + "integrity": "sha512-DAZ1d3iV37vaJ0SNuV9GhhTvR23fmTYrwRkQxxYhvkx8jzuP4V9YBEuAJOIsY5Pqha3sjTzkNurik3BWHoBKhQ==", + "license": "ISC", + "dependencies": { + "@tscircuit/routing": "^1.3.5", + "@tscircuit/soup": "^0.0.39" + } + }, + "node_modules/circuit-to-svg/node_modules/@tscircuit/routing": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@tscircuit/routing/-/routing-1.3.5.tgz", + "integrity": "sha512-6qHGsKC731TbeaqiQToHS5Zao+93nv99LjbpI479Bqz8Avc8CAUax9QnhMhJ5KvYQv5zLtjv2ywezzRxZf09ZA==", + "license": "ISC", + "dependencies": { + "bs58": "^5.0.0", + "pathfinding": "^0.4.18", + "react-error-boundary": "^4.0.11" + } + }, "node_modules/class-variance-authority": { "version": "0.7.0", "license": "Apache-2.0", @@ -6027,6 +6323,42 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jscad-fiber": { + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/jscad-fiber/-/jscad-fiber-0.0.38.tgz", + "integrity": "sha512-HKNxXiMOlxcANKQNywor6pA+whoBGtOhHfr4fUz9Zzbswjhz+M8vuEJn2QiD0yLEWnl+oYg3eiFq5Tb05Q+60g==", + "dependencies": { + "color": "^4.2.3", + "react-reconciler": "^0.29.2" + }, + "peerDependencies": { + "@jscad/modeling": "*", + "@react-three/fiber": "*", + "react": "*", + "three": "*" + } + }, + "node_modules/jscad-fiber/node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/jscad-planner": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/jscad-planner/-/jscad-planner-0.0.2.tgz", + "integrity": "sha512-0m/FR/OLCdu96GFwjtZ2dI+pUz8C2+wo6QECUptZ0XxBwKgyshIPHdUTNPKEyrPMuvgvoH0TNcviqMclpfHgVw==", + "peerDependencies": { + "typescript": "^5.0.0" + } + }, "node_modules/jsesc": { "version": "2.5.2", "license": "MIT", @@ -6842,6 +7174,12 @@ "version": "0.1.2", "license": "MIT" }, + "node_modules/parsel-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/parsel-js/-/parsel-js-1.1.2.tgz", + "integrity": "sha512-D66DG2nKx4Yoq66TMEyCUHlR2STGqO7vsBrX7tgyS9cfQyO6XD5JyzOiflwmWN6a4wbUAqpmHqmrxlTQVGZcbA==", + "license": "MIT" + }, "node_modules/parseunit": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/parseunit/-/parseunit-0.3.1.tgz", @@ -7448,18 +7786,19 @@ } }, "node_modules/react-reconciler": { - "version": "0.29.0", + "version": "0.29.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.29.2.tgz", + "integrity": "sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "engines": { "node": ">=0.10.0" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-refresh": { @@ -8336,6 +8675,12 @@ "node": ">=4" } }, + "node_modules/to-no-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", + "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==", + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "license": "MIT", @@ -8346,6 +8691,24 @@ "node": ">=8.0" } }, + "node_modules/to-snake-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-snake-case/-/to-snake-case-1.0.0.tgz", + "integrity": "sha512-joRpzBAk1Bhi2eGEYBjukEWHOe/IvclOkiJl3DtA91jV6NwQ3MwXA4FHYeqk8BNp/D8bmi9tcNbRu/SozP0jbQ==", + "license": "MIT", + "dependencies": { + "to-space-case": "^1.0.0" + } + }, + "node_modules/to-space-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", + "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==", + "license": "MIT", + "dependencies": { + "to-no-case": "^1.0.0" + } + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -8485,7 +8848,9 @@ } }, "node_modules/typescript": { - "version": "5.4.2", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", diff --git a/dev-server-frontend/package.json b/dev-server-frontend/package.json index 30db1a79..b245cb33 100644 --- a/dev-server-frontend/package.json +++ b/dev-server-frontend/package.json @@ -30,7 +30,7 @@ "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-toggle-group": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", - "@tscircuit/3d-viewer": "^0.0.13", + "@tscircuit/3d-viewer": "^0.0.14", "@tscircuit/builder": "^1.5.134", "@tscircuit/pcb-viewer": "^1.4.0", "@tscircuit/schematic-viewer": "^1.2.14",