13. Prototyping

ID Requirement P Type Ver. M
PRO-1 A Prototype tab shall define interactions. Triggers: on click, on hover, while hovering, on press, while pressing, on drag, key, mouse enter, mouse leave, mouse down, mouse up, after delay. Should: gamepad triggers. Must functional test 0.5
PRO-2 Interactions shall run actions. Navigate to, change to (variant), open overlay, swap overlay, close overlay, back, scroll to, open link, set variable, set variable mode, conditional (if/else on variables), multiple actions in sequence. Must functional test 0.5
PRO-3 Transitions shall be animated. Instant, dissolve, smart animate (matching layers by name), move in/out, push, slide in/out; directions; easing (linear, ease in/out, ease in-and-out, back variants, custom cubic Bézier, spring presets and custom spring); duration. Must functional test 0.5
PRO-4 Overlays shall be positioned. Centre, top/bottom/left/right, manual, relative to the trigger; close on outside click; background dimming. Must functional test 0.5
PRO-5 Frames shall scroll. Overflow none, horizontal, vertical, both; children fixed or sticky while scrolling; scroll position when navigating. Must functional test 0.5
PRO-6 Flows shall have starting points. Named flows per page with a starting frame and description; device frame and background per flow. Must functional test 0.5
PRO-7 A preview player shall play prototypes. In a VS Code webview panel or an external browser served from localhost; device frames; restart; hotspot hints on misclick; mode switching; follows the editor’s selection when “Preview” is pinned. Must functional demonstration 0.5
PRO-8 Prototype connections shall be drawn on the canvas. Noodles from trigger to destination, drag to connect or change destination, flow starting markers. Must functional test 0.5
PRO-9 Prototypes could be published as a static site. A folder with HTML, JS and images that plays the flows anywhere (e.g. GitHub Pages). Also ud prototype export. Could functional demonstration 0.8
PRO-10 Prototypes shall be testable headless. ud prototype run --flow <name> --steps 'click:"Sign in";wait:300' renders the resulting screen, so agents can check a flow. Must because the 0.5 exit criterion depends on it. Must functional test 0.5