diff --git a/docs/dev/requirements.md b/docs/dev/requirements.md index 15ab30b..98cde24 100644 --- a/docs/dev/requirements.md +++ b/docs/dev/requirements.md @@ -867,8 +867,16 @@ full-size TIFF alongside a 2048px sRGB JPEG. **FR-EXP-6 — Naming and destination.** Output filenames are generated from a template supporting at minimum: original filename, sequence number, capture date, export dimensions, and preset name. -Collision policy (overwrite / skip / auto-increment) is configurable. Destinations include a local -path and a Nextcloud remote path (FR-NC-7). +Collision policy (overwrite / skip / auto-increment) is configurable. The destination is an album +(FR-EXP-10), whose folder is on this device or on the library's server (FR-NC-7) — never inside the +library itself, where a scan would catalogue the exported files as photographs. + +A folder is chosen by pointing, never by typing a path: the platform's own dialogue on the desktop +(the XDG desktop portal on Linux, which reaches the user's files from inside the Flatpak; the common +item dialogue on Windows), the Storage Access Framework's tree picker on Android, and an in-app +browser for a folder on the server. Every one of them can make a new folder as well as open one. +The same applies to the other folders the application asks for on the desktop — the library folder, +an import's source and second copy, and presets brought across from Lightroom. **FR-EXP-7 — Batch export.** Export a selection with one or more presets, running in the background with progress and cancellation. Uses all available cores and the GPU. A failure on one image is @@ -881,6 +889,20 @@ strip GPS and personal metadata. Copyright and contact fields are settable per-p regardless of what the display was showing — including the high-quality demosaic (FR-RAW-3), never the fast preview method. +**FR-EXP-10 — Albums.** An album is a named export destination listed in the library sidebar +beneath the collections. Its folder holds only the exported files; the catalog records, for each +file written there, the image it was rendered from, so that selecting the album shows the originals +behind its files and re-exporting after an edit is one selection away. The export sheet chooses an +album by name, and an export with no album chosen is refused and says so. + +Albums sync between devices as collections do (FR-CAT-7): by uuid and revision, deletions as +tombstones, exports as a set union keyed on the server's file id. A folder on the server syncs with +the album; a folder on the device does not, because a path or a SAF grant on one device means +nothing on another — an album made elsewhere arrives with no folder here until one is chosen. +Deleting an album never deletes the files in its folder. The album tables are created on first use +rather than by a schema migration, so a device on an older build keeps merging the rest of the +catalog. + ### 3.7 Nextcloud integration Mechanics below are verified against Nextcloud 34 documentation and server/desktop-client source. diff --git a/docs/manual/README.md b/docs/manual/README.md index 5a33047..aefea19 100644 --- a/docs/manual/README.md +++ b/docs/manual/README.md @@ -15,7 +15,10 @@ The photographs are the author's. None show a person. DarkRoom opens on a library: a folder on this machine, a folder a sync client keeps, or a Nextcloud account. A folder needs no password and uploads -nothing. +nothing. `Choose folder…` opens your desktop's own folder dialogue, which can +make a new folder too; the folder used last stays on the screen with +`Open folder` beside it. On a Nextcloud account the library folder is chosen +in a browser of the server, whose `New folder` makes one there.  @@ -300,9 +303,25 @@ as the first step in its history. ## Export `Export` in the develop header, or `Export N` from a selection. Format, -size, colour space, sharpening, naming and where the file goes are in -Settings, and apply to every export until changed. An export with no folder -set is refused, and the header says so. +size, colour space, sharpening and naming are in Settings, and apply to every +export until changed. Where the file goes is an album. + +An album is a folder exports go to, listed under **Albums** in the sidebar, +below the collections. Press `+` there, or `New album…` in the export sheet +(`Ctrl+E`), name it, and choose its folder: on this device, in the system's +folder dialogue (on the tablet, Android's folder picker), or on the server, +in a browser that can make a folder as well as open one. Not inside the +library — a JPEG exported there would come back from the next scan as a +photograph of its own, and the browser says so rather than letting you. + +The folder holds only the exported files. The album remembers which +photograph each came from, so selecting it in the sidebar shows the +originals behind its JPEGs — edit one and export it again. Albums reach your +other devices as collections do; a folder on this device does not, so an +album made on the desktop asks the tablet for a folder of its own. Deleting +an album leaves its files where they are. + +An export with no album chosen is refused, and the header says so.  diff --git a/docs/manual/index.html b/docs/manual/index.html index e7578e6..6c19ded 100644 --- a/docs/manual/index.html +++ b/docs/manual/index.html @@ -148,7 +148,10 @@ is only about what you see.
DarkRoom opens on a library: a folder on this machine, a folder a sync client keeps, or a Nextcloud account. A folder needs no password and uploads -nothing.
+nothing.Choose folder… opens your desktop's own folder dialogue, which can
+make a new folder too; the folder used last stays on the screen with
+Open folder beside it. On a Nextcloud account the library folder is chosen
+in a browser of the server, whose New folder makes one there.

Once a folder is named, it is the library — you are not asked for it again,
and Open library opens it whole. Subfolder… narrows the scan to part of
@@ -347,9 +350,22 @@ as the first step in its history.

Export in the develop header, or Export N from a selection. Format,
-size, colour space, sharpening, naming and where the file goes are in
-Settings, and apply to every export until changed. An export with no folder
-set is refused, and the header says so.
An album is a folder exports go to, listed under Albums in the sidebar,
+below the collections. Press + there, or New album… in the export sheet
+(Ctrl+E), name it, and choose its folder: on this device, in the system's
+folder dialogue (on the tablet, Android's folder picker), or on the server,
+in a browser that can make a folder as well as open one. Not inside the
+library — a JPEG exported there would come back from the next scan as a
+photograph of its own, and the browser says so rather than letting you.
The folder holds only the exported files. The album remembers which +photograph each came from, so selecting it in the sidebar shows the +originals behind its JPEGs — edit one and export it again. Albums reach your +other devices as collections do; a folder on this device does not, so an +album made on the desktop asks the tablet for a folder of its own. Deleting +an album leaves its files where they are.
+An export with no album chosen is refused, and the header says so.

