diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index da089a934..1aefb801c 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -1,11 +1,11 @@ # God's Eye View Current State -## The globe in conversations — October 2, 2026 +## God's Eye View in conversations — October 2, 2026 -Tool answers that can be seen on the globe include a view: camera, layers, +Tool answers that can be shown in God's Eye View include a view: camera, layers, style, map, marks and an aircraft or satellite to follow, written in the -share-link format (`gods-eye-view/view`). `show_on_globe` shows a view as the -live globe inside clients that display MCP Apps, and as a link everywhere. +share-link format (`gods-eye-view/view`). `show_in_gods_eye_view` shows a view as live +God's Eye View inside clients that display MCP Apps, and as a link everywhere. `?embed=1` shows the app as the globe alone and takes new views from the page that frames it. MCP leads with the tools that find what to show. See [tools and the MCP server](TOOLS.md). diff --git a/docs/TOOLS.md b/docs/TOOLS.md index b11d518b3..4aba0a727 100644 --- a/docs/TOOLS.md +++ b/docs/TOOLS.md @@ -104,9 +104,9 @@ tilted camera over an area looks at its center from behind; camera fields given with an area override its framing. `resolveViewArguments` turns them into a view. -### The globe panel +### The God's Eye View panel -`show_on_globe` names an MCP Apps view (`io.modelcontextprotocol/ui`): +`show_in_gods_eye_view` names an MCP Apps view (`io.modelcontextprotocol/ui`): `_meta.ui.resourceUri` is `ui://gods-eye-view/globe`, a `text/html;profile=mcp-app` resource from `createGlobePanelResource({ appUrl })` in `src/tools/globePanel.js`. Clients that display apps render it inside the @@ -250,4 +250,4 @@ public feeds the sources already use. | `situation_brief` | `weather` | Weather, earthquakes, fires, aircraft, ships and cyclones for an area, by section | | `military_awareness` | `military` | Military and other aircraft, ships and military installations within 250 km of a point, by section | | `get_hud_caption` | `weather`, `summary` | The app's heads-up display caption for an area | -| `show_on_globe` | `app` | A view on the globe: the live globe panel in clients with MCP Apps, and a link everywhere; takes another answer's view or an area or camera, layers, style, map, marks and something to follow | +| `show_in_gods_eye_view` | `app` | A view in God's Eye View: the live panel in clients with MCP Apps, and a link everywhere; takes another answer's view or an area or camera, layers, style, map, marks and something to follow | diff --git a/server/mcp/server.js b/server/mcp/server.js index a9a8b5ea1..aa11e8ef1 100644 --- a/server/mcp/server.js +++ b/server/mcp/server.js @@ -14,9 +14,9 @@ const INSTRUCTIONS = "Tools answer questions from God's Eye View's live public data. Location " + 'tools take an area: a place name, a bbox, or lat/lon with radius_km. ' + 'Results are capped; check truncated and total before concluding there is nothing more. ' + - 'Answers that can be seen on the globe include data.view; to show one, call ' + - 'show_on_globe with that view, adding layers, style, a camera or marks as ' + - 'needed. It shows the live globe where the client displays apps and ' + + "Answers that can be shown in God's Eye View include data.view; to show one, call " + + 'show_in_gods_eye_view with that view, adding layers, style, a camera or marks as ' + + "needed. It shows live God's Eye View where the client displays apps and " + 'returns a link everywhere.'; /** Construct the local MCP server for Core's tools. */ diff --git a/src/tooling/localServices.test.mjs b/src/tooling/localServices.test.mjs index c26de99a0..61f25271a 100644 --- a/src/tooling/localServices.test.mjs +++ b/src/tooling/localServices.test.mjs @@ -220,7 +220,7 @@ test('Realtime sessions carry supplied tools, and the standalone voice adds the ); assert.ok(names.includes('get_weather')); assert.ok(names.includes('military_awareness')); - assert.ok(!names.includes('show_on_globe')); + assert.ok(!names.includes('show_in_gods_eye_view')); assert.ok(!names.includes('aircraft_in_area')); assert.ok(!names.includes('get_weather_map')); // The action of the same name answers satellite passes. diff --git a/src/tools/functions.test.mjs b/src/tools/functions.test.mjs index 51776ea75..439d7aeef 100644 --- a/src/tools/functions.test.mjs +++ b/src/tools/functions.test.mjs @@ -4,10 +4,10 @@ import { coreTools, toFunctionOutput, toFunctionTools } from './index.js'; test('catalog tools become independent function records', () => { const records = toFunctionTools(coreTools, { - exclude: ['show_on_globe'], + exclude: ['show_in_gods_eye_view'], }); assert.equal(records.length, coreTools.length - 1); - assert.ok(!records.some((tool) => tool.name === 'show_on_globe')); + assert.ok(!records.some((tool) => tool.name === 'show_in_gods_eye_view')); const weather = records.find((tool) => tool.name === 'get_weather'); const source = coreTools.find((tool) => tool.name === 'get_weather'); assert.deepEqual(Object.keys(weather), [ diff --git a/src/tools/globePanel.js b/src/tools/globePanel.js index 96b20620a..f87179222 100644 --- a/src/tools/globePanel.js +++ b/src/tools/globePanel.js @@ -1,7 +1,7 @@ /** - * The globe panel: an MCP Apps view (`io.modelcontextprotocol/ui`) that shows + * The God's Eye View panel: an MCP Apps view (`io.modelcontextprotocol/ui`) that shows * God's Eye View inside a conversation. The panel is a small page that loads - * the app in embed mode and sends it each view the show_on_globe tool + * the app in embed mode and sends it each view the show_in_gods_eye_view tool * returns; see docs/TOOLS.md. */ @@ -33,7 +33,7 @@ function panelHtml(appOrigin) { -
Waiting for a view of the globe…
+
Waiting for a view…