A merged panorama should appear in the library the moment it is written, with its thumbnail made during the merge, and panoramas should get wider cells in the grid.
Why
The user asked for this on 2026-09-27: "panorama merges should be added to the library and should allow thumbnails that are wider than normal ones … we should generate the thumbnail during generation … with a reasonable conversion from raw". v0.19.1 fixed two ways a composite went missing (d42fdbcf: a sync mid-merge uploaded a partial DNG; 408a185e: two concurrent outbox drains). The rest was started on feat/pano-in-library-wide-thumbs and not finished.
Deliverable
Catalogue the composite directly when the merge writes it (one transaction), placed by capture time (the sources' earliest if the DNG carries none), and refresh the grid so it appears at once, not only after a later rescan. Cover the Nextcloud path: the upload finishing after the scan.
Thumbnail during the merge, from the merge's own final image (after fill and crop), at the normal size and the wide size, put straight into the ThumbStore. Render it with the same default development a raw gets on first open in develop (the D19 pipeline, default Tone Mapping, the DNG's white balance), not a naive linear-to-sRGB. The normal thumbnail path stays as the fallback for older composites.
Wide grid cells: a photo of aspect ≥ ~2:1 spans 2 columns (3 for extreme ratios), with a matching wide thumbnail. Row packing, the virtualised window, keyboard navigation in reading order, Shift range selection, the timeline, burst folding and select mode keep working. On the tablet with too few columns, it takes one full-width cell. Aspect comes from the grid's existing window query: no per-cell queries.
Acceptance
a merge on a folder library and on Nextcloud shows the composite in the grid beside its sources as soon as it finishes, with its thumbnail, and it survives a restart
the thumbnail matches develop's first-open render of the composite (a test on mean and highlight percentiles)
a panorama occupies a wide cell; navigation and selection across it behave; a test for the row packing
no schema bump; manual picture of a wide panorama cell
**A merged panorama should appear in the library the moment it is written, with its thumbnail made during the merge, and panoramas should get wider cells in the grid.**
## Why
The user asked for this on 2026-09-27: "panorama merges should be added to the library and should allow thumbnails that are wider than normal ones … we should generate the thumbnail during generation … with a reasonable conversion from raw". v0.19.1 fixed two ways a composite went missing (d42fdbcf: a sync mid-merge uploaded a partial DNG; 408a185e: two concurrent outbox drains). The rest was started on `feat/pano-in-library-wide-thumbs` and not finished.
## Deliverable
1. **Catalogue the composite directly** when the merge writes it (one transaction), placed by capture time (the sources' earliest if the DNG carries none), and refresh the grid so it appears at once, not only after a later rescan. Cover the Nextcloud path: the upload finishing after the scan.
2. **Thumbnail during the merge,** from the merge's own final image (after fill and crop), at the normal size and the wide size, put straight into the ThumbStore. Render it with the same default development a raw gets on first open in develop (the D19 pipeline, default Tone Mapping, the DNG's white balance), not a naive linear-to-sRGB. The normal thumbnail path stays as the fallback for older composites.
3. **Wide grid cells:** a photo of aspect ≥ ~2:1 spans 2 columns (3 for extreme ratios), with a matching wide thumbnail. Row packing, the virtualised window, keyboard navigation in reading order, Shift range selection, the timeline, burst folding and select mode keep working. On the tablet with too few columns, it takes one full-width cell. Aspect comes from the grid's existing window query: no per-cell queries.
## Acceptance
- [ ] a merge on a folder library and on Nextcloud shows the composite in the grid beside its sources as soon as it finishes, with its thumbnail, and it survives a restart
- [ ] the thumbnail matches develop's first-open render of the composite (a test on mean and highlight percentiles)
- [ ] a panorama occupies a wide cell; navigation and selection across it behave; a test for the row packing
- [ ] no schema bump; manual picture of a wide panorama cell
Shipped in v0.19.1 (d42fdbcf, 408a185e, ac5d73c9, bd1dde5b, 1b68a395, 7af619f7, 0c0e8322, 1baa040c). The cause: the merge started the upload and the rescan together; the scan listed the folder before the composite landed, stamped the folder as scanned, and nothing looked again; and the composite had no preview, so even found it was blank. Now it's catalogued the moment it's written, the rescan runs after the upload, thumbnails are rendered during the merge through develop's first-open path (tested against develop: within 3 levels, measured ≤0.6), a second merge is named -pano-2, and wide photos get x2/x3/x4 cells (aspect ≥1.9 / 2.45 / 3.46), full-width on the tablet. Checked on the demo library, including after a restart. Known: composites merged before this release stay one cell wide; the demo composite's filled border still shows #79's artefacts.
Shipped in v0.19.1 (d42fdbcf, 408a185e, ac5d73c9, bd1dde5b, 1b68a395, 7af619f7, 0c0e8322, 1baa040c). The cause: the merge started the upload and the rescan together; the scan listed the folder before the composite landed, stamped the folder as scanned, and nothing looked again; and the composite had no preview, so even found it was blank. Now it's catalogued the moment it's written, the rescan runs after the upload, thumbnails are rendered during the merge through develop's first-open path (tested against develop: within 3 levels, measured ≤0.6), a second merge is named -pano-2, and wide photos get x2/x3/x4 cells (aspect ≥1.9 / 2.45 / 3.46), full-width on the tablet. Checked on the demo library, including after a restart. Known: composites merged before this release stay one cell wide; the demo composite's filled border still shows #79's artefacts.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
A merged panorama should appear in the library the moment it is written, with its thumbnail made during the merge, and panoramas should get wider cells in the grid.
Why
The user asked for this on 2026-09-27: "panorama merges should be added to the library and should allow thumbnails that are wider than normal ones … we should generate the thumbnail during generation … with a reasonable conversion from raw". v0.19.1 fixed two ways a composite went missing (d42fdbcf: a sync mid-merge uploaded a partial DNG; 408a185e: two concurrent outbox drains). The rest was started on
feat/pano-in-library-wide-thumbsand not finished.Deliverable
Acceptance
Shipped in v0.19.1 (d42fdbcf, 408a185e, ac5d73c9, bd1dde5b, 1b68a395, 7af619f7, 0c0e8322, 1baa040c). The cause: the merge started the upload and the rescan together; the scan listed the folder before the composite landed, stamped the folder as scanned, and nothing looked again; and the composite had no preview, so even found it was blank. Now it's catalogued the moment it's written, the rescan runs after the upload, thumbnails are rendered during the merge through develop's first-open path (tested against develop: within 3 levels, measured ≤0.6), a second merge is named -pano-2, and wide photos get x2/x3/x4 cells (aspect ≥1.9 / 2.45 / 3.46), full-width on the tablet. Checked on the demo library, including after a restart. Known: composites merged before this release stay one cell wide; the demo composite's filled border still shows #79's artefacts.