Vendor globe.gl and its Earth textures

globe.gl 2.46.2 (MIT, three.js r185 bundled) and the NASA Blue Marble
and Black Marble textures from three-globe 2.45.3, copied once from the
npm registry; SOURCES.md records versions, licences and sha256, and the
bundled libraries' notices are in LICENSES-bundled.txt. The service
worker leaves the folder out of the offline precache: the feed loads it
the first time it shows the globe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-04 11:03:14 +02:00
1 parent b9040bbd80
commit f41ebf2160
26 files changed
+122 -1101

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
// Version 2.46.2 globe.gl - https://github.com/vasturiano/globe.gl
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Globe=t()}(this,function(){"use strict";!function(e,t){void 0===t&&(t={});var n=t.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".scene-container .clickable {\n cursor: pointer;\n}");const e="185",t=0,n=1,r=2,i=0,s=1,a=2,o=3,l=1,u=3,c=0,h=1,d=2,A=100,p=101,f=102,m=200,g=201,_=202,v=203,y=204,b=205,x=206,T=207,S=208,w=209,M=210,E=211,C=212,R=213,N=214,P=0,D=1,L=2,I=3,U=4,B=5,O=6,F=7,k=0,V=1,q=2,z=1,G=2,H=3,j=4,W=5,X=6,$=7,Q=301,Y=302,K=303,Z=304,J=306,ee=1e3,te=1001,ne=1002,re=1003,ie=1004,se=1005,ae=1006,oe=1007,le=1008,ue=1009,ce=1010,he=1011,de=1012,Ae=1013,pe=1014,fe=1015,me=1016,ge=1017,_e=1018,ve=1020,ye=35902,be=35899,xe=1021,Te=1022,Se=1023,we=1026,Me=1027,Ee=1028,Ce=1029,Re=1030,Ne=1031,Pe=1032,De=1033,Le=33776,Ie=33777,Ue=33778,Be=33779,Oe=35840,Fe=35841,ke=35842,Ve=35843,qe=36196,ze=37492,Ge=37496,He=37488,je=37489,We=37490,Xe=37491,$e=37808,Qe=37809,Ye=37810,Ke=37811,Ze=37812,Je=37813,et=37814,tt=37815,nt=37816,rt=37817,it=37818,st=37819,at=37820,ot=37821,lt=36492,ut=36494,ct=36495,ht=36283,dt=36284,At=36285,pt=36286,ft="",mt="srgb",gt="srgb-linear",_t="linear",vt="srgb",yt=7680,bt=512,xt=513,Tt=514,St=515,wt=516,Mt=517,Et=518,Ct=519,Rt=35044,Nt=35048,Pt="300 es",Dt=2e3,Lt=2001,It="compute",Ut="render",Bt="depthTextureCompare";function Ot(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ft(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}function kt(){const e=Ft("canvas");return e.style.display="block",e}const Vt={};function qt(...e){const t="THREE."+e.shift();console.log(t,...e)}function zt(e){const t=e[0];if("string"==typeof t&&t.startsWith("TSL:")){const t=e[1];t&&t.isStackTrace?e[0]+=" "+t.getLocation():e[1]='Stack trace not available. Enable "THREE.Node.captureStackTrace" to capture stack traces.'}return e}function Gt(...e){const t="THREE."+(e=zt(e)).shift();{const n=e[0];n&&n.isStackTrace?console.warn(n.getError(t)):console.warn(t,...e)}}function Ht(...e){const t="THREE."+(e=zt(e)).shift();{const n=e[0];n&&n.isStackTrace?console.error(n.getError(t)):console.error(t,...e)}}function jt(...e){const t=e.join(" ");t in Vt||(Vt[t]=!0,Gt(...e))}function Wt(){return"undefined"!=typeof self&&void 0!==self.scheduler&&void 0!==self.scheduler.yield?self.scheduler.yield():new Promise(e=>{requestAnimationFrame(e)})}const Xt={[P]:1,[L]:6,[U]:7,[I]:5,[D]:0,[O]:2,[F]:4,[B]:3};class $t{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return void 0!==n&&(void 0!==n[e]&&-1!==n[e].indexOf(t))}removeEventListener(e,t){const n=this._listeners;if(void 0===n)return;const r=n[e];if(void 0!==r){const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){const t=this._listeners;if(void 0===t)return;const n=t[e.type];if(void 0!==n){e.target=this;const t=n.slice(0);for(let n=0,r=t.length;n<r;n++)t[n].call(this,e);e.target=null}}}const Qt=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let Yt=1234567;const Kt=Math.PI/180,Zt=180/Math.PI;function Jt(){const e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(Qt[255&e]+Qt[e>>8&255]+Qt[e>>16&255]+Qt[e>>24&255]+"-"+Qt[255&t]+Qt[t>>8&255]+"-"+Qt[t>>16&15|64]+Qt[t>>24&Line truncated
// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)
// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
T_.readability=function(e,t){var n=T_(e),r=T_(t);return(Math.max(n.getLuminance(),r.getLuminance())+.05)/(Math.min(n.getLuminance(),r.getLuminance())+.05)},T_.isReadable=function(e,t,n){var r,i,s=T_.readability(e,t);switch(i=!1,(r=function(e){var t,n;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==n&&"large"!==n&&(n="small");return{level:t,size:n}}(n)).level+r.size){case"AAsmall":case"AAAlarge":i=s>=4.5;break;case"AAlarge":i=s>=3;break;case"AAAsmall":i=s>=7}return i},T_.mostReadable=function(e,t,n){var r,i,s,a,o=null,l=0;i=(n=n||{}).includeFallbackColors,s=n.level,a=n.size;for(var u=0;u<t.length;u++)(r=T_.readability(e,t[u]))>l&&(l=r,o=T_(t[u]));return T_.isReadable(e,o,{level:s,size:a})||!i?o:(n.includeFallbackColors=!1,T_.mostReadable(e,["#fff","#000"],n))};var V_=T_.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},q_=T_.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(V_);function z_(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function G_(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function H_(e){return Math.min(1,Math.max(0,e))}function j_(e){return parseInt(e,16)}function W_(e){return 1==e.length?"0"+e:""+e}function X_(e){return e<=1&&(e=100*e+"%"),e}function $_(e){return Math.round(255*parseFloat(e)).toString(16)}function Q_(e){return j_(e)/255}var Y_,K_,Z_,J_=(K_="[\\s|\\(]+("+(Y_="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+Y_+")[,|\\s]+("+Y_+")\\s*\\)?",Z_="[\\s|\\(]+("+Y_+")[,|\\s]+("+Y_+")[,|\\s]+("+Y_+")[,|\\s]+("+Y_+")\\s*\\)?",{CSS_UNIT:new RegExp(Y_),rgb:new RegExp("rgb"+K_),rgba:new RegExp("rgba"+Z_),hsl:new RegExp("hsl"+K_),hsla:new RegExp("hsla"+Z_),hsv:new RegExp("hsv"+K_),hsva:new RegExp("hsva"+Z_),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]Line truncated
/*
* Copyright 2018-2019, 2022 Uber Technologies, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/var $y={};[["sizeOfH3Index",qy],["sizeOfLatLng",qy],["sizeOfCellBoundary",qy],["sizeOfGeoLoop",qy],["sizeOfGeoPolygon",qy],["sizeOfLinkedGeoPolygon",qy],["sizeOfCoordIJ",qy],["readInt64AsDoubleFromPointer",qy],["isValidCell",qy,[qy,qy]],["isValidIndex",qy,[qy,qy]],["latLngToCell",qy,[qy,qy,qy,qy]],["cellToLatLng",qy,[qy,qy,qy]],["cellToBoundary",qy,[qy,qy,qy]],["maxGridDiskSize",qy,[qy,qy]],["gridDisk",qy,[qy,qy,qy,qy]],["gridDiskDistances",qy,[qy,qy,qy,qy,qy]],["gridRing",qy,[qy,qy,qy,qy]],["gridRingUnsafe",qy,[qy,qy,qy,qy]],["maxPolygonToCellsSize",qy,[qy,qy,qy,qy]],["polygonToCells",qy,[qy,qy,qy,qy]],["maxPolygonToCellsSizeExperimental",qy,[qy,qy,qy,qy]],["polygonToCellsExperimental",qy,[qy,qy,qy,qy,qy,qy]],["cellsToLinkedMultiPolygon",qy,[qy,qy,qy]],["destroyLinkedMultiPolygon",null,[qy]],["compactCells",qy,[qy,qy,qy,qy]],["uncompactCells",qy,[qy,qy,qy,qy,qy,qy]],["uncompactCellsSize",qy,[qy,qy,qy,qy,qy]],["isPentagon",qy,[qy,qy]],["isResClassIII",qy,[qy,qy]],["getBaseCellNumber",qy,[qy,qy]],["getResolution",qy,[qy,qy]],["getIndexDigit",qy,[qy,qy,qy]],["constructCell",qy,[qy,qy,qy,qy]],["maxFaceCount",qy,[qy,qy,qy]],["getIcosahedronFaces",qy,[qy,qy,qy]],["cellToParent",qy,[qy,qy,qy,qy]],["cellToChildren",qy,[qy,qy,qy,qy]],["cellToCenterChild",qy,[qy,qy,qy,qy]],["cellToChildrenSize",qy,[qy,qy,qy,qy]],["cellToChildPos",qy,[qy,qy,qy,qy]],["childPosToCell",qy,[qy,qy,qy,qy,qy,qy]],["areNeighborCells",qy,[qy,qy,qy,qy,qy]],["cellsToDirectedEdge",qy,[qy,qy,qy,qy,qy]],["getDirectedEdgeOrigin",qy,[qy,qy,qy]],["getDirectedEdgeDestination",qy,[qy,qy,qy]],["isValidDirectedEdge",qy,[qy,qy]],["directedEdgeToCells",qy,[qy,qy,qy]],["originToDirectedEdges",qy,[qy,qy,qy]],["directedEdgeToBoundary",qy,[qy,qy,qy]],["reverseDirectedEdge",qy,[qy,qy,qy]],["gridDistance",qy,[qy,qy,qy,qy,qy]],["gridPathCells",qy,[qy,qy,qy,qy,qy]],["gridPathCellsSize",qy,[qy,qy,qy,qy,qy]],["cellToLocalIj",qy,[qy,qy,qy,qy,qy,qy]],["localIjToCell",qy,[qy,qy,qy,qy,qy]],["getHexagonAreaAvgM2",qy,[qy,qy]],["getHexagonAreaAvgKm2",qy,[qy,qy]],["getHexagonEdgeLengthAvgM",qy,[qy,qy]],["getHexagonEdgeLengthAvgKm",qy,[qy,qy]],["greatCircleDistanceM",qy,[qy,qy]],["greatCircleDistanceKm",qy,[qy,qy]],["greatCircleDistanceRads",qy,[qy,qy]],["cellAreaM2",qy,[qy,qy,qy]],["cellAreaKm2",qy,[qy,qy,qy]],["cellAreaRads2",qy,[qy,qy,qy]],["edgeLengthM",qy,[qy,qy,qy]],["edgeLengthKm",qy,[qy,qy,qy]],["edgeLengthRads",qy,[qy,qy,qy]],["getNumCells",qy,[qy,qy]],["getRes0Cells",qy,[qy]],["res0CellCount",qy],["getPentagons",qy,[qy,qy]],["pentagonCount",qy],["cellToVertex",qy,[qy,qy,qy,qy]],["cellToVertexes",qy,[qy,qy,qy]],["vertexToLatLng",qy,[qy,qy,qy]],["isValidVertex",qy,[qy,qy]]].forEach(function(e){$y[e[0]]=Vy.cwrap.apply(Vy,e)});var Qy=16,Yy=$y.sizeOfH3Index(),Ky=$y.sizeOfLatLng(),Zy=$y.sizeOfCellBoundary(),Jy=$y.sizeOfGeoPolygon(),eb=$y.sizeOfGeoLoop();$y.sizeOfLinkedGeoPolygon(),$y.sizeOfCoordIJ();var tb=Math.pow(2,32)-1;var nb=/[^0-9a-fA-F]/;function rb(e){if(Array.isArray(e)&&2===e.length&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if("string"!=typeof e||nb.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),Qy);return[parseInt(e.substring(e.length-8),Qy),t]}function ib(e){if(e>=0)return e.toString(Qy);var t=sb(8,(e&=2147483647).toString(Qy));return t=(parseInt(t[0],Qy)+8).toString(Qy)+t.substring(1)}function sb(e,t){for(var n=e-t.length,r="",i=0;i<n;i++)r+="0";return r+=t}function ab(e,t,n){for(var r=e.length,i=Vy._calloc(r,Ky),s=n?1:0,a=n?0:1,o=0;o<2*r;o+=2)Vy.HEAPF64.set([e[o/2][s],e[o/2][a]].map(pb),i/8+o);return Vy.HEAPU32.set([r,i],t/4),t}function ob(e,t){void 0===t&&(t=0);var n=Vy.getValue(e+Yy*t,"i32"),r=Vy.getValue(e+Yy*t+4,"i32");return r?function(e,t){return ib(t)+sb(8,ib(e))}(n,r):null}function lb(e){return 180*Vy.getValue(e,"double")/Math.PI}function ub(e){return[lb(e+8),lb(e)]}function cb(e,t,n){var r=Vy._malloc(Ky);Vy.HEAPF64.set([e,t].map(pb),r/8);var i=Vy._malloc(Yy);try{return Xy($y.latLngToCell(r,n,i)),function(e){if(!e)throw Wy(1002);return e}(ob(i))}finally{Vy._free(i),Vy._free(r)}}function hb(e){var t,n=Vy._malloc(Ky),r=rb(e),i=r[0],s=r[1];try{return Xy($y.cellToLatLng(i,s,n)),[lb(t=n),lb(t+8)]}finally{Vy._free(n)}}function db(e,t){var n=Vy._malloc(Zy),r=rb(e),i=r[0],s=r[1];try{return Xy($y.cellToBoundary(i,s,n)),function(e){for(var t=Vy.getValue(e,"i32"),n=e+8,r=[],i=ub,s=0;s<2*t;s+=2)r.push(i(n+8*s));return r.push(r[0]),r}(n)}finally{Vy._free(n)}}function Ab(e,t,n){if(function(e){if("number"!=typeof e||e<0||e>15||Math.floor(e)!==e)throw jy(4,e)}(t),n=Boolean(n),0===e.length||0===e[0].length)return[];var r,i=function(e,t){var n,r=e.length-1,i=Vy._calloc(Jy),s=0+eb,a=s+4;if(ab(e[0],i+0,t),r>0){n=Vy._calloc(r,eb);for(var o=0;o<r;o++)ab(e[o+1],n+eb*o,t)}return Vy.setValue(i+s,r,"i32"),Vy.setValue(i+a,n,"i32"),i}("number"==typeof e[0][0]?[e]:e,n),s=Vy._malloc(8);try{Xy($y.maxPolygonToCellsSize(i,t,0,s));var a=function(e){if(e>tb)throw Wy(1001,e);return e}((r=s,$y.readInt64AsDoubleFromPointer(r))),o=Vy._calloc(a,Yy);try{rLine truncated