feat: add Mascot component with state-driven SVG rendering

Implement the <Mascot> component that renders Nori in four emotional
states (idle, sleeping, excited, lonely) with distinct SVG geometry,
color palettes, and facial expressions. Includes useMascotAnimation
hook stub for Task 2 and full test coverage (15 tests).
This commit is contained in:
Jannis Braun
2026-03-22 23:15:46 +01:00
parent 623928812d
commit 7d5b9c1eee
3 changed files with 391 additions and 0 deletions
@@ -0,0 +1,14 @@
import type { RefObject } from 'react';
import type { MascotState } from '../components/ui/Mascot';
/**
* Drives Mascot SVG animations (idle bob, sleeping breathe, etc.).
* Stub — real implementation comes in Task 2.
*/
export function useMascotAnimation(
_svgRef: RefObject<SVGSVGElement | null>,
_containerRef: RefObject<HTMLDivElement | null>,
_state: MascotState,
): void {
// Task 2 implements animation logic
}