{"_id":"@618coffee/interactive-globe","_rev":"28-b6bc32e24e3f0a5fbb760fb7a112cd78","name":"@618coffee/interactive-globe","dist-tags":{"latest":"0.16.0"},"versions":{"0.1.0":{"name":"@618coffee/interactive-globe","version":"0.1.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.1.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"84ad52fc0431e847c1a51dac26557dbaa4719524","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.1.0.tgz","fileCount":10,"integrity":"sha512-Z/kJAtuSpcVDolBN33YdFHGirdmucS2kHaVGjAi2CTQ7W1SUZGqMMw5HY4dMddCB/EJRU3sJ5w2a6OlAosSb0w==","signatures":[{"sig":"MEUCIQDYe/taTa0CgSLM2NMKTQ/3lln1heEF3LraiZjkmcARpgIgTl4FbTD3iFVWDEjcjs/h5e2UdnEcK3dWQX4gt545ItY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203669},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"3254bc5260c15339ad01b1c6f53aa61303bf3464","scripts":{"dev":"vite","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","react":"^18.3.1","three":"^0.160.0","react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.1.0_1779945986940_0.7150957153789794","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@618coffee/interactive-globe","version":"0.2.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.2.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"6c9503281bf9fbe3b339363169132e78d9a6307a","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.2.0.tgz","fileCount":10,"integrity":"sha512-hwSZ0tpZPHzMlC+/XMD7lUa7QXjkyleXftCY6iy/IK7Oszwycs2M61OL8xi0GMgbMYYaiDu/UFT3+RFcr4TUZQ==","signatures":[{"sig":"MEQCIBvk5NiAArQSdzorkDuCXhsg820I0ZdgG9zCWbup9t8NAiAbRv/0YMXy03uMvDIJOp6j1n/yDkJr83gujFd5BM0+ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220178},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"2c6d6d67c349af0b4aaac7cf9e2c6922e5337e3c","scripts":{"dev":"vite","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","react":"^18.3.1","three":"^0.160.0","react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.2.0_1779947051823_0.5976797204557702","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@618coffee/interactive-globe","version":"0.3.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.3.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"910e1e9f543a65770b2e3c34ef13ecc35421f683","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.3.0.tgz","fileCount":10,"integrity":"sha512-ipFolML01rtEkiLMICeOkYyFxfN1OufcJYRjp/023uS2xd+Aitx9rqQyPhZJADSgueCvcLm8vmLDnWeAkfsNXg==","signatures":[{"sig":"MEYCIQDb+mWYOWLGns72X90iFDhO0v33F/reZ6kFbrUTbphkcgIhAO6+fiDO3li9Q1ORW52ab/sY0sOMe9BWEL6ENtNeUTys","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227930},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"4a3d6c8e0dd38c427730732a18fbc59954c0f602","scripts":{"dev":"vite","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","react":"^18.3.1","three":"^0.160.0","react-dom":"^18.3.1","@vitejs/plugin-react":"^4.3.4"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.3.0_1779948317836_0.7336087030705944","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@618coffee/interactive-globe","version":"0.3.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.3.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"29555690a6cfe5aba9b13f3fd5901846da9f271b","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.3.1.tgz","fileCount":10,"integrity":"sha512-coHpv/pQ/gBBvszO2P1K3tuvUjhdB6yPq8TnejJ8enDVPtLHTrN7yQ2WOH9nQ3q4Dmik7FqCjLCjO06PHnN7lg==","signatures":[{"sig":"MEUCIQCvG86BIHtSaOTEuhXU/N4eyB9j9+dzEAjeSlgvqQnyHwIgBRfTyeCEeXioJSp8GK/4KnbuVaOSas811aaSQgJwuNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231995},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"47caeab684eb5f614e0d3b106159ba3e8dbe13db","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.3.1_1779950331288_0.5147944232897546","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@618coffee/interactive-globe","version":"0.4.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.4.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"0674edd5cca7428601631523fb08ea2bc7d5541f","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.4.0.tgz","fileCount":10,"integrity":"sha512-uCwix6EPRbg+3eE/oXD+ABPN2CuANlNQRXjhjjG3FkfuGD7FUMKqPjmqeq9+eQKJ0++g3BOa/3jC8N6sLlIAwQ==","signatures":[{"sig":"MEUCIBNdXCQeFN03KJ6TCkZvz2VjI6ZAvIj9nIWt1GJgxC1gAiEA1U04Xd1PPk/d4M/cW+shJY3cjeOQLDRwRwQyacY0Bko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238079},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"656e718defad8dd875902316c17c67d084335064","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.4.0_1779950703279_0.6610079703542957","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@618coffee/interactive-globe","version":"0.5.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.5.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"5b48e93dd13c6b84358f084493fb2f3a2f94e46f","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.5.0.tgz","fileCount":10,"integrity":"sha512-SEDQgybe+BP7qpAJdy6mqkDmJ7E95kZDHRRZ2nFmBYI4T0Db6+8lJgNbBF1ifYst0PujdvUHQ0M3SXOQjyp6Qg==","signatures":[{"sig":"MEUCIQD8Ud9vKR7C6YG0lnoALOx9GvUvlURHbxCWt9Yu+vbJvgIgChgp/ID/WBfTcaIjTGunV/Js9s5s4ZoFfWYpXxQLFUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":240754},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"b88861d7b26962af598dad82f8c1620948700413","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.5.0_1779951019970_0.16340661927565425","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@618coffee/interactive-globe","version":"0.5.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.5.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"7b974a77ca6f48ee04da85d4f08d5ce37680d5ba","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.5.1.tgz","fileCount":10,"integrity":"sha512-iIhriG5bSvZo++iIh6DV1Z41Uv9RZYKGMSafZRkxdFNBWIbtm/nYml6mt1GxQl0G1QkFDNmHwH/M0iH8xwlm1A==","signatures":[{"sig":"MEUCIQCQkOiCcHSoWUMC6KV8dQ4gVADbo0N+fw8su8iEzkVxuQIgZP4PXzszd3kjZkZkjSgNw9T24Ybk3eIyZIwVRzU0Tsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242756},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"d176a8ea0bc542a370742d5995c640ce4dc99178","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.5.1_1779951255087_0.8753357433079902","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@618coffee/interactive-globe","version":"0.6.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.6.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"48330642407c4efdfca927a9e09d43c7bbacca25","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.6.0.tgz","fileCount":10,"integrity":"sha512-sySOE9y7/aBz2XAxkctc6LamTB2a/5DDVlAB4PDdAFLvEjUcFIgLB+I8Oo36+jxKh+bKGrGgrpxuVggQ7QaEng==","signatures":[{"sig":"MEUCIBasd9D1Yu/YDp8yKgJ2bvHjgn318F/UmQvEp/0djwiWAiEAg0n70IPErnANkQI3xE7o5UeHo9fcFKIi+Q8fBdPcQyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268102},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"7e5062f62c831256412dec5e935f0d86033c4172","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.6.0_1779953901736_0.6449481922915201","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@618coffee/interactive-globe","version":"0.7.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.7.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"44d84b4ba358159eaccd7dec237284e6985f7788","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.7.0.tgz","fileCount":10,"integrity":"sha512-n6k0UbovzGQC9Qvlf1l8jh9ZQwtL0JzHAQ75x5MyYQW6bv1viym+ApqMV96uk7StC4TpMtyvfH22Y4MxELIucg==","signatures":[{"sig":"MEUCICug+lAbP2Xe2iv3aJA7gc/LcGQY1XzoDZLGf7bgwyJ+AiEA7/E2U6PdfSmiK4Q4fJrzec2QlXpv7IqOEiHer8Xj1dI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272923},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"7c2b21b57dd0e5e61dcdf8a46ce4c32f4c24c938","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.7.0_1781333620554_0.48602063100687465","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@618coffee/interactive-globe","version":"0.8.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.8.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"a8c989c02b202ede31f2dbaf7990f6f593a8445d","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.8.0.tgz","fileCount":10,"integrity":"sha512-R0MdPT9cxY+jttTtdKHnkbaVFVxrOA5l3M9qkQNlkY3UZ/8TtYfC6lPRa4LnypR94mQsvkrFTd1wjr2zv2atdg==","signatures":[{"sig":"MEYCIQDU/cSUptbSsTQT1GKVN1P+g8aEN0emlJN2lID3MxgVYwIhAKv/FwFJwIMhT0WigzbBU6do3vGRJ0gF6EcO5+FazPea","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277696},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"c4fb4b79a33afb56ab6b0956025ede5541a93a40","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.8.0_1781336423995_0.4707363669961193","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@618coffee/interactive-globe","version":"0.9.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.9.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"9f6304899bfb7b41d2800b8e12159beb06d39863","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.9.0.tgz","fileCount":10,"integrity":"sha512-duA6Z32wpsJbHUiMaWi7MCb1MCpsZ05cnEPdoyXTDxV6SlBZDkJ8J0WSlLTUxdar/p2AWES40ViVL/ymeWLJYw==","signatures":[{"sig":"MEYCIQDGiyYCh+Pr5+8maEq1eTuQtInPpFrVV4BP+TJ3t2dgQQIhAJYNWhiJ8FHMWrE98QFCyAEp+mgZkSqtp5J9gSrk/OK+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":292229},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"4baa1d456254ab8468633ab7b0cc3047c729bfc4","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.9.0_1781406113972_0.07468874846602258","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@618coffee/interactive-globe","version":"0.10.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.10.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"ccb75c806de3b57972138edd19b460a1e76304fc","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.10.0.tgz","fileCount":10,"integrity":"sha512-iZ9XimEzTzZEUmzinf6iphQF1Gf3sKwH1WgWzltJBXpKFJDC06RbD8r3WCTOrWb40KVdomcKtlPeFDU4qSRbSQ==","signatures":[{"sig":"MEQCIClIrsqZZwtC+O1Ql9Xmwp2VBkruOkPf0Q00W7a+cd8TAiAxafEpBhARMhmWq4/GDKybQ4hV2i/IhHtWvwR4VXrEAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300225},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"9cf52798b779f8281503a4cec2039da1e4501e6f","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.10.0_1781407958650_0.7201314292954468","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@618coffee/interactive-globe","version":"0.11.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.11.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"fa0a1822cc94ae08b07e0ca995c0bd369a011ec9","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.11.0.tgz","fileCount":10,"integrity":"sha512-W/kEttwF2QVSteyTvvp1j/0yS3CbCUcQGFK70GyAXVJ6Vg3wSSKstJfYptulVxm5vyWwwKzBL/6+5tDyGyqnUA==","signatures":[{"sig":"MEQCID4cp+SapQvQ0J7wbhnlEQ9tT26dkC3v5+WXUpZpUw1nAiB/B93cHbPTH1by88ixbrVkM0NSf7czzG6fVUuspk9jng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330319},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"1d6991e4a979923b1c50989478bced9008087be8","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.11.0_1781463751518_0.7575941343433965","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@618coffee/interactive-globe","version":"0.11.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.11.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"6ef1545f79e89374059408b76970680d9f8d62a5","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.11.1.tgz","fileCount":10,"integrity":"sha512-0Jh2zmKMrbrX4j1bATRlcyQuUuWb6IYZ41yA1VmrnBUgZtJhNdn9DUdf2TUIpMOui5tdm2KFDdX/5rGbWFuPAQ==","signatures":[{"sig":"MEUCIQD/msxJ2Afsr8qnVOYVkUC2v0ys4yA1yDGQcfAOVnqNCgIgEstD92OiRku6fss6glXIcsZiuBTWtKFLmYlVwpFKiS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@618coffee%2finteractive-globe@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":357236},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"2115f297b4538652f99a9045defd6e9fb38faf79","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"10.8.2","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.11.1_1781465246808_0.33292061531269357","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@618coffee/interactive-globe","version":"0.12.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.12.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"be8900326ce577fd311c590ffcc6dc1fd8e7806a","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.12.0.tgz","fileCount":14,"integrity":"sha512-c2sOH+/AtAMBZjhY0YMOszHCgSeIwwQ3Sm+GFOw6IT0TTA9/OuypAXAIbVSjuWZpaHBtDjvbTGyJsxt1623gug==","signatures":[{"sig":"MEYCIQCIgi6z2RbwkSDKRmDgYb2Bbu1sp6AacUwlOq9fbqHquAIhAIkMLMn0+7LKh/96cHgi1djPQqwfkLL8wmZLUPegPQWg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1252220},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"b6be1695b47095e1a055cea4f94e271c0aa3599d","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.12.0_1781754022137_0.8722521615960439","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@618coffee/interactive-globe","version":"0.12.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.12.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"cf3b41d2bd6f29044b7a295d3348c5458fa80d64","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.12.1.tgz","fileCount":14,"integrity":"sha512-mqlC3V7Njg3VUYaJdEgz7bzmVEOEBGD5uYLfq0Q0eXKNrJgcx1smKkBiU49YeRuLJyO3ycByJFsVZpmq43qYpw==","signatures":[{"sig":"MEUCIQC9wZu4IXJOCIVuUObof1tIkt62KeHfy5hJ+NOMTlb0UAIgEhizckULoq8vL3FcwYptp3BuSGPDeTXrWs/zgoKPpTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260668},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"8c78aa23f528acb03c1e1a2a92b10c4942f32d2a","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.12.1_1781755494468_0.3639316729932458","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@618coffee/interactive-globe","version":"0.13.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.13.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"3c9719235b7ef124ab75b5699d4743768c17645f","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.13.0.tgz","fileCount":14,"integrity":"sha512-T8XlUP/l1FA3bWQpALGA2J4aNT8KtBoOD1cIcHT+TdZOmjEYBLbKqO8l3AZWjWMqUlkht5qZPBKw+OpJjHK9xg==","signatures":[{"sig":"MEUCIED5K44ydNdERD7G14b33/B8Dc2lna2eFgSip2RXLDczAiEAkrs/+/YRQKnREU4UDKphowNy3I+OXKt293iGNVjaUY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267172},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"8c78aa23f528acb03c1e1a2a92b10c4942f32d2a","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.13.0_1781762331480_0.6313316241274034","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@618coffee/interactive-globe","version":"0.13.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.13.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"a25a880bf31b46fbe52ae48eff5f9fa713df4d83","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.13.1.tgz","fileCount":14,"integrity":"sha512-/aXHhxQ94RszHu4LRaNV+p5qx1bKVTiUUyX7ze2qUNp8Tdsmh0NtQJGhZwdxhMG14rVAA7oF95TOwEU9+HLkRA==","signatures":[{"sig":"MEUCIDHfi6gfQMBwjm+y6E5BELYdh9n3uhHHZoyc3AYJsc7pAiEA9sEQkSd3MorUzE6/jQ0fG94VdjOKF0euOJoeI3iAqM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1271174},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"f0ed55c43b916da0bc5bdd109f4fba3d0cb59869","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.13.1_1781773306193_0.7324776926688377","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@618coffee/interactive-globe","version":"0.13.2","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.13.2","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"a01aa054c392ee49945715fdcf09ffcee116a2b4","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.13.2.tgz","fileCount":14,"integrity":"sha512-IqXbg2i4F7ffqTD/jo6/RyQ7GAX5pLHtOpOJwJKgpYCT+AORU0lZdFU1vlTiKtHv+2M8Pjmm9J8SNsFlMoYlwA==","signatures":[{"sig":"MEUCIQDD6vO0hzC2VH+tuerSmcWDB5k/vFnmzZicvnGyu/RbtAIgPodBPK07JBIgUUkLE553r2eVL1E3D96Moks/IdbHb2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1272697},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"bab75e7d66bc003d7e0f2d1bc5104a69ee19485d","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.13.2_1781784546133_0.450403483191975","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@618coffee/interactive-globe","version":"0.13.3","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.13.3","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"66d1959d4627b2e6a469356fbfc2006d67d62317","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.13.3.tgz","fileCount":14,"integrity":"sha512-XrUqxBvoomco9dKJ1fD8MMk/GqWTMKheaV1SQclh5S2QAspXWidIkekQVUeShpoXniQt1v5ClkxX8jkA3eoJJw==","signatures":[{"sig":"MEUCIEiXPbpGV2Re/GeyupEv1kCjV/GKvVBpVBzNzZz2lYeFAiEAt5uHYKNphgUtcCBGhQ1gmUnXsFBSqSKXoSuVVUv9hy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1273622},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"500e59837d15aca266e2dd6ebbd0b22eeb2958da","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.13.3_1781792911252_0.3686216927056001","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@618coffee/interactive-globe","version":"0.14.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.14.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"1ca7bb9d8de29b12945a261a217ba0e7087adf20","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.14.0.tgz","fileCount":14,"integrity":"sha512-Sbwyvqv61ds2RG8OVZHsZ2noEuZFQKjraDm5RNELUDGAjPlwx4ZO6TLND0LNUNK+Y5rVk5OLWVNGhmIII8G2uQ==","signatures":[{"sig":"MEQCIFtn94uR9YCgdhj+dVsYD+OwVYOnO/Lp4oONzqgfA44LAiAXrSku6XOq90i6aPUiKfkze1CNwAwWOdtPIIqaTYgTWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1286855},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"833669e8727f9ded0da2706b67d5f534efe9dbab","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.14.0_1781794665188_0.41805496128489805","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@618coffee/interactive-globe","version":"0.14.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.14.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"140194a8dea84b2abc02f21797a2cecaefef4ca4","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.14.1.tgz","fileCount":14,"integrity":"sha512-blulsMrlE7BK12k/lR3mzCl2aOAOszUlUb/7pbwYmp+2/BjDc6NNP5fLUoKy1Fa46fraqo+Kr1COCoSBjlE0bA==","signatures":[{"sig":"MEUCIAx8ImGbcI2jyfJI84Ql7Lfc33LBmhY70Mug9uF65m4mAiEA5XMkxCczHw+7C2VSxYV6hGYOrQZXzrPecdw8Cyhlres=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1291014},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"fc77a884231e26b9f274ed3e2a7e70df3561921d","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.14.1_1781796186943_0.4056677396241517","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@618coffee/interactive-globe","version":"0.14.2","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.14.2","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"cabc335b74a824e38955840c89c065b1985a7270","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.14.2.tgz","fileCount":14,"integrity":"sha512-YIF09lrAc0mm/Sf2B36DK2n55FU7WB7JgqD+9HzSuWIixrac02VfLN4ZAy9m38ehjwnkhDzTI/onH88ygF96Vw==","signatures":[{"sig":"MEUCIQDupCUVVDZT2UvHW8tmDk6WpQCPonFTnASG5M/Er4JJ8AIgJnAifTOdWeWzn/yY/dw1WwBH6eeWCly86K0Ad08ubSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293792},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"42c2544cb62de77662962ed14c9de1d118fc0314","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.14.2_1781842298202_0.176711162065478","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"@618coffee/interactive-globe","version":"0.14.3","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.14.3","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"835178cf2496ad0637a512ec9aadec1be6d407af","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.14.3.tgz","fileCount":14,"integrity":"sha512-yre5hNJJKwTC6UFM91j8yThq6ESXlezdxPQ+OCdNaMAXl0DfQEWgrGXB54BQFVbIHu/FxEHTx5IG0wtaeLA3mA==","signatures":[{"sig":"MEQCICTwCdcy1ESQD1iv+jozqxIZNRZlKJCYahDpnY+D7H9+AiB4gNTGEsZxp02ns4bv1Us8zkh1T+0HMnT8j7larqzhSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1296342},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"03ff20e89045c51fc2246bc4d3fd63a88b842914","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.14.3_1781941680761_0.09884310740253954","host":"s3://npm-registry-packages-npm-production"}},"0.14.4":{"name":"@618coffee/interactive-globe","version":"0.14.4","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.14.4","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"621a8547fe396c0051ef565b91e406d20b08f2de","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.14.4.tgz","fileCount":14,"integrity":"sha512-UWk7qpZrGwWQ81aaPtJHnOeTHSQCp/QsxlXnkUlR786RPnnsBeVwRFBqmaludeA8W/5qnwECTqIGoDE7yj+xNg==","signatures":[{"sig":"MEUCIBAiLW3QRLcVuMZ18U2Zj3m8OGRSgmVKe6MiBJrPgjnUAiEAqWBC3uTz5vlLElw9lAEeMfypEa+cOhYmEP72qm8FdJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1297207},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"5123d0c37774ae3d8922ec028622a1ca9f85db32","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.14.4_1782001794413_0.6718855878296854","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@618coffee/interactive-globe","version":"0.15.0","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.15.0","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"58321ef5eee9608fc0f294033ebab9e555fe633b","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.15.0.tgz","fileCount":14,"integrity":"sha512-2Gg8ZiGZdUfRc+PYrniD4+EH1re6NfwQouvV9IaPwWGeKhGPzgAiBlJ4nqdQDCZynf2SPSNMuNbO4eXxPN4hbQ==","signatures":[{"sig":"MEQCIHzk32WFuRHo2o6WUzj6bHfpldiTEyvOfJzvTsW3MtxLAiBv4pTl3ye0FPFlCN+4Wo6UF3NazIkaOhc846P8nbcLKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1289894},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"4552a976fc9b9f9601f3d5960a05c37ab578bbc6","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.15.0_1782003614416_0.17156259957290576","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@618coffee/interactive-globe","version":"0.15.1","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"author":{"name":"618coffee"},"license":"MIT","_id":"@618coffee/interactive-globe@0.15.1","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"dist":{"shasum":"db670d3c1b52167345fe3894a6c14c0f5c16c76d","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.15.1.tgz","fileCount":14,"integrity":"sha512-OLlwencRAdcYBF0QCahSQd6DODk7V4hUWWIlfoT8UOj8ysYeHiFqsgfCQ9hx3B08K3Ff6ZPVigbFpeTSFWZXGA==","signatures":[{"sig":"MEUCIQC4gqBwsNuMf5V5x27ZSlVWZxtsAd0tNqPn+8whqMiDswIgQhK5slHSOdLjbOfmYqp7suzx58Y/gqIeQCmh4h0XbtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1295352},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"gitHead":"d6835fe2b4a0c47390907a3868a16e3c0db1513c","scripts":{"dev":"vite","test":"vitest","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test:ci":"vitest run","pack:dry":"npm pack --dry-run","build:example":"vite build","prepublishOnly":"npm run test:ci && npm run build"},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"repository":{"url":"git+https://github.com/618coffee/interactive-globe.git","type":"git","directory":"react"},"_npmVersion":"11.12.1","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"25.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.10","jsdom":"^25.0.1","react":"^18.3.1","three":"^0.160.0","d3-geo":"^3.1.1","vitest":"^2.1.8","react-dom":"^18.3.1","playwright":"^1.60.0","world-atlas":"^2.0.2","topojson-client":"^3.1.0","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":">=18","three":">=0.155","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/interactive-globe_0.15.1_1782402008616_0.25572479477733845","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@618coffee/interactive-globe","version":"0.16.0","description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","license":"MIT","author":{"name":"618coffee"},"repository":{"type":"git","url":"git+https://github.com/618coffee/interactive-globe.git","directory":"react"},"homepage":"https://github.com/618coffee/interactive-globe#readme","bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles.css":"./dist/styles.css"},"sideEffects":["**/*.css"],"scripts":{"dev":"vite","build:example":"vite build","build":"vite build -c vite.lib.config.js && node scripts/copy-types.mjs","preview":"vite preview","test":"vitest","test:ci":"vitest run","pack:dry":"npm pack --dry-run","prepublishOnly":"npm run test:ci && npm run build"},"peerDependencies":{"react":">=18","react-dom":">=18","three":">=0.155"},"devDependencies":{"@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.1.0","@testing-library/user-event":"^14.5.2","@vitejs/plugin-react":"^4.3.4","d3-geo":"^3.1.1","jsdom":"^25.0.1","playwright":"^1.60.0","react":"^18.3.1","react-dom":"^18.3.1","three":"^0.160.0","topojson-client":"^3.1.0","vite":"^5.4.10","vitest":"^2.1.8","world-atlas":"^2.0.2"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"gitHead":"2e5d3db3503e5b7388ee1d69dddda832a7d5787e","_id":"@618coffee/interactive-globe@0.16.0","_nodeVersion":"25.1.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-QCWcGgLhtRBBfkgVRAh34VPWBr7jtoZzNC/4iC3Rsgr2JpSwfzN1bviw94BZLfaRXj0E+do/nNQAAvHkjk7EgA==","shasum":"37e07ce02a4c60df6edbd6f9e74c4c8987502556","tarball":"https://registry.npmjs.org/@618coffee/interactive-globe/-/interactive-globe-0.16.0.tgz","fileCount":14,"unpackedSize":1305190,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAhUOx0r1oNRjxLXpixoMle1K1gs6EMsPjavGeke2ZnaAiBWlONAp05y8kUNIlOtlTHeOGQscRHloKMg241SeJdgEg=="}]},"_npmUser":{"name":"rui.1995","email":"richard19950618@gmail.com"},"directories":{},"maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/interactive-globe_0.16.0_1783349128217_0.7502854476091512"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T05:26:26.802Z","modified":"2026-07-06T14:45:28.606Z","0.1.0":"2026-05-28T05:26:27.152Z","0.2.0":"2026-05-28T05:44:11.984Z","0.3.0":"2026-05-28T06:05:18.007Z","0.3.1":"2026-05-28T06:38:51.435Z","0.4.0":"2026-05-28T06:45:03.427Z","0.5.0":"2026-05-28T06:50:20.105Z","0.5.1":"2026-05-28T06:54:15.227Z","0.6.0":"2026-05-28T07:38:21.894Z","0.7.0":"2026-06-13T06:53:40.684Z","0.8.0":"2026-06-13T07:40:24.134Z","0.9.0":"2026-06-14T03:01:54.127Z","0.10.0":"2026-06-14T03:32:38.837Z","0.11.0":"2026-06-14T19:02:31.759Z","0.11.1":"2026-06-14T19:27:26.938Z","0.12.0":"2026-06-18T03:40:22.328Z","0.12.1":"2026-06-18T04:04:54.647Z","0.13.0":"2026-06-18T05:58:51.638Z","0.13.1":"2026-06-18T09:01:46.388Z","0.13.2":"2026-06-18T12:09:06.319Z","0.13.3":"2026-06-18T14:28:31.412Z","0.14.0":"2026-06-18T14:57:45.425Z","0.14.1":"2026-06-18T15:23:07.171Z","0.14.2":"2026-06-19T04:11:38.433Z","0.14.3":"2026-06-20T07:48:00.940Z","0.14.4":"2026-06-21T00:29:54.563Z","0.15.0":"2026-06-21T01:00:14.606Z","0.15.1":"2026-06-25T15:40:08.828Z","0.16.0":"2026-07-06T14:45:28.461Z"},"bugs":{"url":"https://github.com/618coffee/interactive-globe/issues"},"author":{"name":"618coffee"},"license":"MIT","homepage":"https://github.com/618coffee/interactive-globe#readme","keywords":["three.js","earth","globe","3d","react","react-component","geography","visualization","webgl"],"repository":{"type":"git","url":"git+https://github.com/618coffee/interactive-globe.git","directory":"react"},"description":"Full-screen interactive 3D Earth React component (Three.js): real Blue Marble textures, animated POI markers, LOD geographic labels, glass-morphism UI.","maintainers":[{"name":"rui.1995","email":"richard19950618@gmail.com"}],"readme":"# @618coffee/interactive-globe\n\nFull-screen interactive 3D Earth as a drop-in React component. Three.js renders the surface from real Blue Marble textures (8K), with animated POI markers, LOD geographic labels, and a dark glass-morphism control bar.\n\n## Install\n\n```pwsh\nnpm install @618coffee/interactive-globe three\n```\n\n`react`, `react-dom`, and `three` are peer dependencies — the host project provides them. TypeScript declarations ship in the package; no `@types/...` install needed.\n\n## Use it\n\n```jsx\nimport { InteractiveGlobe } from '@618coffee/interactive-globe';\nimport '@618coffee/interactive-globe/styles.css';\n\nexport default function Page() {\n  return (\n    <div style={{ width: '100vw', height: '100vh' }}>\n      <InteractiveGlobe />\n    </div>\n  );\n}\n```\n\nThe component fills its parent — wrap it in something with an explicit width and height.\n\n### English UI, only a subset of buttons\n\n```jsx\n<InteractiveGlobe\n  language=\"en\"\n  controls={{ atmosphere: false, clouds: false }}   // hide those two toggles\n/>\n```\n\n### Custom string overrides on top of a built-in language\n\n```jsx\n<InteractiveGlobe\n  language=\"en\"\n  strings={{ title: 'Mission Globe', reset: 'Recenter' }}\n/>\n```\n\n### Hide the top panels, keep only the button bar (no text on buttons)\n\n```jsx\n<InteractiveGlobe\n  panels={{ title: false, info: false }}             // hide top-left + top-right cards\n  strings={{                                          // empty string => icon-only\n    reset: '', zoomIn: '', zoomOut: '',\n    autoRotate: '', labels: '', poi: '', clouds: '', atmosphere: '',\n  }}\n/>\n```\n\n## Props\n\nAll optional.\n\n| Prop             | Type                                  | Default                | Notes |\n|------------------|---------------------------------------|------------------------|-------|\n| `pois`           | `{ name, lat, lon }[]`                | 30 cities              | Glowing markers on the globe. |\n| `labels`         | `{ name, lat, lon, type, lod }[]`     | continents → mountains | `lod` 0–3, smaller = zoom further in to see. |\n| `ui`             | `'full' \\| 'minimal' \\| 'none'`       | `'full'`               | Preset: `minimal` keeps only the bottom button bar; `none` strips all chrome. |\n| `panels`         | `{ title?, info?, bottomBar? }`       |                        | Fine-grained overrides on top of `ui`. Omitted keys inherit from the preset. |\n| `language`       | `'zh' \\| 'en'`                        | `'zh'`                 | Built-in UI language. |\n| `strings`        | `Partial<UIStrings>`                  |                        | Override specific UI strings on top of the language bundle. Pass an empty string for a button label to render it **icon-only** (icon always shows; tooltip falls back to English). |\n| `controls`       | `{ reset, zoom, zoomIn, zoomOut, autoRotate, labels, markers, clouds, atmosphere, aurora }` (all booleans) | all `true` | Per-button visibility in the bottom bar. Omitted keys default to `true`. `zoom` is a convenience that toggles both `zoomIn` and `zoomOut` at once; explicit `zoomIn` / `zoomOut` still win. Hiding a button does **not** change scene state — pair with `showLabels` / `showClouds` etc. if you want the underlying layer off too. |\n| `infoCard`       | `{ view, lat, lon, distance, hint }` (all booleans) | all `true` | Per-row visibility inside the top-right info card. Hiding every row collapses the card entirely (same effect as `panels.info: false`). |\n| `autoRotate`     | `boolean`                             | `true`                 | |\n| `enableZoom`     | `boolean`                             | `true`                 | Wheel/pinch zoom of the camera. Set `false` so page scroll passes through the canvas instead of zooming the globe. |\n| `enableRotate`   | `boolean`                             | `true`                 | Pointer-drag rotation. Independent of `autoRotate` — set `false` to lock manual rotation while keeping the idle spin. |\n| `showClouds`     | `boolean`                             | `true`                 | |\n| `showAtmosphere` | `boolean`                             | `true`                 | Fresnel atmosphere glow. |\n| `showAurora`     | `boolean`                             | `true`                 | Animated polar-cap aurora rings (65°–78° N/S). Independent of `showAtmosphere`. |\n| `showLabels`     | `boolean`                             | `true`                 | |\n| `showMarkers`    | `boolean`                             | `true`                 | |\n| `exposure`       | `number`                              | `1.4`                  | Renderer tone-mapping exposure (brightness). |\n| `textures`       | `{ day, spec, bump, clouds }`         | 8K Blue Marble set     | URL overrides. |\n| `initialView`    | `{ lat, lon }`                        |                        | Start centered on this point on the first frame (both modes). Pass the outgoing globe's `getInfo()` here for a jump-free rotation handoff across a theme/mode switch. |\n| `showLoader`     | `boolean`                             | `true`                 | Built-in loading overlay. Set `false` to suppress it (e.g. when cross-fading from a previously rendered globe). |\n| `idleTiltDeg`    | `number`                              | `12`                   | Latitude shown at the disc centre while auto-rotating (both modes). |\n| `spinDegPerSec`  | `number`                              | `6`                    | Auto-rotation speed in degrees/second (both modes, frame-rate independent). |\n| `cameraFov`      | `number`                              | `45`                   | Perspective field-of-view in degrees (webgl only). Lower = flatter, toward the flat globe's orthographic look. |\n| `projection`     | `'perspective' \\| 'orthographic'`     | `'perspective'`        | Camera projection (webgl only). `orthographic` = parallel projection matching the flat globe (no centre bulge). |\n| `className`      | `string`                              |                        | Forwarded to the wrapper. |\n| `style`          | `CSSProperties`                       |                        | Forwarded to the wrapper. |\n| `onReady`        | `(api) => void`                       |                        | Fires once scene is constructed. |\n| `onLoad`         | `() => void`                          |                        | Fires once textures finish loading. |\n| `onPoiClick`     | `(poi) => void`                       |                        | Fires on marker click. |\n\n## Imperative API\n\nForward a ref to call methods on the globe:\n\n```jsx\nconst globe = useRef(null);\n\n<InteractiveGlobe ref={globe} />\n<button onClick={() => globe.current?.flyTo(35.6762, 139.6503, 1.7)}>\n  Fly to Tokyo\n</button>\n```\n\n| Method                                | Description |\n|---------------------------------------|-------------|\n| `reset()`                             | Animate camera back to the default view. |\n| `zoomIn()` / `zoomOut()`              | Smoothly step the dolly distance. |\n| `flyTo(lat, lon, dist?, opts?)`       | Animate camera to a lat/lon at the given distance (default 1.8). Disables auto-rotate. `opts` = `{ durationMs?, easing? }` — `durationMs` defaults to 900; `easing` is `'linear' \\| 'easeInCubic' \\| 'easeOutCubic' \\| 'easeInOutCubic'` or a custom `(t) => number` (default `'easeOutCubic'`). |\n| `getInfo()`                           | Returns `{ lat, lon, dist, level }` for the current camera. |\n| `getScene()`                          | Returns the underlying `GlobeScene` instance for advanced use. |\n\n```jsx\n// Slow, cinematic ease-in-out fly\nglobe.current?.flyTo(31.2990, 120.5853, 1.7, { durationMs: 2600, easing: 'easeInOutCubic' });\n```\n\n## Notes\n\n- The component opens a WebGL context, a render loop, and DOM nodes inside its wrapper. On unmount it disposes all of them cleanly (safe inside React StrictMode and routed pages).\n- The default day map is a real NASA Blue Marble Next Gen texture (8192×4096) and the clouds are a NASA composite (2048×1024), both served with CORS via jsDelivr from this repo; the water/topology masks load from `unpkg.com`. For offline / self-hosted use, copy those assets and pass URLs via the `textures` prop.\n- Sizing is tracked with `ResizeObserver`, so the canvas reflows correctly when its container resizes (not just on window resize).\n\n---\n\n## Development\n\n```pwsh\ncd react\nnpm install\nnpm run dev          # runs the Vite example app at http://localhost:5173\nnpm test             # vitest watch mode\nnpm run test:ci      # single run, used by CI + prepublishOnly\n```\n\n`src/example/App.jsx` demos `flyTo()` and `onPoiClick`.\n\n## Testing\n\nUnit + UI tests live next to the source in `src/lib/__tests__/`. They run\nin jsdom with `GlobeScene` mocked so they're fast and don't need WebGL.\n\nWhat's covered:\n\n- **`strings.test.js`** — `resolveStrings` / `resolveControls` / `resolvePanels`\n  merge semantics; empty-string preservation for icon-only intent.\n- **`InteractiveGlobe.test.jsx`** — every prop combination from v0.2.0 /\n  v0.3.0: language switching, per-key string overrides, icon-only button\n  mode (including a11y fallback), per-button `controls`, divider collapse\n  rules, `panels` layered on top of `ui` presets, toggle button click\n  behavior, imperative ref API (`flyTo`, `reset`, `zoomIn/Out`,\n  `getInfo`), and lifecycle callbacks (`onReady`, `onLoad`, `onPoiClick`).\n\nTests run on every push via [.github/workflows/ci.yml](../.github/workflows/ci.yml)\nand gate the release flow (`prepublishOnly` runs `test:ci` before build).\n\n## Publishing to npm\n\nThe package builds from `react/src/lib/` into `react/dist/` via Vite library mode. `react`, `react-dom`, and `three` stay external as peer dependencies.\n\n### Automated (GitHub Actions)\n\nPush a version tag and CI handles the rest:\n\n```pwsh\ncd react\nnpm version patch          # bumps package.json + commits + creates tag\ngit push --follow-tags     # triggers .github/workflows/release.yml\n```\n\nThe workflow installs deps, runs `npm run build`, verifies the tarball, and publishes with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) (signed attestation linking the package to this exact commit).\n\nOne-time setup: add an `NPM_TOKEN` secret to the GitHub repo\n(Settings → Secrets and variables → Actions → New repository secret).\nGenerate the token at https://www.npmjs.com/settings/<your-account>/tokens with type **Automation**.\n\n### Manual\n\n```pwsh\ncd react\nnpm run build              # emits dist/index.{mjs,cjs,d.ts} + dist/styles.css\nnpm pack --dry-run         # lists what would be uploaded\nnpm login                  # one-time\nnpm publish                # publishConfig.access=public is already set\n```\n\nThe `prepublishOnly` script runs `npm run build` automatically, so `dist/` is always fresh.\n\n**Publish is effectively irreversible.** You can't unpublish after 72 hours, and the `name@version` is permanently reserved. Use `npm pack --dry-run` to verify the tarball contents first.\n","readmeFilename":"README.md"}