mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-11 16:31:32 -06:00
86 lines
7.1 KiB
Markdown
86 lines
7.1 KiB
Markdown
# What's new in LightCraft
|
|
|
|
## October 2026
|
|
|
|
### Presets and profiles
|
|
- Import presets from other editors: XMP presets, classic `.lrtemplate` files, "DNG presets" from mobile apps and `.zip`
|
|
bundles of any of these — whole folders at once, grouped by pack. Masks inside presets come along.
|
|
- Luminar looks: `.lmp` files and `.mplumpack` collections import as presets (grouped by collection); the sliders
|
|
with a counterpart here come along, the rest is listed.
|
|
- 23 new built-in presets: Portrait, Landscape, Urban, Food, Seasons, Vintage and B&W toners.
|
|
|
|
### Reliability
|
|
- Exports and renders never write over a photo's original (issue #93): exporting into the photo's own folder with
|
|
the same name and "Overwrite" (or Export with Previous repeating it), an exact output path from the control
|
|
channel or MCP, a merge preview path or `lightcraft-cli render IMG.jpg -o IMG.jpg` is refused with a clear
|
|
message, and the original is left byte for byte. Ordinary earlier exports are still overwritten when asked.
|
|
Exported files are written to a temp file, synced and then renamed into place, so a full disk or an unplugged
|
|
drive never leaves a truncated file; the XMP sidecar of an "Original" export follows the "If file exists"
|
|
choice too.
|
|
- Convert to DNG, Copy as DNG, Photo Merge and smart previews no longer write straight to the final file (issue
|
|
#106): a DNG is checked against the raw data, written to a temp file, synced and read back before it gets its
|
|
name (never replacing a file), and only then is the photo relinked or the raw copy removed — a failed write
|
|
leaves no DNG and keeps the raw. Smart previews are written the same way; a damaged one (cut short by a crash or
|
|
a full drive) no longer counts as built and Build Smart Previews replaces it.
|
|
- Import ▸ Copy verifies every copy, like Move (issue #96): each file is written as a new file, synced to disk and
|
|
compared byte for byte with the card. A copy that fails or differs is removed and reported as a failed import —
|
|
so "import complete" means the copies are good before you format the card — and a name that is taken gets -1,
|
|
-2… instead of being replaced.
|
|
- Saving metadata to an XMP sidecar another application wrote no longer replaces it (issue #92): LightCraft merges its
|
|
fields in and keeps the rest — e.g. that application's develop settings and edit history — byte for byte. A
|
|
sidecar that isn't valid XMP is copied to `<name>.xmp.bak-<time>` first. With the default stem naming, a raw and a
|
|
JPEG with the same name (`IMG_0001.CR3` + `IMG_0001.JPG`) no longer share one sidecar: the raw keeps `IMG_0001.xmp`,
|
|
the JPEG uses `IMG_0001.JPG.xmp`.
|
|
- Canon CR2 photos from the EOS 7D, 50D, 60D, 550D, 600D, 1200D, 1300D, 5D Mark II and 1D Mark IV (and other
|
|
models whose sensor starts on a green-blue row) no longer come out magenta (issue #85): the colour-filter
|
|
layout is read from each file instead of assumed.
|
|
- Exports are never black because of the GPU (issue #78): a GPU render that runs out of device
|
|
memory, exceeds the GPU's buffer limits, hits a driver error or reset, or comes back
|
|
incomplete is redone on the CPU — the file is the same image either way. Work is sent to the GPU
|
|
in short pieces so slow integrated GPUs aren't reset by their watchdog. `ui.inspect` → `perf`
|
|
(`gpuReason`, `gpuFallback`), Help ▸ System Info and Settings ▸ Performance say why the GPU isn't
|
|
used (e.g. a skipped software adapter such as llvmpipe) and why the last render fell back.
|
|
- The thumbnail cache only ever counts and deletes its own files (issue #98): a library opened on a folder that
|
|
already has a `thumbs/` folder of other pictures no longer loses them when the cache is trimmed or cleared.
|
|
|
|
### Library
|
|
- Rename Photos never overwrites another photo when only the letter case changes (issue #95): on case-sensitive
|
|
volumes (Linux, case-sensitive APFS) `img_1.JPG` next to `IMG_1.JPG` is a different photo and the renamed one gets
|
|
`img_1-1.JPG`; on case-insensitive volumes the case change still goes through.
|
|
- Rename Photos reports files it could not move back after a failure (issue #105), e.g. when a network share drops
|
|
mid-batch: the error lists them (old → new) and the library points at their new names (an undoable partial rename),
|
|
so none shows as missing. Renaming one of a raw + JPEG pair copies their shared `IMG_0001.xmp` instead of taking
|
|
it away from the other (issue #92). Find Missing Photos also finds renamed files by their content, prefers a content match
|
|
over a same-name same-size look-alike, and skips (and reports) photos it can't tell apart instead of guessing.
|
|
- Smart albums with a rule editor: match all / any / none, nested groups, 26 fields.
|
|
- Quick Collection and target album (B in the grid), keyword sets (⌥1–⌥9), colour-label sets.
|
|
- Colour-label filter with several labels at once; expandable folder tree in Local.
|
|
- Import: copy to any folder, by day / by month / one folder, rename on import, metadata preset, Copy as DNG.
|
|
- Import ▸ Move: photos go into the destination (with the same folders and renaming as Copy, e.g.
|
|
`Photos/2026/20260114/20260114_001.jpg`) together with their XMP sidecars; each original leaves the card only after its
|
|
copy is verified and in the library. Duplicates and files that fail stay where they were.
|
|
- Watched-folder auto import; Convert to DNG; Duplicate; Build Standard / 1:1 / Smart Previews.
|
|
- Export file names use the Rename Photos tokens ({title}, {seq:2}, {date:%Y-%m-%d}…), plus new {num}, {folder}, {lens}, {iso}, {rating}, {creator}.
|
|
- Copyright status, rights usage terms and copyright info URL in Info, metadata presets and exports.
|
|
- Auto-Tag from Tracklog: GPS locations for your photos from a GPX track log, matched by capture time.
|
|
- A change that can't be saved to disk (full or unplugged drive) is no longer silent: the command reports
|
|
"saved in memory but not written to disk", the top bar shows a warning, and LightCraft keeps retrying until the
|
|
save goes through.
|
|
- Smaller, faster catalogs: photos you only looked at in Local (never added, rated or edited) are forgotten once
|
|
their folder has not been browsed for 30 days — your files and sidecars stay, and browsing the folder shows them
|
|
again. Change the period (or turn it off) in Settings → Performance.
|
|
|
|
### Editing
|
|
- Auto Sync: edits apply to every selected photo. Auto B&W mix. Automatic versions.
|
|
- Colour-range masks: click the photo to sample. Luminance ranges: range bar, smoothness, luminance map.
|
|
- ⌘-drag to straighten, ⇧G Guided Upright, a grid while transforming.
|
|
|
|
### Viewing and sharing
|
|
- Slideshow, second window, All Metadata, System Info.
|
|
- Edit in External Editor (⇧⌘E): a 16-bit TIFF copy, stacked, refreshed when you come back.
|
|
- Lossy DNG files and Smart Previews open as raw photos.
|
|
- Compressed Nikon NEFs (lossless and lossy compressed, 12- and 14-bit — e.g. D3200, D5100, D7000, D750, D850, Z 50)
|
|
now develop from the raw data instead of the camera's embedded JPEG, so a B&W or other picture style set in the
|
|
camera no longer gets baked in. Photos already imported as "preview only" switch over on Reload. (Files that
|
|
Nikon splits into two differently compressed halves still use the preview for now.)
|