refactor(present): verklein _FullscreenPresenterState via QuestionRoundBuilder #894
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!894
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/adoring-leakey-ee29df"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat
Verkleint
_FullscreenPresenterStatedoor de vraagronde-trekking eruit te halennaar een losse service
QuestionRoundBuilder, en verlaagt het klasse-plafondweer — de opvolging van de tijdelijke oprekking naar 3465 in
aa25ce2e.Waarom
aa25ce2etrok het plafond bewust en gelabeld op naar 3465 om main tedeblokkeren na #865 (online media) en #872 (mermaid-scroll), met de opdracht
"de klasse hoort echt verkleind te worden — zie de aparte presenter-refactortaak".
Dit ís die taak.
Het trekken van een vraagronde — welke antwoorden meedoen en in welke volgorde,
per vraagsoort — is pure rekenkunde over het model (
QuestionSpec→QuestionView):geen widget, geen
setState, geen vensterkanaal. Dat hoort niet in een3400-regel-
State. Het staat nu inlib/services/question_round_builder.dart,op zichzelf te toetsen. De presenter roept alleen nog
draw()aan en houdt detimer, het oefenlogboek en de vensters bij.
Effect
classSizeBaselinenavenant verlaagd — eenechte verkleining, niet een opgerekt plafond.
onhaalbare-/timer-invarianten); dat kon niet zolang ze in een
Statezat.Poort
make checkgroen (lokaal; Forgejo heeft geen CI-runner, dus dit is de poort).make check-secrets(gitleaks + trufflehog, werkboom + volledige historie):schoon — 0 secrets.
make sast(semgrep, lokale regels): schoon — 0 findings (3 regels op 779bestanden).
Bewaker
Bewust overgeslagen, expliciet: dit is interne herstructurering — geen
formaat/opslag/verkeer/afhankelijkheid, geen nieuwe publieke belofte. De
verplaatste logica is byte-voor-byte hetzelfde gedrag, alleen op een andere plek.
Noot
Aanvankelijk droeg deze tak ook een
fix(notices)voor dartcv4 inTHIRD_PARTY_NOTICES.md(na de #870/#873-migratie ontbrak die rij, waardoorthird_party_notices_testrood stond). #892 heeft dat inmiddels apart op maingerepareerd, dus die commit is hier vervallen.
🤖 Generated with Claude Code
1c1b1ab11ea4f594f7ad