This dashboard displays automated test results for the Graphlings game. Tests validate UI interactions, creature AI behavior, audio generation, gamepad support, and rendering performance. Data is collected from Playwright end-to-end tests and behavior analytics sessions.
graph LR subgraph TestSuite[Test Pipeline] A[Playwright E2E] --> B[UI Validation] A --> C[AI Behavior] A --> D[Performance] A --> E[Accessibility] A --> F2[Mini-Games] A --> F3[Aliveness] U[Vitest Unit Tests] --> F4[700+ Unit Tests] end subgraph Reports[Reports Dashboard] F[JSON Reports] G[This Page] end B --> F C --> F D --> F E --> F F2 --> F F3 --> F F4 --> F F --> G
graph TB subgraph SpaceSynth[SpaceSynth Engine] A[Mood Selection] --> B[Frequency Generator] B --> C[Bass: Low Drones] B --> D[Melody: Arpeggios] B --> E[Pads: Atmosphere] C --> F[Audio Mixer] D --> F E --> F F --> G[WebAudio Output] end subgraph MoodTypes[Available Moods] H[Peaceful - Calm] I[Mysterious - Eerie] J[Tense - Suspense] K[Exciting - Energy] end H --> A I --> A J --> A K --> A
graph TB subgraph InputLayer[Controller Input] A[Gamepad API] --> B[Button Events] A --> C[Stick Movement] end subgraph Navigation[UI Navigation] B --> D[D-Pad: Menu Nav] B --> E[A Button: Select] B --> F[B Button: Back] C --> G[Left Stick: Cursor] end subgraph GameControls[Gameplay] C --> H[Camera Rotation] B --> I[Action Triggers] end subgraph Verified[Tests Verify] J[All buttons work] K[Focus is visible] L[No stuck states] end D --> J E --> K F --> L
flowchart LR subgraph Core[Core Loop] Idle((Idle)) --> |has goal| Drift[Drifting] Drift --> |arrived| Scan[Scanning] Scan --> |found interest| Think[Thinking] Think --> |new goal| Drift end subgraph Social[Social] Think --> |found friend| Talk[Talking] Talk --> Play[Playing] Play --> |task done| Celebrate[Celebrating] Celebrate --> Idle end subgraph Needs[Needs] Play --> |energy low| Rest[Resting] Rest --> |rested| Sleep[Sleeping] Sleep --> |wake| Idle Think --> |has task| Work[Working] Work --> |complete| Celebrate end subgraph React[Reactions] Idle --> |event detected| Alert[Alert] Alert --> |curious| Drift Alert --> |startled| Fear[Fearful] Fear --> |friend nearby| Comfort[Comforted] Comfort --> Idle end subgraph SubLevel[Sub-Levels] Drift --> |travel_sublevel| Portal[Node Portal] Portal --> MiniGame[Mini-Game] MiniGame --> |rewards| Idle end
graph TB subgraph RenderPipe[Three.js Render Pipeline] A[Scene Graph] --> B[Frustum Culling] B --> C[Draw Call Batching] C --> D[WebGL Render] D --> E[Post Processing] E --> F[Canvas Output] end subgraph Metrics[Performance Metrics] G[FPS: 60 target] H[Memory: No leaks] I[Quality: Auto-tier] end F --> G D --> H G --> I
graph TB subgraph InputLayer[Input Methods] M[Mouse and Touch] K[Keyboard] G[Gamepad] end subgraph UILayer[UI Navigation System] F[Focus Management] N[Navigation Graph] R[Reachability Check] end subgraph Output[Accessibility Validation] V[Visual Tests] I[Input Coverage] A[ARIA and Labels] end M --> F K --> F G --> N F --> R N --> R R --> V R --> I R --> A
Data Source: Accessibility data is loaded from
tests/reports/accessibility-latest.json and
tests/reports/visual-accessibility-latest.json.
Run ./test.sh a11y to update.
graph TB subgraph Observation[5-Minute Observation Window] A[Launch Scene] --> B[Spawn Creatures] B --> C[Observe for 5 min] C --> D[Collect Snapshots] end subgraph Validators[29 Validators] direction LR V1[Goal System] V2[Emotion System] V3[Social System] V4[Animation] V5[Personality] end subgraph GoalChecks[Goal Validators] G1[Goal Diversity] G2[Goal Commitment] G3[Success Reactions] G4[Failure Reactions] G5[Personality Correlation] end subgraph EmotionChecks[Emotion Validators] E1[Emotion Dynamics] E2[Celebration Contagion] E3[Mood Transitions] E4[Day-Night Behavior] end subgraph SocialChecks[Social Validators] S1[Friendship Growth] S2[Conversation Lingering] S3[Social Proximity] S4[Whale Greeting] end subgraph AnimChecks[Animation Validators] AN1[Idle Micro-Behaviors] AN2[Animation Smoothness] AN3[Individual Signatures] AN4[Environmental Gaze] end subgraph Output[Report] R1[128 Checks] R2[Health Score] R3[Alerts] R4[JSON Report] end D --> Validators V1 --> GoalChecks V2 --> EmotionChecks V3 --> SocialChecks V4 --> AnimChecks GoalChecks --> R1 EmotionChecks --> R1 SocialChecks --> R1 AnimChecks --> R1 R1 --> R2 R1 --> R3 R2 --> R4
Evidence — 3 events
Evidence — 10 events
Evidence — 6 events
Evidence — 1 event
Evidence — 5 events
Evidence — 22 events
Evidence — 3 events
Evidence — 8 events
Evidence — 6 events
Evidence — 23 events
Evidence — 19 events
Evidence — 3 events
Evidence — 10 events
Evidence — 2 events
Evidence — 5 events
Evidence — 5 events
Evidence — 5 events
Evidence — 8 events
Evidence — 4 events
Evidence — 5 events
Evidence — 5 events
Evidence — 1 event
Evidence — 6 events
Evidence — 10 events
Evidence — 3 events
Data Source: Aliveness data is loaded from
tests/reports/aliveness-latest.json.
Run ./test.sh aliveness to generate a fresh report (5-minute observation).
graph TB subgraph Entry[Entry Flow] A[Click Node] --> B[Node Modal] B --> C[Enter Sub-Level] C --> D[Sub-Level World] D --> E[Start Mini-Game] end subgraph MiniGameBase[MiniGameBase Framework] F[buildVisuals] --> G[buildHUD] G --> H[onStart] H --> I[onUpdate Loop] I --> J[onComplete] J --> K[calculateRewards] end subgraph Universal[Universal Systems] L[Ambient Particles] M[Companion Graphling] N[Success Burst FX] O[Background Gradient] P[Audio SFX] Q[Focus Ring - Keyboard] end subgraph Games[20 Mini-Games] G1[Meditation] G2[Dream Weaving] G3[Creature Birth] G4[Rhythm Game] G5[Pathfinding] G6[Logic Puzzle] G7[Word Puzzle] G8[Memory Browsing] G9[Resource Gathering] G10[Skill Training] G11[Skill Accelerator] G12[Tool Crafting] G13[Bond Strengthening] G14[Trust Building] G15[Self Reflection] G16[Creature Evolution] G17[World Growing] G18[Collective Action] G19[Behavior Theater] G20[Synesthesia Puzzle] end E --> MiniGameBase Universal --> I MiniGameBase --> Games
Data Source: Mini-game data is loaded from
tests/reports/minigames-latest.json.
Screenshots from tests/reports/screenshots-latest.json.
Run ./test.sh minigames to generate.