fix(frontend): improve responsive transcripts and simplify theme styles
This commit is contained in:
@@ -57,7 +57,8 @@ audio. It is not an unconditional byte-for-byte tunnel.
|
||||
| [client.ts](../../vocero-frontend/src/realtime/client.ts) | Realtime protocol, session lifecycle, audio and transcript events |
|
||||
| [components](../../vocero-frontend/src/components) | Chat, caller profile, settings and voice components |
|
||||
| [audio](../../vocero-frontend/src/audio) | TypeScript capture/playback worklets, PCM codec, and visualizer |
|
||||
| [legacy-theme.css](../../vocero-frontend/src/styles/legacy-theme.css) | Retained themes and responsive visual styles alongside Tailwind |
|
||||
| [legacy-theme.css](../../vocero-frontend/src/styles/legacy-theme.css) | Theme tokens, voice artwork and component appearance |
|
||||
| [layout.css](../../vocero-frontend/src/styles/layout.css) | Shared responsive layout, transcript sizing and reduced-motion behavior |
|
||||
|
||||
## Server routes
|
||||
|
||||
@@ -95,6 +96,12 @@ describe service-owned structure and retain loose upstream values. See
|
||||
4. Assistant PCM16 audio at the current 16 kHz protocol rate is decoded and sent to
|
||||
[audio-playback.worklet.ts](../../vocero-frontend/src/audio/audio-playback.worklet.ts), which buffers,
|
||||
resamples and fades playback edges. Input speech can clear playback for barge-in.
|
||||
The client flushes short final chunks on response completion and remains in
|
||||
the speaking state until the worklet reports that playback has drained.
|
||||
Sequence numbers reject drain notifications from superseded playback.
|
||||
|
||||
Microphone meter subscribers are separate from application-state subscribers,
|
||||
so level updates do not rerender the main React tree.
|
||||
|
||||
Audio worklets are loaded through `AudioWorklet.addModule`; keep their processor
|
||||
registration structure intact when editing them. The speech backend's thread
|
||||
@@ -105,6 +112,8 @@ and cancellation model is documented in [realtime API](../speech/realtime-api.md
|
||||
The browser triggers external reasoning on completed user transcripts only in
|
||||
`OPENAI` mode. A non-empty answer replaces the native response through the
|
||||
external-answer path. These HTTP operations supplement the realtime audio path.
|
||||
New user speech and session teardown cancel pending reasoning. Turn identity
|
||||
checks reject stale HTTP results and speech callbacks even if cancellation is late.
|
||||
|
||||
Read [reasoning](reasoning.md), [context injection](context-injection.md), and
|
||||
[tool calling](tool-calling.md) for the conditions and limitations of each path.
|
||||
|
||||
Reference in New Issue
Block a user