eliets2
f4b7175429
LR-IMP-FORMATS: property tests for the CRX decoder through the public decode path
...
crates/raw/tests/crx_properties.rs drives lightcraft_raw::decode with
synthetic CR3 containers built around CRX streams that the test encodes
itself: reference entropy coders for the MED, Rice, MELCODE and QP-map
layouts, and the exact algebraic inverse of one 5/3 lifting line. The
tile-halo coefficients are free parameters of that inverse, so synthesis
must reconstruct any encoded plane exactly. Tests only; no decoder change.
- Wavelet round trip: random planes decode exactly across odd plane sizes
and multi-tile halo configurations (eight geometries, arbitrary halo
values).
- Quantization: every uniform quant value 4..=44 and every adaptive QP value
131..=168 dequantizes within the 14-bit range. Overshoot is clamped, and
an in-range plane lands exactly on level * step, so the step sequence
itself is observable. Quant 3 and 45 and QP 130 and 169 are rejected by
decode and probe_info alike. Random QP maps, including odd map heights,
with random per-band base and gain stay in range.
- Lossless samples outside the bit depth are Corrupt errors instead of being
clamped; in-range planes decode exactly.
- Adversarial entropy payloads planted in well-formed lossless, C-RAW,
version 0x200 and QP-map streams either error or decode deterministically
and never panic. A QP Rice prefix longer than the 23-zero escape is
Corrupt.
- Random IAD1 geometry either decodes with the active area inside the
sensor and the crop inside the active area, or is rejected.
- Decoding gives identical results across repeated and four-way parallel
invocations.
- Odd QP-map heights decode: the last QP row has no partner and is used
alone, and QP values are averaged before the step lookup. Large QP jumps
take the escape code.
The case budget is proptest's default (256 per property); set
PROPTEST_CASES to change it.
2026-10-13 10:40:45 +03:00
Brandon Thomas
b3d392b499
Merge pull request #1438 from storytold/claude/integrate-batch-32
...
Integration batch 32-2: 7 reviewed contributor PRs
2026-10-13 02:18:34 -04:00
Brandon Thomas and Claude Opus 5.5
ae9b09d3c2
Batch 32: rustfmt after merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 02:07:07 -04:00
Brandon Thomas
c94ebae470
Merge PR #1185
2026-10-13 02:06:07 -04:00
Brandon Thomas
4ee6a4888b
Merge PR #1126
2026-10-13 02:05:14 -04:00
Brandon Thomas
68bacba288
Merge PR #1113
2026-10-13 02:04:31 -04:00
Brandon Thomas
8a640dc70b
Merge PR #1077
2026-10-13 02:04:06 -04:00
Brandon Thomas
478f20054b
Merge PR #1056
2026-10-13 02:02:17 -04:00
Brandon Thomas
d8f10a1ef7
Merge PR #919
2026-10-13 02:01:30 -04:00
Brandon Thomas
643bc7f909
Merge PR #850
2026-10-13 01:57:40 -04:00
BFlat
68c924047d
Merge pull request #1431 : integration batch 33 (85 reviewed contributor PRs)
...
Integration batch 33: main green again, 85 reviewed contributor PRs
2026-10-13 12:16:54 +07:00
bflatastic
2397927681
Merge main (batch 32a landed)
...
# Conflicts:
# apps/lightcraft-cli/src/main.rs
# crates/codecs/src/lib.rs
# crates/mcp/src/headless.rs
2026-10-13 12:09:34 +07:00
bflatastic
ece9bd83e4
Batch 32: one tracker row per id (rows two PRs both edited), parity summary refreshed
2026-10-13 12:05:26 +07:00
bflatastic
7693cbf3ae
Revert "Merge PR #1262 ": the toast as a widget takes the clicks meant for what is under it (a dialog's button)
2026-10-13 11:54:39 +07:00
bflatastic
2e877ad476
Batch 32: arrows over a slider nudge it ( #1264 ), the toast area doesn't fade in ( #1262 ), #1282 's test runs on Windows
2026-10-13 11:42:47 +07:00
Brandon Thomas
b709180587
Merge pull request from storytold/claude/integrate-batch-32 (batch 32a)
...
Integration batch 32a: 8 reviewed contributor PRs
2026-10-13 00:27:00 -04:00
bflatastic
1d70cf6358
Batch 32: the import tool tests date their fixtures (undated files take the file's date, #1216 )
2026-10-13 11:20:47 +07:00
Brandon Thomas and Claude Opus 5.5
2f0931d3ca
Batch 32: rustfmt after merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 00:13:49 -04:00
Brandon Thomas
a1035f1372
Merge PR #997
2026-10-13 00:13:41 -04:00
Brandon Thomas
d5b8d52e1d
Merge PR #1262
2026-10-13 00:13:41 -04:00
Brandon Thomas
6568a7ae16
Merge PR #1260
2026-10-13 00:13:40 -04:00
bflatastic
d752076339
Batch 32: fixes for PRs merged together ( #984 leap-year lint, #1344 ColorData field, #1187 preset panel builds)
2026-10-13 11:11:02 +07:00
bflatastic
702f90bfc9
Batch 32: close the tests two merges added at one place; cargo fmt
2026-10-13 11:08:16 +07:00
bflatastic
fa3dfbbc4a
Merge PR #1238
...
# Conflicts:
# crates/pipeline/src/spots.rs
# crates/ui-egui/src/panels/edit.rs
# docs/parity-checklist.md
2026-10-13 11:06:46 +07:00
bflatastic
84d6849cf3
Merge PR #1216
...
# Conflicts:
# crates/engine/src/files.rs
# 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/fr-formats.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja-formats.json
# crates/ui-egui/locales/ja.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/uk-formats.json
# crates/ui-egui/locales/uk.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/parity-checklist.md
2026-10-13 11:06:28 +07:00
bflatastic
ed1d641f22
Merge PR #1174
...
# Conflicts:
# crates/catalog/src/lock.rs
# crates/pipeline/src/spots.rs
# docs/parity-checklist.md
2026-10-13 11:06:26 +07:00
bflatastic
692ab7f7c2
Merge PR #1235
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:05:55 +07:00
bflatastic
32253d862a
Merge PR #1017
...
# Conflicts:
# crates/pipeline/src/spots.rs
# docs/gaps.md
# docs/parity-checklist.md
2026-10-13 11:05:54 +07:00
bflatastic
4e78514948
Merge PR #1324
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/whats-new.md
2026-10-13 11:05:53 +07:00
bflatastic
bac147a460
Merge PR #1189
...
# Conflicts:
# docs/parity-checklist.md
2026-10-13 11:05:48 +07:00
bflatastic
2181c69162
Merge PR #1151
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:05:47 +07:00
bflatastic
963d4f327a
Merge PR #1114
2026-10-13 11:05:45 +07:00
bflatastic
97f8b8c87c
Merge PR #1024
...
# Conflicts:
# crates/ui-egui/locales/es.json
2026-10-13 11:05:45 +07:00
bflatastic
8df468bfc6
Merge PR #1246
...
# Conflicts:
# crates/pipeline/src/spots.rs
# docs/parity-checklist.md
2026-10-13 11:05:44 +07:00
bflatastic
8ca6a835ec
Merge PR #1411
...
# Conflicts:
# crates/ui-egui/locales/pt-br.json
# docs/whats-new.md
2026-10-13 11:05:35 +07:00
bflatastic
251397694e
Merge PR #1302
...
# Conflicts:
# crates/preview/src/tests.rs
2026-10-13 11:04:34 +07:00
bflatastic
94808da369
Merge PR #1250
...
# Conflicts:
# crates/ui-egui/src/tests_panels.rs
2026-10-13 11:04:33 +07:00
bflatastic
edfe7c6351
Merge PR #1242
...
# Conflicts:
# crates/ui-egui/src/tests_panels.rs
# docs/parity-checklist.md
2026-10-13 11:04:32 +07:00
bflatastic
95d519ae64
Batch 32: cargo fmt
2026-10-13 11:04:18 +07:00
bflatastic
1c473ed64c
Merge PR #1361
2026-10-13 11:03:53 +07:00
bflatastic
cb8aa0b017
Merge PR #1341
2026-10-13 11:03:11 +07:00
bflatastic
d3c024e4df
Merge PR #1047
...
# Conflicts:
# crates/pipeline/src/spots.rs
# docs/gaps.md
2026-10-13 11:03:10 +07:00
bflatastic
74a0b5796a
Merge PR #1070
...
# Conflicts:
# crates/pipeline/src/spots.rs
2026-10-13 11:03:05 +07:00
bflatastic
4764e85f37
Merge PR #1092
2026-10-13 11:03:01 +07:00
bflatastic
0ab59399c8
Merge PR #1186
2026-10-13 11:03:00 +07:00
bflatastic
6bbceb2fa8
Merge PR #1293
2026-10-13 11:02:59 +07:00
bflatastic
d6583cebf8
Merge PR #1294
2026-10-13 11:02:59 +07:00
bflatastic
cc9deaf64b
Merge PR #1078
2026-10-13 11:02:58 +07:00
bflatastic
76fd9b9ae8
Merge PR #805
...
# Conflicts:
# docs/camera-preview-colour.md
# docs/parity-checklist.md
2026-10-13 11:02:58 +07:00
bflatastic
62b1ba04d0
Merge PR #1367
2026-10-13 11:02:55 +07:00