{
  "schemaVersion": 1,
  "sampleKind": "public-demo",
  "title": "Public cat photo to LEGO-compatible mosaic sample",
  "description": "A downloadable example of the existing BMBrick export formats. Preview generation in the app is free; exporting a personal plan requires the digital blueprint unlock. Physical parts are separate.",
  "source": {
    "path": "/assets/cat.jpg",
    "sha256": "7ecd625d8b521f796ade7830fb841d58bd394ac94cd0fbec441e7be652ec3642",
    "width": 1024,
    "height": 1024
  },
  "catalog": {
    "path": "/data/runtime-catalog.json",
    "sha256": "70d6723ba359ac6319620a2127b9b89f1689dbcab3c328e4675744145b405be8",
    "generatedAt": "2026-04-15T17:29:23.627Z",
    "verifiedAt": "2026-04-06",
    "currency": "USD",
    "priceBasis": "Per-color LEGO route unit_price_usd values in the repository runtime catalog snapshot; quantities are from each generated BuildPlan. Estimates are not live quotes.",
    "included": "Estimated pixel brick cost only. Structure options are listed separately; a zero structure price means unpriced in the app, not free.",
    "excluded": [
      "digital blueprint unlock",
      "baseplates",
      "connector pins",
      "backing board",
      "frame",
      "shipping",
      "tax",
      "supplier handling fees"
    ],
    "procurementNote": "Confirm supplier color mappings, stock, prices, shipping and minimum orders before purchasing. BrickLink XML carries the same counts using the catalog's BrickLink color IDs."
  },
  "generation": {
    "command": "node scripts/generate-public-samples.mjs --base-url=http://127.0.0.1:4175",
    "method": "Public demo photo uploaded through the unchanged local app, configured through existing controls, then exported through its local free flow.",
    "privacy": "Public demo data only. API mutations and third-party tracking are blocked. No buyer, email, order, or recovery data is included.",
    "documentTimestamp": "2026-10-29T00:00:00.000Z",
    "documentTimestampNote": "Fixed sample document metadata for reproducibility, not a price verification date.",
    "browserVersion": "147.0.7727.15",
    "pdfEngine": {
      "name": "jsPDF",
      "version": "4.2.1",
      "url": "https://unpkg.com/jspdf@4.2.1/dist/jspdf.umd.min.js",
      "sha256": "e6551fcdc32f09d6853b2c5126d18d01d9447e0da618a41a11ebeee0f6c20d54"
    },
    "sourceHashLineEndings": "LF",
    "sourceModules": [
      {
        "path": "/app.js",
        "sha256": "e646241f24831a8676d1c2b6423372d61fd08787f22412d97c8449c05631d91e"
      },
      {
        "path": "/scripts/analytics.js",
        "sha256": "c3c6a72f0dc4bedeaf708166ca51721ebe0afc8801b20477b92869fe0e90aa12"
      },
      {
        "path": "/scripts/lib/background-removal.mjs",
        "sha256": "27ef4db18a8a369cae65eb7c15efc3c81f03c1bca4fc2de75f6aa61f34e3b83e"
      },
      {
        "path": "/scripts/lib/build-plan.mjs",
        "sha256": "faba916254c86faebd72d2e176480d35688a0268363017815f61b70c3e81e89a"
      },
      {
        "path": "/scripts/lib/color-science.mjs",
        "sha256": "47a4db802fba63551fb64be8464c26cb5f2865ec93dc6be5dd854595fd70f3f7"
      },
      {
        "path": "/scripts/lib/delivery-plan.mjs",
        "sha256": "d27b985ee4fbf92e3c8afb1b2651040eb054853d0fb180b049c315c35d5a5191"
      },
      {
        "path": "/scripts/lib/editor-review.mjs",
        "sha256": "64e60e7d6eaaf49866ee56d2af3571c9b44269952e65435d693f2210786666d2"
      },
      {
        "path": "/scripts/lib/fidelity-pipeline.mjs",
        "sha256": "97792b1d3af8fe2cd19271edee9c9366903150993ca223a01259bb7c677a8bd8"
      },
      {
        "path": "/scripts/lib/mock-payment-provider.mjs",
        "sha256": "8487f5b7b2340e953307418451d7e3ec78fa9bb68778fa66353475c7d130bab7"
      },
      {
        "path": "/scripts/lib/order-flow.mjs",
        "sha256": "3d4b2c1cf757d812d38b2856074171b3e99f3ae142249c21030e1146994e233e"
      },
      {
        "path": "/scripts/lib/pdf-exporter.mjs",
        "sha256": "5ade90f14c5603cd21e656f5e27b06c49354bbd616e9d699d32280ac99086b11"
      },
      {
        "path": "/scripts/lib/pico/index.mjs",
        "sha256": "96d30a58f4550c1191f7bb75da48abad2f8cc382d2fba7cae6fb60864a30db6d"
      },
      {
        "path": "/scripts/lib/pico/pico.js",
        "sha256": "ffb94777ed7804685bbcbb1b83463afc683785b498d9ce19b540ebb1bfa524cb"
      },
      {
        "path": "/scripts/lib/preview-layers.mjs",
        "sha256": "f958d11e67f491cf944a3cc5b15273f70df252a5c3ea6ec776c4f874bb23eb92"
      },
      {
        "path": "/scripts/lib/quantize-core.mjs",
        "sha256": "94c705cf6377dbc00f4ba7b565c095690967407ef688240a499fc42c803a8063"
      },
      {
        "path": "/scripts/lib/render-style.mjs",
        "sha256": "f74b7444d48fb78fb63fe1c558d9358fe1df3fdad7070b961045bbfe28554d98"
      },
      {
        "path": "/worker.js",
        "sha256": "99633133912b6a567b9c29d934f3bef8563d008cb10c3f3b252e2ee89f719cfa"
      }
    ],
    "sourceModulesSha256": "db3ba9a187d7b438b911fdea00e6b608eee07f9eb8512759be0b7b4233d48903"
  },
  "primaryVariant": "cat-48x48-3024",
  "variants": [
    {
      "id": "cat-48x48-3024",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "3024",
        "gridCols": 48,
        "gridRows": 48,
        "brickStyle": "square_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:708E7C",
            "solid:720012",
            "solid:7396C8",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:9DC3F7",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CA4C0B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FFEC6C"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.build-plan.json",
        "bytes": 174212,
        "sha256": "7ce1beaa230bf5cc1cff82521c7227e3f4843bfa4928cbc7c0de36c292b69d5c",
        "mimeType": "application/json",
        "checksum": "1ac3s8t6v51",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 16,
        "pixelParts": 2304,
        "structureBaseplates": 1,
        "structurePins": 0,
        "estimatedPixelCostUsd": 138.24,
        "estimatedStructureCostUsd": 0,
        "widthCm": 38.4,
        "heightCm": 38.4
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 389,
          "elementId": "6186012",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 23.34
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 346,
          "elementId": "4221744",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 20.76
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 273,
          "elementId": "6330584",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 16.38
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 246,
          "elementId": "6357797",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 14.76
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 239,
          "elementId": "6215606",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 14.34
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 220,
          "elementId": "6194729",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 13.2
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 209,
          "elementId": "302401",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 12.54
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 114,
          "elementId": "4159553",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 6.84
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 65,
          "elementId": "302426",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 3.9
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 61,
          "elementId": "4211399",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 3.66
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 55,
          "elementId": "4549436",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 3.3
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 51,
          "elementId": "6058245",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 3.06
        },
        {
          "canonicalColorId": "solid:FAC80A",
          "name": "Yellow",
          "hex": "#FAC80A",
          "quantity": 17,
          "elementId": "302424",
          "bricklinkColorId": 3,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 1.02
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 16,
          "elementId": "6058014",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.96
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 2,
          "elementId": "6566896",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.12
        },
        {
          "canonicalColorId": "solid:FCAC00",
          "name": "Bright Light Orange",
          "hex": "#FCAC00",
          "quantity": 1,
          "elementId": "6073040",
          "bricklinkColorId": 110,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.06
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 48x48 flat baseplate",
        "layout": "1x1",
        "backing": "Optional",
        "baseplates": 1,
        "baseplatesWide": 1,
        "baseplatesHigh": 1,
        "baseplateSize": 48,
        "baseplate_part_no": "4186",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 48x48 flat baseplate arranged 1x1; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 48x48 flat baseplate",
            "layout": "1x1",
            "backing": "Optional",
            "baseplates": 1,
            "baseplatesWide": 1,
            "baseplatesHigh": 1,
            "baseplateSize": 48,
            "baseplate_part_no": "4186",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 48x48 flat baseplate arranged 1x1; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "3x3",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 9,
            "baseplatesWide": 3,
            "baseplatesHigh": 3,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 24,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "48x48 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.png",
          "bytes": 796638,
          "sha256": "583825420057c36ff1e3af27e98f7db9e4969b091a63e1fdd0111ac9fb7a4121",
          "mimeType": "image/png",
          "width": 864,
          "height": 864
        },
        "instructions": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.pdf",
          "bytes": 2280275,
          "sha256": "8f281cf9d5ce6f2b9ffa00aa253fc14df65cce98424e769f808be5e15623f348",
          "mimeType": "application/pdf"
        },
        "pabCsv": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.pab.csv",
          "bytes": 197,
          "sha256": "58b4b859dbf06854975aa7704b69d5983bdb0a212c4b33085c4ed5cde6daba89",
          "mimeType": "text/csv"
        },
        "pabJson": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.pab.json",
          "bytes": 901,
          "sha256": "571c0283b1b09333e5988037681ab5e7ae6367d366dfa74c9033dbf1aa5b7828",
          "mimeType": "application/json"
        },
        "bricklinkXml": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.bricklink.xml",
          "bytes": 1960,
          "sha256": "fecbbd0a38f1e68e0b9cd141899e6e38fffa0312a4f7f7f635410846de89e42a",
          "mimeType": "application/xml"
        },
        "structureCsv": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.structure.csv",
          "bytes": 588,
          "sha256": "94d8ca11dfb89d656f0c0db7cc68890658f7791e4092147ef938cee345c87717",
          "mimeType": "text/csv"
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-48x48-3024.manifest.json",
        "bytes": 11199,
        "sha256": "721abb257445283b4dfabdca50de6dfe16a38e98f4723d042494573cfad5f786",
        "mimeType": "application/json"
      }
    },
    {
      "id": "cat-64x64-3024",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "3024",
        "gridCols": 64,
        "gridRows": 64,
        "brickStyle": "square_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:708E7C",
            "solid:720012",
            "solid:7396C8",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:9DC3F7",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CA4C0B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FFEC6C"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-64x64-3024.build-plan.json",
        "bytes": 286763,
        "sha256": "e440217ea3f2973232667115dfe813681fbc11b1dba359477c30f6e2da6cfa07",
        "mimeType": "application/json",
        "checksum": "161mdvcnaz3",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 14,
        "pixelParts": 4096,
        "structureBaseplates": 4,
        "structurePins": 0,
        "estimatedPixelCostUsd": 245.76,
        "estimatedStructureCostUsd": 0,
        "widthCm": 51.2,
        "heightCm": 51.2
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 672,
          "elementId": "6186012",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 40.32
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 637,
          "elementId": "4221744",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 38.22
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 507,
          "elementId": "6330584",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 30.42
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 458,
          "elementId": "302401",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 27.48
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 382,
          "elementId": "6215606",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 22.92
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 360,
          "elementId": "6357797",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 21.6
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 350,
          "elementId": "6194729",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 21
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 255,
          "elementId": "4159553",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 15.3
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 175,
          "elementId": "302426",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 10.5
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 88,
          "elementId": "4211399",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 5.28
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 73,
          "elementId": "4549436",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 4.38
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 73,
          "elementId": "6058245",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 4.38
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 59,
          "elementId": "6058014",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 3.54
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 7,
          "elementId": "6566896",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.42
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 32x32 flat baseplate",
        "layout": "2x2",
        "backing": "Recommended if hanging",
        "baseplates": 4,
        "baseplatesWide": 2,
        "baseplatesHigh": 2,
        "baseplateSize": 32,
        "baseplate_part_no": "3811",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 32x32 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 32x32 flat baseplate",
            "layout": "2x2",
            "backing": "Recommended if hanging",
            "baseplates": 4,
            "baseplatesWide": 2,
            "baseplatesHigh": 2,
            "baseplateSize": 32,
            "baseplate_part_no": "3811",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 32x32 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "4x4",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 16,
            "baseplatesWide": 4,
            "baseplatesHigh": 4,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 48,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "64x64 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-64x64-3024.png",
          "bytes": 1330687,
          "sha256": "d5e70c20d50c73ef67cefe1a8f92e8c45bcfce5c94f79cbefa66a7f43583bc87",
          "mimeType": "image/png",
          "width": 1152,
          "height": 1152
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-64x64-3024.manifest.json",
        "bytes": 9537,
        "sha256": "67ec03faaa053f63325ef5aef0d36e953f66cbf85ef4fe7081fb30068fdbbdba",
        "mimeType": "application/json"
      }
    },
    {
      "id": "cat-96x96-3024",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "3024",
        "gridCols": 96,
        "gridRows": 96,
        "brickStyle": "square_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:708E7C",
            "solid:720012",
            "solid:7396C8",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:9DC3F7",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CA4C0B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FFEC6C"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-96x96-3024.build-plan.json",
        "bytes": 618225,
        "sha256": "c4d6b818bae56ae1686211e6d9e1d043544750f7c734a1debcdeaadb8a23e07f",
        "mimeType": "application/json",
        "checksum": "2d6ye9ugsau",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 16,
        "pixelParts": 9216,
        "structureBaseplates": 4,
        "structurePins": 0,
        "estimatedPixelCostUsd": 552.96,
        "estimatedStructureCostUsd": 0,
        "widthCm": 76.8,
        "heightCm": 76.8
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 1556,
          "elementId": "6186012",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 93.36
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 1451,
          "elementId": "4221744",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 87.06
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 1048,
          "elementId": "6330584",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 62.88
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 973,
          "elementId": "6215606",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 58.38
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 920,
          "elementId": "6357797",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 55.2
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 893,
          "elementId": "302401",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 53.58
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 758,
          "elementId": "6194729",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 45.48
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 505,
          "elementId": "4159553",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 30.3
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 306,
          "elementId": "302426",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 18.36
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 251,
          "elementId": "4211399",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 15.06
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 222,
          "elementId": "4549436",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 13.32
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 185,
          "elementId": "6058245",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 11.1
        },
        {
          "canonicalColorId": "solid:FAC80A",
          "name": "Yellow",
          "hex": "#FAC80A",
          "quantity": 98,
          "elementId": "302424",
          "bricklinkColorId": 3,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 5.88
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 37,
          "elementId": "6058014",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 2.22
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 12,
          "elementId": "6566896",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.72
        },
        {
          "canonicalColorId": "solid:FCAC00",
          "name": "Bright Light Orange",
          "hex": "#FCAC00",
          "quantity": 1,
          "elementId": "6073040",
          "bricklinkColorId": 110,
          "unitPriceUsd": 0.06,
          "estimatedCostUsd": 0.06
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 48x48 flat baseplate",
        "layout": "2x2",
        "backing": "Strongly recommended",
        "baseplates": 4,
        "baseplatesWide": 2,
        "baseplatesHigh": 2,
        "baseplateSize": 48,
        "baseplate_part_no": "4186",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 48x48 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 48x48 flat baseplate",
            "layout": "2x2",
            "backing": "Strongly recommended",
            "baseplates": 4,
            "baseplatesWide": 2,
            "baseplatesHigh": 2,
            "baseplateSize": 48,
            "baseplate_part_no": "4186",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 48x48 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "6x6",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 36,
            "baseplatesWide": 6,
            "baseplatesHigh": 6,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 120,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "96x96 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-96x96-3024.png",
          "bytes": 2231909,
          "sha256": "a2c5bc692cef8f0732dbe697145991765a461a46ab3b1bd587b72722c6180d6e",
          "mimeType": "image/png",
          "width": 1632,
          "height": 1632
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-96x96-3024.manifest.json",
        "bytes": 10046,
        "sha256": "f022c92be0468eff7fb35630b6dc29b5c879e40e89f9885404c7314d4b705fd7",
        "mimeType": "application/json"
      }
    },
    {
      "id": "cat-48x48-98138",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "98138",
        "gridCols": 48,
        "gridRows": 48,
        "brickStyle": "round_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:8C8C8C",
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:720012",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:F5F3D7",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FF9ECD",
            "solid:FFEC6C",
            "solid:FFFF00"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-48x48-98138.build-plan.json",
        "bytes": 175649,
        "sha256": "c3a216586ae0117feef6d215aaf5ef5898a0c8210e2ef798e2ff77625fbd8100",
        "mimeType": "application/json",
        "checksum": "739xlec1p9",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 17,
        "pixelParts": 2304,
        "structureBaseplates": 1,
        "structurePins": 0,
        "estimatedPixelCostUsd": 69.12,
        "estimatedStructureCostUsd": 0,
        "widthCm": 38.4,
        "heightCm": 38.4
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 384,
          "elementId": "6322840",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 11.52
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 352,
          "elementId": "6284586",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 10.56
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 260,
          "elementId": "6343472",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 7.8
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 251,
          "elementId": "6284589",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 7.53
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 228,
          "elementId": "6284572",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 6.84
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 222,
          "elementId": "6315196",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 6.66
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 210,
          "elementId": "6322813",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 6.3
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 119,
          "elementId": "6284573",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 3.57
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 72,
          "elementId": "6284070",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 2.16
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 60,
          "elementId": "6322841",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 1.8
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 54,
          "elementId": "6284071",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 1.62
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 49,
          "elementId": "6284595",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 1.47
        },
        {
          "canonicalColorId": "solid:FAC80A",
          "name": "Yellow",
          "hex": "#FAC80A",
          "quantity": 18,
          "elementId": "6284577",
          "bricklinkColorId": 3,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.54
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 16,
          "elementId": "6343806",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.48
        },
        {
          "canonicalColorId": "metallic:8C8C8C",
          "name": "Flat Silver",
          "hex": "#8C8C8C",
          "quantity": 7,
          "elementId": "6238890",
          "bricklinkColorId": 95,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.21
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 1,
          "elementId": "6284598",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.03
        },
        {
          "canonicalColorId": "solid:FCAC00",
          "name": "Bright Light Orange",
          "hex": "#FCAC00",
          "quantity": 1,
          "elementId": "6322822",
          "bricklinkColorId": 110,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.03
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 48x48 flat baseplate",
        "layout": "1x1",
        "backing": "Optional",
        "baseplates": 1,
        "baseplatesWide": 1,
        "baseplatesHigh": 1,
        "baseplateSize": 48,
        "baseplate_part_no": "4186",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 48x48 flat baseplate arranged 1x1; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 48x48 flat baseplate",
            "layout": "1x1",
            "backing": "Optional",
            "baseplates": 1,
            "baseplatesWide": 1,
            "baseplatesHigh": 1,
            "baseplateSize": 48,
            "baseplate_part_no": "4186",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 48x48 flat baseplate arranged 1x1; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "3x3",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 9,
            "baseplatesWide": 3,
            "baseplatesHigh": 3,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 24,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "48x48 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-48x48-98138.png",
          "bytes": 484305,
          "sha256": "db79a084826bffc19a0f4a276d017e9ce1f62d769c8f5fe8fe6123146cd50406",
          "mimeType": "image/png",
          "width": 864,
          "height": 864
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-48x48-98138.manifest.json",
        "bytes": 10257,
        "sha256": "ea049d3c6dc377c8c1f70771894f41ce8b381abeea4a749ee2e090e5ac34a826",
        "mimeType": "application/json"
      }
    },
    {
      "id": "cat-64x64-98138",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "98138",
        "gridCols": 64,
        "gridRows": 64,
        "brickStyle": "round_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:8C8C8C",
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:720012",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:F5F3D7",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FF9ECD",
            "solid:FFEC6C",
            "solid:FFFF00"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-64x64-98138.build-plan.json",
        "bytes": 290623,
        "sha256": "6c87edd339b18083e5ac8f2ccf0356d59fd65ab8f3cf7061c9d1e932ccfe7d92",
        "mimeType": "application/json",
        "checksum": "21f7yn75h6o",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 17,
        "pixelParts": 4096,
        "structureBaseplates": 4,
        "structurePins": 0,
        "estimatedPixelCostUsd": 122.88,
        "estimatedStructureCostUsd": 0,
        "widthCm": 51.2,
        "heightCm": 51.2
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 678,
          "elementId": "6322840",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 20.34
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 633,
          "elementId": "6284586",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 18.99
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 493,
          "elementId": "6343472",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 14.79
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 480,
          "elementId": "6284572",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 14.4
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 379,
          "elementId": "6284589",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 11.37
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 360,
          "elementId": "6322813",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 10.8
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 345,
          "elementId": "6315196",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 10.35
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 252,
          "elementId": "6284573",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 7.56
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 173,
          "elementId": "6284070",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 5.19
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 86,
          "elementId": "6284071",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 2.58
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 76,
          "elementId": "6322841",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 2.28
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 73,
          "elementId": "6284595",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 2.19
        },
        {
          "canonicalColorId": "solid:FAC80A",
          "name": "Yellow",
          "hex": "#FAC80A",
          "quantity": 35,
          "elementId": "6284577",
          "bricklinkColorId": 3,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 1.05
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 22,
          "elementId": "6343806",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.66
        },
        {
          "canonicalColorId": "metallic:8C8C8C",
          "name": "Flat Silver",
          "hex": "#8C8C8C",
          "quantity": 7,
          "elementId": "6238890",
          "bricklinkColorId": 95,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.21
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 3,
          "elementId": "6284598",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.09
        },
        {
          "canonicalColorId": "solid:FCAC00",
          "name": "Bright Light Orange",
          "hex": "#FCAC00",
          "quantity": 1,
          "elementId": "6322822",
          "bricklinkColorId": 110,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.03
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 32x32 flat baseplate",
        "layout": "2x2",
        "backing": "Recommended if hanging",
        "baseplates": 4,
        "baseplatesWide": 2,
        "baseplatesHigh": 2,
        "baseplateSize": 32,
        "baseplate_part_no": "3811",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 32x32 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 32x32 flat baseplate",
            "layout": "2x2",
            "backing": "Recommended if hanging",
            "baseplates": 4,
            "baseplatesWide": 2,
            "baseplatesHigh": 2,
            "baseplateSize": 32,
            "baseplate_part_no": "3811",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 32x32 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "4x4",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 16,
            "baseplatesWide": 4,
            "baseplatesHigh": 4,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 48,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "64x64 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-64x64-98138.png",
          "bytes": 782138,
          "sha256": "c5d408c7542fe3cd44bf484b12fcc78937768166d86c62d46053226ab6e97258",
          "mimeType": "image/png",
          "width": 1152,
          "height": 1152
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-64x64-98138.manifest.json",
        "bytes": 10297,
        "sha256": "18252dda1511275ff16069022334151fcc6be53735447d86524a04ba6df7b3ff",
        "mimeType": "application/json"
      }
    },
    {
      "id": "cat-96x96-98138",
      "sampleKind": "public-demo",
      "sourcePath": "/assets/cat.jpg",
      "config": {
        "route": "lego",
        "part": "98138",
        "gridCols": 96,
        "gridRows": 96,
        "brickStyle": "round_1x1",
        "format": "square",
        "ditheringMode": "subtle",
        "backgroundMode": "full",
        "backgroundFill": "#000000",
        "paletteRules": {
          "grayscaleOnly": false,
          "includeTransparent": false,
          "allowedPaletteIds": [
            "metallic:8C8C8C",
            "metallic:B9953B",
            "solid:000001",
            "solid:00451A",
            "solid:00852B",
            "solid:009894",
            "solid:19325A",
            "solid:1E5AA8",
            "solid:372100",
            "solid:441A91",
            "solid:469BC3",
            "solid:58AB41",
            "solid:5F3109",
            "solid:646464",
            "solid:68C3E2",
            "solid:70819A",
            "solid:720012",
            "solid:77774E",
            "solid:897D62",
            "solid:901F76",
            "solid:91501C",
            "solid:969696",
            "solid:A06EB9",
            "solid:A5CA18",
            "solid:AA7D55",
            "solid:B40000",
            "solid:BB805A",
            "solid:C8509B",
            "solid:CCB98D",
            "solid:CDA4DE",
            "solid:D3F2EA",
            "solid:D67923",
            "solid:E1BEA1",
            "solid:E2F99A",
            "solid:F06D78",
            "solid:F4F4F4",
            "solid:F5F3D7",
            "solid:FAC80A",
            "solid:FCAC00",
            "solid:FF9ECD",
            "solid:FFEC6C",
            "solid:FFFF00"
          ]
        },
        "backgroundRemoval": {
          "enabled": false,
          "skipBackgroundBricks": false,
          "threshold": 128
        }
      },
      "buildPlan": {
        "path": "/assets/samples/photo-to-mosaic/cat-96x96-98138.build-plan.json",
        "bytes": 619727,
        "sha256": "b2fd88a811bc6e258de7c00907def3fddee4efa5ab4b485885e460ef92f20c23",
        "mimeType": "application/json",
        "checksum": "qf0sl666st",
        "algorithmVersion": "quantize-core-2026-05-v33",
        "catalogVersion": "2026-04-15T17:29:23.627Z"
      },
      "summary": {
        "colors": 17,
        "pixelParts": 9216,
        "structureBaseplates": 4,
        "structurePins": 0,
        "estimatedPixelCostUsd": 276.48,
        "estimatedStructureCostUsd": 0,
        "widthCm": 76.8,
        "heightCm": 76.8
      },
      "colors": [
        {
          "canonicalColorId": "solid:91501C",
          "name": "Dark Orange",
          "hex": "#91501C",
          "quantity": 1550,
          "elementId": "6322840",
          "bricklinkColorId": 68,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 46.5
        },
        {
          "canonicalColorId": "solid:5F3109",
          "name": "Reddish Brown",
          "hex": "#5F3109",
          "quantity": 1460,
          "elementId": "6284586",
          "bricklinkColorId": 88,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 43.8
        },
        {
          "canonicalColorId": "solid:BB805A",
          "name": "Nougat",
          "hex": "#BB805A",
          "quantity": 1063,
          "elementId": "6343472",
          "bricklinkColorId": 28,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 31.89
        },
        {
          "canonicalColorId": "solid:F4F4F4",
          "name": "White",
          "hex": "#F4F4F4",
          "quantity": 944,
          "elementId": "6284572",
          "bricklinkColorId": 1,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 28.32
        },
        {
          "canonicalColorId": "solid:AA7D55",
          "name": "Medium Nougat",
          "hex": "#AA7D55",
          "quantity": 930,
          "elementId": "6284589",
          "bricklinkColorId": 150,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 27.9
        },
        {
          "canonicalColorId": "solid:E1BEA1",
          "name": "Light Nougat",
          "hex": "#E1BEA1",
          "quantity": 824,
          "elementId": "6315196",
          "bricklinkColorId": 90,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 24.72
        },
        {
          "canonicalColorId": "solid:372100",
          "name": "Dark Brown",
          "hex": "#372100",
          "quantity": 755,
          "elementId": "6322813",
          "bricklinkColorId": 120,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 22.65
        },
        {
          "canonicalColorId": "solid:CCB98D",
          "name": "Tan",
          "hex": "#CCB98D",
          "quantity": 548,
          "elementId": "6284573",
          "bricklinkColorId": 2,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 16.44
        },
        {
          "canonicalColorId": "solid:000001",
          "name": "Black",
          "hex": "#000001",
          "quantity": 308,
          "elementId": "6284070",
          "bricklinkColorId": 11,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 9.24
        },
        {
          "canonicalColorId": "solid:969696",
          "name": "Light Bluish Gray",
          "hex": "#969696",
          "quantity": 248,
          "elementId": "6284071",
          "bricklinkColorId": 86,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 7.44
        },
        {
          "canonicalColorId": "solid:897D62",
          "name": "Dark Tan",
          "hex": "#897D62",
          "quantity": 214,
          "elementId": "6322841",
          "bricklinkColorId": 69,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 6.42
        },
        {
          "canonicalColorId": "solid:77774E",
          "name": "Olive Green",
          "hex": "#77774E",
          "quantity": 201,
          "elementId": "6284595",
          "bricklinkColorId": 155,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 6.03
        },
        {
          "canonicalColorId": "solid:FAC80A",
          "name": "Yellow",
          "hex": "#FAC80A",
          "quantity": 93,
          "elementId": "6284577",
          "bricklinkColorId": 3,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 2.79
        },
        {
          "canonicalColorId": "solid:FFEC6C",
          "name": "Bright Light Yellow",
          "hex": "#FFEC6C",
          "quantity": 43,
          "elementId": "6343806",
          "bricklinkColorId": 103,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 1.29
        },
        {
          "canonicalColorId": "metallic:8C8C8C",
          "name": "Flat Silver",
          "hex": "#8C8C8C",
          "quantity": 22,
          "elementId": "6238890",
          "bricklinkColorId": 95,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.66
        },
        {
          "canonicalColorId": "solid:E2F99A",
          "name": "Yellowish Green",
          "hex": "#E2F99A",
          "quantity": 10,
          "elementId": "6284598",
          "bricklinkColorId": 158,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.3
        },
        {
          "canonicalColorId": "solid:FCAC00",
          "name": "Bright Light Orange",
          "hex": "#FCAC00",
          "quantity": 3,
          "elementId": "6322822",
          "bricklinkColorId": 110,
          "unitPriceUsd": 0.03,
          "estimatedCostUsd": 0.09
        }
      ],
      "structureBom": {
        "key": "webrick_flat",
        "title": "Webrick baseplates",
        "source": "webrick",
        "label": "Webrick 48x48 flat baseplate",
        "layout": "2x2",
        "backing": "Strongly recommended",
        "baseplates": 4,
        "baseplatesWide": 2,
        "baseplatesHigh": 2,
        "baseplateSize": 48,
        "baseplate_part_no": "4186",
        "connector_pins": 0,
        "connector_part_no": "",
        "baseplate_unit_price": 0,
        "connector_unit_price": 0,
        "note": "Webrick 48x48 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds.",
        "recommendedOption": "webrick_flat",
        "options": [
          {
            "key": "webrick_flat",
            "title": "Webrick baseplates",
            "source": "webrick",
            "label": "Webrick 48x48 flat baseplate",
            "layout": "2x2",
            "backing": "Strongly recommended",
            "baseplates": 4,
            "baseplatesWide": 2,
            "baseplatesHigh": 2,
            "baseplateSize": 48,
            "baseplate_part_no": "4186",
            "connector_pins": 0,
            "connector_part_no": "",
            "baseplate_unit_price": 0,
            "connector_unit_price": 0,
            "note": "Webrick 48x48 flat baseplate arranged 2x2; connector pins are not needed for flat baseplate builds."
          },
          {
            "key": "pab_official",
            "title": "Official LEGO/PAB Art panels",
            "source": "pab",
            "label": "LEGO Art-style 16x16 Technic panel",
            "layout": "6x6",
            "backing": "Optional for small builds; still recommended for large wall displays",
            "baseplates": 36,
            "baseplatesWide": 6,
            "baseplatesHigh": 6,
            "baseplateSize": 16,
            "baseplate_part_no": "65803",
            "connector_pins": 120,
            "connector_part_no": "2780",
            "baseplate_unit_price": 2.5,
            "connector_unit_price": 0.02,
            "note": "Official LEGO/PAB alternative; buy 16x16 panels and connector pins if you want a LEGO Art-style modular structure."
          }
        ],
        "frame_suggestion": "96x96 stud backing board / frame",
        "frame_note": "Flat baseplates do not connect to each other; use a backing board or frame for larger wall displays."
      },
      "files": {
        "preview": {
          "path": "/assets/samples/photo-to-mosaic/cat-96x96-98138.png",
          "bytes": 1370136,
          "sha256": "7770e1d702fa4b1abdc6654b29d2841ddb8836e19c318dd3f2eacf6bcfeb8dba",
          "mimeType": "image/png",
          "width": 1632,
          "height": 1632
        }
      },
      "omittedExports": {
        "webrick": "This example uses the LEGO route palette. Webrick pixel files are omitted because cross-route color availability is not guaranteed."
      },
      "manifest": {
        "path": "/assets/samples/photo-to-mosaic/cat-96x96-98138.manifest.json",
        "bytes": 10301,
        "sha256": "df473d74890f8840a9f5e2b80c11772c6b84f57550820f90a5ba852339bab903",
        "mimeType": "application/json"
      }
    }
  ]
}
