Skip to content

feat(files): add Frame No. sort and contact-sheet order - #1605

Merged
marcinz606 merged 5 commits into
marcinz606:mainfrom
red-prs:claude/roll-sort-frame-no
Nov 5, 2026
Merged

marcinz606 merged 5 commits into
marcinz606:mainfrom
red-prs:claude/roll-sort-frame-no

Conversation

@red-prs

@red-prs red-prs commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

What

Adds a "Frame No." order to two places:

  • Film Strip Sort — the frames' own order in the Film Strip.
  • Contact sheet Order — the layout order on a contact sheet.

How it works

The new order sorts by the frame's metadata Roll, then its Frame No., with the file name as a tiebreak. The frames read Roll 01 Frame 01–36, then Roll 02 Frame 01–36, and so on. The existing name, date and scene orders are unchanged.

Changes

  • negpy/desktop/session.py: AssetListModel gains the "frame" sort order and _frame_rank.
  • negpy/desktop/view/sidebar/files.py: the Film Strip SortButton gains the "Frame No." option.
  • negpy/services/export/contact_sheet_roll.py: new frame_order (metadata Roll then Frame No.).
  • negpy/services/export/contact_sheet_layout.py: SHEET_ORDERS gains "frame".
  • negpy/desktop/view/widgets/contact_sheet_dialog.py: the Order combo gains "Frame No.".
  • negpy/services/assets/search.py: the facts provider exposes capture_roll for the sort.
  • i18n: the four catalogs (de, ja, ko, zh_CN) and the frames / contact_sheet guide panels (en + 4 locales).

Verification

  • make lint and make translations-check: clean.
  • The i18n and contact-sheet tests pass. The 23 scanner-backend failures and one nkscan type error are pre-existing on main and unrelated to this change.
  • Built dist/NegPy.app and NegPy-0.67.0-macOS-arm64.dmg; the new "Frame No." label is present in all four bundled catalogs.

🤖 Generated with Claude Code

red-prs and others added 5 commits November 4, 2026 11:33
Film Strip Sort and the contact-sheet Order gain a Frame No. option. It orders by the metadata Roll, then the Frame No., the file name a tie. The name, date and scene orders are unchanged.

Adds the label to the four catalogs and updates the frames and contact_sheet guide panels (en, de, ja, ko, zh_CN).

Co-Authored-By: Claude Code <noreply@anthropic.com>
@marcinz606
marcinz606 merged commit d7b668c into marcinz606:main Nov 5, 2026
5 checks passed
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.

2 participants