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