Chad Elliott and Claude Opus 5.5
fe3b1813b1
docs(gpu): #1050 the skip check also expects the device-memory test, which a software adapter can't run out of
...
#3419 added a test that holds device memory until an allocation fails; on lavapipe the allocations
never fail, so it skips with the opt-in too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 23:31:56 -05:00
Chad Elliott and Claude Opus 5.5
15bacc7660
docs(gpu): #1050 the skip-log check catches every GPU skip and logs to a private directory
...
The check grepped for "no GPU adapter" only, so the ctx unit tests' "no
GPU device" skips (and nn's "no GPU runner here") went unseen. It now
lists every "need":"gpu" line except the expected device-loss one. On
the 2026-10-30 lavapipe logs it shows all 24 GPU skips without the
opt-in (the old grep showed 21) and nothing with it.
The log goes in a new mktemp -d directory instead of a fixed /tmp name
another local user could plant a symlink at.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 22:26:51 -05:00
Chad Elliott and Claude Opus 5.5
21a7d64d46
docs(gpu): #1050 run the GPU tests locally on a software adapter
...
docs/gpu-pipeline.md says how to run lightcraft-gpu's tests on a machine
without a GPU: LIGHTCRAFT_GPU_ALLOW_SOFTWARE=1 admits Mesa's lavapipe on
Linux and WARP on Windows (Metal on macOS needs nothing), and
LIGHTCRAFT_SKIP_LOG shows whether anything still skipped for want of an
adapter. The comments on the variable and in equivalence.rs no longer
say CI runs them: the platform CI legs of #1148 are not landing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 22:26:51 -05:00
Chad Elliott and Claude Opus 5.5
fc99d212f6
test(gpu): #1050 opt-in software adapter for the equivalence tests
...
`Gpu::new` refuses software adapters (llvmpipe / lavapipe, WARP): the CPU
pipeline is faster. CI runners have nothing else, so the CPU <-> GPU
equivalence tests have always skipped there.
`LIGHTCRAFT_GPU_ALLOW_SOFTWARE=1` admits them. The app never sets it and
the default is unchanged. On lavapipe all 134 compared renders stay within
max 1 LSB, mean <= 0.0003 LSB, the same as Metal on an M4 Pro.
The two big-source window tests used a 24 MP (288 MB) source. That is over
lavapipe's 128 MiB storage binding (the WebGPU default), so geometry ran on
the CPU and nothing was uploaded: one test failed and the other passed
without checking anything. They now use 3200 x 3200 (117 MiB): above
RETAIN_SOURCE_BYTES, so the source is still shared, and uploaded on every
adapter.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 22:26:43 -05:00
Dylan M. Taylor
c50b74df9c
packaging(flatpak): add OCI image build and GHCR publishing helper ( #3498 )
2026-10-31 18:53:05 -04:00
Brandon Thomas
2987aeef7a
Merge pull request #3390 from nledford/flatpak-a11y-bus
...
LR-BEHAV-ACCESS: the Flatpak may talk to the accessibility bus, so Orca can read LightCraft
2026-10-31 13:11:30 -04:00
Nathaniel Ledford
a26512c39c
Docs: the accessibility bus access is untested with Orca
2026-10-31 07:33:54 -04:00
Nathaniel Ledford
e845b97d8d
LR-BEHAV-ACCESS: the Flatpak may talk to the accessibility bus, so Orca can read LightCraft
2026-10-31 07:33:45 -04:00
aiongg
c4fd54e0a6
Merge pull request #3430 from aiongg/integration-r3
...
Integration r3: 178 reviewed PRs
2026-10-31 01:59:18 -04:00
aiongg
e80c3e3e13
Merge upstream main into integration-r3
2026-10-31 05:09:34 +00:00
Dylan M. Taylor
8aedfce0dc
Merge pull request #3436 from aiongg/docs-tidy
...
docs: tidy agent, contributor and asset docs
2026-10-31 01:06:30 -04:00
Dylan M. Taylor
24a3033395
Merge pull request #3437 from aiongg/update-result-dialog
...
Updates: shared check-result dialog from craft-update
2026-10-31 01:06:04 -04:00
aiongg
e31f826d5f
updates: show check results with craft-update's CheckResultDialog
2026-10-31 04:42:29 +00:00
aiongg
da3d2c768c
docs: tidy wording
2026-10-31 04:26:44 +00:00
aiongg
a9ac47cbce
docs: tidy wording
2026-10-31 04:25:37 +00:00
aiongg
ffd5a4a22b
docs: tidy agent, contributor and asset docs
2026-10-31 04:17:15 +00:00
aiongg
7b6e1114a0
Integration: drop #2707 (multi-select model waits for its stack: #3106 , #3107 , #3108 , #2757 )
2026-10-31 03:49:08 +00:00
aiongg
1b5cdc89ca
Integration: catalog videos pass the non-media filter ( #2021 with the #2135 refusal)
2026-10-31 03:36:11 +00:00
Brandon Thomas and Claude Opus 5.5
cdf00cc84b
Release 0.16.0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.16.0
2026-10-30 23:22:53 -04:00
aiongg
71aaf18818
Integration: GPX attributes use decoded_and_normalized_value (deprecated method fails clippy)
2026-10-31 03:09:09 +00:00
aiongg
a4dc70c07b
Integration: sort modules, merge duplicated checklist and gap rows from the combined tracks
2026-10-31 02:42:54 +00:00
aiongg
ee0a627536
Merge track r3-t10
...
# Conflicts:
# crates/engine/src/cmd/masks.rs
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hant.json
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:31:38 +00:00
aiongg
56c842d8fe
Merge track r3-t09
...
# Conflicts:
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/ui-parity.md
# docs/whats-new.md
2026-10-31 02:31:25 +00:00
aiongg
e05c4f7e7c
Merge track r3-t08
...
# Conflicts:
# crates/meta/README.md
# crates/ui-egui/locales/cs.json
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fi.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/id-formats.json
# crates/ui-egui/locales/id.json
# crates/ui-egui/locales/it.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka-formats.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pl.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/sv-formats.json
# crates/ui-egui/locales/sv.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/vi.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/panels/grid.rs
# crates/ui-egui/tests/it/main.rs
# docs/gaps.md
# docs/library-shortcuts.md
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/user/guides/export-photos.md
# docs/whats-new.md
2026-10-31 02:31:16 +00:00
aiongg
1f111b5e80
Merge track r3-t07
...
# Conflicts:
# crates/engine/src/tests/libops.rs
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:21 +00:00
aiongg
8415fd6a90
Merge track r3-t06
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg
0fa59f8846
Merge track r3-t05
...
# Conflicts:
# crates/ui-egui/locales/cs-formats.json
# crates/ui-egui/locales/cs.json
# crates/ui-egui/locales/de-formats.json
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es-formats.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fi-formats.json
# crates/ui-egui/locales/fi.json
# crates/ui-egui/locales/fr-formats.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/id-formats.json
# crates/ui-egui/locales/id.json
# crates/ui-egui/locales/it-formats.json
# crates/ui-egui/locales/it.json
# crates/ui-egui/locales/ja-formats.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka-formats.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pl-formats.json
# crates/ui-egui/locales/pl.json
# crates/ui-egui/locales/pt-br-formats.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru-formats.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/sv-formats.json
# crates/ui-egui/locales/sv.json
# crates/ui-egui/locales/uk-formats.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/vi-formats.json
# crates/ui-egui/locales/vi.json
# crates/ui-egui/locales/zh-hans-formats.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant-formats.json
# crates/ui-egui/locales/zh-hant.json
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg
5e56e9536b
Merge track r3-t04
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:01 +00:00
aiongg
67b636329a
Merge track r3-t03
...
# Conflicts:
# crates/ui-egui/src/tests/drop_import.rs
# crates/ui-egui/tests/it/main.rs
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:29:52 +00:00
aiongg
46982a5c4f
Merge track r3-t02
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:29:22 +00:00
aiongg
3b64cb937e
Merge track r3-t01
2026-10-31 02:29:11 +00:00
aiongg
b500ddadd0
Integration: #2605 use unsigned_abs for the written UTC offset and skip offsets beyond 18 h; test with i16::MIN
2026-10-31 02:22:42 +00:00
aiongg
4c09312f95
Integration: cargo fmt
2026-10-31 02:22:11 +00:00
aiongg
90c97d38c3
Integration: cargo fmt
2026-10-31 02:22:05 +00:00
aiongg
a461614d56
Integration: cargo fmt
2026-10-31 02:21:18 +00:00
aiongg
3f68029b4b
Integration: #2639 pass the develop settings to brush_tool (port to panels/detail/masks.rs)
2026-10-31 02:21:14 +00:00
aiongg
c1ce177f0f
Integration: cargo fmt
2026-10-31 02:19:24 +00:00
aiongg
ec3cada711
Integration: #2890 re-export preset_lzw_note for the grid context menu
2026-10-31 02:19:19 +00:00
aiongg
02be9051c8
Integration: #2237 drop duplicate ru key 'Thumbnail size' (main already has it)
2026-10-31 02:18:25 +00:00
aiongg
057ef1fd27
Integration: #3006 use binary() in the non-finite --set test
2026-10-31 02:17:56 +00:00
aiongg
e0f8e09431
Merge PR #3409 : Issue #3405 : Auto Import waits for an import that starts during its listing
2026-10-31 02:12:00 +00:00
aiongg
1e0289cb37
Merge PR #3403 : LRC-LIB-CATALOG-SWITCH: files waiting for a library wait for a running import instead of being dropped
...
crates/ui-egui/src/dialogs/settings/libraries.rs: can_switch_library keeps both refusals (folder.move pick pending, files waiting to import).
docs/whats-new.md: the PR's entry added under the 2026-10-30 heading.
2026-10-31 02:12:00 +00:00
aiongg
e235ac71e2
Merge PR #3375 : LR-IMP-FORMATS: a Samsung panorama JPEG with its SEF trailer imports
...
docs/whats-new.md: the PR's 2026-10-30 section added above main's sections.
2026-10-31 02:11:48 +00:00
aiongg
9b5a339ac5
Merge PR #3325 : LRC-LIB-FOLDERS: Move Folder To… asks for the destination without freezing the window
...
crates/ui-egui/src/panels/left/folders.rs: main's built-in-place guard around Rename and Move kept; the Move item is the PR's move_folder_item inside it.
docs/parity-checklist.md: the PR's edits to its rows applied to main's rows.
docs/whats-new.md: the PR's entry added under the 2026-10-29 heading.
2026-10-31 02:11:38 +00:00
aiongg
d8f45ed5a5
Merge PR #3322 : LRC-LIB-CATALOG-SWITCH: a library missing at launch is reported instead of being made anew with demo photos
...
docs/parity-checklist.md: the PR's edit to the LRC-LIB-CATALOG-SWITCH row applied to main's row.
docs/whats-new.md: the PR's 2026-10-29 section added above main's sections.
2026-10-31 02:11:23 +00:00
aiongg
c524a2d12c
Merge PR #3419 : Issue #1764 : running out of device memory falls back without stopping the GPU
2026-10-31 02:11:06 +00:00
aiongg
799beaf5e4
Merge PR #2989 : GPU-TESTS: every WGSL kernel parses and validates in the test run, without a GPU
2026-10-31 02:11:06 +00:00
aiongg
c2155326d6
Merge PR #2942 : Issue #2936 : build the GPU kernels on parallel threads
2026-10-31 02:11:04 +00:00
aiongg
76a03de507
Integration: #2421 adapt the window-surface test to choose(files, compose_window)
2026-10-31 02:11:04 +00:00
aiongg
e619c977b9
Merge PR #3276 : LRC-LIB-FOLDERS: the home folder and Local's built-in places can't be renamed or moved
...
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; the PR's edit to the LRC-LIB-FOLDERS row applied to main's row; revision rows union, newest first.
docs/whats-new.md: the PR's 2026-10-28 section added above 2026-10-27.
2026-10-31 02:11:01 +00:00