30 lines
2.2 KiB
Markdown
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`.
|