Skip to content

Add files via upload#1298

Open
yatharthbhatt wants to merge 1 commit into
ruvnet:mainfrom
yatharthbhatt:cyber-hud-upgrade
Open

Add files via upload#1298
yatharthbhatt wants to merge 1 commit into
ruvnet:mainfrom
yatharthbhatt:cyber-hud-upgrade

Conversation

@yatharthbhatt

Copy link
Copy Markdown

🚀 Feat: Dynamic Multi-Target Tracking Matrix, UDP Network Gateway, and Live Spatial Calibration UI

📝 Summary

This pull request upgrades the core positioning engine from a legacy single-target simulation framework into a robust, concurrent, multi-target real-world tracking cockpit. It implements a native multi-threaded network ingestion pipeline, introduces standard RF physics signal calibration directly to the client UI, and expands the visual layer to track an arbitrary number of hardware targets simultaneously.


🛠️ Core Upgrades & Feature Breakdown

1. Concurrency & Network Ingestion Layer (serve-demo.py)

  • Implemented a background live network port worker using standard library asynchronous threads.
  • Binds a live concurrent listener on 0.0.0.0:5555 over UDP alongside a clean from-scratch RFC 6455 compliant WebSocket server running on port :8770 (/pose).
  • Emits high-frequency telemetry broadcasts at 20 Hz, completely gated behind a runtime flag (--gateway or environment variable RUVIEW_UDP_GATEWAY=1) to prevent regressions or breaking default legacy behaviors.

2. Frontend Multi-Target Data Structures (06-cyber-hud.html)

  • Transitioned target tracking data model from a single state object to a dynamic collection framework: activeTargets: Map<mac, track>.
  • Each individual target track maintains its own isolated computational context: independent Alpha-Beta smoothing filters, dedicated Gauss-Newton solver instances, distinct MAC-hued capsule assets, precise trajectory histories, and individual algorithmic residuals.
  • Added a garbage collection timeout mechanism: automatically issues a dropTrack(mac, 'timeout') workflow if a unique hardware signature falls silent for more than 10 seconds.

3. Live Physical Environment Calibration

  • Shipped mathematical support for log-distance path loss transformations. Rather than forcing static approximations on the server, the frontend canvas translates raw signal power metrics dynamically using live browser state variables:
    $$r = 10^{\frac{P_0 - \text{rssi}}{10N}}$$
  • Added interactive UI slider parameters to the ✎ Layout Panel allowing operator-level manipulation of the Environmental Path Loss Exponent ($N$) and Reference Signal Power ($P_0$).
  • Integrates material attenuation adjustments dynamically to bias distances when tracking vectors intersect defined wall volumes.

4. UI/UX Tactical Cockpit Enhancements

  • Target Roster Panel: Renders a scrollable list tracking all discovered network nodes alongside real-time velocity metrics and dynamic spatial coordinates.
  • Camera Focus Lock: Built a manual Focus Toggle button ( ◎ ) next to each target row, allowing the viewport orbital pivot to anchor directly onto a specific moving target capsule.

📦 Topology Verification

All newly introduced code blocks, variables, and physical configuration hooks successfully map directly over the existing open-source template architecture:

  • Modified Frontend Interface Canvas: examples/three.js/demos/06-cyber-hud.html
  • Modified Server Core Integration: examples/three.js/server/serve-demo.py

(Note: The corresponding mathematical mirrors for the Rust core modules have been cleanly prepared in v2/ under the wifi-densepose-signal and wifi-densepose-sensing-server crates for downstream compilation checking.)


🧪 How to Verify & Test This PR

Maintainers can evaluate the complete end-to-end framework locally via these steps:

  1. Navigate to the repository root directory and initialize the server backend gateway:
    python "examples\three.js\server\serve-demo.py" --gateway
    Inject multi-target data payloads to the live UDP network interface socket (or observe via the built-in synthetic driver fallback):
    python "examples\three.js\server\mock_udp_injector.py" --devices 2
    
    Open http://localhost:8765/examples/three.js/demos/06-cyber-hud.html in any WebGL-compatible browser.
    
    Expected Behavior: Verify that the system banner transitions directly to LIVE — UDP RSSI gateway, independent colored target tracks move dynamically across the mapping grid, the roster records telemetric data perfectly, and the interactive calibration parameters alter target distance calculations cleanly in real-time.
    
    

@yatharthbhatt

Copy link
Copy Markdown
Author

Let me know your review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant