Merge branch 'main' into feat/voice-geometry

Picks up the HUD summary locale work (#1488). No conflicts; it changes no
voice prompt or tool description.
This commit is contained in:
Manjunath committed 2026-11-03 17:31:36 +05:30
commit d18fdfa47f
28 files changed
+1251 -136

No files matched your search

+17
View File
@@ -5675,3 +5675,20 @@ test('set_panel_open reaches the Utilities panel by its name, Draw or Import', a
}
assert.deepEqual(calls.at(-1), ['utilities-panel', false, { explicit: true }]);
});
test('a partial analyst card shows one partial chip', () => {
const card = presentResult('analyst_query', {
ok: true,
action: 'analyst_query',
count: 3,
feedState: 'partial',
partial: true,
unanswered: ['vessels'],
summary: '3 contacts',
scopeLabel: 'within 5 km of X',
display: { scope: 'within 5 km of X' },
coverage: {},
});
const labels = card.display.chips.map((chip) => chip.label);
assert.equal(new Set(labels).size, labels.length, JSON.stringify(labels));
});
+4 -1
View File
@@ -429,7 +429,10 @@ function analystCard(result, args = {}) {
...(result.feedState && result.feedState !== 'nominal'
? [{ label: shownFeedState(result.feedState) }]
: []),
...(result.partial ? [{ label: t('partial') }] : []),
// A partial feed state already says it.
...(result.partial && result.feedState !== 'partial'
? [{ label: t('partial') }]
: []),
],
// Coverage qualifications lead the feed detail. The bounded card groups
// overflow in its existing Notes disclosure rather than dropping them.