## 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.
