{
  "$comment": "The Class Gift: a thank-you print the whole class signs (11 Nov 2026): one of the four versions of Everyone Signs. The organiser starts a board here (worker /v1/boards with kind \"class-gift\") 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": "class-gift-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-class-gift-print-example.jpg",
    "exampleAlt": "A bright class thank-you print on cream: Thank you painted on a big yellow pencil, the name Mrs Patel lettered large in navy, from Class 4B, 2026 on a blue wash, and two dozen children’s first names and short thank-you lines on pastel watercolour notes all round, with apples, gold stars and confetti in the gaps.",
    "seed": {
      "name": "Mrs Patel",
      "heading": "",
      "from": "from Class 4B, 2026",
      "look": "pencil",
      "hands": "mixed",
      "board": {
        "id": "",
        "sample": true,
        "messages": [
          {
            "id": "cg0000000001",
            "name": "Amara",
            "text": "Thank you for making maths fun!"
          },
          {
            "id": "cg0000000002",
            "name": "Oliver",
            "text": "You are the best teacher in the whole school"
          },
          {
            "id": "cg0000000003",
            "name": "Isla",
            "text": "Thank you for helping me with my reading"
          },
          {
            "id": "cg0000000004",
            "name": "Noah",
            "text": "I loved our science experiments, especially the volcano"
          },
          {
            "id": "cg0000000005",
            "name": "Freya",
            "text": "You always make me smile"
          },
          {
            "id": "cg0000000006",
            "name": "Arjun",
            "text": "Thank you for believing in me"
          },
          {
            "id": "cg0000000007",
            "name": "Poppy",
            "text": "Best class trip ever!"
          },
          {
            "id": "cg0000000008",
            "name": "Leo",
            "text": "You made me love writing stories"
          },
          {
            "id": "cg0000000009",
            "name": "Zara",
            "text": "I will miss you so much next year"
          },
          {
            "id": "cg0000000010",
            "name": "Theo",
            "text": "Thank you for being kind every single day"
          },
          {
            "id": "cg0000000011",
            "name": "Maya",
            "text": "You explain things so well"
          },
          {
            "id": "cg0000000012",
            "name": "Jacob",
            "text": "Thanks for all the stickers!"
          },
          {
            "id": "cg0000000013",
            "name": "Ava",
            "text": "I learned my times tables because of you"
          },
          {
            "id": "cg0000000014",
            "name": "Hamza",
            "text": "You are funny and clever"
          },
          {
            "id": "cg0000000015",
            "name": "Ruby",
            "text": "Thank you for the best year"
          },
          {
            "id": "cg0000000016",
            "name": "Finley",
            "text": "I loved our class book about the dragon"
          },
          {
            "id": "cg0000000017",
            "name": "Grace",
            "text": "You helped me be brave"
          },
          {
            "id": "cg0000000018",
            "name": "Musa",
            "text": "Thank you for all your hard work"
          },
          {
            "id": "cg0000000019",
            "name": "Elsie",
            "text": "You are a star teacher"
          },
          {
            "id": "cg0000000020",
            "name": "Harry",
            "text": "Thank you for teaching me fractions"
          },
          {
            "id": "cg0000000021",
            "name": "Aisha",
            "text": "Your art lessons were the best"
          },
          {
            "id": "cg0000000022",
            "name": "Charlie",
            "text": "You never gave up on me"
          },
          {
            "id": "cg0000000023",
            "name": "Lily",
            "text": "Thank you for the school play"
          },
          {
            "id": "cg0000000024",
            "name": "Kai",
            "text": "You made school feel like home"
          }
        ]
      }
    }
  },
  "fields": {
    "requiredLabel": "Who it’s for",
    "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": "Teacher’s name",
              "maxLength": 30,
              "affects": "render",
              "hint": "As the class says it, set large in the middle.",
              "placeholder": "Mrs Patel"
            },
            {
              "key": "heading",
              "type": "text",
              "label": "Words above their name (optional)",
              "maxLength": 32,
              "affects": "render",
              "optional": true,
              "hint": "Leave blank for “Thank you”.",
              "placeholder": "Thank you"
            },
            {
              "key": "from",
              "type": "text",
              "label": "From (optional)",
              "maxLength": 64,
              "affects": "render",
              "optional": true,
              "hint": "The class and the year, e.g. from Class 4B, 2026. No school address.",
              "placeholder": "from Class 4B, 2026"
            }
          ]
        ]
      },
      {
        "key": "board",
        "type": "custom",
        "label": "The class adds their words",
        "affects": "render",
        "hint": "Send one link to the class WhatsApp or email. Each family adds their child’s first name and one short line (60 letters) from their phone, no account needed, and it sets itself on the print. Up to 35 children. You choose which go on.",
        "privacy": "First names and a typed line only: no photos, no drawings, no surnames, no school address. We keep only those for the print; the board closes after 30 days and is then deleted. Nothing is changed without you, and anything our checks hold back waits for you to look at."
      }
    ],
    "options": [
      {
        "key": "look",
        "type": "thumbnails",
        "label": "Look",
        "hint": "",
        "default": "pencil",
        "affects": "render",
        "options": [
          {
            "value": "pencil",
            "label": "Pencil case",
            "thumbnail": "design-class-gift-print-look-pencil.jpg"
          },
          {
            "value": "chalkboard",
            "label": "Chalkboard",
            "thumbnail": "design-class-gift-print-look-chalkboard.jpg"
          },
          {
            "value": "sky",
            "label": "Gold stars",
            "thumbnail": "design-class-gift-print-look-sky.jpg"
          },
          {
            "value": "notes",
            "label": "Pinned notes",
            "thumbnail": "design-class-gift-print-look-notes.jpg"
          },
          {
            "value": "hearts",
            "label": "Rainbow hearts",
            "thumbnail": "design-class-gift-print-look-hearts.jpg"
          }
        ]
      },
      {
        "key": "hands",
        "type": "thumbnails",
        "label": "Handwriting",
        "hint": "How everyone’s words are written.",
        "default": "mixed",
        "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 child’s line you leave ticked."
  },
  "presets": {
    "$comment": "A tap fills the words; it never touches the board.",
    "label": "Start from an idea",
    "options": [
      {
        "id": "class",
        "label": "Class teacher",
        "values": {
          "name": "Mrs Patel",
          "heading": "",
          "from": "from Class 4B, 2026"
        }
      },
      {
        "id": "ta",
        "label": "Teaching assistant",
        "values": {
          "name": "Miss Begum",
          "heading": "Thank you",
          "from": "from everyone in Year 2"
        }
      },
      {
        "id": "nursery",
        "label": "Nursery key worker",
        "values": {
          "name": "Auntie Jo",
          "heading": "Thank you",
          "from": "from the Rainbow Room, 2026"
        }
      },
      {
        "id": "coach",
        "label": "Club coach",
        "values": {
          "name": "Coach Dan",
          "heading": "Thank you",
          "from": "from the Under 9s"
        }
      },
      {
        "id": "blank",
        "label": "Custom",
        "values": {
          "heading": "",
          "from": ""
        }
      }
    ]
  },
  "cart": {
    "summary": "{name} · {look.label}"
  }
}
