Background
Before committing to the full animation implementation, we need a spike to settle three open design questions and inform a few engineering questions:
- randomness model (fully random vs. constrained spread),
- color treatment (flat red, two-tone, white outline), including randomness model
- burst timing (current 0/150/300ms vs. tighter or single burst).
These can only be resolved by evaluating an in-progress animation (possibly on a real device). These decisions affect whether the animation stays surprising on repeat taps – central to the re-engagement loop hypothesis.
Output is a self-contained HTML prototype – no MediaWiki dependencies, no build step – shared for design review. Closeness, but not production code.
Goal
Documented decisions on all questions we can implement directly, with design sign-off.
https://codepen.io/editor/Volker_E/pen/019e042b-0322-7e8b-9f82-8c5608b280c0
Requirements
- HTML file (or CodePen), very limited external dependencies. Animation via requestAnimationFrame matching the production approach.
- Configurations switchable.
- Re-tap during animation fades current hearts out over 150ms and restarts immediately.
- Check frame rate on a mid-range Android during burst peak.
Acceptance Criteria for Done
- Prototype shared and reviewable on mobile without a build step.
- Randomness, color, and burst timing changeable.
- Tested on iOS Safari and Android Chrome.
- Frame rate checked on mid-range Android; anything below 50fps ruled out.
- Design sign-off.
- Task comment with one decision per variable and rationale before closing.
- Implementation updated with any scope changes before this task closes.