Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Persona: add a quick Circle / Card / Original appearance choice

Aperta
#169 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
swift
Ambito
desktop

Direzione di ricerca

Start with PersonaCardRenderer.swift for the style model and fixed output geometry, then read PersonaLibraryView.swift at the editor and finished-artwork branches. Trace how Persona appearance is stored and how a selected live copy receives Options before implementing the shared Circle / Card / Original choice. Done means the acceptance criteria pass, including framing, independent copies, accessibility, the Persona contract, and signed installed acceptance.

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

Descrizione

Outcome and priority

P2 usability enhancement, explicitly requested by Ethan. A person should be able to turn a profile overlay into a circle without preparing a different image elsewhere. This is an Option of Persona within #134's shared framework.

Evidence

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.

Native inspection: the Persona workspace exposes Size, Position and Edit visible label and colour. The editor contains only a label and background colour, plus Cancel/Save. The shown artwork remains a rectangular portrait card. No shape choice was found in these controls. Source confirms the renderer has one fixed card shape; this is a missing requested interaction, not a failed existing toggle.

Starting points: style model and renderer, fixed output geometry, existing editor, finished-artwork branch.

Chosen behaviour

  • Offer three visual choices: Circle / Card / Original. Card is the existing labelled portrait treatment. Original displays the retained source image unchanged, including transparency and any baked text.
  • New editable profile portraits default to Circle. Use centred framing for imports and curated framing for bundled portraits. Finished-artwork imports default to Original. Existing saved personas retain their current appearance on upgrade.
  • Circle uses the original portrait, hides generated label/background, and retains those values so Card restores them. Provide a preview, drag/zoom framing and Reset framing. Preserve original image bytes.
  • Put the same choice in the Persona workspace and selected live copy's existing Options. From an open Persona Options surface it is one selection, with the current choice visible; do not add a new top-level capability, nested preference tree or separate style system.
  • Library appearance edits set the default for future use. A live shape change affects only the identified shown copy. Freeze the original portrait and appearance ingredients needed for that copy; do not crop a flattened labelled card or reread later library edits silently.
  • Retain displayed artwork width and centre when changing shape, clamping only as needed to remain visible. #157 handles and #158 voice outline follow that same artwork geometry. Preserve lock, voice state, other copies and independent Present scenes. Saving a prepared layout remains explicit.

Acceptance

  • Add a new portrait, see Circle preview before committing, and switch Circle → Card → Original → Circle without losing source, framing or saved label/colour.
  • Existing rectangular and transparent artwork looks unchanged after upgrade.
  • Switch a shown copy's shape directly, including while voice response is on and body clicks pass through. Width/centre and independent copies are preserved.
  • Keyboard users can reach the options and the selected state is announced; no hover-only path.
  • Test tall/wide/small portraits and transparent finished artwork. Ring and manipulation geometry agree with the final visible shape.
  • Register the controls under the existing Grammar, update the Persona contract, and record signed installed acceptance. Source/render checks alone do not close this request.

Coordination

Second-pass request under #164. Share one Persona implementation owner with #157/#158 and the selected-versus-shown request. No app code was changed by this audit. Raw desktop evidence remains private.

Lingua principale
Swift
Stelle
0
Fork
1
Merge medio
12h 29m
PR unite (30g)
201

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.