Add a way to "select all in viewport" that only selects shapes visible in the current viewport, rather than all shapes on the page.
## Problem When working on a large canvas with shapes spread across different areas, `Cmd+A` / `Ctrl+A` selects **every** shape on the page — including offscreen ones. This is often not the desired behavior when you're focused on editing a specific area and just want to quickly select everything visible. Currently the workaround is brush-selecting, which is slower and less precise, especially with many shapes in a dense area. ## Proposed solution Add a way to "select all in viewport" that only selects shapes whose bounds intersect (or are contained within) the current viewport. This could work as: - A new keyboard shortcut (e.g. `Cmd+Shift+A`) - A menu item alongside the existing "Select all" - A new editor API method like `editor.selectAllInViewport()` The implementation would filter shapes using `editor.getViewportPageBounds()` and check each shape's page bounds against it, similar to how culling already works. ## Use cases - Editing a specific region of a large canvas withou