## Why PocketVJ-CP-v3 is an essential tool for projection mapping on the Raspberry Pi, but its reliance on legacy PHP 5 and a "page-refresh" architecture makes it difficult to use for modern, real-time mapping. There is a clear opportunity to create a "Modern PocketVJ" (MPVJ) that provides a responsive, touch-friendly, and resource-efficient headless interface specifically optimized for the Raspberry Pi 3B and `ofxPiMapper`. ## What Changes - **New Headless UI**: A React-based web interface served from the Pi, allowing users to perform mapping and media management from any phone or laptop browser. - **Real-Time Mapping Control**: Implementation of a "Virtual Canvas" that allows dragging vertices and surfaces on the remote UI, with changes reflected instantly on the projection via OSC. - **Modern Backend Bridge**: A Node.js-based API that replaces the legacy PHP scripts to handle OSC communication, media file management, and system commands. - **Hybrid Networking**: Automated setup of a WiFi Access Point (AP) for standalone use, with the ability to switch to Client Mode for existing venue networks. - **System Monitoring**: Integrated dashboard for tracking Pi 3B resource usage (CPU, RAM, Temperature) to ensure stability during high-resolution playback. ## Capabilities ### New Capabilities - `headless-mapping-ui`: A responsive React web application providing a virtual stage for remote surface manipulation and layout control. - `osc-bridge-api`: A high-performance Node.js service that translates UI interactions into standard `ofxPiMapper` OSC commands. - `media-manager`: An integrated system for uploading, previewing, and assigning media files (videos, images) to specific mapping surfaces. - `hybrid-network-control`: A system-level capability to toggle between Access Point and WiFi Client modes via the web interface. ### Modified Capabilities - (None) ## Impact - **ofxPiMapper**: Direct integration via OSC port 9999 for real-time control. - **Networking**: Requires `hostapd`, `dnsmasq`, and `avahi-daemon` for AP and mDNS support. - **Resource Management**: Tight constraints on Pi 3B (1GB RAM) require a lightweight Node.js environment and optimized React build. - **File System**: Management of media assets in `/home/pi/media`.