mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-01 13:57:18 -06:00
1294 lines
47 KiB
JSON
1294 lines
47 KiB
JSON
{
|
|
"selected_count": 108,
|
|
"integrated_count": 70,
|
|
"pending_count": 38,
|
|
"integrated_prs": [
|
|
9703,
|
|
9651,
|
|
9623,
|
|
9606,
|
|
9598,
|
|
9597,
|
|
9596,
|
|
9595,
|
|
9594,
|
|
9590,
|
|
9589,
|
|
9584,
|
|
9523,
|
|
9517,
|
|
9512,
|
|
9509,
|
|
9504,
|
|
9493,
|
|
9481,
|
|
9472,
|
|
9457,
|
|
9436,
|
|
9418,
|
|
9416,
|
|
9401,
|
|
9354,
|
|
9342,
|
|
9339,
|
|
9172,
|
|
9110,
|
|
9019,
|
|
9015,
|
|
9004,
|
|
8985,
|
|
8931,
|
|
8905,
|
|
8903,
|
|
8897,
|
|
8896,
|
|
8193,
|
|
8192,
|
|
8191,
|
|
7903,
|
|
7743,
|
|
7742,
|
|
7648,
|
|
7255,
|
|
7153,
|
|
6510,
|
|
6387,
|
|
6383,
|
|
6236,
|
|
5939,
|
|
5870,
|
|
5515,
|
|
5165,
|
|
5090,
|
|
5010,
|
|
4985,
|
|
4938,
|
|
4883,
|
|
4742,
|
|
4547,
|
|
4305,
|
|
3874,
|
|
3554,
|
|
3520,
|
|
3461,
|
|
3455,
|
|
1991
|
|
],
|
|
"pending_prs": [
|
|
9478,
|
|
9282,
|
|
8986,
|
|
8892,
|
|
8347,
|
|
8074,
|
|
8039,
|
|
7848,
|
|
6621,
|
|
6492,
|
|
6449,
|
|
6139,
|
|
6026,
|
|
5744,
|
|
5650,
|
|
5493,
|
|
5453,
|
|
5270,
|
|
5176,
|
|
5082,
|
|
4993,
|
|
4992,
|
|
4890,
|
|
4783,
|
|
4763,
|
|
4711,
|
|
4042,
|
|
4035,
|
|
4023,
|
|
3967,
|
|
3748,
|
|
3519,
|
|
3464,
|
|
3387,
|
|
3345,
|
|
3142,
|
|
3139,
|
|
2300
|
|
],
|
|
"state": "PARTIAL INTEGRATION \u00e2\u20ac\u201d RESOLVING CONFLICTS; NOT READY FOR PORTABLE ACCEPTANCE BUILD",
|
|
"manual_tests": "NOT RUN",
|
|
"integrated_validation": "NOT RUN",
|
|
"branch": "integration/approved-bugfix-parity-2026-10-29",
|
|
"prs": [
|
|
{
|
|
"number": 9703,
|
|
"title": "Fix adjustment layer name clicks targeting masks",
|
|
"head": "3605d30c38294c4d970e52f4a02f44f97e8bc1a9",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9703#pullrequestreview-5655990760",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/panels.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9651,
|
|
"title": "perf(algo): row-parallel local_sharpen with fast-path protect_detail (#5426)",
|
|
"head": "67666bdf72a58066df868868cef82e5b9cc838de",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9651#pullrequestreview-5651366614",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9623,
|
|
"title": "Pencil: keep a 1 px freehand line connected where it turns",
|
|
"head": "652075f4da7fe905ad651eebc3a6c276fe1d7a5d",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9623#pullrequestreview-5649212328",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9606,
|
|
"title": "fix(ui): the Color panel remembers its options across restarts",
|
|
"head": "6cc516a3d20120b678040050d95ccadc8d1dfd3f",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9606#pullrequestreview-5647898187",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/prefs_ui.rs",
|
|
"docs/scorecard.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 9598,
|
|
"title": "fix(ui): Liquify's Twirl Counterclockwise gets a mirrored twirl icon",
|
|
"head": "47aea89e9220b996f0d5a0d2bb8b5938100b4ad1",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9598#pullrequestreview-5647858443",
|
|
"conflicts": [
|
|
"ATTRIBUTION.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 9597,
|
|
"title": "fix(ui): the layer list doesn't move with no layer selected",
|
|
"head": "9429df26b371c04c2afa65228a60ded739b5fbc2",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9597#pullrequestreview-5648898287",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/panels.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9596,
|
|
"title": "fix(io): drop a kept Txt2 once no type layers are left",
|
|
"head": "e62013cfd652fa60470a0f7a185fbc8f3d2a2c92",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9596#pullrequestreview-5647870259",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9595,
|
|
"title": "fix(compose, gpu): a Pass Through group with Blend If renders isolated",
|
|
"head": "75fa71a4f55a098061b12d91508b514565ab8dcf",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9595#pullrequestreview-5647882992",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9594,
|
|
"title": "fix(engine): copied type keeps its size across resolutions after an edit",
|
|
"head": "46512521fec2b4b462c29d9fefd16398cb81212c",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9594#pullrequestreview-5647890395",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9590,
|
|
"title": "fix(io): PSD layer-effect contours keep at most 16 points",
|
|
"head": "a9744ed44dc782613b19a97b8c159a091f73e669",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9590#pullrequestreview-5647923229",
|
|
"conflicts": [
|
|
"crates/io/src/effects_map.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9589,
|
|
"title": "fix(compose, gpu): an adjustment layer's This Layer range judges its result before Opacity",
|
|
"head": "da157945077190e550b53a5e14b0536f62761292",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9589#pullrequestreview-5647036365",
|
|
"conflicts": [
|
|
"crates/compose/src/lib.rs",
|
|
"crates/gpu/src/plan.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9584,
|
|
"title": "fix(compose, gpu): Blend If hard points match Photoshop at 16 bits and for Gray",
|
|
"head": "fc0f7b1132f799b5bba7be642c9047499d95a887",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9584#pullrequestreview-5647082363",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9523,
|
|
"title": "Fix Type on a Path wrapping and caret positioning across closed-path seams",
|
|
"head": "728782c595e768bdb6febc7f30e4d1456d13fd36",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9523#pullrequestreview-5645920841",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/type_tool.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9517,
|
|
"title": "fix(ui): Layer Style scrolls on a short window so OK stays on screen",
|
|
"head": "81b434c6149732eadc94e0465fea81bd075facd4",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9517#pullrequestreview-5644911791",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9512,
|
|
"title": "fix(compose, gpu): adjustment layers apply Fill inside the special eight blend modes",
|
|
"head": "6c55561128caf5ac917eb3d174e8e7bb4bd48e23",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9512#pullrequestreview-5644863033",
|
|
"conflicts": [
|
|
"crates/compose/src/lib.rs",
|
|
"crates/gpu/src/plan.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9509,
|
|
"title": "fix: an edit at full coverage keeps its result over huge 32-bit values",
|
|
"head": "d78d7493d3f0b6e760c88de969ac810e9bc5d910",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9509#pullrequestreview-5644707748",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9504,
|
|
"title": "fix(ui): Keyboard Shortcuts records \u00e2\u0152\u02dcZ instead of undoing the capture",
|
|
"head": "993c9ed167c6acd9bc8f87c6cff6e2c7abba17a8",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9504#pullrequestreview-5644657832",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9493,
|
|
"title": "fix(vector): a mask feather continues the mask past the canvas edge",
|
|
"head": "61a413d8df9e90ee545eb08e57c5615aa2b29cea",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9493#pullrequestreview-5644672718",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9481,
|
|
"title": "fix(ui): new layer effects start from the Make Default values",
|
|
"head": "7937adff961027154d795b8905e821244ae4f929",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9481#pullrequestreview-5644538284",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs/layer_style.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9478,
|
|
"title": "fix(text): vertical type sets roman letters upright, one per em, as Photoshop does (#9470)",
|
|
"head": "cc208ee0440bbdf1858565dca49667272a490c56",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9478#pullrequestreview-5644503679",
|
|
"conflicts": [
|
|
"crates/text/src/layout.rs",
|
|
"crates/text/src/psd.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9472,
|
|
"title": "fix(io): import a Displace smart filter that names its map file without embedding it (#9162)",
|
|
"head": "4bab657cd4fb4a91ced44d3721e63a002ca5068c",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9472#pullrequestreview-5644841088",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9457,
|
|
"title": "raw: faster tone stage (Shadows, Highlights, Clarity, Texture, Dehaze), same bytes",
|
|
"head": "2863c3281c2a22dade0ce92d42bf8900074f76c6",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9457#pullrequestreview-5643852329",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9436,
|
|
"title": "Startup: a failed launch says why in a dialog instead of closing silently (#7643)",
|
|
"head": "819f2692db4302019638c57b6ea34cd1e8f4c24b",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9436#pullrequestreview-5645623601",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9418,
|
|
"title": "Color Lookup: honour the .3dl Mesh header's cube edge and output depth (#9078, #9073)",
|
|
"head": "da4b838e54f6073cda4798fa7b63b3b7214aaf93",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9418#pullrequestreview-5644614398",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9416,
|
|
"title": "Affinity reader: contiguous curve records and a cheaper object tag index",
|
|
"head": "742b06805284d8d76d5a29ec1821193f4835fedf",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9416#pullrequestreview-5642992245",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9401,
|
|
"title": "fix(format): a save on macOS keeps the file's creation time (#9388)",
|
|
"head": "f241bba1adfb9c7ec5dd5ed9d86f95b63c7bc2c3",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9401#pullrequestreview-5642877921",
|
|
"conflicts": [
|
|
"crates/automation/src/workspace.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9354,
|
|
"title": "fix(ui): Full Screen Mode needs a document (#9349)",
|
|
"head": "41eb1de5cff17f5f5b9c22913e48b71565b56a2a",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9354#pullrequestreview-5641946837",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/lib.rs",
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/view_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9342,
|
|
"title": "fix(io, engine): Embed Color Profile writes sRGB for an untagged document (#9325)",
|
|
"head": "c46a74621d36adae9707ab8f3eb39cf6b4c302b9",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9342#pullrequestreview-5642054720",
|
|
"conflicts": [
|
|
"crates/engine/src/web_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9339,
|
|
"title": "fix(export): embed requested sRGB profile for untagged sources (#9325)",
|
|
"head": "393645ab91460af2e37cc3ba8f6921e7551f676e",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9339#pullrequestreview-5642090549",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs/export_dialog.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9282,
|
|
"title": "feat(ui): Preset menus for Levels, Exposure, Black & White and Channel Mixer",
|
|
"head": "20803d1f15900ed6ecc7b5c79b4c68f6c3d6dcce",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9282#pullrequestreview-5647322262",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/adjust_dialog.rs",
|
|
"crates/ui-egui/src/adjust_editors.rs",
|
|
"crates/ui-egui/src/lib.rs",
|
|
"docs/ui-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 9172,
|
|
"title": "Gradient Fill layer: default to Foreground to Transparent (#8708)",
|
|
"head": "8ebb04999d25790f71f9bd88f7a268a6a2754aec",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9172#pullrequestreview-5639390920",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9110,
|
|
"title": "test: GPU tests honour WGPU_BACKEND, so they run on Windows with an Intel GPU (#4)",
|
|
"head": "2e716f93b2e2135944e07d821be4eb38fce13ec9",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9110#pullrequestreview-5639002103",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9019,
|
|
"title": "fix(xtask): reject unknown performance benchmark selections",
|
|
"head": "364c4be1c19728aefa601ee924bc7a0cd6a09789",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9019#pullrequestreview-5638973719",
|
|
"conflicts": [
|
|
"xtask/src/perf.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 9015,
|
|
"title": "fix(xtask): reject leading zeroes in numeric prerelease identifiers",
|
|
"head": "afb4364a8795c42e6353762891b4890d878f9a68",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9015#pullrequestreview-5638974295",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 9004,
|
|
"title": "fix(ui): enlarge Move tool alignment icons for legibility",
|
|
"head": "39cf823cdfe486bb967cf81df725d229f7eed903",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/9004#pullrequestreview-5638974843",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8986,
|
|
"title": "Path tools: edit the saved path selected in the Paths panel (#8478)",
|
|
"head": "390dfbbcb026b33d46c52c62360b65deca00f258",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8986#pullrequestreview-5638981860",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/tools/direct_select.rs",
|
|
"crates/ui-egui/src/vector_ui.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8985,
|
|
"title": "Color panel and Color Picker: clip the round cursor to the colour field",
|
|
"head": "8e695caf885b529f01f482b3f0c90cdb34df1915",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8985#pullrequestreview-5638975214",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs/color_picker_ui.rs",
|
|
"crates/ui-egui/src/panels.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8931,
|
|
"title": "feat(algo): describe the Gaussian blur as data for other devices",
|
|
"head": "d42dd4c6302c77c1f9dc46b7b53ffa5eb0047a13",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8931#pullrequestreview-5639059166",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8905,
|
|
"title": "fix(plugins): bound a run's total plug-in memory, not just each instance",
|
|
"head": "0fdc6259193aab32b8feab7347ddc36196f40a19",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8905#pullrequestreview-5638989196",
|
|
"conflicts": [
|
|
"crates/plugins/tests/abi.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8903,
|
|
"title": "Box-filter minified patterns in the CPU and GPU samplers (#8831)",
|
|
"head": "d387f52f1f2f5681b2c7d1c517aa5b5992c7bc88",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8903#pullrequestreview-5638989541",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8897,
|
|
"title": "fix(io): read linked smart objects for PSD export as regular files only",
|
|
"head": "eb06798f15516eb7e4fac24c98346fd9052e7f8e",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8897#pullrequestreview-5638990476",
|
|
"conflicts": [
|
|
"crates/io/src/psd_export.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8896,
|
|
"title": "Select and Mask: Photoshop's full-window workspace (#7069, #8148)",
|
|
"head": "19fa473039ef11deda7c3200c8fac1de41309086",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8896#pullrequestreview-5683297464",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8892,
|
|
"title": "ui: larger Align icons and overflow button; Save for Web keeps its width on an invalid Matte",
|
|
"head": "9267c4fcf83a260d4bae0e441dc1af9bc48aa23b",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8892#pullrequestreview-5638996509",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/file_ui.rs",
|
|
"crates/ui-egui/src/tools/align_bar.rs",
|
|
"crates/ui-egui/src/widgets/tab_strip.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8347,
|
|
"title": "Type: Roman Hanging Punctuation (trailing marks hang, don't steer the alignment)",
|
|
"head": "2b1364393cfcd09380cf18a221e7cdd325fc4deb",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8347#pullrequestreview-5644437741",
|
|
"conflicts": [
|
|
"crates/engine/src/cmd/type_cmds.rs",
|
|
"crates/text/src/layout.rs",
|
|
"crates/text/src/psd.rs",
|
|
"crates/ui-egui/src/type_tool.rs",
|
|
"docs/scorecard.md",
|
|
"docs/ui-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 8193,
|
|
"title": "Filter Gallery \u00e2\u20ac\u00ba Cutout 3/4: edges and curves stage",
|
|
"head": "864024609b872de3d869879f1632b951c896c6cd",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8193#pullrequestreview-5643244034",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8192,
|
|
"title": "Filter Gallery \u00e2\u20ac\u00ba Cutout 2/4: regions stage",
|
|
"head": "412e3b7cf1f4836a5772d93391d21728dbe1f74f",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8192#pullrequestreview-5642599218",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8191,
|
|
"title": "Filter Gallery \u00e2\u20ac\u00ba Cutout 1/4: colour and palette stage",
|
|
"head": "91e4cec43525ca739c05cff614701fbd3576e389",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8191#pullrequestreview-5642584382",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 8074,
|
|
"title": "Transform: remember selected interpolation (#8067)",
|
|
"head": "290f924d0fecc3bf6bea159c0d9e86255d326a96",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8074#pullrequestreview-5612886202",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/prefs_ui.rs",
|
|
"crates/ui-egui/src/state.rs",
|
|
"crates/ui-egui/src/transform_tool.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 8039,
|
|
"title": "Compose: Extend Softer outer glows past Size (#7899)",
|
|
"head": "5579cf5439856fed93f41a669a3fc9b56d5813cf",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/8039#pullrequestreview-5592809677",
|
|
"conflicts": [
|
|
"crates/compose/src/effects.rs",
|
|
"crates/gpu/src/fx.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 7903,
|
|
"title": "Filter Gallery \u00e2\u20ac\u00ba Cutout 4/4: trace the image into flat paper shapes",
|
|
"head": "5c30699087b02edcaa23397a0f7076bf503be048",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7903#pullrequestreview-5643279271",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 7848,
|
|
"title": "fix(retouch): preserve Smudge pickup with live-pixel stroke commits",
|
|
"head": "389a1d5bd67072d5581c27989080222a7065b585",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7848#pullrequestreview-5586186420",
|
|
"conflicts": [
|
|
"crates/engine/src/retouch_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 7743,
|
|
"title": "packaging: the portable zip holds the files, not a folder with the files in it",
|
|
"head": "fd6fc92015fd08560362b4b32844edf97722f292",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7743#pullrequestreview-5574964336",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 7742,
|
|
"title": "Actions: a fractional setting an integer field cannot hold is refused, not rounded",
|
|
"head": "ab844f9cbcd1f1839ed7f286776331cb72e399aa",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7742#pullrequestreview-5586281249",
|
|
"conflicts": [
|
|
"crates/engine/src/atn_cmds.rs",
|
|
"crates/engine/src/atn_cmds/tests.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 7648,
|
|
"title": "Pen: Path Operations menu, as in Photoshop (#1397)",
|
|
"head": "d24669d412f64ab079a668b0b8520ddbc607410c",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7648#pullrequestreview-5686770506",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 7255,
|
|
"title": "fix(engine): guard trim and duplicate merged against documents exceeding render limits (#7223)",
|
|
"head": "1b810052bc3a876c1eaf1a8766870ffdba9f8a80",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7255#pullrequestreview-5579038009",
|
|
"conflicts": [
|
|
"crates/engine/src/image_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 7153,
|
|
"title": "Smart Filters: double-clicking a Liquify filter reopens it in the Liquify workspace",
|
|
"head": "6f5d929d6172cf211a070f12cde9507aca9eb30a",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/7153#pullrequestreview-5675752399",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 6621,
|
|
"title": "Crop: right-click on the pending crop opens the crop menu (#6561)",
|
|
"head": "ead45134d320cb1002724d5ef44f5c56588bbe1d",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6621#pullrequestreview-5643879866",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/canvas_tool_menu.rs",
|
|
"crates/ui-egui/src/control.rs",
|
|
"crates/ui-egui/src/crop_ui.rs",
|
|
"crates/ui-egui/src/transform_type_tests.rs",
|
|
"docs/context-menu-parity.md",
|
|
"docs/scorecard.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 6510,
|
|
"title": "Automation: resolve configured root aliases for absolute paths (#6426)",
|
|
"head": "8bb0a5e67474d36ae08d565251edb1ae780dd044",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6510#pullrequestreview-5664421033",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 6492,
|
|
"title": "Fail control startup promptly when its port is occupied",
|
|
"head": "657cfd503d4ce276df6b5e9f763cb3a5cf2deaeb",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6492#pullrequestreview-5583441089",
|
|
"conflicts": [
|
|
"apps/photocraft/src/control_server.rs",
|
|
"apps/photocraft/src/main.rs",
|
|
"apps/photocraft/tests/it/control_exit_code.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 6449,
|
|
"title": "Hand tool: Cmd held zooms in and Alt zooms out, as in Photoshop",
|
|
"head": "25c38a0b69b7bff31badcdbe2ef9f2ff6aba1c63",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6449#pullrequestreview-5548906956",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/input/hold_keys.rs",
|
|
"crates/ui-egui/src/input/hold_keys/tests.rs",
|
|
"docs/ui-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 6387,
|
|
"title": "Video Frames to Layers: every page of a multi-page TIFF (part of #6379)",
|
|
"head": "8bfbbf816025942b74130adf16fb07265817b691",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6387#pullrequestreview-5555146754",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 6383,
|
|
"title": "Windows releases ship a symbols zip: the release build's PDBs for profilers (#688)",
|
|
"head": "74aadae69e3b3f5cd257bca1926acc1b1297b1a2",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6383#pullrequestreview-5548207780",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 6236,
|
|
"title": "Shift+Alt+right-click opens Photoshop's HUD Color Picker (#6098)",
|
|
"head": "ce546dd4b5451a17b843ef1e129bdb40fbfe3160",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6236#pullrequestreview-5644088784",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/brush_resize.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/lib.rs",
|
|
"crates/ui-egui/src/paint_mouse.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 6139,
|
|
"title": "Fix painting workflows, File Info and layer selection",
|
|
"head": "e2347f8ead85d929193044f139788b850e31c06f",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6139#pullrequestreview-5542220545",
|
|
"conflicts": [
|
|
"crates/engine/src/cmd/brush_cmds.rs",
|
|
"crates/paint/src/render.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/dialogs.rs",
|
|
"crates/ui-egui/src/i18n/cs.tsv",
|
|
"crates/ui-egui/src/i18n/de.tsv",
|
|
"crates/ui-egui/src/i18n/hu.tsv",
|
|
"crates/ui-egui/src/i18n/it.tsv",
|
|
"crates/ui-egui/src/i18n/ja.tsv",
|
|
"crates/ui-egui/src/i18n/pt-br.tsv",
|
|
"crates/ui-egui/src/i18n/tr.tsv",
|
|
"crates/ui-egui/src/i18n/uk.tsv",
|
|
"crates/ui-egui/src/i18n/zh-hans.tsv",
|
|
"crates/ui-egui/src/i18n/zh-hant.tsv",
|
|
"crates/ui-egui/src/input_tests.rs",
|
|
"crates/ui-egui/src/menus.rs",
|
|
"crates/ui-egui/src/move_mods.rs",
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/vector_ui.rs",
|
|
"crates/ui-egui/src/view_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 6026,
|
|
"title": "Marquee: Fixed Size selects exactly the entered width and height (fixes #6015)",
|
|
"head": "248ba660576f4896f69cbb6639353e2f1d295271",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/6026#pullrequestreview-5545897025",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/marquee_tests.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 5939,
|
|
"title": "fix(paint): scale blur sigma with brush size (#5892)",
|
|
"head": "7348e060b4be7204fb69b59079c3b9d808e9aad3",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5939#pullrequestreview-5560602826",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 5870,
|
|
"title": "fix(format): reject duplicate native layer identities",
|
|
"head": "f9de0a6abc78aa405b1ef46f5da6cba424106204",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5870#pullrequestreview-5551781697",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 5744,
|
|
"title": "fix(ui): keep detached documents in one interactive window",
|
|
"head": "50b1f6734799cf7b5d45dd84868976afd31aa711",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5744#pullrequestreview-5593443602",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/lib.rs",
|
|
"crates/ui-egui/src/menus.rs",
|
|
"crates/ui-egui/src/view_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 5650,
|
|
"title": "Guides: \u00e2\u0152\u00a5 turns a dragged guide; dropping one on either ruler deletes it (#5034)",
|
|
"head": "4b1bd6fb6d264f885cb9caa3b8a6578ee527bd7b",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5650#pullrequestreview-5593380251",
|
|
"conflicts": [
|
|
"crates/engine/src/edit_cmds.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/rulers.rs",
|
|
"crates/ui-egui/src/tools/move_hover.rs",
|
|
"docs/ui-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 5515,
|
|
"title": "Selecting subject now automatically applies to selected layer, and us\u00e2\u20ac\u00a6",
|
|
"head": "375d4894a119b6cd5933d53e8fe7f506d2783392",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5515#pullrequestreview-5593377843",
|
|
"conflicts": [
|
|
"crates/engine/src/cmd/smartselect_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 5493,
|
|
"title": "Import Photoshop custom shape sets into the Shapes panel",
|
|
"head": "f97eb2849a68e1ed1c08c5b378770cf35cbcb72d",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5493#pullrequestreview-5666969724",
|
|
"conflicts": [
|
|
"docs/file-format-parity.md",
|
|
"docs/gaps.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 5453,
|
|
"title": "Shapes: independent fill and stroke paints (solid, gradient, pattern), part 1",
|
|
"head": "e22a9baedceefd97daffe84403b23c99c56d6919",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5453#pullrequestreview-5560030568",
|
|
"conflicts": [
|
|
"crates/compose/src/lib.rs",
|
|
"crates/compose/src/shape_split.rs",
|
|
"crates/engine/src/vector_cmds.rs",
|
|
"crates/gpu/src/plan.rs",
|
|
"crates/vector/src/lib.rs",
|
|
"docs/control-protocol.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 5270,
|
|
"title": "Layer Style: Gradient Overlay takes any number of colour stops (#5177)",
|
|
"head": "9db1c7ae1d48ce4f31622b5f9029c70c590842f8",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5270#pullrequestreview-5585703891",
|
|
"conflicts": [
|
|
"crates/engine/src/layer_style.rs",
|
|
"crates/ui-egui/src/control.rs",
|
|
"crates/ui-egui/src/dialogs/layer_style.rs",
|
|
"crates/ui-egui/src/dialogs/layer_style/gradient_field.rs",
|
|
"docs/control-protocol.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 5176,
|
|
"title": "Play CopyCat, AJ and Line and Color action sets; keep patterns across restarts; Shift Edge scale",
|
|
"head": "c96891c298151c5cb11a55928b9e1c27911f38bd",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5176#pullrequestreview-5585830576",
|
|
"conflicts": [
|
|
"crates/engine/src/actions_cmds.rs",
|
|
"crates/engine/src/atn_cmds.rs",
|
|
"crates/engine/src/atn_cmds/tests.rs",
|
|
"crates/engine/src/cmd.rs",
|
|
"crates/engine/src/cmd/history_cmds.rs",
|
|
"crates/engine/src/cmd/pattern_cmds.rs",
|
|
"crates/engine/src/lib.rs",
|
|
"crates/engine/src/preset_store.rs",
|
|
"crates/engine/src/preset_store/tests.rs",
|
|
"crates/engine/src/smart_cmds.rs",
|
|
"crates/ui-egui/src/actions.rs",
|
|
"crates/ui-egui/src/panels/preset_panels.rs",
|
|
"docs/file-format-parity.md",
|
|
"docs/gaps.md",
|
|
"docs/target-app-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 5165,
|
|
"title": "Fix: brush section selection",
|
|
"head": "27bc6e4b37b701480efa69559ab13eafc52bd94c",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5165#pullrequestreview-5549755629",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 5090,
|
|
"title": "Actions: add editable PhotoCraft Essentials starter presets",
|
|
"head": "61d9e8cc1aed29ed6bea0d0fd2702fa87c4f0206",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5090#pullrequestreview-5585928498",
|
|
"conflicts": [
|
|
"crates/engine/src/actions_cmds.rs",
|
|
"crates/engine/src/lib.rs",
|
|
"crates/engine/src/preset_store.rs",
|
|
"crates/ui-egui/src/actions.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 5082,
|
|
"title": "fix(mixer-brush): Alt-click samples the foreground colour like the Brush (#4873)",
|
|
"head": "23bab3cc9204568aaeb012b9e1da70a2caacb879",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5082#pullrequestreview-5562323692",
|
|
"conflicts": [
|
|
"crates/engine/src/cmd/brush_cmds.rs",
|
|
"crates/paint/src/mixer.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/input/alt_grab.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 5010,
|
|
"title": "Layer Style: Photoshop's layout (three columns, OK/Cancel/New Style/Preview on the right, one-line rows) [depends on #4938]",
|
|
"head": "cc865221894e21f846d92b721cce7421ea338363",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/5010#pullrequestreview-5585991159",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs.rs",
|
|
"crates/ui-egui/src/dialogs/layer_style.rs",
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/widgets.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4993,
|
|
"title": "Prevent control-channel engine commands from editing behind modal dialogs",
|
|
"head": "81964dc5ef77a71a2ae2a938958cf3ed77d90719",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4993#pullrequestreview-5549725641",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/control.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4992,
|
|
"title": "Preserve Dissolve coverage when compositing clipped layers",
|
|
"head": "194a8976cd6c14441222b287b9b4f4841a0eb2f9",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4992#pullrequestreview-5549725271",
|
|
"conflicts": [
|
|
"crates/compose/src/lib.rs",
|
|
"crates/compose/src/tests.rs",
|
|
"crates/gpu/src/compose.wgsl",
|
|
"crates/gpu/tests/it/parity.rs",
|
|
"crates/ui-egui/src/rotate_view.rs",
|
|
"crates/ui-egui/src/wheel_nav.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4985,
|
|
"title": "feat(ui): add Shift+right-click brush mode picker",
|
|
"head": "1dc98f80f60e993f3edf20af815391b6a7e7add7",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4985#pullrequestreview-5679506261",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 4938,
|
|
"title": "Layer Style: one dialog size on every page, and it fits short screens",
|
|
"head": "63b7c921634835259139e4d3e7b9d3c396998b4d",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4938#pullrequestreview-5586050980",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/dialogs.rs",
|
|
"crates/ui-egui/src/dialogs/layer_style.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4890,
|
|
"title": "Add scrollbar visibility preferences (#3262)",
|
|
"head": "ab84cab7355ac999fb1be226950978bafec39605",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4890#pullrequestreview-5593534344",
|
|
"conflicts": [
|
|
"crates/engine/src/prefs.rs",
|
|
"crates/engine/src/prefs/tests.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/prefs_ui.rs",
|
|
"crates/ui-egui/src/theme.rs",
|
|
"docs/gaps.md",
|
|
"docs/scorecard.md",
|
|
"docs/ui-parity.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 4883,
|
|
"title": "feat(ui): show selection and active-layer bounds in the status bar",
|
|
"head": "ea500486fb40511d3b4782dfacbb89fbff846d8a",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4883#pullrequestreview-5583810948",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 4783,
|
|
"title": "Fix/4758 type extreme finite geometry 20261013s1215",
|
|
"head": "a9d62726bed607bc540db9d09c8dc1be4f9895aa",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4783#pullrequestreview-5583807081",
|
|
"conflicts": [
|
|
"crates/io/src/blocks.rs",
|
|
"crates/io/tests/it/psd_type_bounds.rs",
|
|
"crates/text/src/psd.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4763,
|
|
"title": "refactor(liquify): reuse native brush resizing and anchored HUD feedback",
|
|
"head": "f2804a7cf013519d9ba8bac1da3d96458c4f656b",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4763#pullrequestreview-5583718187",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/brush_resize.rs",
|
|
"crates/ui-egui/src/dialogs/liquify_ui.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4742,
|
|
"title": "fix(macos): bundle photocraft-cli and resolve it from droplet scripts",
|
|
"head": "b7145b5a8afb85d0eef3922931d6749436966943",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4742#pullrequestreview-5549743037",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 4711,
|
|
"title": "Treat Dissolve as a per-pixel choice",
|
|
"head": "db546ff4822a011a7915b66af3834f94c05767db",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4711#pullrequestreview-5594717250",
|
|
"conflicts": [
|
|
"crates/compose/src/effects.rs",
|
|
"crates/compose/src/lib.rs",
|
|
"crates/compose/src/tests.rs",
|
|
"crates/gpu/src/compose.wgsl",
|
|
"crates/gpu/tests/it/parity.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4547,
|
|
"title": "fix(icons): PhotoCraft icon corner radius matches other Craft apps (#4478)",
|
|
"head": "a08f7a2295488c2692f68902835a693322017b64",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4547#pullrequestreview-5583727527",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 4305,
|
|
"title": "Filter > Other > Frequency Separation (#1714)",
|
|
"head": "1b74873991dbb2e9803d228a969291f09c6f1032",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4305#pullrequestreview-5594762253",
|
|
"conflicts": [
|
|
"crates/engine/src/lib.rs",
|
|
"crates/ui-egui/src/filter_dialog.rs",
|
|
"crates/ui-egui/src/menus.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4042,
|
|
"title": "feat(canvas): rotate view with Shift + middle-mouse drag",
|
|
"head": "f05098562220a663d052ee3918fd36c8c3e17a51",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4042#pullrequestreview-5583745473",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/rotate_view.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4035,
|
|
"title": "fix(cmyk): Flatten Image and merges keep the inks of a tagged CMYK document (#3778)",
|
|
"head": "15ebf8fc940031abdf772e5fdd687c8b55938639",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4035#pullrequestreview-5595033656",
|
|
"conflicts": [
|
|
"crates/compose/src/lib.rs",
|
|
"crates/engine/src/pixels.rs",
|
|
"crates/io/src/lib.rs",
|
|
"crates/io/tests/it/color.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 4023,
|
|
"title": "i18n(es): add 548 missing rows, fix five filter and video terms",
|
|
"head": "303a5346fcb5961cf3a776024db58507b401e4ea",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/4023#pullrequestreview-5595056228",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/i18n/es.tsv"
|
|
]
|
|
},
|
|
{
|
|
"number": 3967,
|
|
"title": "Add move and delete actions to Smart Filter rows",
|
|
"head": "3a77519ce2cef0fb60cebd4ea796d599f68868cb",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3967#pullrequestreview-5595072511",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/smart_ui.rs",
|
|
"docs/control-protocol.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 3874,
|
|
"title": "fix(layer-style): support Blend If Alt-split handle feathering and throttle live preview",
|
|
"head": "92488307722c3b840507827cac7ee9a88470fc8a",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3874#pullrequestreview-5595098959",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 3748,
|
|
"title": "control: suggest near matches for unknown command ids and methods (#3674)",
|
|
"head": "c45d01eafe84e600bb28033a6853cc19c827b7bf",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3748#pullrequestreview-5583803054",
|
|
"conflicts": [
|
|
"crates/automation/src/rpc.rs",
|
|
"crates/engine/src/lib.rs",
|
|
"crates/ui-egui/src/control.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 3554,
|
|
"title": "fix(packaging): launch bundled CLI directly from AppImage",
|
|
"head": "dd21e325b515cbf67fd4a461ae5b3e1b195aa53d",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3554#pullrequestreview-5583771056",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 3520,
|
|
"title": "fix(ui): restore square color chips in Studio Dark theme",
|
|
"head": "d36ec9a21e9c1ed70de2e0d185efd7e084644157",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3520#pullrequestreview-5583735883",
|
|
"conflicts": []
|
|
},
|
|
{
|
|
"number": 3519,
|
|
"title": "feat(export): optionally trim transparent margins from layer files",
|
|
"head": "807de6c043a512cb947d86b944c758b3db1277c7",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3519#pullrequestreview-5583738841",
|
|
"conflicts": [
|
|
"crates/engine/src/file_cmds.rs",
|
|
"crates/engine/src/image_cmds.rs",
|
|
"crates/ui-egui/src/view_cmds.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 3464,
|
|
"title": "fix(vector): target selected saved paths and own Pen gestures",
|
|
"head": "1eecd00b2dff4ae4c642269cec211cd06ce1c3aa",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3464#pullrequestreview-5597090618",
|
|
"conflicts": [
|
|
"crates/engine/src/vector_cmds.rs",
|
|
"crates/ui-egui/src/canvas.rs",
|
|
"crates/ui-egui/src/lib.rs",
|
|
"crates/ui-egui/src/path_selection_tests.rs",
|
|
"crates/ui-egui/src/tools/anchor_tools/tests.rs",
|
|
"crates/ui-egui/src/tools/direct_select.rs",
|
|
"crates/ui-egui/src/tools/direct_select/tests.rs",
|
|
"crates/ui-egui/src/vector_paint_tests.rs",
|
|
"crates/ui-egui/src/vector_ui.rs",
|
|
"crates/vector/src/flatten.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 3461,
|
|
"title": "Replay recorded layer visibility on the intended named layer",
|
|
"head": "5d8cb2a39ad70e31260f1f3fc2010ca132daff65",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3461#pullrequestreview-5597122170",
|
|
"conflicts": [
|
|
"crates/engine/src/actions_cmds.rs",
|
|
"crates/engine/src/jobs.rs",
|
|
"crates/engine/src/lib.rs",
|
|
"crates/ui-egui/src/actions.rs",
|
|
"docs/control-protocol.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 3455,
|
|
"title": "Undo and redo action definition edits from the Actions panel",
|
|
"head": "d84fa7955d260505378a1a596ec80d602036319d",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3455#pullrequestreview-5597131410",
|
|
"conflicts": [
|
|
"crates/engine/src/actions_cmds.rs",
|
|
"crates/ui-egui/src/actions.rs",
|
|
"crates/ui-egui/src/menus.rs",
|
|
"docs/control-protocol.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 3387,
|
|
"title": "feat(codecs): add lossless JPEG XL export for 8/16-bit images",
|
|
"head": "58b83f42a4b39cf56751be53ec8d227efee70f68",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3387#pullrequestreview-5597200428",
|
|
"conflicts": [
|
|
"apps/photocraft/src/services.rs",
|
|
"crates/codecs/Cargo.toml",
|
|
"crates/codecs/src/format.rs",
|
|
"crates/codecs/src/lib.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 3345,
|
|
"title": "Add grouped gradient presets and selectable style icons",
|
|
"head": "bfb691f84896fe68543980426632153dc4b4ea69",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3345#pullrequestreview-5597265645",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/panels.rs",
|
|
"crates/ui-egui/src/panels/preset_panels.rs",
|
|
"crates/ui-egui/src/prefs_ui.rs",
|
|
"crates/ui-egui/src/tools/gradient_ui.rs",
|
|
"crates/ui-egui/src/tools/gradient_ui/preset_browser.rs",
|
|
"crates/ui-egui/src/tools/gradient_ui/preset_browser_tests.rs",
|
|
"crates/ui-egui/src/tools/gradient_ui/properties_panel.rs",
|
|
"docs/scorecard.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 3142,
|
|
"title": "Read applied Sony RAW metadata and crop ILCE-6000 images",
|
|
"head": "e2ed234e654e574109ffcdb9756f8e8d1b8a00b2",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3142#pullrequestreview-5597503674",
|
|
"conflicts": [
|
|
"crates/raw/src/cameras.rs",
|
|
"docs/file-format-parity.md",
|
|
"docs/gaps.md"
|
|
]
|
|
},
|
|
{
|
|
"number": 3139,
|
|
"title": "Draw right-to-left layer names in visual word order",
|
|
"head": "4da79e8d16ded8b51f06c1ac64e50ccba288274e",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/3139#pullrequestreview-5597496876",
|
|
"conflicts": [
|
|
"Cargo.lock",
|
|
"crates/ui-egui/Cargo.toml",
|
|
"crates/ui-egui/src/lib.rs",
|
|
"crates/ui-egui/src/panels/layer_row_ui.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 2300,
|
|
"title": "Scroll the viewport while outlining with Polygonal Lasso",
|
|
"head": "ebf3777aec961d1815aa141d9987eaa645c2273f",
|
|
"status": "CONFLICT_PENDING",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/2300#pullrequestreview-5564229610",
|
|
"conflicts": [
|
|
"crates/ui-egui/src/canvas.rs"
|
|
]
|
|
},
|
|
{
|
|
"number": 1991,
|
|
"title": "feat(actions): import and export reusable Actions JSON files",
|
|
"head": "202266b90613280e16ae285b53dd4e10d5f0c7ac",
|
|
"status": "MERGED",
|
|
"receipt": "https://github.com/storytold/photocraft/pull/1991#pullrequestreview-5597895651",
|
|
"conflicts": [
|
|
"crates/automation/src/workspace.rs",
|
|
"crates/engine/src/actions_cmds.rs",
|
|
"crates/ui-egui/src/actions.rs"
|
|
]
|
|
}
|
|
],
|
|
"current_checkpoint_sha": "889018cabba18184713f6ea1d5d790137ea7d4bf",
|
|
"updated_at": "2026-10-29T04:06:45.328085+00:00",
|
|
"active_subsystem": "Layer Style complete; continuing independent ports and build compatibility checks",
|
|
"parent_decision_required": null,
|
|
"validation": {
|
|
"compositor_at_31ce2208": "PASSED: 402 passed, 0 failed, 2 ignored",
|
|
"current_full_workspace": "NOT RUN",
|
|
"current_build_check": "PASSED: cargo check --workspace --all-targets --locked --offline at 889018cab",
|
|
"manual": "NOT RUN",
|
|
"portable_final_build": "NOT RUN \u00e2\u20ac\u201d waits for 100+ complete integration and validation"
|
|
}
|
|
}
|