@homie-rocks/studio 0.51.1 → 0.51.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +15 -4
- package/app-starters/gathering/app.json +2 -44
- package/app-starters/gathering/index.html +1 -1
- package/app-starters/gathering/src/view.ts +6 -19
- package/apps/APPS.md +55 -1
- package/bin/homie-studio.mjs +12 -8
- package/guides/app/SKILL.md +22 -2
- package/guides/office/SKILL.md +9 -0
- package/guides/shop/SKILL.md +8 -0
- package/guides/studio-setup/SKILL.md +9 -1
- package/lib/app-needs.mjs +17 -2
- package/lib/app-preset-history.json +840 -0
- package/lib/app-ready.mjs +1 -0
- package/lib/art-cli.mjs +2 -2
- package/lib/art-tools.mjs +2 -2
- package/lib/build.mjs +4 -2
- package/lib/check.mjs +2 -0
- package/lib/cloudflare.mjs +19 -10
- package/lib/decisions.mjs +9 -5
- package/lib/dev.mjs +4 -1
- package/lib/directory.mjs +22 -5
- package/lib/giving-preset.mjs +9 -0
- package/lib/mcp-tools.mjs +1 -1
- package/lib/office.mjs +2 -1
- package/lib/scaffold.mjs +7 -4
- package/lib/shop-links.mjs +4 -2
- package/lib/shop-local.mjs +31 -0
- package/lib/shop.mjs +2 -1
- package/lib/style-presets.mjs +1 -0
- package/lib/template-history.json +92 -2
- package/lib/upgrade-app-presets.mjs +49 -0
- package/lib/upgrade.mjs +2 -1
- package/mcp/ui/build.js +3 -2
- package/package.json +1 -1
- package/shop/SHOP.md +6 -0
- package/site/SITE.md +13 -0
- package/tools/TOOLS.md +9 -0
- package/worker/app-records.mjs +3 -3
- package/worker/arrival.mjs +7 -5
- package/worker/build-id.mjs +1 -1
- package/worker/directory-choice.mjs +9 -0
- package/worker/index.mjs +25 -9
- package/worker/mcp.mjs +2 -2
- package/worker/pages.mjs +12 -5
- package/worker/records-page.mjs +1 -1
- package/worker/shop-page.mjs +2 -2
- package/worker/shop-subscriptions.mjs +42 -0
- package/worker/signin-target.mjs +8 -0
- package/worker/site.mjs +11 -7
- package/worker/stats-page.mjs +6 -3
- package/worker/version.mjs +1 -1
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
{
|
|
2
|
+
"welcome": {
|
|
3
|
+
"meta": {
|
|
4
|
+
"id": "welcome",
|
|
5
|
+
"name": "Welcome together",
|
|
6
|
+
"blurb": "A little place to gather. Join the queue, keep your ticket, and see when it is your turn.",
|
|
7
|
+
"entry": "src/view.ts",
|
|
8
|
+
"roles": {
|
|
9
|
+
"customer": {
|
|
10
|
+
"signIn": false,
|
|
11
|
+
"can": [
|
|
12
|
+
"read:queue",
|
|
13
|
+
"create:queue"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"wall": {
|
|
17
|
+
"signIn": false,
|
|
18
|
+
"can": [
|
|
19
|
+
"read:queue"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"staff": {
|
|
23
|
+
"signIn": true,
|
|
24
|
+
"can": [
|
|
25
|
+
"read:queue",
|
|
26
|
+
"update:queue",
|
|
27
|
+
"delete:queue"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"surfaces": {
|
|
32
|
+
"phone": "customer",
|
|
33
|
+
"wall": "wall",
|
|
34
|
+
"kiosk": "customer",
|
|
35
|
+
"tablet": "staff"
|
|
36
|
+
},
|
|
37
|
+
"words": {
|
|
38
|
+
"open": "Open",
|
|
39
|
+
"join": "Scan to join",
|
|
40
|
+
"one": "person",
|
|
41
|
+
"many": "people",
|
|
42
|
+
"eyebrow": "A space for everyone",
|
|
43
|
+
"wallTitle": "",
|
|
44
|
+
"staffTitle": "Welcome desk",
|
|
45
|
+
"waiting": "waiting",
|
|
46
|
+
"panel": "Now welcoming",
|
|
47
|
+
"yourTicket": "Your ticket",
|
|
48
|
+
"welcome": "Welcome in",
|
|
49
|
+
"home": "Make yourself at home.",
|
|
50
|
+
"ready": "Ready when you are.",
|
|
51
|
+
"called": "It\u2019s your turn. Come on over!",
|
|
52
|
+
"ahead": "You have a place. {n} ahead of you.",
|
|
53
|
+
"guest": "No account needed. Just a place in line.",
|
|
54
|
+
"waitingDetail": "{n} {people} waiting for a welcome.",
|
|
55
|
+
"empty": "The next arrival will appear here.",
|
|
56
|
+
"joinAction": "Join the queue",
|
|
57
|
+
"nextAction": "Call the next person",
|
|
58
|
+
"ticket": "No. {label}",
|
|
59
|
+
"keepTicket": "Keep your ticket",
|
|
60
|
+
"live": "Here together \u00b7 live",
|
|
61
|
+
"reconnecting": "Reconnecting\u2026",
|
|
62
|
+
"footer": "ONE PLACE \u00b7 TOGETHER",
|
|
63
|
+
"fallback": "The 3D scene is unavailable on this device. Your live controls still work."
|
|
64
|
+
},
|
|
65
|
+
"records": {
|
|
66
|
+
"persist": true,
|
|
67
|
+
"collections": {
|
|
68
|
+
"queue": {
|
|
69
|
+
"fields": {
|
|
70
|
+
"label": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"required": true,
|
|
73
|
+
"maxLength": 24
|
|
74
|
+
},
|
|
75
|
+
"status": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"required": true,
|
|
78
|
+
"enum": [
|
|
79
|
+
"waiting",
|
|
80
|
+
"called"
|
|
81
|
+
],
|
|
82
|
+
"initial": "waiting"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"parts": [
|
|
89
|
+
"queue",
|
|
90
|
+
"ticket",
|
|
91
|
+
"welcome-scene"
|
|
92
|
+
],
|
|
93
|
+
"netplay": {
|
|
94
|
+
"v": 1,
|
|
95
|
+
"public": true,
|
|
96
|
+
"version": "1",
|
|
97
|
+
"params": [
|
|
98
|
+
"role",
|
|
99
|
+
"surface",
|
|
100
|
+
"ticket"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"playerCard": false,
|
|
104
|
+
"chat": false,
|
|
105
|
+
"agents": {
|
|
106
|
+
"vote": false
|
|
107
|
+
},
|
|
108
|
+
"watch": "overview",
|
|
109
|
+
"screen": {
|
|
110
|
+
"join": "bottom-right",
|
|
111
|
+
"share": "top-right"
|
|
112
|
+
},
|
|
113
|
+
"needs": {
|
|
114
|
+
"three": "0.185.1",
|
|
115
|
+
"@homie-rocks/camera": "0.2.1",
|
|
116
|
+
"@homie-rocks/geom": "0.1.1",
|
|
117
|
+
"@types/three": "0.185.1"
|
|
118
|
+
},
|
|
119
|
+
"check": {
|
|
120
|
+
"action": "[data-join]",
|
|
121
|
+
"observe": "[data-count]",
|
|
122
|
+
"surface": "phone"
|
|
123
|
+
},
|
|
124
|
+
"landing": {
|
|
125
|
+
"pitch": "A warm welcome. A place in line. One screen, together.",
|
|
126
|
+
"controls": {
|
|
127
|
+
"phone": "Join once and keep your ticket.",
|
|
128
|
+
"computer": "Staff call the next person from their signed-in tablet."
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"room": {
|
|
132
|
+
"host": "server"
|
|
133
|
+
},
|
|
134
|
+
"players": {
|
|
135
|
+
"min": 1,
|
|
136
|
+
"max": 32
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"files": {
|
|
140
|
+
"app.json": "0d8cae55f024cd249909be734ab3ebbcb892f202866d83cae55f42b1ecb27072",
|
|
141
|
+
"index.html": "4a9d8a7b17e75d383f26a440ad76dc36828387622f0279eef042adf3e93b508e",
|
|
142
|
+
"map/main.json": "907af046f8c35f59b01f6dc386d107edc59581193ccfdf9740e45b43b3bb9ce3",
|
|
143
|
+
"src/move.ts": "d153feae887a69e7132b640429e8855185ee3ae4dd17e9c1f786e929261f1953",
|
|
144
|
+
"src/rules.ts": "178133ef87416f98df2ffb51bdaec20c934e5554ad267b0c21a9cdcb51113ff5",
|
|
145
|
+
"src/view.ts": "2c503c126dc8ccec1940334c363ea8a35d385c1cecfe460535c47d274a283fae"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"giving": {
|
|
149
|
+
"meta": {
|
|
150
|
+
"id": "giving",
|
|
151
|
+
"name": "Together we can",
|
|
152
|
+
"blurb": "Support our goal with a one-time or monthly gift. Intentions below are not payments.",
|
|
153
|
+
"entry": "src/view.ts",
|
|
154
|
+
"roles": {
|
|
155
|
+
"customer": {
|
|
156
|
+
"signIn": false,
|
|
157
|
+
"can": [
|
|
158
|
+
"read:entries",
|
|
159
|
+
"create:entries"
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
"wall": {
|
|
163
|
+
"signIn": false,
|
|
164
|
+
"can": [
|
|
165
|
+
"read:entries"
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"staff": {
|
|
169
|
+
"signIn": true,
|
|
170
|
+
"can": [
|
|
171
|
+
"read:entries",
|
|
172
|
+
"update:entries",
|
|
173
|
+
"delete:entries"
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"surfaces": {
|
|
178
|
+
"phone": "customer",
|
|
179
|
+
"wall": "wall",
|
|
180
|
+
"kiosk": "customer",
|
|
181
|
+
"tablet": "staff"
|
|
182
|
+
},
|
|
183
|
+
"words": {
|
|
184
|
+
"open": "Open",
|
|
185
|
+
"join": "Scan to join",
|
|
186
|
+
"one": "person",
|
|
187
|
+
"many": "people",
|
|
188
|
+
"action": "Record my intention",
|
|
189
|
+
"total": "Giving intentions",
|
|
190
|
+
"choice": "Choose an option",
|
|
191
|
+
"monthly": "Gift frequency",
|
|
192
|
+
"once": "One time",
|
|
193
|
+
"month": "Monthly",
|
|
194
|
+
"give": "Give securely on Stripe",
|
|
195
|
+
"goal": "Intention goal \u00b7 not payments received",
|
|
196
|
+
"prompt": "Choose what works for you.",
|
|
197
|
+
"finished": "All three answers are in. Thank you!",
|
|
198
|
+
"complete": "Mark complete",
|
|
199
|
+
"done": "Complete",
|
|
200
|
+
"pending": "Recorded",
|
|
201
|
+
"thanks": "Thank you \u2014 the wall is up to date.",
|
|
202
|
+
"live": "Together \u00b7 live",
|
|
203
|
+
"reconnecting": "Reconnecting\u2026"
|
|
204
|
+
},
|
|
205
|
+
"records": {
|
|
206
|
+
"persist": true,
|
|
207
|
+
"collections": {
|
|
208
|
+
"entries": {
|
|
209
|
+
"fields": {
|
|
210
|
+
"choice": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"required": true,
|
|
213
|
+
"maxLength": 100
|
|
214
|
+
},
|
|
215
|
+
"status": {
|
|
216
|
+
"type": "string",
|
|
217
|
+
"required": true,
|
|
218
|
+
"maxLength": 60
|
|
219
|
+
},
|
|
220
|
+
"amount": {
|
|
221
|
+
"type": "number",
|
|
222
|
+
"required": true
|
|
223
|
+
},
|
|
224
|
+
"monthly": {
|
|
225
|
+
"type": "boolean",
|
|
226
|
+
"required": true
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"parts": [],
|
|
233
|
+
"netplay": {
|
|
234
|
+
"v": 1,
|
|
235
|
+
"public": true,
|
|
236
|
+
"version": "1",
|
|
237
|
+
"params": [
|
|
238
|
+
"role",
|
|
239
|
+
"surface",
|
|
240
|
+
"ticket"
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
"playerCard": false,
|
|
244
|
+
"chat": false,
|
|
245
|
+
"agents": {
|
|
246
|
+
"vote": false
|
|
247
|
+
},
|
|
248
|
+
"watch": "overview",
|
|
249
|
+
"screen": {
|
|
250
|
+
"join": "bottom-right",
|
|
251
|
+
"share": "top-right"
|
|
252
|
+
},
|
|
253
|
+
"needs": {
|
|
254
|
+
"three": "0.185.1",
|
|
255
|
+
"@homie-rocks/camera": "0.2.1",
|
|
256
|
+
"@homie-rocks/geom": "0.1.1",
|
|
257
|
+
"@types/three": "0.185.1"
|
|
258
|
+
},
|
|
259
|
+
"check": {
|
|
260
|
+
"action": "[data-action]",
|
|
261
|
+
"observe": "[data-count]"
|
|
262
|
+
},
|
|
263
|
+
"landing": {
|
|
264
|
+
"pitch": "Support our goal with a one-time or monthly gift. Intentions below are not payments."
|
|
265
|
+
},
|
|
266
|
+
"room": {
|
|
267
|
+
"host": "server"
|
|
268
|
+
},
|
|
269
|
+
"players": {
|
|
270
|
+
"min": 1,
|
|
271
|
+
"max": 32
|
|
272
|
+
},
|
|
273
|
+
"starter": {
|
|
274
|
+
"kind": "giving",
|
|
275
|
+
"choices": [
|
|
276
|
+
"10",
|
|
277
|
+
"25",
|
|
278
|
+
"50"
|
|
279
|
+
],
|
|
280
|
+
"color": "#354d2e",
|
|
281
|
+
"currency": "CAD",
|
|
282
|
+
"goal": 2500,
|
|
283
|
+
"questions": [
|
|
284
|
+
{
|
|
285
|
+
"text": "Which planet is called the red planet?",
|
|
286
|
+
"choices": [
|
|
287
|
+
"Venus",
|
|
288
|
+
"Mars",
|
|
289
|
+
"Jupiter"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"text": "How many sides does a hexagon have?",
|
|
294
|
+
"choices": [
|
|
295
|
+
"5",
|
|
296
|
+
"6",
|
|
297
|
+
"8"
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"text": "Which is a mammal?",
|
|
302
|
+
"choices": [
|
|
303
|
+
"Dolphin",
|
|
304
|
+
"Trout",
|
|
305
|
+
"Octopus"
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"files": {
|
|
312
|
+
"README.md": "997f3e0349edaa628e1d899668a47da499972e4013f350a7488715921b803339",
|
|
313
|
+
"app.json": "7c10fba3862b4d89e9c6c10efb4464c04990197cb1a452f8379baaa2e801e300",
|
|
314
|
+
"index.html": "5fccd2617ca0c72b8ec4ff23e64f3f08abaaea6ee42dd44e4c9f34fb1de04379",
|
|
315
|
+
"map/main.json": "907af046f8c35f59b01f6dc386d107edc59581193ccfdf9740e45b43b3bb9ce3",
|
|
316
|
+
"src/move.ts": "d153feae887a69e7132b640429e8855185ee3ae4dd17e9c1f786e929261f1953",
|
|
317
|
+
"src/rules.ts": "178133ef87416f98df2ffb51bdaec20c934e5554ad267b0c21a9cdcb51113ff5",
|
|
318
|
+
"src/view.ts": "875495123bcbc54eddfc0dc6e343892bfc6b7be5c62f326215ce4f028b0c9b89"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"gathering": {
|
|
322
|
+
"meta": {
|
|
323
|
+
"id": "gathering",
|
|
324
|
+
"name": "Gather together",
|
|
325
|
+
"blurb": "Check in, choose a task, and let the team know you are here.",
|
|
326
|
+
"entry": "src/view.ts",
|
|
327
|
+
"roles": {
|
|
328
|
+
"customer": {
|
|
329
|
+
"signIn": false,
|
|
330
|
+
"can": [
|
|
331
|
+
"read:entries",
|
|
332
|
+
"create:entries"
|
|
333
|
+
]
|
|
334
|
+
},
|
|
335
|
+
"wall": {
|
|
336
|
+
"signIn": false,
|
|
337
|
+
"can": [
|
|
338
|
+
"read:entries"
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
"staff": {
|
|
342
|
+
"signIn": true,
|
|
343
|
+
"can": [
|
|
344
|
+
"read:entries",
|
|
345
|
+
"update:entries",
|
|
346
|
+
"delete:entries"
|
|
347
|
+
]
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"surfaces": {
|
|
351
|
+
"phone": "customer",
|
|
352
|
+
"wall": "wall",
|
|
353
|
+
"kiosk": "customer",
|
|
354
|
+
"tablet": "staff"
|
|
355
|
+
},
|
|
356
|
+
"words": {
|
|
357
|
+
"open": "Open",
|
|
358
|
+
"join": "Scan to join",
|
|
359
|
+
"one": "person",
|
|
360
|
+
"many": "people",
|
|
361
|
+
"action": "Check in",
|
|
362
|
+
"total": "Check-ins",
|
|
363
|
+
"choice": "Choose an option",
|
|
364
|
+
"monthly": "Gift frequency",
|
|
365
|
+
"once": "One time",
|
|
366
|
+
"month": "Monthly",
|
|
367
|
+
"give": "Give securely on Stripe",
|
|
368
|
+
"goal": "Intention goal \u00b7 not payments received",
|
|
369
|
+
"prompt": "Choose what works for you.",
|
|
370
|
+
"finished": "All three answers are in. Thank you!",
|
|
371
|
+
"complete": "Mark complete",
|
|
372
|
+
"done": "Complete",
|
|
373
|
+
"pending": "Checked in",
|
|
374
|
+
"thanks": "Thank you \u2014 the wall is up to date.",
|
|
375
|
+
"live": "Together \u00b7 live",
|
|
376
|
+
"reconnecting": "Reconnecting\u2026"
|
|
377
|
+
},
|
|
378
|
+
"records": {
|
|
379
|
+
"persist": true,
|
|
380
|
+
"collections": {
|
|
381
|
+
"entries": {
|
|
382
|
+
"fields": {
|
|
383
|
+
"choice": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"required": true,
|
|
386
|
+
"maxLength": 100
|
|
387
|
+
},
|
|
388
|
+
"status": {
|
|
389
|
+
"type": "string",
|
|
390
|
+
"required": true,
|
|
391
|
+
"maxLength": 60
|
|
392
|
+
},
|
|
393
|
+
"amount": {
|
|
394
|
+
"type": "number",
|
|
395
|
+
"required": true
|
|
396
|
+
},
|
|
397
|
+
"monthly": {
|
|
398
|
+
"type": "boolean",
|
|
399
|
+
"required": true
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"parts": [],
|
|
406
|
+
"netplay": {
|
|
407
|
+
"v": 1,
|
|
408
|
+
"public": true,
|
|
409
|
+
"version": "1",
|
|
410
|
+
"params": [
|
|
411
|
+
"role",
|
|
412
|
+
"surface",
|
|
413
|
+
"ticket"
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
"playerCard": false,
|
|
417
|
+
"chat": false,
|
|
418
|
+
"agents": {
|
|
419
|
+
"vote": false
|
|
420
|
+
},
|
|
421
|
+
"watch": "overview",
|
|
422
|
+
"screen": {
|
|
423
|
+
"join": "bottom-right",
|
|
424
|
+
"share": "top-right"
|
|
425
|
+
},
|
|
426
|
+
"needs": {
|
|
427
|
+
"three": "0.185.1",
|
|
428
|
+
"@homie-rocks/camera": "0.2.1",
|
|
429
|
+
"@homie-rocks/geom": "0.1.1",
|
|
430
|
+
"@types/three": "0.185.1"
|
|
431
|
+
},
|
|
432
|
+
"check": {
|
|
433
|
+
"action": "[data-action]",
|
|
434
|
+
"observe": "[data-count]"
|
|
435
|
+
},
|
|
436
|
+
"landing": {
|
|
437
|
+
"pitch": "Check in, choose a task, and let the team know you are here."
|
|
438
|
+
},
|
|
439
|
+
"room": {
|
|
440
|
+
"host": "server"
|
|
441
|
+
},
|
|
442
|
+
"players": {
|
|
443
|
+
"min": 1,
|
|
444
|
+
"max": 32
|
|
445
|
+
},
|
|
446
|
+
"starter": {
|
|
447
|
+
"kind": "gathering",
|
|
448
|
+
"choices": [
|
|
449
|
+
"Welcome desk",
|
|
450
|
+
"Packing",
|
|
451
|
+
"Deliveries"
|
|
452
|
+
],
|
|
453
|
+
"color": "#184b43",
|
|
454
|
+
"currency": "CAD",
|
|
455
|
+
"goal": 2500,
|
|
456
|
+
"questions": [
|
|
457
|
+
{
|
|
458
|
+
"text": "Which planet is called the red planet?",
|
|
459
|
+
"choices": [
|
|
460
|
+
"Venus",
|
|
461
|
+
"Mars",
|
|
462
|
+
"Jupiter"
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"text": "How many sides does a hexagon have?",
|
|
467
|
+
"choices": [
|
|
468
|
+
"5",
|
|
469
|
+
"6",
|
|
470
|
+
"8"
|
|
471
|
+
]
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"text": "Which is a mammal?",
|
|
475
|
+
"choices": [
|
|
476
|
+
"Dolphin",
|
|
477
|
+
"Trout",
|
|
478
|
+
"Octopus"
|
|
479
|
+
]
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
"files": {
|
|
485
|
+
"README.md": "611ea296aeaadd607f348b82da6753e3bf28d40500fdf392f3c76361e806da32",
|
|
486
|
+
"app.json": "39bd4067650b21778a06dbafa451f898f45934d6964603a95e55b2a66233ef3b",
|
|
487
|
+
"index.html": "5fccd2617ca0c72b8ec4ff23e64f3f08abaaea6ee42dd44e4c9f34fb1de04379",
|
|
488
|
+
"map/main.json": "907af046f8c35f59b01f6dc386d107edc59581193ccfdf9740e45b43b3bb9ce3",
|
|
489
|
+
"src/move.ts": "d153feae887a69e7132b640429e8855185ee3ae4dd17e9c1f786e929261f1953",
|
|
490
|
+
"src/rules.ts": "178133ef87416f98df2ffb51bdaec20c934e5554ad267b0c21a9cdcb51113ff5",
|
|
491
|
+
"src/view.ts": "875495123bcbc54eddfc0dc6e343892bfc6b7be5c62f326215ce4f028b0c9b89"
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
"quiz": {
|
|
495
|
+
"meta": {
|
|
496
|
+
"id": "quiz",
|
|
497
|
+
"name": "Quiz night",
|
|
498
|
+
"blurb": "A casual three-question quiz. Play along on your phone.",
|
|
499
|
+
"entry": "src/view.ts",
|
|
500
|
+
"roles": {
|
|
501
|
+
"customer": {
|
|
502
|
+
"signIn": false,
|
|
503
|
+
"can": [
|
|
504
|
+
"read:entries",
|
|
505
|
+
"create:entries"
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
"wall": {
|
|
509
|
+
"signIn": false,
|
|
510
|
+
"can": [
|
|
511
|
+
"read:entries"
|
|
512
|
+
]
|
|
513
|
+
},
|
|
514
|
+
"staff": {
|
|
515
|
+
"signIn": true,
|
|
516
|
+
"can": [
|
|
517
|
+
"read:entries",
|
|
518
|
+
"update:entries",
|
|
519
|
+
"delete:entries"
|
|
520
|
+
]
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"surfaces": {
|
|
524
|
+
"phone": "customer",
|
|
525
|
+
"wall": "wall",
|
|
526
|
+
"kiosk": "customer",
|
|
527
|
+
"tablet": "staff"
|
|
528
|
+
},
|
|
529
|
+
"words": {
|
|
530
|
+
"open": "Open",
|
|
531
|
+
"join": "Scan to join",
|
|
532
|
+
"one": "person",
|
|
533
|
+
"many": "people",
|
|
534
|
+
"action": "Submit answer",
|
|
535
|
+
"total": "Answers",
|
|
536
|
+
"choice": "Choose an option",
|
|
537
|
+
"monthly": "Gift frequency",
|
|
538
|
+
"once": "One time",
|
|
539
|
+
"month": "Monthly",
|
|
540
|
+
"give": "Give securely on Stripe",
|
|
541
|
+
"goal": "Intention goal \u00b7 not payments received",
|
|
542
|
+
"prompt": "Choose what works for you.",
|
|
543
|
+
"finished": "All three answers are in. Thank you!",
|
|
544
|
+
"complete": "Mark complete",
|
|
545
|
+
"done": "Complete",
|
|
546
|
+
"pending": "Recorded",
|
|
547
|
+
"thanks": "Thank you \u2014 the wall is up to date.",
|
|
548
|
+
"live": "Together \u00b7 live",
|
|
549
|
+
"reconnecting": "Reconnecting\u2026"
|
|
550
|
+
},
|
|
551
|
+
"records": {
|
|
552
|
+
"persist": true,
|
|
553
|
+
"collections": {
|
|
554
|
+
"entries": {
|
|
555
|
+
"fields": {
|
|
556
|
+
"choice": {
|
|
557
|
+
"type": "string",
|
|
558
|
+
"required": true,
|
|
559
|
+
"maxLength": 100
|
|
560
|
+
},
|
|
561
|
+
"status": {
|
|
562
|
+
"type": "string",
|
|
563
|
+
"required": true,
|
|
564
|
+
"maxLength": 60
|
|
565
|
+
},
|
|
566
|
+
"amount": {
|
|
567
|
+
"type": "number",
|
|
568
|
+
"required": true
|
|
569
|
+
},
|
|
570
|
+
"monthly": {
|
|
571
|
+
"type": "boolean",
|
|
572
|
+
"required": true
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
"parts": [],
|
|
579
|
+
"netplay": {
|
|
580
|
+
"v": 1,
|
|
581
|
+
"public": true,
|
|
582
|
+
"version": "1",
|
|
583
|
+
"params": [
|
|
584
|
+
"role",
|
|
585
|
+
"surface",
|
|
586
|
+
"ticket"
|
|
587
|
+
]
|
|
588
|
+
},
|
|
589
|
+
"playerCard": false,
|
|
590
|
+
"chat": false,
|
|
591
|
+
"agents": {
|
|
592
|
+
"vote": false
|
|
593
|
+
},
|
|
594
|
+
"watch": "overview",
|
|
595
|
+
"screen": {
|
|
596
|
+
"join": "bottom-right",
|
|
597
|
+
"share": "top-right"
|
|
598
|
+
},
|
|
599
|
+
"needs": {
|
|
600
|
+
"three": "0.185.1",
|
|
601
|
+
"@homie-rocks/camera": "0.2.1",
|
|
602
|
+
"@homie-rocks/geom": "0.1.1",
|
|
603
|
+
"@types/three": "0.185.1"
|
|
604
|
+
},
|
|
605
|
+
"check": {
|
|
606
|
+
"action": "[data-action]",
|
|
607
|
+
"observe": "[data-count]"
|
|
608
|
+
},
|
|
609
|
+
"landing": {
|
|
610
|
+
"pitch": "A casual three-question quiz. Play along on your phone."
|
|
611
|
+
},
|
|
612
|
+
"room": {
|
|
613
|
+
"host": "server"
|
|
614
|
+
},
|
|
615
|
+
"players": {
|
|
616
|
+
"min": 1,
|
|
617
|
+
"max": 32
|
|
618
|
+
},
|
|
619
|
+
"starter": {
|
|
620
|
+
"kind": "quiz",
|
|
621
|
+
"choices": [
|
|
622
|
+
"Venus",
|
|
623
|
+
"Mars",
|
|
624
|
+
"Jupiter"
|
|
625
|
+
],
|
|
626
|
+
"color": "#562f49",
|
|
627
|
+
"currency": "CAD",
|
|
628
|
+
"goal": 2500,
|
|
629
|
+
"questions": [
|
|
630
|
+
{
|
|
631
|
+
"text": "Which planet is called the red planet?",
|
|
632
|
+
"choices": [
|
|
633
|
+
"Venus",
|
|
634
|
+
"Mars",
|
|
635
|
+
"Jupiter"
|
|
636
|
+
]
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"text": "How many sides does a hexagon have?",
|
|
640
|
+
"choices": [
|
|
641
|
+
"5",
|
|
642
|
+
"6",
|
|
643
|
+
"8"
|
|
644
|
+
]
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"text": "Which is a mammal?",
|
|
648
|
+
"choices": [
|
|
649
|
+
"Dolphin",
|
|
650
|
+
"Trout",
|
|
651
|
+
"Octopus"
|
|
652
|
+
]
|
|
653
|
+
}
|
|
654
|
+
]
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
"files": {
|
|
658
|
+
"README.md": "b3ddd6fd72c82497540b118e7dceea5eaa6a7270bd5127624b1468d7d14e41f0",
|
|
659
|
+
"app.json": "2dbfa28e532856f376a22bf25bd2ed0f9acf01871d709fcef1c85f1d7ee488d1",
|
|
660
|
+
"index.html": "5fccd2617ca0c72b8ec4ff23e64f3f08abaaea6ee42dd44e4c9f34fb1de04379",
|
|
661
|
+
"map/main.json": "907af046f8c35f59b01f6dc386d107edc59581193ccfdf9740e45b43b3bb9ce3",
|
|
662
|
+
"src/move.ts": "d153feae887a69e7132b640429e8855185ee3ae4dd17e9c1f786e929261f1953",
|
|
663
|
+
"src/rules.ts": "178133ef87416f98df2ffb51bdaec20c934e5554ad267b0c21a9cdcb51113ff5",
|
|
664
|
+
"src/view.ts": "875495123bcbc54eddfc0dc6e343892bfc6b7be5c62f326215ce4f028b0c9b89"
|
|
665
|
+
}
|
|
666
|
+
},
|
|
667
|
+
"jobs": {
|
|
668
|
+
"meta": {
|
|
669
|
+
"id": "jobs",
|
|
670
|
+
"name": "At your service",
|
|
671
|
+
"blurb": "Request a service. The team confirms your booking and updates the board.",
|
|
672
|
+
"entry": "src/view.ts",
|
|
673
|
+
"roles": {
|
|
674
|
+
"customer": {
|
|
675
|
+
"signIn": false,
|
|
676
|
+
"can": [
|
|
677
|
+
"read:entries",
|
|
678
|
+
"create:entries"
|
|
679
|
+
]
|
|
680
|
+
},
|
|
681
|
+
"wall": {
|
|
682
|
+
"signIn": false,
|
|
683
|
+
"can": [
|
|
684
|
+
"read:entries"
|
|
685
|
+
]
|
|
686
|
+
},
|
|
687
|
+
"staff": {
|
|
688
|
+
"signIn": true,
|
|
689
|
+
"can": [
|
|
690
|
+
"read:entries",
|
|
691
|
+
"update:entries",
|
|
692
|
+
"delete:entries"
|
|
693
|
+
]
|
|
694
|
+
}
|
|
695
|
+
},
|
|
696
|
+
"surfaces": {
|
|
697
|
+
"phone": "customer",
|
|
698
|
+
"wall": "wall",
|
|
699
|
+
"kiosk": "customer",
|
|
700
|
+
"tablet": "staff"
|
|
701
|
+
},
|
|
702
|
+
"words": {
|
|
703
|
+
"open": "Open",
|
|
704
|
+
"join": "Scan to join",
|
|
705
|
+
"one": "person",
|
|
706
|
+
"many": "people",
|
|
707
|
+
"action": "Request booking",
|
|
708
|
+
"total": "Requests",
|
|
709
|
+
"choice": "Choose an option",
|
|
710
|
+
"monthly": "Gift frequency",
|
|
711
|
+
"once": "One time",
|
|
712
|
+
"month": "Monthly",
|
|
713
|
+
"give": "Give securely on Stripe",
|
|
714
|
+
"goal": "Intention goal \u00b7 not payments received",
|
|
715
|
+
"prompt": "Choose what works for you.",
|
|
716
|
+
"finished": "All three answers are in. Thank you!",
|
|
717
|
+
"complete": "Mark complete",
|
|
718
|
+
"done": "Complete",
|
|
719
|
+
"pending": "Requested",
|
|
720
|
+
"thanks": "Thank you \u2014 the wall is up to date.",
|
|
721
|
+
"live": "Together \u00b7 live",
|
|
722
|
+
"reconnecting": "Reconnecting\u2026"
|
|
723
|
+
},
|
|
724
|
+
"records": {
|
|
725
|
+
"persist": true,
|
|
726
|
+
"collections": {
|
|
727
|
+
"entries": {
|
|
728
|
+
"fields": {
|
|
729
|
+
"choice": {
|
|
730
|
+
"type": "string",
|
|
731
|
+
"required": true,
|
|
732
|
+
"maxLength": 100
|
|
733
|
+
},
|
|
734
|
+
"status": {
|
|
735
|
+
"type": "string",
|
|
736
|
+
"required": true,
|
|
737
|
+
"maxLength": 60
|
|
738
|
+
},
|
|
739
|
+
"amount": {
|
|
740
|
+
"type": "number",
|
|
741
|
+
"required": true
|
|
742
|
+
},
|
|
743
|
+
"monthly": {
|
|
744
|
+
"type": "boolean",
|
|
745
|
+
"required": true
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
"parts": [],
|
|
752
|
+
"netplay": {
|
|
753
|
+
"v": 1,
|
|
754
|
+
"public": true,
|
|
755
|
+
"version": "1",
|
|
756
|
+
"params": [
|
|
757
|
+
"role",
|
|
758
|
+
"surface",
|
|
759
|
+
"ticket"
|
|
760
|
+
]
|
|
761
|
+
},
|
|
762
|
+
"playerCard": false,
|
|
763
|
+
"chat": false,
|
|
764
|
+
"agents": {
|
|
765
|
+
"vote": false
|
|
766
|
+
},
|
|
767
|
+
"watch": "overview",
|
|
768
|
+
"screen": {
|
|
769
|
+
"join": "bottom-right",
|
|
770
|
+
"share": "top-right"
|
|
771
|
+
},
|
|
772
|
+
"needs": {
|
|
773
|
+
"three": "0.185.1",
|
|
774
|
+
"@homie-rocks/camera": "0.2.1",
|
|
775
|
+
"@homie-rocks/geom": "0.1.1",
|
|
776
|
+
"@types/three": "0.185.1"
|
|
777
|
+
},
|
|
778
|
+
"check": {
|
|
779
|
+
"action": "[data-action]",
|
|
780
|
+
"observe": "[data-count]"
|
|
781
|
+
},
|
|
782
|
+
"landing": {
|
|
783
|
+
"pitch": "Request a service. The team confirms your booking and updates the board."
|
|
784
|
+
},
|
|
785
|
+
"room": {
|
|
786
|
+
"host": "server"
|
|
787
|
+
},
|
|
788
|
+
"players": {
|
|
789
|
+
"min": 1,
|
|
790
|
+
"max": 32
|
|
791
|
+
},
|
|
792
|
+
"starter": {
|
|
793
|
+
"kind": "jobs",
|
|
794
|
+
"choices": [
|
|
795
|
+
"Safety check",
|
|
796
|
+
"Tune-up",
|
|
797
|
+
"Full service"
|
|
798
|
+
],
|
|
799
|
+
"color": "#183b55",
|
|
800
|
+
"currency": "CAD",
|
|
801
|
+
"goal": 2500,
|
|
802
|
+
"questions": [
|
|
803
|
+
{
|
|
804
|
+
"text": "Which planet is called the red planet?",
|
|
805
|
+
"choices": [
|
|
806
|
+
"Venus",
|
|
807
|
+
"Mars",
|
|
808
|
+
"Jupiter"
|
|
809
|
+
]
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"text": "How many sides does a hexagon have?",
|
|
813
|
+
"choices": [
|
|
814
|
+
"5",
|
|
815
|
+
"6",
|
|
816
|
+
"8"
|
|
817
|
+
]
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"text": "Which is a mammal?",
|
|
821
|
+
"choices": [
|
|
822
|
+
"Dolphin",
|
|
823
|
+
"Trout",
|
|
824
|
+
"Octopus"
|
|
825
|
+
]
|
|
826
|
+
}
|
|
827
|
+
]
|
|
828
|
+
}
|
|
829
|
+
},
|
|
830
|
+
"files": {
|
|
831
|
+
"README.md": "86f7dff04855fa53ac0d96497d232a6552c14c0afb854016c0e27f284992a8d4",
|
|
832
|
+
"app.json": "7c09bc7ead83b7a2facb89eb78d384231babdcd4175a0c25652cd5454a9ea45e",
|
|
833
|
+
"index.html": "5fccd2617ca0c72b8ec4ff23e64f3f08abaaea6ee42dd44e4c9f34fb1de04379",
|
|
834
|
+
"map/main.json": "907af046f8c35f59b01f6dc386d107edc59581193ccfdf9740e45b43b3bb9ce3",
|
|
835
|
+
"src/move.ts": "d153feae887a69e7132b640429e8855185ee3ae4dd17e9c1f786e929261f1953",
|
|
836
|
+
"src/rules.ts": "178133ef87416f98df2ffb51bdaec20c934e5554ad267b0c21a9cdcb51113ff5",
|
|
837
|
+
"src/view.ts": "875495123bcbc54eddfc0dc6e343892bfc6b7be5c62f326215ce4f028b0c9b89"
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
}
|