{
  "$comment": "We've moved cards (new-home-cards, 11 Nov 2026). A folded card in packs of ten with envelopes: the buyer's new home drawn from their photo by the house portrait print's place service (/v1/house-portraits, print: true; the same styles, upload and saved place record), a headline in the range's script and their names on the front; the new address and the date it applies from on the back (Gelato prints the outside only; the inside is the family's fixed white spread). The composer is tools/design-harness/src/compose-newhomecards.mjs; the page shows the A5 card.",
  "configVersion": 1,
  "designId": "new-home-cards",
  "rendererVersion": "new-home-cards/1.1.0",
  "service": {
    "origin": "",
    "savePath": "/v1/designs",
    "analyticsPath": "/v1/analytics/events",
    "previewDebounceMs": 140
  },
  "sheet": {
    "width": 1000,
    "height": 1418.76
  },
  "assetVersion": "2026-11-12.3",
  "preview": {
    "exampleAsset": "design-new-home-cards-example.jpg",
    "exampleAlt": "A personalised Happy new home card for Sam and Priya, with a watercolour cottage and blue front door on warm white card. No address or moving date is printed.",
    "seed": {
      "names": "Sam & Priya",
      "headline": "own",
      "words": "Happy new home!",
      "from": "",
      "address": "",
      "date": "",
      "artStyle": "watercolour",
      "colourway": "white",
      "frame": "wash",
      "typeface": "italic",
      "door": "red",
      "touch": "none",
      "sample": "cottage"
    },
    "wall": false
  },
  "presets": {
    "label": "Try a starting point",
    "options": [
      {
        "id": "watercolour",
        "label": "Watercolour",
        "values": {
          "names": "Sam & Priya",
          "headline": "own",
          "words": "Happy new home!",
          "from": "",
          "address": "",
          "date": "",
          "artStyle": "watercolour",
          "colourway": "white",
          "frame": "wash",
          "typeface": "italic",
          "door": "red",
          "touch": "none",
          "sample": "cottage"
        },
        "thumbnail": "design-new-home-cards-preset-watercolour.jpg"
      },
      {
        "id": "classic",
        "label": "Classic",
        "values": {
          "names": "The Hendersons",
          "headline": "own",
          "words": "Happy new home!",
          "from": "",
          "address": "",
          "date": "",
          "artStyle": "line",
          "colourway": "cream",
          "frame": "arch",
          "typeface": "classic",
          "door": "red",
          "touch": "none",
          "sample": "villa"
        },
        "thumbnail": "design-new-home-cards-preset-classic.jpg"
      },
      {
        "id": "first",
        "label": "First home",
        "values": {
          "names": "Sam & Priya",
          "headline": "own",
          "words": "Your first home!",
          "from": "",
          "address": "",
          "date": "",
          "artStyle": "engraving",
          "colourway": "blush",
          "frame": "keyline",
          "typeface": "editorial",
          "door": "navy",
          "touch": "key",
          "sample": "terrace"
        },
        "thumbnail": "design-new-home-cards-preset-first.jpg"
      },
      {
        "id": "bold",
        "label": "Bold colour",
        "values": {
          "names": "The Okafors",
          "headline": "sweet-home",
          "words": "Happy new home!",
          "from": "",
          "address": "",
          "date": "",
          "artStyle": "line",
          "colourway": "terracotta",
          "frame": "panel",
          "typeface": "modern",
          "door": "green",
          "touch": "none",
          "sample": "semi"
        },
        "thumbnail": "design-new-home-cards-preset-bold.jpg"
      }
    ]
  },
  "cart": {
    "summary": "{names} · {headline.label} · {colourway.label}"
  },
  "fields": {
    "$comment": "Four top-level required fields (the shell builds only four outside a columns group): the drawing, the names, the headline group, the back group.",
    "requiredLabel": "Make it yours",
    "required": [
      {
        "key": "placeGroup",
        "type": "columns",
        "$comment": "The house portrait print's drawing: the style first, then the photo (/v1/house-portraits, print: true). Every drawing made from the same photo is kept in place.styles; a new style needs the photo again.",
        "columns": [
          [
            {
              "key": "artStyle",
              "type": "thumbnails",
              "label": "How your home is drawn",
              "default": "watercolour",
              "affects": "render",
              "options": [
                {
                  "value": "line",
                  "label": "Ink line",
                  "description": "a clean ink drawing, your door in colour",
                  "thumbnail": "design-new-home-cards-artStyle-line.jpg"
                },
                {
                  "value": "watercolour",
                  "label": "Watercolour",
                  "description": "soft washes in your home's own colours",
                  "thumbnail": "design-new-home-cards-artStyle-watercolour.jpg"
                },
                {
                  "value": "engraving",
                  "label": "Engraving",
                  "description": "fine engraved lines with light on one side",
                  "thumbnail": "design-new-home-cards-artStyle-engraving.jpg"
                }
              ]
            },
            {
              "key": "place",
              "type": "file",
              "label": "Add a photo of the home",
              "hint": "A clear photo from the front, without people or cars in the way. The estate agent's photo works well. We draw it in about 30 seconds and never keep your photo.",
              "accept": "image/*",
              "maxBytes": 26214400,
              "reading": "Drawing your home — about 30 seconds…",
              "tooLarge": "That photo is too large. Try one under 25 MB.",
              "progressSeconds": 32,
              "waitPulse": "[data-layer=\"place\"]",
              "optional": false,
              "affects": "render"
            }
          ]
        ]
      },
      {
        "key": "names",
        "type": "text",
        "label": "Names on the front",
        "hint": "The new homeowners’ names, e.g. Sam & Priya.",
        "placeholder": "Anna, Tom & Biscuit",
        "maxLength": 40,
        "optional": false,
        "affects": "render"
      },
      {
        "key": "headlineGroup",
        "type": "columns",
        "columns": [
          [
            {
              "key": "headline",
              "type": "thumbnails",
              "label": "The headline",
              "hint": "Large, in the script, under your home.",
              "default": "own",
              "affects": "render",
              "options": [
                {
                  "value": "moved",
                  "label": "We’ve moved!"
                },
                {
                  "value": "new-home",
                  "label": "New home"
                },
                {
                  "value": "first-home",
                  "label": "Our first home"
                },
                {
                  "value": "sweet-home",
                  "label": "Home sweet home"
                },
                {
                  "value": "christmas",
                  "label": "Merry Christmas from number…"
                },
                {
                  "value": "christmas-home",
                  "label": "Merry Christmas from our new home"
                },
                {
                  "value": "own",
                  "label": "Your own words"
                }
              ]
            },
            {
              "key": "words",
              "type": "text",
              "label": "Your own words",
              "maxLength": 32,
              "affects": "render",
              "placeholder": "We got the keys!",
              "showWhen": {
                "key": "headline",
                "equals": "own"
              }
            },
            {
              "key": "from",
              "type": "text",
              "label": "Your Christmas line",
              "hint": "Under Merry Christmas: from number 12, from Rose Cottage, from all at number 4.",
              "maxLength": 32,
              "affects": "render",
              "placeholder": "from number 12",
              "optional": true,
              "showWhen": {
                "key": "headline",
                "equals": "christmas"
              }
            }
          ]
        ]
      },
      {
        "key": "backGroup",
        "type": "columns",
        "$comment": "The back of the card: the card prints on its outside only, so the address goes here, never inside.",
        "columns": [
          [
            {
              "key": "address",
              "type": "paragraph",
              "label": "Address on the back",
              "hint": "Optional. Leave blank for a congratulations card.",
              "placeholder": "12 Orchard Lane\nHarrogate HG1 4AB",
              "maxLength": 160,
              "rows": 5,
              "optional": true,
              "affects": "render",
              "showSide": "back"
            },
            {
              "key": "date",
              "type": "text",
              "label": "Date on the back",
              "hint": "Optional. Leave blank for a congratulations card.",
              "placeholder": "From 1 December 2026",
              "maxLength": 40,
              "optional": true,
              "affects": "render",
              "showSide": "back"
            }
          ]
        ]
      }
    ],
    "optionsLabel": "The look",
    "options": [
      {
        "key": "colourway",
        "type": "thumbnails",
        "label": "Card colour",
        "default": "white",
        "affects": "render",
        "options": [
          {
            "value": "cream",
            "label": "Cream",
            "thumbnail": "design-new-home-cards-colourway-cream.jpg"
          },
          {
            "value": "white",
            "label": "Soft white",
            "thumbnail": "design-new-home-cards-colourway-white.jpg"
          },
          {
            "value": "blush",
            "label": "Blush",
            "thumbnail": "design-new-home-cards-colourway-blush.jpg"
          },
          {
            "value": "forest",
            "label": "Forest green",
            "thumbnail": "design-new-home-cards-colourway-forest.jpg"
          },
          {
            "value": "navy",
            "label": "Navy",
            "thumbnail": "design-new-home-cards-colourway-navy.jpg"
          },
          {
            "value": "terracotta",
            "label": "Terracotta",
            "thumbnail": "design-new-home-cards-colourway-terracotta.jpg"
          }
        ]
      },
      {
        "key": "frame",
        "type": "thumbnails",
        "label": "Frame",
        "default": "wash",
        "affects": "render",
        "options": [
          {
            "value": "keyline",
            "label": "Fine border",
            "thumbnail": "design-new-home-cards-frame-keyline.jpg"
          },
          {
            "value": "arch",
            "label": "Arched window",
            "thumbnail": "design-new-home-cards-frame-arch.jpg"
          },
          {
            "value": "wash",
            "label": "Painted ground",
            "thumbnail": "design-new-home-cards-frame-wash.jpg"
          },
          {
            "value": "panel",
            "label": "Framed panel",
            "thumbnail": "design-new-home-cards-frame-panel.jpg"
          }
        ]
      },
      {
        "key": "touch",
        "type": "thumbnails",
        "label": "A finishing touch",
        "default": "none",
        "affects": "render",
        "options": [
          {
            "value": "none",
            "label": "Just the house",
            "thumbnail": "design-new-home-cards-touch-none.jpg"
          },
          {
            "value": "key",
            "label": "A key on a ribbon",
            "thumbnail": "design-new-home-cards-touch-key.jpg"
          },
          {
            "value": "holly",
            "label": "Holly and snow",
            "thumbnail": "design-new-home-cards-touch-holly.jpg"
          }
        ]
      },
      {
        "key": "door",
        "type": "thumbnails",
        "label": "Front door",
        "hint": "Your door's colour: the one colour on the ink drawings.",
        "default": "red",
        "affects": "render",
        "showWhen": {
          "key": "artStyle",
          "equals": [
            "line",
            "engraving"
          ]
        },
        "options": [
          {
            "value": "ink",
            "label": "Ink",
            "thumbnail": "design-new-home-cards-door-ink.jpg"
          },
          {
            "value": "red",
            "label": "Red",
            "thumbnail": "design-new-home-cards-door-red.jpg"
          },
          {
            "value": "green",
            "label": "Green",
            "thumbnail": "design-new-home-cards-door-green.jpg"
          },
          {
            "value": "navy",
            "label": "Navy",
            "thumbnail": "design-new-home-cards-door-navy.jpg"
          },
          {
            "value": "blue",
            "label": "Blue",
            "thumbnail": "design-new-home-cards-door-blue.jpg"
          },
          {
            "value": "yellow",
            "label": "Yellow",
            "thumbnail": "design-new-home-cards-door-yellow.jpg"
          },
          {
            "value": "sage",
            "label": "Sage",
            "thumbnail": "design-new-home-cards-door-sage.jpg"
          }
        ]
      },
      {
        "key": "typeface",
        "type": "thumbnails",
        "label": "Lettering for your names",
        "default": "italic",
        "affects": "render",
        "options": [
          {
            "value": "classic",
            "label": "Classic capitals",
            "thumbnail": "design-new-home-cards-typeface-classic.jpg"
          },
          {
            "value": "italic",
            "label": "Italic",
            "thumbnail": "design-new-home-cards-typeface-italic.jpg"
          },
          {
            "value": "modern",
            "label": "Modern capitals",
            "thumbnail": "design-new-home-cards-typeface-modern.jpg"
          },
          {
            "value": "editorial",
            "label": "Editorial",
            "thumbnail": "design-new-home-cards-typeface-editorial.jpg"
          }
        ]
      }
    ]
  }
}
