{"_id":"maplibre-gl-splat","_rev":"10-c8bef019c32f9ce45e81e7ba0dc8342d","name":"maplibre-gl-splat","dist-tags":{"latest":"0.2.8"},"versions":{"0.1.0":{"name":"maplibre-gl-splat","version":"0.1.0","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.1.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"4d093716e712a3c4cb21e5e0e057c1c126d9847f","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.1.0.tgz","fileCount":16,"integrity":"sha512-iP6ORf4btrDQZoeko75Hk4Wte56HVIoFaMLQLyZU4OWcLSImlAc+Ehi/2RbuKMLnFt8X7sKzQ5NmW0KyTLktzA==","signatures":[{"sig":"MEUCICMBfKhf9ZglimVOJ3Yt1OhbiMg/aam0YBzmbElN/4rrAiEA5KpagA1IJd/Zy3TTlQFUKvOR7v3CV3te8Evsvzqg7PY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11850708},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"6e6d793dbfd565ac8ed36545b990369edc8c783a","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"10.8.2","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.1.0_1770503932234_0.9232870636610593","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"maplibre-gl-splat","version":"0.2.0","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"dec416edcec5a04b2593fbceb44d2f93167a1c37","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.0.tgz","fileCount":16,"integrity":"sha512-MFvrDvx7sZx4tK31vUi18Tibit+naLuArKWY8EG7jADvy8s6BCZijB7VvfjcnKE7ymGEHDJXkYpI9bmi3D8ipw==","signatures":[{"sig":"MEUCIFywaHO6dXjmvSrA+5A4gCrLmju8W2C015O/JHEp/ouSAiEArXcbAphgriE55NzDEoQW+ry809BXSGgIKJDLsVR1nPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11881714},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"4217f4d05f0bd4c22e5d274230d4b1a2ca085321","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"10.8.2","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.0_1770785013472_0.6943875300948597","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"maplibre-gl-splat","version":"0.2.1","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.1","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"3879ddf0316e005a1da70ea0cde02178b8486ceb","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.1.tgz","fileCount":16,"integrity":"sha512-nlfX41vHSiFrA2BH3cbs1HuRGRa920yZ9fjg/fENtHkc5lHQ0Lf2xLBDacIoiOZDJSkTcWHOSKp7j9ICedoe0Q==","signatures":[{"sig":"MEYCIQCuaK6WBTekFvDNOQS24jlRf6i6dqYkjclhI3lVYM/hhAIhALsnNSsrj2jeTrcGpC99zCnZ9w/AMU6h1Eiu+k/zISxB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11881298},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"9370effd6a6cb4d83239544b75a542db48cc947b","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"10.8.2","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.1_1770789088922_0.6142873402806397","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"maplibre-gl-splat","version":"0.2.2","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.2","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"adfb280c11129bc3ffcf9861083755e329b5055a","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.2.tgz","fileCount":23,"integrity":"sha512-WSBtvwvB/GR4hvUcUCG/L47nvQiCeSvYs2SkfNwnAHsIu6ld0PrfcT03sLWzbJK/Y0sCPXttl3xuRR7XpEe5Rw==","signatures":[{"sig":"MEQCIFrPldR2ZDkJbUB5YuRTFCFdzI+DKkHs8eNXYfrKV5jmAiADwe0f1ioCsbDnFEBh6cCc7XCbC7jI89Ea1wTdhOSVBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11892539},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"31e5274bd0f5562dbe592cc138a8743ad266d34d","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"10.8.2","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.2_1770824519512_0.9618854983071947","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"maplibre-gl-splat","version":"0.2.3","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.3","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"ec196b3a854689bde6469078d8b65eaafac2f010","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.3.tgz","fileCount":23,"integrity":"sha512-L1dHiocI6NwvE3M0xCGJImxQ7riYVzb/7J4Wk3eMShy8OXCLCoepubtja/e5vCF27z3XZmF6q9Y2+nGG0ccotQ==","signatures":[{"sig":"MEYCIQCyo5YjarUfFOEM3e27jX8/Lerf8czKVJ9LaMYZ5IaZ1gIhAKY8lMjX8E4omdJtWtnLaaWbDkxsxb7XznWgwUgn8V65","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11912469},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"50a26fb24278f1e446dd1b70c9b9f02c31182d23","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"11.17.0","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.3_1782072234764_0.508524981449475","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"maplibre-gl-splat","version":"0.2.4","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.4","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"5ab2da7b2be986bd3af8a530d1348e40c9122256","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.4.tgz","fileCount":23,"integrity":"sha512-ueFxtJA093JDl7EHn4YkW0fyZdJvVjcQHq3k18l9TTG+td99uzfc73cV/9kckK/M/7ri1Hn7AJV5RK5lQ95tCw==","signatures":[{"sig":"MEYCIQDSl2emMBDkUySeeh7VNeJ0mQl2dRsU4vy3PRVordqrwAIhAP7a/M6tVSZmqIdzw7hEmzdAXIw3yg7QCpJ+f9p0KOvi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11974359},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"3325f7afd9886ad80e98bad564834e4e6f7c08d7","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"11.17.0","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.4_1782076337264_0.5317853222443809","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"maplibre-gl-splat","version":"0.2.5","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.5","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"43e91ff16a15a2e1e7070b6a4eda8b99c8c26d06","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.5.tgz","fileCount":23,"integrity":"sha512-rjcOS3zYoben/SgIuWufl+hIt5ySHDd06rfzq9h4NyoCVXMbABBn9VeJqEh6jnYtZ14GmECrvn27dEzWlQ2MgQ==","signatures":[{"sig":"MEYCIQCJsQC5SGrlKWMIbw/6TjDpYpAyzx3TktfXS7/TvzuoLwIhAJ9rCFJiTSGe9dkXq2Gf4aRS42ERlqLFU1Yr1Tda2hH6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11982069},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"dda36d08a80962d93c9d79d16ac49308b52f1c51","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"11.17.0","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.5_1782078822332_0.9570314471211734","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"maplibre-gl-splat","version":"0.2.6","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.6","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"027e5e00ca98e91bd62c5ca4d8cc0cb48718891b","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.6.tgz","fileCount":23,"integrity":"sha512-GG3tf+9O6DMrJm1DKF+hVinDUR0zphX3/WCS6RUARLbiHrtmjjI4VjQ5s+cXeDD9s8yD3ogVZYJ6TMLTJ6RmMA==","signatures":[{"sig":"MEYCIQC7LUpFZ4ovNxF+9wHYv3qUAMlLuZR/h618gW2Hp7n6RAIhALfn6Wt8WR5zKpjS0Pqv56NbtJExN7k7GGNQ7+vEM5ft","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11983099},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"fff987458faee264da534760790a7f38f6a28b82","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"11.17.0","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.6_1782081235633_0.671240797509032","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"maplibre-gl-splat","version":"0.2.7","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","_id":"maplibre-gl-splat@0.2.7","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"dist":{"shasum":"9af6cc47c6134ccae32481cacd84af1b8805f660","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.7.tgz","fileCount":23,"integrity":"sha512-JF8w9uYqGyZyWJaaUHPC3y6QH02Gr0B81V8aRUmirsj06YmuYzsSXc+hVCMoT/nUZuLOkMeUxbNLq1i8CJWF5g==","signatures":[{"sig":"MEYCIQCc2stJ+cSeMnJgIZ+goJEKdswaL+t68C4stBk4LhAaYgIhAO67fm32aa1U1Az5C422AUUbrSB6s8ljvAWgd3bJBzes","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11983278},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"gitHead":"1720475fc6c2c602f62e50e909c731475d36bac9","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"vite build && tsc -p tsconfig.build.json","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-splat.git","type":"git"},"_npmVersion":"11.17.0","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"three":"^0.178.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","@dvt3d/maplibre-three-plugin":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","@types/three":"^0.178.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-splat_0.2.7_1782083421509_0.4670907965678526","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"maplibre-gl-splat","version":"0.2.8","description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/types/index.d.ts","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-splat.css"},"sideEffects":["*.css"],"scripts":{"dev":"vite","build":"vite build && tsc -p tsconfig.build.json","build:examples":"vite build --config vite.examples.config.ts","preview":"vite preview","test":"vitest --run","test:ui":"vitest --ui","test:coverage":"vitest --coverage","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","prepublishOnly":"npm run build"},"keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"author":{"name":"Qiusheng Wu"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/opengeos/maplibre-gl-splat.git"},"homepage":"https://github.com/opengeos/maplibre-gl-splat","bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"peerDependencies":{"maplibre-gl":">=3.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"dependencies":{"@dvt3d/maplibre-three-plugin":"^1.3.0","@sparkjsdev/spark":"^0.1.10","maplibre-gl-layer-control":"^0.8.2","three":"^0.178.0"},"devDependencies":{"@testing-library/react":"^16.0.0","@testing-library/user-event":"^14.5.0","@types/node":"^22.0.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@types/three":"^0.178.0","@typescript-eslint/eslint-plugin":"^8.18.0","@typescript-eslint/parser":"^8.18.0","@vitejs/plugin-react":"^4.3.0","@vitest/ui":"^2.1.0","eslint":"^9.17.0","jsdom":"^25.0.0","maplibre-gl":"^5.0.0","prettier":"^3.4.0","react":"^18.3.0","react-dom":"^18.3.0","typescript":"^5.7.0","vite":"^6.0.0","vite-plugin-dts":"^4.3.0","vitest":"^2.1.0"},"gitHead":"b56b7b81862338102b438cc78bd69c4cb18beec1","_id":"maplibre-gl-splat@0.2.8","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-sJADmqX1Dy9zBzobqYqADZ2Xs8khuIKNUKZsXk3B06wzxg5wI96OiHk+MZCVwGHv6yAxEzUKfXUYZjtouAgEnA==","shasum":"2bf6a4f35ca8efc59618b1778742caf2ae4fda4a","tarball":"https://registry.npmjs.org/maplibre-gl-splat/-/maplibre-gl-splat-0.2.8.tgz","fileCount":23,"unpackedSize":11988329,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-splat@0.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGmXpfYghFSnjk72AUGTrKSuwfx7vyN19FClN+Ntd57XAiB0x103DwAMt/Qbzc9WSFhzWode4pObtWg6h037bP9MVg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7321c15a-715f-451e-91d7-6a5180d27d01"}},"directories":{},"maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/maplibre-gl-splat_0.2.8_1782093093995_0.4689155049875804"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-07T22:38:52.170Z","modified":"2026-06-22T01:51:34.778Z","0.1.0":"2026-02-07T22:38:52.481Z","0.2.0":"2026-02-11T04:43:33.750Z","0.2.1":"2026-02-11T05:51:29.149Z","0.2.2":"2026-02-11T15:41:59.756Z","0.2.3":"2026-06-21T20:03:54.986Z","0.2.4":"2026-06-21T21:12:17.470Z","0.2.5":"2026-06-21T21:53:42.533Z","0.2.6":"2026-06-21T22:33:55.849Z","0.2.7":"2026-06-21T23:10:21.756Z","0.2.8":"2026-06-22T01:51:34.219Z"},"bugs":{"url":"https://github.com/opengeos/maplibre-gl-splat/issues"},"author":{"name":"Qiusheng Wu"},"license":"MIT","homepage":"https://github.com/opengeos/maplibre-gl-splat","keywords":["maplibre","maplibre-gl","gaussian-splatting","gaussian-splats","3dgs","splat","three.js","webgl","visualization","3d","geospatial","react","typescript"],"repository":{"type":"git","url":"git+https://github.com/opengeos/maplibre-gl-splat.git"},"description":"A MapLibre GL JS plugin for visualizing 3D Gaussian Splats","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"readme":"# maplibre-gl-splat\n\nA MapLibre GL JS plugin for visualizing 3D Gaussian Splats on maps.\n\n[![npm version](https://badge.fury.io/js/maplibre-gl-splat.svg)](https://badge.fury.io/js/maplibre-gl-splat)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Features\n\n- 🌐 **Georeferenced** - Place Gaussian splats at real-world coordinates\n- 📁 **Multi-Format** - Supports `.splat`, `.ply`, `.spz`, `.ksplat`, and `.sog` file formats\n- ⚡ **Fast Rendering** - Uses THREE.js and spark.js for efficient WebGL rendering\n- 🎛️ **Interactive Control** - Built-in GUI for loading and managing splats\n- ⚛️ **React Support** - First-class React components and hooks\n\n## Installation\n\n```bash\nnpm install maplibre-gl-splat\n```\n\n## Quick Start\n\n### Vanilla JavaScript/TypeScript\n\n```typescript\nimport maplibregl from 'maplibre-gl';\nimport { GaussianSplatControl } from 'maplibre-gl-splat';\nimport 'maplibre-gl-splat/style.css';\n\nconst map = new maplibregl.Map({\n  container: 'map',\n  style: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n  center: [0, 0],\n  zoom: 2,\n  pitch: 60,\n  maxPitch: 85,\n  antialias: true,\n});\n\n// Add Gaussian Splat control\nconst splatControl = new GaussianSplatControl({\n  collapsed: false,\n  defaultUrl: 'https://example.com/scene.splat',\n  loadDefaultUrl: true,\n});\n\nmap.addControl(splatControl, 'top-right');\n\n// Listen for events\nsplatControl.on('splatload', (event) => {\n  console.log('Splat loaded:', event.url);\n});\n```\n\n### React\n\n```tsx\nimport { useState, useEffect, useRef } from 'react';\nimport maplibregl from 'maplibre-gl';\nimport { GaussianSplatControlReact } from 'maplibre-gl-splat/react';\nimport 'maplibre-gl-splat/style.css';\n\nfunction App() {\n  const mapContainer = useRef<HTMLDivElement>(null);\n  const [map, setMap] = useState<maplibregl.Map | null>(null);\n\n  useEffect(() => {\n    if (!mapContainer.current) return;\n\n    const mapInstance = new maplibregl.Map({\n      container: mapContainer.current,\n      style: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n      center: [0, 0],\n      zoom: 2,\n      pitch: 60,\n      maxPitch: 85,\n      antialias: true,\n    });\n\n    mapInstance.on('load', () => setMap(mapInstance));\n    return () => mapInstance.remove();\n  }, []);\n\n  return (\n    <div style={{ width: '100%', height: '100vh' }}>\n      <div ref={mapContainer} style={{ width: '100%', height: '100%' }} />\n\n      {map && (\n        <GaussianSplatControlReact\n          map={map}\n          position=\"top-right\"\n          defaultUrl=\"https://example.com/scene.splat\"\n          loadDefaultUrl\n          onSplatLoad={(url, id) => console.log('Loaded:', url)}\n        />\n      )}\n    </div>\n  );\n}\n```\n\n## API Reference\n\n### GaussianSplatControl\n\nA control for loading and displaying Gaussian Splat 3D scenes on a MapLibre map.\n\n#### Options\n\n```typescript\ninterface GaussianSplatControlOptions {\n  position?: ControlPosition;      // Control position (default: 'top-right')\n  className?: string;              // Custom CSS class\n  collapsed?: boolean;             // Start collapsed (default: true)\n  title?: string;                  // Panel title (default: 'Gaussian Splats')\n  panelWidth?: number;             // Panel width in px (default: 320)\n  defaultUrl?: string;             // Default splat URL\n  loadDefaultUrl?: boolean;        // Auto-load default URL (default: false)\n  defaultOpacity?: number;         // Default opacity (default: 1)\n  defaultRotation?: [x, y, z];     // Default rotation in degrees\n  defaultScale?: number;           // Default scale (default: 1)\n  defaultLongitude?: number;       // Default longitude\n  defaultLatitude?: number;        // Default latitude\n  defaultAltitude?: number;        // Default altitude (default: 0)\n  flyTo?: boolean;                 // Fly to splat location (default: true)\n  flyToZoom?: number;              // Zoom level when flying (default: 18)\n}\n```\n\n#### Methods\n\n```typescript\n// Load a splat from URL\nsplatControl.loadSplat(url: string, options?: {\n  longitude?: number;\n  latitude?: number;\n  altitude?: number;\n  rotation?: [number, number, number];\n  scale?: number;\n}): Promise<string>  // Returns layer ID\n\n// Remove a splat by ID\nsplatControl.removeSplat(layerId: string): void\n\n// Remove all splats\nsplatControl.removeAllSplats(): void\n\n// Get all splat layer IDs\nsplatControl.getSplatIds(): string[]\n\n// Get info about a splat\nsplatControl.getSplatInfo(layerId: string): { url, longitude, latitude, altitude } | null\n\n// Expand/collapse panel\nsplatControl.expand(): void\nsplatControl.collapse(): void\nsplatControl.toggle(): void\n\n// Get current state\nsplatControl.getState(): GaussianSplatControlState\n\n// Event handling\nsplatControl.on(event, handler): void\nsplatControl.off(event, handler): void\n```\n\n#### Events\n\n- `splatload` - Fired when a splat is loaded\n- `splatremove` - Fired when a splat is removed\n- `error` - Fired when an error occurs\n- `expand` - Fired when the panel is expanded\n- `collapse` - Fired when the panel is collapsed\n\n## Supported Formats\n\n| Format | Extension | Description |\n|--------|-----------|-------------|\n| Splat | `.splat` | Standard Gaussian splat format |\n| PLY | `.ply` | Point cloud format with splat data |\n| SPZ | `.spz` | Compressed splat format from Niantic |\n| KSplat | `.ksplat` | Format from GaussianSplats3D |\n| SOG | `.sog` | PlayCanvas splat format |\n\n## How It Works\n\nThis plugin uses:\n- **[@dvt3d/maplibre-three-plugin](https://github.com/dvt3d/maplibre-three-plugin)** - Bridges MapLibre GL JS with Three.js\n- **[@sparkjsdev/spark](https://github.com/sparkjsdev/spark)** - Advanced 3D Gaussian Splatting renderer for Three.js\n\nThe splats are rendered using WebGL through Three.js and positioned in geographic coordinates using the maplibre-three-plugin's RTC (Relative To Center) coordinate system.\n\n## Examples\n\nSee the [examples](./examples/) directory:\n\n- **Basic Example** - Vanilla TypeScript usage\n- **React Example** - React component usage\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Build examples\nnpm run build:examples\n```\n\n## License\n\nMIT License - see [LICENSE](./LICENSE) for details.\n\n## Credits\n\n- [spark.js](https://sparkjs.dev/) - Gaussian splatting renderer\n- [maplibre-three-plugin](https://github.com/dvt3d/maplibre-three-plugin) - MapLibre/Three.js bridge\n- [MapLibre GL JS](https://maplibre.org/) - Open-source map SDK\n","readmeFilename":"README.md"}