feat: add an embed mode that shows only the globe

?embed=1 shows the globe alone: clean view with the HUD, panels, welcome and
setup prompts hidden, and provider attribution kept. The page that frames it
sends views with postMessage; the app applies each through its own actions
and reports every step. Annotations in any link are drawn once it restores.
Only embed-mode documents may be framed; every other page keeps
X-Frame-Options DENY and frame-ancestors 'none', and
GEV_EMBED_FRAME_ANCESTORS can restrict who frames them.
This commit is contained in:
Sameh Khamis committed 2026-10-02 15:21:36 -07:00
1 parent f68aa988ec
commit 60c40865e9
13 files changed
+559 -12

No files matched your search

+2 -1
View File
@@ -890,5 +890,6 @@
"src/tools/surfaces.test.mjs",
"src/tools/places.test.mjs",
"src/view/index.test.mjs",
"src/tools/views.test.mjs"
"src/tools/views.test.mjs",
"src/app/embed.test.mjs"
]
+7 -2
View File
@@ -28,7 +28,11 @@
"vite-build": {
"runtime": "node",
"exports": ["./build/vite", "./build/html"],
"modules": ["build/vite.js", "build/application-html.js"],
"modules": [
"build/vite.js",
"build/application-html.js",
"build/embed-framing.js"
],
"external": ["vite-plugin-cesium"]
},
"live-providers": {
@@ -2039,7 +2043,8 @@
"src/sources/infrastructureData.js",
"src/tools/functions.js",
"src/voice/actionSchemas.js",
"src/view/index.js"
"src/view/index.js",
"src/app/embed.js"
],
"external": [
"hls.js",