Day 2 UI v2 - Canvas Navigation Polish
Date: 2026-06-08
Scope: Navigation and movement polish for the live canvas UI. The engine was not changed.
What changed:
- Dragging empty canvas pans the whole world.
- Trackpad/mouse wheel pans the canvas, including when the pointer is over a frame body.
- Ctrl/Cmd-wheel and Alt-wheel zoom around the pointer.
- The frame header is a draggable handle for moving one frame independently.
- Toolbar controls now include pan arrows, zoom in/out, reset, and focus active frame.
- Keyboard shortcuts support
+,-,0, andFoutside text input.
Validation run:
- App:
http://127.0.0.1:7860 - Created one frame by clicking the canvas.
- Dragged the frame header; only that frame moved.
- Dragged empty canvas; the world panned and no extra frame was created.
- Ctrl-wheel over the frame changed zoom.
- Toolbar pan moved the canvas.
- Focus active frame recentered the view.
- Screenshot:
docs/validation/day2-v2-canvas-navigation.png
Checks:
python3 -m unittest discover -s testspassed.python3 -m compileall iris tests app.pypassed.git diff --checkpassed.
Notes:
- UI state remains in memory only.
- No model or engine behavior changed for this navigation checkpoint.