changedInput schema / properties / quest / properties / steps / items / description
Previous value: -"One quest step. Fields per type — message: prompt. question: prompt, answers[], optional image (a photo the question is about; Quest+). choice: prompt, options[2..6], correct (0-based index). code: prompt, code (a secret the recipient finds offline, e.g. written on a card). puzzle: image (key from an upload with kind=image), size 3|4, optional prompt. media (Quest+): media (key from an upload with kind=media), mediaType audio|video, optional prompt. date: prompt, date (YYYY-MM-DD; the recipient picks it in a calendar). number: prompt, number, optional tolerance (any answer within ± tolerance counts). qr: prompt (where to look), code (letters and digits) — a treasure hunt: the creator prints a card with a QR code that opens playUrl?k=<code> and hides it; the recipient scans it with the phone camera or types the code printed under it. The builder (editUrl) prints these cards; you can also make the QR yourself from playUrl + \"?k=\" + the URL-encoded code. candles: optional prompt, count 1..${MAX_CANDLES} (more than ${FREE_CANDLES} is Quest+, e.g. the age), optional image (a photo on the cake, Quest+) — the recipient blows into the microphone (or taps) to put out birthday candles. message: optional scratch: true hides the text under a layer the recipient rubs off; optional image (a photo in the letter, under the layer when scratch is on; Quest+). qr: optional note, a line printed on the card (e.g. where the next card is), printed with Quest+ only. Any step: opensAt (Quest+ advent calendar)."New value: +"One quest step. Fields per type — message: prompt. question: prompt, answers[], optional image (a photo the question is about; Quest+). choice: prompt, options[2..6], correct (0-based index). code: prompt, code (a secret the recipient finds offline, e.g. written on a card). puzzle: image (key from an upload with kind=image), size 3|4, optional prompt. media (Quest+): media (key from an upload with kind=media), mediaType audio|video, optional prompt. date: prompt, date (YYYY-MM-DD; the recipient picks it in a calendar). number: prompt, number, optional tolerance (any answer within ± tolerance counts). qr: prompt (where to look), code (letters and digits) — a treasure hunt: the creator prints a card with a QR code that opens playUrl?k=<code> and hides it; the recipient scans it with the phone camera or types the code printed under it. The builder (editUrl) prints these cards; you can also make the QR yourself from playUrl + \"?k=\" + the URL-encoded code. candles: optional prompt, count 1..${MAX_CANDLES} (more than ${FREE_CANDLES} is Quest+, e.g. the age), optional image (a photo on the cake, Quest+) — the recipient blows into the microphone (or taps) to put out birthday candles. message: optional scratch: true hides the text under a layer the recipient rubs off; optional image (a photo in the letter, under the layer when scratch is on; Quest+). qr: optional note, a line printed on the card (e.g. where the next card is), printed with Quest+ only. place: prompt (where to go), lat, lng, optional radius in metres — hot or cold: the recipient walks there with the phone (GPS) and the screen warms up as they get closer; the coordinates never reach their browser. spot: prompt, image (a photo or a map screenshot), x and y (0..1 shares of the photo's width and height, from its top-left corner), optional r — the recipient taps the right spot on the photo. Any step: opensAt (Quest+ advent calendar)."
changedInput schema / properties / quest / properties / steps / items / properties / image / description
Previous value: -"puzzle (required); question, message, candles (optional, Quest+): image key from an upload with kind=image"New value: +"puzzle, spot (required); question, message, candles (optional, Quest+): image key from an upload with kind=image"
addedInput schema / properties / quest / properties / steps / items / properties / lat
Added value: +{
+ "description": "place: latitude of the spot",
+ "maximum": 90,
+ "minimum": -90,
+ "type": "number"
+}
addedInput schema / properties / quest / properties / steps / items / properties / lng
Added value: +{
+ "description": "place: longitude of the spot",
+ "maximum": 180,
+ "minimum": -180,
+ "type": "number"
+}
addedInput schema / properties / quest / properties / steps / items / properties / r
Added value: +{
+ "description": "spot: how big the target is, as a share of the photo (default 0.1)",
+ "enum": [
+ 0.06,
+ 0.1,
+ 0.15
+ ],
+ "type": "number"
+}
addedInput schema / properties / quest / properties / steps / items / properties / radius
Added value: +{
+ "description": "place: how close counts, in metres (default 50)",
+ "enum": [
+ 25,
+ 50,
+ 100,
+ 250
+ ],
+ "type": "integer"
+}
changedInput schema / properties / quest / properties / steps / items / properties / type / enum
Previous value: -[
- "message",
- "question",
- "choice",
- "code",
- "puzzle",
- "media",
- "date",
- "number",
- "qr",
- "candles"
-]New value: +[
+ "message",
+ "question",
+ "choice",
+ "code",
+ "puzzle",
+ "media",
+ "date",
+ "number",
+ "qr",
+ "candles",
+ "place",
+ "spot"
+]
addedInput schema / properties / quest / properties / steps / items / properties / x
Added value: +{
+ "description": "spot: horizontal position of the right spot, share of the photo width from the left",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+}
addedInput schema / properties / quest / properties / steps / items / properties / y
Added value: +{
+ "description": "spot: vertical position, share of the photo height from the top",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+}
addedInput schema / properties / quest / properties / unwrap
Added value: +{
+ "description": "How the recipient opens the gift at the end: hands (default) — pull the ribbon to untie the bow, then tap to tear the paper off; tap — one tap on the box",
+ "enum": [
+ "hands",
+ "tap"
+ ],
+ "type": "string"
+}