Fit the tilt wording under the Realtime prompt ceiling

With main merged, the Overpass prompt measured 55,549 against the 55,500 ceiling. The pitchDeg and direction descriptions now read 'Absolute; -89 top-down.' and 'Needed for pan/rotate/tilt steps', bringing it to 55,497. The schema pin and the measured-size note follow.
This commit is contained in:
Sameh Khamis committed 2026-11-05 15:38:32 -08:00
1 parent 8687512fc8
commit 395eba4548
4 files changed
+10 -10

No files matched your search

+2 -3
View File
@@ -523,7 +523,7 @@ export const ACTION_DESCRIPTIONS = {
properties: {
direction: {
description:
'Required for pan/rotate and a tilt nudge; orbit/rotate_globe default right.',
'Needed for pan/rotate/tilt steps; orbit/rotate_globe default right.',
$position: 2,
},
mode: {
@@ -532,8 +532,7 @@ export const ACTION_DESCRIPTIONS = {
$position: 2,
},
pitchDeg: {
description:
'Absolute; steps use direction. -45 oblique (default), -89 top-down.',
description: 'Absolute; -89 top-down.',
$position: 1,
},
},
+3 -3
View File
@@ -232,14 +232,14 @@ test('no unchanged Realtime tool definition drifts silently', () => {
camera.description,
'Direct the camera like a drone operator: orbit the current view target, pan, tilt, or rotate — one bounded nudge (mode=once) or continuous motion until stopped (mode=continuous). Continuous motion also stops on any manual camera input or when a navigation tool runs. Say the RESULTING state when confirming ("Orbiting slowly"). Globe rotation (rotate_globe) spins Earth right continuously by default; explicit direction, mode and speed take precedence. It checks fit and may refuse.',
);
// Tilt to an angle adds pitchDeg and says a tilt nudge needs a
// Tilt to an angle adds an absolute pitchDeg and says tilt steps need a
// direction; check them, then restore the legacy fields for the pin.
assert.equal(
camera.parameters.properties.direction.description,
'Required for pan/rotate and a tilt nudge; orbit/rotate_globe default right.',
'Needed for pan/rotate/tilt steps; orbit/rotate_globe default right.',
);
assert.equal(camera.parameters.properties.pitchDeg.type, 'number');
assert.match(camera.parameters.properties.pitchDeg.description, /-45 oblique/);
assert.match(camera.parameters.properties.pitchDeg.description, /^Absolute;/);
delete camera.parameters.properties.pitchDeg;
assert.equal(camera.parameters.properties.mode.description, 'once = bounded eased nudge; continuous = until stop/manual input. rotate_globe defaults continuous; other motions default once.');
camera.parameters.properties.mode.description = 'once = bounded eased nudge (default); continuous = until stop/manual input.';
+1 -1
View File
@@ -58,7 +58,7 @@ test('the complete Realtime tool payload pins the manifest-generated layer relea
// control_cockpit states the own-layer entry rule (Contacts not required).
// move_camera tilt takes an optional pitchDeg angle, described as
// absolute, with steps sent as a direction.
'8698aee3cf691351f5c5a68e115a5913ec0f048067ecdf34b252a31afeeec737',
'17e54c1a04054edf48f2eddcf88c60ac66ec7c885fb48596b778bfee0be8a544',
);
});
+4 -3
View File
@@ -350,9 +350,10 @@ test('deixis prompt lint: one short rule, and every sentinel it names exists in
// the analyst area scopes) raised the ceiling to 55,500; tightening the
// AREAS rule and the area tool descriptions left it at 55,103 as measured
// below (every tool, osm_query included); main's Sea Marks and Ski Pistes
// layers bring it to 55,210, and the tilt pitchDeg argument to 55,335.
// integrationContract's Overpass prompt is the tightest, at 55,495 (5
// under). A new tool or rule has to fit under this ceiling.
// layers bring it to 55,210, and the tilt pitchDeg argument with main's
// cockpit entry rule to 55,337. integrationContract's Overpass prompt is
// the tightest, at 55,497 (3 under). A new tool or rule has to fit under
// this ceiling.
const size = instructions.length + JSON.stringify(GEV_REALTIME_TOOLS).length;
assert.ok(size <= 55_500, `prompt size ${size}`);
});