feat: Implement RSSI service for iOS and Web platforms

- Added IosRssiService to handle synthetic RSSI data for iOS.
- Created WebRssiService to simulate RSSI scanning on the web.
- Defined shared types for WifiNetwork and RssiService in rssi.service.ts.
- Introduced simulation service to generate synthetic sensing data.
- Implemented WebSocket service for real-time data handling with reconnection logic.
- Established Zustand stores for managing application state related to MAT and pose data.
- Developed theme context and utility functions for consistent styling and formatting.
- Added type definitions for various application entities including API responses and sensing data.
- Created utility functions for color mapping and URL validation.
- Configured TypeScript settings for the mobile application.
This commit is contained in:
ruv
2026-03-02 10:30:33 -05:00
parent 02192b0232
commit fdc7142dfa
131 changed files with 24090 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
export const API_ROOT = '/api/v1';
export const API_POSE_STATUS_PATH = '/api/v1/pose/status';
export const API_POSE_FRAMES_PATH = '/api/v1/pose/frames';
export const API_POSE_ZONES_PATH = '/api/v1/pose/zones';
export const API_POSE_CURRENT_PATH = '/api/v1/pose/current';
export const API_STREAM_STATUS_PATH = '/api/v1/stream/status';
export const API_STREAM_POSE_PATH = '/api/v1/stream/pose';
export const API_MAT_EVENTS_PATH = '/api/v1/mat/events';
export const API_HEALTH_PATH = '/health';
export const API_HEALTH_SYSTEM_PATH = '/health/health';
export const API_HEALTH_READY_PATH = '/health/ready';
export const API_HEALTH_LIVE_PATH = '/health/live';
+20
View File
@@ -0,0 +1,20 @@
export const SIMULATION_TICK_INTERVAL_MS = 500;
export const SIMULATION_GRID_SIZE = 20;
export const RSSI_BASE_DBM = -45;
export const RSSI_AMPLITUDE_DBM = 3;
export const VARIANCE_BASE = 1.5;
export const VARIANCE_AMPLITUDE = 1.0;
export const MOTION_BAND_MIN = 0.05;
export const MOTION_BAND_AMPLITUDE = 0.15;
export const BREATHING_BAND_MIN = 0.03;
export const BREATHING_BAND_AMPLITUDE = 0.08;
export const SIGNAL_FIELD_PRESENCE_LEVEL = 0.8;
export const BREATHING_BPM_MIN = 12;
export const BREATHING_BPM_MAX = 24;
export const HEART_BPM_MIN = 58;
export const HEART_BPM_MAX = 96;
+3
View File
@@ -0,0 +1,3 @@
export const WS_PATH = '/api/v1/stream/pose';
export const RECONNECT_DELAYS = [1000, 2000, 4000, 8000, 16000];
export const MAX_RECONNECT_ATTEMPTS = 10;