Say the -45° tilt default in the pitchDeg description again

The trim that fitted the tilt wording under the Realtime prompt ceiling dropped the -45° default from pitchDeg, so the model no longer read why a bare tilt goes oblique. pitchDeg reads 'Absolute; -45 default, -89 top-down.' again, and the direction description becomes 'Pan/rotate/tilt steps; orbit/rotate_globe default right.' to pay for it: the Overpass prompt measures 55,499, 1 under the 55,500 ceiling. The schema pin and the measured-size note follow.
This commit is contained in:
Sameh Khamis committed 2026-11-05 16:14:27 -08:00
1 parent 6479167b50
commit 198c2faf4f
4 files changed
+13 -11

No files matched your search

+2 -2
View File
@@ -523,7 +523,7 @@ export const ACTION_DESCRIPTIONS = {
properties: {
direction: {
description:
'Needed for pan/rotate/tilt steps; orbit/rotate_globe default right.',
'Pan/rotate/tilt steps; orbit/rotate_globe default right.',
$position: 2,
},
mode: {
@@ -532,7 +532,7 @@ export const ACTION_DESCRIPTIONS = {
$position: 2,
},
pitchDeg: {
description: 'Absolute; -89 top-down.',
description: 'Absolute; -45 default, -89 top-down.',
$position: 1,
},
},
+5 -3
View File
@@ -232,14 +232,16 @@ 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 an absolute pitchDeg and says tilt steps need a
// direction; check them, then restore the legacy fields for the pin.
// Tilt to an angle adds an absolute pitchDeg with its -45° default, and
// names tilt steps among the direction's uses; check them, then restore
// the legacy fields for the pin.
assert.equal(
camera.parameters.properties.direction.description,
'Needed for pan/rotate/tilt steps; orbit/rotate_globe default right.',
'Pan/rotate/tilt steps; orbit/rotate_globe default right.',
);
assert.equal(camera.parameters.properties.pitchDeg.type, 'number');
assert.match(camera.parameters.properties.pitchDeg.description, /^Absolute;/);
assert.match(camera.parameters.properties.pitchDeg.description, /-45 default/);
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.';
+2 -2
View File
@@ -57,8 +57,8 @@ test('the complete Realtime tool payload pins the manifest-generated layer relea
// tightened area tool wording follow review.
// 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.
'17e54c1a04054edf48f2eddcf88c60ac66ec7c885fb48596b778bfee0be8a544',
// absolute with its -45 default, with steps sent as a direction.
'6a0d154e68beb787c4e20f12d29a5c86577dc343f3e71d8b5651998ea45d8c3c',
);
});
+4 -4
View File
@@ -350,10 +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 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.
// layers bring it to 55,210, and the tilt pitchDeg argument (with its -45
// default) and main's cockpit entry rule to 55,339. integrationContract's
// Overpass prompt is the tightest, at 55,499 (1 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}`);
});