mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-02 14:27:35 -06:00
1302 lines
83 KiB
JSON
1302 lines
83 KiB
JSON
{
|
||
"integration_code_sha": "46c1347951eac7f62d4be317c915f73ec6ee5d43",
|
||
"cases": [
|
||
{
|
||
"id": "PR-3455",
|
||
"pr": 3455,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`recording_and_appending_steps_can_be_undone_without_restarting_recording`](https://github.com/storytold/photocraft/blob/d84fa7955d260505378a1a596ec80d602036319d/crates/engine/src/actions_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked recording_and_appending_steps_can_be_undone_without_restarting_recording -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Undo and redo action definition edits from the Actions panel. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3748",
|
||
"pr": 3748,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`unknown_names_suggest_the_right_method_or_command`](https://github.com/storytold/photocraft/blob/c45d01eafe84e600bb28033a6853cc19c827b7bf/crates/automation/src/rpc.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-automation --locked unknown_names_suggest_the_right_method_or_command -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; control: suggest near matches for unknown command ids and methods (#3674). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4993",
|
||
"pr": 4993,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`engine_execute_cannot_change_document_behind_adjustment_dialog`](https://github.com/storytold/photocraft/blob/81964dc5ef77a71a2ae2a938958cf3ed77d90719/crates/ui-egui/src/control.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked engine_execute_cannot_change_document_behind_adjustment_dialog -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Prevent control-channel engine commands from editing behind modal dialogs. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5090",
|
||
"pr": 5090,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`generated_defaults_are_persisted_without_unsaved_user_work`](https://github.com/storytold/photocraft/blob/61d9e8cc1aed29ed6bea0d0fd2702fa87c4f0206/apps/photocraft-web/src/preset_bridge.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-web --locked generated_defaults_are_persisted_without_unsaved_user_work -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Actions: add editable PhotoCraft Essentials starter presets. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5176",
|
||
"pr": 5176,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`save_in_edit_contents_updates_the_smart_object`](https://github.com/storytold/photocraft/blob/c96891c298151c5cb11a55928b9e1c27911f38bd/crates/engine/src/actions_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked save_in_edit_contents_updates_the_smart_object -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Play CopyCat, AJ and Line and Color action sets; keep patterns across restarts; Shift Edge scale. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6492",
|
||
"pr": 6492,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`a_prebound_listener_authenticates_and_dispatches_requests`](https://github.com/storytold/photocraft/blob/657cfd503d4ce276df6b5e9f763cb3a5cf2deaeb/apps/photocraft/src/control_server.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft --locked a_prebound_listener_authenticates_and_dispatches_requests -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fail control startup promptly when its port is occupied. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7742",
|
||
"pr": 7742,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`a_fractional_setting_an_integer_field_cannot_hold_is_refused_not_rounded`](https://github.com/storytold/photocraft/blob/ab844f9cbcd1f1839ed7f286776331cb72e399aa/crates/engine/src/atn_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked a_fractional_setting_an_integer_field_cannot_hold_is_refused_not_rounded -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Actions: a fractional setting an integer field cannot hold is refused, not rounded. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8905",
|
||
"pr": 8905,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`parallel_bands_fit_the_total_memory_budget`](https://github.com/storytold/photocraft/blob/0fdc6259193aab32b8feab7347ddc36196f40a19/crates/plugins/tests/abi.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-plugins --locked parallel_bands_fit_the_total_memory_budget -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(plugins): bound a run's total plug-in memory, not just each instance. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3874",
|
||
"pr": 3874,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`blend_if_alt_split_and_drag_behavior`](https://github.com/storytold/photocraft/blob/92488307722c3b840507827cac7ee9a88470fc8a/crates/ui-egui/src/layer_style.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked blend_if_alt_split_and_drag_behavior -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(layer-style): support Blend If Alt-split handle feathering and throttle live preview. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3967",
|
||
"pr": 3967,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`row_menu_moves_and_deletes_the_clicked_filter_with_one_undo_step`](https://github.com/storytold/photocraft/blob/3a77519ce2cef0fb60cebd4ea796d599f68868cb/crates/ui-egui/src/smart_ui/context_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked row_menu_moves_and_deletes_the_clicked_filter_with_one_undo_step -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Add move and delete actions to Smart Filter rows. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4023",
|
||
"pr": 4023,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "Select Spanish UI; open a synthetic document and the filter/video menus affected by this PR.",
|
||
"action": "Inspect Interpret/Replace Footage, Tilt-Shift, Mezzotint and Smart Sharpen; exercise labels containing parameter placeholders.",
|
||
"expected": "All affected labels use the intended reviewed Spanish terminology; placeholders retain their values and no missing-key fallback appears.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4305",
|
||
"pr": 4305,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`low_and_high_composite_back_to_the_source_at_every_depth`](https://github.com/storytold/photocraft/blob/1b74873991dbb2e9803d228a969291f09c6f1032/crates/engine/src/frequency_separation_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked low_and_high_composite_back_to_the_source_at_every_depth -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Filter > Other > Frequency Separation (#1714). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4711",
|
||
"pr": 4711,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`clipped_dissolve_is_binary_and_preserves_the_base_shape`](https://github.com/storytold/photocraft/blob/db546ff4822a011a7915b66af3834f94c05767db/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked clipped_dissolve_is_binary_and_preserves_the_base_shape -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Treat Dissolve as a per-pixel choice. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4992",
|
||
"pr": 4992,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`clipped_dissolve_is_binary_and_preserves_the_base_shape`](https://github.com/storytold/photocraft/blob/194a8976cd6c14441222b287b9b4f4841a0eb2f9/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked clipped_dissolve_is_binary_and_preserves_the_base_shape -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Preserve Dissolve coverage when compositing clipped layers. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7153",
|
||
"pr": 7153,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`smart_filter_edit_after_the_stack_changed_updates_nothing`](https://github.com/storytold/photocraft/blob/6f5d929d6172cf211a070f12cde9507aca9eb30a/crates/ui-egui/src/dialogs/liquify_ui/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked smart_filter_edit_after_the_stack_changed_updates_nothing -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Smart Filters: double-clicking a Liquify filter reopens it in the Liquify workspace. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7903",
|
||
"pr": 7903,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`cutout_makes_flat_shapes_with_clean_edges`](https://github.com/storytold/photocraft/blob/5c30699087b02edcaa23397a0f7076bf503be048/crates/algo/src/artistic_fx.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked cutout_makes_flat_shapes_with_clean_edges -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Filter Gallery › Cutout 4/4: trace the image into flat paper shapes. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8039",
|
||
"pr": 8039,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`softer_outer_glow_keeps_a_fading_tail_past_its_size`](https://github.com/storytold/photocraft/blob/5579cf5439856fed93f41a669a3fc9b56d5813cf/crates/compose/src/effects.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked softer_outer_glow_keeps_a_fading_tail_past_its_size -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Compose: Extend Softer outer glows past Size (#7899). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8191",
|
||
"pr": 8191,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`oklab_round_trips_and_marks_the_gamut`](https://github.com/storytold/photocraft/blob/91e4cec43525ca739c05cff614701fbd3576e389/crates/algo/src/cutout/colour.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked oklab_round_trips_and_marks_the_gamut -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Filter Gallery › Cutout 1/4: colour and palette stage. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8192",
|
||
"pr": 8192,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`oklab_round_trips_and_marks_the_gamut`](https://github.com/storytold/photocraft/blob/412e3b7cf1f4836a5772d93391d21728dbe1f74f/crates/algo/src/cutout/colour.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked oklab_round_trips_and_marks_the_gamut -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Filter Gallery › Cutout 2/4: regions stage. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8193",
|
||
"pr": 8193,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`oklab_round_trips_and_marks_the_gamut`](https://github.com/storytold/photocraft/blob/864024609b872de3d869879f1632b951c896c6cd/crates/algo/src/cutout/colour.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked oklab_round_trips_and_marks_the_gamut -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Filter Gallery › Cutout 3/4: edges and curves stage. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8903",
|
||
"pr": 8903,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`minified_pattern_is_filtered_not_aliased`](https://github.com/storytold/photocraft/blob/d387f52f1f2f5681b2c7d1c517aa5b5992c7bc88/crates/compose/src/pattern.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked minified_pattern_is_filtered_not_aliased -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Box-filter minified patterns in the CPU and GPU samplers (#8831). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9472",
|
||
"pr": 9472,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`displace_psd_filter_with_only_a_map_path_renders_after_replace_contents`](https://github.com/storytold/photocraft/blob/4bab657cd4fb4a91ced44d3721e63a002ca5068c/crates/engine/tests/it/smart_psd.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked displace_psd_filter_with_only_a_map_path_renders_after_replace_contents -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(io): import a Displace smart filter that names its map file without embedding it (#9162). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9509",
|
||
"pr": 9509,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`full_coverage_adjustment_keeps_its_result_over_huge_hdr_values`](https://github.com/storytold/photocraft/blob/d78d7493d3f0b6e760c88de969ac810e9bc5d910/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked full_coverage_adjustment_keeps_its_result_over_huge_hdr_values -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix: an edit at full coverage keeps its result over huge 32-bit values. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9512",
|
||
"pr": 9512,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`adjustment_fill_changes_the_special_blend_modes`](https://github.com/storytold/photocraft/blob/6c55561128caf5ac917eb3d174e8e7bb4bd48e23/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked adjustment_fill_changes_the_special_blend_modes -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(compose, gpu): adjustment layers apply Fill inside the special eight blend modes. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9584",
|
||
"pr": 9584,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`blend_if_16_bit_cutoffs_follow_photoshops_steps`](https://github.com/storytold/photocraft/blob/fc0f7b1132f799b5bba7be642c9047499d95a887/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked blend_if_16_bit_cutoffs_follow_photoshops_steps -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(compose, gpu): Blend If hard points match Photoshop at 16 bits and for Gray. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9589",
|
||
"pr": 9589,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`adjustment_blend_if_judges_the_result_before_opacity`](https://github.com/storytold/photocraft/blob/da157945077190e550b53a5e14b0536f62761292/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked adjustment_blend_if_judges_the_result_before_opacity -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(compose, gpu): an adjustment layer's This Layer range judges its result before Opacity. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9595",
|
||
"pr": 9595,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`pass_through_group_with_blend_if_is_isolated`](https://github.com/storytold/photocraft/blob/75fa71a4f55a098061b12d91508b514565ab8dcf/crates/compose/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked pass_through_group_with_blend_if_is_isolated -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(compose, gpu): a Pass Through group with Blend If renders isolated. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9651",
|
||
"pr": 9651,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`matches_scalar_sharpen_bit_for_bit_across_layouts_edges_and_hdr`](https://github.com/storytold/photocraft/blob/67666bdf72a58066df868868cef82e5b9cc838de/crates/algo/tests/it/retouch_sharpen_exact.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked matches_scalar_sharpen_bit_for_bit_across_layouts_edges_and_hdr -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; perf(algo): row-parallel local_sharpen with fast-path protect_detail (#5426). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9703",
|
||
"pr": 9703,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`adjustment_names_target_contents_instead_of_masks`](https://github.com/storytold/photocraft/blob/3605d30c38294c4d970e52f4a02f44f97e8bc1a9/crates/ui-egui/src/mask_thumbs_ui/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked adjustment_names_target_contents_instead_of_masks -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fix adjustment layer name clicks targeting masks. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-1991",
|
||
"pr": 1991,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`json_actions_round_trip_preserves_metadata`](https://github.com/storytold/photocraft/blob/202266b90613280e16ae285b53dd4e10d5f0c7ac/crates/engine/src/actions_cmds/json_file.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked json_actions_round_trip_preserves_metadata -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(actions): import and export reusable Actions JSON files. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3142",
|
||
"pr": 3142,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`encrypted_applied_white_balance_and_black_reach_the_developer`](https://github.com/storytold/photocraft/blob/e2ed234e654e574109ffcdb9756f8e8d1b8a00b2/crates/raw/src/sony_metadata.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-raw --locked encrypted_applied_white_balance_and_black_reach_the_developer -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Read applied Sony RAW metadata and crop ILCE-6000 images. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3387",
|
||
"pr": 3387,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`alpha_header_correction_rejects_unexpected_or_truncated_headers`](https://github.com/storytold/photocraft/blob/58b83f42a4b39cf56751be53ec8d227efee70f68/crates/codecs/src/codecs/jxl.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-codecs --locked alpha_header_correction_rejects_unexpected_or_truncated_headers -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(codecs): add lossless JPEG XL export for 8/16-bit images. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3464",
|
||
"pr": 3464,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`appended_work_and_saved_components_preserve_existing_geometry_and_undo`](https://github.com/storytold/photocraft/blob/1eecd00b2dff4ae4c642269cec211cd06ce1c3aa/crates/engine/tests/pen_path_append.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked appended_work_and_saved_components_preserve_existing_geometry_and_undo -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(vector): target selected saved paths and own Pen gestures. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3519",
|
||
"pr": 3519,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`layers_to_files_can_trim_transparent_margins_without_changing_the_document`](https://github.com/storytold/photocraft/blob/807de6c043a512cb947d86b944c758b3db1277c7/crates/engine/src/file_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked layers_to_files_can_trim_transparent_margins_without_changing_the_document -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(export): optionally trim transparent margins from layer files. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5870",
|
||
"pr": 5870,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`duplicate_layer_ids_are_rejected_across_the_whole_tree`](https://github.com/storytold/photocraft/blob/f9de0a6abc78aa405b1ef46f5da6cba424106204/crates/format/tests/layer_identities.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-format --locked duplicate_layer_ids_are_rejected_across_the_whole_tree -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(format): reject duplicate native layer identities. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6383",
|
||
"pr": 6383,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "Use an existing Windows release build and its symbols artifact from the same immutable build; record both artifact identities.",
|
||
"action": "Inspect the symbols ZIP and load a representative PDB with its matching executable in a debugger/profiler. Do not publish a release to run this case.",
|
||
"expected": "The ZIP contains the release build PDBs and symbol identity matches the executable; missing artifacts make this case BLOCKED.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8892",
|
||
"pr": 8892,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "Open a layered synthetic document in Move tool and Save for Web; capture initial dialog geometry.",
|
||
"action": "Inspect alignment and overflow controls; enter an invalid Matte value and compare dialog width before/after.",
|
||
"expected": "Alignment and overflow controls keep the reviewed larger dimensions, and invalid Matte input does not change Save for Web width.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8897",
|
||
"pr": 8897,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`reads_stop_at_the_total_limit`](https://github.com/storytold/photocraft/blob/eb06798f15516eb7e4fac24c98346fd9052e7f8e/crates/format/src/read.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-format --locked reads_stop_at_the_total_limit -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(io): read linked smart objects for PSD export as regular files only. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8986",
|
||
"pr": 8986,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`direct_selection_drags_an_anchor_of_the_selected_saved_path`](https://github.com/storytold/photocraft/blob/390dfbbcb026b33d46c52c62360b65deca00f258/crates/ui-egui/src/saved_path_edit_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked direct_selection_drags_an_anchor_of_the_selected_saved_path -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Path tools: edit the saved path selected in the Paths panel (#8478). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9339",
|
||
"pr": 9339,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`untagged_srgb_export_tags_without_rewriting_pixels`](https://github.com/storytold/photocraft/blob/393645ab91460af2e37cc3ba8f6921e7551f676e/crates/ui-egui/src/export_dialog.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked untagged_srgb_export_tags_without_rewriting_pixels -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(export): embed requested sRGB profile for untagged sources (#9325). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9342",
|
||
"pr": 9342,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`embed_color_profile_tags_an_untagged_document_srgb`](https://github.com/storytold/photocraft/blob/c46a74621d36adae9707ab8f3eb39cf6b4c302b9/crates/engine/src/web_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked embed_color_profile_tags_an_untagged_document_srgb -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(io, engine): Embed Color Profile writes sRGB for an untagged document (#9325). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9401",
|
||
"pr": 9401,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`write_keeps_the_replaced_files_creation_time`](https://github.com/storytold/photocraft/blob/f241bba1adfb9c7ec5dd5ed9d86f95b63c7bc2c3/crates/automation/src/workspace.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-automation --locked write_keeps_the_replaced_files_creation_time -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(format): a save on macOS keeps the file's creation time (#9388). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9416",
|
||
"pr": 9416,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`lookup_keeps_first_match_for_every_object_size`](https://github.com/storytold/photocraft/blob/742b06805284d8d76d5a29ec1821193f4835fedf/crates/affinity/src/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-affinity --locked lookup_keeps_first_match_for_every_object_size -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Affinity reader: contiguous curve records and a cheaper object tag index. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9590",
|
||
"pr": 9590,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`psd_contours_keep_at_most_16_points_and_their_peaks`](https://github.com/storytold/photocraft/blob/a9744ed44dc782613b19a97b8c159a091f73e669/crates/io/src/effects_map.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-io --locked psd_contours_keep_at_most_16_points_and_their_peaks -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(io): PSD layer-effect contours keep at most 16 points. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4763",
|
||
"pr": 4763,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "Open Liquify on a synthetic grid; place the brush center at a known point and note the initial size.",
|
||
"action": "Use the native brush-resize gesture, vary size and restore it; inspect the HUD anchor while dragging.",
|
||
"expected": "Liquify reuses the native resize behavior and the HUD stays anchored to the gesture; no image edit is committed by resizing.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4985",
|
||
"pr": 4985,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`shift_right_mode_picker_selects_journals_and_clear_erases`](https://github.com/storytold/photocraft/blob/1dc98f80f60e993f3edf20af815391b6a7e7add7/crates/ui-egui/src/canvas/paint_mouse/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked shift_right_mode_picker_selects_journals_and_clear_erases -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(ui): add Shift+right-click brush mode picker. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5082",
|
||
"pr": 5082,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`mixer_load_fills_the_reservoir_from_the_canvas_and_keeps_the_foreground`](https://github.com/storytold/photocraft/blob/23bab3cc9204568aaeb012b9e1da70a2caacb879/crates/engine/src/brush_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked mixer_load_fills_the_reservoir_from_the_canvas_and_keeps_the_foreground -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(mixer-brush): Alt-click samples the foreground colour like the Brush (#4873). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5165",
|
||
"pr": 5165,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`selecting_a_controls_section_keeps_its_enabled_flag_and_brush_history`](https://github.com/storytold/photocraft/blob/27bc6e4b37b701480efa69559ab13eafc52bd94c/crates/ui-egui/src/brush_panel_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked selecting_a_controls_section_keeps_its_enabled_flag_and_brush_history -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fix: brush section selection. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5453",
|
||
"pr": 5453,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`split_cache_does_not_pin_pattern_tiles_over_its_budget`](https://github.com/storytold/photocraft/blob/e22a9baedceefd97daffe84403b23c99c56d6919/crates/compose/src/shape_split.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked split_cache_does_not_pin_pattern_tiles_over_its_budget -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Shapes: independent fill and stroke paints (solid, gradient, pattern), part 1. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5939",
|
||
"pr": 5939,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`blur_scales_with_brush_size_and_diffuses_pixels_visibly`](https://github.com/storytold/photocraft/blob/7348e060b4be7204fb69b59079c3b9d808e9aad3/crates/engine/src/retouch_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked blur_scales_with_brush_size_and_diffuses_pixels_visibly -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(paint): scale blur sigma with brush size (#5892). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6139",
|
||
"pr": 6139,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`behind_brush_and_pencil_preserve_foreground_and_round_trip_history`](https://github.com/storytold/photocraft/blob/e2347f8ead85d929193044f139788b850e31c06f/crates/engine/src/brush_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked behind_brush_and_pencil_preserve_foreground_and_round_trip_history -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fix painting workflows, File Info and layer selection. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7848",
|
||
"pr": 7848,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`pressure_shape_and_smoothing_match_replay`](https://github.com/storytold/photocraft/blob/389a1d5bd67072d5581c27989080222a7065b585/crates/engine/tests/live_dab_matches_replay.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked pressure_shape_and_smoothing_match_replay -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(retouch): preserve Smudge pickup with live-pixel stroke commits. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9623",
|
||
"pr": 9623,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`pencil_1px_freehand_line_never_breaks_where_it_turns`](https://github.com/storytold/photocraft/blob/652075f4da7fe905ad651eebc3a6c276fe1d7a5d/crates/paint/src/brush_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-paint --locked pencil_1px_freehand_line_never_breaks_where_it_turns -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Pencil: keep a 1 px freehand line connected where it turns. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3554",
|
||
"pr": 3554,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "Run the checked-in AppRun CLI test; it builds stand-in binaries under a path with spaces.",
|
||
"action": "bash packaging/linux/apprun-cli-test.sh",
|
||
"expected": "Argument boundaries, MCP stdio round trip, exit status 37 and unchanged GUI entry behavior all pass the script assertions.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4742",
|
||
"pr": 4742,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "[`scripts_parse_json_and_lines`](https://github.com/storytold/photocraft/blob/b7145b5a8afb85d0eef3922931d6749436966943/crates/engine/src/automate_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked scripts_parse_json_and_lines -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(macos): bundle photocraft-cli and resolve it from droplet scripts. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7743",
|
||
"pr": 7743,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "Obtain an existing portable Windows ZIP built from the frozen integration; record its artifact identity.",
|
||
"action": "List root archive entries and extract into a new empty directory; launch the app from the extracted root.",
|
||
"expected": "Application files are directly at ZIP root without a redundant wrapping folder; extracted layout launches correctly.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8985",
|
||
"pr": 8985,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`field_marker_stays_inside_the_field`](https://github.com/storytold/photocraft/blob/8e695caf885b529f01f482b3f0c90cdb34df1915/crates/ui-egui/src/color_picker_ui.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked field_marker_stays_inside_the_field -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Color panel and Color Picker: clip the round cursor to the colour field. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9019",
|
||
"pr": 9019,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "[`unknown_bench_is_rejected_before_updating_the_baseline`](https://github.com/storytold/photocraft/blob/364c4be1c19728aefa601ee924bc7a0cd6a09789/xtask/src/perf.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p xtask --locked unknown_bench_is_rejected_before_updating_the_baseline -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(xtask): reject unknown performance benchmark selections. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9110",
|
||
"pr": 9110,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "[`injected_fault_skips_the_gpu`](https://github.com/storytold/photocraft/blob/2e716f93b2e2135944e07d821be4eb38fce13ec9/crates/gpu/tests/it/device_loss.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-gpu --locked injected_fault_skips_the_gpu -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; test: GPU tests honour WGPU_BACKEND, so they run on Windows with an Intel GPU (#4). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9436",
|
||
"pr": 9436,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "[`path_names_the_attached_log_file`](https://github.com/storytold/photocraft/blob/819f2692db4302019638c57b6ea34cd1e8f4c24b/apps/photocraft/src/logging.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft --locked path_names_the_attached_log_file -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Startup: a failed launch says why in a dialog instead of closing silently (#7643). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-2300",
|
||
"pr": 2300,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`polygon_edge_scroll_continues_with_button_up_and_keeps_vertices_fixed`](https://github.com/storytold/photocraft/blob/ebf3777aec961d1815aa141d9987eaa645c2273f/crates/ui-egui/src/polygon_lasso_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked polygon_edge_scroll_continues_with_button_up_and_keeps_vertices_fixed -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Scroll the viewport while outlining with Polygonal Lasso. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5010",
|
||
"pr": 5010,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`layer_style_keeps_one_size_on_every_page`](https://github.com/storytold/photocraft/blob/cc865221894e21f846d92b721cce7421ea338363/crates/ui-egui/src/dialogs.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked layer_style_keeps_one_size_on_every_page -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Layer Style: Photoshop's layout (three columns, OK/Cancel/New Style/Preview on the right, one-line rows) [depends on #4938]. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5493",
|
||
"pr": 5493,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`csh_import_requires_inline_data_in_automation`](https://github.com/storytold/photocraft/blob/f97eb2849a68e1ed1c08c5b378770cf35cbcb72d/crates/automation/src/workspace/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-automation --locked csh_import_requires_inline_data_in_automation -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Import Photoshop custom shape sets into the Shapes panel. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5515",
|
||
"pr": 5515,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`select_subject_samples_the_selected_layer_else_the_composite`](https://github.com/storytold/photocraft/blob/375d4894a119b6cd5933d53e8fe7f506d2783392/crates/engine/src/smartselect_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked select_subject_samples_the_selected_layer_else_the_composite -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Selecting subject now automatically applies to selected layer, and us…. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5650",
|
||
"pr": 5650,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`move_guide_turns_a_guide`](https://github.com/storytold/photocraft/blob/4b1bd6fb6d264f885cb9caa3b8a6578ee527bd7b/crates/engine/src/edit_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked move_guide_turns_a_guide -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Guides: ⌥ turns a dragged guide; dropping one on either ruler deletes it (#5034). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6026",
|
||
"pr": 6026,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`fixed_size_px_is_exactly_the_size`](https://github.com/storytold/photocraft/blob/248ba660576f4896f69cbb6639353e2f1d295271/crates/ui-egui/src/canvas.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked fixed_size_px_is_exactly_the_size -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Marquee: Fixed Size selects exactly the entered width and height (fixes #6015). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6236",
|
||
"pr": 6236,
|
||
"subsystem": "Painting",
|
||
"fixture_setup": "[`shift_alt_right_press_opens_the_hud_not_the_picker`](https://github.com/storytold/photocraft/blob/ce546dd4b5451a17b843ef1e129bdb40fbfe3160/crates/ui-egui/src/color_hud.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked shift_alt_right_press_opens_the_hud_not_the_picker -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Shift+Alt+right-click opens Photoshop's HUD Color Picker (#6098). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6510",
|
||
"pr": 6510,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`canonical_windows_prefixes_match_without_ambient_resolution`](https://github.com/storytold/photocraft/blob/8bb0a5e67474d36ae08d565251edb1ae780dd044/crates/automation/src/workspace/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-automation --locked canonical_windows_prefixes_match_without_ambient_resolution -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Automation: resolve configured root aliases for absolute paths (#6426). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6621",
|
||
"pr": 6621,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`crop_menu_ratio_rows_fit_the_frame_like_the_options_bar`](https://github.com/storytold/photocraft/blob/ead45134d320cb1002724d5ef44f5c56588bbe1d/crates/ui-egui/src/canvas_tool_menu.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked crop_menu_ratio_rows_fit_the_frame_like_the_options_bar -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Crop: right-click on the pending crop opens the crop menu (#6561). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7648",
|
||
"pr": 7648,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`merge_shape_components_bakes_a_paths_operations`](https://github.com/storytold/photocraft/blob/d24669d412f64ab079a668b0b8520ddbc607410c/crates/engine/src/cmd/path_edit_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked merge_shape_components_bakes_a_paths_operations -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Pen: Path Operations menu, as in Photoshop (#1397). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8074",
|
||
"pr": 8074,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`interpolation_selection_is_reused_for_the_next_transform`](https://github.com/storytold/photocraft/blob/290f924d0fecc3bf6bea159c0d9e86255d326a96/crates/ui-egui/src/transform_tool.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked interpolation_selection_is_reused_for_the_next_transform -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Transform: remember selected interpolation (#8067). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8896",
|
||
"pr": 8896,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`overlay_colour_and_what_it_indicates`](https://github.com/storytold/photocraft/blob/19fa473039ef11deda7c3200c8fac1de41309086/crates/ui-egui/src/canvas/select_mask_view.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked overlay_colour_and_what_it_indicates -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Select and Mask: Photoshop's full-window workspace (#7069, #8148). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9493",
|
||
"pr": 9493,
|
||
"subsystem": "Selection, paths and transforms",
|
||
"fixture_setup": "[`feather_at_the_canvas_edge_continues_the_mask_past_it`](https://github.com/storytold/photocraft/blob/61a413d8df9e90ee545eb08e57c5615aa2b29cea/crates/compose/src/masks.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-compose --locked feather_at_the_canvas_edge_continues_the_mask_past_it -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(vector): a mask feather continues the mask past the canvas edge. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3139",
|
||
"pr": 3139,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`text_without_right_to_left_characters_is_untouched`](https://github.com/storytold/photocraft/blob/4da79e8d16ded8b51f06c1ac64e50ccba288274e/crates/ui-egui/src/bidi_label_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked text_without_right_to_left_characters_is_untouched -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Draw right-to-left layer names in visual word order. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4783",
|
||
"pr": 4783,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`tysh_fallback_cannot_reintroduce_unusable_finite_or_nonfinite_transform`](https://github.com/storytold/photocraft/blob/a9d62726bed607bc540db9d09c8dc1be4f9895aa/crates/io/src/blocks.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-io --locked tysh_fallback_cannot_reintroduce_unusable_finite_or_nonfinite_transform -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fix/4758 type extreme finite geometry 20261013s1215. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8347",
|
||
"pr": 8347,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`set_style_paragraph_hanging_round_trips`](https://github.com/storytold/photocraft/blob/2b1364393cfcd09380cf18a221e7cdd325fc4deb/crates/engine/src/type_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked set_style_paragraph_hanging_round_trips -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Type: Roman Hanging Punctuation (trailing marks hang, don't steer the alignment). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9457",
|
||
"pr": 9457,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`gauss_gives_the_bits_of_the_tap_loop`](https://github.com/storytold/photocraft/blob/2863c3281c2a22dade0ce92d42bf8900074f76c6/crates/raw/src/tone.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-raw --locked gauss_gives_the_bits_of_the_tap_loop -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; raw: faster tone stage (Shadows, Highlights, Clarity, Texture, Dehaze), same bytes. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9478",
|
||
"pr": 9478,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`baseline_direction_round_trips`](https://github.com/storytold/photocraft/blob/cc208ee0440bbdf1858565dca49667272a490c56/crates/text/src/psd.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-text --locked baseline_direction_round_trips -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(text): vertical type sets roman letters upright, one per em, as Photoshop does (#9470). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9523",
|
||
"pr": 9523,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`closed_rectangle_left_edge_continues_past_the_top_left_seam`](https://github.com/storytold/photocraft/blob/728782c595e768bdb6febc7f30e4d1456d13fd36/crates/text/src/closed_path_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-text --locked closed_rectangle_left_edge_continues_past_the_top_left_seam -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Fix Type on a Path wrapping and caret positioning across closed-path seams. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9594",
|
||
"pr": 9594,
|
||
"subsystem": "Type and typography",
|
||
"fixture_setup": "[`copied_type_keeps_its_pixel_size_across_resolutions_after_an_edit`](https://github.com/storytold/photocraft/blob/46512521fec2b4b462c29d9fefd16398cb81212c/crates/engine/src/layer_copy_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked copied_type_keeps_its_pixel_size_across_resolutions_after_an_edit -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(engine): copied type keeps its size across resolutions after an edit. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9596",
|
||
"pr": 9596,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`a_kept_txt2_goes_with_the_last_type_layer`](https://github.com/storytold/photocraft/blob/e62013cfd652fa60470a0f7a185fbc8f3d2a2c92/crates/io/src/psd_export.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-io --locked a_kept_txt2_goes_with_the_last_type_layer -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(io): drop a kept Txt2 once no type layers are left. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3345",
|
||
"pr": 3345,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`native_gradient_icons_persist_reset_and_preserve_legacy_defaults`](https://github.com/storytold/photocraft/blob/bfb691f84896fe68543980426632153dc4b4ea69/crates/engine/src/prefs/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked native_gradient_icons_persist_reset_and_preserve_legacy_defaults -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Add grouped gradient presets and selectable style icons. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3461",
|
||
"pr": 3461,
|
||
"subsystem": "Actions and automation",
|
||
"fixture_setup": "[`recorded_eye_visibility_replays_on_another_document_and_duplicate_names`](https://github.com/storytold/photocraft/blob/5d8cb2a39ad70e31260f1f3fc2010ca132daff65/crates/engine/src/actions_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked recorded_eye_visibility_replays_on_another_document_and_duplicate_names -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Replay recorded layer visibility on the intended named layer. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-3520",
|
||
"pr": 3520,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`studio_dark_keeps_square_colour_chips`](https://github.com/storytold/photocraft/blob/d36ec9a21e9c1ed70de2e0d185efd7e084644157/crates/ui-egui/src/theme.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked studio_dark_keeps_square_colour_chips -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): restore square color chips in Studio Dark theme. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4035",
|
||
"pr": 4035,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`flatten_keeps_the_inks_of_a_single_layer_exactly`](https://github.com/storytold/photocraft/blob/15ebf8fc940031abdf772e5fdd687c8b55938639/crates/engine/tests/cmyk_flatten_profile.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked flatten_keeps_the_inks_of_a_single_layer_exactly -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(cmyk): Flatten Image and merges keep the inks of a tagged CMYK document (#3778). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4042",
|
||
"pr": 4042,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`middle_drag_rotates_about_the_pointer_without_panning`](https://github.com/storytold/photocraft/blob/f05098562220a663d052ee3918fd36c8c3e17a51/crates/ui-egui/src/rotate_view.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked middle_drag_rotates_about_the_pointer_without_panning -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(canvas): rotate view with Shift + middle-mouse drag. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4547",
|
||
"pr": 4547,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`windows_and_linux_icons_keep_the_round_corners`](https://github.com/storytold/photocraft/blob/a08f7a2295488c2692f68902835a693322017b64/apps/photocraft/src/app_icon.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft --locked windows_and_linux_icons_keep_the_round_corners -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(icons): PhotoCraft icon corner radius matches other Craft apps (#4478). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4883",
|
||
"pr": 4883,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`status_bounds_follow_the_actual_selection_and_active_layer`](https://github.com/storytold/photocraft/blob/ea500486fb40511d3b4782dfacbb89fbff846d8a/crates/ui-egui/src/chrome_ui.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked status_bounds_follow_the_actual_selection_and_active_layer -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(ui): show selection and active-layer bounds in the status bar. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4890",
|
||
"pr": 4890,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`scrollbar_visibility_round_trips_and_old_preferences_keep_the_theme_default`](https://github.com/storytold/photocraft/blob/ab84cab7355ac999fb1be226950978bafec39605/crates/engine/src/prefs/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked scrollbar_visibility_round_trips_and_old_preferences_keep_the_theme_default -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Add scrollbar visibility preferences (#3262). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-4938",
|
||
"pr": 4938,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`layer_style_keeps_one_size_on_every_page`](https://github.com/storytold/photocraft/blob/63b7c921634835259139e4d3e7b9d3c396998b4d/crates/ui-egui/src/dialogs.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked layer_style_keeps_one_size_on_every_page -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Layer Style: one dialog size on every page, and it fits short screens. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5270",
|
||
"pr": 5270,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`gradient_overlay_takes_explicit_stops`](https://github.com/storytold/photocraft/blob/9db1c7ae1d48ce4f31622b5f9029c70c590842f8/crates/engine/src/layer_style.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked gradient_overlay_takes_explicit_stops -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Layer Style: Gradient Overlay takes any number of colour stops (#5177). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-5744",
|
||
"pr": 5744,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`torn_off_document_is_not_drawn_again_in_the_main_window`](https://github.com/storytold/photocraft/blob/50b1f6734799cf7b5d45dd84868976afd31aa711/crates/ui-egui/src/canvas.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked torn_off_document_is_not_drawn_again_in_the_main_window -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): keep detached documents in one interactive window. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6387",
|
||
"pr": 6387,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`video_frames_to_layers_takes_every_tiff_page`](https://github.com/storytold/photocraft/blob/8bfbbf816025942b74130adf16fb07265817b691/crates/engine/src/video_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked video_frames_to_layers_takes_every_tiff_page -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Video Frames to Layers: every page of a multi-page TIFF (part of #6379). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-6449",
|
||
"pr": 6449,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`cmd_and_alt_with_the_hand_tool_zoom_in_and_out_while_held`](https://github.com/storytold/photocraft/blob/25c38a0b69b7bff31badcdbe2ef9f2ff6aba1c63/crates/ui-egui/src/hold_keys/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked cmd_and_alt_with_the_hand_tool_zoom_in_and_out_while_held -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Hand tool: Cmd held zooms in and Alt zooms out, as in Photoshop. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-7255",
|
||
"pr": 7255,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`trim_and_duplicate_merged_on_too_large_document_fail_gracefully_without_panic`](https://github.com/storytold/photocraft/blob/1b810052bc3a876c1eaf1a8766870ffdba9f8a80/crates/engine/src/image_cmds.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked trim_and_duplicate_merged_on_too_large_document_fail_gracefully_without_panic -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(engine): guard trim and duplicate merged against documents exceeding render limits (#7223). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-8931",
|
||
"pr": 8931,
|
||
"subsystem": "Compositing and filters",
|
||
"fixture_setup": "[`the_description_is_the_cpus_blur`](https://github.com/storytold/photocraft/blob/d42dd4c6302c77c1f9dc46b7b53ffa5eb0047a13/crates/algo/src/separable.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-algo --locked the_description_is_the_cpus_blur -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(algo): describe the Gaussian blur as data for other devices. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9004",
|
||
"pr": 9004,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "Open a synthetic layered document with Move tool; use the supported themes and display scales.",
|
||
"action": "Inspect Move alignment icons and compare screenshots to the reviewed icon geometry in this PR.",
|
||
"expected": "Icons use the enlarged reviewed geometry, remain legible and do not clip or shift adjacent controls.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9015",
|
||
"pr": 9015,
|
||
"subsystem": "Platform and reliability",
|
||
"fixture_setup": "[`rejects_numeric_prerelease_identifiers_with_leading_zeroes`](https://github.com/storytold/photocraft/blob/afb4364a8795c42e6353762891b4890d878f9a68/xtask/src/version.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p xtask --locked rejects_numeric_prerelease_identifiers_with_leading_zeroes -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(xtask): reject leading zeroes in numeric prerelease identifiers. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9172",
|
||
"pr": 9172,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`new_gradient_fill_layer_defaults_to_foreground_to_transparent`](https://github.com/storytold/photocraft/blob/8ebb04999d25790f71f9bd88f7a268a6a2754aec/crates/engine/src/gradient_fill_cmds/tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-engine --locked new_gradient_fill_layer_defaults_to_foreground_to_transparent -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Gradient Fill layer: default to Foreground to Transparent (#8708). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9282",
|
||
"pr": 9282,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`adjustment_preset_menus_load_presets_and_read_custom_after_an_edit`](https://github.com/storytold/photocraft/blob/20803d1f15900ed6ecc7b5c79b4c68f6c3d6dcce/crates/ui-egui/src/adjust_dialog.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked adjustment_preset_menus_load_presets_and_read_custom_after_an_edit -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; feat(ui): Preset menus for Levels, Exposure, Black & White and Channel Mixer. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9354",
|
||
"pr": 9354,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`screen_mode_button_is_inert_without_a_document`](https://github.com/storytold/photocraft/blob/41eb1de5cff17f5f5b9c22913e48b71565b56a2a/crates/ui-egui/src/panels.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked screen_mode_button_is_inert_without_a_document -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): Full Screen Mode needs a document (#9349). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9418",
|
||
"pr": 9418,
|
||
"subsystem": "File fidelity and colour",
|
||
"fixture_setup": "[`three_dl_mesh_three_point_shaper_is_not_a_node`](https://github.com/storytold/photocraft/blob/da4b838e54f6073cda4798fa7b63b3b7214aaf93/crates/cms/src/lutfile.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-cms --locked three_dl_mesh_three_point_shaper_is_not_a_node -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; Color Lookup: honour the .3dl Mesh header's cube edge and output depth (#9078, #9073). Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9481",
|
||
"pr": 9481,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`new_effects_start_from_the_made_default`](https://github.com/storytold/photocraft/blob/7937adff961027154d795b8905e821244ae4f929/crates/ui-egui/src/layer_style.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked new_effects_start_from_the_made_default -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): new layer effects start from the Make Default values. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9504",
|
||
"pr": 9504,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`cmd_z_is_recorded_while_capturing_and_undoes_otherwise`](https://github.com/storytold/photocraft/blob/993c9ed167c6acd9bc8f87c6cff6e2c7abba17a8/crates/ui-egui/src/shortcut_capture_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked cmd_z_is_recorded_while_capturing_and_undoes_otherwise -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): Keyboard Shortcuts records ⌘Z instead of undoing the capture. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9517",
|
||
"pr": 9517,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`layer_style_buttons_stay_on_a_short_window`](https://github.com/storytold/photocraft/blob/81b434c6149732eadc94e0465fea81bd075facd4/crates/ui-egui/src/dialogs.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked layer_style_buttons_stay_on_a_short_window -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): Layer Style scrolls on a short window so OK stays on screen. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9597",
|
||
"pr": 9597,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`layer_rows_do_not_move_when_no_layer_is_selected`](https://github.com/storytold/photocraft/blob/9429df26b371c04c2afa65228a60ded739b5fbc2/crates/ui-egui/src/layer_pct_slider_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked layer_rows_do_not_move_when_no_layer_is_selected -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): the layer list doesn't move with no layer selected. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9598",
|
||
"pr": 9598,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`twirl_counterclockwise_has_its_own_mirrored_icon`](https://github.com/storytold/photocraft/blob/47aea89e9220b996f0d5a0d2bb8b5938100b4ad1/crates/ui-egui/src/liquify_ui.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked twirl_counterclockwise_has_its_own_mirrored_icon -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): Liquify's Twirl Counterclockwise gets a mirrored twirl icon. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
},
|
||
{
|
||
"id": "PR-9606",
|
||
"pr": 9606,
|
||
"subsystem": "UI and workflow",
|
||
"fixture_setup": "[`color_panel_options_survive_a_restart`](https://github.com/storytold/photocraft/blob/6cc516a3d20120b678040050d95ccadc8d1dfd3f/crates/ui-egui/src/color_panel_tests.rs); use its checked-in synthetic inputs and setup unchanged.",
|
||
"action": "cargo test -p photocraft-ui-egui --locked color_panel_options_survive_a_restart -- --nocapture",
|
||
"expected": "Matching regression executes and all assertions pass; fix(ui): the Color panel remembers its options across restarts. Preserve source/document immutability and expected history assertions where present.",
|
||
"status": "NOT RUN",
|
||
"actual": "",
|
||
"evidence": "",
|
||
"tester": ""
|
||
}
|
||
]
|
||
}
|