diff --git a/README.md b/README.md index 9da242e..a1e4cf7 100644 --- a/README.md +++ b/README.md @@ -25,26 +25,34 @@ 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 -dispatch, plus the neighbourhood work that cannot be: clarity, texture, -capture sharpening, noise reduction, lens correction, spectral film -simulation. Crop, straighten and correct converging verticals, spot repair, -and local adjustments over masks the model draws — click a subject or a -category, then paint, subtract a gradient or keep only where two selections -agree, grow or shrink the edge. A mask's sliders add to the photograph's, the -film's among them, so a sky can be burned in on the print as a darkroom -printer would. Hot and dead photosites are mended before the demosaic, with -nothing to set. Focus peaking and a raw histogram for judging -what is recoverable. Presets, with a collection shipped in the application — +**Developing.** Nineteen declared operations, those that read one pixel +fused into a generated shader rather than run a pass each, plus the +neighbourhood work that cannot be: clarity, texture, dehaze, capture +sharpening, noise reduction, lens correction. Every edit works on the scene +as the camera recorded it — linear, highlights beyond white included — and +one `Tone Mapping` step, last, after sharpening and noise reduction, fits it +to the screen, with a contrast and a white point of its own; a spectral film +stock takes its place when one is chosen. Crop, straighten and correct +converging verticals, spot repair, and local adjustments over masks the +model draws — click a subject or a category, then paint, subtract a gradient +or keep only where two selections agree, grow or shrink the edge. A mask's +sliders add to the photograph's, the film's among them, so a sky can be +burned in on the print as a darkroom printer would. Hot and dead photosites +are mended before the demosaic, with nothing to set. Focus peaking and a raw +histogram for judging what is recoverable. Presets, a click away in a menu +at the foot of the tool rail, with a collection shipped in the application — everyday corrections, and a look for each measured colour, cinema and black-and-white stock — and Lightroom presets imported as looks that leave a -photograph's own corrections alone. XMP sidecars other editors read. +photograph's own corrections alone. XMP sidecars other editors read. A +linear DNG larger than one GPU texture — a stitched panorama twenty thousand +pixels wide — opens, develops and exports at full size. [![Segmenting an urban scene and choosing the sky as a mask](docs/manual/media/local-segment.png)](docs/manual/README.md#local-adjustments) -**Panoramas.** Select the frames, align, choose a projection, fill the -ragged border rather than crop it, and the composite lands beside its -sources as a DNG, with a sidecar recording what it was merged from. +**Panoramas.** Select the frames, align, untick any frame to leave it out +and the rest re-align at once, choose a projection, fill the ragged border +rather than crop it, and the composite lands beside its 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) @@ -96,19 +104,19 @@ controls, its place in the chain and its tests. ## Where it stands -**0.18.2**, twenty-eight tagged releases in. 192 numbered requirements in -scope, 84% of them claimed by code and [traced to it](docs/dev/traceability.md); +**0.18.2**, twenty-eight tagged releases in. 193 numbered requirements in +scope, 85% of them claimed by code and [traced to it](docs/dev/traceability.md); the rest are written down rather than merely absent. **Not built:** plugins (post-v1, [D12](docs/dev/requirements.md)), compare and -survey culling, AI denoise, tiled rendering, HDR merge and -focus stacking, importing a Lightroom or darktable catalog, translations -beyond the launch screen, most of the Android platform integration beyond -running, and a Flatpak actually built and run in its sandbox. The -performance targets are half verified: the per-commit benchmark suite §8 -requires exists for everything 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. +survey culling, AI denoise, tiled rendering beyond the export of an oversized +DNG, HDR merge and focus stacking, importing a Lightroom or darktable catalog, +translations beyond the launch screen, most of the Android platform +integration beyond running, and a Flatpak actually built and run in its +sandbox. The performance targets are half verified: the per-commit benchmark +suite §8 requires exists for everything 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. [outstanding.md](docs/dev/outstanding.md) is the list, with the reasoning for each. diff --git a/docs/dev/outstanding.md b/docs/dev/outstanding.md index 79ffc6b..30c644b 100644 --- a/docs/dev/outstanding.md +++ b/docs/dev/outstanding.md @@ -46,6 +46,13 @@ before the demosaic, for Bayer and X-Trans alike and with no setting (FR-RAW-3; reader in `dr-decode` is still not wired in, and a CR2 carries no map for it to read); and the tablet's scrollers, which §4a now describes. +**And for 0.19.0.** D19 rebuilt the develop pipeline around one rule — scene-linear from the camera +matrix to a single view transform, last ([architecture.md §6.14](architecture.md)) — which neither +closed nor opened an entry here: FR-DEV-3e's per-body base curves are retired by decision rather than +left outstanding, and its DCP half stays deferred as before. §4's FR-DSP-2 and NFR-RES-2 entries +record the one case that now tiles, a linear DNG larger than one texture, and §11 the merge's frame +choice, which changes how FR-MRG-5 is met rather than whether. + --- ## 1. Plugins — post-v1 since 2026-09-19 @@ -576,7 +583,9 @@ whether something *should* be built — which is the opposite of the order §9 a and focus stacking there with their data model decided. Its clauses entered the register with no code behind them, which is why the coverage figure fell from 83.0% to 77.2% on that day — and the panorama was then built in the same week: alignment, projections, the chunked composite written as -a DNG beside its sources, the auto-crop and the model's border fill. +a DNG beside its sources, the auto-crop and the model's border fill. In 0.19.0 a frame that cannot +be placed no longer ends the job: it is named on its row and the merge waits for it to be unticked, +and any frame can be left out that way without reading the rest again (panorama.md §15). [panorama.md](panorama.md) §11 and §13 are where it stands. Three clauses carry no tag: