How draco437/mirage works
MIRAGE is a prototype adaptive social-skills platform: a therapist manages children and sessions, a Unity VR client streams session signals, and backend analysis can adapt the scene while reporting live results. The principal path runs from session telemetry through feature extraction, engagement inference and adaptation rules to Unity; therapists can also review analytics and override settings. The React entry point shown is still the Create React App placeholder, so it does not substantiate a dashboard UI. Some backend links are supported by the source index or module documentation rather than complete excerpts.
Main entry points: tasks.py Analysis Tasks · consumers.py Session Consumers · views.py REST API · routing.py WebSocket Routes
Components 18
Therapist API
- REST API
backend/core/views.py - Request Validation
backend/core/serializers.py - Web App Placeholder
frontend/src/App.js
Session Runtime
- WebSocket Auth
backend/core/auth.py - WebSocket Routes
backend/core/routing.py - Session Consumers
backend/core/consumers.py
Adaptive Analysis
- Analysis Tasks
backend/ml_engine/tasks.py - Feature Extraction
backend/ml_engine/features.py - Emotion Model
backend/ml_engine/emotion_model.py - Engagement Model
backend/ml_engine/engagement_model.py - Adaptation Rules
backend/ml_engine/adaptation_rules.py - Signal Fusion
backend/ml_engine/fusion.py - Signal Definitions
backend/ml_engine/signals.py
Session Data
- MongoDB
backend/db.py
Model Training
- Synthetic Data
backend/ml_training/generate_synthetic.py - Engagement Training
backend/ml_training/train_engagement_rf.py
Other components
- Therapist
- Unity VR Client
Connections 22
- Therapist → REST API: manages sessions
backend/core/views.py - REST API → Request Validation: validates requests
backend/core/views.py - REST API → MongoDB: reads and writes
backend/core/views.py - Unity VR Client → WebSocket Routes: opens session socket
backend/core/routing.py - WebSocket Routes → Session Consumers: routes packets
backend/core/routing.py - Session Consumers → WebSocket Auth: checks connection auth
- Session Consumers → Request Validation: validates packets
backend/core/consumers.py - Session Consumers → MongoDB: stores session events
backend/core/consumers.py - Session Consumers → Analysis Tasks: triggers analysis
backend/ml_engine/tasks.py - Analysis Tasks → MongoDB: reads and writes readings
backend/ml_engine/tasks.py - Analysis Tasks → Emotion Model: predicts emotion
backend/ml_engine/tasks.py - Analysis Tasks → Feature Extraction: builds window features
backend/ml_engine/tasks.py - Analysis Tasks → Engagement Model: predicts engagement
backend/ml_engine/tasks.py - Analysis Tasks → Adaptation Rules: decides scene changes
backend/ml_engine/tasks.py - Analysis Tasks → Unity VR Client: pushes scene settings
backend/ml_engine/tasks.py - Analysis Tasks → Therapist: pushes live updates
backend/ml_engine/tasks.py - REST API → Therapist: returns analytics
backend/core/views.py - Therapist → WebSocket Routes: opens dashboard socket
backend/core/routing.py - Signal Fusion → Signal Definitions: uses signals
backend/ml_engine/fusion.py - Synthetic Data → Feature Extraction: uses feature schema
backend/ml_training/generate_synthetic.py - Engagement Training → Synthetic Data: uses generated data
backend/ml_training/train_engagement_rf.py - Engagement Training → Feature Extraction: uses feature schema
backend/ml_training/train_engagement_rf.py