Persona voice indicator: measure real-speech response and simplify its visual treatment

Aperta
#158 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
macos, swift

Direzione di ricerca

Start with PersonaVoice.swift and PersonaVoiceTests.swift to understand the meter and existing speech-cycle tests; then trace level display and geometry through PersonaOverlay.swift and PersonaVoiceRing.swift. Measure onset and return to quiet from received frames with a named microphone, including immediate and continuous speech, before tuning the shared outline treatment. Done means the timing targets and listed visual, Reduce Motion, accessibility, and lifecycle checks pass, including side-by-side native motion review with the compact pill.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Outcome and evidence

P2, user-reported responsiveness and design concern. The perimeter marks feel unresponsive and visually heavy. The supplied screenshot shows the prominent dotted border. A quiet/listening ring was observed in the installed app, but this audit did not measure live speech latency or establish a microphone fault.

Workbench Preview 2.3.0, build 20260928054038, source 00be555139f87d4557f48fcffc132b8621c251a2, unmodified source, macOS 26.5.1 (25F80), Apple M5, built-in display. Identity verified in the running app using Copy build details on 28 September 2026.

Owner and diagnostic leads

Source links below pin the earlier audited commit 9578d8cf; the relevant paths were checked against installed 00be5551 and the described behaviour is unchanged. Source findings and native observations are distinguished below.

The estimator learning speech as room noise is a hypothesis, not a confirmed cause. Previous synthetic speaker-playback evidence does not prove actual desk voice, headphones or receiver behaviour.

Decision

Use a subtle continuous outline as the default voice treatment. At rest it is quiet and static; speech changes its brightness and gently changes thickness. Remove the constantly dominant perimeter dots/travelling waves from the default. Keep the artwork legible, preserve contrast, and use the same stable treatment under Reduce Motion. Do not add another style picker for this correction.

Shared with the compact pill: Ethan's follow-up makes visual consistency a requirement. Follow the shared voice appearance decision: one palette and presentation response, fine rounded strokes, fixed geometry under Reduce Motion, and a side-by-side native motion review. The Profile retains its continuous outline; the pill uses a short rounded trace. Use the shared Workbench voice accent instead of choosing the outline hue from the artwork; the artwork itself is unchanged. No new style setting. The toolbar and Persona owners share the implementation.

The engineering targets are visible onset within 150 ms of the first received speech frame and return to the quiet treatment within 500 ms of the last received speech frame, on the named built-in microphone. Measure from received input frames so OS/input latency is reported separately. These are acceptance targets, not current measured results. The implementing agent owns signal/visual tuning and records any justified hardware exception; Ethan does not need to choose a number.

Bounded request and acceptance

  • Measure onset, sustained response and return to quiet with a named microphone: normal/soft voice, immediate speech after enabling, 10+ seconds continuous speech, silence and background noise.

  • Meet and report the 150 ms onset / 500 ms return-to-quiet targets across immediate, soft and continuous speech. Correlate received input frames and visible state; a screenshot alone cannot prove latency.

  • Correct demonstrated signal problems; use the decided continuous outline with visibly distinct quiet, normal and loud states that support the artwork.

  • Test small/large rectangular and round cards against light/dark backgrounds; no clipped or constantly dominant border.

  • Reduce Motion uses a stable non-travelling cue, with contrast and accessible status preserved.

  • Hide/off/End/Quit release metering promptly; independent Dictate/narration/meeting audio remains unaffected and no recording is created by this indicator.

  • Record input loss/change and headphones where available. Actual meeting-receiver acceptance remains separate.

  • Pass the shared voice appearance acceptance linked above with the compact pill and Profile visible together in motion; static screenshots or unit passes alone do not close this requirement.

Related: #112 and the existing Persona voice implementation. Share one integration owner for overlapping PersonaOverlay changes.

Lingua principale
Swift
Stelle
0
Fork
1
Merge medio
14h 21m
PR unite (30g)
208

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Ship-Work/workbench

Tutte le issue di Ship-Work/workbench

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.