{"date": "2026-09-29T16:52:10+01:00", "commit": "04bf29a", "subject": "Redlamp iteration 1: native RAW editor for macOS", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"export-full": {"value": 45.0}, "open": {"value": 160.0, "low": 70.0, "high": 250.0}, "render-fit": {"value": 1.8, "low": 0.6, "high": 3.0}, "render-full": {"value": 13.0}}} {"date": "2026-09-29T22:29:55+01:00", "commit": "dbb6b5b", "subject": "Add gradient masking, Lightroom keyboard shortcuts, floating panels and CI", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"render-fit-masks": {"value": 1.3}}} {"date": "2026-09-30T06:47:57+01:00", "commit": "79b0a75", "subject": "Ignore Python bytecode", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"drag-busy": {"value": 100.0}, "drag-p95": {"value": 157.0}}, "note": "Figure the README quotes from before this change"} {"date": "2026-09-30T06:48:57+01:00", "commit": "675dd8f", "subject": "Keep slider drags off the main thread", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"drag-busy": {"value": 54.0}, "drag-p95": {"value": 8.0}}} {"date": "2026-09-30T08:22:48+01:00", "commit": "0d20a7e", "subject": "Port the Basic panel to AppKit and add a component harness", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"drag-busy": {"value": 38.5, "low": 36.0, "high": 41.0}, "drag-median": {"value": 0.175, "low": 0.16, "high": 0.19}, "drag-p95": {"value": 6.0}}} {"date": "2026-09-30T08:48:25+01:00", "commit": "1d243f3", "subject": "Port the histogram and Tone Curve panel to AppKit", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"drag-busy": {"value": 34.0}, "drag-median": {"value": 0.17}, "drag-p95": {"value": 5.0}, "drag-p99": {"value": 8.0}}} {"date": "2026-09-30T12:36:19+01:00", "commit": "b10832c", "subject": "Noise reduction v1 behind the Detail panel's noise sliders", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"export-full-nr": {"value": 100.0}}} {"date": "2026-09-30T14:13:15+01:00", "commit": "226bdd8", "subject": "Sharpening behind the Detail panel's four controls", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-region-nr": {"value": 5.0}}} {"date": "2026-09-30T14:30:45+01:00", "commit": "4d471d9", "subject": "Global Texture and Clarity in the detail stage", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-region-texture": {"value": 1.0}}} {"date": "2026-09-30T17:09:18+01:00", "commit": "10fdfa2", "subject": "Noise-aware capture sharpening", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-view-amount": {"value": 2.3}, "detail-view-nr": {"value": 1.9}, "detail-view-sharpen": {"value": 8.5}}} {"date": "2026-09-30T17:35:50+01:00", "commit": "0bf07c0", "subject": "Faster Radius drags: precomputed blur weights, half-float deconvolution", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-view-amount": {"value": 2.2}, "detail-view-radius": {"value": 5.5}, "detail-view-sharpen": {"value": 7.2}}} {"date": "2026-09-30T20:44:31+01:00", "commit": "2a73f4f", "subject": "README: focus stacking in what works today, the CLI and measured performance", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"stack-cr3": {"value": 8.0}, "stack-jpeg": {"value": 15.0}, "stack-reopen": {"value": 0.1}}} {"date": "2026-10-01T13:00:36+01:00", "commit": "55d3989d", "subject": "Release 0.1.0-prealpha from a clean worktree and add a download button to the site", "source": "release", "version": "0.1.0-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 36.62}, "download-size": {"value": 13.4}}} {"date": "2026-10-01T16:43:10+01:00", "commit": "fda5531c", "subject": "Version 0.1.1-prealpha", "source": "release", "version": "0.1.1-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 39.55}, "download-size": {"value": 14.47}}} {"date": "2026-10-02T14:35:31+01:00", "commit": "f742a83", "subject": "Keep luma texture in noise reduction with local-energy shrinkage", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-view-luminance": {"value": 2.8}, "detail-view-nr": {"value": 2.7}}} {"date": "2026-10-02T15:04:26+01:00", "commit": "205afb5", "subject": "Non-local means for luma at 1:1 and in exports", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-view-luminance": {"value": 4.3}, "detail-view-nr": {"value": 3.6}}} {"date": "2026-10-02T16:14:22+01:00", "commit": "c04795f", "subject": "Folders: README, research tracker and design results", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": true, "metrics": {"folders-cache": {"value": 6210.0}, "folders-first": {"value": 14.0}, "folders-list": {"value": 209.0}, "folders-main-listing": {"value": 0.15}, "folders-main-scroll": {"value": 1.4}, "folders-peak-memory": {"value": 457.0}, "folders-thumbs": {"value": 197.0}, "folders-warm": {"value": 253.0}}, "load": {"before": null, "after": null, "note": "the README says the Mac was busy (load average above 8)"}} {"date": "2026-10-02T16:59:26+01:00", "commit": "b957362", "subject": "Thumbnails: raw files decode their smallest fitting embedded preview, found by LibRaw", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": true, "metrics": {"folders-peak-memory": {"value": 531.0}, "folders-thumbs": {"value": 33.0}, "folders-warm": {"value": 705.0}}, "load": {"before": null, "after": null, "note": "the README says the Mac was busy (load average above 8)"}} {"date": "2026-10-02T19:00:04+01:00", "commit": "ddf161f", "subject": "Folders: memory budgets, how the footprint is attributed, and what the measurements changed", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": true, "metrics": {"folders-peak-memory": {"value": 317.0}}, "load": {"before": null, "after": null, "note": "the README says the Mac was busy (load average above 8)"}} {"date": "2026-10-02T21:08:07+01:00", "commit": "4a27f478", "subject": "Thumbnails test: no nested #require, which doesn't compile", "source": "release", "version": "0.2.0-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 48.46}, "download-size": {"value": 17.34}}} {"date": "2026-10-03T15:09:06+01:00", "commit": "40c2dc52", "subject": "Version 0.2.1-prealpha", "source": "release", "version": "0.2.1-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 50.22}, "download-size": {"value": 17.87}}} {"date": "2026-10-04T02:29:31+01:00", "commit": "ec098fd", "subject": "Detail stage: scratch within budget on reuse, failed buffers forgotten (AUD-03, #160)", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-memory-24mp": {"value": 3.1}, "detail-memory-60mp": {"value": 7.5}}, "note": "Figure the README quotes from before this change"} {"date": "2026-10-04T02:30:31+01:00", "commit": "5bf4dc9", "subject": "README and tracker: detail-stage memory bounded (AUD-03, #160)", "source": "readme", "machine": {"chip": "Apple M1 Ultra"}, "noisy": false, "metrics": {"detail-memory-24mp": {"value": 1.3}, "detail-memory-60mp": {"value": 2.3}}} {"date": "2026-10-04T06:37:52+01:00", "commit": "ee4e451d", "subject": "Version 0.2.2-prealpha", "source": "release", "version": "0.2.2-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 52.01}, "download-size": {"value": 18.43}}} {"date": "2026-10-04T09:45:39+01:00", "commit": "a010ea1", "subject": "Hero shots: the Masks shot shows a Subject mask on the dancer in the red overlay, with its own Exposure and Clarity", "dirty": true, "source": "harness", "machine": {"chip": "Apple M1 Ultra", "memoryGB": 128, "macOS": "26.6.2"}, "load": {"before": 27.17, "after": 49.94}, "noisy": true, "runs": 7, "metrics": {"drag-busy": {"value": 62.988}, "drag-median": {"value": 0.978}, "drag-p95": {"value": 5.319}, "drag-p99": {"value": 6.69}, "export-full": {"value": 106.3214, "low": 52.7653, "high": 126.634, "spread": 0.1178}, "export-full-nr": {"value": 118.756, "low": 61.1025, "high": 147.31, "spread": 0.0911}, "open": {"value": 507.8206, "low": 391.9483, "high": 796.3445, "spread": 0.0165}, "render-fit": {"value": 3.0673, "low": 1.7383, "high": 3.1884, "spread": 0.1561}, "render-fit-masks": {"value": 2.9607, "low": 2.2826, "high": 4.2046, "spread": 0.1868}, "render-full": {"value": 8.4945, "low": 5.5791, "high": 11.0131, "spread": 0.153}}} {"date": "2026-10-04T21:54:21+01:00", "commit": "a541e3a6", "subject": "Version 0.2.3-prealpha", "source": "release", "version": "0.2.3-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 57.57}, "download-size": {"value": 21.57}}} {"date": "2026-10-05T13:46:41+01:00", "commit": "ede34e76", "subject": "Version 0.2.4-prealpha", "source": "release", "version": "0.2.4-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 59.71}, "download-size": {"value": 22.16}}} {"date": "2026-10-07T05:40:43+01:00", "commit": "600f66dc", "subject": "Version 0.2.5-prealpha", "source": "release", "version": "0.2.5-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 115.63}, "download-size": {"value": 32.26}}} {"date": "2026-10-07T17:50:39+01:00", "commit": "a7248e9d", "subject": "Version 0.2.6-prealpha", "source": "release", "version": "0.2.6-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 54.17}, "download-size": {"value": 21.69}}} {"date": "2026-10-08T23:23:18+01:00", "commit": "07d775a1", "subject": "Release: the bundled CLI's check prints its exit status and what it said, so a failure names its cause", "source": "release", "version": "0.2.7-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 44.93}, "download-size": {"value": 22.13}}} {"date": "2026-10-10T06:35:07+01:00", "commit": "25e066a6", "subject": "Version 0.2.8-prealpha", "source": "release", "version": "0.2.8-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 45.04}, "download-size": {"value": 22.15}}} {"date": "2026-10-11T16:41:26+01:00", "commit": "de60b197", "subject": "Version 0.2.9-prealpha", "source": "release", "version": "0.2.9-prealpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 45.39}, "download-size": {"value": 22.32}}} {"date": "2026-10-13T00:03:16+01:00", "commit": "0a6c964f", "subject": "Welcome window: Redlamp is an alpha from 0.3.0 (DEC-71)", "source": "release", "version": "0.3.0-alpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 63.18}, "download-size": {"value": 30.02}}} {"date": "2026-10-14T13:10:32+01:00", "commit": "d75e7bdc3", "subject": "Version 0.3.1-alpha", "source": "release", "version": "0.3.1-alpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 61.39}, "download-size": {"value": 27.71}}} {"date": "2026-10-15T16:50:28+01:00", "commit": "70645ca5a", "subject": "Version 0.3.2-alpha", "source": "release", "version": "0.3.2-alpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 62.39}, "download-size": {"value": 28.2}}} {"date": "2026-10-16T22:23:50+01:00", "commit": "226481fff", "subject": "Version 0.3.3-alpha", "source": "release", "version": "0.3.3-alpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 65.41}, "download-size": {"value": 29.5}}} {"date": "2026-10-27T10:19:00+00:00", "commit": "de64190a6", "subject": "Version 0.3.4-alpha", "source": "release", "version": "0.3.4-alpha", "machine": {}, "noisy": false, "metrics": {"app-size": {"value": 67.46}, "download-size": {"value": 30.39}}}