{
  "id": "03-layer-mask",
  "source": {
    "path": "practice/source/03-layer-mask.psd",
    "bytes": 62372,
    "sha256": "62180cbc20d6658cd10191315a47bc6cc5b35874885e655fbce4e2751abd56a6"
  },
  "expected_png": {
    "path": "practice/source/03-layer-mask-expected.png",
    "bytes": 1983,
    "sha256": "6301192bbcd014cc1aa860508d9334752e61faca053f83828bfdbb66323d8ca3"
  },
  "steps": [
    {
      "label": "source-info",
      "evidence": "practice/evidence/cli-psd-03-layer-mask-source-info.json",
      "exit_code": 0
    },
    {
      "label": "direct-png",
      "evidence": "practice/evidence/cli-psd-03-layer-mask-direct-png.json",
      "exit_code": 0
    },
    {
      "label": "save-psd",
      "evidence": "practice/evidence/cli-psd-03-layer-mask-save-psd.json",
      "exit_code": 0
    },
    {
      "label": "saved-info",
      "evidence": "practice/evidence/cli-psd-03-layer-mask-saved-info.json",
      "exit_code": 0
    },
    {
      "label": "reopened-png",
      "evidence": "practice/evidence/cli-psd-03-layer-mask-reopened-png.json",
      "exit_code": 0
    }
  ],
  "all_cli_commands_succeeded": true,
  "input_unchanged": true,
  "input_psd_independent_inspection": {
    "dimensions": [
      640,
      400
    ],
    "bits_per_channel": 8,
    "color_mode": "RGB",
    "layer_count": 2,
    "layers": [
      {
        "name": "Background \u2014 pale sky",
        "kind": "pixel",
        "bbox": [
          0,
          0,
          640,
          400
        ],
        "visible": true,
        "has_pixels": true,
        "has_mask": false
      },
      {
        "name": "Teal fill with circular mask",
        "kind": "pixel",
        "bbox": [
          0,
          0,
          640,
          400
        ],
        "visible": true,
        "has_pixels": true,
        "has_mask": true,
        "mask": {
          "stored_size": [
            640,
            400
          ],
          "bbox": [
            0,
            0,
            640,
            400
          ],
          "background_color": 0,
          "disabled": false,
          "extrema": [
            0,
            255
          ],
          "document_coordinate_samples": {
            "corner_0_0": 0,
            "center_320_200": 255
          }
        }
      }
    ]
  },
  "direct_png": {
    "path": "practice/output/03-layer-mask-cli.png",
    "bytes": 2815,
    "sha256": "5f0b63fa5c1632878d97faf32bcbc177165545f280a9ad5e8014e0d1a37f8eae"
  },
  "direct_png_vs_expected": {
    "dimensions_match": true,
    "dimensions": [
      640,
      400
    ],
    "exact_match": true,
    "different_pixels": 0,
    "maximum_channel_difference": 0,
    "mean_absolute_channel_difference": 0.0,
    "difference_bbox": null
  },
  "saved_psd": {
    "path": "practice/output/03-layer-mask-cli-roundtrip.psd",
    "bytes": 60214,
    "sha256": "685c77ea9d2c11b57cdcf1455c979d1dd2c0e57247f13c98195bdbb8ce62c0df"
  },
  "saved_psd_independent_inspection": {
    "dimensions": [
      640,
      400
    ],
    "bits_per_channel": 8,
    "color_mode": "RGB",
    "layer_count": 2,
    "layers": [
      {
        "name": "Background \u2014 pale sky",
        "kind": "pixel",
        "bbox": [
          0,
          0,
          640,
          400
        ],
        "visible": true,
        "has_pixels": true,
        "has_mask": false
      },
      {
        "name": "Teal fill with circular mask",
        "kind": "pixel",
        "bbox": [
          0,
          0,
          640,
          400
        ],
        "visible": true,
        "has_pixels": true,
        "has_mask": true,
        "mask": {
          "stored_size": [
            321,
            321
          ],
          "bbox": [
            160,
            40,
            481,
            361
          ],
          "background_color": 0,
          "disabled": false,
          "extrema": [
            0,
            255
          ],
          "document_coordinate_samples": {
            "corner_0_0": 0,
            "center_320_200": 255
          }
        }
      }
    ]
  },
  "layer_count_preserved": true,
  "layer_kinds_preserved": true,
  "mask_presence_preserved": true,
  "text_strings_preserved": true,
  "mask_pixels_preserved_in_document_coordinates": true,
  "underlying_fill_pixels_preserved": true,
  "mask_storage_note": "PhotoCraft cropped the stored mask bitmap to its non-black bounds; after applying its document offset and black background, all mask pixels remain identical.",
  "reopened_png": {
    "path": "practice/output/03-layer-mask-cli-roundtrip.png",
    "bytes": 2815,
    "sha256": "5f0b63fa5c1632878d97faf32bcbc177165545f280a9ad5e8014e0d1a37f8eae"
  },
  "reopened_png_vs_direct_png": {
    "dimensions_match": true,
    "dimensions": [
      640,
      400
    ],
    "exact_match": true,
    "different_pixels": 0,
    "maximum_channel_difference": 0,
    "mean_absolute_channel_difference": 0.0,
    "difference_bbox": null
  },
  "reopened_png_vs_expected": {
    "dimensions_match": true,
    "dimensions": [
      640,
      400
    ],
    "exact_match": true,
    "different_pixels": 0,
    "maximum_channel_difference": 0,
    "mean_absolute_channel_difference": 0.0,
    "difference_bbox": null
  }
}
