Pause stoppt die Animationen nicht: Kreide-Wackeln, Schal und Partikel-Zeit laufen weiter #7
Labels
No labels
accessibility
bug
cleanup
consistency
crash
critical
game-feel
gameplay
high
input
level-generation
low
maintainability
medium
pause
physics
responsive
security
spec-gap
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gilli/pulse-sprint#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Komponente: GAME (
update)Betroffene Version:
main@238ed66,index.htmlZeilen 2589–2604Beschreibung
AGENTS.md verlangt für die Pause:
Physik, Partikel und Simulationsschritte stehen korrekt still, die Animation nicht:
S.visualTimeundS.tickwerden vor der State-Prüfung hochgezählt und damit auch impauseierten Zustand weitergeführt.
render()läuft ohnehin weiter und verwendet genau dieseWerte.
Gemessen (
PAUSED, 500 ms Realzeit zugewartet):Ursache
Betroffene Zeichenorte, die
visualTime/tickverwenden:chalk(..., tick)) – Wackeln aller Linien, inkl. Boden und FigurdrawScarf(Schalwellen hinter der Figur)drawFragment,spin = t * 1.9)Bei
reducedMotion(S.settings.reduced) ist das Wackeln reduziert, Schal/Fragmente laufenaber ebenfalls weiter.
Auswirkung
prefers-reduced-motion: reduceunnötige Dauerbewegung hinter dem Pause-Dialog.Lösungsvorschlag
Animationszeit nur in aktiven Zuständen fortschreiben und den Frühausstieg nach oben ziehen:
Alternativ
visualTimean eine eigene, vom Simulations-State unabhängige Uhr binden und imPause-Zweig einfrieren. Dazu ein Test: nach
pauseGame()darf sichS.visualTimeübermehrere Frames nicht ändern, und zwei aufeinanderfolgende Screenshots im Pausenmenü müssen
pixelidentisch sein.
Dokumentiert in
gitlab-issues/07-pause-stoppt-animation-nicht.md(Commit238ed66). Alle Befunde ausgeführt und gemessen; Repro-Schritte im Text.changed the description
changed the description