Skip to content

feat(view): Explorer-style view sizes with Ctrl+scroll - #37

Open
Maxaubert wants to merge 15 commits into
mainfrom
feat/36-view-sizes
Open

Maxaubert wants to merge 15 commits into
mainfrom
feat/36-view-sizes

Conversation

@Maxaubert

@Maxaubert Maxaubert commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Closes #36.

Implements concept 04 from docs/mockups/view-zoom (spec docs/superpowers/specs/2026-10-05-view-sizes-design.md, plan docs/superpowers/plans/2026-10-05-view-sizes.md).

  • Six sizes for the files view: Details (the table), Large details (the same table with 44px rows, a 32px thumb and 14px names), Tiles, Medium icons, Large icons, Extra large icons.
  • Ctrl+wheel over the files view steps one size per notch (trackpads: a step per 40px); nothing happens over the inspector or sidebar, and the page never zooms.
  • Ctrl+= / Ctrl+- step, Ctrl+0 resets to Details, Ctrl+Shift+1..6 jump. Shortcuts are ignored while a dialog is open.
  • A View button in the toolbar shows the current size and opens a menu with the sizes and shortcuts.
  • The size is remembered. Selection, the right-click menu, double-click, arrow-key grid navigation, group headers and running/done/failed states work in every size.
  • Sharp thumbnails on high-DPI screens: the bucket (128/256/512/768/1024) follows the view size and devicePixelRatio and updates when the window moves to another monitor. Cards get cover thumbnails (the short side reaches the bucket), cached per path and bucket; stepping back down reuses a bigger cached one. In main, when the Windows shell returns a smaller image than asked (it often stops at 256), magick/ffmpeg render the thumbnail instead, never upscaling the source.
  • Version 0.7.0.

Verification

  • npm test 852 passed (1 skipped), typecheck, lint, prettier, build, npm run test:e2e 76 passed, 2 skipped (the opt-in shots), incl. both GPU tests and 8 view-size tests (Large details geometry, thumbnails really reach 768).
  • At DPR 2.25 (--force-device-scale-factor=2.25), thumbnail naturalWidth x naturalHeight for a 3000x2000 PNG / a 1920x1080 MP4: Details, Large details, Tiles 128x86 / 128x72; Medium and Large 768x512 / 910x512 (512 bucket); Extra large 1152x768 / 1365x768 (768 bucket).
  • Scripted checks in the built app: wheel steps, inspector ignored, Ctrl+Shift+3, View menu, persistence after reload, multi-select + right-click + double-click in a grid.
  • Screenshots: docs/mockups/view-zoom/shots/impl-size0..5.png (impl-size1 = Large details) and impl-menu.png next to the mockup shots.
  • Installed 0.7.0 locally.

Note: once anything is selected, every card shows its checkbox (spec 4 and the mockup's own rule).

🤖 Generated with Claude Code

Maxaubert and others added 15 commits October 5, 2026 14:12
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thumbnails are sized per view and devicePixelRatio (128/256/512/768/1024
buckets), cached per path and bucket, and recomputed when the window
moves to another monitor. Cards ask for cover thumbnails (short side
reaches the bucket). Main falls back to magick/ffmpeg when the Windows
shell returns a smaller image than asked, never upscaling the source.

Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Same table as Details with 44px rows, a 32px thumb and 14px names.
Sizes are now Details, Large details, Tiles, Medium, Large, Extra large
(Ctrl+Shift+1..6), with a new view-details-l icon, tests, spec and
regenerated view-zoom shots.

Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #36

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

View sizes for the files view (Explorer style, Ctrl+scroll)

1 participant