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: { properties: {
direction: { direction: {
description: 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, $position: 2,
}, },
mode: { mode: {
@@ -532,8 +532,7 @@ export const ACTION_DESCRIPTIONS = {
$position: 2, $position: 2,
}, },
pitchDeg: { pitchDeg: {
description: description: 'Absolute; -89 top-down.',
'Absolute; steps use direction. -45 oblique (default), -89 top-down.',
$position: 1, $position: 1,
}, },
}, },
+3 -3
View File
@@ -232,14 +232,14 @@ test('no unchanged Realtime tool definition drifts silently', () => {
camera.description, 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.', '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. // direction; check them, then restore the legacy fields for the pin.
assert.equal( assert.equal(
camera.parameters.properties.direction.description, 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.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; 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.'); 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.'; 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). // control_cockpit states the own-layer entry rule (Contacts not required).
// move_camera tilt takes an optional pitchDeg angle, described as // move_camera tilt takes an optional pitchDeg angle, described as
// absolute, with steps sent as a direction. // 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 // 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 // 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 // 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. // layers bring it to 55,210, and the tilt pitchDeg argument with main's
// integrationContract's Overpass prompt is the tightest, at 55,495 (5 // cockpit entry rule to 55,337. integrationContract's Overpass prompt is
// under). A new tool or rule has to fit under this ceiling. // 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; const size = instructions.length + JSON.stringify(GEV_REALTIME_TOOLS).length;
assert.ok(size <= 55_500, `prompt size ${size}`); assert.ok(size <= 55_500, `prompt size ${size}`);
}); });