mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
DISPLAY ▸ Import (and drop onto the globe) puts the person's own files on the map as Cesium data sources, clamped to the ground, one color per file, with a row to show/hide, fly to or remove each. Files stay in the browser for the session. KML/KMZ are sanitized before Cesium reads them (network links, remote icons/styles, models, photo/screen overlays and balloon HTML removed; KMZ images served from blob URLs), so an imported file cannot make the page fetch anything. KMZ is read with a small dependency-free zip reader on the platform DecompressionStream, with a zip-bomb limit. Bounded file size, entity count and number of files. Tests: src/data/geoFileImport.test.mjs, src/ui/geoFileImport.test.mjs. Gate: scripts/qa-geo-import.mjs. The import half of #890. Co-Authored-By: Claude Opus 5.5 <[email protected]>
40 lines
1.8 KiB
HTML
40 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>God's Eye View</title>
|
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
<link rel="stylesheet" href="/style.css" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet" />
|
|
<!-- Icon font subset to the glyphs this app renders. Keep `icon_names` in sync
|
|
with the sources: src/materialSymbolsSubset.test.mjs fails when a source
|
|
names a glyph this list is missing, because a missing glyph does not draw
|
|
a box — the ligature never forms and the element renders the literal word. -->
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=adjust,arrow_drop_down,arrow_forward,arrow_left,arrow_right,bolt,chevron_left,chevron_right,close,close_fullscreen,dark_mode,draw,east,flare,flight,layers_clear,light_mode,local_fire_department,my_location,navigation,normal,on,open_in_full,public,radar,radio,right_panel_close,right_panel_open,rocket_launch,skip_next,skip_previous,upload_file,view_in_ar,visibility,visibility_off" rel="stylesheet" />
|
|
</head>
|
|
<body>
|
|
<!-- gev:template scene-chrome -->
|
|
|
|
<!-- gev:template cockpit -->
|
|
|
|
<!-- gev:template display-controls -->
|
|
|
|
<!-- gev:template command-dock -->
|
|
|
|
<!-- gev:template layer-panels -->
|
|
|
|
<!-- gev:template context -->
|
|
|
|
<!-- gev:template welcome -->
|
|
|
|
<!-- gev:template provider-settings -->
|
|
|
|
<!-- gev:template hud-loading -->
|
|
|
|
<script type="module" src="/src/main.js"></script>
|
|
</body>
|
|
</html>
|