{"_id":"vehicle-path2","_rev":"27-e434bbb7cf7099d4167ceef257919ce8","name":"vehicle-path2","dist-tags":{"latest":"4.0.3"},"versions":{"1.0.0":{"name":"vehicle-path2","version":"1.0.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"71da39bc6e335ee4fbca818630024d7d80cbbcfc","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.0.tgz","fileCount":42,"integrity":"sha512-vECSEzHPggYjwYB80DLkCTWcxVBwr+z+kwW0y3HQREn/oseboVsY9dqLSyPadOdqSMebvQDKFocmbyHRL2YdKg==","signatures":[{"sig":"MEUCIQDIHVVsJBSt2ojvd16GnFd3FESDFekBH5wpu/Bg4IPZ2QIgTgA5UXpqnSFBPa0UywPGybtkFY3QE647YWL9L++C3sM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164660},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"d26f366369950ee14b083e5fb1a86a14ec1ddab6","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.0_1769336622066_0.5064679997007777","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"vehicle-path2","version":"1.0.1","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.1","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"433b3f4765f648f6958141fa8450733b4f61e87d","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.1.tgz","fileCount":42,"integrity":"sha512-rZLELpnn8KEufDjLPGIrtdQTHfl09Es41p8FO4V/M5CxZZIyD6+Wj/fmlzzs03rFMeHmE4qP3DdLt8W9ZytADg==","signatures":[{"sig":"MEQCIHuts34NYt3rYhlR/f5VxS1b+tpN1zcBs8szfZbK1LluAiBMj8WMCtleNYo62QR96sGRSo+dfvfQvXTY5HOs/usdsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164660},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"f71922f41b59c7f623eb0f689d3d06739dd47509","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.1_1769336944683_0.6971537341252585","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"vehicle-path2","version":"1.0.2","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.2","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"0c2a7ea19de111e314825ecc8c8646640a7836aa","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.2.tgz","fileCount":42,"integrity":"sha512-VHICpJGVU4WgUGxl/XBeiOQOEaQ+27taknjIGBd48ue9J76TvuqckVn4XPdYL/xjYNHkve+8JiqbFYZcf2Fqjw==","signatures":[{"sig":"MEYCIQCQXu8SnArkPLR68++0AnDDsmD63IfSsoVCDiRauoAqHAIhAMz7TAB4XzwpatRj/ICkXsSOXWqkJTpX4FBKYknYaqyM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164591},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"01d013412c8cbdde9e58e9973c51ed2b7f2424f8","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.2_1769345393266_0.26153601998079834","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"vehicle-path2","version":"1.0.3","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.3","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"1808fd703de9f2904aee3936aa7922bd63a2ce49","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.3.tgz","fileCount":42,"integrity":"sha512-Ko9d0CsTl4hp8B29wgLAIgV+KuaQFapBU1cXa6VLaghAgsIVR5Bf5ke/lodu0ffq5YfTC2QtDJbcpns7gjmODg==","signatures":[{"sig":"MEUCIBxg68Ynf96TY8yCqRA9YrDVQE3gDwRzk3f7e4swNwOTAiEAobwt+rnO9SP4GW4LcNzeU2LlFHM8iBsTZnjQ/hfHCx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165242},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"d3751235f1a384b425e995310edfa8307579834b","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.3_1769347537666_0.4851619415440316","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"vehicle-path2","version":"1.0.4","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.4","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"86663466c95c85fe28547b4a9f15ec674cd00e1c","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.4.tgz","fileCount":42,"integrity":"sha512-kMk06YozoIJwOdQc5FJRowzyMmN9isdIHRma4lDPZRNzJ0Brdk7ZQ9+nE+6cSe70HZ7fl+Vyh2Sq3R0n2Pdpmw==","signatures":[{"sig":"MEQCIHzGPekx3akihLAYwhNg9WaTDew049mrISafDYpR+E+QAiAC+kmy6xeRt5R/SdgSex8SSH/rJt7qm5pYAsfluM9JDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165272},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"ee51a9c9317bd54f02bd2a7cbd530d16584f1252","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.4_1769349672099_0.4361221721835571","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"vehicle-path2","version":"1.0.5","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.5","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"40b512ae9c9c73b5cfe884b475790c4507d9e869","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.5.tgz","fileCount":42,"integrity":"sha512-YUuA6Evjgtrps48ck6lX7PGYsiYeDfntFiiKXs8cDULZZXH9jsR4tHpV9tM6qwAK9uPsvq61nfW++qfbwbUmVw==","signatures":[{"sig":"MEUCIDu9/Bm6yIHWHQ1PHvAv/LU7LXsAb2LqewzuzXTXFhhMAiEA9B02bJf6TGvLtE7JiOUPIAQjremZ494c0+0h9CwW/Gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165825},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"1f701948c5167d226f67c6ffcbdbef2d25456c15","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.5_1769357642625_0.405677202905838","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"vehicle-path2","version":"1.0.6","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.6","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"c8a76bad6bee27c26975c7e753f160c9fef23415","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.6.tgz","fileCount":42,"integrity":"sha512-qMSZ0WFImKeTNZ03to3UXLBo7eal1+r6Af/n87zLMWICOQryl8vW1uW7LbFVTPDIszDN8dD6p3eMwdAOFT2I/g==","signatures":[{"sig":"MEUCIHQDwJLyJDJPh3hJK+Myh38IxQ2h+orJLrT3Yj/OWs4WAiEAkPI9qy6uhTjJBOgKlqYogggZrDJV3ccJEPpVH+J1XGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165825},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"15d261ac12fb01f71b3f289cd66c7a176a0cc454","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.6_1769358670210_0.9049870798487039","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"vehicle-path2","version":"1.0.7","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.7","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"5f778d12f43733883832f3f29ac91fcf33d99b10","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.7.tgz","fileCount":42,"integrity":"sha512-udKn+lWmaOnPNEwk/czHsWvqE/P2XDYr/M26qQ7FppMOLChI/R8/p7r0ScZ36K2EN0b4ZCiLQjioVXlzj2T5+A==","signatures":[{"sig":"MEUCIBXywpco/8138mxHJURG6fstPKxmrnsGBv1Rp/hne9mGAiEAmUZ2mSvkPXfzYIHtonaqNceMLa/LUQVyTuacCJqGJY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166506},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"15d261ac12fb01f71b3f289cd66c7a176a0cc454","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.7_1769363669679_0.4648659898077838","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"vehicle-path2","version":"1.0.8","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.8","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"42ab0ac200f14bcddf9001301a23ca07db2de9a5","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.8.tgz","fileCount":42,"integrity":"sha512-zwDLcnR++bj3jB+yxfee1t65FxmpuGbidl1tN+zjSfaIhV/W2DL+Jega+DK+CpQkJqzBSbWIj56r1sJ2tn5ysw==","signatures":[{"sig":"MEUCIFkNQFu1W1r/4q7Ht6VArhkuKa+reWAvpIHv3nXkMv5QAiEA34hlcIYavDm886vffOZlWnnIkfozNdMpopRmzNKrcFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166660},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"159738651bd3460b17298b1dc64dd9ba5622c428","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.8_1769364460502_0.05876385652396188","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"vehicle-path2","version":"1.0.9","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.9","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"895d2305c42d84ecc209b2fec90b15cb94d16bc1","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.9.tgz","fileCount":42,"integrity":"sha512-AL65K99CPSUaEv+7mDJrDG7KcQGnkPSVAaYsw8pp0UyVHxpQaGanA3RSq8EmLP9OygnaCS2sExOxL70oMI4GFg==","signatures":[{"sig":"MEYCIQDI/mQX+AiLcHEcpb0AIGh284onN+OpzRF3AqFEaYYW5QIhAMPFhV6uOco/hvQ9kbdI89eKMNRIHU+GJlhUDgAOWFIs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166774},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"10076677f5500978dc41d6e4bf06d6ed7c55ec87","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.9_1769495675522_0.4572327850125588","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"vehicle-path2","version":"1.0.10","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.10","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"9327ae4deb6fe2bcac1731d2c47af9626b99835f","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.10.tgz","fileCount":42,"integrity":"sha512-nLkeY/mwJ6V5Qd057WAYlpn5wJCW7qyOpm2ExhyAGed2eDO+TLIPv4jhNQRX2EauNkSrXYVWQSM+4Qc9hyELyQ==","signatures":[{"sig":"MEYCIQC6gXtlYVXK3/L0IM06AQiGZXtZTnBq0Ey1wLDIzTjL9AIhALXbWcj0nz10YS0H9i7ouWaVACB7O5sTSnr743GxQxHX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166814},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"e7a1c4b192b5942f122d85b5024e4f2df66460b1","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.10_1769528663144_0.7937094636788917","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"vehicle-path2","version":"1.0.11","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.11","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"b202003180a92b2b7be2901de21fe6e8929db29c","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.11.tgz","fileCount":42,"integrity":"sha512-l2xreXhWrLuvPRmB0eM4OXIKyf923Cu7NGHAlok+S9w6EtewbixH4IOnLm15Ceqv+iXJn1yATkMHnpe3Eiv5uA==","signatures":[{"sig":"MEUCIA1orprPhyz4sxzFVh/wQPcCbltLnakeXQCyqLkIu+mSAiEAmUOWVHlagehH6tdNfB6ByxQ0EFGrZTUnze2S83Gg91M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167444},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"ab83ce82195f88f259317458c8471f5c175adca4","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.11_1769601695613_0.2977716465447302","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"vehicle-path2","version":"1.0.12","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.12","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"9d7244e8d817057015ff239c3368d80cace76053","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.12.tgz","fileCount":42,"integrity":"sha512-ZrzQ2IuWYIi/WWOSEvRqFcBVX1sU2hUH7Wul6/0stzdA7/JsJ3PuD3TJuXx0quRy2rUpEmY3VWnvgDV99Q8obw==","signatures":[{"sig":"MEQCIA7AxXhEGv0WFMBDMQ+5U9CwyTbLMyBT7g0zS9wS5ay3AiBTZoKEMP23FKohfoyV78T2M68dput+z2ReDkBHm283WA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164403},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"7aa7cbeb99b786f5b89bd16321e8854b7c73f0b8","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.12_1769604983792_0.7338699411243264","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"vehicle-path2","version":"1.0.13","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.13","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"fbceee62c3b83af7f75757eaac9a3272e3a5dffb","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.13.tgz","fileCount":42,"integrity":"sha512-3J1/skY2AL6VyjrUY4Ia6FrHccUtVElhClmvod56CxjfpvNvZusWMcqDqNH/J0C0xsc9fTXG+UMzYx/Yt8fjIA==","signatures":[{"sig":"MEUCIFIfKcOlCyw3SaigFLvn4vn0W447bW/wq5nrRtBVnCrqAiEA933lI/4FUloPy2emGRhLTKO/oupITvv7r1Ubh24GkUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166682},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"2d6ca596d9a7811e2fdfc4631257132e4e7d9d8b","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.13_1770382717802_0.3221008566815873","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"vehicle-path2","version":"1.0.14","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.14","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"efa8e421cbd7aeae7ac1d8b6d0395009df25e7c2","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.14.tgz","fileCount":42,"integrity":"sha512-XS9/MCwMKVtxLjHICuHIt4rGTaGubKkk7f+qqhlQop7a5wWtTWUcD4O2KiBgM9kg7JyAaTFTi9ltEkW3yiD6rA==","signatures":[{"sig":"MEYCIQCL86+op3FUkaKYZOFZnKtVQbPVe9uHmR7Qu8oG3OXWpAIhANrahFk0SPOHSLtRjI1pfvbnVsSeZfnVnH8es5kjyoqa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166671},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"53acdc753aa1816c26b1cbbfedb0751ae2e684ff","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.14_1770513423443_0.38483478730577136","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"vehicle-path2","version":"1.0.15","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@1.0.15","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"00b6833d2616034c805d9a24cc6d1eb4b87338e9","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-1.0.15.tgz","fileCount":45,"integrity":"sha512-wckiKJwPbwwfDIaXrkNziI34m3sgl7w1omUYnrtibxrE5U6QwrzkM7yAsSnff4ktyC4nRdPeRDrWkJ9jvma7aA==","signatures":[{"sig":"MEYCIQDdoiQ6P8MvbJtnlorR0QWjaVM/m1ibECXauNbazdF1ggIhAKCu+jE5RJWYUyqz97LJ9I2ntaF0o115yT/2DNTLMmSB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185865},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react/index.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react/index.d.cts","default":"./dist/react.cjs"}},"./utils":{"import":{"types":"./dist/utils/index.d.ts","default":"./dist/utils.js"},"require":{"types":"./dist/utils/index.d.cts","default":"./dist/utils.cjs"}}},"gitHead":"8d7bb09fb3f94409232eb3d65ed79608545e7c7f","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_1.0.15_1772761336453_0.3756564910352036","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"vehicle-path2","version":"2.0.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@2.0.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"e8e97247f94ddcdd890a2e41275c291938e60f98","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-2.0.0.tgz","fileCount":18,"integrity":"sha512-P5xVBmIRtoeiB/MKDYyTA8O11G+yX7hSPYu9OpesM8h85QkSHVz2Lcckfvw79aAwoZbqz0wFUdhLZxQ3c7LGJQ==","signatures":[{"sig":"MEQCICJktyJkKN38ULMd4CfqvpeC1tV85Cqi//qN3C6PN0LWAiBJvTjknRlZ8doU7Y9hzTbrUvULCD5LzcRsArWbnafOEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78866},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_2.0.0_1773023398229_0.6202644038633969","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"vehicle-path2","version":"2.1.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@2.1.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"e88dd38c0bd28de4db170c7179e7dad6f11cfd16","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-2.1.0.tgz","fileCount":21,"integrity":"sha512-BmYbK0VczaAxKscbNYQmrGsDtEuE8aFm7Ld9KwY0RsFBrq+ZfRTfUAr/yGipAjGq4zfZ+3VImYPSFY0vLMkYZw==","signatures":[{"sig":"MEUCIQDm4C3zMyqHrpT20dpLozisYcqnynAqRBmtF7gQMBR7fwIgO25dttDXq6wLUsPdCnXQb1XE3JsS03Yhi3QzVPtKH2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82263},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"4a40fd601f6e238002e863980d96b8782cd567a0","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_2.1.0_1773025795065_0.844804337125832","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"vehicle-path2","version":"2.2.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@2.2.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"ee87cfb403ecaf381076c8e36961d0297e633c6f","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-2.2.0.tgz","fileCount":21,"integrity":"sha512-pCpMMRIx/pTNfsOKU6Vb09246yE8do2Ov9dOKW+HwSKceetwy3RinTQgu4y1UREjfnRMYsYjKi9LFOBt6POHVw==","signatures":[{"sig":"MEQCICQTuDdCZayCCyP5uE+okI1Hpru2D1cUCj4u8HXOPIXlAiAQ4vW/qUyx2CTglaXDZN5jncel/L+6lQ3saKjwrtAVlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84142},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"1a71d07cda9990ff25c2fe4771cef2dfa28e9b7e","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_2.2.0_1773040266261_0.4262065251518783","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"vehicle-path2","version":"2.3.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@2.3.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"5edbe72f6f71f49d845d50bd6da643ffb4ef50d7","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-2.3.0.tgz","fileCount":21,"integrity":"sha512-8G9++aivFuifZOROC3GS1qQFdlvNGb/A1L2GYeQqsbaYu3zV79dFaWfumFulmteuA8TvDdt0gpOubLZwlwmmWw==","signatures":[{"sig":"MEUCIBIX0VBBXa77nmI+fFUeS3uxCU1Zc43dIgCasbaP1E66AiEAqB6zEi7hkeYyNYiKGnHoEaOvPra6L+4Dp1+oMuRKQ70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84443},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"1a71d07cda9990ff25c2fe4771cef2dfa28e9b7e","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_2.3.0_1773126895859_0.43218019219903714","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"vehicle-path2","version":"2.4.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@2.4.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"91e7a5641ca32ddb107cdd42954688895aea879b","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-2.4.0.tgz","fileCount":22,"integrity":"sha512-LwNmxuZBBk9Hx4/3wLhU28kGvLthn6yiVdVPMW2AIz/+Tjk2jtNalxI2MBIMMgPmAzSCF5M72GcEhlCFMExS7Q==","signatures":[{"sig":"MEUCICxvbuHIztNcBxkqHrGN2k8D5xJntdIOoR4ym2Mu2ClkAiEA5jnYCkmWJbL7kqJd9rcegC3q0RIxdD8TFGMUqIq4HOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87565},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"98cf80248b7e89259b81a75c016b69b37a8920a8","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_2.4.0_1773197860133_0.8485187903376357","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"vehicle-path2","version":"3.0.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@3.0.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"096ac715b966ab8d2d0464bac03f0ce560c403a9","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-3.0.0.tgz","fileCount":22,"integrity":"sha512-aosAnHeqZAM+Pk/eCBQ77Xx04TD6vVoY85EjuNqHDMcAORT5oGolOomwwX+PDEDeg87ahDBrNb8L5rt24LeW2g==","signatures":[{"sig":"MEUCIQCcQ2IGMRtFbtaUd9YeAo4ledyduXVfa/wE+p2QQU904QIgfU1gQ2lH3rjnI8sTpcOcm25k4RlsPg7zkXqMRENJm9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87315},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"38473305e16550db25596dd151cbc2b8205c0e20","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_3.0.0_1773213187539_0.2992642781966879","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"vehicle-path2","version":"3.0.1","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@3.0.1","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"052f36c29cc2504514a737e87b9fb181edfdd178","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-3.0.1.tgz","fileCount":23,"integrity":"sha512-JrfrAKJ1akBlHXtn6YhkmuSSudWADlnOr9SxPLWYwM+rFJakh2hsh5mJTCEDIRAXAoOchwpmrNTFP7nCCu/LMQ==","signatures":[{"sig":"MEUCIAzzym2NaaJ1LMJXAOLD992UWSi9xxAuRS/LuybM4mZvAiEAuODWUFlT8Oj6Yvjo8baNvma6wGdV8XtOTjDZaxtJy2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98672},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"f1b354e67a726ac11f9a58890ce1375c315ee2f3","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_3.0.1_1773300622714_0.592493934261247","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"vehicle-path2","version":"4.0.0","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@4.0.0","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"8793e5a53df5fe7066fb82a660cdff8320eea4c8","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-4.0.0.tgz","fileCount":23,"integrity":"sha512-vtLFbxvCEgg3wS2xdhaaRWHORNz52vSNaEN4LWCzMbuCHa611bofuUa9vll4+DUsahm4HfHPPKh1rLG7CCQeoA==","signatures":[{"sig":"MEQCIDwGhFOk6kRSrx77XF4WO+rjfcYG7tuqLEwRpamwbE+EAiAH/6WjZ4W0OeqrhTmfj1Hft4uyCBfjzpcpL3xEKl/cXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97667},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"ccd3101e586a6f5b3cdd6e722f56c945dd4bb3cc","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_4.0.0_1773363379533_0.09809079867438708","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"vehicle-path2","version":"4.0.1","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@4.0.1","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"3cdae4e39bbf60878ccddc05496e4be09e88cea7","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-4.0.1.tgz","fileCount":23,"integrity":"sha512-S89wih90KyOpmiVmGO2jmqK4PBFAMg+FIrS/YpwnPq8S+nUeteu5ddIj89Ds9o0dWZb+bDuLaRYtoEEF/q8MDA==","signatures":[{"sig":"MEQCIF3hsX7h5yVdiqsgmi98WMLllpJKmoYr32Fwwy9u+xSNAiA4vBvO2dyTshQzZZmUc8kqotegPhZmcwu44zEFOZGEnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97727},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"d0d805b2efddf9ebcd23775909528a2fc88c625d","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.2","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_4.0.1_1773364618518_0.46959267846945596","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"vehicle-path2","version":"4.0.2","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","_id":"vehicle-path2@4.0.2","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"dist":{"shasum":"5b482c75500dcfe35daf1cb3ccb082d6b7990038","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-4.0.2.tgz","fileCount":23,"integrity":"sha512-jeGncim+sZ1z0LpxWFYEqdxSIV2Z4RGNoGo9OhISKoL8Nvbza645xT7qXxfQrZp39BSc/FZ4chJir5ZvGvwq0A==","signatures":[{"sig":"MEUCIDejDXCkrspt6XMwJVAvv6llEu4ZKZPCArTTM7uGeW2PAiEAmXMchG7EhZ8zlzQbb0e9WNPY7BaVhrdpE0HjIFmw7wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97355},"main":"./dist/vehicle-path.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/vehicle-path.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"gitHead":"23728ac75972dc275d3e6119206355a232841667","scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest","build":"vite build && tsc -p tsconfig.build.json","test:ui":"vitest --ui","test:coverage":"vitest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","happy-dom":"^20.0.11","react-dom":"^19.2.0","@eslint/js":"^9.39.1","@vitest/ui":"^4.0.16","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.0.16","@vitejs/plugin-react":"^5.1.1","@testing-library/react":"^16.3.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vehicle-path2_4.0.2_1773427297873_0.054129997410519826","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"vehicle-path2","version":"4.0.3","description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","type":"module","main":"./dist/vehicle-path.cjs","module":"./dist/vehicle-path.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/vehicle-path.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/vehicle-path.cjs"}},"./core":{"import":{"types":"./dist/core/index.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core/index.d.cts","default":"./dist/core.cjs"}}},"scripts":{"dev":"vite build --watch","build":"vite build && tsc -p tsconfig.build.json","prepublishOnly":"npm run build","lint":"eslint .","test":"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"devDependencies":{"@eslint/js":"^9.39.1","@testing-library/react":"^16.3.1","@types/node":"^24.10.1","@types/react":"^19.2.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1","@vitest/coverage-v8":"^4.0.16","@vitest/ui":"^4.0.16","eslint":"^9.39.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","globals":"^16.5.0","happy-dom":"^20.0.11","react":"^19.2.0","react-dom":"^19.2.0","typescript":"~5.9.3","typescript-eslint":"^8.46.4","vite":"^7.2.4","vitest":"^4.0.16"},"keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"author":"","license":"MIT","repository":{"type":"git","url":""},"gitHead":"a52444aced1a630296d2cca2508757b03773355e","_id":"vehicle-path2@4.0.3","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-vVts7In9VkcvRVoUZL0LedAGR9jguAc95pkbwRDUcCt/zw02WDQicpuLlxHd0cwlKl+fVIm+A6vSyDCT1H5GRg==","shasum":"0698a84abd8fcc2d5051ed697132704e1d900842","tarball":"https://registry.npmjs.org/vehicle-path2/-/vehicle-path2-4.0.3.tgz","fileCount":23,"unpackedSize":103428,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmhWnI+r+XvXoz3RTz1Pnf/wUD/5WhBhjFoqr2ANtRiQIgcMfxJdPiuxtdILqDRVdnhYgQ3voLRi7IClMsEsLBZMI="}]},"_npmUser":{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"},"directories":{},"maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vehicle-path2_4.0.3_1773632025882_0.2699517361112953"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-25T10:23:42.065Z","modified":"2026-03-16T03:33:46.188Z","1.0.0":"2026-01-25T10:23:42.221Z","1.0.1":"2026-01-25T10:29:04.833Z","1.0.2":"2026-01-25T12:49:53.545Z","1.0.3":"2026-01-25T13:25:37.839Z","1.0.4":"2026-01-25T14:01:12.243Z","1.0.5":"2026-01-25T16:14:02.857Z","1.0.6":"2026-01-25T16:31:10.398Z","1.0.7":"2026-01-25T17:54:29.910Z","1.0.8":"2026-01-25T18:07:40.660Z","1.0.9":"2026-01-27T06:34:35.674Z","1.0.10":"2026-01-27T15:44:23.286Z","1.0.11":"2026-01-28T12:01:35.760Z","1.0.12":"2026-01-28T12:56:23.935Z","1.0.13":"2026-02-06T12:58:37.940Z","1.0.14":"2026-02-08T01:17:03.606Z","1.0.15":"2026-03-06T01:42:16.614Z","2.0.0":"2026-03-09T02:29:58.371Z","2.1.0":"2026-03-09T03:09:55.205Z","2.2.0":"2026-03-09T07:11:06.403Z","2.3.0":"2026-03-10T07:14:56.003Z","2.4.0":"2026-03-11T02:57:40.317Z","3.0.0":"2026-03-11T07:13:07.694Z","3.0.1":"2026-03-12T07:30:22.853Z","4.0.0":"2026-03-13T00:56:19.719Z","4.0.1":"2026-03-13T01:16:58.718Z","4.0.2":"2026-03-13T18:41:38.006Z","4.0.3":"2026-03-16T03:33:46.051Z"},"license":"MIT","keywords":["vehicle","path","bezier","simulation","animation","dual-axle","react"],"repository":{"type":"git","url":""},"description":"Vehicle motion simulator library for dual-axle vehicle movement along paths composed of lines and Bezier curves","maintainers":[{"name":"mirzaakhena","email":"mirza.akhena@gmail.com"}],"readme":"# vehicle-path2\r\n\r\nLibrary untuk simulasi pergerakan kendaraan multi-axle sepanjang jalur yang terdiri dari Lines dan Curves.\r\n\r\n## Instalasi\r\n\r\n```bash\r\nnpm install vehicle-path2\r\n```\r\n\r\n## Konsep Dasar\r\n\r\n- **Line** — segmen garis lurus antara dua titik. Kendaraan bergerak di atas line.\r\n- **Curve** — koneksi antara dua line. Berbentuk kurva bezier, menghubungkan ujung satu line ke awal line berikutnya.\r\n- **Vehicle** — kendaraan dengan N axle yang ditempatkan di atas sebuah line. Library tidak menyimpan daftar vehicle — itu tanggung jawab client.\r\n\r\nTitik acuan kendaraan adalah **axle paling belakang** (`axles[N-1]`). Semua axle lainnya dihitung ke depan berdasarkan `axleSpacings`.\r\n\r\n---\r\n\r\n## Setup\r\n\r\n```typescript\r\nimport { PathEngine } from 'vehicle-path2/core'\r\n\r\nconst engine = new PathEngine({\r\n  maxWheelbase: 100,              // batas maksimum total panjang kendaraan\r\n  tangentMode: 'proportional-40' // mode kurva bezier\r\n})\r\n```\r\n\r\n---\r\n\r\n## Manajemen Scene\r\n\r\n### Lines\r\n\r\n```typescript\r\n// Tambah line\r\nengine.addLine({ id: 'L1', start: { x: 0, y: 0 }, end: { x: 400, y: 0 } })\r\n// → false jika ID sudah ada\r\n\r\n// Update posisi titik\r\nengine.updateLine('L1', { end: { x: 500, y: 0 } })\r\nengine.updateLineEndpoint('L1', 'start', { x: 10, y: 0 })\r\n\r\n// Rename — cascade: semua curve yang referensi 'L1' otomatis diupdate ke 'L1-new'\r\nengine.renameLine('L1', 'L1-new')\r\n// → { success: true } atau { success: false, error: '...' }\r\n\r\n// Hapus — cascade: semua curve yang terhubung ke line ini ikut dihapus\r\nengine.removeLine('L1')\r\n\r\n// Baca semua lines\r\nengine.lines // → Line[]\r\n```\r\n\r\n> **Konsekuensi `removeLine`:** Semua curve yang `fromLineId` atau `toLineId`-nya adalah line tersebut akan otomatis ikut dihapus.\r\n\r\n> **Konsekuensi `renameLine`:** Semua curve yang `fromLineId` atau `toLineId`-nya adalah ID lama otomatis diupdate ke ID baru. Graph di-rebuild secara otomatis.\r\n\r\n---\r\n\r\n### Curves\r\n\r\nCurve menghubungkan **ujung satu line** ke **awal line lain**. Tidak bisa berdiri sendiri — harus selalu mereferensi dua line yang valid.\r\n\r\n```typescript\r\nimport type { Curve } from 'vehicle-path2/core'\r\n\r\n// Tambah curve (returns curve id — auto-generated if not provided)\r\nconst curveId = engine.addCurve({\r\n  id: 'c1',              // optional — auto-generated if omitted\r\n  fromLineId: 'L1',\r\n  toLineId: 'L2',\r\n  fromOffset: 380,        // posisi di L1 (px dari start)\r\n  fromIsPercentage: false,\r\n  toOffset: 20,           // posisi di L2 (px dari start)\r\n  toIsPercentage: false,\r\n})\r\n\r\n// Update curve berdasarkan id\r\nengine.updateCurve('c1', { fromOffset: 100 })\r\n\r\n// Hapus curve berdasarkan id\r\nengine.removeCurve('c1')\r\n\r\n// Baca semua curves\r\nengine.getCurves() // → Curve[]\r\n\r\n// Dapatkan computed bezier untuk rendering\r\nengine.getCurveBeziers() // → Map<string, BezierCurve>\r\n```\r\n\r\n> **Catatan:** Curve diidentifikasi via `id` (string). Jika tidak diberikan saat `addCurve`, id otomatis di-generate.\r\n\r\n> **Konsekuensi `removeLine`:** Curve yang terhubung ke line yang dihapus otomatis ikut terhapus. `removeLine` mengembalikan `{ success, removedCurveIds }`.\r\n\r\n> **Path validation:** Gunakan `engine.canReach(fromLineId, fromOffset, toLineId, toOffset)` untuk mengecek apakah path ada tanpa membuat execution plan.\r\n\r\n> **Acceleration:** Gunakan `engine.moveVehicleWithAcceleration(state, exec, accelState, config, deltaTime)` untuk movement dengan physics-based acceleration/deceleration.\r\n\r\n---\r\n\r\n### Muat Scene Sekaligus\r\n\r\n```typescript\r\n// Replace seluruh scene secara atomik\r\nengine.setScene(lines, curves)\r\n```\r\n\r\n---\r\n\r\n## Vehicle\r\n\r\nLibrary menyediakan tipe dasar `VehicleDefinition`. Client bebas extend dengan field tambahan (id, name, color, dsb).\r\n\r\n```typescript\r\nimport type { VehicleDefinition } from 'vehicle-path2/core'\r\n\r\n// Definisi minimal\r\nconst def: VehicleDefinition = { axleSpacings: [40] } // 2 axle, jarak 40px\r\n\r\n// Client extend sesuai kebutuhan\r\ninterface MyVehicle extends VehicleDefinition {\r\n  id: string\r\n  name: string\r\n}\r\n\r\nconst truck: MyVehicle = { id: 'v1', name: 'Truck A', axleSpacings: [40, 40] } // 3 axle\r\n```\r\n\r\n> `axleSpacings[i]` = jarak arc-length antara `axles[i]` dan `axles[i+1]`. Array harus memiliki minimal 1 entry.\r\n\r\n---\r\n\r\n## Pergerakan Kendaraan\r\n\r\nTiga method berikut digunakan secara berurutan:\r\n\r\n### 1. `initializeVehicle` — Tempatkan kendaraan\r\n\r\nHitung posisi awal semua axle di atas sebuah line.\r\n\r\n```typescript\r\nconst state = engine.initializeVehicle(\r\n  'L1',    // lineId: line tempat kendaraan ditempatkan\r\n  0,       // rearOffset: jarak dari start line ke axle paling belakang (px)\r\n  truck    // VehicleDefinition (atau object yang extends-nya)\r\n)\r\n\r\n// state → VehiclePathState | null (null jika lineId tidak ditemukan)\r\n// state.axles[0]   = axle terdepan\r\n// state.axles[N-1] = axle paling belakang (titik acuan)\r\n// state.axleSpacings = [40, 40]\r\n```\r\n\r\n### 2. `preparePath` — Tentukan tujuan\r\n\r\nJalankan Dijkstra untuk mencari rute dari posisi saat ini ke tujuan. Dipanggil **sekali** sebelum animasi dimulai.\r\n\r\n```typescript\r\nconst execution = engine.preparePath(\r\n  state,    // posisi vehicle sekarang (dari initializeVehicle atau tick sebelumnya)\r\n  'L3',     // targetLineId: line tujuan\r\n  0.5,      // targetOffset: posisi di line tujuan\r\n  true      // isPercentage: true = 50% dari panjang line, false = nilai absolut (px)\r\n)\r\n\r\n// execution → PathExecution | null (null jika tidak ada rute)\r\n```\r\n\r\n### 3. `moveVehicle` — Jalankan per tick\r\n\r\nDipanggil setiap frame di animation loop. Mengembalikan posisi baru semua axle.\r\n\r\n```typescript\r\nconst result = engine.moveVehicle(\r\n  state,      // posisi vehicle sekarang\r\n  execution,  // rencana rute (dari preparePath)\r\n  speed * deltaTime  // jarak yang ditempuh di frame ini (px)\r\n)\r\n\r\nstate = result.state         // posisi baru → simpan untuk tick berikutnya\r\nexecution = result.execution // progress terbaru → simpan untuk tick berikutnya\r\n\r\nif (result.arrived) {\r\n  // Kendaraan sudah sampai tujuan\r\n}\r\n```\r\n\r\n---\r\n\r\n### Contoh Lengkap: Animation Loop\r\n\r\n```typescript\r\nimport { PathEngine } from 'vehicle-path2/core'\r\nimport type { VehiclePathState, PathExecution } from 'vehicle-path2/core'\r\n\r\nconst engine = new PathEngine({ maxWheelbase: 100, tangentMode: 'proportional-40' })\r\n\r\nengine.setScene(\r\n  [\r\n    { id: 'L1', start: { x: 0,   y: 0 }, end: { x: 400, y: 0 } },\r\n    { id: 'L2', start: { x: 400, y: 0 }, end: { x: 400, y: 300 } },\r\n  ],\r\n  [\r\n    { fromLineId: 'L1', toLineId: 'L2', fromOffset: 1.0, fromIsPercentage: true, toOffset: 0.0, toIsPercentage: true }\r\n  ]\r\n)\r\n\r\n// Client mengelola data vehicle sendiri\r\nconst myVehicle = { id: 'v1', name: 'Truck', axleSpacings: [40] }\r\n\r\n// 1. Tempatkan di L1, axle belakang di posisi 0\r\nlet state: VehiclePathState = engine.initializeVehicle('L1', 0, myVehicle)!\r\n\r\n// 2. Tentukan tujuan: ujung L2\r\nlet execution: PathExecution = engine.preparePath(state, 'L2', 1.0, true)!\r\n\r\nconst speed = 80 // px/detik\r\nlet lastTime = performance.now()\r\n\r\nfunction animate() {\r\n  const now = performance.now()\r\n  const deltaTime = (now - lastTime) / 1000 // dalam detik\r\n  lastTime = now\r\n\r\n  // 3. Gerakkan vehicle setiap frame\r\n  const result = engine.moveVehicle(state, execution, speed * deltaTime)\r\n  state = result.state\r\n  execution = result.execution\r\n\r\n  // Render semua axle\r\n  for (const axle of state.axles) {\r\n    drawCircle(axle.position.x, axle.position.y)\r\n  }\r\n\r\n  if (!result.arrived) {\r\n    requestAnimationFrame(animate)\r\n  }\r\n}\r\n\r\nrequestAnimationFrame(animate)\r\n```\r\n\r\n---\r\n\r\n## Serialisasi Scene\r\n\r\nHanya lines dan curves yang di-serialize oleh library. **Vehicle tidak termasuk** — persistensi vehicle adalah tanggung jawab client.\r\n\r\n```typescript\r\nimport { serializeScene, deserializeScene } from 'vehicle-path2/core'\r\n\r\n// Simpan scene ke JSON string\r\nconst json = serializeScene(engine.lines, engine.getCurves())\r\n\r\n// Muat kembali\r\nconst snapshot = deserializeScene(json)\r\nengine.setScene(snapshot.lines, snapshot.curves)\r\n```\r\n\r\n---\r\n\r\n## Geometry Utilities\r\n\r\n```typescript\r\nimport { projectPointOnLine, getValidRearOffsetRange, computeMinLineLength } from 'vehicle-path2/core'\r\n\r\n// Proyeksikan mouse/pointer ke garis — berguna untuk hit detection\r\nconst { offset, distance } = projectPointOnLine({ x: 150, y: 10 }, line)\r\n// offset   = jarak dari start line ke titik proyeksi (px)\r\n// distance = jarak tegak lurus dari point ke garis (px)\r\n\r\n// Hitung range offset yang valid untuk axle belakang agar semua axle muat di line\r\nconst [min, max] = getValidRearOffsetRange(line, myVehicle.axleSpacings)\r\n\r\n// Hitung panjang minimum sebuah line agar semua curve offset-nya tidak keluar batas\r\nconst minLen = computeMinLineLength('L1', engine.getCurves())\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}