Real-time IoT Dashboard for the QRES Swarm
Built with Tauri v2 (Rust) + Svelte 5 + WebAssembly. This dashboard simulates a swarm of edge devices to demonstrate biologically-inspired compression on live sensor streams.
- Real-time Visualization: D3.js scrolling charts showing Raw vs. QRES bandwidth.
- Simulated Sensors: Generates 10Hz vibration/temperature data to mimic industrial IoT.
- Bit-Perfect Accuracy: Uses the authentic WASM-compiled Rust engine.
- SNN Spike Visualizer: Watch the "MetaBrain" neurons fire in response to data intensity.
- Regime Change Simulation: Trigger abrupt data anomalies and watch the neural network adapt in real-time.
- Active Peers: Monitor the status of connected edge nodes (Learning vs. Inferring).
- Global Efficiency: Track collective bandwidth savings across the swarm.
- Node.js: v18 or higher
- Rust: Latest stable (for native builds only)
# Install dependencies
npm install
# Run dev server (browser mode)
npm run dev
# Open http://localhost:1420# Build native app (requires Tauri CLI)
npm install -g @tauri-apps/cli
npm run tauri build
# Output: src-tauri/target/release/bundle/Run npm run dev and open the local web interface.
Click the "Connect to Swarm" toggle. The simulated sensors will begin streaming data, and the bandwidth chart will populate in real-time.
Click the "Trigger Regime Change" button.
- Observation: The vibration values will spike (Regime Shift).
- Result: Watch the compression ratio momentarily drop, then recover as the SNN learns the new pattern (~20s recovery).
- Tauri Commands: Compression, decompression, stats
- WASM Core:
qres_corecompiled to WebAssembly for browser-native operation - IPC Communication: Secure cross-process communication
- App.svelte: Main layout with sidebar navigation
- IoTDashboard.svelte: 3-panel streaming interface (Controls | Charts | Neural Viz)
- LiveBandwidthChart.svelte: D3.js real-time scrolling chart
- SNNSpikeVisualizer.svelte: Canvas-based neural activity display
- NodeStatusPanel.svelte: Edge device status monitoring
- SensorSimulator.ts: 10Hz telemetry generation with regime change support
- Tauri v2: Cross-platform desktop app framework
- Svelte 5: Reactive UI framework
- D3.js v7: Data visualization library
- qres-wasm: WASM-compiled compression core
qres-studio/
├── src-tauri/
│ ├── src/
│ │ ├── commands.rs # Tauri commands
│ │ ├── lib.rs # Plugin registration
│ │ └── main.rs # App entry point
│ └── Cargo.toml # Rust dependencies
├── src/
│ ├── App.svelte # Main layout with sidebar nav
│ ├── components/
│ │ ├── IoTDashboard.svelte # 3-panel streaming interface
│ │ ├── LiveBandwidthChart.svelte # D3 real-time chart
│ │ ├── SNNSpikeVisualizer.svelte # Neural activity canvas
│ │ ├── NodeStatusPanel.svelte # Device status list
│ │ ├── SwarmConnectToggle.svelte # Connect/anomaly controls
│ │ ├── StarshipHeader.svelte # QRES branding header
│ │ └── StarshipSidebar.svelte # Navigation sidebar
│ ├── lib/
│ │ ├── SensorSimulator.ts # 10Hz telemetry generator
│ │ ├── iotStore.ts # Svelte streaming stores
│ │ └── compressionEngine.ts # WASM/Native engine bridge
│ └── routes/
│ └── +page.svelte # SvelteKit entry
├── static/ # Static assets
├── package.json # Node dependencies
└── svelte.config.js # Svelte configuration
- Browser Mode: Runs WASM compression client-side (default for
npm run dev) - Native Mode: Uses Tauri IPC to call Rust daemon (requires
npm run tauri dev)
- QRES Backend: Compatible with QRES v15.x
- Node.js: Requires v18+
- Rust: Latest stable (for native builds)
If you see "qres_wasm_bg.wasm" 403 errors:
cd ../crates/qres_wasm
wasm-pack build --target web- Ensure D3.js v7 is installed:
npm install d3 - Check browser DevTools for errors
- Click "Connect to Swarm" to start the 10Hz stream
- Check browser console for WASM initialization logs
- Main QRES README - Project overview
- Benchmarks - Performance data
- Whitepaper - Technical details
Dual-licensed under MIT OR Apache-2.0.
QRES Edge Monitor v15.3 - Real-time IoT Compression 🚀