{
  "$comment": "Christmas pet cards (23 Sep 2026; image plan item 4). A folded card in packs of ten with envelopes: the pet's engraved portrait (a breed, or their own photo engraved) in a painted holly wreath, their name and a festive line. Inside blank. The composer is tools/design-harness/src/compose-xmascards.mjs; the page shows the A5 front.",
  "configVersion": 1,
  "designId": "christmas-pet-cards",
  "rendererVersion": "christmas-pet-cards/0.2.0",
  "service": {
    "origin": "",
    "savePath": "/v1/designs",
    "analyticsPath": "/v1/analytics/events",
    "previewDebounceMs": 160
  },
  "sheet": {
    "width": 1000,
    "height": 1418.76
  },
  "assetVersion": "2026-09-30.2",
  "preview": {
    "exampleAsset": "design-christmas-pet-cards-example.jpg",
    "exampleAlt": "A Christmas card front on cream: a golden cocker spaniel painted in colour, head and shoulders, inside a painted holly wreath with red berries, tied with a red velvet bow, the name Biscuit in capitals beneath and Merry Christmas in red script, and Love from the Thompsons beneath.",
    "seed": {
      "name": "Biscuit",
      "portrait": "cocker-spaniel-dog",
      "portraitStyle": "painted",
      "greeting": "merry",
      "from": "the Thompsons",
      "words": "",
      "colourway": "cream",
      "typeface": "classic",
      "bow": "velvet",
      "backdrop": "none"
    },
    "wall": false
  },
  "fields": {
    "$comment": "The name, the portrait and the festive line; four style sets of five, always visible.",
    "requiredLabel": "Your card",
    "optionsLabel": "The look",
    "moreLabel": "Finishing touches",
    "required": [
      {
        "key": "name",
        "type": "text",
        "label": "Their name",
        "maxLength": 40,
        "affects": "render",
        "hint": "Up to 40 letters, sized to fit; a long name takes two lines.",
        "$comment": "r29 (critic r29 [2]): 40 letters, the composer's ENVELOPE.nameMax (was 24 and cut two pets' names mid-word); a long name sets on two lines, split at its '&'. r29 phone walk (two pets had one name box, 'MABEL' over two animals): the second pet's name is its own box (name2, under the two-pets switch), so this box keeps one example, Biscuit, in both modes.",
        "placeholder": "Biscuit",
        "sampleWhen": [
          { "key": "twoPets", "equals": false, "value": "Biscuit" }
        ]
      },
      {
        "key": "portraitGroup",
        "type": "columns",
        "$comment": "The photo box above the portraits, as on the Pet Records print (the shell caps the top-level required fields at four). Round 26 (critic r25): a second pet, `twoPets` with its own photo box (photo2, drawn over the portrait2 chip) and breed chips (portrait2).",
        "columns": [
          [
            {
              "key": "photo",
              "type": "file",
              "label": "Engrave them from a photo",
              "hint": "Upload a clear photo of your pet's face and we'll engrave them for the card, in about 20 seconds. We never keep your photo.",
              "accept": "image/*",
              "maxBytes": 26214400,
              "reading": "Engraving your pet — about 20 seconds…",
              "waitSteps": ["Looking at your photo…", "Counting whiskers…", "Sketching the outline…", "Engraving the fine lines…", "Resisting the urge to add a tiny hat…", "Nearly there…"],
              "tooLarge": "That photo is too large. Try one under 25 MB.",
              "progressSeconds": 22,
              "waitPulse": "image[href*=\"miy-motif-\"]",
              "optional": true,
              "affects": "render"
            },
            {
              "key": "portrait",
              "type": "thumbnails",
              "label": "Their portrait",
              "hint": "Choose the nearest breed, painted in colour, head and shoulders. Or upload a photo above: your own pet, engraved (a photo is engraved, not painted).",
              "default": "labrador-dog",
              "affects": "render",
              "options": [
                {
                  "value": "dog",
                  "label": "Dog",
                  "thumbnail": "design-pet-portrait-print-portrait-dog.jpg"
                },
                {
                  "value": "labrador-dog",
                  "label": "Labrador",
                  "thumbnail": "design-pet-portrait-print-portrait-labrador-dog.jpg"
                },
                {
                  "value": "golden-retriever-dog",
                  "label": "Golden retriever",
                  "thumbnail": "design-pet-portrait-print-portrait-golden-retriever-dog.jpg"
                },
                {
                  "value": "cocker-spaniel-dog",
                  "label": "Cocker spaniel",
                  "thumbnail": "design-pet-portrait-print-portrait-cocker-spaniel-dog.jpg"
                },
                {
                  "value": "cockapoo-dog",
                  "label": "Cockapoo",
                  "thumbnail": "design-pet-portrait-print-portrait-cockapoo-dog.jpg"
                },
                {
                  "value": "border-collie-dog",
                  "label": "Border collie",
                  "thumbnail": "design-pet-portrait-print-portrait-border-collie-dog.jpg"
                },
                {
                  "value": "beagle-dog",
                  "label": "Beagle",
                  "thumbnail": "design-pet-portrait-print-portrait-beagle-dog.jpg"
                },
                {
                  "value": "dachshund-dog",
                  "label": "Dachshund",
                  "thumbnail": "design-pet-portrait-print-portrait-dachshund-dog.jpg"
                },
                {
                  "value": "french-bulldog-dog",
                  "label": "French bulldog",
                  "thumbnail": "design-pet-portrait-print-portrait-french-bulldog-dog.jpg"
                },
                {
                  "value": "german-shepherd-dog",
                  "label": "German shepherd",
                  "thumbnail": "design-pet-portrait-print-portrait-german-shepherd-dog.jpg"
                },
                {
                  "value": "greyhound-dog",
                  "label": "Greyhound",
                  "thumbnail": "design-pet-portrait-print-portrait-greyhound-dog.jpg"
                },
                {
                  "value": "staffordshire-bull-terrier-dog",
                  "label": "Staffie",
                  "thumbnail": "design-pet-portrait-print-portrait-staffordshire-bull-terrier-dog.jpg"
                },
                {
                  "value": "border-terrier-dog",
                  "label": "Border terrier",
                  "thumbnail": "design-pet-portrait-print-portrait-border-terrier-dog.jpg"
                },
                {
                  "value": "springer-spaniel-dog",
                  "label": "Springer spaniel",
                  "thumbnail": "design-pet-portrait-print-portrait-springer-spaniel-dog.jpg"
                },
                {
                  "value": "labradoodle-dog",
                  "label": "Labradoodle",
                  "thumbnail": "design-pet-portrait-print-portrait-labradoodle-dog.jpg"
                },
                {
                  "value": "cavapoo-dog",
                  "label": "Cavapoo",
                  "thumbnail": "design-pet-portrait-print-portrait-cavapoo-dog.jpg"
                },
                {
                  "value": "jack-russell-terrier-dog",
                  "label": "Jack Russell",
                  "thumbnail": "design-pet-portrait-print-portrait-jack-russell-terrier-dog.jpg"
                },
                {
                  "value": "shih-tzu-dog",
                  "label": "Shih Tzu",
                  "thumbnail": "design-pet-portrait-print-portrait-shih-tzu-dog.jpg"
                },
                {
                  "value": "pug-dog",
                  "label": "Pug",
                  "thumbnail": "design-pet-portrait-print-portrait-pug-dog.jpg"
                },
                {
                  "value": "cavalier-king-charles-spaniel-dog",
                  "label": "Cavalier",
                  "thumbnail": "design-pet-portrait-print-portrait-cavalier-king-charles-spaniel-dog.jpg"
                },
                {
                  "value": "chihuahua-dog",
                  "label": "Chihuahua",
                  "thumbnail": "design-pet-portrait-print-portrait-chihuahua-dog.jpg"
                },
                {
                  "value": "yorkshire-terrier-dog",
                  "label": "Yorkie",
                  "thumbnail": "design-pet-portrait-print-portrait-yorkshire-terrier-dog.jpg"
                },
                {
                  "value": "whippet-dog",
                  "label": "Whippet",
                  "thumbnail": "design-pet-portrait-print-portrait-whippet-dog.jpg"
                },
                {
                  "value": "cat",
                  "label": "Cat",
                  "thumbnail": "design-pet-portrait-print-portrait-cat.jpg"
                },
                {
                  "value": "domestic-black-cat",
                  "label": "Black cat",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-black-cat.jpg"
                },
                {
                  "value": "domestic-brown-tabby-cat",
                  "label": "Tabby",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-brown-tabby-cat.jpg"
                },
                {
                  "value": "domestic-ginger-tabby-cat",
                  "label": "Ginger tabby",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-ginger-tabby-cat.jpg"
                },
                {
                  "value": "domestic-tuxedo-cat",
                  "label": "Tuxedo cat",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-tuxedo-cat.jpg"
                },
                {
                  "value": "domestic-longhair-calico-cat",
                  "label": "Calico",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-longhair-calico-cat.jpg"
                },
                {
                  "value": "british-shorthair-cat",
                  "label": "British shorthair",
                  "thumbnail": "design-pet-portrait-print-portrait-british-shorthair-cat.jpg"
                },
                {
                  "value": "maine-coon-cat",
                  "label": "Maine coon",
                  "thumbnail": "design-pet-portrait-print-portrait-maine-coon-cat.jpg"
                },
                {
                  "value": "ragdoll-cat",
                  "label": "Ragdoll",
                  "thumbnail": "design-pet-portrait-print-portrait-ragdoll-cat.jpg"
                },
                {
                  "value": "siamese-cat",
                  "label": "Siamese",
                  "thumbnail": "design-pet-portrait-print-portrait-siamese-cat.jpg"
                },
                {
                  "value": "persian-cat",
                  "label": "Persian",
                  "thumbnail": "design-pet-portrait-print-portrait-persian-cat.jpg"
                },
                {
                  "value": "bengal-cat",
                  "label": "Bengal",
                  "thumbnail": "design-pet-portrait-print-portrait-bengal-cat.jpg"
                },
                {
                  "value": "sphynx-cat",
                  "label": "Sphynx",
                  "thumbnail": "design-pet-portrait-print-portrait-sphynx-cat.jpg"
                },
                {
                  "value": "rabbit-pet",
                  "label": "Rabbit",
                  "thumbnail": "design-pet-portrait-print-portrait-rabbit-pet.jpg"
                },
                {
                  "value": "guinea-pig-pet",
                  "label": "Guinea pig",
                  "thumbnail": "design-pet-portrait-print-portrait-guinea-pig-pet.jpg"
                },
                {
                  "value": "hamster-pet",
                  "label": "Hamster",
                  "thumbnail": "design-pet-portrait-print-portrait-hamster-pet.jpg"
                },
                {
                  "value": "budgie-pet",
                  "label": "Budgie",
                  "thumbnail": "design-pet-portrait-print-portrait-budgie-pet.jpg"
                },
                {
                  "value": "tortoise-pet",
                  "label": "Tortoise",
                  "thumbnail": "design-pet-portrait-print-portrait-tortoise-pet.jpg"
                },
                {
                  "value": "horse",
                  "label": "Horse",
                  "thumbnail": "design-pet-portrait-print-portrait-horse.jpg"
                },
                {
                  "value": "none",
                  "label": "No portrait",
                  "thumbnail": "design-pet-records-print-portrait-none.jpg"
                }
              ]
            },
            {
              "key": "portraitStyle",
              "type": "thumbnails",
              "label": "Their portrait is…",
              "hint": "Painted: the breed you choose, painted in colour. Engraved: a bank-note engraving in ink. A photo you upload is always engraved.",
              "default": "painted",
              "affects": "render",
              "$comment": "r29 (critic r29 [1]): the pet painted in colour (the pet portrait print's paintings, miy-motif-painted-<id>-v1.png) or engraved. The worker keeps it (portraitStyle, 'painted' | 'engraved'); a design saved without it prints engraved, as before. A photo, or two pets where one is a photo, always prints engraved (the composer's rule).",
              "options": [
                {
                  "value": "painted",
                  "label": "Painted in colour",
                  "thumbnail": "design-christmas-pet-cards-style-painted.jpg"
                },
                {
                  "value": "engraved",
                  "label": "Engraved",
                  "thumbnail": "design-christmas-pet-cards-style-engraved.jpg"
                }
              ]
            },
            {
              "key": "twoPets",
              "type": "toggle",
              "label": "Two pets on the card",
              "default": false,
              "optional": true,
              "affects": "render",
              "hint": "Two windows under the mistletoe, or both in one wreath."
            },
            {
              "key": "name2",
              "type": "text",
              "label": "The second pet's name",
              "maxLength": 24,
              "optional": true,
              "sample": "Pip",
              "affects": "render",
              "hint": "Printed with the first: Biscuit & Pip. Together up to 40 letters; a long pair takes two lines.",
              "placeholder": "Pip",
              "$comment": "r29 (phone walk): the second name, printed as '{name} & {name2}' cut at a whole word to 40 letters (xmascards-browser-entry.mjs printedName). The worker keeps it (name2, up to 24 letters, only with twoPets). A design saved before, the pair typed in the first box, prints as typed.",
              "showWhen": {
                "key": "twoPets",
                "equals": true
              }
            },
            {
              "key": "photo2",
              "type": "file",
              "label": "Engrave the second pet from a photo",
              "hint": "A clear photo of their face. Each photo is engraved on its own, in about 20 seconds. We never keep your photo.",
              "accept": "image/*",
              "maxBytes": 26214400,
              "reading": "Engraving your pet — about 20 seconds…",
              "waitSteps": ["Looking at your photo…", "Counting whiskers…", "Sketching the outline…", "Engraving the fine lines…", "Resisting the urge to add a tiny hat…", "Nearly there…"],
              "tooLarge": "That photo is too large. Try one under 25 MB.",
              "progressSeconds": 22,
              "waitPulse": "image[href*=\"miy-motif-\"]",
              "optional": true,
              "affects": "render",
              "valueKey": "photo2",
              "overKey": "portrait2",
              "showWhen": {
                "key": "twoPets",
                "equals": true
              }
            },
            {
              "key": "portrait2",
              "type": "thumbnails",
              "label": "The second pet's portrait",
              "hint": "Choose the nearest breed, or upload a photo to engrave them. Under the mistletoe each has a window of its own; in the holly the two sit side by side.",
              "default": "domestic-ginger-tabby-cat",
              "affects": "render",
              "options": [
                {
                  "value": "dog",
                  "label": "Dog",
                  "thumbnail": "design-pet-portrait-print-portrait-dog.jpg"
                },
                {
                  "value": "labrador-dog",
                  "label": "Labrador",
                  "thumbnail": "design-pet-portrait-print-portrait-labrador-dog.jpg"
                },
                {
                  "value": "golden-retriever-dog",
                  "label": "Golden retriever",
                  "thumbnail": "design-pet-portrait-print-portrait-golden-retriever-dog.jpg"
                },
                {
                  "value": "cocker-spaniel-dog",
                  "label": "Cocker spaniel",
                  "thumbnail": "design-pet-portrait-print-portrait-cocker-spaniel-dog.jpg"
                },
                {
                  "value": "cockapoo-dog",
                  "label": "Cockapoo",
                  "thumbnail": "design-pet-portrait-print-portrait-cockapoo-dog.jpg"
                },
                {
                  "value": "border-collie-dog",
                  "label": "Border collie",
                  "thumbnail": "design-pet-portrait-print-portrait-border-collie-dog.jpg"
                },
                {
                  "value": "beagle-dog",
                  "label": "Beagle",
                  "thumbnail": "design-pet-portrait-print-portrait-beagle-dog.jpg"
                },
                {
                  "value": "dachshund-dog",
                  "label": "Dachshund",
                  "thumbnail": "design-pet-portrait-print-portrait-dachshund-dog.jpg"
                },
                {
                  "value": "french-bulldog-dog",
                  "label": "French bulldog",
                  "thumbnail": "design-pet-portrait-print-portrait-french-bulldog-dog.jpg"
                },
                {
                  "value": "german-shepherd-dog",
                  "label": "German shepherd",
                  "thumbnail": "design-pet-portrait-print-portrait-german-shepherd-dog.jpg"
                },
                {
                  "value": "greyhound-dog",
                  "label": "Greyhound",
                  "thumbnail": "design-pet-portrait-print-portrait-greyhound-dog.jpg"
                },
                {
                  "value": "staffordshire-bull-terrier-dog",
                  "label": "Staffie",
                  "thumbnail": "design-pet-portrait-print-portrait-staffordshire-bull-terrier-dog.jpg"
                },
                {
                  "value": "border-terrier-dog",
                  "label": "Border terrier",
                  "thumbnail": "design-pet-portrait-print-portrait-border-terrier-dog.jpg"
                },
                {
                  "value": "springer-spaniel-dog",
                  "label": "Springer spaniel",
                  "thumbnail": "design-pet-portrait-print-portrait-springer-spaniel-dog.jpg"
                },
                {
                  "value": "labradoodle-dog",
                  "label": "Labradoodle",
                  "thumbnail": "design-pet-portrait-print-portrait-labradoodle-dog.jpg"
                },
                {
                  "value": "cavapoo-dog",
                  "label": "Cavapoo",
                  "thumbnail": "design-pet-portrait-print-portrait-cavapoo-dog.jpg"
                },
                {
                  "value": "jack-russell-terrier-dog",
                  "label": "Jack Russell",
                  "thumbnail": "design-pet-portrait-print-portrait-jack-russell-terrier-dog.jpg"
                },
                {
                  "value": "shih-tzu-dog",
                  "label": "Shih Tzu",
                  "thumbnail": "design-pet-portrait-print-portrait-shih-tzu-dog.jpg"
                },
                {
                  "value": "pug-dog",
                  "label": "Pug",
                  "thumbnail": "design-pet-portrait-print-portrait-pug-dog.jpg"
                },
                {
                  "value": "cavalier-king-charles-spaniel-dog",
                  "label": "Cavalier",
                  "thumbnail": "design-pet-portrait-print-portrait-cavalier-king-charles-spaniel-dog.jpg"
                },
                {
                  "value": "chihuahua-dog",
                  "label": "Chihuahua",
                  "thumbnail": "design-pet-portrait-print-portrait-chihuahua-dog.jpg"
                },
                {
                  "value": "yorkshire-terrier-dog",
                  "label": "Yorkie",
                  "thumbnail": "design-pet-portrait-print-portrait-yorkshire-terrier-dog.jpg"
                },
                {
                  "value": "whippet-dog",
                  "label": "Whippet",
                  "thumbnail": "design-pet-portrait-print-portrait-whippet-dog.jpg"
                },
                {
                  "value": "cat",
                  "label": "Cat",
                  "thumbnail": "design-pet-portrait-print-portrait-cat.jpg"
                },
                {
                  "value": "domestic-black-cat",
                  "label": "Black cat",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-black-cat.jpg"
                },
                {
                  "value": "domestic-brown-tabby-cat",
                  "label": "Tabby",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-brown-tabby-cat.jpg"
                },
                {
                  "value": "domestic-ginger-tabby-cat",
                  "label": "Ginger tabby",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-ginger-tabby-cat.jpg"
                },
                {
                  "value": "domestic-tuxedo-cat",
                  "label": "Tuxedo cat",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-tuxedo-cat.jpg"
                },
                {
                  "value": "domestic-longhair-calico-cat",
                  "label": "Calico",
                  "thumbnail": "design-pet-portrait-print-portrait-domestic-longhair-calico-cat.jpg"
                },
                {
                  "value": "british-shorthair-cat",
                  "label": "British shorthair",
                  "thumbnail": "design-pet-portrait-print-portrait-british-shorthair-cat.jpg"
                },
                {
                  "value": "maine-coon-cat",
                  "label": "Maine coon",
                  "thumbnail": "design-pet-portrait-print-portrait-maine-coon-cat.jpg"
                },
                {
                  "value": "ragdoll-cat",
                  "label": "Ragdoll",
                  "thumbnail": "design-pet-portrait-print-portrait-ragdoll-cat.jpg"
                },
                {
                  "value": "siamese-cat",
                  "label": "Siamese",
                  "thumbnail": "design-pet-portrait-print-portrait-siamese-cat.jpg"
                },
                {
                  "value": "persian-cat",
                  "label": "Persian",
                  "thumbnail": "design-pet-portrait-print-portrait-persian-cat.jpg"
                },
                {
                  "value": "bengal-cat",
                  "label": "Bengal",
                  "thumbnail": "design-pet-portrait-print-portrait-bengal-cat.jpg"
                },
                {
                  "value": "sphynx-cat",
                  "label": "Sphynx",
                  "thumbnail": "design-pet-portrait-print-portrait-sphynx-cat.jpg"
                },
                {
                  "value": "rabbit-pet",
                  "label": "Rabbit",
                  "thumbnail": "design-pet-portrait-print-portrait-rabbit-pet.jpg"
                },
                {
                  "value": "guinea-pig-pet",
                  "label": "Guinea pig",
                  "thumbnail": "design-pet-portrait-print-portrait-guinea-pig-pet.jpg"
                },
                {
                  "value": "hamster-pet",
                  "label": "Hamster",
                  "thumbnail": "design-pet-portrait-print-portrait-hamster-pet.jpg"
                },
                {
                  "value": "budgie-pet",
                  "label": "Budgie",
                  "thumbnail": "design-pet-portrait-print-portrait-budgie-pet.jpg"
                },
                {
                  "value": "tortoise-pet",
                  "label": "Tortoise",
                  "thumbnail": "design-pet-portrait-print-portrait-tortoise-pet.jpg"
                },
                {
                  "value": "horse",
                  "label": "Horse",
                  "thumbnail": "design-pet-portrait-print-portrait-horse.jpg"
                },
                {
                  "value": "none",
                  "label": "No portrait",
                  "thumbnail": "design-pet-records-print-portrait-none.jpg"
                }
              ],
              "showWhen": {
                "key": "twoPets",
                "equals": true
              }
            }
          ]
        ]
      },
      {
        "key": "lineGroup",
        "type": "columns",
        "columns": [
          [
            {
              "key": "greeting",
              "type": "thumbnails",
              "label": "The festive line",
              "hint": "Set beneath their name.",
              "default": "merry",
              "affects": "render",
              "options": [
                {
                  "value": "merry",
                  "label": "Merry Christmas"
                },
                {
                  "value": "happy",
                  "label": "Happy Christmas"
                },
                {
                  "value": "seasons",
                  "label": "Season’s Greetings"
                },
                {
                  "value": "howlidays",
                  "label": "Happy Howlidays"
                },
                {
                  "value": "meowy",
                  "label": "Meowy Christmas"
                },
                {
                  "value": "love",
                  "label": "Love from …"
                },
                {
                  "value": "own",
                  "label": "Your own words"
                }
              ]
            },
            {
              "key": "words",
              "type": "text",
              "label": "Your own words",
              "maxLength": 64,
              "affects": "render",
              "hint": "Up to 64 letters; a long line takes two.",
              "placeholder": "Wishing you a very waggy Christmas",
              "showWhen": {
                "key": "greeting",
                "equals": "own"
              }
            },
            {
              "key": "from",
              "type": "text",
              "label": "Signed from (optional)",
              "maxLength": 32,
              "affects": "render",
              "hint": "Printed small under the line, as “Love from the Thompsons”. Needed for “Love from …”.",
              "placeholder": "the Thompsons"
            }
          ]
        ]
      }
    ],
    "options": [
      {
        "key": "colourway",
        "type": "thumbnails",
        "label": "Colours",
        "hint": "",
        "default": "cream",
        "affects": "render",
        "options": [
          {
            "value": "cream",
            "label": "Cream",
            "thumbnail": "design-christmas-pet-cards-colourway-cream.jpg",
            "sheet": "light"
          },
          {
            "value": "berry",
            "label": "Berry red",
            "thumbnail": "design-christmas-pet-cards-colourway-berry.jpg",
            "sheet": "dark"
          },
          {
            "value": "forest",
            "label": "Forest green",
            "thumbnail": "design-christmas-pet-cards-colourway-forest.jpg",
            "sheet": "dark"
          },
          {
            "value": "midnight",
            "label": "Midnight",
            "thumbnail": "design-christmas-pet-cards-colourway-midnight.jpg",
            "sheet": "dark"
          },
          {
            "value": "kraft",
            "label": "Kraft",
            "thumbnail": "design-christmas-pet-cards-colourway-kraft.jpg",
            "sheet": "light"
          }
        ]
      },
      {
        "key": "typeface",
        "type": "thumbnails",
        "label": "Lettering",
        "hint": "",
        "default": "classic",
        "affects": "render",
        "options": [
          {
            "value": "classic",
            "label": "Classic",
            "thumbnail": "design-christmas-pet-cards-typeface-classic.jpg"
          },
          {
            "value": "modern",
            "label": "Modern",
            "thumbnail": "design-christmas-pet-cards-typeface-modern.jpg"
          },
          {
            "value": "soft-serif",
            "label": "Soft serif",
            "thumbnail": "design-christmas-pet-cards-typeface-soft-serif.jpg"
          },
          {
            "value": "editorial",
            "label": "Editorial",
            "thumbnail": "design-christmas-pet-cards-typeface-editorial.jpg"
          },
          {
            "value": "script",
            "label": "Script",
            "thumbnail": "design-christmas-pet-cards-typeface-script.jpg"
          }
        ]
      },
      {
        "key": "bow",
        "type": "thumbnails",
        "label": "Around the portrait",
        "hint": "",
        "default": "velvet",
        "affects": "render",
        "options": [
          {
            "value": "none",
            "label": "Holly alone",
            "thumbnail": "design-christmas-pet-cards-bow-none.jpg"
          },
          {
            "value": "velvet",
            "label": "Red velvet bow",
            "thumbnail": "design-christmas-pet-cards-bow-velvet.jpg"
          },
          {
            "value": "raffia",
            "label": "Raffia bow",
            "thumbnail": "design-christmas-pet-cards-bow-raffia.jpg"
          },
          {
            "value": "lace",
            "label": "Cream lace bow",
            "thumbnail": "design-christmas-pet-cards-bow-lace.jpg"
          },
          {
            "value": "mistletoe",
            "label": "Under the mistletoe",
            "thumbnail": "design-christmas-pet-cards-bow-mistletoe.jpg"
          }
        ]
      },
      {
        "key": "backdrop",
        "type": "thumbnails",
        "label": "Background",
        "hint": "",
        "default": "none",
        "affects": "render",
        "options": [
          {
            "value": "none",
            "label": "Plain",
            "thumbnail": "design-christmas-pet-cards-backdrop-none.jpg"
          },
          {
            "value": "parchment",
            "label": "Parchment",
            "thumbnail": "design-christmas-pet-cards-backdrop-parchment.jpg",
            "sheet": "light",
            "swapTo": "candlelight"
          },
          {
            "value": "snowfall",
            "label": "Snowfall",
            "thumbnail": "design-christmas-pet-cards-backdrop-snowfall.jpg",
            "sheet": "dark",
            "swapTo": "frost"
          },
          {
            "value": "candlelight",
            "label": "Candlelight",
            "thumbnail": "design-christmas-pet-cards-backdrop-candlelight.jpg",
            "sheet": "dark",
            "swapTo": "parchment"
          },
          {
            "value": "frost",
            "label": "Frost",
            "thumbnail": "design-christmas-pet-cards-backdrop-frost.jpg",
            "sheet": "light",
            "swapTo": "snowfall"
          }
        ]
      }
    ],
    "more": [],
    "printed": "As printed: {name}."
  },
  "presets": {
    "$comment": "Four ways in and a blank start. A tap fills the portrait, the line and the look. r29: every preset painted in colour; Two pets opens on the two windows under the mistletoe (critic r29 [3]: the good two-pet layout).",
    "label": "Start from an idea",
    "options": [
      {
        "id": "the-dog",
        "label": "The dog's card",
        "values": {
          "name": "Biscuit",
          "portrait": "labrador-dog",
          "portraitStyle": "painted",
          "greeting": "howlidays",
          "from": "",
          "words": "",
          "colourway": "berry",
          "typeface": "classic",
          "bow": "mistletoe",
          "backdrop": "none",
          "twoPets": false
        }
      },
      {
        "id": "the-cat",
        "label": "The cat's card",
        "values": {
          "name": "Pickle",
          "portrait": "domestic-ginger-tabby-cat",
          "portraitStyle": "painted",
          "greeting": "meowy",
          "from": "the Okafors",
          "words": "",
          "colourway": "forest",
          "typeface": "soft-serif",
          "bow": "lace",
          "backdrop": "none",
          "twoPets": false
        }
      },
      {
        "id": "from-the-family",
        "label": "From the family",
        "values": {
          "name": "Marmalade",
          "portrait": "cocker-spaniel-dog",
          "portraitStyle": "painted",
          "greeting": "love",
          "from": "the Thompsons",
          "words": "",
          "colourway": "berry",
          "typeface": "editorial",
          "bow": "raffia",
          "backdrop": "none",
          "twoPets": false
        }
      },
      {
        "id": "snowy-night",
        "label": "A snowy night",
        "values": {
          "name": "Otis",
          "portrait": "french-bulldog-dog",
          "portraitStyle": "painted",
          "greeting": "seasons",
          "from": "",
          "words": "",
          "colourway": "midnight",
          "typeface": "script",
          "bow": "velvet",
          "backdrop": "snowfall",
          "twoPets": false
        }
      },
      {
        "id": "two-pets",
        "label": "Two pets",
        "values": {
          "name": "Bramble",
          "name2": "Pip",
          "portrait": "cockapoo-dog",
          "portraitStyle": "painted",
          "twoPets": true,
          "portrait2": "domestic-ginger-tabby-cat",
          "greeting": "merry",
          "from": "the Thompsons",
          "words": "",
          "colourway": "cream",
          "typeface": "classic",
          "bow": "mistletoe",
          "backdrop": "none"
        }
      },
      {
        "id": "blank",
        "label": "Custom",
        "values": {
          "from": "",
          "words": ""
        }
      }
    ]
  },
  "recipes": {
    "$comment": "Three named looks a designer chose together. Look keys only: the page composes the customer's own pet in each. r29 (critic r29 [4]: all three were the same wreath and engraving): a painted wreath, an engraving under the mistletoe, a painted pet under falling snow. Ids kept.",
    "items": [
      {
        "id": "cream-velvet",
        "label": "Kraft and raffia",
        "note": "Brown kraft, painted in colour, a raffia bow.",
        "look": {
          "colourway": "kraft",
          "typeface": "modern",
          "bow": "raffia",
          "backdrop": "none",
          "portraitStyle": "painted"
        }
      },
      {
        "id": "forest-lace",
        "label": "Forest mistletoe",
        "note": "Deep green, an ink engraving hung under the mistletoe.",
        "look": {
          "colourway": "forest",
          "typeface": "soft-serif",
          "bow": "mistletoe",
          "backdrop": "none",
          "portraitStyle": "engraved"
        }
      },
      {
        "id": "midnight-snow",
        "label": "Midnight snow",
        "note": "Navy under falling snow, painted in colour, a script name.",
        "look": {
          "colourway": "midnight",
          "typeface": "script",
          "bow": "velvet",
          "backdrop": "snowfall",
          "portraitStyle": "painted"
        }
      }
    ]
  },
  "surprise": {
    "$comment": "Surprise me rolls one of these curated looks, never a random pairing of sets. Round 26 (critic r25): each look carries its bow. r29 (critic r29 [4]: 4 of 5 were the same holly wreath and engraving): the looks alternate a painted wreath, an engraving under the mistletoe and a painted pet under falling snow, each look whole (no 'layouts' roll, so the shell never swaps a look's bow).",
    "layoutKey": "bow",
    "looks": [
      {
        "colourway": "berry",
        "typeface": "classic",
        "backdrop": "none",
        "bow": "lace",
        "portraitStyle": "painted"
      },
      {
        "colourway": "forest",
        "typeface": "editorial",
        "backdrop": "none",
        "bow": "mistletoe",
        "portraitStyle": "engraved"
      },
      {
        "colourway": "midnight",
        "typeface": "script",
        "backdrop": "snowfall",
        "bow": "velvet",
        "portraitStyle": "painted"
      },
      {
        "colourway": "kraft",
        "typeface": "modern",
        "backdrop": "none",
        "bow": "raffia",
        "portraitStyle": "painted"
      },
      {
        "colourway": "berry",
        "typeface": "soft-serif",
        "backdrop": "none",
        "bow": "mistletoe",
        "portraitStyle": "engraved"
      }
    ]
  },
  "cart": {
    "summary": "{name} & {name2} · {portrait.label} & {portrait2.label} · {greeting.label} · {colourway.label}",
    "finishLabel": "Pack of 10 cards",
    "reviewLabel": "Review your cards"
  }
}
