{"_id":"beckhoff-xts-viewer-3d","_rev":"42-2e5e8e369af325079272e653e2aac88a","name":"beckhoff-xts-viewer-3d","dist-tags":{"latest":"6.2.0"},"versions":{"0.3.1":{"name":"beckhoff-xts-viewer-3d","version":"0.3.1","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@0.3.1","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"f91461dfe52e0fd7e389bd1a970e3a9939a32d6d","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-0.3.1.tgz","fileCount":19,"integrity":"sha512-bVqEiRQA6PNLSwcu8qQo0smnjJdek9vsLA9MF6hyy62hayCVCzlHt8BkZju+oVP4rzTwNlvgw/l/Y/Pu2XcQoQ==","signatures":[{"sig":"MEYCIQDH9xBSMzNBoQOi0+HFWaZppFtfCZqtROZ8c5Vv+WFU5AIhAI/cIvfXK6gY6xPYa30RhL3RQQ4KqRfiDvtShc6zzjQ0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7835447},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a6ca8c6470b06f05a7d6115ff62cc34e54161dc3","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"npm run sync-version && npm run assets:bundle-sidecars && node scripts/sync-assets-version.mjs && git add src/version.ts src/assets/builtinSidecars.ts packages/assets/package.json","docs:dev":"npm run docs:copy-screenshots && vitepress dev docs","prebuild":"npm run sync-version && npm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"npm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"npm run docs:build && npm run docs:build:playground","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","adapter:construction-xml":"node docs/spec/reference-services/construction-xml-adapter.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.14.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_0.3.1_1778658626872_0.09890188323230364","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"beckhoff-xts-viewer-3d","version":"1.1.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@1.1.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"b00bea11c5007266a488471f554e92d63f8ef16c","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-1.1.0.tgz","fileCount":19,"integrity":"sha512-OZCLYTtbyFARC9n2dBJY0zLUfMCWaepQFdvaQ5wcvMrqTqVltZT6iO7hZfqUxQKN6yw5bk9U1Z+sW0ZdNxCjFw==","signatures":[{"sig":"MEYCIQCFO+5YSYfludSgf3vvP4oKNnYm28gnCDyJiJBi5Vz3agIhAJi8y7bHzh5OtDOLEIOLOvjP4deXSUyr5rFnG66YLDe+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8006020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4955337e03e762d5e08c39e9a142f2f581004f16","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"npm run docs:copy-screenshots && vitepress dev docs","prebuild":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"npm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"npm run docs:build && npm run docs:build:playground","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","adapter:construction-xml":"node docs/spec/reference-services/construction-xml-adapter.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.14.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_1.1.0_1778918802454_0.602727446994368","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"beckhoff-xts-viewer-3d","version":"2.0.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@2.0.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"7ec49fc0b77b6c129391c4150372807d845332de","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-2.0.0.tgz","fileCount":19,"integrity":"sha512-a+mVZkpZtmjUgv+OOApCIHFjAp61ntH50IQ7Tl2q3iFXTsgpUGGGK1aAUN8HcgLOfGcSM4o4MAZkh2kh93nbVg==","signatures":[{"sig":"MEQCICDzr9AMmOIyuOuJKv9ybmiJ4wobBsDjI4CZcIQmJYWCAiBb2MxusqPu4ue2cG08RECnoIwHQ94ZYAxzA2+BhoBC6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8041160},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8200524dd47fe065627e5045263de94648532d63","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"npm run docs:copy-screenshots && vitepress dev docs","prebuild":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"npm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"npm run docs:build && npm run docs:build:playground","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","adapter:construction-xml":"node docs/spec/reference-services/construction-xml-adapter.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.14.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_2.0.0_1778928745583_0.22484409452658527","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"beckhoff-xts-viewer-3d","version":"2.0.1","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@2.0.1","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"92c78bf6103b4a26689948fff9c8f1eb0e5fc2b8","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-2.0.1.tgz","fileCount":19,"integrity":"sha512-rGiQafUnMNyp0WGAtBCF+Lds/TxnPprEHzWkMRa8IYLQsuvzmCKBa+ic8D3bJMX/muNO2BpSXnAwo6SCZCTsCA==","signatures":[{"sig":"MEQCIGps/huPFofkKSkXWBdhEvbwkFUpFcCVQEuhUGbzVUCnAiAbC9LTHQvR7olvdUHPaRsvvUMAUbca4Qx32WKlFAHsPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8041226},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8387e8c306a76d03319398f35232a920e646d13a","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"npm run docs:copy-screenshots && vitepress dev docs","prebuild":"npm run sync-version && npm run sync-assets-cdn-version && npm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"npm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"npm run docs:build && npm run docs:build:playground","prepublishOnly":"npm run clean && npm run typecheck && npm test && npm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","adapter:construction-xml":"node docs/spec/reference-services/construction-xml-adapter.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.14.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_2.0.1_1778933053961_0.8784696289117913","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"beckhoff-xts-viewer-3d","version":"3.0.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@3.0.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"fa43c18c7c6a157a6538da297d97c89154654cac","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-3.0.0.tgz","fileCount":19,"integrity":"sha512-joZGTAZODuipmhVIiqsvBA0quvspEkA9l+Oi3jEkpc6pvHbU5Kjo78AaFlwJEBp+WQhcJ7pvO7ghg7CJUNxqpQ==","signatures":[{"sig":"MEUCIFAtTjdkUzMR8S20ZXRaEKg6msXgvq/y23ckZI8oy6IYAiEA4AVd46tLzymFIoqG9i+Lv1n4CBtFk7y4AaH5eaVeH/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8041871},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d602d9cb9c207f90cd24a7b97dfe05eaf2d2792a","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","adapter:construction-xml":"node docs/spec/reference-services/construction-xml-adapter.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.12.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_3.0.0_1778933908703_0.16275711164662354","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"beckhoff-xts-viewer-3d","version":"4.0.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.0.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"b42b355f7ee6be742d8599e75b1be8518d185bae","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.0.0.tgz","fileCount":19,"integrity":"sha512-428jkfNNEkJyux5yY9/CuD1e9Oyf5h6bqzltTJa1SMJ29N63KfDucHuBemt8IzAY4gaFQJnR3ZXYQkOMLVnpGg==","signatures":[{"sig":"MEUCIFATSa915haTqiTCWo0p9Bi68jIPSHSdUXd53TO0Iw2bAiEA1SVOqYjBd5G2NtqCcJS92GZhnnc+apGwJDVi2e0orgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8020260},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4b529e977fdb88bb4cb3a53e167b5ce64c74fe44","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.12.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.0.0_1779391900601_0.4141920959816785","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"beckhoff-xts-viewer-3d","version":"4.1.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.1.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"9e6937d5b0d60ecaca0215b9da06ca782d84a581","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.1.0.tgz","fileCount":19,"integrity":"sha512-p4LDz84xuCRPXTTUgJZPsmhwGVPrvYXiFCMHw36AyZx8Z3OND+0YE+mlJFEhg2vCnfBu6f/P3IScZ78R+0n0Gg==","signatures":[{"sig":"MEUCIQCjpqKBlN/ogsRJmBoJfpz4uiD4orTGAdL/r+sCuFQRDwIgDwEb22Xaq40H1VgWv+XJQ9W2niqqWB9nyI58V9wu9Es=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8049336},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"592d08dc33e61fecd723a44e67c7a8862d27b771","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.12.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.1.0_1779811273422_0.28401994508342","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"beckhoff-xts-viewer-3d","version":"4.2.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.2.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"15df3532b76e0020891ef2751b932c57d0f92e76","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.2.0.tgz","fileCount":19,"integrity":"sha512-N2hhyZYVcmwiYFaJzVsIRaJ1fmTESG2fZMy5yo2WElFTZaZCS+WTxFHo+KKWCE4jbdY9QbMrmZ4IdD68EXvYtQ==","signatures":[{"sig":"MEQCIQDh89y14DI3Rc5tu/Lw7M1qBpoU5Ld3dhzlW/WuCX8i5wIfFO7tLMaiwIqqn0qPo58vBQGXm2a69bavii99m4MrJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8116228},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"228ed173546e388dd3c799c890bf06904743ead7","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.12.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.2.0_1779812333074_0.6032030584904235","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"beckhoff-xts-viewer-3d","version":"4.3.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.3.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"870fda1cf0da27e75ac69e069c30aa5a1e90cd5e","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.3.0.tgz","fileCount":19,"integrity":"sha512-1h21ImTrROAcO/jzJku61P84vdoZmHrthv+t3DCta+/H9DdD0y0uUDgavs8jMFQlGBoqnbZu26MLXJdSdf1FFg==","signatures":[{"sig":"MEUCIBfQsH98amW08fayXdv5J0QPj5DlcXKH/EVSVwIy8VBhAiEAzoVTXnThCNAyTpe8POGXEE4r4H1mfrYajw8gnydNomk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8116228},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"68d08e75d99ba46029a40c1a286c5ed7c546e0c0","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.12.1","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.3.0_1779822225464_0.8332923322052164","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"beckhoff-xts-viewer-3d","version":"4.4.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.4.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"f694b60c02ea0c61ca232985ffaf4413f0b0b7ce","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.4.0.tgz","fileCount":19,"integrity":"sha512-835RcNEjyKHIkfYiuTKNQKClDjVjUlUpuYyXkrQEyg2Xl5fKTiMrPmtWU5ywflDK3t0mcaFI5c5KbWKSAfdImw==","signatures":[{"sig":"MEQCID9rVspco1pTNPRk4DgH0LEYxkF1YsY6Yk3Ybn+ZLk1AAiAupkRH/K/db9/P4Y+7gX+PMyxKIhaEGcCm1rFGLo16vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8147138},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8ede47caef2f463877c1d1f39bbf2c5af214e5c8","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.13.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.4.0_1780000181771_0.5121704877395905","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"beckhoff-xts-viewer-3d","version":"4.5.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.5.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"5de1cd641647cbfa9e7575532226941857e438d2","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.5.0.tgz","fileCount":19,"integrity":"sha512-CXDPS1zKnA7UcSDyEVdOypLdkllpYE3gSIxMxVYSbjdyKNA6Pu5xNs1ZOR/7JK75pWP2CD4zvqLHPkxs+Yic5g==","signatures":[{"sig":"MEUCIQD07wauib2ZzBfyNJnpuDp4TUFWyMvqjBoLe+jqClvQsgIgEHe5EAXdwMT4yDtE0nSmiHaWzq++tZK9JSf9cwDfsJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8147138},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"431ca84dd44ccd2234f07e18df18841c154fd68d","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.13.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.5.0_1780053270407_0.24309989222147377","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"beckhoff-xts-viewer-3d","version":"4.6.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.6.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"96dc776950ded5bf167fac65d09acca658a6ea92","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.6.0.tgz","fileCount":19,"integrity":"sha512-zoQpzzD/evoQF1eNo+V5I7HbW/35ko9I2m/gdNGtXcAsLPFpvbUNCGPC85Ny8uBbYn/65hvYSK+rjAvjozoxXQ==","signatures":[{"sig":"MEQCIArRG5+eWcyuwAyiyKY+SoeSwhjFBoBNkhsDBsNO4qmwAiBKCoVjDQ0Mjlpfr6ISGO9s01fQPi6hLKN05Jfuks/I+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8268426},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3e4ad3dd16d2cd1b958dd55242c8fad0d4eb3c45","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.13.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.6.0_1780334481504_0.4185610799003936","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"beckhoff-xts-viewer-3d","version":"4.7.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.7.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"36f0c587fa9a42aed3f344942a24f8a9f7f7841f","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.7.0.tgz","fileCount":19,"integrity":"sha512-tJNa5DatqL7pIXPNed7RvQkfnZy+83mfKjgH4LajxgC5LpzOPrCFaIqM8Kpg3I1C/vL//LmnYYiFc5mJ6OkQzg==","signatures":[{"sig":"MEYCIQCy2VTRWLEXvTEvJpxIxFfD0shXaub/nHFfZ2ciNwuJngIhAKOlXk9STF6wurZeZiwSLO4EuzEN8/cqZjQ1jbqFKRur","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8276634},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e18c078d19745dc466c237794804f36f79cdac22","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.13.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.7.0_1780340315422_0.0032254433295368923","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"beckhoff-xts-viewer-3d","version":"4.8.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.8.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"32cacde1e8a339951dc637812ab39e5f5c33b0fe","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.8.0.tgz","fileCount":19,"integrity":"sha512-9AHyEerjkSfSGJhNuaQmNIc30lk0IMxL/lf7fQ+sxbsp+YJnUJGUAAO2tvO02nkDYbQZ1DytcQmGHapFnstbrQ==","signatures":[{"sig":"MEQCICW1SiuqeO4f7cKvqutsqBXgpuHQFLNtc9sQIYIklTXeAiAmpuoYpkBZjBTNVTGuFs4s4tMSJK8bRb6tRqCT6+BBkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8394850},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"94b290dac6e10993e932af5badac79383335d42b","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.13.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.8.0_1780592835350_0.12694553381153906","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"beckhoff-xts-viewer-3d","version":"4.9.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.9.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"5386bf89431b8c8196bde6816b23d282c0fb8f75","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.9.0.tgz","fileCount":19,"integrity":"sha512-fcUCUKP6W5sxASGOpjkaBwjb4FY0mtqFtNqPTrygCB0bx4fy3wivlg0W3r3kQKAQglxXQW2C39DwR/88qGw2Aw==","signatures":[{"sig":"MEYCIQDdh12+jRB+HpOB0IGCecsKwZC7up1X7BA7fS8ObAnRmQIhAPBruwjrHE4OO4qSR8OsiwAq5DkCnHP8bxOO/QWNU1Tc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8449702},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6dd367fa0bf6983683cdfd111918836c9833370a","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.16.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.9.0_1782986944496_0.5568849576291965","host":"s3://npm-registry-packages-npm-production"}},"4.10.0":{"name":"beckhoff-xts-viewer-3d","version":"4.10.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@4.10.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"8d2bdca6c6c5fee627edadd1d75e938f40af6d0f","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-4.10.0.tgz","fileCount":20,"integrity":"sha512-0MibhUy9L4ucsHgOssxJSSdxwFnzlJnsSdZVd4avXXWTFTHWNsM2dp8RCDbnMXtKQge91OontjjUZOYfY1fDZA==","signatures":[{"sig":"MEUCIQD48tMIbVXIZtm7N/45REniriqQj2MyIbUPyL9cnrZzZQIgCMsZjZZ59sy1/FYcB497Is6MrBTctXDF3By4hAHW4sM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8791217},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9b2dcc9ca88fd7fd2cd577a2fa7bc55093233103","scripts":{"dev":"vite","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","sync-version":"node scripts/sync-version.mjs","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.17.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.0.10","react":"^19.2.5","three":"^0.184.0","vitest":"^4.1.6","react-dom":"^19.2.5","vitepress":"^1.5.0","@vitest/ui":"^4.1.6","fast-check":"^3.23.2","typescript":"5.4","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/three":"^0.184.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.36.7","fast-xml-parser":"^5.7.2","@types/react-dom":"^19.2.3","semantic-release":"^25.0.3","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.7","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.6.0","@gltf-transform/cli":"^4.3.0","@vitejs/plugin-react":"^6.0.1","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^7.1.0","@react-three/postprocessing":"^3.0.4","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"react":">=18.0.0","three":">=0.150.0","react-dom":">=18.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.36.0","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_4.10.0_1786737534610_0.06390141060762611","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"beckhoff-xts-viewer-3d","version":"5.0.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.0.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"820f7740d1cf344ecf35567c5e00f64e9af28fdb","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.0.0.tgz","fileCount":20,"integrity":"sha512-ntJxkIz7IYd8xvwhOvuYbgG4IfMxx4PZtrvM1mkBlpIV6pkhca7F8qnogjKzKExZtTHv5JtjQbL5CztSqTpiUQ==","signatures":[{"sig":"MEYCIQDADfETRjyZe7DHB7BUX7N3SXCIN6vA8ezdnllsfzQnwwIhAN4JZWAtifJGhtw0hE5xRzxq6+rCbHkyJEOq/IXkm6ij","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9011669},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0fa7c426c915824fa47b70f2a5197a20b4814753","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.17.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.0.0_1788035512678_0.13396931726100192","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"beckhoff-xts-viewer-3d","version":"5.1.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.1.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"2a34ba0c81d57eeaed783a3cc083ee84edba6c9f","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.1.0.tgz","fileCount":20,"integrity":"sha512-y+h1Wqiar8blTjeRAXMU+NmDZF3S//v3DKmp/fPfPTCmOcFlJ/0ePUpsdYjrTE9VZHLhcAqa4rI/ISMD+iJF+A==","signatures":[{"sig":"MEUCIQDI5RKJgtJerW9dQdRqcsRIVGdck7X2F9Jc2B73RDN3qgIgSgWSkS5Q/jkxrYSgVvZ9+Jj98FNiyXMkNAbFtwkUKSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9517697},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ef0519a2771df2921773fb704bd722616a1eb9ef","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.17.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.1.0_1788285567938_0.2846205796600991","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"beckhoff-xts-viewer-3d","version":"5.2.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.2.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"1f71c8bc0e2e1f5cca5c9dd914ddf5cfcffb3b44","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.2.0.tgz","fileCount":20,"integrity":"sha512-Zq9H2ZZBBuT9uKtJokOV+UAWi2Fof8sIhEfCx03sU7nqjztoW3yNzQQ/Zw4KFZvAa79oyblFdinbGagU03ctww==","signatures":[{"sig":"MEQCIQDYXUOjNP1lyx9ne9RfrMaJVpSgB1dRKVBtqzMvW91mJgIfIki6pba1eX+++VPIc7CwqK50BcyeZ3n3H2/HrgJD7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9631575},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bfeb34a99271150351296160e6ed7d6d11fca64a","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.2.0_1788379657488_0.13657647083617852","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"beckhoff-xts-viewer-3d","version":"5.2.1","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.2.1","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"0ed725465bc5f4884a0cad27b6962fdb5983b3b8","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.2.1.tgz","fileCount":20,"integrity":"sha512-G7zjeLg4EKHQE4Y5HQM9UrfdD+cggJs9aUro1ghJkQf8oqTlEVuWDSpSPQypplwtfQIJ9o05sC1UGOZUfzvq2w==","signatures":[{"sig":"MEQCIDiDdoE3DTuFsbA8f3IeWh5CWlWzUWNThtCuwcPkV2owAiAupmWuBZ77uCfdav9I0EVXsfe8vtQw16735Ddhlrx5eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9549519},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0f08455ff5ecb1ee252e114c8c00f421849f63d7","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.2.1_1788528900126_0.9883153845337806","host":"s3://npm-registry-packages-npm-production"}},"5.2.2":{"name":"beckhoff-xts-viewer-3d","version":"5.2.2","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.2.2","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"1328ca060102f4bba7d0b0d2183bd4e01a6dd12b","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.2.2.tgz","fileCount":29,"integrity":"sha512-dht2a3XC8b1MSP2WQ1v4C9Mp398ya0QcopCa/zjoFXhf0odNXXgopiFESU+SJdTOdj0hCuclQBKXL/ZiSCQA7g==","signatures":[{"sig":"MEUCIQDCJDlNPU6Qmf1kQ4eFfMNZ9E3ETcNQmRuGITdIKm+ABwIgbkUwaNwIs71wq/JhmsLjeIDuIPNA1EW2kLi74crCjVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6149700},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"845fc809cebf903fad83c78e2b4d1f746ee20af3","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.2.2_1788533071633_0.09466488535007067","host":"s3://npm-registry-packages-npm-production"}},"5.2.3":{"name":"beckhoff-xts-viewer-3d","version":"5.2.3","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.2.3","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"630b1cb3beec7699413bfba2fff54e1122804b24","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.2.3.tgz","fileCount":29,"integrity":"sha512-s8VZplztiU5nSvdSP/bdpxer+1Jm8Ehbqj+ZIB4yh5nqMGDnAMfFW2eA/+b4jzSxx0KAsvnjKBw4F44QYb+Gkg==","signatures":[{"sig":"MEUCIBrk84pTbUXu+LV0U/ATerJs769IEfjT00wnVxMjzr9mAiEA8R1g66rNqC9BGg2F2eeHSIqeliHMRJ+YS7FHhAMA+Y8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6160362},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0262a1a4fabe73d8b1d74af29c0f892600972aeb","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8b8feea9-edda-4380-8552-a9fb21948224"}},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.2.3_1788674704353_0.8471280617136916","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"beckhoff-xts-viewer-3d","version":"5.3.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@5.3.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"9b8b3a27536e65755f133adc59a052f3f5ee4eb6","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-5.3.0.tgz","fileCount":29,"integrity":"sha512-zxrjIVbcEDDL7q1m+s8itqVRwDOLmOztMSVcLnBBuMt1Hxg2hO8M6YYofi66nvXO8vUIO1bKxXWxu+Q8lhqlcg==","signatures":[{"sig":"MEQCID6ek1uSbMFygQoklkgturSyaEeg6OcUCBqx2M4Q7E1VAiAGCV2928eZzrc73bytVZf9+RzIN5cJEJEx5rcNKbd8yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6639613},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14d272584d224e0dc803cd1e0d3d1115f619eb57","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^4.1.11","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^4.1.11","fast-check":"^4.9.0","typescript":"^5.9.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.2.7"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_5.3.0_1788971868701_0.8134143877865039","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"beckhoff-xts-viewer-3d","version":"6.0.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@6.0.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"c3189ea88037f5e31c8ad01f96543fe74ec50826","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-6.0.0.tgz","fileCount":29,"integrity":"sha512-GuTHFQOCIbkZMCnalrzAUixnNsT/JVGhbFGASO6+rIYRLADmJe+9JgU44m4Ybs5LCtIL5Ej/zhz4OXftzT1zSw==","signatures":[{"sig":"MEYCIQC7ZoI2hgQnJ+nOXf2iunbWuJHvh64E1dEk9ATkU9XHlgIhAMyJhjMyDCBjaWx6xCL15rAbKGLICNha8yaIPzBCDC00","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCJJTYporLvLnbf/VVKLJFKew0QQ4a3CALQfjlOVtSwXQIgAumG3ESmEKVKshAWlGbK+LTzmrHIRq9HK8Qa4+EDvKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7007105},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a542ef55aca5f4fd67076fa3455958bb9338c0fe","scripts":{"dev":"vite","lint":"eslint . --max-warnings 17","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","verify":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test:coverage && pnpm run build && pnpm run check-generated && pnpm run docs:build:all","//-lint":"Warning budget is a ratchet, not a target: it sits at the current count so a new warning fails the build. Lower it as warnings are fixed; never raise it to make a red build pass. The rules that must never regress at all (max-lines) are errors.","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.typecheck.json","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","check-generated":"git diff --exit-code -- src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","//-check-generated":"`prebuild` regenerates these three from public/models and package.json, and nothing verified that the committed copies matched what it produced. A stale sidecar in public/models, or a generator run with different inputs, would ship a bundle nobody had looked at. Runs after build, so it checks what the build just wrote.","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:fit-hepco-seating":"node scripts/fit-hepco-carriage-seating.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^5.0.0","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^5.0.0","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.3.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_6.0.0_1789205355805_0.9796602752636763","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"beckhoff-xts-viewer-3d","version":"6.0.1","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@6.0.1","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"2066d2f68c8088e3a17f2b8a7ce4a6d7ed44b7bc","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-6.0.1.tgz","fileCount":29,"integrity":"sha512-4HjPF4+qLU5NmTB+ok4zr4pMDWUN6scv9SzD85l/9QQRFKHIcC5ZoUKx7xyt6A0RfhO/XI1E0lzEqbws6yvRCw==","signatures":[{"sig":"MEQCIFEtxtwyXqimq5uOZEGjZmojCnkO46WX890D3WTRktI9AiBo/YaX/LLUlccHxA+k2d1stbJmpzrD64IYS71va8WoMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICYL0Vek1JdujHSeQkufhHObhEJbNlBlybau/jl+LcvzAiEAoR02qpftnppyuoLtH6/7kRxpDgUisDsj0J1WFEwPvzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7009757},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6b4b33e117ee6ecce1ca9a1b810de3940781ce36","scripts":{"dev":"vite","lint":"eslint . --max-warnings 17","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","verify":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test:coverage && pnpm run build && pnpm run check-generated && pnpm run docs:build:all","//-lint":"Warning budget is a ratchet, not a target: it sits at the current count so a new warning fails the build. Lower it as warnings are fixed; never raise it to make a red build pass. The rules that must never regress at all (max-lines) are errors.","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.typecheck.json","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","check-generated":"git diff --exit-code -- src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","//-check-generated":"`prebuild` regenerates these three from public/models and package.json, and nothing verified that the committed copies matched what it produced. A stale sidecar in public/models, or a generator run with different inputs, would ship a bundle nobody had looked at. Runs after build, so it checks what the build just wrote.","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:fit-hepco-seating":"node scripts/fit-hepco-carriage-seating.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^5.0.0","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^5.0.0","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.3.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_6.0.1_1789237444941_0.4435390207090033","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"beckhoff-xts-viewer-3d","version":"6.1.0","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@6.1.0","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"b578ecfa94c09f1e91374658ac30936e0a2954aa","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-6.1.0.tgz","fileCount":29,"integrity":"sha512-r4oFoCy0OI+RdPTTbi403CkbxmJeyDVP4bBMv0y1ON0RjsLBbJ4PdbKBW0IDusvEy+zaLjB88f0e27OxEE8gMA==","signatures":[{"sig":"MEUCIEnfR1Iyv2tSXFo30jB+dyVjkYjbRp4Gu7Dwi7aHclLAAiEAjNbasPnmyNgzwnTbAJyG0JQOlvFt7Ofj37ZsWNxYLDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRJu35j1WEEjR4pOzUrQjK7so5ojScOc4kA1tmhdBhVAIhAJ1Ufx7RP7i2VfB8kd9WxejEG2BWBoXtEiAOXtWE2O/X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6943566},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"316b2084907b4a94aa7df25c9e8a884d943613cb","scripts":{"dev":"vite","lint":"eslint . --max-warnings 17","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","verify":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test:coverage && pnpm run build && pnpm run check-generated && pnpm run docs:build:all","//-lint":"Warning budget is a ratchet, not a target: it sits at the current count so a new warning fails the build. Lower it as warnings are fixed; never raise it to make a red build pass. The rules that must never regress at all (max-lines) are errors.","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.typecheck.json","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","check-generated":"git diff --exit-code -- src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","//-check-generated":"`prebuild` regenerates these three from public/models and package.json, and nothing verified that the committed copies matched what it produced. A stale sidecar in public/models, or a generator run with different inputs, would ship a bundle nobody had looked at. Runs after build, so it checks what the build just wrote.","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:fit-hepco-seating":"node scripts/fit-hepco-carriage-seating.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^5.0.0","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^5.0.0","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.3.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_6.1.0_1789292185045_0.8771527780138475","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"beckhoff-xts-viewer-3d","version":"6.1.1","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"author":{"name":"Philipp Leidig"},"license":"MIT","_id":"beckhoff-xts-viewer-3d@6.1.1","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"200c14ee6f492f601e692d1b250eb76b5c66d52c","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-6.1.1.tgz","fileCount":29,"integrity":"sha512-AWxp9g7fiFE1BXRNpWG0+O+HJMoSIRfTYnz/qffPnNhI6VmqknZZdKA+f3r4F2A5iU82XKqFADUvSe7KXQxEYw==","signatures":[{"sig":"MEYCIQDjk0RgaL7xodWUYNwWedGgyQLCHGSYz4Oj+s7/x52p6gIhAOe3BM/NIAIeRPH04cM4aTyAfNuWrTa0RrD6kyCSNwzh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCtpigb4nfaWNMmkzATPW+vsNHeiwkMc2DE2+bCijeZYwIhAM4z3s2zLiMu8T6fbI1eSMIeZagQLqcblpm7/lSt8xkP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6953476},"main":"./dist/index.cjs","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (2880 = 48 h). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the one entry that crosses a major: vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":2880,"blockExoticSubdeps":true,"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ae3c720387eb5c22405fa82b503f8f9a9beb03f9","scripts":{"dev":"vite","lint":"eslint . --max-warnings 17","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","verify":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test:coverage && pnpm run build && pnpm run check-generated && pnpm run docs:build:all","//-lint":"Warning budget is a ratchet, not a target: it sits at the current count so a new warning fails the build. Lower it as warnings are fixed; never raise it to make a red build pass. The rules that must never regress at all (max-lines) are errors.","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.typecheck.json","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","check-generated":"git diff --exit-code -- src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","//-check-generated":"`prebuild` regenerates these three from public/models and package.json, and nothing verified that the committed copies matched what it produced. A stale sidecar in public/models, or a generator run with different inputs, would ship a bundle nobody had looked at. Runs after build, so it checks what the build just wrote.","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:fit-hepco-seating":"node scripts/fit-hepco-carriage-seating.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Reusable React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.185.1","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^5.0.0","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.185.4","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^5.0.0","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.3.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/beckhoff-xts-viewer-3d_6.1.1_1789298458467_0.6615253450623793","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"_id":"beckhoff-xts-viewer-3d@6.2.0","bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"dist":{"shasum":"26ceeb0211403ecc598ec3b59f37697faf27717f","tarball":"https://registry.npmjs.org/beckhoff-xts-viewer-3d/-/beckhoff-xts-viewer-3d-6.2.0.tgz","fileCount":30,"integrity":"sha512-t5XXoqywDHwNYWJum7c0gVuT8CTMPznt1npVr6PUHm3P8Vd3VyVTRVmVBIAcg354wiIiondSVDVB/GNWKJHRAg==","signatures":[{"sig":"MEUCIDpjPSWeEzNQB6QRjzsHmmGG8bIxtM/hHMYE0ISUOWw9AiEAj5atD5PaoDx0MvJii7vDYNfPLHJLV1JNB7K5tdalbWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDK8+XR/JbJvEmlm+QfXl5uNffa/m3Vgtu0gFmt4QIvNAIgHdRUre/YRoA5E5rfE7TpV2mL+d+jZNnCEfEFrs+TRSs="}],"unpackedSize":7187424},"main":"./dist/index.cjs","name":"beckhoff-xts-viewer-3d","pnpm":{"//":"Mirror of the .npmrc settings as camelCase keys for newer pnpm versions that prefer the package.json config block. minimumReleaseAge is in minutes (4320 = 72 h) and must stay equal to the .npmrc value and to dependabot.yml's npm `cooldown.default-days` (3). blockExoticSubdeps rejects subdependencies that use exotic protocols (git/url/file).","//-builds":"Allow-list of packages whose install scripts may run. Anything else in node_modules has its postinstall/preinstall/install scripts blocked, neutering the most common malware vector.","overrides":{"tmp":"^0.2.7","sharp":"^0.35.0","vite@5":"^6.4.3","nanoid@3":"^3.3.18","undici@6":"^6.27.0","undici@7":"^7.29.0","js-yaml@4":"^4.3.1","postcss@8":"^8.5.23","form-data@4":"^4.0.6","esbuild@0.21":"^0.25.12","esbuild@0.27":"^0.28.1","brace-expansion@2":"^2.1.4"},"//-overrides":"Transitive dev-only dependencies pinned forward to their patched releases so `pnpm audit` stays clean. None of these reach the published bundle — dist/ contains only src/ with the peer deps externalised. Keyed by major where several majors coexist in the tree. Drop an entry once every direct dependency has caught up on its own.","//-overrides-vite":"vite@5 is the other entry that crosses a major (see //-overrides-esbuild): vitepress 1.6.4 depends on vite ^5.4.14, and the fs.deny / path-traversal / launch-editor advisories are only fixed from 6.4.2 onward — the 5.x line ends at 5.4.21 with no patch. Verified against this combination: docs:dev serves, docs:build and docs:build:all both complete. Drop it for a plain vitepress bump as soon as vitepress 2 leaves alpha, since 2.x is on vite 6+ on its own.","minimumReleaseAge":4320,"blockExoticSubdeps":true,"//-overrides-esbuild":"esbuild@0.27 is the second entry that crosses a 0.x major: GHSA-g7r4-m6w7-qqqr (arbitrary file read via the dev server on Windows) covers >=0.27.3 <0.28.1, and the 0.27 line has no patched release — the fix only exists from 0.28.1 onward. tsup 8.5.1 still declares esbuild ^0.27.0 and there is no later tsup, so the override is the only way forward; vite 8 already accepts ^0.27.0 || ^0.28.0, so only tsup is being held past its declared range. Verified against this combination: pnpm verify passes, which builds dist/ through tsup. Drop it once tsup declares ^0.28.","onlyBuiltDependencies":["esbuild"]},"type":"module","types":"./dist/index.d.ts","author":{"name":"Philipp Leidig"},"module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f5ddb8f7022e980474c3b0c22e1f3c060692bed6","license":"MIT","scripts":{"dev":"vite","lint":"eslint . --max-warnings 17","test":"vitest run","build":"tsup","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","format":"prettier --write .","verify":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test:coverage && pnpm run build && pnpm run check-generated && pnpm run docs:build:all","//-lint":"Warning budget is a ratchet, not a target: it sits at the current count so a new warning fails the build. Lower it as warnings are fixed; never raise it to make a red build pass. The rules that must never regress at all (max-lines) are errors.","release":"semantic-release","test:ui":"vitest --ui","version":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars && git add src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","docs:dev":"pnpm run docs:copy-screenshots && vitepress dev docs","lint:fix":"eslint . --fix","prebuild":"pnpm run sync-version && pnpm run sync-assets-cdn-version && pnpm run assets:bundle-sidecars","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.typecheck.json","docs:build":"pnpm run docs:copy-screenshots && vitepress build docs","test:watch":"vitest","postinstall":"node scripts/postinstall-disclaimer.mjs","docs:preview":"vitepress preview docs","format:check":"prettier --check .","sync-version":"node scripts/sync-version.mjs","release:local":"node scripts/release-local.mjs","test:coverage":"vitest run --coverage","//-postinstall":"Prints the \"not a Beckhoff product\" disclaimer when the package is installed as a dependency; silent inside this repository. Best-effort only — npm 7+ hides dependency script output, pnpm 10+ blocks these scripts unless allow-listed, and --ignore-scripts skips them. The README block is the guaranteed channel.","assets:convert":"node scripts/convert-step-to-glb.mjs","assets:inspect":"node scripts/inspect-glb-all.mjs","docs:build:all":"pnpm run docs:build && pnpm run docs:build:playground","prepublishOnly":"pnpm run clean && pnpm run typecheck && pnpm test && pnpm run build","assets:optimize":"node scripts/optimize-glb.mjs","check-generated":"git diff --exit-code -- src/version.ts src/assets/assetsVersion.ts src/assets/builtinSidecars.ts","release:dry-run":"semantic-release --dry-run --no-ci","assets:normalize":"node scripts/normalize-glb-names.mjs","playground:build":"vite build","//-check-generated":"`prebuild` regenerates these three from public/models and package.json, and nothing verified that the committed copies matched what it produced. A stale sidecar in public/models, or a generator run with different inputs, would ship a bundle nobody had looked at. Runs after build, so it checks what the build just wrote.","assets:build-package":"node scripts/build-assets-package.mjs","assets:verify-colors":"node scripts/diagnose-step-colors.mjs --verify","docs:build:playground":"vite build --base /beckhoff-xts-viewer-3d/playground/ --outDir ../docs/.vitepress/dist/playground --emptyOutDir","docs:copy-screenshots":"node scripts/docs-copy-screenshots.mjs","release:deprecate-old":"node scripts/deprecate-manual.mjs","release:local:dry-run":"node scripts/release-local.mjs --dry-run","assets:apply-materials":"node scripts/apply-materials.mjs","assets:bundle-sidecars":"node scripts/bundle-sidecars.mjs","sync-assets-cdn-version":"node scripts/sync-assets-cdn-version.mjs","assets:bundle-label-font":"node scripts/bundle-label-font.mjs","assets:fit-hepco-seating":"node scripts/fit-hepco-carriage-seating.mjs","assets:generate-sidecars":"node scripts/generate-sidecars.mjs","docs:capture-screenshots":"node scripts/capture-screenshots.mjs","assets:diagnose-step-colors":"node scripts/diagnose-step-colors.mjs","assets:generate-mover-sidecars":"node scripts/generate-mover-sidecars.mjs"},"version":"6.2.0","_npmUser":{"name":"philippleidig","email":"philippleidig@gmx.de"},"homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"_npmVersion":"11.19.0","description":"Unofficial, independent React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js. Not a Beckhoff product and not affiliated with or endorsed by Beckhoff Automation GmbH & Co. KG.","directories":{},"maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.23.0","devDependencies":{"tsup":"^8.5.1","vite":"^8.2.2","react":"^19.2.8","three":"^0.186.0","eslint":"^10.9.1","vitest":"^5.0.0","prettier":"^3.9.6","react-dom":"^19.2.8","vitepress":"^1.6.4","@eslint/js":"^10.0.1","@vitest/ui":"^5.0.0","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/three":"^0.186.0","three-stdlib":"^2.36.1","@dnd-kit/core":"^6.3.1","occt-import-js":"^0.0.23","postprocessing":"^6.39.2","fast-xml-parser":"^5.11.1","@types/react-dom":"^19.2.5","semantic-release":"^25.0.9","@dnd-kit/sortable":"^10.0.0","@react-three/drei":"^10.7.8","typescript-eslint":"^8.68.0","@dnd-kit/utilities":"^3.2.2","@react-three/fiber":"^9.7.0","@gltf-transform/cli":"^4.4.2","@vitest/coverage-v8":"^5.0.0","@vitejs/plugin-react":"^6.1.0","@semantic-release/git":"^11.0.1","@semantic-release/exec":"^7.1.0","eslint-plugin-react-hooks":"^7.1.1","@react-three/test-renderer":"^9.1.1","@react-three/postprocessing":"^3.1.1","@semantic-release/changelog":"^7.0.0","@fontsource/roboto-condensed":"5.3.0"},"peerDependencies":{"react":"^19.0.0","three":">=0.181.0","react-dom":"^19.0.0","three-stdlib":">=2.36.0","postprocessing":">=6.39.2","@react-three/drei":">=10.0.0","@react-three/fiber":">=9.0.0","@react-three/postprocessing":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"three":{"optional":false},"react-dom":{"optional":false},"three-stdlib":{"optional":false},"postprocessing":{"optional":true},"@react-three/drei":{"optional":false},"@react-three/fiber":{"optional":false},"@react-three/postprocessing":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/beckhoff-xts-viewer-3d_6.2.0_1789922792469_0.9650001792195726"}}},"time":{"created":"2026-05-11T19:56:50.205Z","modified":"2026-09-20T16:46:32.817Z","0.0.7":"2026-05-11T19:56:50.465Z","0.0.8":"2026-05-11T20:05:28.294Z","0.0.9":"2026-05-12T14:55:13.620Z","0.0.10":"2026-05-12T18:25:11.322Z","0.1.0":"2026-05-12T19:21:09.765Z","0.2.0":"2026-05-13T05:35:29.328Z","0.3.0":"2026-05-13T06:26:03.284Z","0.3.1":"2026-05-13T07:50:27.183Z","1.1.0":"2026-05-16T08:06:42.824Z","2.0.0":"2026-05-16T10:52:25.898Z","2.0.1":"2026-05-16T12:04:14.304Z","3.0.0":"2026-05-16T12:18:29.013Z","4.0.0":"2026-05-21T19:31:40.852Z","4.1.0":"2026-05-26T16:01:13.707Z","4.2.0":"2026-05-26T16:18:53.359Z","4.3.0":"2026-05-26T19:03:45.732Z","4.4.0":"2026-05-28T20:29:42.061Z","4.5.0":"2026-05-29T11:14:30.624Z","4.6.0":"2026-06-01T17:21:21.779Z","4.7.0":"2026-06-01T18:58:35.680Z","4.8.0":"2026-06-04T17:07:15.572Z","4.9.0":"2026-07-02T10:09:04.767Z","4.10.0":"2026-08-14T19:58:54.869Z","5.0.0":"2026-08-29T20:31:52.975Z","5.1.0":"2026-09-01T17:59:28.188Z","5.2.0":"2026-09-02T20:07:37.796Z","5.2.1":"2026-09-04T13:35:00.408Z","5.2.2":"2026-09-04T14:44:31.861Z","5.2.3":"2026-09-06T06:05:04.578Z","5.3.0":"2026-09-09T16:37:48.901Z","6.0.0":"2026-09-12T09:29:15.954Z","6.0.1":"2026-09-12T18:24:05.128Z","6.1.0":"2026-09-13T09:36:25.186Z","6.1.1":"2026-09-13T11:20:58.608Z","6.2.0":"2026-09-20T16:46:32.630Z"},"bugs":{"url":"https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues"},"author":{"name":"Philipp Leidig"},"license":"MIT","homepage":"https://github.com/philippleidig/beckhoff-xts-viewer-3d#readme","keywords":["xts","beckhoff","three","threejs","react","3d","viewer","linear-motor","hepco","gfx","react-three-fiber"],"repository":{"url":"git+https://github.com/philippleidig/beckhoff-xts-viewer-3d.git","type":"git"},"description":"Unofficial, independent React component for rendering Beckhoff XTS linear-motor systems in 3D using Three.js. Not a Beckhoff product and not affiliated with or endorsed by Beckhoff Automation GmbH & Co. KG.","maintainers":[{"name":"philippleidig","email":"philippleidig@gmx.de"}],"readme":"> **⚠️ Disclaimer — this is not a Beckhoff product**\r\n>\r\n> `beckhoff-xts-viewer-3d` is an independent, unofficial open-source project.\r\n> It is **not** developed, published, reviewed, endorsed, sponsored or\r\n> supported by Beckhoff Automation GmbH & Co. KG or by HepcoMotion, and it has\r\n> no affiliation with either company. Please do not contact their support\r\n> about it — open an\r\n> [issue](https://github.com/philippleidig/beckhoff-xts-viewer-3d/issues)\r\n> instead.\r\n>\r\n> \"Beckhoff\", \"XTS\" and \"TwinCAT\" are trademarks of Beckhoff Automation\r\n> GmbH & Co. KG; \"Hepco\", \"HepcoMotion\" and \"GFX\" are trademarks of Hepco\r\n> Slide Systems Ltd. They are used here only descriptively, to identify the\r\n> hardware this viewer renders, and remain the property of their respective\r\n> owners.\r\n>\r\n> The 3D geometry is derived from CAD data published by those manufacturers\r\n> for engineering use. Rights to that data and to the product designs it\r\n> depicts stay with their owners: the MIT license covers this project's own\r\n> source code only and grants no rights to third-party CAD data, trademarks or\r\n> other intellectual property. Rights holders can reach the maintainer through\r\n> a GitHub issue, and any material will be removed on request.\r\n>\r\n> The software is provided \"as is\", without warranty of any kind (see\r\n> [LICENSE](LICENSE)). It is a visualization aid: not a safety device, not\r\n> validated for machine control or any safety-related function, and no\r\n> substitute for the manufacturer's own documentation.\r\n\r\n# beckhoff-xts-viewer-3d\r\n\r\n[![npm](https://img.shields.io/npm/v/beckhoff-xts-viewer-3d.svg)](https://www.npmjs.com/package/beckhoff-xts-viewer-3d)\r\n[![npm assets](https://img.shields.io/npm/v/beckhoff-xts-viewer-3d-assets.svg?label=assets)](https://www.npmjs.com/package/beckhoff-xts-viewer-3d-assets)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\r\n[![CI](https://github.com/philippleidig/beckhoff-xts-viewer-3d/actions/workflows/ci.yml/badge.svg)](https://github.com/philippleidig/beckhoff-xts-viewer-3d/actions/workflows/ci.yml)\r\n\r\nA React component that renders Beckhoff XTS linear-motor systems — and Hepco\r\nGFX rail variants — in 3D. It takes a declarative description of modules,\r\nmovers and tools and handles the path math, GLB loading, mover animation,\r\nselection, lighting and camera work.\r\n\r\nIt covers the same ground as the official 2D `Beckhoff.TwinCAT.HMI.XTS.Controls`\r\nviewer, using real CAD geometry in three dimensions.\r\n\r\n![A 5 m XTS packaging line rendered by the viewer](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/01-packaging-line.webp)\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install beckhoff-xts-viewer-3d\r\nnpm install react react-dom three\r\n```\r\n\r\n| Requirement                                      | Version                  | Why                                                |\r\n| ------------------------------------------------ | ------------------------ | -------------------------------------------------- |\r\n| `react` / `react-dom`                            | `^19.0.0`                | required by `@react-three/fiber` 9                 |\r\n| `three`                                          | `>= 0.181.0`             | the viewer uses the console-hook API added in r181 |\r\n| `@react-three/fiber`                             | `>= 9.0.0`               |                                                    |\r\n| `@react-three/drei`                              | `>= 10.0.0`              |                                                    |\r\n| `three-stdlib`                                   | `>= 2.36.0`              | GLTF, KTX2 and Meshopt loaders                     |\r\n| `postprocessing` + `@react-three/postprocessing` | `>= 6.39.2` / `>= 3.0.0` | optional — only needed for SSAO and bloom          |\r\n| Node                                             | `>= 20`                  | build tooling only; the runtime is browser ESM     |\r\n\r\nThe package is `\"type\": \"module\"` and ships ESM and CJS from\r\n`./dist/index.{js,cjs,d.ts}`. `sideEffects: false`, so unused exports\r\ntree-shake out.\r\n\r\nAny modern bundler works (Vite, Webpack, Next.js, Remix, Astro). If your\r\nbundler installs more than one copy of `three`, deduplicate it — see\r\n[Troubleshooting](#troubleshooting).\r\n\r\n## Minimal example\r\n\r\n```tsx\r\nimport { XtsViewer3D } from 'beckhoff-xts-viewer-3d';\r\n\r\n<XtsViewer3D\r\n  config={{\r\n    processingUnits: [\r\n      {\r\n        objectId: 0,\r\n        moverType: 'AT9014_0055',\r\n        parts: [\r\n          {\r\n            objectId: 0,\r\n            globalNumber: 0,\r\n            modules: [\r\n              { moduleType: 'AT2001_0250', globalNumber: 1 },\r\n              { moduleType: 'AT2000_0250', globalNumber: 2 },\r\n              { moduleType: 'AT2050_0500', globalNumber: 3 },\r\n              { moduleType: 'AT2050_0501', globalNumber: 4 },\r\n              { moduleType: 'AT2001_0250', globalNumber: 5 },\r\n              { moduleType: 'AT2000_0250', globalNumber: 6 },\r\n              { moduleType: 'AT2050_0500', globalNumber: 7 },\r\n              { moduleType: 'AT2050_0501', globalNumber: 8 },\r\n            ],\r\n          },\r\n        ],\r\n        movers: [{ index: 0, id: 0, partOid: 0, partPositionMm: 200 }],\r\n      },\r\n    ],\r\n  }}\r\n/>;\r\n```\r\n\r\nNo asset hosting is required. GLBs stream from the matching\r\n`beckhoff-xts-viewer-3d-assets` release on jsDelivr; see\r\n[asset hosting](docs/USING-THE-COMPONENT.md#1-glb-assets--zero-config-by-default)\r\nto self-host them instead.\r\n\r\n## Module catalogue\r\n\r\nEvery image on this page comes out of the component itself, through the same\r\n`exportScreenshot()` a consumer calls, and shows a layout a line would\r\nactually be built as — a 5 m racetrack with four stations, a buffer loop\r\nbeside it. See [docs/screenshots](docs/screenshots/README.md) for the capture\r\nscript and [`playground/src/configs.ts`](playground/src/configs.ts) for the\r\nlayouts themselves.\r\n\r\n|                                                                                                                                                                                                      |                                                                                                                                                                                                                          |                                                                                                                                                                                                                                    |\r\n| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| ![Standard AT](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/02-standard-at.webp)<br>**Standard AT** — AT2001 infeed, AT2000 straights and the AT2050 180° clothoid reversal. | ![Eco AT2200](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/03-eco-at2200.webp)<br>**Eco AT2200 / AT2202** — 500 mm straights, which pair naturally with the 500 mm reversal.                     | ![NCT with AT8200 tools](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/04-nct-tools.webp)<br>**NCT AT2002 / AT2102** — high modules carrying AT8200 tool carriers on the movers.                            |\r\n| ![Hygienic ATH](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/05-hygienic-ath.webp)<br>**Hygienic ATH** — stainless housings, sealed joints and the ATH9011 mover.            | ![Hepco GFX2](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/06-hepco-gfx.webp)<br>**Hepco GFX2** — the procedural GFX rail profile with a GFX2 1TC carriage instead of the Beckhoff guiding rail. | ![Material close-up](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/07-materials-closeup.webp)<br>**Real materials, not CAD colours** — anodised housing, stator packs, printed type plate with its LED row. |\r\n\r\nThe GLBs ship with a named PBR material library rather than the CAD sources'\r\nplaceholder colours — see [Asset pipeline](#asset-pipeline).\r\n\r\n## Features\r\n\r\n**Geometry and layout.** The full Beckhoff module and mover catalogue —\r\nStandard AT, Eco AT2200, NCT (AT2002 / AT2102 with AT8200 tools), Hygienic ATH\r\nand Hepco GFX2 — with straights, ±22.5° and ±45° curves and the AT2050 / ATH2050\r\n180° clothoid reversal. Both Hepco guideways are modelled as procedural\r\nsections swept along the track and picked by the carriage on it: the TL1\r\n1-Trak spear bar under a `1TC` carriage, the PRT2 size-44 track under an\r\n`FCC` one. Module-to-module C0/C1 continuity is pinned by golden\r\nfixtures. Per-XPU `trackTransform` places independent lines in one scene, and\r\n`positionFrame` remaps every position value into the host's coordinate\r\nconvention without touching the rest of the config.\r\n\r\n**Mover motion.** `setMoverPositions()` writes into a per-component store that\r\n`useFrame` drains directly into the three.js scene graph, so a 60 Hz drive loop\r\nproduces no React renders. An instanced fast path batches mover bodies into a\r\ndraw-call count that no longer grows with the mover count, where per-mover\r\nscene nodes are not needed.\r\n\r\n**Rendering.** ACES filmic tone mapping, image-based lighting from a\r\nprocedurally built indoor environment, anisotropic filtering and optional\r\nPCF-soft shadows, all switchable through `display.*`. SSAO and bloom are\r\navailable when the optional post-processing peers are installed.\r\n\r\n**Interaction and status.** Click selection for modules, movers, whole tracks\r\nand static custom assets, tinting the GLB itself rather than overlaying\r\nwireframes; draggable translate / rotate / scale handles on a selected track\r\nor custom asset, in the same palette as the orientation gizmo; drive-status blink plus\r\ncamera-facing warning and error icons; feed-segment (Einspeisestrang) tinting\r\nthat wraps the seam of a closed loop; stations, areas, dimensions and info bars;\r\nstop-position ghost movers; and a stator heatmap driven by\r\n`(positionMm, value)` samples.\r\n\r\n**Measuring and annotating.** CAD-style tools — point-to-point distance with\r\noptional ΔX/ΔY/ΔZ guides, angle, polyline, and distance _along_ the XTS path —\r\npicked in the scene with snapping to geometry corners and edges as well as to\r\nmover centres, module boundaries, station stops and the track path itself.\r\nAnnotations pin a label anywhere, including to a mover, where they follow it\r\nwhile it drives. Everything works the same in the 2D plan view, renders into\r\nscreenshots and video frames, and is fully drivable from\r\n`viewerRef.current.measurements`.\r\n\r\n**Analysis.** Sub-millimetre mover collision detection, as a one-shot call or a\r\ncontinuous monitor, plus module-level collision probes.\r\n\r\n**Export.** `exportScreenshot()` renders offscreen at any resolution with MSAA,\r\nin current-camera, top-down or saved-camera mode. `beginFrameCapture()` opens a\r\nreusable session whose `grab()` returns a frame synchronously without image\r\nencoding, and keeps producing frames while the window is minimised. Both bypass\r\nthe post-processing chain; the result reports whether that happened.\r\n\r\n**Camera.** Orthographic top-down projection for a live 2D plan view, an\r\nanimated `focusOn()` for stations, areas, movers, modules or the whole scene,\r\nand an opt-in X / Y / Z orientation gizmo.\r\n\r\n### Measurements and annotations\r\n\r\n```tsx\r\nconst viewer = useRef<XtsViewer3DRef>(null);\r\nconst [tool, setTool] = useState<MeasurementTool>('none');\r\n\r\n<XtsViewer3D\r\n  ref={viewer}\r\n  config={config}\r\n  // The same tools work in the 3D view and the 2D plan view.\r\n  projection={plan2D ? 'orthographic' : 'perspective'}\r\n  measurement={{\r\n    tool, // 'distance' | 'angle' | 'path' | 'trackDistance' | 'annotation'\r\n    snap: { enabled: true, radiusPx: 14 },\r\n    onMeasurementCreate: (m, result) => console.log(m.kind, result.text),\r\n  }}\r\n/>;\r\n\r\n// …or place and read measurements without any user interaction:\r\nviewer.current.measurements.add({\r\n  kind: 'distance',\r\n  points: [{ positionMm: [0, 0, 200] }, { positionMm: [1000, 0, 200] }],\r\n});\r\nviewer.current.measurements.results(); // [{ value: 1000, text: '1 000.0 mm', … }]\r\nconst saved = viewer.current.measurements.toJSON(); // persist, restore with fromJSON()\r\n```\r\n\r\nSee [Measurements + annotations](docs/USING-THE-COMPONENT.md#17-measurements--annotations)\r\nfor the tools, the snap kinds and the full API.\r\n\r\n## Gallery\r\n\r\n|                                                                                                                                                                                                                       |                                                                                                                                                                                                                                                  |\r\n| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\r\n| ![Two parallel lines](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/08-multi-track.webp)<br>A packaging line and a buffer loop side by side, placed with `trackTransform`.                     | ![Stations and areas](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/09-stations-areas.webp)<br>Station tubes with their stop markers, ghost movers parked on the stops, and cleanroom / manual-access zones.              |\r\n| ![Dimensions and stations](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/10-dimensions.webp)<br>Dimensions along the track, stepped out from the modules they measure.                         | ![Stator heatmap](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/11-stator-heatmap.webp)<br>Vertex-colour gradient along the centerline, fed from `(positionMm, value)` samples.                                           |\r\n| ![Collision detection](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/12-collision.webp)<br>Two movers of the line parked at a 1 mm overlap — `checkMoverCollisions()` reports the penetration. | ![Drive status](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/13-drive-status.webp)<br>Emissive tint on the GLB plus camera-facing warning and error icons, on modules and movers alike.                                  |\r\n| ![Feed segments](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/14-feed-segments.webp)<br>`feedSegmentHighlights` tints whole electrical strands; the pink one wraps the loop seam.             | ![Measurements and annotations](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/15-measurements.webp)<br>A distance across the loop with ΔX/ΔY guides and two annotations, placed through `viewerRef.current.measurements`. |\r\n| ![Selection](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/16-selection.webp)<br>Selection tints the GLB itself — two modules green, one mover orange — rather than overlaying a wireframe.    | ![Shadows and IBL](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/18-shadows.webp)<br>Opt-in PCF-soft shadows over the procedurally built indoor environment.                                                              |\r\n| ![Many movers](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/19-perf-stress.webp)<br>750 movers on three ovals, animated at 60 Hz with no React commits in steady state.                       |                                                                                                                                                                                                                                                  |\r\n\r\n![Top-down export](https://cdn.jsdelivr.net/npm/beckhoff-xts-viewer-3d/docs/screenshots/17-plan-view.webp)\r\n\r\n`exportScreenshot({ mode: 'top-down' })` — orthographic, fitted to the scene\r\nAABB. The same view is available live through `projection=\"orthographic\"`.\r\n\r\n## Troubleshooting\r\n\r\n### Modules render as yellow boxes and movers as blue boxes\r\n\r\nThe viewer is showing wireframe placeholders because no GLB was accepted. The\r\nconsole also reports `THREE.WARNING: Multiple instances of Three.js being\r\nimported`, and no `models/*.glb` requests appear in the network panel.\r\n\r\nThis happens when a transitive dependency pins its own copy of `three`. Two\r\ncopies mean two `THREE.*` namespaces, and the `instanceof` checks inside\r\n`useGLTF` reject every parsed scene across that boundary.\r\n\r\nDeduplicate `three` in your bundler:\r\n\r\n```ts\r\n// vite.config.ts\r\nexport default defineConfig({\r\n  plugins: [react()],\r\n  resolve: { dedupe: ['three'] },\r\n});\r\n```\r\n\r\nFor Webpack and Next.js, alias `three` to your root `node_modules/three`.\r\n[Bundler configuration](docs/USING-THE-COMPONENT.md#bundler-configuration--deduplicate-three)\r\nhas the full snippets and explains how to clear Vite's pre-bundle cache\r\nafterwards.\r\n\r\n## Documentation\r\n\r\n- [Using the component](docs/USING-THE-COMPONENT.md) — every prop, every ref\r\n  method, asset hosting, recipes and performance tuning.\r\n- [Adding a module](docs/ADDING-A-MODULE.md) — taking a new module, mover or\r\n  tool type from STP file to calibrated GLB.\r\n- [Performance](docs/PERFORMANCE.md) — the asset compression pipeline and the\r\n  runtime budget.\r\n- [Releasing](docs/RELEASING.md) — the automated publish flow.\r\n- [Migrating to v6](MIGRATION.md) — what changed and what to do about it.\r\n\r\n## Contributing\r\n\r\nSetup, the asset pipeline, the repository layout and the release flow are in\r\n[CONTRIBUTING.md](CONTRIBUTING.md).\r\n\r\n## License\r\n\r\nMIT — see [LICENSE](LICENSE).\r\n","readmeFilename":"README.md"}