PR5/PR6: Specify default thumbnail grid cell size before display-resolution slider #13

Closed
opened 2026-06-04 16:54:15 +00:00 by Grok · 2 comments
Member

Context

PR5 ships a visual IconMode grid with fixed default cell dimensions (CELL_WIDTH/CELL_HEIGHT in thumbnail_delegate.py) until PR6 adds the display-resolution slider.

Ambiguity

DESIGN.md and TECHNICAL_OUTLINE.md describe configurable save vs display resolution (PR6) but do not specify:

  • Default cell width/height for the grid at first launch
  • Minimum/maximum bounds for the PR6 slider
  • Relationship between setGridSize, delegate sizeHint, and stored BLOB aspect ratio

Current interim (PR5)

140×168 px cells with 128px-tall thumb area and filename label below. Chosen for readability at ~1200px window width; not spec-authoritative.

Requested decision

Record a DR or comment with:

  1. Default display cell size (and whether it matches default save resolution)
  2. Slider range and step
  3. Whether grid reflow uses QListView.Adjust only or also changes column count explicitly

Blocks

Non-blocking for PR5 merge; required before PR6 implementation is finalized.

## Context PR5 ships a visual IconMode grid with fixed default cell dimensions (`CELL_WIDTH`/`CELL_HEIGHT` in `thumbnail_delegate.py`) until PR6 adds the display-resolution slider. ## Ambiguity DESIGN.md and TECHNICAL_OUTLINE.md describe configurable save vs display resolution (PR6) but do not specify: - Default cell width/height for the grid at first launch - Minimum/maximum bounds for the PR6 slider - Relationship between `setGridSize`, delegate `sizeHint`, and stored BLOB aspect ratio ## Current interim (PR5) 140×168 px cells with 128px-tall thumb area and filename label below. Chosen for readability at ~1200px window width; not spec-authoritative. ## Requested decision Record a DR or comment with: 1. Default display cell size (and whether it matches default save resolution) 2. Slider range and step 3. Whether grid reflow uses `QListView.Adjust` only or also changes column count explicitly ## Blocks Non-blocking for PR5 merge; required before PR6 implementation is finalized.
Owner
  • For the thumbnail grid the thumbnail floor should be 75x75 pixels. Upper bounds should scale up to half the application width ensuring a minimum of two image cells are always present in grid view. The slider should function using a fractional scale with "0" being the floor os 75 pixels and "1" being half the width of the grid canvas in the window. This will ensure a minimum of two images are always visible on the grid canvas.
  • Start the slider around the .2 mark and we'll refine the start location later once the feature functions and the actual behavior can be observed.
  • Step the slider in increments of .05 for 21 total positions from 0 to 1
  • The column count should change dynamically based on image width and window width. Similar to an HTML4 "float:left" style behavior-
- For the thumbnail grid the thumbnail floor should be 75x75 pixels. Upper bounds should scale up to half the application width ensuring a minimum of two image cells are always present in grid view. The slider should function using a fractional scale with "0" being the floor os 75 pixels and "1" being half the width of the grid canvas in the window. This will ensure a minimum of two images are always visible on the grid canvas. - Start the slider around the .2 mark and we'll refine the start location later once the feature functions and the actual behavior can be observed. - Step the slider in increments of .05 for 21 total positions from 0 to 1 - The column count should change dynamically based on image width and window width. Similar to an HTML4 "float:left" style behavior-
Author
Member

Resolved per ValleyGeek comment — recorded as DR-012 in docs/DECISIONS.md and integrated into DESIGN.md PR6 + TECHNICAL_OUTLINE §3.2.

Decision summary:

  • Display floor 75×75 px; ceiling = half grid canvas width (≥2 cells visible)
  • Fractional slider 0.0–1.0, step 0.05 (21 positions), default 0.2
  • Dynamic column reflow (IconMode + Adjust; no fixed column count)
  • Save resolution remains separate (DR-009)

PR5: ships interim fixed ~140×168 cells with constants documenting DR-012 floor/slider defaults in thumbnail_delegate.py.

PR6: implements slider + dynamic setGridSize / delegate resize.

Closing as resolved (spec captured; implementation tracked in PR6).

**Resolved** per ValleyGeek comment — recorded as **DR-012** in `docs/DECISIONS.md` and integrated into DESIGN.md PR6 + TECHNICAL_OUTLINE §3.2. **Decision summary:** - Display floor 75×75 px; ceiling = half grid canvas width (≥2 cells visible) - Fractional slider 0.0–1.0, step 0.05 (21 positions), default **0.2** - Dynamic column reflow (IconMode + Adjust; no fixed column count) - Save resolution remains separate (DR-009) **PR5:** ships interim fixed ~140×168 cells with constants documenting DR-012 floor/slider defaults in `thumbnail_delegate.py`. **PR6:** implements slider + dynamic `setGridSize` / delegate resize. Closing as resolved (spec captured; implementation tracked in PR6).
Grok closed this issue 2026-06-04 18:08:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-collab/bulk-image-organizer#13
No description provided.