Comprehensive blueprint for a headless Raspberry Pi 3B projection mapping appliance: - Unified installer with 2GB swap safety for C++ source builds. - WebSocket-driven real-time vertex/surface manipulation. - 5-tab responsive dashboard (Dashboard, Mapping, Media, Network, System). - Media validation with ffprobe (H.264 check) and resource warnings. - Throttled log streaming and explicit mapping persistence.
31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
## 1. Setup Script Upgrades
|
|
|
|
- [ ] 1.1 Add `ofxPiMapper` installation logic (source build with 2GB swap safety).
|
|
- [ ] 1.2 Modify `ofxPiMapper` C++ source code to add `/ofxPiMapper/surface/highlight` OSC listener.
|
|
- [ ] 1.3 Implement graphics driver configuration (KMS/DRM) for headless operation.
|
|
|
|
## 2. Backend Expansion (Node.js)
|
|
|
|
- [ ] 2.1 Implement WebSocket (Socket.io) handlers for low-latency vertex updates.
|
|
- [ ] 2.2 Create the Throttled Log Streamer (max 10 lines / 500ms) for process output.
|
|
- [ ] 2.3 Implement the "Mapping Manifest" with `ffprobe` codec validation (H.264).
|
|
- [ ] 2.4 Add System Control endpoints (Shutdown, Reboot, Restart Mapper, Save Mapping).
|
|
|
|
## 3. Frontend Overhaul (React/Tailwind)
|
|
|
|
- [ ] 3.1 Implement the 5-tab navigation system (Dashboard, Mapping, Media, Network, System).
|
|
- [ ] 3.2 Build the "Responsive Dashboard" with real-time stats (CPU/RAM/Temp).
|
|
- [ ] 3.3 Create the "Media Vault" with file upload, preview, and delete.
|
|
- [ ] 3.4 Upgrade the "Virtual Canvas" with Surface Naming, Quad/Triangle adding, and drag/scale/rotate.
|
|
|
|
## 4. Hybrid Networking UI
|
|
|
|
- [ ] 4.1 Implement the WiFi scanner and client-mode connection interface.
|
|
- [ ] 4.2 Add AP configuration (SSID/Password change) with graceful reboot handling.
|
|
|
|
## 5. Integration & Stress-Testing
|
|
|
|
- [ ] 5.1 Test 1080p playback stability on Pi 3B with active mapping.
|
|
- [ ] 5.2 Validate the "LAN-Rescue" mDNS connectivity.
|
|
- [ ] 5.3 Conduct end-to-end "Clean Install" test using the setup script.
|