{
  "$comment": "The Guest Book print: your wedding guests sign from their phones (11 Nov 2026): one of the four versions of Everyone Signs. The organiser starts a board here (worker /v1/boards with kind \"guest-book\") and sends one link round; the entries left ticked are copied into values.board and printed exactly. Composer compose-signs.mjs via groupsigns-browser-entry.mjs; looks in group-signs-presets.mjs; written by render-groupsigns-assets.mjs.",
  "configVersion": 1,
  "designId": "guest-book-print",
  "rendererVersion": "group-signs/1.0.0",
  "service": {
    "origin": "",
    "savePath": "/v1/designs",
    "analyticsPath": "/v1/analytics/events",
    "previewDebounceMs": 160
  },
  "sheet": {
    "width": 1000,
    "height": 1500
  },
  "assetVersion": "2026-11-11.1",
  "preview": {
    "exampleAsset": "design-guest-book-print-example.jpg",
    "exampleAlt": "A wedding guest book print on soft ivory: The wedding of in gold-tone italic above Anna & Tom in flowing script, 12 June 2027 · Hengrave Hall beneath, eucalyptus sprigs and blush flowers either side, and guests’ handwritten messages on pale watercolour washes round the names.",
    "seed": {
      "name": "Anna & Tom",
      "heading": "",
      "from": "12 June 2027 · Hengrave Hall",
      "look": "garden",
      "hands": "fountain",
      "board": {
        "id": "",
        "sample": true,
        "messages": [
          {
            "id": "gb0000000001",
            "name": "Auntie Sue",
            "text": "What a beautiful day. Wishing you a lifetime of love and laughter together."
          },
          {
            "id": "gb0000000002",
            "name": "Mark & Lisa",
            "text": "Congratulations! The best wedding we've been to. Enjoy every minute of married life."
          },
          {
            "id": "gb0000000003",
            "name": "Grandma",
            "text": "So proud of you both. May you always be as happy as you are today."
          },
          {
            "id": "gb0000000004",
            "name": "Jake",
            "text": "Best man duties done! Love you both. Here's to many more adventures."
          },
          {
            "id": "gb0000000005",
            "name": "Priya",
            "text": "Your vows made the whole room cry. Congratulations, you two."
          },
          {
            "id": "gb0000000006",
            "name": "The Hendersons",
            "text": "Thank you for letting us share your day. Wishing you every happiness."
          },
          {
            "id": "gb0000000007",
            "name": "Emma",
            "text": "Dancing until midnight with my favourite couple. Congratulations!"
          },
          {
            "id": "gb0000000008",
            "name": "Tom",
            "text": "Never seen you smile so much. Congratulations, mate."
          },
          {
            "id": "gb0000000009",
            "name": "Chloe & Sam",
            "text": "To Anna and Tom: love, laughter and happily ever after."
          },
          {
            "id": "gb0000000010",
            "name": "Uncle Dave",
            "text": "Welcome to the family, Tom. Look after her."
          },
          {
            "id": "gb0000000011",
            "name": "Rosie",
            "text": "What a day! Your first dance was perfect."
          },
          {
            "id": "gb0000000012",
            "name": "Ben",
            "text": "Here's to a lifetime of Sunday lie-ins. Congratulations!"
          },
          {
            "id": "gb0000000013",
            "name": "Megan",
            "text": "So happy for you both. Can't wait to see where life takes you."
          },
          {
            "id": "gb0000000014",
            "name": "Nana Pat",
            "text": "Love is patient, love is kind. Wishing you both all my love."
          },
          {
            "id": "gb0000000015",
            "name": "Liam",
            "text": "Thanks for the best party of the year. Congratulations!"
          },
          {
            "id": "gb0000000016",
            "name": "Sarah & James",
            "text": "From one married couple to another: it only gets better. Much love."
          },
          {
            "id": "gb0000000017",
            "name": "Hollie",
            "text": "Beautiful ceremony, beautiful couple. Congratulations!"
          },
          {
            "id": "gb0000000018",
            "name": "Matt",
            "text": "Cheers to you both! Wishing you a lifetime of happiness."
          },
          {
            "id": "gb0000000019",
            "name": "Lucy",
            "text": "Thank you for including us. We love you both."
          },
          {
            "id": "gb0000000020",
            "name": "Dan & Jo",
            "text": "May your home always be full of laughter."
          },
          {
            "id": "gb0000000021",
            "name": "Kirsty",
            "text": "You look stunning, Anna. Congratulations to you both."
          },
          {
            "id": "gb0000000022",
            "name": "Will",
            "text": "Great speeches, great food, great couple."
          }
        ]
      }
    }
  },
  "fields": {
    "requiredLabel": "Your day",
    "optionsLabel": "The look",
    "required": [
      {
        "key": "details",
        "type": "columns",
        "$comment": "One column, full width: the shell caps the top-level required fields at four.",
        "columns": [
          [
            {
              "key": "name",
              "type": "text",
              "label": "Your names",
              "maxLength": 30,
              "affects": "render",
              "hint": "Set large in the middle, in the lettering you choose.",
              "placeholder": "Anna & Tom"
            },
            {
              "key": "heading",
              "type": "text",
              "label": "Words above your names (optional)",
              "maxLength": 32,
              "affects": "render",
              "optional": true,
              "hint": "Leave blank for “The wedding of”.",
              "placeholder": "The wedding of"
            },
            {
              "key": "from",
              "type": "text",
              "label": "Your day (optional)",
              "maxLength": 64,
              "affects": "render",
              "optional": true,
              "hint": "The date and the place, e.g. 12 June 2027 · Hengrave Hall.",
              "placeholder": "12 June 2027 · Hengrave Hall"
            }
          ]
        ]
      },
      {
        "key": "board",
        "type": "custom",
        "label": "Your guests sign",
        "affects": "render",
        "hint": "Start your guest book and print the QR code for the tables. On the day, guests scan it and add their name and a message (160 letters) from their phone, no app or account, and it sets itself on the print. Up to 60 messages. You choose which go on.",
        "privacy": "We keep only each guest’s name and message, for the print. The board closes after 30 days and is then deleted. Nothing is changed without you: a spelling fix is only a suggestion, and anything our checks hold back waits for you to look at."
      }
    ],
    "options": [
      {
        "key": "look",
        "type": "thumbnails",
        "label": "Look",
        "hint": "",
        "default": "garden",
        "affects": "render",
        "options": [
          {
            "value": "garden",
            "label": "Eucalyptus",
            "thumbnail": "design-guest-book-print-look-garden.jpg"
          },
          {
            "value": "midnight",
            "label": "Midnight & gold tone",
            "thumbnail": "design-guest-book-print-look-midnight.jpg"
          },
          {
            "value": "sage",
            "label": "Sage",
            "thumbnail": "design-guest-book-print-look-sage.jpg"
          },
          {
            "value": "hearts",
            "label": "Blush hearts",
            "thumbnail": "design-guest-book-print-look-hearts.jpg"
          },
          {
            "value": "book",
            "label": "Guest book",
            "thumbnail": "design-guest-book-print-look-book.jpg"
          }
        ]
      },
      {
        "key": "hands",
        "type": "thumbnails",
        "label": "Handwriting",
        "hint": "How everyone’s words are written.",
        "default": "fountain",
        "affects": "render",
        "options": [
          {
            "value": "mixed",
            "label": "Everyone’s own",
            "thumbnail": "design-everyone-signs-print-hands-mixed.jpg"
          },
          {
            "value": "felt",
            "label": "Felt tip",
            "thumbnail": "design-everyone-signs-print-hands-felt.jpg"
          },
          {
            "value": "fountain",
            "label": "Fountain pen",
            "thumbnail": "design-everyone-signs-print-hands-fountain.jpg"
          },
          {
            "value": "colours",
            "label": "Coloured pens",
            "thumbnail": "design-everyone-signs-print-hands-colours.jpg"
          },
          {
            "value": "typed",
            "label": "Typeset",
            "thumbnail": "design-everyone-signs-print-hands-typed.jpg"
          }
        ]
      }
    ],
    "printed": "As printed: {name}, and every guest’s message you leave ticked."
  },
  "presets": {
    "$comment": "A tap fills the words; it never touches the board.",
    "label": "Start from an idea",
    "options": [
      {
        "id": "wedding",
        "label": "Wedding",
        "values": {
          "name": "Anna & Tom",
          "heading": "",
          "from": "12 June 2027 · Hengrave Hall"
        }
      },
      {
        "id": "anniversary",
        "label": "Anniversary party",
        "values": {
          "name": "Pat & Ray",
          "heading": "Fifty golden years",
          "from": "8 August 2027"
        }
      },
      {
        "id": "engagement",
        "label": "Engagement party",
        "values": {
          "name": "Priya & Sam",
          "heading": "Just engaged",
          "from": "Spring 2027"
        }
      },
      {
        "id": "blank",
        "label": "Custom",
        "values": {
          "heading": "",
          "from": ""
        }
      }
    ]
  },
  "cart": {
    "summary": "{name} · {look.label}"
  }
}
