diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml new file mode 100644 index 000000000..b89a00a88 --- /dev/null +++ b/.github/workflows/docs-check.yml @@ -0,0 +1,32 @@ +name: docs-check + +on: + pull_request: + paths: ["docs/user/**"] + push: + branches: [main] + paths: ["docs/user/**"] + +permissions: + contents: read + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Download the shared docs checker + id: fetch + run: | + url=https://raw.githubusercontent.com/storytold/artcraft-services/main/frontend/apps/artcraft-website-next/scripts/docs/core.mjs + if curl -fsSL "$url" -o "$RUNNER_TEMP/docs-core.mjs"; then + echo "ok=1" >> "$GITHUB_OUTPUT" + else + echo "::warning::The docs checker is not published yet; skipping." + fi + - name: Check docs/user + if: steps.fetch.outputs.ok == '1' + run: node "$RUNNER_TEMP/docs-core.mjs" docs/user diff --git a/.github/workflows/docs-publish.yml b/.github/workflows/docs-publish.yml new file mode 100644 index 000000000..df4a412cc --- /dev/null +++ b/.github/workflows/docs-publish.yml @@ -0,0 +1,22 @@ +name: docs-publish + +on: + push: + branches: [main] + paths: ["docs/user/**"] + +permissions: {} + +jobs: + rebuild: + runs-on: ubuntu-latest + steps: + - name: Rebuild getartcraft.com + env: + HOOK: ${{ secrets.DOCS_BUILD_HOOK }} + run: | + if [ -z "$HOOK" ]; then + echo "DOCS_BUILD_HOOK is not set; the nightly website build will pick this up." + exit 0 + fi + curl -fsS -X POST -d '{}' "$HOOK?trigger_title=docs%20update%20from%20$GITHUB_REPOSITORY" diff --git a/AGENTS.md b/AGENTS.md index 8cd199ff6..f2082f7a5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -95,6 +95,11 @@ of it. Full standard: `../craftrules/standards/never-crash.md` Never weaken this check to make a commit pass — fix the attribution or remove the asset. - When in doubt about an asset's licence: don't use it. +## User docs +User docs live in `docs/user/` and are published at https://getartcraft.com/docs/lightcraft. If a change alters +something a user sees or does (menu or panel labels, import, export, install, errors), update the matching page in +`docs/user/` in the same commit, or add one. Rules: `docs/user/AGENTS.md`; the checker runs in `docs-check.yml`. + ## Running and looking at the app - `cargo run --release -p lightcraft -- --control 7980` opens the desktop app with the JSON-lines control server (see `docs/control-protocol.md`). - **Never send OS-level synthetic input** (osascript/System Events keystrokes or clicks, `cliclick`, accessibility diff --git a/docs/user/AGENTS.md b/docs/user/AGENTS.md new file mode 100644 index 000000000..b9f904814 --- /dev/null +++ b/docs/user/AGENTS.md @@ -0,0 +1,62 @@ +# User docs: rules for agents and contributors + +Everything in this folder (except this file, CLAUDE.md and README.md) is published at +https://getartcraft.com/docs/lightcraft. The file path is the URL: +`troubleshooting/raw-photos-look-dull.md` → `/docs/lightcraft/troubleshooting/raw-photos-look-dull`. +Renaming a file breaks links, so add the old path to `redirect_from` when you rename. + +## Who reads this + +Artists and photographers using LightCraft, Discord mods answering them, and AI assistants looking +things up for either. Write for a photographer, not a developer. + +## Page rules + +- One question or problem per page. Lead with the answer or the fix in the first two lines. +- Plain words, short sentences, numbered steps for anything the reader does. +- Start the body at `##`. The page title comes from frontmatter. +- Link to other pages instead of repeating them. Use relative links to the `.md` file: + `[Install LightCraft](../getting-started/install.md)`. +- No marketing copy, no "simply", no claims you have not checked in the code or a release. +- Call the product "LightCraft", as the app, its downloads and getartcraft.com do. +- Name UI labels exactly as the app shows them, in **bold**. +- Troubleshooting pages: `## Symptoms`, `## Fix`, `## Why this happens` (optional), + `## Still stuck?` (link the issue tracker or Discord). + +## Frontmatter + + --- + title: Raw photos look dull + description: One sentence for search results, link previews and AI summaries. + order: 10 # optional, sorts within the folder (lower first) + verified: 0.6.0 # optional, app version you last checked this page against + redirect_from: [old/path] # optional, old URLs (relative to /docs/lightcraft) + --- + +Only `key: value` and `key: [a, b]` lines work. Quote values that start with a quote or contain ` #`. + +Set `verified` to the workspace `version` in `Cargo.toml` whenever you check a +page against the current code. + +## Folders + +- `getting-started/` install and first run +- `guides/` how to do one thing +- `troubleshooting/` symptom → fix +- `faq/` short answers +- `reference/` lists and settings + +A folder's `index.md` names the folder in the sidebar. Files or folders starting with `_` are +drafts and are not published. + +## Check before you push + + curl -fsSL https://raw.githubusercontent.com/storytold/artcraft-services/main/frontend/apps/artcraft-website-next/scripts/docs/core.mjs -o /tmp/docs-core.mjs + node /tmp/docs-core.mjs docs/user + +CI runs the same check on every PR that touches `docs/user/`. + +## Support PRs + +Pages written to answer a user question come in as PRs titled `docs(support): `. +Review them like code: check every claim against the source. diff --git a/docs/user/CLAUDE.md b/docs/user/CLAUDE.md new file mode 120000 index 000000000..47dc3e3d8 --- /dev/null +++ b/docs/user/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/docs/user/faq/free-and-private.md b/docs/user/faq/free-and-private.md new file mode 100644 index 000000000..28f7104d2 --- /dev/null +++ b/docs/user/faq/free-and-private.md @@ -0,0 +1,20 @@ +--- +title: Is LightCraft free, and does it need an account? +description: LightCraft is free and open source, needs no account or subscription, and keeps your library on your computer. +order: 10 +verified: 0.6.0 +--- + +Yes, it is free. LightCraft is open source under the MIT or Apache-2.0 licence, your choice. It needs no account, no cloud service and no subscription, and it sends no telemetry. + +## Where are my photos and edits kept? + +On your computer. Your library lives in a folder you choose, by default `~/Pictures/LightCraft Library`. Edits are non-destructive, so your original files are never touched. The catalog is a log of human-readable operations that you can back up. Use **File** > **Back Up Library…** to make a backup. + +## Which systems does it run on? + +LightCraft runs on Windows, macOS and Linux, and in a web browser. See [Install LightCraft](../getting-started/install.md). + +## Is it finished? + +No. LightCraft is in alpha. Some things from Adobe Lightroom are not there yet, such as on-screen HDR display, video and the Print, Book and Map modules. The project's [roadmap](https://github.com/storytold/lightcraft/blob/main/ROADMAP.md) lists what is missing. diff --git a/docs/user/faq/index.md b/docs/user/faq/index.md new file mode 100644 index 000000000..1ddafea53 --- /dev/null +++ b/docs/user/faq/index.md @@ -0,0 +1,8 @@ +--- +title: FAQ +description: Short answers about LightCraft, its price, platforms and file support. +order: 40 +--- + +- [Is LightCraft free, and does it need an account?](free-and-private.md) +- [Which cameras and file types does LightCraft open?](supported-files.md) diff --git a/docs/user/faq/supported-files.md b/docs/user/faq/supported-files.md new file mode 100644 index 000000000..65da107ff --- /dev/null +++ b/docs/user/faq/supported-files.md @@ -0,0 +1,22 @@ +--- +title: Which cameras and file types does LightCraft open? +description: The raw and image formats LightCraft reads, what happens with raws it cannot decode yet, and how to open Lightroom catalogs. +order: 20 +verified: 0.6.0 +--- + +LightCraft reads raw files from DNG, Canon CR2 and CR3, Sony ARW, Nikon NEF, Fujifilm RAF (including X-Trans), Panasonic RW2, Leica RWL, Pentax PEF and Olympus ORF cameras. It also opens JPEG, PNG, TIFF, WebP, PSD composites and JPEG XL. + +## What if my camera is not decoded yet? + +A raw that LightCraft cannot decode opens from the camera's embedded JPEG instead, marked **Preview only**. Compressed Olympus raws and some Canon CR3 variants work this way. See [A raw photo opens as "Preview only"](../troubleshooting/preview-only-raw.md). + +How closely the starting look matches your camera's own JPEG varies by model. See [Raw photos look dull or washed out](../troubleshooting/raw-photos-look-dull.md). The project's [raw support table](https://github.com/storytold/lightcraft/blob/main/docs/raw-parity.md) lists what is known per camera. + +## Can I open my Lightroom photos? + +Yes. LightCraft imports Lightroom Classic catalogs. See [Move over from Lightroom](../guides/import-lightroom-catalog.md). + +## What can I export? + +JPEG, PNG, TIFF, PSD, WebP, AVIF, JPEG XL and DNG, or the original files with XMP sidecars. See [Export photos](../guides/export-photos.md). diff --git a/docs/user/getting-started/index.md b/docs/user/getting-started/index.md new file mode 100644 index 000000000..7b7cef220 --- /dev/null +++ b/docs/user/getting-started/index.md @@ -0,0 +1,7 @@ +--- +title: Getting started +description: Install LightCraft on your computer and open your first library. +order: 10 +--- + +- [Install LightCraft](install.md) diff --git a/docs/user/getting-started/install.md b/docs/user/getting-started/install.md new file mode 100644 index 000000000..83b4579d2 --- /dev/null +++ b/docs/user/getting-started/install.md @@ -0,0 +1,55 @@ +--- +title: Install LightCraft +description: Download LightCraft for Windows 11, macOS or Linux, install it, and open your photo library. +order: 10 +verified: 0.6.0 +--- + +Download the file for your system from the [latest release](https://github.com/storytold/lightcraft/releases/latest) and install it. In the file names, `` stands for the version number, for example `0.6.0`. The [LightCraft page on getartcraft.com](https://getartcraft.com/apps/lightcraft) also links the download. + +## Windows 11 + +1. Open the [latest release](https://github.com/storytold/lightcraft/releases/latest). +2. Download `lightcraft--windows-x64.msi`. It fits most PCs (Intel and AMD, 64-bit). +3. Run the file. The installer asks where to install. The default is `C:\Program Files\LightCraft`, and upgrades stay in the folder you chose. +4. At the end, choose the option to start LightCraft. + +For a Snapdragon or other Arm PC, download `lightcraft--windows-arm64.msi` instead. The release also has an `x86` installer for 32-bit Windows. + +To run it without installing, download `lightcraft--windows-x64-portable.zip`. Portable builds for `arm64` and `x86` are on the release page too. + +## macOS + +1. Download `lightcraft--macos-universal.dmg`. It works on Apple silicon and Intel Macs, and is signed and notarized. +2. Open the file and install LightCraft. + +## Linux + +The release has these files for `x86_64` and `aarch64` (Arm). Replace `x86_64` with `aarch64` on Arm. + +| File | Notes | +|----------------------------------------------|----------------------------------------------------------| +| `lightcraft--linux-x86_64.AppImage` | Runs anywhere. | +| `lightcraft--linux-x86_64.flatpak` | Sandboxed. Install with `flatpak install --user `. | +| `lightcraft--linux-x86_64.deb` | For Debian and Ubuntu. | +| `lightcraft--linux-x86_64.rpm` | For Fedora, RHEL and openSUSE. | +| `lightcraft--linux-x86_64.tar.gz` | Unpack anywhere. | + +RISC-V and FreeBSD builds are on the release page too. On a Wayland desktop, LightCraft runs through XWayland when it is available, because only X11 gives it file drag-and-drop. + +## Install with ArtCraft Launcher + +[ArtCraft Launcher](https://getartcraft.com/docs/craft-launcher) lists LightCraft and can install and update it for you. On Windows it installs the release `.msi`. + +## In a web browser + +The release also has `lightcraft-web-.zip`, a static site that runs LightCraft in a modern browser. Host it on any static web server. + +## First run + +1. Start LightCraft. It opens your library at `~/Pictures/LightCraft Library`. A new library starts with demo photos. +2. To bring in your own photos, see [Import photos](../guides/import-photos.md). + +## Still stuck? + +Ask in [Discord](https://discord.gg/artcraft) or open an issue in the [issue tracker](https://github.com/storytold/lightcraft/issues). diff --git a/docs/user/guides/cull-photos.md b/docs/user/guides/cull-photos.md new file mode 100644 index 000000000..30d0b4759 --- /dev/null +++ b/docs/user/guides/cull-photos.md @@ -0,0 +1,40 @@ +--- +title: Rate, flag and label photos +description: Sort a shoot with star ratings, pick and reject flags and colour labels, from the keyboard or the Photo menu. +order: 20 +verified: 0.6.0 +--- + +Select photos in **Photo Grid** or **Square Grid**, then press a key: `1` to `5` for stars, `P` to pick, `X` to reject, `6` to `9` for a colour label. The same actions are in the **Photo** menu. + +## Steps + +1. Open the library in **View** > **Photo Grid** or **View** > **Square Grid**. +2. Click a photo to select it. Click more photos to build a selection, or use **Edit** > **Select All**. +3. Press a key: + + | Key | Action | + |--------------------|---------------------------------------------------------| + | `0` | Clear the star rating | + | `1` to `5` | Set the star rating | + | `[` and `]` | Lower or raise the rating by one, within 0 to 5 | + | `6`, `7`, `8`, `9` | Set a red, yellow, green or blue label | + | `P` | Flag as a pick | + | `X` | Flag as rejected | + | `U` | Clear the flag | + +4. To move on faster, hold `Shift` with a key. It applies the action and selects the next photo. Or turn on **Photo** > **Auto Advance** to move forward after every action. +5. For purple, or to clear a colour label, use **Photo** > **Set Color Label** or the photo's right-click menu. + +Rating, flag and label changes apply to every selected photo, and you can undo them with **Edit** > **Undo**. + +## Compare photos + +Choose **View** > **Compare** to see two photos side by side with synced zoom and pan, or **View** > **Survey** to see the selected photos tiled. The keys above then apply to the active photo only. + +## Good to know + +- **Rejected** only marks a photo for culling. It does not delete the original or remove it from the library. +- The sidebar has **Picks** for the photos you flagged. The search box understands fields, for example `rating:>3 flag:pick`. +- Choose **Help** > **Keyboard Shortcuts** to see every shortcut. +- Typing in a text field keeps the keys for typing. diff --git a/docs/user/guides/edit-a-photo.md b/docs/user/guides/edit-a-photo.md new file mode 100644 index 000000000..57c67138c --- /dev/null +++ b/docs/user/guides/edit-a-photo.md @@ -0,0 +1,39 @@ +--- +title: Edit a photo +description: Open a photo in the Edit panel, adjust Light, Color and Effects sliders, compare with the original, and undo or reset. +order: 30 +verified: 0.6.0 +--- + +Double-click a photo in the grid, then press `E` to open the **Edit** panel. Drag a slider to change the photo. Your original file is never changed, because edits are stored in the library. + +## Steps + +1. In **Photo Grid** or **Square Grid**, double-click the photo. It opens in the **Detail** view. +2. Press `E`, or choose **Window** > **Edit**, to open the **Edit** panel. +3. Click **Auto** for a first pass, or skip this step and start with the sliders. +4. Open the **Light** section and set **Exposure**, **Contrast**, **Highlights**, **Shadows**, **Whites** and **Blacks**. +5. Open the **Color** section to change **Vibrance** and **Saturation**. Open **Effects** for **Texture**, **Clarity** and **Dehaze**. The panel also has **Detail** and **Optics** sections. +6. Check your work against the original. Hold `\` to peek at the original. Press `Y` (**View** > **Compare Before and After**) to see before and after side by side. +7. To go back a step, choose **Edit** > **Undo**. To drop all edits on the photo, click **Reset** at the top of the **Edit** panel. + +## Black and white + +Click **B&W** at the top of the **Edit** panel to turn the photo monochrome. Click it again to return to colour. + +## Other edit tools + +Open them from the **Window** menu, or press the key shown next to each one: + +| Panel | Key | +|-------------------|-------------| +| **Crop & Rotate** | `C` | +| **Remove** | `H` | +| **Masking** | `M` | +| **Presets** | `Shift`+`P` | + +## Good to know + +- A raw photo that LightCraft cannot decode yet is edited from the camera's embedded JPEG. The **Edit** panel then shows **Preview only**. See [A raw photo opens as "Preview only"](../troubleshooting/preview-only-raw.md). +- When you zoom in on a large raw, the view can look soft for a few seconds while LightCraft renders the full-resolution pixels. +- To save the result as a file, see [Export photos](export-photos.md). diff --git a/docs/user/guides/export-photos.md b/docs/user/guides/export-photos.md new file mode 100644 index 000000000..784deb7ba --- /dev/null +++ b/docs/user/guides/export-photos.md @@ -0,0 +1,33 @@ +--- +title: Export photos +description: Save edited photos as JPEG, PNG, TIFF and other files with the size, folder and file names you choose. +order: 40 +verified: 0.6.0 +--- + +Select the photos, then choose **File** > **Export…**. Pick a format, a size and a folder, then click **OK**. Your originals are not changed. + +## Steps + +1. Select one or more photos in the grid. +2. Choose **File** > **Export…**. The **Export** window shows how many photos it will export. +3. Set **Format**: **JPEG**, **PNG**, **TIFF**, **PSD**, **WebP**, **AVIF**, **JPEG XL**, **DNG** or **Original files**. **DNG** writes raw photos as DNG with the edits embedded. **Original files** copies the files unchanged, each with an XMP sidecar that holds its edits. +4. For **JPEG**, **AVIF** or lossy **JPEG XL**, set **Quality**. For **JPEG XL**, tick **Lossless** to keep every pixel exactly, at the cost of larger files. +5. Under the size options, tick **Full size**, or clear it and choose **Resize to** one of **Long Edge**, **Short Edge**, **Width**, **Height**, **Width × Height**, **Megapixels** or **Percentage**, then enter the value. +6. Set **Color space** (**sRGB**, **P3**, **Adobe RGB**, **ProPhoto** or **Rec.2020**) if you need something other than the default. +7. Optional: set **Sharpen** for **Screen**, **Matte** or **Glossy** output, set **Metadata** to **All**, **No camera**, **Copyright** or **None**, and tick **Remove location info** or **Watermark**. +8. Next to **Folder**, click **Choose…** and pick where the files go. **Subfolder** adds a folder inside it. +9. Set **File name** to a template such as `{name}-{seq}`. Click **Tags** to see the tags you can insert. +10. Set **If file exists** to **Add number**, **Overwrite** or **Skip**. +11. Click **OK**. + +If you did not choose a folder, the window stays open and shows an error, so your choices are not lost. + +## Reuse your settings + +- To keep a set of choices, type a name next to **Save preset** and click **Save**. Pick it again later with **Preset** at the top of the window. +- **File** > **Export with Previous** repeats your last export. It tells you to use **Export…** first if you have not exported yet. + +## Contact sheet + +To make a PDF of thumbnails, select photos and choose **File** > **Contact Sheet PDF…**. diff --git a/docs/user/guides/import-lightroom-catalog.md b/docs/user/guides/import-lightroom-catalog.md new file mode 100644 index 000000000..e06705d9b --- /dev/null +++ b/docs/user/guides/import-lightroom-catalog.md @@ -0,0 +1,40 @@ +--- +title: Move over from Lightroom +description: Import a Lightroom Classic catalog into LightCraft, and learn what comes across and what does not. +order: 50 +verified: 0.6.0 +--- + +Choose **File** > **Import Lightroom Catalog…** and pick your `.lrcat` file. LightCraft reads it directly. You do not need Lightroom installed. + +## Steps + +1. Open the library you want the photos in. To start a new one, use **File** > **New Library…**. +2. Choose **File** > **Import Lightroom Catalog…**. +3. Pick your Lightroom Classic catalog, the file that ends in `.lrcat`. You can also give **File** > **Open Library…** a Lightroom catalog folder. LightCraft then offers this import instead of making a library there. +4. Wait for the import to finish. It shows progress and runs in the background. A message reports how many photos were added. + +If you change your mind, one **Edit** > **Undo** reverses the changes to the catalog. + +## What comes across + +- Ratings, picks and rejects, and colour labels +- Keywords, including hierarchical ones, and XMP metadata +- Collections and collection sets, which become albums +- Virtual copies +- Develop settings that LightCraft can map + +Original files stay where they are, and LightCraft refers to them in place. Photos whose originals are missing stay in the library so you can relink them later. LightCraft never changes your Lightroom catalog or your originals. + +## What does not match + +- Develop settings are an approximation. Camera profiles, Adobe's AI models and some masking and retouch fields are not reproduced, and settings LightCraft cannot map are reported. +- Smart collections become regular albums that hold the photos they contain at the time of import. +- Lightroom's process version is not carried over. Imported photos use LightCraft's newest rendering. + +## Good to know + +- Before it changes anything, LightCraft tries to save your source settings, history and collections in a recovery archive in the library's `Interop` folder. This is best effort. If it fails, the photos are still imported with a warning. +- Importing the same catalog again does not duplicate virtual copies or collections. By default, edits you already made in LightCraft are kept. +- A big catalog can take a long time. In one report, 38,000 photos took about 25 minutes from a USB SSD, and **Cancel** waited for the current work to finish. +- The browser version cannot import a catalog. diff --git a/docs/user/guides/import-photos.md b/docs/user/guides/import-photos.md new file mode 100644 index 000000000..13e1b5eec --- /dev/null +++ b/docs/user/guides/import-photos.md @@ -0,0 +1,33 @@ +--- +title: Import photos +description: Bring photos from a folder or card into your LightCraft library, in place or as copies. +order: 10 +verified: 0.6.0 +--- + +Use **File** > **Import Photos…** to pick files, or **File** > **Import from Folder…** to scan a whole folder. Both open the **Import Photos** window, where you choose what to bring in and how. + +## Steps + +1. Open the **File** menu and choose **Import Photos…** or **Import from Folder…**, then pick the files or the folder. +2. Look at the thumbnails. Every photo that can be imported has a checkbox. Click a photo to check or uncheck it. Shift-click sets a range. **Check All** and **Uncheck All** change every photo at once. +3. Photos already in your library are marked **Duplicate** or **In library** and start unchecked. A file LightCraft cannot read is marked **Unreadable**. +4. Under **Transfer**, choose how the files get into the library: + - **Add in place** keeps the files where they are. The library only points to them. Nothing is copied or moved. + - **Copy** copies the files into the library's `Originals` folder, or into a folder you pick with **Choose…** next to **Copy to**. + - **Move** does the same, then removes each original from its source once the copy is verified and catalogued. +5. With **Copy** or **Move**, set **Folders** to sort the copies **By day (YYYY/YYYY-MM-DD)**, **By month (YYYY/YYYY-MM)**, **Into one folder**, or with a **Custom template…**. Use **Rename** to give the files new names, for example `{date}_{seq:3}`. Leave it empty to keep the names. With **Copy**, **Copy as DNG** converts raw files to DNG. +6. Optional: set **Album** to add the photos to an existing album or a new one, **Preset** to apply a preset to every photo, and **Keywords** (separated by commas). +7. Click the button at the bottom. It shows the number of checked photos, for example **Import 24 Photos**. With **Move** it reads **Move 24 Photos**. + +The import runs in the background, and you can keep working while it does. The whole import is one undo step. + +## Good to know + +- Importing a folder scans it for photos. It does not add the folder to **Local**. To work in a folder without importing, use **Local** > **Browse Folder…**. +- Folder names and `{date}` use the capture time. A photo without one uses today's date. +- Raw formats LightCraft reads include DNG, Canon CR2 and CR3, Sony ARW, Nikon NEF, Fujifilm RAF, Panasonic RW2, Leica RWL, Pentax PEF and Olympus ORF. Some variants open as **Preview only**. See [A raw photo opens as "Preview only"](../troubleshooting/preview-only-raw.md). + +## Next + +[Rate, flag and label photos](cull-photos.md) to sort out the keepers. diff --git a/docs/user/guides/index.md b/docs/user/guides/index.md new file mode 100644 index 000000000..b3c656946 --- /dev/null +++ b/docs/user/guides/index.md @@ -0,0 +1,11 @@ +--- +title: Guides +description: How to do one thing in LightCraft. +order: 20 +--- + +- [Import photos](import-photos.md) +- [Rate, flag and label photos](cull-photos.md) +- [Edit a photo](edit-a-photo.md) +- [Export photos](export-photos.md) +- [Move over from Lightroom](import-lightroom-catalog.md) diff --git a/docs/user/index.md b/docs/user/index.md new file mode 100644 index 000000000..33b325098 --- /dev/null +++ b/docs/user/index.md @@ -0,0 +1,26 @@ +--- +title: LightCraft +description: LightCraft is a free, open-source photo library and raw developer, an alternative to Adobe Lightroom. +verified: 0.6.0 +--- + +LightCraft is a photo library and raw developer that runs on your own computer. It is an open-source alternative to Adobe Lightroom, written in Rust, and part of the Craft App Suite from the ArtCraft team. + +You import photos, sort them with ratings, flags and albums, and edit them without touching the originals. It reads raw files from Canon, Sony, Nikon, Fujifilm, Panasonic, Leica, Pentax and Olympus cameras, and DNG. There is no account, no cloud, no telemetry and no subscription. It runs on Windows, macOS and Linux, and in a web browser. LightCraft is in alpha, so expect rough edges. + +## Start here + +- [Install LightCraft](getting-started/install.md) +- [Import photos](guides/import-photos.md) +- [Rate, flag and label photos](guides/cull-photos.md) +- [Edit a photo](guides/edit-a-photo.md) +- [Export photos](guides/export-photos.md) +- [Move over from Lightroom](guides/import-lightroom-catalog.md) +- [A raw photo opens as "Preview only"](troubleshooting/preview-only-raw.md) +- [Raw photos look dull or washed out](troubleshooting/raw-photos-look-dull.md) +- [Get help with a problem](troubleshooting/get-help.md) +- [Frequently asked questions](faq/index.md) + +## Get help + +Ask in [Discord](https://discord.gg/artcraft) or open an issue in the [issue tracker](https://github.com/storytold/lightcraft/issues). Say which system and camera you use, and your LightCraft version (**Help** > **About LightCraft**). diff --git a/docs/user/troubleshooting/get-help.md b/docs/user/troubleshooting/get-help.md new file mode 100644 index 000000000..7764ee2cc --- /dev/null +++ b/docs/user/troubleshooting/get-help.md @@ -0,0 +1,26 @@ +--- +title: Get help with a problem +description: What to include when you ask for help with a LightCraft bug, and where to post it. +order: 30 +verified: 0.6.0 +--- + +Open an issue in the [issue tracker](https://github.com/storytold/lightcraft/issues), or ask in [Discord](https://discord.gg/artcraft). Include your version, your system, what you did, and what you expected. + +## What to include + +1. **Your version.** Choose **Help** > **About LightCraft**. +2. **Your system.** For example Windows 11, 64-bit. **Help** > **System Info…** shows details about your computer. +3. **The steps.** What you clicked, in order, and what happened. +4. **The camera and file type**, if the problem is with a photo. +5. **A sample file**, if a raw or other photo renders wrong. Maintainers ask for the original file, not an export. A link to a shared folder works. Uploading raws to [raw.pixls.us](https://raw.pixls.us) also helps, because every file there becomes a permanent test sample for that camera. +6. **A screenshot** of LightCraft next to the camera JPEG or the other app, for colour problems. +7. **The log file.** Choose **Help** > **Open Log Folder** and attach `lightcraft.log`. + +## Where the log is + +LightCraft writes its log to `logs/lightcraft.log` in its settings folder. On Windows that is `%APPDATA%\LightCraft\logs\`. Each start moves the previous log to `lightcraft.1.log`, and that one to `lightcraft.2.log`, so the log of a run that crashed survives the next start. + +## Still stuck? + +Ask in [Discord](https://discord.gg/artcraft). diff --git a/docs/user/troubleshooting/index.md b/docs/user/troubleshooting/index.md new file mode 100644 index 000000000..b82ed2e86 --- /dev/null +++ b/docs/user/troubleshooting/index.md @@ -0,0 +1,9 @@ +--- +title: Troubleshooting +description: Fixes for common LightCraft problems. +order: 30 +--- + +- [A raw photo opens as "Preview only"](preview-only-raw.md) +- [Raw photos look dull or washed out](raw-photos-look-dull.md) +- [Get help with a problem](get-help.md) diff --git a/docs/user/troubleshooting/preview-only-raw.md b/docs/user/troubleshooting/preview-only-raw.md new file mode 100644 index 000000000..af7720a37 --- /dev/null +++ b/docs/user/troubleshooting/preview-only-raw.md @@ -0,0 +1,31 @@ +--- +title: A raw photo opens as "Preview only" +description: Why LightCraft shows a raw photo as Preview only, and how to make it decode after an update with Reload from Disk. +order: 10 +verified: 0.6.0 +--- + +Select the photo and choose **Photo** > **Reload from Disk**. If your version can decode that raw now, LightCraft reads the sensor data again and the **Preview only** notice goes away. + +## Symptoms + +- The **Edit** panel shows **Preview only**, with the text "LightCraft can't decode this raw variant yet" and the name of the variant. +- You updated LightCraft to a version that supports your camera, and the photo still looks the same. + +## Fix + +1. In the grid, select the photos that show **Preview only**. +2. Choose **Photo** > **Reload from Disk**. The right-click menu on a photo has the same entry. +3. Open a photo again. If **Preview only** is gone, the photo is now decoded from the raw data. + +If **Preview only** stays, your version still cannot decode that raw variant. Update to the [latest release](https://github.com/storytold/lightcraft/releases/latest) and try again, or report the file as described in [Get help with a problem](get-help.md). + +## Why this happens + +When LightCraft cannot decode a raw on import, it remembers that and shows the camera's embedded JPEG. It does not check again after an update on its own. **Reload from Disk** is the way to make it check, and importing the photos again works too. Compressed Olympus raws and some Canon CR3 variants are examples of files that use the embedded preview. + +Photos shown from the preview keep the camera's picture style and white balance, because they are the camera's own JPEG. + +## Still stuck? + +Ask in [Discord](https://discord.gg/artcraft) or open an issue in the [issue tracker](https://github.com/storytold/lightcraft/issues). diff --git a/docs/user/troubleshooting/raw-photos-look-dull.md b/docs/user/troubleshooting/raw-photos-look-dull.md new file mode 100644 index 000000000..0b0883412 --- /dev/null +++ b/docs/user/troubleshooting/raw-photos-look-dull.md @@ -0,0 +1,38 @@ +--- +title: Raw photos look dull or washed out +description: What to do when a raw photo looks flat, grey or desaturated in LightCraft compared with the camera JPEG. +order: 20 +verified: 0.6.0 +--- + +Update to the latest LightCraft, then import the photo again. Colour handling for raw files changed a lot between 0.4.0, 0.5.0 and 0.6.0, and several flat-looking Sony and Fujifilm cases are fixed. Some Leica DNGs still look dull. + +## Symptoms + +- A raw photo looks flat, grey or desaturated as soon as you open it. +- The preview or thumbnail looks right, but the opened photo does not. +- Blacks look lifted, and the shadows look grey. + +## Fix + +1. Check your version in **Help** > **About LightCraft**. If it is older than 0.6.0, install the [latest release](https://github.com/storytold/lightcraft/releases/latest). See [Install LightCraft](../getting-started/install.md). +2. Import the raw photo again, or select it and choose **Photo** > **Reload from Disk**. +3. If it still looks dull, adjust it by hand in the **Edit** panel. See [Edit a photo](../guides/edit-a-photo.md). +4. If you think the starting look is wrong for your camera, report it with the original raw file. See [Get help with a problem](get-help.md). + +## Why this happens + +LightCraft develops a raw from the sensor data and tries to match the look of the camera's own JPEG. How well it matches depends on the camera model. + +- **Sony ARW:** on 0.5.0 and older, some Lossless Compressed M-size files had lifted blacks, and an A7 II file lost most of its colour. Both were fixed after 0.5.0. The A7 II colour fix is in 0.6.0. Some files still fall short on dark scenes and on in-camera Dynamic Range Optimizer shots. +- **Fujifilm X-Pro1 and Sony A7 IV:** reported dull on 0.4.0 and fine on 0.6.0. +- **Leica DNG:** these files carry a colour matrix but no tone curve, so 0.6.0 shows them darker and flatter than the camera JPEG. A fix was waiting for review at the time of writing. +- **Adobe RGB:** if the camera was set to Adobe RGB, LightCraft read the embedded JPEG as sRGB and matched to a too-dull target. The fix came after 0.6.0 and ships in a later release. + +## A soft picture after zooming in + +If a large raw looks soft right after you zoom in, wait a few seconds. LightCraft first shows the fit-size picture enlarged, then renders the zoomed area from the full-resolution raw and swaps it in. On a 61 MP file this can take a few seconds. If it stays soft at **Zoom 100%** (**View** > **Zoom 100%**), report it. + +## Still stuck? + +Ask in [Discord](https://discord.gg/artcraft) or open an issue in the [issue tracker](https://github.com/storytold/lightcraft/issues).