Skip to content

Add film roll organization - #1577

Open
JoeeGrigg wants to merge 6 commits into
CyberTimon:mainfrom
JoeeGrigg:feature/film-rolls
Open

Add film roll organization#1577
JoeeGrigg wants to merge 6 commits into
CyberTimon:mainfrom
JoeeGrigg:feature/film-rolls

Conversation

@JoeeGrigg

@JoeeGrigg JoeeGrigg commented Aug 22, 2026

Copy link
Copy Markdown

Description

Adds persistent film roll organization for analog photography workflows. Rolls track stable roll numbers, optional names, camera, film stock, load/finish dates, and image membership.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Performance improvement
  • Code refactoring
  • Documentation update
  • UI/UX improvement
  • Build/CI or Dependency update

Changes Made

  • Add persistent film roll storage with legacy migration and non-reused roll numbers
  • Add roll creation/editing/deletion, source-tree display, search, counts, and session restoration
  • Support adding or moving images through context menus, paste actions, and drag-and-drop
  • Keep roll membership synchronized across file rename, move, folder rename, and deletion operations
  • Preserve roll membership when creating physical or virtual copies
  • Add translated roll UI strings for all supported locales
  • Add backend tests for migration, numbering, deduplication, and membership behavior

Screenshots/Videos

Not included.

Testing

  • These changes were tested locally by a human and confirmed to work.
  • I haven't added any automated tests to the code because the codebase currently lacks a test suite.

Automated checks run:

  • npm run build
  • cargo test -p RapidRAW --lib — 11 passed
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt -p RapidRAW -- --check
  • Prettier checks for changed TypeScript/TSX files
  • git diff --check

Test Configuration:

  • OS: Arch Linux, Linux 7.1.8, x86_64
  • Hardware: Intel Core i7-1185G7

Checklist

  • My code follows the project's code style
  • I haven't added unnecessary AI-generated code comments
  • My changes generate no new warnings or errors

Additional Notes

Repository-wide TypeScript, ESLint, formatting, and i18n checks already fail on main. This branch introduces no new TypeScript failures and reduces the current typecheck count from 74 to 71. Feature files pass production build and targeted formatting checks.

AI Disclaimer:

  • This PR is created by an AI agent
  • This PR is mostly AI-generated but edited/merged together by a human
  • This PR was handwritten with AI assistance (spell check, logic suggestions, error resolving)
  • This PR contains only blood, sweat, and coffee (AI-free)

@JoeeGrigg
JoeeGrigg marked this pull request as ready for review August 22, 2026 16:21
@JoeeGrigg
JoeeGrigg requested a review from CyberTimon as a code owner August 22, 2026 16:21
@R-Laine

R-Laine commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Could you include some screenshots?

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