Initial commit of my folder
This commit is contained in:
@ -0,0 +1,22 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Remote Virtual Canvas
|
||||
The system SHALL provide a web-based "Virtual Canvas" that represents the projection area and allows the user to manipulate mapping surfaces (Quads and Triangles).
|
||||
|
||||
#### Scenario: Dragging a vertex
|
||||
- **WHEN** the user drags a vertex on the web UI
|
||||
- **THEN** the UI SHALL calculate the normalized (0.0 to 1.0) coordinates and send them to the backend API
|
||||
|
||||
### Requirement: Surface Selection
|
||||
The system SHALL allow the user to select, add, and delete mapping surfaces (Quads and Triangles) from the remote interface.
|
||||
|
||||
#### Scenario: Adding a new Quad
|
||||
- **WHEN** the user clicks the "Add Quad" button in the UI
|
||||
- **THEN** the UI SHALL send a command to the backend to create a new quad surface in `ofxPiMapper`
|
||||
|
||||
### Requirement: Real-time Feedback
|
||||
The web UI SHALL provide visual feedback for the selected surface and vertex to ensure the user knows which part of the mapping is being edited.
|
||||
|
||||
#### Scenario: Selecting a surface
|
||||
- **WHEN** the user taps on a surface in the virtual canvas
|
||||
- **THEN** the UI SHALL highlight that surface and display its specific transformation controls
|
||||
@ -0,0 +1,22 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Automated Access Point Creation
|
||||
The system SHALL create a password-protected WiFi Access Point (AP) if no other network connection is established.
|
||||
|
||||
#### Scenario: AP Mode Activation
|
||||
- **WHEN** the Raspberry Pi 3B boots and no configured WiFi Client networks are found
|
||||
- **THEN** the system SHALL start `hostapd` and `dnsmasq` to create a `MPVJ-3B-XXXX` network
|
||||
|
||||
### Requirement: WiFi Client Connection
|
||||
The system SHALL provide a web-based UI to scan for available WiFi networks and allow the user to join an existing network.
|
||||
|
||||
#### Scenario: Switching to Client Mode
|
||||
- **WHEN** the user selects a WiFi SSID from the UI and provides a password
|
||||
- **THEN** the system SHALL update the `/etc/wpa_supplicant/wpa_supplicant.conf` file and restart the network interface to join that network
|
||||
|
||||
### Requirement: mDNS Support
|
||||
The system SHALL be accessible via the `mpvj.local` address on any local network it is connected to.
|
||||
|
||||
#### Scenario: Navigating to the UI
|
||||
- **WHEN** the user types `http://mpvj.local` in their browser on a connected device
|
||||
- **THEN** the system SHALL resolve to the Raspberry Pi's IP address and load the mapping interface
|
||||
@ -0,0 +1,15 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Media Upload
|
||||
The system SHALL provide a web-based media upload feature to allow users to transfer videos and images from their mobile devices or laptops to the Raspberry Pi.
|
||||
|
||||
#### Scenario: Successful video upload
|
||||
- **WHEN** the user selects a `.mp4` file and clicks "Upload"
|
||||
- **THEN** the system SHALL save the file to `/home/pi/media` and make it available for mapping
|
||||
|
||||
### Requirement: Surface Source Assignment
|
||||
The system SHALL allow the user to assign a specific media file from the library to a selected mapping surface in real-time.
|
||||
|
||||
#### Scenario: Assigning an image
|
||||
- **WHEN** the user selects an image from the "Media Library" in the UI
|
||||
- **THEN** the backend SHALL send an `/ofxPiMapper/source/set <filename>` OSC message to update the projection
|
||||
@ -0,0 +1,22 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: OSC Command Translation
|
||||
The system SHALL provide a backend API that receives HTTP/WebSocket commands from the frontend and translates them into OSC (Open Sound Control) messages for `ofxPiMapper`.
|
||||
|
||||
#### Scenario: Vertex movement command
|
||||
- **WHEN** the API receives a `/vertex/move` request with (x, y) coordinates
|
||||
- **THEN** it SHALL send an OSC message to `localhost:9999` using the `/ofxPiMapper/vertex/move` address
|
||||
|
||||
### Requirement: Service Management
|
||||
The system SHALL provide endpoints to start, stop, and restart the `ofxPiMapper` application process.
|
||||
|
||||
#### Scenario: Starting the mapper
|
||||
- **WHEN** the user triggers the "Start Mapper" action in the UI
|
||||
- **THEN** the API SHALL execute the system-level command `ofxPiMapper -f` (fullscreen) and return the process status
|
||||
|
||||
### Requirement: Real-time Status Monitoring
|
||||
The system SHALL monitor the Raspberry Pi 3B's system health (CPU, RAM, and temperature) and provide this data to the frontend for real-time visualization.
|
||||
|
||||
#### Scenario: Polling system health
|
||||
- **WHEN** the API is requested for health status
|
||||
- **THEN** it SHALL query `/proc/loadavg`, `/proc/meminfo`, and `/sys/class/thermal/thermal_zone0/temp` and return a JSON status object
|
||||
Reference in New Issue
Block a user