{"_id":"topology-graph-vue","_rev":"30-8aea749823740b02d33051eed7653ef6","name":"topology-graph-vue","dist-tags":{"latest":"1.2.17"},"versions":{"1.0.0":{"name":"topology-graph-vue","version":"1.0.0","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.0","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"7dcb629801d2c49b3fa583effdf45c052f6a4e73","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.0.tgz","fileCount":49,"integrity":"sha512-5UpPsvYxB3R1cO2Z1fyoiKnZOXuFc8wj+XKH2Inkn+UHOgV3eu6HDPu1Xjp58QDMvOf3BvKjyx3zOHiqWSiDUA==","signatures":[{"sig":"MEQCIB52G87fYUEYj+umHGetpLo50/nyDqTYU/Kv/g6k9sGUAiASLgQyinYXyhKUPuF9OYFo8lThPJ+rEU2UOPQU1V3S9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435007},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"532885d5224f85cd5a8e0b117030efafcde6a3d5","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.0_1778320525547_0.26729791938481084","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"topology-graph-vue","version":"1.0.1","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.1","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"9215593025dcb9657cfd3d1386443a7f7cf302c2","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.1.tgz","fileCount":49,"integrity":"sha512-nRJO8x/3+0fLoUDM6pWop8GmDHuGmP4149YuKaSX3Mx8hDoSImlHaXzNSwFn+mKQXoKKyEOhTCrMliATI6z5mg==","signatures":[{"sig":"MEQCIErS6Bhh+osA/zJbM6YFaYSLISsHwSpTkhGLpHgDhsjhAiBZtAxQr+QJTibaI31YhF1iEQQJaq+fi8pd8obQF+L3NQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511997},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"a63542a0ccae6e03776646dce1829c940c65fe9d","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.1_1778481819221_0.40062716871767945","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"topology-graph-vue","version":"1.0.2","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.2","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"857eba339e779c9e373303beb97312a10e26dee3","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.2.tgz","fileCount":49,"integrity":"sha512-tw6KJ0KSqVOH4vW1Vc0r+Z3nl9SbFxAlGIQc6dMcJ+gKYB9FC5vMEJPNOCmttMv5A4vf8nRZ0tupyftXx8Hcmg==","signatures":[{"sig":"MEQCIEKsOegvjryCICkaGlEK3IVJiCh3iMkcJTcip7f374lEAiBZBd7E15kOizhlLT71VwDqD8EtBO0Qj2FExZFSiwLiTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511997},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"a63542a0ccae6e03776646dce1829c940c65fe9d","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.2_1778482302325_0.26669720312555323","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"topology-graph-vue","version":"1.0.3","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.3","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"4ae4803a4aa9294ce4cdb7c3e5a207f7295d9bba","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.3.tgz","fileCount":49,"integrity":"sha512-KE1SN4sNf1UtU/sz7fpZETHKEOL6PkjJbseECrKzRebti0Otfu4vQbHXkN3U4oj0f1CCMbp9knOwmvQWf/HO3g==","signatures":[{"sig":"MEQCIEw7dOWquHtAk1OemEgDENcTpPzOwwRQ8oi22FZa2MExAiAOrIr+5wMxxnQ81t0tYDerEY/dhavAzuY5gIuMrElczA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527175},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d03fc523bb2858db2e52e3d996f30346c689da51","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","publish":"vite build && npm publish","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.3_1778550197803_0.96487542619294","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"topology-graph-vue","version":"1.0.4","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.4","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"fcdd065807c01526a516bc574ce247d88d7fa11d","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.4.tgz","fileCount":49,"integrity":"sha512-dVolXrF+8wa3kbFP5OvtDUA4oWG3nJSy18HPx3Wtk0fhRnsZTnEPkUveRnHVcrMcxnQcg6ABR0bQkLh3xmNchQ==","signatures":[{"sig":"MEQCIB7iPZWgo1NwotX6qn9vW6oOdm0sm90ud1N/Gnt953PqAiBVHkgAxeLn3x0gPlh1xhdLnWStkPnulf7/YiR2DmFX6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527175},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d03fc523bb2858db2e52e3d996f30346c689da51","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","publish":"vite build && npm publish","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.4_1778550496029_0.24084179469208844","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"topology-graph-vue","version":"1.0.5","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.5","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"59ca52640fb2ea396458acc6725387210c6f4e55","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.5.tgz","fileCount":50,"integrity":"sha512-1INUImJ2rKVoNfq2MFW2yecVjiWmSG1Lqo6qgylevVt9cBpxrUqoKWXTdioTYRdYD/cIn2xkvWiEE3saupvYUg==","signatures":[{"sig":"MEQCIBcd2orwfeujyrz8Hah4d87bHfA5hh2IVRSvubs/8iNzAiAqcVyGU6CIdJ++OB7sUDUUPB7l9JC6eDU0h07Rla/IOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542817},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"38e3b1e7ac2c36546cadd2f940eaa18d56dfd756","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.5_1778635972671_0.23583287928802887","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"topology-graph-vue","version":"1.0.6","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.6","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"42eae128ced5cf40ec014f6c090791b865788df8","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.6.tgz","fileCount":50,"integrity":"sha512-u/Z15uhlcw4HrETv4s73hcu+T6jdTFi8csOCznTvq5MfX2Z38ZHUuMnnP7w+nVRtDQJzwVht8rliIPE5kB66Rw==","signatures":[{"sig":"MEYCIQD+4JQhtfF9PFR1Kg6s6dOmSpCG+sFu98slluQuhowmowIhALnsrlJvquMH6ebOUA7UzqMSj5kmxUMRM6r8h4srMCH/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545113},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"38e3b1e7ac2c36546cadd2f940eaa18d56dfd756","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.6_1778639398769_0.18451569331369733","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"topology-graph-vue","version":"1.0.7","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.7","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"cb3a2c752bcadedb015d5fd942cec5e3e1a54783","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.7.tgz","fileCount":50,"integrity":"sha512-a39bVorf58q9Em0qiFxrV/QDQ8K/kZqv94n+S+wYRzPuUXbQFI6vnpORTid+ClzqTm+5UbWMBPWmhyPUKAus9Q==","signatures":[{"sig":"MEYCIQDsmepkJqcg6ps0HqcedLnu7G9gxlI1Ev6NU+RVT31K4gIhAOsvXBB1mBHDUtynKYwrLzvtFj43fxNIGJRUA45zSt99","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":851114},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"38e3b1e7ac2c36546cadd2f940eaa18d56dfd756","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.7_1778656421794_0.6217175404623145","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"topology-graph-vue","version":"1.0.8","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.8","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"143fa962341838ad2bc1fa9e2873e43592975236","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.8.tgz","fileCount":50,"integrity":"sha512-e87mMvgnkIWv49kNeyKdgSAdx3gQBZyzSTnq/Trua98DM/sml9PZV0dPEApkpHvYI84NqPTi6yl9+/2dLXupIQ==","signatures":[{"sig":"MEQCIGKZ608fFCFrSojvze859eNBuHIVm1EUntiItTqnBpceAiA3eSB2xHFBJozLDyvo0VFnDDNah/4/CKXq/XAz1Nb69Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":858772},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"da6debcb9ddf9f7652043db419f572d1d500aee2","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.8_1778667830906_0.1756731732089447","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"topology-graph-vue","version":"1.0.9","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.0.9","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"efa4b2286ac1db322bcd33d17eff8ad654952617","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.0.9.tgz","fileCount":50,"integrity":"sha512-neL5ifKs9ZDHVpJ8f+qMQp3eIBlJhhZTzyrWH8OTkoh0svJXMeyM1IRCEhCcSe/1snGTwlCFNn/jF31xgRyD4g==","signatures":[{"sig":"MEYCIQD2sfT8DZG4a9lcn+YWXYboM+kaf2XaN9N1Q/E8AcVQ0wIhAJNZQAslsTekcaPh4YabvIpCp1jib8+BoX8CblgVmZZe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860645},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"182d629e86a359443d7fdb101f05002575af6504","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.0.9_1778731664729_0.5968813510217659","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"topology-graph-vue","version":"1.1.0","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.1.0","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"22263d6fdc04fab5ea9034dddde8b6b2a3ced975","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.1.0.tgz","fileCount":50,"integrity":"sha512-bWC6nUnNvWiKoWpAyBBXUXqRGetK5TJ32+f2knQsfmyJnHg3KjgzsvP5H4pYVn+0RnK2H8MJFmejBS+MAFGuuA==","signatures":[{"sig":"MEYCIQDTz4z8uPi0kWDvYrRsHpdOwdf0xO75NrG9eYMit91xDQIhAOG1y08czCkOuGX/z/D+Snpl4jGQra3PV3ITrx3PWK/Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":880682},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"6aa24a58124b4180be13063f02299a6f0121a338","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.1.0_1778814056039_0.4628138700423279","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"topology-graph-vue","version":"1.1.1","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.1.1","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"155aea011799eab5ec1b4fc2ca813c29ce110b46","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.1.1.tgz","fileCount":50,"integrity":"sha512-2zVZShe7GTvH1DjMSUOVBkDbjq08gXeMJdgYjNPgFYX96zKDqnvS197YaU3kNkWIoV1iA49CTKVXxHAXcqGO9A==","signatures":[{"sig":"MEYCIQDh5AMaJTDUFfzPvY3sA38NLe3aSXr4qcY8Xo2KmxLx0QIhAKV7I0Dyw1tsu4vd5km2pmpnOeiLzpBFpHRvirGOIlX4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":880437},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"19ea1a2544546b3d1d603eaba6031260197059af","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.1.1_1779085299200_0.3915662667689701","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"topology-graph-vue","version":"1.1.2","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.1.2","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"f58898e37c93294da1ed3fd9cbcd635824b0e6df","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.1.2.tgz","fileCount":50,"integrity":"sha512-lQhsdekQ9BwSXft8ggn0D3ct5ayu2ybRHEwnwL5nYCIrQzylHjdAe6LE2HamXDVjy0NrP8qTIXLkRwdYOQ6IgQ==","signatures":[{"sig":"MEUCIQDWguiYGttnBK05d38qHurTawsiJtUI5wIqBXnMLpnHwwIgEE5Tx7my3AEhixXZ000Bx8d9ChrO0mcbIEe5of89AI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":948698},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"8be80a192bbf07cac191203655365918a3cf0302","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.1.2_1779333537067_0.7243036549071773","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"topology-graph-vue","version":"1.2.1","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.1","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"4a20877c6ab55e2b24a4c88f18b8fd3cac6fcf17","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.1.tgz","fileCount":50,"integrity":"sha512-6SWr9+3upW6cb3NtwlrlaE/bYlvmy7ZqLame31mlUl3qATVDrvTeq+2URVdYAS+jLndqHM13ZCw9HhqVb+R+aQ==","signatures":[{"sig":"MEUCIBBDeHZG9TmYn39obzzXqbvJwxHRFCfGeB2OFzh+wGhhAiEAqln4MzBiZmxByAHu1H/lQ/XdvMtNZwWGzjVZqxdzd9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959246},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"8be80a192bbf07cac191203655365918a3cf0302","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.1_1779444295722_0.8863284286940261","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"topology-graph-vue","version":"1.2.2","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.2","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"6fe95f9ad256ec0d5c5b09f7df5d549134813bb5","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.2.tgz","fileCount":50,"integrity":"sha512-eNc8UsaWvYOz6JbozTv+3HzFaVYoQOaDX2n7NVpzW3ItatoXnLKgys/0tr7zujRt5kEzhF+qTm7fegTpll7HGA==","signatures":[{"sig":"MEQCICgMEau6cZ1U958dle0wVS1DtLIgwTmVZYC1s7ihaUS6AiBud7WCkPaYc/XIdV5gfKfYB3Wp7mZnwf6+lS7Da+5CxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984721},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"06903e2fb5de147d0945503a0205260a3643efa7","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.2_1779790275744_0.29292563424735163","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"topology-graph-vue","version":"1.2.3","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.3","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"e9021b01e31516c7a595ba8f4416496fff30ce0c","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.3.tgz","fileCount":50,"integrity":"sha512-Xw6Aca2scnOY7PeRyDrYHEUE/7u+HmkzCtZDkyCHElMcf1DIRs0k2tmdq3T/ciK3d1475efqma+1THfFgrrY/A==","signatures":[{"sig":"MEQCIAEfuWEoByv+Eb1FrBJetcpJY2ITOyJp+2Dcz4IytaCeAiB8oBSzXLpC/M+qxQy1TBUmjVd7V+hDXJYwqgheaA9OCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001188},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"06903e2fb5de147d0945503a0205260a3643efa7","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.3_1779847955442_0.26035367350505556","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"topology-graph-vue","version":"1.2.4","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.4","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"b3b7eb83ecd504325add3de8474ace34389ce0a3","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.4.tgz","fileCount":50,"integrity":"sha512-QcJj5eE5OEBZ1XQ0SUSTfZ5YS8ihnSKSVbKSjFxwnLfYPSFgdM3vUldIMM/mm0moUYHisBuHeSG/PbJe3vAMtg==","signatures":[{"sig":"MEQCIANH+8WyyJRBWNYui4nlnIXau4uxMTAlRq50jWHC4AjUAiAO0jfZWJg4dAxPvJqa0MCqULvb0j/u6T0h7R81XbF9FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":993847},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d43838075e5e478631e5ec8493dee77066219e7d","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.4_1779874667008_0.3364482281703325","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"topology-graph-vue","version":"1.2.5","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.5","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"1dc8d0e7585b9effb00f4922325e7e31c7096cc6","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.5.tgz","fileCount":50,"integrity":"sha512-f2IjeG0VraFbsx3UM6T9lOwaoP3kR3frHNxLgPlNN3E9PL1WcW7KeKZYU5e0uk6+EBoxoMMBsowUTnCcJE/KGw==","signatures":[{"sig":"MEUCIBGBDIG6IPcKrhy9OwDcL9pqpPYGOT0a2wnVTjMAJd2bAiEAv+0jAwbjIDCtID1fN82Sm9hkudt1Spbnxff/hUAZ24o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1008597},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"3f993938992183acc03f13b9750a07b4b9522501","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.5_1780385701344_0.09651780861341841","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"topology-graph-vue","version":"1.2.6","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.6","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"f89ef2e3036960f1ccfda15eb607e4a39159b29d","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.6.tgz","fileCount":50,"integrity":"sha512-NHYRAr6V6zthh3pwbtF5E2B/3LH1q/EgiP12V5QpQVX/T4V5r7mmw5sOPXP3mQBtsy8mEkvGQSlhWKtaCFSJQg==","signatures":[{"sig":"MEQCIEtUI6sajt8S3N5hEGjo8ukG8GZ9UFcgr7royNi95BR+AiAy1ldz0NCtffQaOTxLmD1psUwIQxUCSzdwnKD8QOJQng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1020732},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"c7b2f33a6bd5c901afcdddf89b866358926ed342","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.6_1783394708359_0.6609080702097248","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"topology-graph-vue","version":"1.2.7","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.7","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"d29e0404a4a77be67828e41b29a2bce73acab728","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.7.tgz","fileCount":50,"integrity":"sha512-CLrgSXDcNZOQqSKiuvkSor3TU6yVvCVmdSBoYkd3sm1s7M9Xm+lvzA9u3IuUaBE+Slwx7d8guBNC2VTtEr8dcA==","signatures":[{"sig":"MEYCIQCEhO6x/e267xssmPnJ9LWXIvs80sUz6cRJ76hOQRS3nQIhAO5WzYEcMTAZduThCHswYIVJu0YJwgvkr/hjsJq5mSAP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1034607},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"118c58b2391f5283d0b8bd96625318cbff8f993f","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.7_1783415593373_0.7375878406761653","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"topology-graph-vue","version":"1.2.8","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.8","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"9814319efa52caf261bd71a3cabfea5e3e3c9b5d","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.8.tgz","fileCount":50,"integrity":"sha512-KKlgQXk9520Cdi4d0TeNMbbqF3B2QuJ1Wh7zxjSur4jki6ulzk1f0HgPojR2bfZfVkHImxNsnALbAsnuSZaGdg==","signatures":[{"sig":"MEYCIQC01kfUfayER8s/EU8Bbf8RerfAEQx5Ddn61AZ7opSigAIhANE2Nh3DB7DU9ed1UCsCFsmL6fCAVfa7HAljQxVMNHGW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1035858},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"b54f9fff5398b05741b552ee7169900ed9449e40","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"High-performance Vue 3 topology graph component library based on PixiJS v8, supporting 50,000+ nodes at 60 FPS","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","eslint":"^8.57.0","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.8_1784884242385_0.11211117295287343","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"topology-graph-vue","version":"1.2.9","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.9","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"48234b3be37dbd24911447a674898272be9d952b","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.9.tgz","fileCount":55,"integrity":"sha512-Zr0yNv+s4rO4L0H/B9+oAdBMLgmbrfv5u47aj+mc6yPg0dduTNbYLLvxmUpWcFOQQCTPyOKbJnS0bSQTQQNtPQ==","signatures":[{"sig":"MEYCIQD9dXEbnqIpcD8bNCC04+nO11BM4KrDr9orTD94EDliuAIhAKwXiaCsEvurXVzddERimyG7zNn/yMa5IetlMlVwxfq9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1083346},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"e3eb45fb9abd09b756ceb29f2c8878a5b5bb9aac","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.9_1785827510144_0.10594370465228131","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"topology-graph-vue","version":"1.2.10","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.10","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"0df4f1ec6f1c7af1c8807e99d30151733374731d","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.10.tgz","fileCount":62,"integrity":"sha512-xs4Jbu4k5qnpjEm81/HjflGy9bXNlCoVQjkrLt7A5SzlmW+OwSTVp2OqdVRJjd7HwbzWSDrfTjLOLaI4qJK7gg==","signatures":[{"sig":"MEQCIFAMFEuvIjOCnqsOkCfIv/WsGV0/6GiaJwhoHlTGJ6XDAiB8st4ors+MJxQLiqEikLMrCCYXpY91ZKkxJKegmBUNkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1167538},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"e833d9e4825151d80b40e035f0d0fff189a19d11","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.10_1785835854515_0.14882011046621013","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"topology-graph-vue","version":"1.2.11","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.11","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"6472881146a771fa37ed80ec74e25c49be0a123b","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.11.tgz","fileCount":63,"integrity":"sha512-wlQsYDyal8kD28wv5Z0qwaKyffkhO4Hu9nkBfOW8q19k6RAp/GDcv+j+ygsiI13MV++7oDILR8Zv8gXLPwZCOA==","signatures":[{"sig":"MEYCIQDZhevCPS3P6nlEAlURAu82Yuy8YHlnDYwxkMR2v02SFQIhANy0ECT3V02itvvMZzfQTM1gRNPc8OHlWwuZZrnsoGTd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1235562},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"787d833d5da8044a48dbbe68ce4b4f59434195de","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.11_1786011616580_0.8755482958672356","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"topology-graph-vue","version":"1.2.12","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.12","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://github.com/yourusername/topology-graph-vue#readme","bugs":{"url":"https://github.com/yourusername/topology-graph-vue/issues"},"dist":{"shasum":"d220b82e1d57d7360fc22f44c0a8da0321d497fe","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.12.tgz","fileCount":57,"integrity":"sha512-q+HRqCpzsH8/7gpsH4X5U2q5VHvR66wvJmtQZ5TfRhRykU4qq/EFfDdK70drSELtlOdkyjwwOj/PYPvO1PWl6Q==","signatures":[{"sig":"MEQCIB+g32OJ+AXXy5S4puK2i7gTN3ON40ozy69Zdc6UTYx+AiBtYvyoEcS8c4ykiIiRAwiKlc+X2k9cgNnX6tyFZgc2cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1245657},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"f25e5649e2b5a67ad7e59ca034d53434c71aa9ba","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://github.com/yourusername/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.12_1786092122672_0.00897122611735468","host":"s3://npm-registry-packages-npm-production"}},"1.2.13":{"name":"topology-graph-vue","version":"1.2.13","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.13","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://gitee.com/guangyoucai/topology-graph-vue","bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"dist":{"shasum":"f493c054a58c9812f6ea3f10c7b9e8c255279872","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.13.tgz","fileCount":57,"integrity":"sha512-ss8RXy25bhdt4ultYpfLj+hSLNW3lE2QIf531Kjme/cEJnHjCvdzAfDXlL1arMRrmptLubT7ZMDrD1n7NuoUrg==","signatures":[{"sig":"MEUCIQDkGqd/96MhXoW3VRywmzykzA2fcsAQbp93bdZ2nc3cGgIgdVmm+XFtOMAtS04l54hn1t8iX5Ya5xvj1EBzTDU5szY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1248426},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"5a72283e4ac1860d12b9adedd38863f33f5c2be7","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.13_1786092323303_0.38947906696479584","host":"s3://npm-registry-packages-npm-production"}},"1.2.14":{"name":"topology-graph-vue","version":"1.2.14","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.14","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://gitee.com/guangyoucai/topology-graph-vue","bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"dist":{"shasum":"4ecccb4b435078248a4861da9be108694ce538ad","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.14.tgz","fileCount":57,"integrity":"sha512-XD6avBxiObXqw1oLXkw95CnpufzPm8/bksoVlqzDRzeC1g4rNGtFg6k9tSdCwXoeqRNN9eO99au/y/qALrQkJQ==","signatures":[{"sig":"MEYCIQDloYseaMYQSSuPCa/SqcgeNp3ph81vJtQLdmkAyObDIQIhAPWjXKqdHDUN5GTg2e4U7H+vL3RwneMI6VhcFWNXBkWU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1240211},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"ff27dd22623ced988e17938b7a802b9b76bb34fa","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.14_1786096143876_0.5782025218618374","host":"s3://npm-registry-packages-npm-production"}},"1.2.15":{"name":"topology-graph-vue","version":"1.2.15","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":"","license":"MIT","_id":"topology-graph-vue@1.2.15","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://gitee.com/guangyoucai/topology-graph-vue","bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"dist":{"shasum":"796bbaedebeafc7841573f718ad795f67d6ffde4","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.15.tgz","fileCount":57,"integrity":"sha512-AFEKAzTmGCePZroDKlUL+OsOt4O+l130s4PnytX3hvzoWZEp43yma/yL43Che9Zk1es4HKTsgwXeuBLOx4LpWQ==","signatures":[{"sig":"MEUCIAZLBUKpSB4zeJh9nHrpJSFXrf2r8ikfVisLHaJX3dDsAiEAsySSgM7OMKl43WQTGZflBjqCAFNd15pYFeu1NsP22WA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCzR225ZSsFzx1vYAT/VH79HQjiD41yFWVob/ADJLU+bgIhAOg4aj9fYRLXnqF01mcWFV2+x4BHGElSY8JtL9o0Z4Z1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254278},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d6d4701b3ace9fbcdfc3f1990f4ce7a463f46082","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.15_1789442404634_0.3838344935331297","host":"s3://npm-registry-packages-npm-production"}},"1.2.16":{"name":"topology-graph-vue","version":"1.2.16","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"author":{"name":"Guang You Cai"},"license":"MIT","_id":"topology-graph-vue@1.2.16","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"homepage":"https://gitee.com/guangyoucai/topology-graph-vue","bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"dist":{"shasum":"d8e33fe149aa8436144c263c64ea3731d2f4e32f","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.16.tgz","fileCount":59,"integrity":"sha512-8+ifuDZy+9xHP1DjpsxXEH14+IfVXGR7JxeUqbby4bRIRDOKO5OO4lQKEHcX3yyl068e5gKiJRL/Xo06bwpsxA==","signatures":[{"sig":"MEYCIQDDPACsGw3pocQXLdg1wXLQy8Z2yH6BHaPCm5rwkBpN2wIhANJCqo4fWVUCg7+I/C3mJ4Wucmo0g3kvZXuc1jqxiB3U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA9mmCHNgfGwH/nKMDiXVRR1JicF8j9309uaKv0yaIzrAiEA8vr63//E5HgslrkAt/8hxWnVGrxeWbRQSl7uI/dRe7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1290209},"main":"./dist/index.umd.cjs","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d6d4701b3ace9fbcdfc3f1990f4ce7a463f46082","scripts":{"dev":"vite --host","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/topology-graph-vue_1.2.16_1789715852105_0.08125842129655081","host":"s3://npm-registry-packages-npm-production"}},"1.2.17":{"_id":"topology-graph-vue@1.2.17","bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"dist":{"shasum":"915289022082d556ab12eb5493bfb1b811e16164","tarball":"https://registry.npmjs.org/topology-graph-vue/-/topology-graph-vue-1.2.17.tgz","fileCount":60,"integrity":"sha512-KSP1+b0866aHn/+dpWwLy3X5acJCae95s4zwwInjXSq++tWKffMbNJ4sAU8afSETYh9cH00Vfggklf051qOH+w==","signatures":[{"sig":"MEYCIQDsKpIvIr+8BGPGg/yINEYxJBc9GK+SYWLpE2l3CjjRmwIhAJtG7X7fRxWc4lnBZbCk1n58iJNSPJhV5u92ZDoAnJJl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCzArfqVq11ZDyuZ6dlmturlTYnygN5cnJ+pU6KeuvRFQIgCmj72t3Sm35OLFHiShZB2xKNohmj4JtcoEr9eb86/UM="}],"unpackedSize":1376248},"main":"./dist/index.umd.cjs","name":"topology-graph-vue","type":"module","types":"./dist/types/index.d.ts","volta":{"node":"20.20.0"},"author":{"name":"Guang You Cai"},"module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./style.css":"./dist/topology-graph-vue.css"},"gitHead":"d60b318c59d37e79fe9cefebed598ddd847bd747","license":"MIT","scripts":{"dev":"vite --host","lint":"eslint src --ext .vue,.ts,.tsx --fix","test":"vitest run --exclude src/testing/performanceScenario.spec.ts","build":"vite build","format":"prettier --write \"src/**/*.{vue,ts,tsx,css}\"","preview":"vite preview","release":"standard-version","build:all":"vite build","typecheck":"vue-tsc --noEmit","build:standalone":"vite build --config vite.standalone.config.ts","preview:standalone":"vite preview --config vite.standalone.config.ts","test:performance-data":"vitest run src/testing/performanceData.spec.ts","test:performance-scenario":"vitest run src/testing/performanceScenario.spec.ts"},"version":"1.2.17","_npmUser":{"name":"guangyoucai","email":"1207007480@qq.com"},"homepage":"https://gitee.com/guangyoucai/topology-graph-vue","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"_npmVersion":"10.8.2","description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","directories":{},"maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"_nodeVersion":"20.20.0","dependencies":{"pixi.js":"^8.17.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","vite":"^5.0.0","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^4.1.10","vue-tsc":"^2.0.0","prettier":"^3.2.5","typescript":"~5.3.3","@types/node":"^20.11.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.3.2","eslint-plugin-vue":"^9.0.0","@vitejs/plugin-vue":"^5.0.0","vite-plugin-obfuscator":"^1.0.5","vite-plugin-singlefile":"^2.3.3","@typescript-eslint/parser":"^7.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"vue":"^3.3.0 || ^3.4.0 || ^3.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/topology-graph-vue_1.2.17_1790070618137_0.6460763655991755"}}},"time":{"created":"2026-05-09T09:55:25.438Z","modified":"2026-09-22T09:50:18.388Z","1.0.0":"2026-05-09T09:55:25.694Z","1.0.1":"2026-05-11T06:43:39.398Z","1.0.2":"2026-05-11T06:51:42.490Z","1.0.3":"2026-05-12T01:43:17.979Z","1.0.4":"2026-05-12T01:48:16.223Z","1.0.5":"2026-05-13T01:32:52.856Z","1.0.6":"2026-05-13T02:29:58.954Z","1.0.7":"2026-05-13T07:13:41.957Z","1.0.8":"2026-05-13T10:23:51.137Z","1.0.9":"2026-05-14T04:07:44.976Z","1.1.0":"2026-05-15T03:00:56.243Z","1.1.1":"2026-05-18T06:21:39.386Z","1.1.2":"2026-05-21T03:18:57.223Z","1.2.1":"2026-05-22T10:04:55.892Z","1.2.2":"2026-05-26T10:11:15.949Z","1.2.3":"2026-05-27T02:12:35.678Z","1.2.4":"2026-05-27T09:37:47.218Z","1.2.5":"2026-06-02T07:35:01.529Z","1.2.6":"2026-07-07T03:25:08.568Z","1.2.7":"2026-07-07T09:13:13.535Z","1.2.8":"2026-07-24T09:10:42.566Z","1.2.9":"2026-08-04T07:11:50.307Z","1.2.10":"2026-08-04T09:30:54.687Z","1.2.11":"2026-08-06T10:20:16.764Z","1.2.12":"2026-08-07T08:42:02.818Z","1.2.13":"2026-08-07T08:45:23.475Z","1.2.14":"2026-08-07T09:49:04.041Z","1.2.15":"2026-09-15T03:20:04.750Z","1.2.16":"2026-09-18T07:17:32.193Z","1.2.17":"2026-09-22T09:50:18.231Z"},"bugs":{"url":"https://gitee.com/guangyoucai/topology-graph-vue/issues"},"author":{"name":"Guang You Cai"},"license":"MIT","homepage":"https://gitee.com/guangyoucai/topology-graph-vue","keywords":["vue","vue3","topology","graph","network","visualization","pixijs","webgl","performance","large-data","component"],"repository":{"url":"git+https://gitee.com/guangyoucai/topology-graph-vue.git","type":"git"},"description":"基于 PixiJS v8 的高性能 Vue 3 拓扑图组件库，支持 50,000+ 节点以 60 FPS 流畅渲染","maintainers":[{"name":"guangyoucai","email":"1207007480@qq.com"}],"readme":"# 🕸️ TopologyGraph Vue\n\n> 🚀 基于 **PixiJS v8** 的高性能 Vue 3 拓扑图组件库，支持 **50,000+ 节点 60 FPS** 流畅渲染。\n\nTopologyGraph Vue 面向关系图谱、组织架构、风控网络、资产关联等拓扑可视化场景，提供高性能渲染、布局算法、交互控制和 Vue 组件化集成能力。\n\n## ✨ 核心特性\n\n- ⚡ **高性能渲染**：LOD 多级降级渲染、空间索引裁剪、对象池复用、GPU 预览模式与 Worker 力导向布局，支持 5 万以上节点流畅展示。\n- 🎨 **丰富图形能力**：支持圆形、矩形、菱形、六边形、星形节点；实线、虚线、点线；直线、贝塞尔、弧线和阶梯连线，可自动翻转曲线方向并控制曲率。\n- 🧭 **灵活布局**：内置 Barnes-Hut 力导向、四方向树形、径向与环形布局；大规模力导向计算在 Worker 中执行，可保持页面交互响应。\n- 🖱️ **完整交互**：支持拖拽、缩放、框选、多选、搜索定位、聚焦高亮、节点间连线绘制、撤销重做、右键菜单与图片导出。\n- 🔄 **增量更新**：支持节点、连线的局部更新，并在更新端点时维护渲染索引与数据完整性。\n- 🧩 **组件化集成**：提供主画布、小地图、选区操作框与浮动工具栏，支持 Vue 插件注册和按需引入。\n- 🌗 **主题与定制**：内置亮色、暗色主题，支持运行时更新样式、性能参数、LOD 阶梯和自定义绘制回调。\n\n## 🎯 适用场景\n\n- 👥 人物、企业、股权、社交等关系图谱\n- 🛡️ 资金交易、风险传播、资产关联网络\n- 🏗️ 组织架构、知识图谱、服务依赖拓扑\n- 🗺️ 需要高性能缩放、平移和交互的复杂可视化画布\n\n## 🧭 快速导航\n\n[📦 安装](#-安装) · [🚀 快速开始](#-快速开始) · [🗂️ 数据格式](#-数据格式) · [📚 完整参考](#-完整参考) · [📡 事件](#-事件) · [⚡ 性能建议](#-性能建议) · [📝 更新日志](./CHANGELOG.md)\n\n## 📦 安装\n\n```bash\nnpm install topology-graph-vue\n```\n\n依赖要求：\n\n- Node.js >= 18.0.0\n- Vue ^3.3.0 || ^3.4.0 || ^3.5.0\n- PixiJS ^8.17.1（自动安装）\n\n## 🚀 快速开始\n\n### 🌐 全局注册\n\n```ts\nimport { createApp } from 'vue'\nimport TopologyGraph from 'topology-graph-vue'\nimport 'topology-graph-vue/style.css'\n\nconst app = createApp(App)\napp.use(TopologyGraph)\napp.mount('#app')\n```\n\n全局注册后可直接使用以下组件：\n\n| 组件 | 说明 |\n| --- | --- |\n| `<TopologyGraph>` | 主组件，提供画布与 API 注入 |\n| `<TopologyGraphMinimap>` | 小地图 |\n| `<TopologyGraphSelectionBox>` | 选区操作框 |\n| `<TopologyGraphToolbar>` | 浮动工具栏 |\n\n```vue\n<template>\n  <TopologyGraph @ready=\"onReady\" @canvas-contextmenu=\"onContextMenu\">\n    <TopologyGraphMinimap position=\"right-bottom\" />\n    <TopologyGraphSelectionBox />\n  </TopologyGraph>\n</template>\n\n<script setup lang=\"ts\">\nfunction onReady(api) {\n  api.setJsonData({\n    nodes: [\n      { id: '1', text: '节点 1' },\n      { id: '2', text: '节点 2' },\n    ],\n    lines: [{ from: '1', to: '2' }],\n  })\n  api.applyLayout({ type: 'force' })\n}\n\nfunction onContextMenu(event, targetType, target) {\n  console.log('右键点击：', { targetType, target })\n}\n</script>\n```\n\n### 🧩 按需引入\n\n```vue\n<script setup lang=\"ts\">\nimport { Minimap, SelectionBox, TopologyGraph } from 'topology-graph-vue'\nimport 'topology-graph-vue/style.css'\n</script>\n\n<template>\n  <TopologyGraph @ready=\"onReady\">\n    <Minimap position=\"right-bottom\" />\n    <SelectionBox />\n  </TopologyGraph>\n</template>\n```\n\n## 🗂️ 数据格式\n\n通过 `setJsonData` 设置图数据，兼容 `relation-graph` 的字段名：\n\n```ts\napi.setJsonData({\n  nodes: [\n    { id: '1', text: '节点 A', color: '#1890ff' },\n    { id: '2', text: '节点 B', color: '#52c41a' },\n  ],\n  lines: [\n    { from: '1', to: '2', showEndArrow: true },\n  ],\n})\n```\n\n- 节点至少需提供唯一的 `id`。\n- 连线支持 `from` / `to` 或 `source` / `target` 两套字段。\n- 节点可配置 `shape`、`radius`、`color`、`icon`、`fixed` 等属性。\n- 连线可配置 `style`、`curve`、`animation`、`showEndArrow` 等属性。\n\n## 🧰 常用 API\n\n`@ready` 回调会返回图实例 API：\n\n| 类别 | 常用方法 |\n| --- | --- |\n| 🎯 视图控制 | `fitView()`、`resetView()`、`zoomIn()`、`zoomOut()`、`panBy()` |\n| 🗂️ 数据管理 | `setJsonData()`、`getJsonData()`、`addNode()`、`addLine()`、`updateNode()`、`updateLine()`、`removeNodeById()` |\n| 🧭 布局 | `applyLayout()` |\n| 🖱️ 交互 | `focusOnNode()`、`searchAndFlyTo()`、`selectAll()`、`clearSelection()` |\n| 🎨 样式与配置 | `setOptions()`、`toggleTheme()`、`setNodeShape()`、`setLineStyle()` |\n| 📤 导出 | `downloadAsImage()`、`downloadFullGraphAsImage()` |\n\n### 🔄 局部更新与连线绘制\n\n使用局部更新 API 可避免重新设置整张图的数据：\n\n```ts\napi.updateNode('node-a', {\n  text: '已更新的节点',\n  color: '#f5222d',\n  radius: 32,\n})\n\napi.updateLine('line-a', {\n  to: 'node-c',\n  text: '新的依赖关系',\n  color: '#1890ff',\n  curve: 'bezier',\n})\n```\n\n`updateNode()` 只接受节点的持久化字段，不能修改 `id`、`selected`、`hovered` 或 `highlighted` 等交互状态。`updateLine()` 不能修改连线 ID；更新 `from` 或 `to` 时，两个端点必须引用已存在的节点。节点或连线不存在、端点无效时均返回 `undefined`，且不会修改现有数据。\n\n可通过 API 或组件事件控制连线绘制：\n\n```ts\napi.setLineDrawingMode(true)\n\n// 也可由业务逻辑显式指定起点和终点\napi.startLineDrawing('node-a')\nconst line = api.finishLineDrawing('node-b')\napi.cancelLineDrawing()\n```\n\n连续绘制模式下，依次点击两个节点即可创建连线。组件会发出 `line-draw-start`、`line-created` 和 `line-draw-cancel` 事件；`line-created` 会携带新连线、起点节点和终点节点。\n\n### 🎯 视图定位\n\n`fitView()` 默认适应全部可见节点。传入 `nodes` 或 `lines` 后，会将指定目标完整置于画布中心；连线的两端节点会自动纳入可见范围。\n\n`nodes` 和 `lines` 均支持传入元素对象或 ID，且可同时使用。重复目标会自动去重。未传目标或两个数组均为空时，适应全部可见节点。\n\n```ts\n// 同时适应多个节点和连线，并聚焦全部有效目标\napi.fitView({\n  nodes: ['node-1', api.getNodeById('node-2')!],\n  lines: ['line-1', api.getLineById('line-2')!],\n  padding: 80,\n  animate: true,\n  duration: 400,\n  focus: true,\n})\n\n// 只适应所有可见节点（不使用动画）\napi.fitView()\n```\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `nodes` | `Array<GraphNode \\| string>` | `[]` | 目标节点对象或节点 ID 列表 |\n| `lines` | `Array<GraphLine \\| string>` | `[]` | 目标连线对象或连线 ID 列表 |\n| `padding` | `number` | `50` | 画布边距，单位为屏幕像素 |\n| `animate` | `boolean` | `false` | 是否平滑过渡到目标视图 |\n| `duration` | `number` | `300` | 动画时长，单位为毫秒 |\n| `focus` | `boolean` | `false` | 是否高亮全部有效的目标节点与连线 |\n\n动画期间使用 GPU 视图变换，避免逐帧完整重绘；动画结束后才进行一次完整渲染。`fitView` 的目标缩放范围固定为 1% 到 100%，不影响滚轮、`zoomTo()` 或 `setViewport()` 的全局缩放范围。也可继续传入数字作为边距，例如 `api.fitView(80)`。\n\n### 🧭 布局\n\n```ts\n// 力导向布局\napi.applyLayout({\n  type: 'force',\n  iterations: 300,\n  repulsion: 2000,\n  springLength: 60,\n})\n\n// 树形布局\napi.applyLayout({\n  type: 'tree',\n  direction: 'bottom',\n  levelDistance: 120,\n})\n\n// 径向或环形布局\napi.applyLayout({ type: 'center' })\napi.applyLayout({ type: 'circle' })\n```\n\n力导向布局在大数据量下会在 Worker 中异步计算，调用后可继续响应缩放、平移和取消操作。可监听布局生命周期事件处理加载状态：\n\n```vue\n<TopologyGraph\n  @layout-start=\"layouting = true\"\n  @layout-end=\"layouting = false\"\n/>\n```\n\n### 🎨 运行时配置\n\n```ts\napi.setOptions({\n  theme: 'dark',\n  nodeAboveLines: true,\n  lineDrawing: {\n    preview: { style: 'dashed', color: '#faad14', width: 2 },\n    line: { style: 'solid', color: '#1890ff', width: 2 },\n    allowDuplicateLines: true,\n  },\n  lodTiers: [\n    { minScale: 1, nodeMode: 'detail', lineMode: 'detail' },\n    { minScale: 0.2, nodeMode: 'simple', lineMode: 'simple' },\n    { minScale: 0.008, nodeMode: 'dot', lineMode: 'hide' },\n  ],\n})\n```\n\n`lineDrawing.preview` 只影响鼠标拖动时的临时预览线，`lineDrawing.line` 只影响绘制成功后自动添加的正式连线。两部分都支持 `style`（`solid` / `dashed` / `dotted`）、`color` 和 `width`，也可以在初始化配置中传入同样的结构。`allowDuplicateLines` 控制是否允许同一方向的重复连线，默认值为 `true`。\n\n## 📚 完整参考\n\n根 README 是 npm 用户文档入口。以下接口均从包中导出的 TypeScript 类型整理而来，示例中的 `GraphNode`、`GraphLine` 等类型可以直接从 `topology-graph-vue` 导入。\n\n### 🧩 `<TopologyGraph>` 属性与插槽\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `width` | `number` | 容器宽度 | 画布宽度（px）；也会覆盖 `options.width` |\n| `height` | `number` | 容器高度 | 画布高度（px）；也会覆盖 `options.height` |\n| `theme` | `'light' \\| 'dark'` | `'light'` | 初始主题；显式传入时覆盖 `options.theme` |\n| `devMode` | `boolean` | `false` | 显示性能监控浮层 |\n| `options` | `Partial<TopologyOptions>` | `{}` | 初始化配置；运行时可用 `api.setOptions()` 部分更新 |\n\n主组件暴露 `getInstance(): GraphApi`，并提供两个插槽：默认插槽用于放置 `Minimap`、`SelectionBox`、`GraphToolbar` 等子组件，`overlay` 插槽用于自定义画布叠加层。上述子组件必须写在 `<TopologyGraph>` 的默认插槽内，不能独立挂载；业务侧应通过 `@ready` 保存 `GraphApi`，不要重新创建核心实例。\n\n初始化优先级为：显式组件属性 `width` / `height` / `theme` > `options` 对应字段 > 默认值。未传 `theme` 属性时，`options.theme` 会生效。`options` 的后续响应式更新会调用 `setOptions()`；其中 `lineDrawing`、`textConfig`、`perfConfig` 和 `themes` 按字段合并，其余对象或数组字段整体替换。\n\n### 🗺️ 子组件属性\n\n#### `<Minimap>`\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `width` | `number` | `220` | 小地图宽度（px） |\n| `height` | `number` | `140` | 小地图高度（px） |\n| `position` | `MinimapPosition` | `'right-bottom'` | `right/left/top/bottom` 与 `center` 的组合位置 |\n| `dotSize` | `number` | `3` | 节点圆点半径（px） |\n| `viewportColor` | `string` | `'#1890ff'` | 视口框颜色 |\n| `backgroundColor` | `string` | 跟随主题 | 小地图背景色；传入时覆盖主题默认值 |\n\n未传入 `backgroundColor` 时，小地图会订阅主图的主题状态：切换 `light` / `dark` 后，容器、Canvas 背景和缩放标签会同步更新。传入自定义背景色后，主题切换不会覆盖该颜色。\n\n#### `<SelectionBox>`\n\n无需必填属性。组件通过注入的 `GraphApi` 显示当前选区，支持默认删除按钮和两个插槽：默认插槽、`toolbar` 插槽（插槽参数包含 `selectedCount`、`isDragging`、`onDelete`）。选区为空时不会渲染；右键会穿透到画布，因此画布右键菜单仍可使用。\n\n#### `<GraphToolbar>`\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `position` | `'top-left' \\| 'top-right' \\| 'bottom-left' \\| 'bottom-right' \\| 'top-center' \\| 'bottom-center' \\| 'left-center' \\| 'right-center'` | `'top-right'` | 工具栏位置 |\n| `direction` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 按钮排列方向 |\n| `layout` | `ButtonId[][]` | 内置布局 | 二维按钮分组；组间自动插入分隔线 |\n\n`ButtonId` 可用值：`zoomIn`、`scale`、`zoomOut`、`fitView`、`resetView`、`fullscreen`、`force`、`tree:top`、`tree:bottom`、`tree:left`、`tree:right`、`radial`、`circle`、`download`、`import`。\n\n工具栏直接使用 `GraphApi.isDarkTheme` 响应主题变化，因此无论主题由 `toggleTheme()` 还是 `setOptions({ theme })` 切换，工具栏的背景、边框、按钮和图标都会同步更新。\n\n### ⚙️ `TopologyOptions` 配置\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `width` / `height` | `number` | `800` / `600` | 核心画布尺寸（主组件属性优先） |\n| `theme` | `Theme` | `'light'` | `light` 或 `dark` |\n| `minimapCanvas` | `HTMLCanvasElement` | 无 | 将已有 Canvas 作为小地图画布 |\n| `enableHistory` | `boolean` | `true` | 是否启用撤销/重做 |\n| `nodeShape` | `NodeShape` | `'circle'` | 默认节点形状 |\n| `defaultNodeRadius` | `number` | `30` | 新节点默认半径（px）；通过 `setOptions()` 更新时会同步到已有节点 |\n| `lineStyle` | `LineStyle` | `'solid'` | 默认连线样式 |\n| `lineCurve` | `LineCurve` | `'straight'` | 默认连线曲线 |\n| `lineCurveAutoReverse` | `boolean` | `false` | 贝塞尔/弧线是否按端点相对角度自动选择弯曲方向 |\n| `lineCurveOffset` | `number` | - | 全局曲率偏移；正负值控制贝塞尔/弧线弯曲侧 |\n| `lineWidth` | `number` | `1` | 全局连线宽度倍率 |\n| `lineDrawing` | `LineDrawingOptions` | 见下表 | 连线绘制预览线、正式线和重复策略 |\n| `lineFontSize` | `number` | `0` | 全局连线文字大小；`0` 为自动计算 |\n| `nodeAboveLines` | `boolean` | `false` | 是否始终把节点及文字绘制在连线之上 |\n| `gridColor` / `gridSubColor` | `string` | 主题默认值 | 网格主线/副线 CSS 颜色 |\n| `canvasBackground` | `string` | 主题背景 | 画布背景 CSS 十六进制颜色（`#RGB` / `#RRGGBB`）；暂不支持透明度 |\n| `focusZoom` | `number` | `1` | 聚焦目标缩放比例 |\n| `zoomStep` | `number` | `0.05` | 每次放大/缩小的比例步长 |\n| `rendererInit` | `RendererInitOptions` | 见下表 | 仅创建 Pixi 渲染器时读取，运行时 `setOptions()` 不更新 |\n| `themes` | `Partial<Record<'light' \\| 'dark', Partial<ThemeConfig>>>` | 主题默认值 | 覆盖指定主题的颜色字段；可只覆盖一个主题 |\n| `lodTiers` | `LODTier[]` | `DEFAULT_LOD_TIERS` | 按缩放比例选择节点渲染等级；非法项会忽略，剩余项按 `minScale` 降序处理 |\n| `perfConfig` | `TopologyOptions['perfConfig']` | `DEFAULT_PERF_CONFIG` | 当前图实例的渲染节流、文字和箭头参数 |\n| `textConfig` | `Partial<TextConfig>` | 见下表 | 文本截断、换行和格式化 |\n| `hoverNodeHighlight` | `boolean` | `false` | hover 时设置节点 `highlighted` |\n| `hoverNodeLineHighlight` | `boolean` | `false` | hover 时设置关联连线 `highlighted` |\n| `hoverLineHighlight` | `boolean` | `false` | hover 时设置连线 `highlighted` |\n| `clickNodeHighlight` | `boolean` | `false` | click 时设置节点 `selected` |\n| `clickNodeLineHighlight` | `boolean` | `false` | click 时高亮关联连线 |\n| `clickLineHighlight` | `boolean` | `false` | click 时高亮连线 |\n\n高亮开关只控制对应交互是否写入状态；通过数据或其他 API 设置的 `selected` / `highlighted` 状态仍会照常渲染。\n\n#### 曲线方向与偏移\n\n`lineCurveAutoReverse` 仅影响未显式设置曲率的贝塞尔线和弧线：当连线端点顺序反向时，曲线会自动翻转到对应一侧，避免同一关系的反向连线重叠。需要固定弯曲侧或弯曲程度时，使用 `lineCurveOffset`；单条 `GraphLine.curveOffset` 优先于全局值。未设置偏移的平行曲线会继续自动分配不同曲率。\n\n```ts\napi.setOptions({\n  lineCurve: 'bezier',\n  lineCurveAutoReverse: true,\n})\n\napi.updateLine('line-a', { curve: 'arc', curveOffset: -0.18 })\n\n// 需要全部曲线固定在同一侧时，改用全局偏移（此时自动方向不参与计算）\napi.setOptions({ lineCurveOffset: 0.24 })\n```\n\n正负值分别控制曲线位于连线的两侧；数值越大，弯曲越明显。若需要让自动方向生效，请不要同时设置全局或单条连线的 `curveOffset`。\n\n#### `LineDrawingOptions`\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `preview` | `LineDrawingStyleOptions` | 主题强调色 | 鼠标拖动中的临时线 |\n| `line` | `LineDrawingStyleOptions` | 全局默认值 | 绘制成功后写入图数据的正式线 |\n| `allowDuplicateLines` | `boolean` | `true` | 是否允许同向重复连线 |\n\n`LineDrawingStyleOptions` 的 `style` 为 `solid` / `dashed` / `dotted`，`color` 为 CSS 颜色（预览线传 `null` 恢复主题色），`width` 为逻辑像素宽度。\n\n#### `LODTier`、`TextConfig`、`ThemeConfig` 与性能参数\n\n| 类型 | 属性 | 类型/取值 | 说明 |\n| --- | --- | --- | --- |\n| `LODTier` | `minScale` | `number` | 该等级的最小缩放比例，数组按从大到小排列 |\n| `LODTier` | `nodeMode` | `detail \\| normal \\| simple \\| dot` | 节点渲染模式 |\n| `LODTier` | `lineMode` | `detail \\| normal \\| simple \\| hide` | `detail` 显示线/箭头/文字，`normal` 显示线/箭头，`simple` 仅显示线，`hide` 仅保留 `forceDetail` 连线 |\n| `LODTier` | `nodeDowngradeThreshold` | `number` | 已弃用兼容字段，不再影响渲染；请删除 |\n| `LODTier` | `lineDowngradeThreshold` | `number` | 已弃用兼容字段，不再影响渲染；请删除 |\n| `TextConfig` | `nodeTextMaxLength` / `lineTextMaxLength` | `number` | 最大字符数；`0` 不限制，默认 `20` |\n| `TextConfig` | `nodeTextMaxWidth` / `lineTextMaxWidth` | `number` | 最大显示宽度（px）；`0` 不换行 |\n| `TextConfig` | `textFormatter` | `(text, type) => string` | 自定义文本格式化；优先于长度截断，`type` 为 `node` 或 `line` |\n| `ThemeConfig` | `name` | `light \\| dark` | 主题名称 |\n| `ThemeConfig` | `background` | Pixi 数字颜色 | 背景色 |\n| `ThemeConfig` | `gridColor` / `gridSubColor` | Pixi 数字颜色 | 网格主线/副线颜色 |\n| `ThemeConfig` | `textColor` | Pixi 数字颜色 | 默认文字颜色 |\n| `ThemeConfig` | `lineColor` | Pixi 数字颜色 | 默认连线颜色 |\n| `ThemeConfig` | `selectionColor` / `hoverColor` | Pixi 数字颜色 | 选中/悬停高亮颜色 |\n| `perfConfig` | `nodeTextMinScale` / `lineTextMinScale` | `number` | 文字显示的最小缩放比例，默认 `0.5` |\n| `perfConfig` | `hoverColorMinScale` | `number` | 低于该比例时的 hover 变色阈值，默认 `0.5` |\n| `perfConfig` | `maxNodeTextCount` / `maxLineTextCount` | `number` | 节点/连线文字每帧最大绘制数量，默认均为 `500`；连线文字未超过预算时全部绘制，超过时按交互优先级、视口中心和屏幕网格避让处理 |\n| `perfConfig` | `textMaxCount` | `number` | 兼容旧配置，同时设置节点和连线文字预算；新代码建议使用两个独立字段 |\n| `perfConfig` | `renderThrottle` | `number` | 渲染节流间隔（ms），默认 `16` |\n| `perfConfig` | `viewportBuffer` / `gridSize` | `number` | 视口缓冲区/空间索引网格尺寸，默认 `200` / `40` |\n| `perfConfig` | `poolSize` | `{ graphics?: number; text?: number }` | 已弃用兼容字段，当前对象池不支持容量限制；请勿设置 |\n| `perfConfig` | `arrowGap` / `lineMultiOffset` / `lineLabelOffset` | `number` | 箭头间距/多连线间距/连线文字偏移 |\n| `perfConfig` | `msaaLevel` | `number` | 已弃用兼容字段；Pixi 初始化后无法可靠更新抗锯齿等级，请勿设置 |\n| `perfConfig` | `arrowBaseSize` / `arrowMinSize` / `arrowMaxSize` | `number` | 箭头基础、最小、最大尺寸 |\n| `perfConfig` | `lineBaseWidth` | `number` | 连线基础宽度倍率，默认 `0.8`；与 `lineWidth` 相乘后再受最小/最大宽度约束 |\n| `perfConfig` | `lineMinWidth` / `lineMaxWidth` | `number` | 连线屏幕宽度的最小/最大限制 |\n| `perfConfig` | `lineHoverWidthMultiplier` | `number` | hover 时连线加粗倍率 |\n\n#### `RendererInitOptions`\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `antialias` | `boolean` | `true` | 是否启用 Pixi 抗锯齿 |\n| `resolution` | `number` | `max(2, devicePixelRatio)` | 画布物理分辨率倍率，必须大于 0 |\n| `powerPreference` | `'default' \\| 'high-performance' \\| 'low-power'` | `'high-performance'` | GPU 功耗偏好 |\n| `renderer` | `'auto' \\| 'webgl' \\| 'canvas'` | `'auto'` | 渲染器选择；`auto` 自动探测，`webgl` / `canvas` 强制指定，优先级高于 `canvasFallback` |\n| `canvasFallback` | `boolean` | `true` | 低配自适应降级开关；探测到无 WebGL/WebGPU 上下文或仅软件渲染（SwiftShader / llvmpipe 等，无独立 GPU 的国产系统典型）时自动回退 PixiJS Canvas 2D 渲染器并降低抗锯齿/分辨率，保证可用与流畅。关闭则始终强制 WebGL（与旧版本行为一致） |\n\n低配降级模式下组件会自动收紧 LOD 阈值与文字预算。存在独立背景画布时，拖拽和缩放只移动主画布的 CSS 合成层，背景网格保持不动，交互过程不重画整帧；松手或滚轮停稳后再按最终视口重绘一帧。没有独立背景画布时，交互预览仍限制在约 30fps。缩放过程中画面可能短暂发虚，停稳后恢复清晰。详情见 `docs/PERFORMANCE-VS-G6.md`（Git 仓库内）。正常 GPU 环境仍走原 WebGL 路径，渲染行为与旧版本完全一致。\n\n`rendererInit` 必须作为组件 `options` 或 `TopologyGraphCore.create()` 的初始参数传入；实例创建后调用 `setOptions({ rendererInit: ... })` 会被忽略。`perfConfig.msaaLevel` 为历史兼容字段，不会映射到 Pixi 初始化参数。\n\n每个图实例分别保存主题、文字和性能配置；对一个实例调用 `setOptions()` 不会改动其他实例。网格颜色会写入当前实例主题，`gridColor` / `gridSubColor` 可与 `theme` 同时使用。`DEFAULT_PERF_CONFIG` 和 `THEMES` 仅作为新实例的默认值，不应在运行时直接修改。\n\n连线文字未超过 `maxLineTextCount` 时全部绘制。超出预算时，先按 `forceDetail`、交互高亮和视口中心距离选择，再按相同优先级进行屏幕网格避让；候选会通过固定容量选择保留 Top K，避免大图每帧全量排序。\n\n### 🎛️ `GraphApi` 完整方法\n\n`@ready` 的参数、`TopologyGraph` 的 `getInstance()` 以及插槽子组件注入的都是 `GraphApi`。返回 `Ref` 的属性在脚本中使用 `.value`；Vue 模板会自动解包。\n\n| 分组 | API | 参数与返回值 | 说明 |\n| --- | --- | --- | --- |\n| 状态 | `stats` | `Ref<PerfStats>` | FPS、渲染耗时、元素计数和当前缩放 |\n| 状态 | `isDarkTheme` | `Ref<boolean>` | 当前是否深色主题 |\n| 状态 | `canUndo` / `canRedo` | `Ref<boolean>` | 撤销/重做是否可用 |\n| 视图 | `resetView()` | `void` | 恢复初始视口 |\n| 视图 | `zoomIn()` / `zoomOut()` | `void` | 放大/缩小一级 |\n| 视图 | `zoomTo(scale?)` | `void` | 缩放到指定比例，默认 `1` |\n| 视图 | `fitView(options?: FitViewOptions \\| number)` | `void` | 适配全部或指定节点/连线 |\n| 视图 | `getViewport()` | `Viewport \\| null` | 获取当前视口 |\n| 视图 | `setViewport(x, y, scale)` | `void` | 设置视口位置和缩放 |\n| 视图 | `toggleFullscreen()` | `void` | 切换画布全屏 |\n| 连线 | `startLineDrawing(source)` | `boolean` | 以节点对象或 ID 开始绘制 |\n| 连线 | `finishLineDrawing(target)` | `GraphLine \\| null` | 结束绘制并创建正式连线 |\n| 连线 | `cancelLineDrawing()` | `boolean` | 取消当前绘制 |\n| 连线 | `setLineDrawingMode(enabled)` | `void` | 开关连续绘制模式 |\n| 连线 | `isLineDrawing()` | `boolean` | 查询是否正在绘制 |\n| 数据 | `generateTestData(count)` | `void` | 生成指定节点数的测试数据 |\n| 数据 | `setJsonData(data, append?)` | `void` | 设置 JSON 数据；`append=true` 追加 |\n| 数据 | `getJsonData()` | `GraphJsonData \\| null` | 导出兼容 JSON 数据 |\n| 数据 | `doExport()` | `{ nodes, lines } \\| null` | 导出内部数据对象 |\n| 数据 | `importData(data)` | `void` | 导入内部 `{ nodes, lines }` |\n| 查询 | `getNodes()` / `getLines()` | `GraphNode[]` / `GraphLine[]` | 获取全部节点/连线 |\n| 查询 | `getNodeById(id)` / `getLineById(id)` | 元素 `\\| undefined` | 按 ID 查询 |\n| 删除 | `removeNodeById(id)` | `void` | 删除节点及关联连线 |\n| 删除 | `removeLineById(id)` | `void` | 删除单条连线 |\n| 删除 | `removeNodesByIds(ids)` / `removeLinesByIds(ids)` | `void` | 批量删除 |\n| 数据 | `dataUpdated(clearHighlight?)` | `void` | 增删节点或连线后同步渲染器并重绘；仅修改既有元素字段时无需调用。传入 `true` 会同时清除高亮状态 |\n| CRUD | `addNode(data)` / `addLine(data)` | 元素 `\\| undefined` | ID 或重复冲突时返回 `undefined` |\n| CRUD | `updateNode(id, patch)` / `updateLine(id, patch)` | 元素 `\\| undefined` | 合并更新；不允许修改 ID |\n| CRUD | `addNodes(data)` / `addLines(data)` | 元素数组 | 批量新增，跳过冲突项 |\n| CRUD | `updateNodePosition(id, x, y, animate?)` | `void` | 更新坐标，可动画过渡 |\n| 布局 | `applyLayout(options)` | `void` | 应用力导向、树形、径向或环形布局 |\n| 交互 | `focusOnNode(id)` | `Promise<void>` | 动画居中节点 |\n| 交互 | `flashNode(id, duration?)` | `void` | 闪烁提示节点 |\n| 交互 | `searchAndFlyTo(query)` | `boolean` | 搜索文本并飞行定位 |\n| 交互 | `deleteSelected()` | `void` | 删除当前选中的节点 |\n| 交互 | `moveSelectedNodesBy(dx, dy)` | `void` | 按偏移量移动选中节点 |\n| 交互 | `saveCurrentHistory()` | `void` | 手动保存历史快照 |\n| 聚焦 | `focusNodeById(id, options?)` | `void` | 聚焦节点及相邻连线 |\n| 聚焦 | `focusLineById(id, options?)` | `void` | 聚焦连线 |\n| 聚焦 | `cancelFocus()` / `isFocusing()` | `void` / `boolean` | 取消或查询聚焦状态 |\n| 选择 | `setEditingNodes(ids)` | `void` | 设置可编辑节点集合 |\n| 选择 | `setSelectedIds(ids)` / `selectAll()` | `void` | 设置选中集合或全选 |\n| 选择 | `clearSelection()` / `clearClickHighlight()` | `void` | 清除选择或 click 高亮 |\n| 选择 | `getSelectedNodeIds()` | `Set<string>` | 获取当前选中节点 ID |\n| 样式 | `toggleTheme()` | `void` | 切换主题 |\n| 样式 | `setNodeShape(shape)` | `void` | 设置默认节点形状 |\n| 样式 | `setLineStyle(style)` / `setLineCurve(curve)` | `void` | 设置默认连线样式/曲线 |\n| 样式 | `setLineWidth(width)` | `void` | 设置全局连线宽度倍率 |\n| 样式 | `setCustomDrawCallbacks(callbacks)` | `void` | 注册节点/连线自定义绘制回调 |\n| 筛选 | `applyFilter(color, text)` | `void` | 隐藏颜色或文本不匹配的元素 |\n| 历史 | `undo()` / `redo()` | `void` | 撤销或重做 |\n| 导出 | `downloadAsImage(filename?, options?)` | `Promise<void>` | 下载当前视口图片 |\n| 导出 | `downloadFullGraphAsImage(filename?, options?)` | `Promise<void>` | 按完整图边界下载图片 |\n| 信息 | `getViewInfo()` | 视口、数量和边界 `\\| null` | 获取当前视图摘要 |\n| 小地图 | `minimapNodes` | `Ref<{ id; x; y; color? }[]>` | 小地图轻量节点数据 |\n| 小地图 | `getNodesForMinimap()` | 轻量节点数组 | 获取小地图数据快照 |\n| 配置 | `setOptions(options)` | `void` | 部分更新运行时配置 |\n| 选区 | `selBoxVisible` / `selBoxBounds` / `selBoxCount` | `Ref` | 选区框可见性、边界和节点数 |\n| 选区 | `updateSelectionBounds()` | `void` | 重新计算选区边界 |\n| 选区 | `showSelectionBox()` / `hideSelectionBox()` | `void` | 显示或隐藏选区 UI，不改变 selected 状态 |\n| 选区 | `isSelectionBoxVisible()` | `boolean` | 查询选区框状态 |\n| 桥接 | `handleViewportChange(viewport)` | `void` | 供小地图同步主画布视口（一般无需业务调用） |\n\n### 🧪 `useTopologyGraph()` 扩展 API\n\n组合式函数返回 `UseTopologyGraphReturn`。上表中的公共方法同样可用，以下是仅组合式函数额外提供的状态或方法：`performanceMode`、`panBy(dx, dy)`、`startLayout()`、`refresh()`、`getSelBoxState()`；另外 `doExport()`、`importData()`、`selectAll()`、`removeNodesByIds()` 和 `removeLinesByIds()` 可直接使用。组合式函数还提供 `minimapNodes`、`handleViewportChange` 之外的全部选区响应式状态，适合自定义 Vue 容器或不使用主组件的场景。\n\n`FocusOptions`：`animate`（默认 `true`）、`duration`（默认 `400ms`）、`zoom`（`undefined/true` 使用 `focusZoom`，`false` 保持当前比例，数字表示指定比例）。\n\n### 🧱 `TopologyGraphCore` 与事件发射器\n\n非 Vue 场景可通过 `TopologyGraphCore.create(canvas, options)` 创建核心实例。`GraphApi` 已覆盖常用图操作；核心实例还提供以下底层方法：\n\n| API | 参数与返回值 | 说明 |\n| --- | --- | --- |\n| `TopologyGraphCore.create(canvas, options?)` | `Promise<TopologyGraphCore>` | 异步创建并初始化核心实例 |\n| `setData(nodes, lines)` | `void` | 直接设置内部节点/连线数组 |\n| `stop()` / `requestRender(force?)` | `void` | 停止渲染或请求一次渲染（底层控制） |\n| `canUndo()` / `canRedo()` | `boolean` | 以方法形式查询历史状态 |\n| `deleteNodesByIds(ids)` | `void` | 按 `Set<string>` 批量删除节点 |\n| `zoomTo(scale, centerX?, centerY?)` | `void` | 指定缩放中心的底层版本 |\n| `panTo(x, y)` | `void` | 平移到世界坐标 |\n| `selectNode(id)` / `deselectNode(id)` | `void` | 选中或取消单个节点 |\n| `getSelectedIds()` | `Set<string>` | `getSelectedNodeIds()` 的兼容别名 |\n| `highlightNode(id)` / `clearHighlight()` | `void` | 设置或清除通用高亮 |\n| `setLineFontSize(size)` | `void` | 单独设置全局连线文字大小 |\n| `startLayout(options?)` / `stopLayout()` | `Promise<void>` / `void` | 旧版力导向快捷方法及停止布局 |\n| `setTheme(name)` | `void` | 直接设置主题 |\n| `resize(width, height)` | `void` | 更新画布尺寸 |\n| `getPerfStats()` | 性能统计对象 | 获取核心层统计（含平均渲染耗时） |\n| `refresh()` | `void` | 重置视图 |\n| `destroy()` | `void` | 销毁实例并释放资源 |\n\n核心实例继承 `EventEmitter`，可调用 `on(event, handler)`、`off(event, handler)`、`once(event, handler)`、`removeAllListeners(event?)` 和 `listenerCount(event)`。事件名及参数参见上面的 `TopologyEvents` 说明。\n\n### 📦 数据模型\n\n#### `GraphNode`\n\n| 字段 | 类型 | 说明 |\n| --- | --- | --- |\n| `id` / `text` | `string` | 唯一 ID / 显示文本 |\n| `x` / `y` | `number` | 世界坐标 |\n| `radius` | `number` | 节点半径 |\n| `color` | `string` | 节点颜色 |\n| `shape` | `NodeShape` | `circle` / `rect` / `diamond` / `hexagon` / `star` |\n| `icon` | `string` | 图片 URL 或图标资源 |\n| `selected` / `hovered` / `highlighted` | `boolean` | 交互状态 |\n| `hoverColor` | `number` | Pixi 数字格式的悬停颜色 |\n| `borderColor` / `borderWidth` | `string` / `number` | 边框颜色和宽度 |\n| `fontColor` / `fontSize` | `string` / `number` | 文字颜色和大小 |\n| `opacity` | `number` | 透明度 `0~1` |\n| `isHide` | `boolean` | 是否隐藏 |\n| `forceDetail` | `boolean` | 忽略 LOD，始终详情渲染 |\n| `fixed` | `boolean` | 力导向布局中固定位置 |\n| `disabledDrag` | `boolean` | 禁止拖拽 |\n| `flashing` | `boolean` | 是否闪烁 |\n| `_level` / `expanded` | `number` / `boolean` | 树布局层级和展开状态 |\n| `data` | `any` | 业务自定义数据 |\n\n#### `GraphLine`\n\n| 字段 | 类型 | 说明 |\n| --- | --- | --- |\n| `id` | `string` | 连线唯一 ID |\n| `from` / `to` | `string` | 起点和终点节点 ID |\n| `text` | `string` | 连线显示文本 |\n| `color` / `width` | `string` / `number` | 颜色和宽度 |\n| `directed` | `boolean` | 是否有方向 |\n| `style` / `curve` / `curveOffset` | `LineStyle` / `LineCurve` / `number` | 样式、曲线和曲率偏移；连线偏移优先于全局配置 |\n| `selected` / `hovered` / `highlighted` | `boolean` | 交互状态 |\n| `animation` | `LineAnimation` | `0` 无动画，`1~4` 为不同流动/脉冲效果 |\n| `animationSpeed` | `number` | 动画速度倍率 |\n| `fromJunctionPoint` / `toJunctionPoint` | `JunctionPoint` | 端点接入位置 |\n| `fontColor` / `fontSize` | `string` / `number` | 文字颜色和大小 |\n| `opacity` / `isHide` | `number` / `boolean` | 透明度和隐藏状态 |\n| `forceDetail` | `boolean` | 忽略 LOD，始终详情渲染 |\n| `showStartArrow` / `showEndArrow` | `boolean` | 是否显示起点/终点箭头 |\n| `data` | `any` | 业务自定义数据 |\n\n`NewNodeData` 为 `GraphNode` 的新增输入（`id`、`text` 必填）；`NewLineData` 的 `from`、`to` 必填，`id` 可选。`UpdateNodeData` 是节点持久化字段的 Partial 类型，不能更新 `id`、`selected`、`hovered`、`highlighted`；`UpdateLineData` 不能更新 `id`，更新端点时必须引用已存在节点。\n\n#### `GraphJsonData` 兼容字段\n\nJSON 导入允许使用自身字段，也兼容 `relation-graph` 字段名。根对象可选 `rootId`；`nodes` 与 `lines` 数组中的字段如下：\n\n| 数据项 | 支持字段 |\n| --- | --- |\n| 节点 | `id`、`text`、`name`、`x`、`y`、`width`、`height`、`radius`、`color`、`borderColor`、`borderWidth`、`fontColor`、`nodeShape`、`shape`、`opacity`、`isHide`、`forceDetail`、`fixed`、`disabledDrag`、`icon`、`flashing`、`expanded`、`targetNodes`、`children`、`data` |\n| 连线 | `id`、`from`、`to`、`source`、`target`、`text`、`label`、`color`、`fontColor`、`fontSize`、`lineWidth`、`lineShape`、`dashType`、`style`、`curve`、`showEndArrow`、`showStartArrow`、`animation`、`animationSpeed`、`fromJunctionPoint`、`toJunctionPoint`、`opacity`、`isHide`、`forceDetail`、`directed`、`data` |\n\n节点文本优先读取 `text`，未提供时回退到 `name`；连线端点支持 `from`/`to` 或 `source`/`target`。\n\n#### `LayoutOptions`\n\n| 字段 | 类型 | 适用布局 | 说明 |\n| --- | --- | --- | --- |\n| `type` | `'force' \\| 'tree' \\| 'center' \\| 'circle'` | 全部 | 布局类型 |\n| `iterations` | `number` | force | 迭代次数，默认 `300` |\n| `repulsion` | `number` | force | 节点斥力，默认 `5000` |\n| `springLength` / `springK` | `number` | force | 弹簧自然长度/系数 |\n| `damping` | `number` | force | 阻尼系数，默认 `0.3` |\n| `direction` | `TreeDirection` | tree | `left` / `right` / `top` / `bottom` |\n| `levelDistance` | `number \\| number[]` | tree | 层级间距 |\n| `minPerWidth` / `maxPerWidth` | `number` | tree | 同层节点最小/最大间距 |\n| `fixedRootNode` | `boolean` | tree | 是否固定根节点 |\n| `rootIds` | `string[]` | tree | 手动指定根节点 ID |\n| `groupThreshold` | `number` | tree | 树单元连线分组阈值，默认 `5` |\n| `treeGap` | `number` | tree | 树之间间距，默认 `200` |\n| `startAngle` | `number` | center/circle | 起始角度（弧度） |\n| `angleStep` | `'auto' \\| number` | center/circle | 相邻节点角度间距 |\n\n#### `FitViewOptions` 与图片导出\n\n`FitViewOptions` 字段为 `nodes`、`lines`（元素对象或 ID 数组）、`padding`（默认 `50`）、`animate`（默认 `false`）、`duration`（默认 `300ms`）和 `focus`（默认 `false`）。`fitView(80)` 是只传边距的简写。\n\n`ImageExportOptions` 字段为 `format`（`image/png`、`image/jpeg`、`image/webp`，默认 WebP）、`quality`（`0~1`，默认 `0.85`）、`scale`（清晰度倍率，默认 `2`，最高 `4`）和 `viewportSizeMultiplier`（当前视口逻辑范围倍率，默认 `1`）。`scale` 影响物理像素清晰度，`viewportSizeMultiplier` 只影响导出范围。\n\n#### 🎨 自定义绘制回调\n\n通过 `setCustomDrawCallbacks({ drawNode, drawLine })` 注册回调。回调上下文包含 `node`/`line`、屏幕坐标、当前视口缩放、Pixi `graphics` 对象、`drawDefault()` 默认绘制方法，以及 `draw` 工具集。工具集提供 `loadImage(url)`、`drawImage()`、`drawCircle()`、`drawRect()` 和 `drawText()`；自定义图形创建后需要自行添加到对应容器。\n\n每次调用都会同时替换节点和连线回调：未传入的一侧会被清空，不会沿用上一次的函数。需要保留默认图形时先调用 `ctx.drawDefault()`；两侧都传 `undefined` 可恢复默认绘制。自定义 `drawNode` / `drawLine` 允许依赖外部状态，因此每次渲染都会执行；大图场景应避免在回调中进行昂贵计算。\n\n| 回调 | 上下文关键字段 |\n| --- | --- |\n| `drawNode(ctx: NodeDrawContext)` | `screenX`、`screenY`、`screenRadius`、`viewportScale`、`nodeMode` |\n| `drawLine(ctx: LineDrawContext)` | `fromScreenX`、`fromScreenY`、`toScreenX`、`toScreenY`、`lineWidth`、`lineColor`、`viewportScale`、`nodeMode` |\n\n#### 📊 性能统计与基础类型\n\n`PerfStats` 包含 `fps`、`frameTime`、`renderTime`、`idle`、`nodeCount`、`lineCount`、`renderedNodeCount`、`renderedLineCount`、`renderedTextCount` 和字符串形式的 `scale`。`Viewport` 为 `{ x, y, width, height, scale }`；`SelectionBounds` 为 `{ minX, minY, maxX, maxY }`；`CanvasTargetType` 为 `'node' | 'line' | 'canvas'`。\n\n### 📡 组件事件签名\n\n`<TopologyGraph>` 当前直接 emits 以下事件：\n\n| 事件 | 参数 |\n| --- | --- |\n| `ready` | `(api: GraphApi)` |\n| `viewport-change` | `(viewport: Viewport)` |\n| `selection-change` | `(selectedIds: Set<string>)` |\n| `selection-box-change` | `(nodeIds: string[])` |\n| `node-delete` | `(node: GraphNode)` |\n| `node-drag-start` / `node-drag-move` / `node-drag-end` | `(node: GraphNode, event: MouseEvent)` |\n| `canvas-drag-start` / `canvas-drag-move` / `canvas-drag-end` | `(event: MouseEvent)` |\n| `canvas-zoom` | `(scale: number)` |\n| `node-click` / `node-dblclick` | `(node: GraphNode, event: MouseEvent)` |\n| `node-hover` | `(node: GraphNode \\| null, event: MouseEvent)` |\n| `line-click` / `line-dblclick` | `(line: GraphLine, event: MouseEvent)` |\n| `line-hover` | `(line: GraphLine \\| null, event: MouseEvent)` |\n| `canvas-click` / `canvas-contextmenu` | `(event, targetType, target?)` |\n| `line-draw-start` | `(source: GraphNode)` |\n| `line-created` | `(line: GraphLine, source: GraphNode, target: GraphNode)` |\n| `line-draw-cancel` | `(source: GraphNode)` |\n\n`targetType` 为 `'node'`、`'line'` 或 `'canvas'`。`TopologyEvents` 还导出了核心事件总线的类型映射，包含 `data-change`、`perf-stats`、`history-change`、`selectionbox-show`、`selectionbox-close`、`layout-start`、`layout-end` 和 `options-change` 等内部生命周期事件；使用 `useTopologyGraph()` 或 `TopologyGraphCore` 时可按该类型订阅。\n\n## 📡 事件示例\n\n组件支持节点、连线、画布、选择、视口和数据等事件：\n\n```vue\n<TopologyGraph\n  @node-click=\"handleNodeClick\"\n  @line-click=\"handleLineClick\"\n  @line-created=\"handleLineCreated\"\n  @selection-change=\"handleSelectionChange\"\n  @canvas-contextmenu=\"handleContextMenu\"\n  @viewport-change=\"handleViewportChange\"\n/>\n```\n\n其中 `canvas-contextmenu` 的 `targetType` 为 `node`、`line` 或 `canvas`，可用于区分右键目标。连线绘制相关事件包括：`line-draw-start(source)`、`line-created(line, source, target)` 和 `line-draw-cancel(source)`。\n\n## ⚡ 性能建议\n\n- 节点数量超过 500 时，优先使用力导向布局并合理调大斥力与节点间距。\n- 大数据量场景通过 `lodTiers` 开启分级渲染，缩放较小时使用 `simple` 或 `dot` 模式。\n- 超过 10,000 个节点时，撤销/重做会自动禁用以控制内存占用。\n- 使用 `forceDetail` 仅固定关键节点或关键连线，避免大量元素始终以详情模式渲染。\n- 默认详细节点会自动复用未变化的形状、图标和文字；使用自定义绘制回调时该缓存不会跳过回调，应把高频计算移出回调或使用 `simple` / `dot` LOD。\n\n## 🧱 非 Vue 场景\n\n```ts\nimport { TopologyGraphCore } from 'topology-graph-vue'\n\nconst canvas = document.getElementById('canvas') as HTMLCanvasElement\nconst graph = await TopologyGraphCore.create(canvas, {\n  width: 800,\n  height: 600,\n  theme: 'light',\n})\n\ngraph.setJsonData({ nodes: [], lines: [] })\ngraph.applyLayout({ type: 'force' })\ngraph.fitView()\n```\n\n## 📄 License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}