Files
2026-03-10 20:48:09 +00:00

30 lines
2.2 KiB
Markdown

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