Remove the Operator HUD layout

Display > HUD > Layout and the set_hud voice action now offer Tactical,
Minimal and Cyber. The Operator option, its CSS and its QA coverage are
removed, and the unused "Operator" translations are pruned.

Share-link codes are append-only, so operator keeps its hudVariant code.
A link, scene or saved state that names it restores the default Tactical
layout. The voice schema pins keep their legacy digests by restoring the
retired value before comparing; the full-payload digest is re-derived.
This commit is contained in:
Said Turksever committed 2026-10-29 10:41:58 +00:00
1 parent aaa3ff46cf
commit 8b2c699370
26 files changed
+78 -147

No files matched your search

+5 -3
View File
@@ -45,7 +45,8 @@ test('the complete Realtime tool payload pins the manifest-generated layer relea
// S2 GhostMaps extends the generated layer enums.
// Panel adds named voice targets and timeout; shared Panel/Cockpit guidance
// is consolidated without changing either feature's arguments.
'9ee82c4214499280c208c93751b19d7b724c81b7727a2d0c6dab0184749fbe15',
// The Operator HUD layout leaves set_hud's layout enum.
'8c3c26336e4820b4b0828ab2bedf70050eca91ea3b0517a62cd8b69ea4fefc92',
);
});
@@ -166,9 +167,10 @@ test('all legacy action arguments are byte-identical after removing the delibera
delete center.properties[axis].minimum;
delete center.properties[axis].maximum;
}
// Cyber adds one HUD layout.
// Cyber adds one HUD layout and Operator was retired.
const hud = property('set_hud').layout;
hud.enum = hud.enum.filter((layout) => layout !== 'cyber');
assert.deepEqual(hud.enum, ['tactical', 'minimal', 'cyber']);
hud.enum = ['tactical', 'operator', 'minimal'];
// Derived by applying the same removals to the 4b56d0e9 actionSchemas.
assert.equal(
createHash('sha256').update(JSON.stringify(legacy)).digest('hex'),