Persona: distinguish the selected saved card from the shown overlay and offer direct replacement
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read the selected preview and live controls in Sources/StageKit/PersonaLibraryView.swift, then trace the shown-card state and group-change behavior in Sources/StageKit/Persona.swift. Map the existing selection, overlay, and prepared-arrangement flows before changing them; the issue names no test command, so identify the relevant tests or native retest path. Done means the selected and shown targets are explicit, replacement and update are deliberate, and browsing, hide/show, and prepared copies preserve the stated behavior.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Outcome and priority
P2 usability defect. Browsing a saved card and adjusting the live overlay need clearly identified targets, with an explicit way to replace or refresh the shown card.
Evidence and reproduction
Preview 2.3.0, build 20260928054038, clean source 00be555139f87d4557f48fcffc132b8621c251a2; macOS 26.5.1 (25F80), built-in display. Verified through Copy build details in the running app and bundle metadata.
- In Persona, show saved card A.
- Return to the workspace and select saved card B.
- B's image/name now occupy the preview. Size, Lock and Position remain directly below B, while the primary action is only Hide floating persona.
- Increment Size: the shared floating size changes from about 12% to 15%. There is no target label distinguishing A from B and no direct replacement action.
- Cancel editing B, restore Size and reselect A.
Native evidence establishes the misleading arrangement and missing direct action. Source establishes that those controls affect the frozen shown A. Browsing preserving A is intentional; the fix should retain that safety. Cancelling an edit of an existing card worked and is not the new-creation Cancel defect.
Starting points: selected preview and live controls, only Show/Hide action, frozen shown image, group change hides single overlay.
Additional source-confirmed states, not separately reproduced: saving a new library style leaves the shown snapshot unchanged without an Update shown action; changing preparation group hides the single overlay; Hide currently destroys the single-card snapshot.
Chosen behaviour
- Use existing library selection and live state to label Selected: B and Shown: A. Live size/lock/position controls belong beside the shown identity. Do not add another competing selection owner.
- Offer Replace shown with B when identities differ and Update shown card when that card has a newer saved appearance. Preserve live placement and lock; target only the identified copy.
- Browsing saved items or preparation groups does not replace or hide a shown card.
- With no live session, offer Show selected. Once shown, Hide retains that session's chosen card; Show again restores it even if preparation selection changed. Explicit Replace changes it. Label a retained hidden card as Hidden: A; replacing it with B while hidden keeps it hidden until Show again. Hidden cards do not keep microphone measurement running. Quit still releases live state.
- Frozen prepared copies and Present scenes stay independent. An intentional library save does not silently update their pixels.
- Accessible control names identify the target. Private preparation names must not leak into audience-facing overlay labels.
Acceptance
- Show A, browse B, and adjust shown Size/Lock/Position; the UI accurately identifies A throughout.
- Replace with B in one explicit action, preserving width/position/lock. Cancelled preparation leaves A unchanged.
- Edit saved A; the current copy remains frozen until Update shown, which updates only that copy.
- Browse another preparation group; the shown card remains. Hide/Show again retains it. While hidden, Replace with B stays hidden and Show again displays B; microphone measurement stays stopped until a voice-enabled copy is visible. Quit removes it.
- Cover existing reconciliation as well as prepareGroup: neither may silently hide because preparation changed.
- Repeat for selected copies in a prepared arrangement, preserving independent images and explicit layout saves.
- Native retest both workspace and shared Options, with keyboard targeting.
Coordination
New focused request under #164/#134. The existing #134 Home Hide/Resume label comment and #157 direct movement remain their own scopes. Coordinate this request with shape appearance and one-card loading; do not expand it into library synchronisation.
- Lingua principale
- Swift
- Stelle
- 0
- Fork
- 1
- Merge medio
- 8h 5m
- PR unite (30g)
- 215
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Ship-Work/workbench
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 74/100
Ship-Work/workbench#29 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Ship-Work/workbench
Issue simili
-
area:ui enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
s3onghyun/bulchimbeon#22 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] File transcription skips audio chunks shorter than one secondForse già presa @sabbah13 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
altic-dev/FluidVoice#1161 ·
I maintainer di solito rispondono entro 1 giorno
-
swift.md: `Date(myString, strategy: .iso8601)` example omits `try` — the initializer is throwingAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100