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