Bring the README's feature list and "Where it stands" up to the tree

The requirement count is 191, as traceability.md's summary now reads;
the 84% it quotes still rounds from 83.8%.

"Not built" left out two things the matrix lists as untagged and the
outstanding register describes: importing a Lightroom or darktable
catalog (FR-CAT-14) and translations past the launch screen
(NFR-A11Y-1).

The feature paragraphs predated this round: the library now filters and
sets colour labels and consolidates duplicate originals, develop corrects
converging verticals and intersects mask parts, and the keyboard
vocabulary, the help sheet (F1, or "?" in develop) and the bundled
manual it links into had no mention. The version line is left for the
release commit.
This commit is contained in:
2026-09-26 07:46:46 -04:00
parent 6979b1a2b8
commit 7c838691e9
+23 -11
View File
@@ -16,18 +16,22 @@ is still missing.
or one a Nextcloud client keeps in virtual-files mode, where a placeholder or one a Nextcloud client keeps in virtual-files mode, where a placeholder
is treated as the photograph rather than as a one-byte file — or at a is treated as the photograph rather than as a one-byte file — or at a
Nextcloud account directly. The grid is virtualised, ordered by capture Nextcloud account directly. The grid is virtualised, ordered by capture
time with a timeline beside it, and filtered by rating, flag, person and time with a timeline beside it, and filtered by rating, flag, colour label,
whether the file is here. Ratings, keywords, collections and a person and whether the file is here. Ratings, colour labels, keywords,
trash that survives a crash mid-operation. Card ingest. Bursts fold. Face collections and a trash that survives a crash mid-operation. Card ingest.
detection and identity, with the index syncing between devices. Bursts fold. The same RAW catalogued twice — a dated folder and a backup
beside it — is found, proved the same, and folded onto one copy with the
spares in the trash. Face detection and identity, with the index syncing
between devices.
**Developing.** Eighteen declared operations fused into one compute **Developing.** Eighteen declared operations fused into one compute
dispatch, plus the neighbourhood work that cannot be: clarity, texture, dispatch, plus the neighbourhood work that cannot be: clarity, texture,
capture sharpening, noise reduction, lens correction, spectral film capture sharpening, noise reduction, lens correction, spectral film
simulation. Crop and straighten, spot repair, and local adjustments over simulation. Crop, straighten and correct converging verticals, spot repair,
masks the model draws — click a subject or a category, then paint, subtract and local adjustments over masks the model draws — click a subject or a
a gradient, grow or shrink the edge. Focus peaking and a raw histogram for category, then paint, subtract a gradient or keep only where two selections
judging what is recoverable. Named presets; XMP sidecars other editors read. agree, grow or shrink the edge. Focus peaking and a raw histogram for judging
what is recoverable. Named presets; XMP sidecars other editors read.
[![Segmenting an urban scene and choosing the sky as a mask](docs/manual/media/local-segment.png)](docs/manual/README.md#local-adjustments) [![Segmenting an urban scene and choosing the sky as a mask](docs/manual/media/local-segment.png)](docs/manual/README.md#local-adjustments)
@@ -37,6 +41,13 @@ sources as a DNG, with a sidecar recording what it was merged from.
[![Twelve hand-held frames aligned on a cylinder](docs/manual/media/panorama-aligned.png)](docs/manual/README.md#merging-a-panorama) [![Twelve hand-held frames aligned on a cylinder](docs/manual/media/panorama-aligned.png)](docs/manual/README.md#merging-a-panorama)
**From the keyboard, and with its manual.** Rating, flagging and labelling
have keys in the grid and in develop, as do zoom, undo and stepping through a
shoot in develop, and none of them is keyboard-only. The help sheet (`F1`, or
`?` in develop) lists every key and gesture, generated from the code that
binds it, and links them to the sections of the manual that show them — the
manual ships with the application and opens offline.
**Export.** JPEG, PNG, AVIF, JPEG XL, 8- and 16-bit TIFF, with resize, output **Export.** JPEG, PNG, AVIF, JPEG XL, 8- and 16-bit TIFF, with resize, output
sharpening, a naming template and a colour space — to a folder here or back sharpening, a naming template and a colour space — to a folder here or back
into the library. into the library.
@@ -76,14 +87,15 @@ controls, its place in the chain and its tests.
## Where it stands ## Where it stands
**0.15.0**, twenty-three tagged releases in. 190 numbered requirements in **0.15.0**, twenty-three tagged releases in. 191 numbered requirements in
scope, 84% of them claimed by code and [traced to it](docs/dev/traceability.md); scope, 84% of them claimed by code and [traced to it](docs/dev/traceability.md);
the rest are written down rather than merely absent. the rest are written down rather than merely absent.
**Not built:** plugins (post-v1, [D12](docs/dev/requirements.md)), compare and **Not built:** plugins (post-v1, [D12](docs/dev/requirements.md)), compare and
survey culling, AI denoise, tiled rendering, HDR merge and survey culling, AI denoise, tiled rendering, HDR merge and
focus stacking, most of the Android platform integration beyond running, focus stacking, importing a Lightroom or darktable catalog, translations
and the Flatpak's library chooser. The performance targets are half beyond the launch screen, most of the Android platform integration beyond
running, and the Flatpak's library chooser. The performance targets are half
verified: the per-commit benchmark suite §8 requires exists for everything verified: the per-commit benchmark suite §8 requires exists for everything
that does not need a frame — the catalog, the scan, the thumbnails — and that does not need a frame — the catalog, the scan, the thumbnails — and
not yet for the render path, so a regression there fails nothing. not yet for the render path, so a regression there fails nothing.