## Why Currently, setting up a Raspberry Pi for projection mapping requires manually piecing together the OS, the mapping engine (`ofxPiMapper`), and various control scripts. This is fragmented, difficult to manage headlessly, and lacks a modern "appliance" feel. `ofxpimapper-full-stack` aims to unify these into a single, polished, and professional product: the Modern PocketVJ (MPVJ). It provides an "it just works" experience for artists, from the initial setup script to the real-time web-based mapping remote. ## What Changes - **Unified Headless Installer**: A single setup script that installs the entire stack, including the `ofxPiMapper` engine, Node.js backend, and React frontend. - **Integrated Mapping Engine**: Automated installation of `ofxPiMapper` (pre-compiled binary or source build) with a systemd service to launch fullscreen on boot. - **Virtual Canvas 2.0**: A responsive React/Tailwind web UI for real-time vertex/surface manipulation via WebSockets, with live feedback on the beamer. - **Enhanced Media Vault**: Complete media management (upload/delete/preview) with the ability to assign different sources (video/image/color) to individual surfaces. - **Appliance Dashboard**: Integrated monitoring of system health (CPU, RAM, Temp) and process status, with remote power and restart controls. - **Hybrid Networking**: A robust networking stack that maintains a permanent Access Point while allowing connection to external venue WiFi via a web interface. ## Capabilities ### New Capabilities - `ofxpimapper-engine`: The core C++ mapping engine, integrated into the system-wide process management. - `web-remote-dashboard`: A modern, responsive TUI-inspired web interface for full system control. - `media-source-assignment`: The ability to dynamically map specific files or colors to specific geometric surfaces. - `live-logs-streaming`: Real-time streaming of system and mapper logs to the web interface. ### Modified Capabilities - `headless-installer`: Upgraded to handle the C++ engine installation and graphics driver configuration. - `osc-bridge-api`: Expanded to handle naming, surface selection highlighting, and source assignment. - `hybrid-network-control`: Updated with a scan-and-connect web UI while preserving the AP. ## Impact - **Hardware**: Strictly optimized for the Raspberry Pi 3B (1GB RAM). - **User Experience**: Transition from a "CLI-first" or "Desktop-first" workflow to a "Web-Remote-first" workflow. - **Performance**: Heavy reliance on WebSockets and optimized C++ binaries to ensure low-latency interaction. - **Stability**: Automated swap management and process monitoring to prevent OOM crashes during high-resolution playback.