{
  "run_id": "png-ico-size-cost-20261101",
  "renderer": "@napi-rs/canvas",
  "converter_source": "work/svgtopix-publish/png-to-ico/ico.mjs",
  "selection_sets": [
    {
      "label": "small-only",
      "sizes": [
        16
      ]
    },
    {
      "label": "four-size-set",
      "sizes": [
        16,
        32,
        48,
        256
      ]
    },
    {
      "label": "all-seven",
      "sizes": [
        16,
        24,
        32,
        48,
        64,
        128,
        256
      ]
    }
  ],
  "measurement_method": "Read ICO header/directory entries, validate bounds and embedded PNG IHDR dimensions, compare actual file byte lengths; all figures are from generated files.",
  "rows": [
    {
      "sample": "flat-mark",
      "selection": "small-only",
      "input_bytes": 1222,
      "input_sha256": "c03a5a97b780dfdd111b555e274b3039490ed3624aaa998e2d7d5163708d435f",
      "selected_sizes": [
        16
      ],
      "output_bytes": 343,
      "output_sha256": "543d5bfe8ec4188e212fe6ebcf2747e7ffdb9ff0656990ab79ff41410a186566",
      "increase_vs_small_only_bytes": 0,
      "decoded": {
        "count": 1,
        "directory_bytes": 22,
        "frames": [
          {
            "size": 16,
            "offset": 22,
            "payload_bytes": 321
          }
        ]
      },
      "output_file": "outputs/flat-mark-small-only.ico",
      "started_at": "2026-11-01T01:12:16.695Z",
      "completed_at": "2026-11-01T01:12:16.705Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "flat-mark",
      "selection": "four-size-set",
      "input_bytes": 1222,
      "input_sha256": "c03a5a97b780dfdd111b555e274b3039490ed3624aaa998e2d7d5163708d435f",
      "selected_sizes": [
        16,
        32,
        48,
        256
      ],
      "output_bytes": 6171,
      "output_sha256": "95cefe7b1a99be437ecbd589df30ec7d4aa840dcdc19e1b11f799b37cc9d11ec",
      "increase_vs_small_only_bytes": 5828,
      "decoded": {
        "count": 4,
        "directory_bytes": 70,
        "frames": [
          {
            "size": 16,
            "offset": 70,
            "payload_bytes": 321
          },
          {
            "size": 32,
            "offset": 391,
            "payload_bytes": 425
          },
          {
            "size": 48,
            "offset": 816,
            "payload_bytes": 707
          },
          {
            "size": 256,
            "offset": 1523,
            "payload_bytes": 4648
          }
        ]
      },
      "output_file": "outputs/flat-mark-four-size-set.ico",
      "started_at": "2026-11-01T01:12:16.705Z",
      "completed_at": "2026-11-01T01:12:16.716Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "flat-mark",
      "selection": "all-seven",
      "input_bytes": 1222,
      "input_sha256": "c03a5a97b780dfdd111b555e274b3039490ed3624aaa998e2d7d5163708d435f",
      "selected_sizes": [
        16,
        24,
        32,
        48,
        64,
        128,
        256
      ],
      "output_bytes": 8622,
      "output_sha256": "eb691f52819894faba9b3357648ccad57380e10c47e7f2fda051599a9abcecda",
      "increase_vs_small_only_bytes": 8279,
      "decoded": {
        "count": 7,
        "directory_bytes": 118,
        "frames": [
          {
            "size": 16,
            "offset": 118,
            "payload_bytes": 321
          },
          {
            "size": 24,
            "offset": 439,
            "payload_bytes": 553
          },
          {
            "size": 32,
            "offset": 992,
            "payload_bytes": 425
          },
          {
            "size": 48,
            "offset": 1417,
            "payload_bytes": 707
          },
          {
            "size": 64,
            "offset": 2124,
            "payload_bytes": 628
          },
          {
            "size": 128,
            "offset": 2752,
            "payload_bytes": 1222
          },
          {
            "size": 256,
            "offset": 3974,
            "payload_bytes": 4648
          }
        ]
      },
      "output_file": "outputs/flat-mark-all-seven.ico",
      "started_at": "2026-11-01T01:12:16.716Z",
      "completed_at": "2026-11-01T01:12:16.730Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "checker-mark",
      "selection": "small-only",
      "input_bytes": 725,
      "input_sha256": "71ffb4a3487f11a5c39e0c0ade76b243c6ac8035e0af4134cb1a17a43654e5b9",
      "selected_sizes": [
        16
      ],
      "output_bytes": 222,
      "output_sha256": "f25db58869eaa1f6769b564f778e53a3721ae56a911710ea3b5b254dfbf7d490",
      "increase_vs_small_only_bytes": 0,
      "decoded": {
        "count": 1,
        "directory_bytes": 22,
        "frames": [
          {
            "size": 16,
            "offset": 22,
            "payload_bytes": 200
          }
        ]
      },
      "output_file": "outputs/checker-mark-small-only.ico",
      "started_at": "2026-11-01T01:12:16.732Z",
      "completed_at": "2026-11-01T01:12:16.734Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "checker-mark",
      "selection": "four-size-set",
      "input_bytes": 725,
      "input_sha256": "71ffb4a3487f11a5c39e0c0ade76b243c6ac8035e0af4134cb1a17a43654e5b9",
      "selected_sizes": [
        16,
        32,
        48,
        256
      ],
      "output_bytes": 3644,
      "output_sha256": "49ff4744d09c1ee8bcf739b04f9711cc6b52a8e5e54333b0d6be9b421c697a29",
      "increase_vs_small_only_bytes": 3422,
      "decoded": {
        "count": 4,
        "directory_bytes": 70,
        "frames": [
          {
            "size": 16,
            "offset": 70,
            "payload_bytes": 200
          },
          {
            "size": 32,
            "offset": 270,
            "payload_bytes": 268
          },
          {
            "size": 48,
            "offset": 538,
            "payload_bytes": 503
          },
          {
            "size": 256,
            "offset": 1041,
            "payload_bytes": 2603
          }
        ]
      },
      "output_file": "outputs/checker-mark-four-size-set.ico",
      "started_at": "2026-11-01T01:12:16.734Z",
      "completed_at": "2026-11-01T01:12:16.744Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "checker-mark",
      "selection": "all-seven",
      "input_bytes": 725,
      "input_sha256": "71ffb4a3487f11a5c39e0c0ade76b243c6ac8035e0af4134cb1a17a43654e5b9",
      "selected_sizes": [
        16,
        24,
        32,
        48,
        64,
        128,
        256
      ],
      "output_bytes": 5215,
      "output_sha256": "09c52d31e4dcb0d7869a0228bdf31d20b26d9f2669c1fc31ec6c92805511b9ce",
      "increase_vs_small_only_bytes": 4993,
      "decoded": {
        "count": 7,
        "directory_bytes": 118,
        "frames": [
          {
            "size": 16,
            "offset": 118,
            "payload_bytes": 200
          },
          {
            "size": 24,
            "offset": 318,
            "payload_bytes": 412
          },
          {
            "size": 32,
            "offset": 730,
            "payload_bytes": 268
          },
          {
            "size": 48,
            "offset": 998,
            "payload_bytes": 503
          },
          {
            "size": 64,
            "offset": 1501,
            "payload_bytes": 386
          },
          {
            "size": 128,
            "offset": 1887,
            "payload_bytes": 725
          },
          {
            "size": 256,
            "offset": 2612,
            "payload_bytes": 2603
          }
        ]
      },
      "output_file": "outputs/checker-mark-all-seven.ico",
      "started_at": "2026-11-01T01:12:16.744Z",
      "completed_at": "2026-11-01T01:12:16.755Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "seeded-texture",
      "selection": "small-only",
      "input_bytes": 32704,
      "input_sha256": "953692574b5bb21b8728973723f311ccf32db5d87edbf30973412f3c06ed2140",
      "selected_sizes": [
        16
      ],
      "output_bytes": 512,
      "output_sha256": "9b2ace0f8c0539766745be82afb11e33c52681f84bea12b8f96766322dae8c36",
      "increase_vs_small_only_bytes": 0,
      "decoded": {
        "count": 1,
        "directory_bytes": 22,
        "frames": [
          {
            "size": 16,
            "offset": 22,
            "payload_bytes": 490
          }
        ]
      },
      "output_file": "outputs/seeded-texture-small-only.ico",
      "started_at": "2026-11-01T01:12:16.759Z",
      "completed_at": "2026-11-01T01:12:16.762Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "seeded-texture",
      "selection": "four-size-set",
      "input_bytes": 32704,
      "input_sha256": "953692574b5bb21b8728973723f311ccf32db5d87edbf30973412f3c06ed2140",
      "selected_sizes": [
        16,
        32,
        48,
        256
      ],
      "output_bytes": 104520,
      "output_sha256": "f34403d2fe29bc481738a2081fab9f418cbaba40e14e96d59035251412980ee8",
      "increase_vs_small_only_bytes": 104008,
      "decoded": {
        "count": 4,
        "directory_bytes": 70,
        "frames": [
          {
            "size": 16,
            "offset": 70,
            "payload_bytes": 490
          },
          {
            "size": 32,
            "offset": 560,
            "payload_bytes": 1870
          },
          {
            "size": 48,
            "offset": 2430,
            "payload_bytes": 4406
          },
          {
            "size": 256,
            "offset": 6836,
            "payload_bytes": 97684
          }
        ]
      },
      "output_file": "outputs/seeded-texture-four-size-set.ico",
      "started_at": "2026-11-01T01:12:16.762Z",
      "completed_at": "2026-11-01T01:12:16.791Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    },
    {
      "sample": "seeded-texture",
      "selection": "all-seven",
      "input_bytes": 32704,
      "input_sha256": "953692574b5bb21b8728973723f311ccf32db5d87edbf30973412f3c06ed2140",
      "selected_sizes": [
        16,
        24,
        32,
        48,
        64,
        128,
        256
      ],
      "output_bytes": 144967,
      "output_sha256": "e0b295fd772ee6fa989695842e79b2992447b788bacfda9afcc7896f04000146",
      "increase_vs_small_only_bytes": 144455,
      "decoded": {
        "count": 7,
        "directory_bytes": 118,
        "frames": [
          {
            "size": 16,
            "offset": 118,
            "payload_bytes": 490
          },
          {
            "size": 24,
            "offset": 608,
            "payload_bytes": 1013
          },
          {
            "size": 32,
            "offset": 1621,
            "payload_bytes": 1870
          },
          {
            "size": 48,
            "offset": 3491,
            "payload_bytes": 4406
          },
          {
            "size": 64,
            "offset": 7897,
            "payload_bytes": 6682
          },
          {
            "size": 128,
            "offset": 14579,
            "payload_bytes": 32704
          },
          {
            "size": 256,
            "offset": 47283,
            "payload_bytes": 97684
          }
        ]
      },
      "output_file": "outputs/seeded-texture-all-seven.ico",
      "started_at": "2026-11-01T01:12:16.791Z",
      "completed_at": "2026-11-01T01:12:16.825Z",
      "method": "Local adapter running the current site ico.mjs source through @napi-rs/canvas; not a live Chrome export."
    }
  ]
}