From dbeaf5480151ecae0c4b6f745b9d1bc7b213b80f Mon Sep 17 00:00:00 2001 From: fds2610-bot Date: Thu, 1 Oct 2026 13:34:14 +0200 Subject: [PATCH] Voice-Bot: Zustand transcribing haelt den Bildschirm aktiv Waehrend der Transkription keine idle-Aktivitaeten (Kaffee, Zeitung). Co-Authored-By: Claude Sonnet 5.5 --- API.md | 4 ++++ html/js/office-scene.js | 3 +++ tests/frontend/office-scene.test.js | 1 + 3 files changed, 8 insertions(+) diff --git a/API.md b/API.md index 88f6b88..459e38f 100644 --- a/API.md +++ b/API.md @@ -173,6 +173,10 @@ fallen dort auf "idle am Schreibtisch" zurueck. Gebraeuchlich sind `idle`, `work Lauf-/Interaktionszustaende der Zustandsmaschine (`walking_to_board`, `interacting_with_board`, `walking_to_monitor`, `interacting_with_monitor`, `walking_back`). +`transcribing` meldet der Voice-Bot, sobald er eine neue Sprachnachricht empfangen hat; der +Bildschirm an seinem Schreibtisch ist aktiv und es laufen keine idle-Aktivitaeten (Kaffee, +Zeitung). Nach der Transkription meldet er wieder `idle`. + #### Problemzustaende: abgelaufene Claude-Anmeldung Zwei Zustaende sind Sonderfaelle, weil sie ein menschliches Eingreifen erfordern: diff --git a/html/js/office-scene.js b/html/js/office-scene.js index 2d246a5..087b82b 100644 --- a/html/js/office-scene.js +++ b/html/js/office-scene.js @@ -544,6 +544,9 @@ const AGENT_STATE_VISUALS = { walking_to_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "walking" }, interacting_with_monitor: { location: AGENT_LOCATIONS.MONITOR_EVENTS, pose: "interacting" }, walking_back: { location: AGENT_LOCATIONS.DESK, pose: "walking" }, + // Voice-Bot hat eine Sprachnachricht empfangen und transkribiert sie: Bildschirm aktiv, + // keine idle-Kosmetik (Kaffee/Zeitung), die laeuft nur im Zustand "idle". + transcribing: { location: AGENT_LOCATIONS.DESK, pose: "working" }, reading_newspaper: { location: AGENT_LOCATIONS.DESK, pose: "reading_newspaper" }, at_coffee_corner: { location: AGENT_LOCATIONS.COFFEE_CORNER, pose: "coffee" }, talking_to_colleague: { location: AGENT_LOCATIONS.DESK, pose: "talking" }, diff --git a/tests/frontend/office-scene.test.js b/tests/frontend/office-scene.test.js index 279768d..c985636 100644 --- a/tests/frontend/office-scene.test.js +++ b/tests/frontend/office-scene.test.js @@ -484,6 +484,7 @@ test("resolveAgentVisualState bildet bekannte Zustaende auf Ort/Pose ab", () => location: AGENT_LOCATIONS.BOARD, pose: "walking", }); + assert.deepEqual(resolveAgentVisualState("transcribing"), { location: AGENT_LOCATIONS.DESK, pose: "working" }); assert.deepEqual(resolveAgentVisualState("at_coffee_corner"), { location: AGENT_LOCATIONS.COFFEE_CORNER, pose: "coffee",