cards-native/Sources/Core/Domain
Till JS 8b1dd5158f feat(study): Multiple-Choice-Karten gerendert
CardRenderer für multipleChoice ist nicht mehr Placeholder. Web-
Vorbild: MultipleChoiceView.svelte.

MultipleChoiceCardView (Features/Study/):
- Lädt Distractors vom Server beim card.id-Wechsel
  (CardsAPI.distractors(deckId, cardId, field, count))
- Versucht erst field=answer, fallback field=back (für Decks mit
  basic/basic-reverse-Karten daneben)
- Fallback auf distractor_pool-Feld (newline-separated) wenn
  Deck zu klein
- 4 Optionen shuffled = [answer + 3 Distractors]
- User-Tap markiert Auswahl (kein erneutes Pick möglich)
- Vor Flip: nur Selected-Hint (primary border)
- Nach Flip: richtige = green-check, falsche-gewählte = red-cross,
  unselected richtige bleibt green-highlight
- Fallback "tooFew" (< 1 Distractor): zeigt Antwort nach Flip
  ohne Auswahl

CardsAPI.distractors → DistractorsResponse {distractors: [String]}.

Typing bleibt Placeholder — eigene UI-Pattern (Text-Input + Diff)
brauchen mehr Design-Arbeit, separate Phase.

Build 7 → 8, 35 Tests grün.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:34:07 +02:00
..
Card.swift v0.3.0 — Phase β-2 Study-Loop 2026-05-13 00:16:11 +02:00
CardMutations.swift v0.4.0 — Phase β-3 Editor 2026-05-13 00:24:43 +02:00
Cloze.swift v0.3.0 — Phase β-2 Study-Loop 2026-05-13 00:16:11 +02:00
Deck.swift feat(study): Multiple-Choice-Karten gerendert 2026-05-13 17:34:07 +02:00
DeckMutations.swift v0.4.0 — Phase β-3 Editor 2026-05-13 00:24:43 +02:00
Marketplace.swift fix: PublicDeckOwner.pseudonym ist Bool, nicht String? 2026-05-13 15:46:20 +02:00
Media.swift v0.5.0 — Phase β-4 Media + Advanced Card-Types 2026-05-13 00:35:36 +02:00
Review.swift v0.3.0 — Phase β-2 Study-Loop 2026-05-13 00:16:11 +02:00