diff --git a/package.json b/package.json index 5bc6629..1cfbe33 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,13 @@ "format": "prettier --write src/" }, "dependencies": { - "@vueuse/core": "^13.2.0" + "@types/fabric": "^5.3.10", + "@vueuse/core": "^13.2.0", + "fabric": "^6.7.0" }, "devDependencies": { + "@ease-forge/runtime": "^1.0.12", + "@ease-forge/shared": "^1.0.12", "@element-plus/icons-vue": "^2.3.1", "@rolldown/pluginutils": "1.0.0-beta.8-commit.56abf23", "@tsconfig/node22": "^22.0.1", @@ -28,23 +32,11 @@ "@vitejs/plugin-vue": "^5.2.3", "@vitejs/plugin-vue-jsx": "^4.2.0", "@vue/tsconfig": "^0.7.0", - "troika-three-text": "^0.52.4", - "mitt": "^3.0.1", - "tslib": "2.8.1", - "npm-run-all2": "^7.0.2", - "prettier": "3.5.3", - "rimraf": "^6.0.1", - "typescript": "~5.8.0", - "vite": "^6.2.4", - "vite-plugin-vue-devtools": "^7.7.2", - "vue-tsc": "^2.2.8", - "three": "^0.176.0", - "camera-controls": "2.10.1", - "three-mesh-bvh": "^0.9.0", "ag-grid-community": "^28.2.1", "ag-grid-enterprise": "^28.2.1", "ag-grid-vue3": "^28.2.1", "axios": "^1.9.0", + "camera-controls": "2.10.1", "codemirror": "^5.65.19", "dat.gui": "^0.7.9", "decimal.js": "^10.5.0", @@ -55,14 +47,24 @@ "less": "^4.2.1", "localforage": "^1.10.0", "lodash": "^4.17.21", + "mitt": "^3.0.1", + "npm-run-all2": "^7.0.2", "pinia": "^3.0.1", + "prettier": "3.5.3", + "rimraf": "^6.0.1", "sortablejs": "1.15.6", "split.js": "^1.6.4", + "three": "^0.176.0", + "three-mesh-bvh": "^0.9.0", + "troika-three-text": "^0.52.4", + "tslib": "2.8.1", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", "vue": "^3.5.13", "vue-i18n": "9.2.2", "vue-router": "^4.5.0", - "vue3-menus": "^1.1.2", - "@ease-forge/shared": "^1.0.12", - "@ease-forge/runtime": "^1.0.12" + "vue-tsc": "^2.2.8", + "vue3-menus": "^1.1.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 967ff6e..5e256c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,15 @@ importers: .: dependencies: + '@types/fabric': + specifier: ^5.3.10 + version: 5.3.10 '@vueuse/core': specifier: ^13.2.0 version: 13.2.0(vue@3.5.14(typescript@5.8.3)) + fabric: + specifier: ^6.7.0 + version: 6.7.0 devDependencies: '@ease-forge/runtime': specifier: ^1.0.12 @@ -521,6 +527,10 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@mapbox/node-pre-gyp@1.0.11': + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -570,67 +580,56 @@ packages: resolution: {integrity: sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.41.0': resolution: {integrity: sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.41.0': resolution: {integrity: sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.41.0': resolution: {integrity: sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.41.0': resolution: {integrity: sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.41.0': resolution: {integrity: sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.41.0': resolution: {integrity: sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.41.0': resolution: {integrity: sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.41.0': resolution: {integrity: sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.41.0': resolution: {integrity: sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.41.0': resolution: {integrity: sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.41.0': resolution: {integrity: sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==} @@ -657,6 +656,10 @@ packages: '@sxzz/popperjs-es@2.11.7': resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + '@tsconfig/node22@22.0.2': resolution: {integrity: sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==} @@ -666,6 +669,9 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/fabric@5.3.10': + resolution: {integrity: sha512-fsJIuVkU+B2AnmQh+Ml2X0ax3NmRIqLvEXmZ+squX60HaF89TvdIP6tI6Uk5srXaauswTwPOOfWE7k2QboUZCg==} + '@types/jquery@3.5.32': resolution: {integrity: sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==} @@ -863,6 +869,25 @@ packages: '@webgpu/types@0.1.60': resolution: {integrity: sha512-8B/tdfRFKdrnejqmvq95ogp8tf52oZ51p3f4QD5m5Paey/qlX4Rhhy5Y8tgFMi7Ms70HzcMMw3EQjH/jdhTwlA==} + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + ag-grid-community@28.2.1: resolution: {integrity: sha512-DMZh/xD/FqYP17qJ1M92PolTYe+hrKuEaf+A4h13O6qn2x/xZQrTRGW5DgnQLR/uLMe1XXZQPKR3UKgAlKo69A==} @@ -872,6 +897,10 @@ packages: ag-grid-vue3@28.2.1: resolution: {integrity: sha512-n7+l51zFCZm3SVT2pI0lVVwL8gsDPebqNLfEy4DS17OlV5IL7c1eNXRosv/QMu+YHOEMVcwFRWH380nIjVF/+w==} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + alien-signals@1.0.13: resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==} @@ -891,6 +920,14 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} @@ -909,6 +946,9 @@ packages: birpc@2.3.0: resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} @@ -937,6 +977,14 @@ packages: caniuse-lite@1.0.30001718: resolution: {integrity: sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==} + canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} + engines: {node: '>=6'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + codemirror@5.65.19: resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} @@ -947,10 +995,20 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + console-control-strings@1.1.0: + resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -965,12 +1023,26 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dat.gui@0.7.9: resolution: {integrity: sha512-sCNc1OHobc+Erc1HqiswYgHdVNpSJUlk/Hz8vzOCsER7rl+oF/4+v8GXFUyCgtXpoCX6+bnmg07DedLvBLwYKQ==} + data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} @@ -989,6 +1061,10 @@ packages: decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + decompress-response@4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} + default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} @@ -1005,6 +1081,17 @@ packages: resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} engines: {node: '>=0.4.0'} + delegates@1.0.0: + resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1030,6 +1117,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@6.0.0: + resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} + engines: {node: '>=0.12'} + errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true @@ -1065,13 +1156,35 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + execa@9.5.3: resolution: {integrity: sha512-QFNnTvU3UjgWFy8Ef9iDHvIdcgZ344ebkwYx4/KLbR+CKQA4xBaHzv+iRpp86QfMHP8faFQLh8iOc57215y4Rg==} engines: {node: ^18.19.0 || >=20.5.0} + fabric@6.7.0: + resolution: {integrity: sha512-+yKumsh1MvJ44Um2eOhb4Q6CyZ6e2XKBV3IfQvzuGKhl2UkRFQtIKPUi6f06m3gd0r5zspgMUl5iwxtT1dmFAQ==} + engines: {node: '>=16.20.0'} + fdir@6.4.4: resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} peerDependencies: @@ -1108,6 +1221,13 @@ packages: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1116,6 +1236,11 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -1137,6 +1262,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -1156,6 +1285,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -1170,6 +1302,18 @@ packages: hotkeys-js@3.13.10: resolution: {integrity: sha512-O3ktQfRV5eMDCIxj60enw5FBLQfTiRnX6evXn3UFeWylIcHAXwRkRTeiGX8dg3MKaM7y3SNj6PmcCxrwuoIBtA==} + html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-signals@8.0.1: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} @@ -1186,6 +1330,13 @@ packages: immediate@3.0.6: resolution: {integrity: sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1204,6 +1355,9 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-stream@4.0.1: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} @@ -1240,6 +1394,15 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -1298,6 +1461,10 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -1325,21 +1492,45 @@ packages: engines: {node: '>=4'} hasBin: true + mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -1350,6 +1541,9 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + nan@2.22.2: + resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -1365,9 +1559,23 @@ packages: engines: {node: '>= 4.4.x'} hasBin: true + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + normalize-wheel-es@1.2.0: resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} @@ -1384,13 +1592,26 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + numeral@2.0.6: resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==} + nwsapi@2.2.20: + resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + open@10.1.2: resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} engines: {node: '>=18'} @@ -1406,9 +1627,16 @@ packages: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1471,21 +1699,42 @@ packages: prr@1.0.1: resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=} + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + read-package-json-fast@4.0.0: resolution: {integrity: sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==} engines: {node: ^18.17.0 || >=20.5.0} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} @@ -1500,12 +1749,19 @@ packages: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -1514,6 +1770,14 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1542,10 +1806,19 @@ packages: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@3.1.1: + resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} + sirv@3.0.1: resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} engines: {node: '>=18'} @@ -1576,6 +1849,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1592,6 +1868,13 @@ packages: resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} engines: {node: '>=16'} + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + three-mesh-bvh@0.9.0: resolution: {integrity: sha512-xAwZj0hZknpwVsdK5BBJTIAZDjDPZCRzURY1o+z/JHBON/jc2UetK1CzPeQZiiOVSfI4jV2z7sXnnGtgsgnjaA==} peerDependencies: @@ -1608,6 +1891,17 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + troika-three-text@0.52.4: resolution: {integrity: sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==} peerDependencies: @@ -1636,6 +1930,10 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -1646,6 +1944,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + vite-hot-client@2.0.4: resolution: {integrity: sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==} peerDependencies: @@ -1762,9 +2066,35 @@ packages: typescript: optional: true + w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + webgl-sdf-generator@1.1.1: resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1775,6 +2105,9 @@ packages: engines: {node: ^18.17.0 || >=20.5.0} hasBin: true + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -1783,9 +2116,34 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yoctocolors@2.1.1: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} @@ -2156,6 +2514,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@mapbox/node-pre-gyp@1.0.11': + dependencies: + detect-libc: 2.0.4 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.7.2 + tar: 6.2.1 + transitivePeerDependencies: + - encoding + - supports-color + optional: true + '@polka/url@1.0.0-next.29': {} '@rolldown/pluginutils@1.0.0-beta.8-commit.56abf23': {} @@ -2234,12 +2608,17 @@ snapshots: '@sxzz/popperjs-es@2.11.7': {} + '@tootallnate/once@2.0.0': + optional: true + '@tsconfig/node22@22.0.2': {} '@tweenjs/tween.js@23.1.3': {} '@types/estree@1.0.7': {} + '@types/fabric@5.3.10': {} + '@types/jquery@3.5.32': dependencies: '@types/sizzle': 2.3.9 @@ -2532,6 +2911,26 @@ snapshots: '@webgpu/types@0.1.60': {} + abab@2.0.6: + optional: true + + abbrev@1.1.1: + optional: true + + acorn-globals@7.0.1: + dependencies: + acorn: 8.14.1 + acorn-walk: 8.3.4 + optional: true + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.1 + optional: true + + acorn@8.14.1: + optional: true + ag-grid-community@28.2.1: {} ag-grid-enterprise@28.2.1: {} @@ -2543,6 +2942,13 @@ snapshots: transitivePeerDependencies: - typescript + agent-base@6.0.2: + dependencies: + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + optional: true + alien-signals@1.0.13: {} ansi-regex@5.0.1: {} @@ -2555,6 +2961,15 @@ snapshots: ansi-styles@6.2.1: {} + aproba@2.0.0: + optional: true + + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + optional: true + async-validator@4.2.5: {} asynckit@0.4.0: {} @@ -2575,6 +2990,12 @@ snapshots: birpc@2.3.0: {} + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + optional: true + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 @@ -2606,6 +3027,19 @@ snapshots: caniuse-lite@1.0.30001718: {} + canvas@2.11.2: + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + nan: 2.22.2 + simple-get: 3.1.1 + transitivePeerDependencies: + - encoding + - supports-color + optional: true + + chownr@2.0.0: + optional: true + codemirror@5.65.19: {} color-convert@2.0.1: @@ -2614,10 +3048,19 @@ snapshots: color-name@1.1.4: {} + color-support@1.1.3: + optional: true + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 + concat-map@0.0.1: + optional: true + + console-control-strings@1.1.0: + optional: true + convert-source-map@2.0.0: {} copy-anything@2.0.6: @@ -2634,10 +3077,28 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cssom@0.3.8: + optional: true + + cssom@0.5.0: + optional: true + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + optional: true + csstype@3.1.3: {} dat.gui@0.7.9: {} + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + optional: true + dayjs@1.11.13: {} de-indent@1.0.2: {} @@ -2648,6 +3109,11 @@ snapshots: decimal.js@10.5.0: {} + decompress-response@4.2.1: + dependencies: + mimic-response: 2.1.0 + optional: true + default-browser-id@5.0.0: {} default-browser@5.2.1: @@ -2659,6 +3125,17 @@ snapshots: delayed-stream@1.0.0: {} + delegates@1.0.0: + optional: true + + detect-libc@2.0.4: + optional: true + + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + optional: true + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -2696,6 +3173,9 @@ snapshots: entities@4.5.0: {} + entities@6.0.0: + optional: true + errno@0.1.8: dependencies: prr: 1.0.1 @@ -2750,8 +3230,26 @@ snapshots: escape-html@1.0.3: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + optional: true + + esprima@4.0.1: + optional: true + + estraverse@5.3.0: + optional: true + estree-walker@2.0.2: {} + esutils@2.0.3: + optional: true + execa@9.5.3: dependencies: '@sindresorhus/merge-streams': 4.0.0 @@ -2767,6 +3265,16 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 + fabric@6.7.0: + optionalDependencies: + canvas: 2.11.2 + jsdom: 20.0.3(canvas@2.11.2) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + fdir@6.4.4(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -2797,11 +3305,32 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + optional: true + + fs.realpath@1.0.0: + optional: true + fsevents@2.3.3: optional: true function-bind@1.1.2: {} + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + optional: true + gensync@1.0.0-beta.2: {} get-intrinsic@1.3.0: @@ -2836,6 +3365,16 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + optional: true + globals@11.12.0: {} gopd@1.2.0: {} @@ -2848,6 +3387,9 @@ snapshots: dependencies: has-symbols: 1.1.0 + has-unicode@2.0.1: + optional: true + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -2858,6 +3400,28 @@ snapshots: hotkeys-js@3.13.10: {} + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + optional: true + + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + optional: true + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + optional: true + human-signals@8.0.1: {} iconv-lite@0.6.3: @@ -2870,6 +3434,15 @@ snapshots: immediate@3.0.6: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + optional: true + + inherits@2.0.4: + optional: true + is-docker@3.0.0: {} is-fullwidth-code-point@3.0.0: {} @@ -2880,6 +3453,9 @@ snapshots: is-plain-obj@4.1.0: {} + is-potential-custom-element-name@1.0.1: + optional: true + is-stream@4.0.1: {} is-unicode-supported@2.1.0: {} @@ -2904,6 +3480,42 @@ snapshots: js-tokens@4.0.0: {} + jsdom@20.0.3(canvas@2.11.2): + dependencies: + abab: 2.0.6 + acorn: 8.14.1 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.5.0 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.2 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.20 + parse5: 7.3.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.18.2 + xml-name-validator: 4.0.0 + optionalDependencies: + canvas: 2.11.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + optional: true + jsesc@3.1.0: {} json-parse-even-better-errors@4.0.0: {} @@ -2966,6 +3578,11 @@ snapshots: semver: 5.7.2 optional: true + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + optional: true + math-intrinsics@1.1.0: {} memoize-one@6.0.0: {} @@ -2983,24 +3600,52 @@ snapshots: mime@1.6.0: optional: true + mimic-response@2.1.0: + optional: true + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + optional: true + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + optional: true + + minipass@5.0.0: + optional: true + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + optional: true + mitt@3.0.1: {} + mkdirp@1.0.4: + optional: true + mrmime@2.0.1: {} ms@2.1.3: {} muggle-string@0.4.1: {} + nan@2.22.2: + optional: true + nanoid@3.3.11: {} nanoid@5.1.5: {} @@ -3011,8 +3656,18 @@ snapshots: sax: 1.4.1 optional: true + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + optional: true + node-releases@2.0.19: {} + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + optional: true + normalize-wheel-es@1.2.0: {} npm-normalize-package-bin@4.0.0: {} @@ -3033,10 +3688,29 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 + npmlog@5.0.1: + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + optional: true + numeral@2.0.6: {} + nwsapi@2.2.20: + optional: true + + object-assign@4.1.1: + optional: true + object-inspect@1.13.4: {} + once@1.4.0: + dependencies: + wrappy: 1.0.2 + optional: true + open@10.1.2: dependencies: default-browser: 5.2.1 @@ -3050,8 +3724,16 @@ snapshots: parse-node-version@1.0.1: {} + parse5@7.3.0: + dependencies: + entities: 6.0.0 + optional: true + path-browserify@1.0.1: {} + path-is-absolute@1.0.1: + optional: true + path-key@3.1.1: {} path-key@4.0.0: {} @@ -3098,19 +3780,45 @@ snapshots: prr@1.0.1: optional: true + psl@1.15.0: + dependencies: + punycode: 2.3.1 + optional: true + + punycode@2.3.1: + optional: true + qs@6.14.0: dependencies: side-channel: 1.1.0 + querystringify@2.2.0: + optional: true + read-package-json-fast@4.0.0: dependencies: json-parse-even-better-errors: 4.0.0 npm-normalize-package-bin: 4.0.0 + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + optional: true + require-from-string@2.0.2: {} + requires-port@1.0.0: + optional: true + rfdc@1.4.1: {} + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + optional: true + rimraf@6.0.1: dependencies: glob: 11.0.2 @@ -3144,17 +3852,31 @@ snapshots: run-applescript@7.0.0: {} + safe-buffer@5.2.1: + optional: true + safer-buffer@2.1.2: optional: true sax@1.4.1: optional: true + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + optional: true + semver@5.7.2: optional: true semver@6.3.1: {} + semver@7.7.2: + optional: true + + set-blocking@2.0.0: + optional: true + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -3191,8 +3913,21 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + signal-exit@3.0.7: + optional: true + signal-exit@4.1.0: {} + simple-concat@1.0.1: + optional: true + + simple-get@3.1.1: + dependencies: + decompress-response: 4.2.1 + once: 1.4.0 + simple-concat: 1.0.1 + optional: true + sirv@3.0.1: dependencies: '@polka/url': 1.0.0-next.29 @@ -3221,6 +3956,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + optional: true + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -3235,6 +3975,19 @@ snapshots: dependencies: copy-anything: 3.0.5 + symbol-tree@3.2.4: + optional: true + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + optional: true + three-mesh-bvh@0.9.0(three@0.176.0): dependencies: three: 0.176.0 @@ -3248,6 +4001,22 @@ snapshots: totalist@3.0.1: {} + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + optional: true + + tr46@0.0.3: + optional: true + + tr46@3.0.0: + dependencies: + punycode: 2.3.1 + optional: true + troika-three-text@0.52.4(three@0.176.0): dependencies: bidi-js: 1.0.3 @@ -3270,6 +4039,9 @@ snapshots: unicorn-magic@0.3.0: {} + universalify@0.2.0: + optional: true + universalify@2.0.1: {} update-browserslist-db@1.1.3(browserslist@4.24.5): @@ -3278,6 +4050,15 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + optional: true + + util-deprecate@1.0.2: + optional: true + vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.15.21)(less@4.3.0)): dependencies: vite: 6.3.5(@types/node@22.15.21)(less@4.3.0) @@ -3389,8 +4170,39 @@ snapshots: optionalDependencies: typescript: 5.8.3 + w3c-xmlserializer@4.0.0: + dependencies: + xml-name-validator: 4.0.0 + optional: true + webgl-sdf-generator@1.1.1: {} + webidl-conversions@3.0.1: + optional: true + + webidl-conversions@7.0.0: + optional: true + + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + optional: true + + whatwg-mimetype@3.0.0: + optional: true + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + optional: true + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + optional: true + which@2.0.2: dependencies: isexe: 2.0.0 @@ -3399,6 +4211,11 @@ snapshots: dependencies: isexe: 3.1.1 + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + optional: true + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -3411,6 +4228,21 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: + optional: true + + ws@8.18.2: + optional: true + + xml-name-validator@4.0.0: + optional: true + + xmlchars@2.2.0: + optional: true + yallist@3.1.1: {} + yallist@4.0.0: + optional: true + yoctocolors@2.1.1: {} diff --git a/src/components/FabricView.vue b/src/components/FabricView.vue new file mode 100644 index 0000000..6d29ee9 --- /dev/null +++ b/src/components/FabricView.vue @@ -0,0 +1,408 @@ + + + + performanceTest()">性能测试 + 全选 + + 物体数:{{ restate.objects }} + 顶点数:{{ restate.vertices }} + 三角形数:{{ restate.faces }} + + + + + + + + + diff --git a/src/core/Theme.ts b/src/core/Theme.ts new file mode 100644 index 0000000..80590fe --- /dev/null +++ b/src/core/Theme.ts @@ -0,0 +1,6 @@ +const Theme = { + backgroundColor: '#DDDDDD', + helpGridLineColor: '#F5F5F5' +} + +export default Theme diff --git a/src/editor/menus/Model3DView.ts b/src/editor/menus/Model3DView.ts index b274e13..840c762 100644 --- a/src/editor/menus/Model3DView.ts +++ b/src/editor/menus/Model3DView.ts @@ -1,5 +1,6 @@ import { defineMenu } from '@/runtime/DefineMenu.ts' import Model3DView from '@/components/Model3DView.vue' +import FabricView from '@/components/FabricView.vue' export default defineMenu((menus) => { menus.insertChildren('tool', @@ -21,7 +22,23 @@ export default defineMenu((menus) => { dialogClass: 'model-3d-view-wrap' }) } + }, + { + name: 'fabricView', label: 'Fabric查看器', order: 2, + click: () => { + system.showDialog(FabricView, { + title: 'Fabric查看器', + width: 950, + height: 400, + showClose: true, + showMax: true, + showCancelButton: false, + showOkButton: false, + dialogClass: 'fabric-view-wrap', + propsData: { fabricView: true } + }) + } } ] ) -}) \ No newline at end of file +}) diff --git a/src/example/ExampleUtil.js b/src/example/ExampleUtil.js new file mode 100644 index 0000000..15b9940 --- /dev/null +++ b/src/example/ExampleUtil.js @@ -0,0 +1,77 @@ +/** + * 构建AGV性能数据 + * @param rows 行数 + * @param cols 列数 + */ +export function buildAgvPerformanceData(rows, cols) { + const spacingX = 1.25 // X轴间距 + const spacingZ = 1.25 // Y轴间距 + + // 创建一个二维数组来存储点阵数据 + const data = new Map() + for (let row = 0; row < rows; row++) { + for (let col = 0; col < cols; col++) { + // 计算每个点的坐标 + const node = createAgvNode(row, col) + node.tf[0][0] = row * spacingX + node.tf[0][2] = col * spacingZ + data.set(node.id, node) + + // 与前一个点进行连线 + // if (row > 0 && col > 0) { + // const preXNode = data.get('wp_' + (row - 1) + '_' + (col)) + // node.dt.center.push(preXNode.id) + // preXNode.dt.center.push(node.id) + // + // const preYNode = data.get('wp_' + (row) + '_' + (col - 1)) + // node.dt.center.push(preYNode.id) + // preYNode.dt.center.push(node.id) + // + // } else if (row > 0) { + // const preXNode = data.get('wp_' + (row - 1) + '_' + (col)) + // node.dt.center.push(preXNode.id) + // preXNode.dt.center.push(node.id) + // + // } else if (col > 0) { + // const preYNode = data.get('wp_' + (row) + '_' + (col - 1)) + // node.dt.center.push(preYNode.id) + // preYNode.dt.center.push(node.id) + // } + + } + } + + data.get('wp_0_0').dt.center.push('wp_0_' + (cols - 1)) + data.get('wp_0_' + (cols - 1)).dt.center.push('wp_0_0') + + data.get('wp_' + (rows - 1) + '_0').dt.center.push('wp_' + (rows - 1) + '_' + (cols - 1)) + data.get('wp_' + (rows - 1) + '_' + (cols - 1)).dt.center.push('wp_' + (rows - 1) + '_0') + + data.get('wp_' + (rows - 1) + '_0').dt.center.push('wp_0_0') + data.get('wp_0_0').dt.center.push('wp_' + (rows - 1) + '_0') + + data.get('wp_' + (rows - 1) + '_' + (cols - 1)).dt.center.push('wp_0_' + (cols - 1)) + data.get('wp_0_' + (cols - 1)).dt.center.push('wp_' + (rows - 1) + '_' + (cols - 1)) + return Array.from(data.values()) +} + +/** + * + * @returns {ItemJson} + */ +export function createAgvNode(x, z) { + return { + id: 'wp_' + x + '_' + z, + t: 'measure', + tf: [ + [x, 0.01, z], + [90, 0, 0], + [0.25, 0.25, 0.1] + ], + dt: { + in: [], + out: [], + center: [] + } + } +} diff --git a/src/example/example1.js b/src/example/example1.js index dfa7bd5..d72e08a 100644 --- a/src/example/example1.js +++ b/src/example/example1.js @@ -1,3 +1,5 @@ +import { buildAgvPerformanceData } from '@/example/ExampleUtil.js' + export default { project_uuid: 'example1', Tool: { @@ -7,10 +9,10 @@ export default { Dashboard: [], // 监控面板 DataTable: [], // 地图自带的数据 Trigger: [ // 触发器 - {name: 'OnOpen', fn: ''}, // 打开 - {name: 'OnReset', fn: ''}, // 仿真重置 - {name: 'OnStart', fn: ''}, // 开始仿真 - {name: 'OnStop', fn: ''} // 停止仿真 + { name: 'OnOpen', fn: '' }, // 打开 + { name: 'OnReset', fn: '' }, // 仿真重置 + { name: 'OnStart', fn: '' }, // 开始仿真 + { name: 'OnStop', fn: '' } // 停止仿真 ], gridHelper: { // 网格辅助线 axesEnabled: true, // 是否显示中心轴 @@ -33,49 +35,6 @@ export default { { catalogCode: 'f1', t: 'floor', // 楼层 items: [ - // { - // id: 'p1', // 物体ID, 唯一标识, 需保证唯一, three.js 中的 uuid - // t: 'measure', // 物体类型, measure表示测量, 需交给 itemType.name == 'measure' 的组件处理 - // tf: [ // 变换矩阵, 3x3矩阵, 采用Y轴向上为正, X轴向右, Z轴向前的右手坐标系 - // [-9.0, 0, -1.0], // 平移向量 position - // [0, 0, 0], // 旋转向量 rotation, 表示绕Y轴旋转的角度, 单位为度。对应 three.js 应进行"角度"转"弧度"的换算 - // [0.25, 0.1, 0.25] // 缩放向量 scale - // ], - // dt: { // 用户数据, 可自定义, 一般用在 three.js 的 userData 中 - // label: '测量1', // 标签名称, 显示用 - // color: '#ff0000', // 颜色, 显示用. 十六进制颜色值, three.js 中的材质颜色 - // center: ['p2'], // 用于 a='ln' 的测量线段, 关联的点对象(uuid) - // in: [], // 物流入方向关联的对象(id) - // out: [] // 物流出方向关联的对象(id) - // } - // }, - // { - // id: 'p2', - // t: 'measure', - // tf: [[-9.0, 0, 3], [0, 0, 0], [0.25, 0.1, 0.25]], - // dt: { - // color: '#ff0000', - // label: '测量2', - // center: ['p1', 'p3', 'p4'] - // } - // }, - // { - // id: 'p3', t: 'measure', - // tf: [[-5.0, 0, 3], [0, 0, 0], [0.25, 0.1, 0.25]], - // dt: { - // label: '测量3', - // center: ['p2'] - // } - // }, - // { - // id: 'p4', - // t: 'measure', - // tf: [[-9.0, 0, 8], [0, 0, 0], [0.25, 0.1, 0.25]], - // dt: { - // label: '测量4', - // center: ['p2'] - // } - // } { id: 'rack1', t: 'rack', @@ -95,9 +54,9 @@ export default { bayWidth: 1.4, // 列的宽度 levelHeight: [1.4, 1.4, 1.4] // 每层的高度 }, - {bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4]}, - {bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4]}, - {bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4]}, + { bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4] }, + { bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4] }, + { bayWidth: 1.4, levelHeight: [1.4, 1.4, 1.4] } ] } }, @@ -106,258 +65,263 @@ export default { t: 'measure', v: true, tf: [[-4, 0.1, 4], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['P2']} + dt: { in: [], out: [], center: ['P2'] } }, { id: 'P2', t: 'measure', v: true, tf: [[5, 0.1, 4], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['P1', 'P3']} + dt: { in: [], out: [], center: ['P1', 'P3'] } }, { id: 'P3', t: 'measure', v: true, tf: [[5, 0.1, 6.25], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['P2']} + dt: { in: [], out: [], center: ['P2'] } }, { id: '39zML1rnSOOQGQYQ2YUMGy', t: 'way', v: true, tf: [[-4, 0.1, 2], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['6wrGKiVJniwgKkoggOoEy6']} + dt: { in: [], out: [], center: ['6wrGKiVJniwgKkoggOoEy6'] } }, { id: '6wrGKiVJniwgKkoggOoEy6', t: 'way', v: true, tf: [[5, 0.1, 2], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['39zML1rnSOOQGQYQ2YUMGy']} + dt: { in: [], out: [], center: ['39zML1rnSOOQGQYQ2YUMGy'] } }, { id: '6UhIIw9QPYh6acwyW8OSGs', t: 'gstore', v: true, tf: [[-1, 0.1, 0.55], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4} + dt: { in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4 } }, { id: '1D0WSRPj8JJJwIcmA0UMqG', t: 'gstore', v: true, tf: [[0.75, 0.1, 0.55], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4} + dt: { in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4 } }, { id: 'gstore3', t: 'gstore', v: true, tf: [[3, 0.1, 0.55], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4} + dt: { in: [], out: [], center: [], storeWidth: 1.4, storeDepth: 1.4 } }, { id: 'pallet1', t: 'pallet', v: true, tf: [[0.75, 0.075, 0.55], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } }, { id: 'pallet2', t: 'pallet', v: true, tf: [[3, 0.075, 0.55], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } }, { id: 'ptr1', t: 'ptr', v: true, tf: [[0.75, 0.075, 2], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98} + dt: { in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98 } }, { id: 'ptr2', t: 'ptr', v: true, tf: [[3, 0.075, 2], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98} + dt: { in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98 } }, { id: 'pallet3', t: 'pallet', v: true, tf: [[3, 0.175, 1.88], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } }, { id: 'pallet4', t: 'pallet', v: true, tf: [[0.75, 0.175, 3.5], [0, 0, 0], [1.5, 1.2, 0.1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } } ] }, { - catalogCode: 'f2', t: 'floor', // 楼层 - items: [{ - id: 'rack1', - t: 'rack', - v: true, - tf: [[4.196, 0.1, 5.882], [0, 270, 0], [1, 1, 1]], - dt: { - rackDepth: 1, - rackWidth: 5.1, - rackHeight: 4.2, - levelCount: 3, - bayCount: 4, - hideFloor: false, - extendColumns: true, - columnSpacing: 1, - bays: [ - {bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4]}, - {bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4]}, - {bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4]}, - {bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4]}], - center: [], - in: [], - out: [] - } - }, {id: '3ExXFSuV9WB2WMY2Quyq6L', t: 'measure', v: true, tf: [[0, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], dt: {in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv']}}, { - id: '3ExXFSuV9WB2WMY2Quyq6L', - t: 'measure', - v: true, - tf: [[0, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], - dt: {in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv']} - }, {id: '4YZKo6XtvL2migaIUmakAr', t: 'measure', v: true, tf: [[8.4, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], dt: {in: [], out: [], center: ['3ExXFSuV9WB2WMY2Quyq6L', '3cdb6OHkp132soSsgW8McA']}}, { - id: '3cdb6OHkp132soSsgW8McA', - t: 'measure', - v: true, - tf: [[8.4, 0.1, 9], [90, 0, 0], [0.1, 0.1, 0.1]], - dt: {in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv']} - }, {id: '7Ik2sRdDZy8Q6sC00AaqCv', t: 'measure', v: true, tf: [[0, 0.1, 9], [90, 0, 0], [0.1, 0.1, 0.1]], dt: {in: [], out: [], center: ['3cdb6OHkp132soSsgW8McA', '3ExXFSuV9WB2WMY2Quyq6L']}}, { - id: '6Vu3dX1V7Si0ISWIiCkoEh', - t: 'gstore', - v: true, - tf: [[1.5, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3} - }, {id: '592UY0EMScbwIyQqgs8aAs', t: 'gstore', v: true, tf: [[3.9, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], dt: {in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3}}, { - id: '38TYyVWMGLf8OogQMIiSOz', - t: 'gstore', - v: true, - tf: [[7.1, 0.1, 2.865], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3} - }, {id: '1hAaZ1xtvukZowAKeWAcqs', t: 'gstore', v: true, tf: [[7.1, 0.1, 4.35], [0, 90, 0], [1, 1, 1]], dt: {in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3}}, { - id: '28GxDYUqDwZc2WsOgMU2wi', - t: 'gstore', - v: true, - tf: [[7.1, 0.1, 6.75], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3} - }, {id: '2fWOnUmFpvYyCWEqAyU0QC', t: 'way', v: true, tf: [[1.5, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r']}}, { - id: '09PTEMUnACWY0MUG4qmk0r', - t: 'way', - v: true, - tf: [[2.7, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['2fWOnUmFpvYyCWEqAyU0QC', '2CSDVrpqthaiQuyWUymCwy', '0mVU9FacN1fmCAmQqwWgIZ']} - }, {id: '2CSDVrpqthaiQuyWUymCwy', t: 'way', v: true, tf: [[3.9, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r']}}, { - id: '0mVU9FacN1fmCAmQqwWgIZ', - t: 'way', - v: true, - tf: [[2.7, 0.1, 2.832], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r', '7LuzEYQQI7OQcEUekEqWcm']} - }, {id: '7LuzEYQQI7OQcEUekEqWcm', t: 'way', v: true, tf: [[2.7, 0.1, 3.932], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['0mVU9FacN1fmCAmQqwWgIZ', '2RForJhOHXtcw0gq8mYAMh']}}, { - id: '2RForJhOHXtcw0gq8mYAMh', - t: 'way', - v: true, - tf: [[2.7, 0.1, 4.582], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['7LuzEYQQI7OQcEUekEqWcm', '32vDSCKBrgMWycW0ySIgsJ']} - }, {id: '32vDSCKBrgMWycW0ySIgsJ', t: 'way', v: true, tf: [[2.7, 0.1, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['2RForJhOHXtcw0gq8mYAMh', '0wcYKcGQialFQCGkAa6aYB']}}, { - id: '0wcYKcGQialFQCGkAa6aYB', - t: 'way', - v: true, - tf: [[2.7, 0.1, 5.882], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['32vDSCKBrgMWycW0ySIgsJ', '55g6mUWBdozg4m2ueUEUsy']} - }, {id: '55g6mUWBdozg4m2ueUEUsy', t: 'way', v: true, tf: [[2.7, 0.1, 6.532], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['0wcYKcGQialFQCGkAa6aYB', '5iKoIUBhnU08EM0IsoyOSW']}}, { - id: '5iKoIUBhnU08EM0IsoyOSW', - t: 'way', - v: true, - tf: [[2.7, 0.1, 7.632], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['55g6mUWBdozg4m2ueUEUsy']} - }, { - id: '3ZP01pHXJRuyeg24oCaaMq', - t: 'way', - v: true, - tf: [[5.65, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['5onDSGuIKBpUQo6g0EIsuS']} - }, {id: '5onDSGuIKBpUQo6g0EIsuS', t: 'way', v: true, tf: [[5.65, 0.1, 2.865], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['3ZP01pHXJRuyeg24oCaaMq', '41A0CKR8cFW8wKkcSMQ4uk']}}, { - id: '41A0CKR8cFW8wKkcSMQ4uk', - t: 'way', - v: true, - tf: [[5.65, 0.1, 3.932], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['5onDSGuIKBpUQo6g0EIsuS', '4PunEz5C3Xk66EaOgMEuMq']} - }, {id: '4PunEz5C3Xk66EaOgMEuMq', t: 'way', v: true, tf: [[5.65, 0.1, 4.348], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['41A0CKR8cFW8wKkcSMQ4uk', '6oCW8i0dpRtuCEIWIaAcQi']}}, { - id: '6oCW8i0dpRtuCEIWIaAcQi', - t: 'way', - v: true, - tf: [[5.65, 0.1, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['4PunEz5C3Xk66EaOgMEuMq', '3C9Z8c6oxQbWcS4uSGkC8b']} - }, {id: '3C9Z8c6oxQbWcS4uSGkC8b', t: 'way', v: true, tf: [[5.65, 0.1, 5.882], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['6oCW8i0dpRtuCEIWIaAcQi', '1jJX8KZLMPSSCwuCOU6AQz']}}, { - id: '1jJX8KZLMPSSCwuCOU6AQz', - t: 'way', - v: true, - tf: [[5.65, 0.1, 6.532], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['3C9Z8c6oxQbWcS4uSGkC8b', '0aJ81sOKqm9FYo60AIQmMG']} - }, {id: '0aJ81sOKqm9FYo60AIQmMG', t: 'way', v: true, tf: [[5.65, 0.1, 6.744], [90, 0, 0], [0.25, 0.25, 0.1]], dt: {in: [], out: [], center: ['1jJX8KZLMPSSCwuCOU6AQz', '2qtxSDVn30EcI2uY4W0CWf']}}, { - id: '2qtxSDVn30EcI2uY4W0CWf', - t: 'way', - v: true, - tf: [[5.65, 0.1, 7.632], [90, 0, 0], [0.25, 0.25, 0.1]], - dt: {in: [], out: [], center: ['0aJ81sOKqm9FYo60AIQmMG']} - }, { - id: 'ptr1', - t: 'ptr', - v: true, - tf: [[5.65, 0.1, 2.865], [0, -90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98} - }, { - id: 'clx1', - t: 'clx', - v: true, - tf: [[1.5, 0.1, 2.13], [0, 0, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], clxWidth: 1.65, clxDepth: 1.65, clxHeight: 3.393} - }, { - id: 'charger1', - t: 'charger', - v: true, - tf: [[2.696, 0.1, 8.75], [0, 0, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], chargerWidth: 0.53, chargerDepth: 0.275, clxHeight: 0.3} - }, { - id: 'charger2', - t: 'charger', - v: true, - tf: [[5.655, 0.1, 8.75], [0, 0, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], chargerWidth: 0.53, chargerDepth: 0.275, clxHeight: 0.3} - }, { - id: 'pallet1122', - t: 'pallet', - v: true, - tf: [[1.5, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} - }, { - id: 'pallet1123', - t: 'pallet', - v: true, - tf: [[7.100, 0.1, 4.35], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} - }, { - id: 'pallet1124', - t: 'pallet', - v: true, - tf: [[4.196, 0.1, 3.95], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} - }, { - id: 'pallet1125', - t: 'pallet', - v: true, - tf: [[4.196, 0.1, 5.225], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} - }, { - id: 'pallet1126', - t: 'pallet', - v: true, - tf: [[4.196, 0.1, 7.775], [0, 90, 0], [1, 1, 1]], - dt: {in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2} - }] + catalogCode: 'f2', t: 'floor', + items: [ + { + id: 'rack1', + t: 'rack', + v: true, + tf: [[4.196, 0.1, 5.882], [0, 270, 0], [1, 1, 1]], + dt: { + rackDepth: 1, + rackWidth: 5.1, + rackHeight: 4.2, + levelCount: 3, + bayCount: 4, + hideFloor: false, + extendColumns: true, + columnSpacing: 1, + bays: [ + { bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4] }, + { bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4] }, + { bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4] }, + { bayWidth: 1.275, levelHeight: [1.4, 1.4, 1.4] }], + center: [], + in: [], + out: [] + } + }, { id: '3ExXFSuV9WB2WMY2Quyq6L', t: 'measure', v: true, tf: [[0, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], dt: { in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv'] } }, { + id: '3ExXFSuV9WB2WMY2Quyq6L', + t: 'measure', + v: true, + tf: [[0, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], + dt: { in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv'] } + }, { id: '4YZKo6XtvL2migaIUmakAr', t: 'measure', v: true, tf: [[8.4, 0.1, 0], [90, 0, 0], [0.1, 0.1, 0.1]], dt: { in: [], out: [], center: ['3ExXFSuV9WB2WMY2Quyq6L', '3cdb6OHkp132soSsgW8McA'] } }, { + id: '3cdb6OHkp132soSsgW8McA', + t: 'measure', + v: true, + tf: [[8.4, 0.1, 9], [90, 0, 0], [0.1, 0.1, 0.1]], + dt: { in: [], out: [], center: ['4YZKo6XtvL2migaIUmakAr', '7Ik2sRdDZy8Q6sC00AaqCv'] } + }, { id: '7Ik2sRdDZy8Q6sC00AaqCv', t: 'measure', v: true, tf: [[0, 0.1, 9], [90, 0, 0], [0.1, 0.1, 0.1]], dt: { in: [], out: [], center: ['3cdb6OHkp132soSsgW8McA', '3ExXFSuV9WB2WMY2Quyq6L'] } }, { + id: '6Vu3dX1V7Si0ISWIiCkoEh', + t: 'gstore', + v: true, + tf: [[1.5, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3 } + }, { id: '592UY0EMScbwIyQqgs8aAs', t: 'gstore', v: true, tf: [[3.9, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], dt: { in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3 } }, { + id: '38TYyVWMGLf8OogQMIiSOz', + t: 'gstore', + v: true, + tf: [[7.1, 0.1, 2.865], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3 } + }, { id: '1hAaZ1xtvukZowAKeWAcqs', t: 'gstore', v: true, tf: [[7.1, 0.1, 4.35], [0, 90, 0], [1, 1, 1]], dt: { in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3 } }, { + id: '28GxDYUqDwZc2WsOgMU2wi', + t: 'gstore', + v: true, + tf: [[7.1, 0.1, 6.75], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], storeWidth: 1.1, storeDepth: 1.3 } + }, { id: '2fWOnUmFpvYyCWEqAyU0QC', t: 'way', v: true, tf: [[1.5, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r'] } }, { + id: '09PTEMUnACWY0MUG4qmk0r', + t: 'way', + v: true, + tf: [[2.7, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['2fWOnUmFpvYyCWEqAyU0QC', '2CSDVrpqthaiQuyWUymCwy', '0mVU9FacN1fmCAmQqwWgIZ'] } + }, { id: '2CSDVrpqthaiQuyWUymCwy', t: 'way', v: true, tf: [[3.9, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r'] } }, { + id: '0mVU9FacN1fmCAmQqwWgIZ', + t: 'way', + v: true, + tf: [[2.7, 0.1, 2.832], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['09PTEMUnACWY0MUG4qmk0r', '7LuzEYQQI7OQcEUekEqWcm'] } + }, { id: '7LuzEYQQI7OQcEUekEqWcm', t: 'way', v: true, tf: [[2.7, 0.1, 3.932], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['0mVU9FacN1fmCAmQqwWgIZ', '2RForJhOHXtcw0gq8mYAMh'] } }, { + id: '2RForJhOHXtcw0gq8mYAMh', + t: 'way', + v: true, + tf: [[2.7, 0.1, 4.582], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['7LuzEYQQI7OQcEUekEqWcm', '32vDSCKBrgMWycW0ySIgsJ'] } + }, { id: '32vDSCKBrgMWycW0ySIgsJ', t: 'way', v: true, tf: [[2.7, 0.1, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['2RForJhOHXtcw0gq8mYAMh', '0wcYKcGQialFQCGkAa6aYB'] } }, { + id: '0wcYKcGQialFQCGkAa6aYB', + t: 'way', + v: true, + tf: [[2.7, 0.1, 5.882], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['32vDSCKBrgMWycW0ySIgsJ', '55g6mUWBdozg4m2ueUEUsy'] } + }, { id: '55g6mUWBdozg4m2ueUEUsy', t: 'way', v: true, tf: [[2.7, 0.1, 6.532], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['0wcYKcGQialFQCGkAa6aYB', '5iKoIUBhnU08EM0IsoyOSW'] } }, { + id: '5iKoIUBhnU08EM0IsoyOSW', + t: 'way', + v: true, + tf: [[2.7, 0.1, 7.632], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['55g6mUWBdozg4m2ueUEUsy'] } + }, { + id: '3ZP01pHXJRuyeg24oCaaMq', + t: 'way', + v: true, + tf: [[5.65, 0.1, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['5onDSGuIKBpUQo6g0EIsuS'] } + }, { id: '5onDSGuIKBpUQo6g0EIsuS', t: 'way', v: true, tf: [[5.65, 0.1, 2.865], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['3ZP01pHXJRuyeg24oCaaMq', '41A0CKR8cFW8wKkcSMQ4uk'] } }, { + id: '41A0CKR8cFW8wKkcSMQ4uk', + t: 'way', + v: true, + tf: [[5.65, 0.1, 3.932], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['5onDSGuIKBpUQo6g0EIsuS', '4PunEz5C3Xk66EaOgMEuMq'] } + }, { id: '4PunEz5C3Xk66EaOgMEuMq', t: 'way', v: true, tf: [[5.65, 0.1, 4.348], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['41A0CKR8cFW8wKkcSMQ4uk', '6oCW8i0dpRtuCEIWIaAcQi'] } }, { + id: '6oCW8i0dpRtuCEIWIaAcQi', + t: 'way', + v: true, + tf: [[5.65, 0.1, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['4PunEz5C3Xk66EaOgMEuMq', '3C9Z8c6oxQbWcS4uSGkC8b'] } + }, { id: '3C9Z8c6oxQbWcS4uSGkC8b', t: 'way', v: true, tf: [[5.65, 0.1, 5.882], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['6oCW8i0dpRtuCEIWIaAcQi', '1jJX8KZLMPSSCwuCOU6AQz'] } }, { + id: '1jJX8KZLMPSSCwuCOU6AQz', + t: 'way', + v: true, + tf: [[5.65, 0.1, 6.532], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['3C9Z8c6oxQbWcS4uSGkC8b', '0aJ81sOKqm9FYo60AIQmMG'] } + }, { id: '0aJ81sOKqm9FYo60AIQmMG', t: 'way', v: true, tf: [[5.65, 0.1, 6.744], [90, 0, 0], [0.25, 0.25, 0.1]], dt: { in: [], out: [], center: ['1jJX8KZLMPSSCwuCOU6AQz', '2qtxSDVn30EcI2uY4W0CWf'] } }, { + id: '2qtxSDVn30EcI2uY4W0CWf', + t: 'way', + v: true, + tf: [[5.65, 0.1, 7.632], [90, 0, 0], [0.25, 0.25, 0.1]], + dt: { in: [], out: [], center: ['0aJ81sOKqm9FYo60AIQmMG'] } + }, { + id: 'ptr1', + t: 'ptr', + v: true, + tf: [[5.65, 0.1, 2.865], [0, -90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], ptrWidth: 1.5, ptrDepth: 1.5, ptrHeight: 1.98 } + }, { + id: 'clx1', + t: 'clx', + v: true, + tf: [[1.5, 0.1, 2.13], [0, 0, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], clxWidth: 1.65, clxDepth: 1.65, clxHeight: 3.393 } + }, { + id: 'charger1', + t: 'charger', + v: true, + tf: [[2.696, 0.1, 8.75], [0, 0, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], chargerWidth: 0.53, chargerDepth: 0.275, clxHeight: 0.3 } + }, { + id: 'charger2', + t: 'charger', + v: true, + tf: [[5.655, 0.1, 8.75], [0, 0, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], chargerWidth: 0.53, chargerDepth: 0.275, clxHeight: 0.3 } + }, { + id: 'pallet1122', + t: 'pallet', + v: true, + tf: [[1.5, 0.1, 0.63], [0, 0, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } + }, { + id: 'pallet1123', + t: 'pallet', + v: true, + tf: [[7.100, 0.1, 4.35], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } + }, { + id: 'pallet1124', + t: 'pallet', + v: true, + tf: [[4.196, 0.1, 3.95], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } + }, { + id: 'pallet1125', + t: 'pallet', + v: true, + tf: [[4.196, 0.1, 5.225], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } + }, { + id: 'pallet1126', + t: 'pallet', + v: true, + tf: [[4.196, 0.1, 7.775], [0, 90, 0], [1, 1, 1]], + dt: { in: [], out: [], center: [], palletWidth: 1, palletDepth: 1.2 } + }] + }, + { + catalogCode: '__f1', t: 'floor', + items: buildAgvPerformanceData(100, 100) } ], elevator: [], // 电梯 @@ -367,41 +331,41 @@ export default { { label: '仓库楼层', // 目录分组名 items: [ - {catalogCode: '-f1', label: '地下室 (-f1)'}, // 目录项 - {catalogCode: 'f1', label: '一楼 (f1)'}, - {catalogCode: 'f2', label: '二楼 (f2)'}, - {catalogCode: 'OUT', label: '外场 (OUT)'}, - {catalogCode: 'fe', label: '楼层电梯 (fe)'} + { catalogCode: '__f1', label: '地下室 (-f1)' }, // 目录项 + { catalogCode: 'f1', label: '一楼 (f1)' }, + { catalogCode: 'f2', label: '二楼 (f2)' }, + { catalogCode: 'OUT', label: '外场 (OUT)' }, + { catalogCode: 'fe', label: '楼层电梯 (fe)' } ] }, { label: '密集库区域', items: [ - {catalogCode: 'm1', label: 'M1 (m1)'}, - {catalogCode: 'm2', label: 'M2 (m2)'}, - {catalogCode: 'm3', label: 'M3 (m3)'}, - {catalogCode: 'm4', label: 'M4 (m4)'}, - {catalogCode: 'me', label: '提升机 (me)'} + { catalogCode: 'm1', label: 'M1 (m1)' }, + { catalogCode: 'm2', label: 'M2 (m2)' }, + { catalogCode: 'm3', label: 'M3 (m3)' }, + { catalogCode: 'm4', label: 'M4 (m4)' }, + { catalogCode: 'me', label: '提升机 (me)' } ] }, { label: '多穿库A', items: [ - {catalogCode: 'd1', label: 'D1 (d1)'}, - {catalogCode: 'd2', label: 'D2 (d2)'}, - {catalogCode: 'd3', label: 'D3 (d3)'}, - {catalogCode: 'd4', label: 'D4 (d4)'}, - {catalogCode: 'de1', label: '提升机 (de1)'} + { catalogCode: 'd1', label: 'D1 (d1)' }, + { catalogCode: 'd2', label: 'D2 (d2)' }, + { catalogCode: 'd3', label: 'D3 (d3)' }, + { catalogCode: 'd4', label: 'D4 (d4)' }, + { catalogCode: 'de1', label: '提升机 (de1)' } ] }, { label: '多穿库B', items: [ - {catalogCode: 'e1', label: 'E1 (e1)'}, - {catalogCode: 'e2', label: 'E2 (e2)'}, - {catalogCode: 'e3', label: 'E3 (e3)'}, - {catalogCode: 'e4', label: 'E4 (e4)'}, - {catalogCode: 'ee1', label: '提升机 (ee1)'} + { catalogCode: 'e1', label: 'E1 (e1)' }, + { catalogCode: 'e2', label: 'E2 (e2)' }, + { catalogCode: 'e3', label: 'E3 (e3)' }, + { catalogCode: 'e4', label: 'E4 (e4)' }, + { catalogCode: 'ee1', label: '提升机 (ee1)' } ] } ] diff --git a/src/router/index.ts b/src/router/index.ts index 6828fac..d082189 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,35 +1,40 @@ import { createRouter, createWebHashHistory } from 'vue-router' const router = createRouter({ - history: createWebHashHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - // 自动引导到 /editor - redirect: '/editor' - }, - { - path: '/editor', - name: 'editor', - // component: HomeView, - component: () => import('../editor/ModelMain.vue') - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - }, + history: createWebHashHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + // 自动引导到 /editor + redirect: '/editor' + }, + { + path: '/fabric', + name: 'fabric', + component: () => import('@/components/FabricView.vue') + }, + { + path: '/editor', + name: 'editor', + // component: HomeView, + component: () => import('../editor/ModelMain.vue') + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue') + }, - { - path: '/DataForm01', - name: 'DataForm01', - component: () => import('@/pages/DataForm01.vue'), - }, - ] + { + path: '/DataForm01', + name: 'DataForm01', + component: () => import('@/pages/DataForm01.vue') + } + ] }) export default router diff --git a/src/types/fabricExtensions.d.ts b/src/types/fabricExtensions.d.ts new file mode 100644 index 0000000..a10ed5d --- /dev/null +++ b/src/types/fabricExtensions.d.ts @@ -0,0 +1,7 @@ +import 'fabric' + +declare module 'fabric' { + interface Canvas { + enableMouseWheel: boolean + } +}