Skip to content

feat(mobile): egg hatching animation at the center of the companion timer - #367

Merged
DamienBattistella merged 1 commit into
mainfrom
claude/android-timer-hatching-animation-glspha
Aug 7, 2026
Merged

feat(mobile): egg hatching animation at the center of the companion timer#367
DamienBattistella merged 1 commit into
mainfrom
claude/android-timer-hatching-animation-glspha

Conversation

@DamienBattistella

Copy link
Copy Markdown
Collaborator

Résumé

Sur l'app Android, le minuteur en mode compagnon affiche désormais un œuf animé au centre du cadran dont l'éclosion progresse avec le compte à rebours (piste « fissures par étapes », choisie parmi les propositions visuelles) :

  • Fissures par paliers fixes : une fissure apparaît en fondu quand il reste ¾, ½ puis ¼ du temps — des étapes discrètes et prévisibles, pour qu'un enfant TDAH puisse « lire » le temps restant sur la coquille sans mouvement continu.
  • Frémissement final : dans les 10 dernières secondes (ALMOST_DONE_SEC), l'œuf tremble doucement (rotation ±4°).
  • Éclosion : à la fin du minuteur, la coquille s'ouvre (bas de coquille ébréché) et le compagnon tiré par pickCritter() surgit de l'œuf avec un petit ressort. L'encart existant (nom + lien collection) est conservé sous le cadran.

Détails

  • Nouveau composant apps/mobile/src/components/hatching-egg.tsx : SVG (react-native-svg) + API Animated de React Native (pas de nouvelle dépendance), piloté par la valeur progress existante du TimerScreen.
  • L'œuf n'apparaît qu'en mode minuteur libre quand le compagnon est activé et qu'un enfant est actif (!seq && companionEnabled && childId) ; le mode séquence est inchangé.
  • Le temps passe de 56 → 42 px quand l'œuf est affiché pour rester dans le cadran.
  • Respecte le réglage système « réduire les animations » (fissures instantanées, pas de tremblement).
  • Réinitialisation propre : reset / changement de durée referment l'œuf (les fissures se réinitialisent).

Tests

  • pnpm typecheck (apps/mobile) ✅
  • Non couvert par des tests automatisés (pas de suite de tests mobile) — à vérifier visuellement sur device/émulateur.

Propositions visuelles

Les 4 pistes explorées (A retenue) : https://claude.ai/code/artifact/23d512a5-013b-4795-98c2-e9c012517ca2

🤖 Generated with Claude Code

https://claude.ai/code/session_01Aij7J5x1WzcLSKXddwzeyj


Generated by Claude Code

…imer

The free timer's companion mode now shows an egg at the dial's center that
hatches progressively with the countdown: cracks appear at fixed milestones
(3/4, 1/2, 1/4 of the time left), the egg trembles gently during the final
seconds, then opens to reveal the hatched critter. Milestones are discrete on
purpose so a child with ADHD can read the remaining time on the shell without
continuous motion. Honors the system reduce-motion setting.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Aij7J5x1WzcLSKXddwzeyj
@DamienBattistella
DamienBattistella marked this pull request as ready for review August 7, 2026 06:28
@DamienBattistella
DamienBattistella merged commit 2f954e6 into main Aug 7, 2026
3 checks passed
@DamienBattistella
DamienBattistella deleted the claude/android-timer-hatching-animation-glspha branch August 7, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants