freezmo/components/activities
Martin Dvorak 396da6528a Flashcard flip: paint one face explicitly, never rely on backface-visibility
On a GPU-composited desktop the flipped card showed the question mirrored
over the answer. Both faces are glass layers with backdrop-filter, and on
some compositing paths the front's backface keeps rendering, so the
pre-rotated back face and the mirrored front face both painted.

- The faces are now painted by an explicit visibility swap driven by the
  animation's own rotation (onUpdate): the swap lands at the 90° edge-on
  moment, where it cannot be seen, so exactly one face is ever in the
  render tree — independent of backface-visibility and of the browser's
  3D flattening rules. onAnimationComplete lands the swap for instant
  flips (reduced motion now skips the spring, matching the app's motion
  rules).
- PromptCard takes an optional style so the face can carry the visibility.
- phase-2 suite: the painted-face invariant at rest, flipped and flipped
  back, plus the answer reading inside the card (56 checks).
- README: decision 53. SW -> freezmo-v39.
2026-10-12 07:34:38 +00:00
..
FillBlank.tsx Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
Flashcard.tsx Flashcard flip: paint one face explicitly, never rely on backface-visibility 2026-10-12 07:34:38 +00:00
index.tsx Phase 2: learning engine — history, SRS review, mistakes, stats, exam, reminders 2026-10-10 14:15:21 +00:00
Matching.tsx Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
MultipleChoice.tsx Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
Ordering.tsx Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
shared.tsx Flashcard flip: paint one face explicitly, never rely on backface-visibility 2026-10-12 07:34:38 +00:00
ShortAnswer.tsx AI disclaimer: one shared component, shown where model output appears 2026-10-11 22:51:16 +00:00
TrueFalse.tsx Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00