ball2d 0.1.1 → 0.2.1

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.
Files changed (59) hide show
  1. package/LICENSE +42 -0
  2. package/README.md +193 -138
  3. package/dist/browser.js +1737 -1206
  4. package/dist/core.wasm +0 -0
  5. package/dist/node.js +104 -43358
  6. package/dist/stadiums/big.hbs +515 -85
  7. package/dist/stadiums/big_easy.hbs +515 -85
  8. package/dist/stadiums/big_hockey.hbs +612 -87
  9. package/dist/stadiums/big_rounded.hbs +611 -100
  10. package/dist/stadiums/classic.hbs +515 -85
  11. package/dist/stadiums/easy.hbs +515 -85
  12. package/dist/stadiums/hockey.hbs +612 -87
  13. package/dist/stadiums/huge.hbs +515 -85
  14. package/dist/stadiums/provenance.json +24 -22
  15. package/dist/stadiums/rounded.hbs +611 -100
  16. package/dist/stadiums/small.hbs +515 -85
  17. package/dist/types/announcement.d.ts +1 -0
  18. package/dist/types/browser.d.ts +10 -0
  19. package/dist/types/config.d.ts +9 -0
  20. package/dist/types/disc.d.ts +4 -0
  21. package/dist/types/{core/match-state.d.ts → match-state.d.ts} +2 -0
  22. package/dist/types/node.d.ts +15 -0
  23. package/dist/types/{core/host-types.d.ts → player.d.ts} +3 -1
  24. package/dist/types/{core/replay-types.d.ts → replay.d.ts} +3 -3
  25. package/dist/types/{sdk/types.d.ts → room.d.ts} +9 -4
  26. package/dist/types/stadium.d.ts +5 -0
  27. package/dist/types/team.d.ts +6 -0
  28. package/package.json +28 -6
  29. package/dist/types/client/announcement.d.ts +0 -10
  30. package/dist/types/client/connection-stats.d.ts +0 -11
  31. package/dist/types/client/headless.d.ts +0 -130
  32. package/dist/types/client/host-config.d.ts +0 -11
  33. package/dist/types/client/host-runtime.d.ts +0 -10
  34. package/dist/types/client/network-runtime.d.ts +0 -8
  35. package/dist/types/client/network.d.ts +0 -91
  36. package/dist/types/client/stadium-library.d.ts +0 -4
  37. package/dist/types/client/startup-scope.d.ts +0 -6
  38. package/dist/types/client/traffic.d.ts +0 -9
  39. package/dist/types/core/avatar.d.ts +0 -2
  40. package/dist/types/core/build-id.d.ts +0 -2
  41. package/dist/types/core/control.d.ts +0 -5
  42. package/dist/types/core/disc-properties.d.ts +0 -7
  43. package/dist/types/core/engine.d.ts +0 -68
  44. package/dist/types/core/protocol.d.ts +0 -24
  45. package/dist/types/core/replay-codec.d.ts +0 -6
  46. package/dist/types/core/replay-wire.d.ts +0 -5
  47. package/dist/types/core/replay.d.ts +0 -48
  48. package/dist/types/core/stadium.d.ts +0 -91
  49. package/dist/types/core/team-colors.d.ts +0 -8
  50. package/dist/types/sdk/browser.d.ts +0 -11
  51. package/dist/types/sdk/command-queue.d.ts +0 -11
  52. package/dist/types/sdk/config.d.ts +0 -6
  53. package/dist/types/sdk/node-transport.d.ts +0 -4
  54. package/dist/types/sdk/node.d.ts +0 -18
  55. package/dist/types/sdk/replay.d.ts +0 -4
  56. package/dist/types/sdk/room.d.ts +0 -7
  57. package/dist/types/sdk/stadium.d.ts +0 -9
  58. package/dist/types/shared/room-link.d.ts +0 -6
  59. /package/dist/types/{sdk/create-options.d.ts → creation.d.ts} +0 -0
@@ -1,85 +1,515 @@
1
- {
2
- "name" : "Huge",
3
-
4
- "width" : 800,
5
- "height" : 350,
6
-
7
- "spawnDistance" : 350,
8
-
9
- "bg" : { "type" : "grass", "width" : 700, "height" : 320, "kickOffRadius" : 80, "cornerRadius" : 0 },
10
-
11
- "vertexes" : [
12
- { "x" : -700, "y" : 320, "trait" : "ballArea" },
13
- { "x" : -700, "y" : 100, "trait" : "ballArea" },
14
- { "x" : -700, "y" : -100, "trait" : "ballArea" },
15
- { "x" : -700, "y" : -320, "trait" : "ballArea" },
16
-
17
- { "x" : 700, "y" : 320, "trait" : "ballArea" },
18
- { "x" : 700, "y" : 100, "trait" : "ballArea" },
19
- { "x" : 700, "y" : -100, "trait" : "ballArea" },
20
- { "x" : 700, "y" : -320, "trait" : "ballArea" },
21
-
22
- { "x" : 0, "y" : 350, "trait" : "kickOffBarrier" },
23
- { "x" : 0, "y" : 80, "trait" : "kickOffBarrier" },
24
- { "x" : 0, "y" : -80, "trait" : "kickOffBarrier" },
25
- { "x" : 0, "y" : -350, "trait" : "kickOffBarrier" },
26
-
27
- { "x" : -710, "y" : -100, "trait" : "goalNet" },
28
- { "x" : -730, "y" : -80, "trait" : "goalNet" },
29
- { "x" : -730, "y" : 80, "trait" : "goalNet" },
30
- { "x" : -710, "y" : 100, "trait" : "goalNet" },
31
-
32
- { "x" : 710, "y" : -100, "trait" : "goalNet" },
33
- { "x" : 730, "y" : -80, "trait" : "goalNet" },
34
- { "x" : 730, "y" : 80, "trait" : "goalNet" },
35
- { "x" : 710, "y" : 100, "trait" : "goalNet" }
36
- ],
37
-
38
- "segments" : [
39
- { "v0" : 0, "v1" : 1, "trait" : "ballArea" },
40
- { "v0" : 2, "v1" : 3, "trait" : "ballArea" },
41
- { "v0" : 4, "v1" : 5, "trait" : "ballArea" },
42
- { "v0" : 6, "v1" : 7, "trait" : "ballArea" },
43
-
44
- { "v0" : 12, "v1" : 13, "trait" : "goalNet", "curve" : -90 },
45
- { "v0" : 13, "v1" : 14, "trait" : "goalNet" },
46
- { "v0" : 14, "v1" : 15, "trait" : "goalNet", "curve" : -90 },
47
-
48
- { "v0" : 16, "v1" : 17, "trait" : "goalNet", "curve" : 90 },
49
- { "v0" : 17, "v1" : 18, "trait" : "goalNet" },
50
- { "v0" : 18, "v1" : 19, "trait" : "goalNet", "curve" : 90 },
51
-
52
- { "v0" : 8, "v1" : 9, "trait" : "kickOffBarrier" },
53
- { "v0" : 9, "v1" : 10, "trait" : "kickOffBarrier", "curve" : 180, "cGroup" : ["blueKO"] },
54
- { "v0" : 9, "v1" : 10, "trait" : "kickOffBarrier", "curve" : -180, "cGroup" : ["redKO"] },
55
- { "v0" : 10, "v1" : 11, "trait" : "kickOffBarrier" }
56
- ],
57
-
58
- "goals" : [
59
- { "p0" : [-700, 100], "p1" : [-700,-100], "team" : "red" },
60
- { "p0" : [700, 100], "p1" : [700,-100], "team" : "blue" }
61
- ],
62
-
63
- "discs" : [
64
- { "pos" : [-700, 100], "trait" : "goalPost", "color" : "FFCCCC" },
65
- { "pos" : [-700, -100], "trait" : "goalPost", "color" : "FFCCCC" },
66
- { "pos" : [ 700, 100], "trait" : "goalPost", "color" : "CCCCFF" },
67
- { "pos" : [ 700, -100], "trait" : "goalPost", "color" : "CCCCFF" }
68
- ],
69
-
70
- "planes" : [
71
- { "normal" : [0, 1], "dist" : -320, "trait" : "ballArea" },
72
- { "normal" : [0,-1], "dist" : -320, "trait" : "ballArea" },
73
- { "normal" : [ 0, 1], "dist" : -350, "bCoef" : 0.1 },
74
- { "normal" : [ 0,-1], "dist" : -350, "bCoef" : 0.1 },
75
- { "normal" : [ 1, 0], "dist" : -800, "bCoef" : 0.1 },
76
- { "normal" : [-1, 0], "dist" : -800, "bCoef" : 0.1 }
77
- ],
78
-
79
- "traits" : {
80
- "ballArea" : { "vis" : false, "bCoef" : 1, "cMask" : ["ball"] },
81
- "goalPost" : { "radius" : 8, "invMass" : 0, "bCoef" : 0.5 },
82
- "goalNet" : { "vis" : true, "bCoef" : 0.1, "cMask" : ["ball"] },
83
- "kickOffBarrier" : { "vis" : false, "bCoef" : 0.1, "cGroup" : ["redKO", "blueKO"], "cMask" : ["red", "blue"] }
84
- }
85
- }
1
+ {
2
+ "version": 1,
3
+ "physicsMode": "substeps",
4
+ "name": "Huge",
5
+ "width": 715,
6
+ "height": 375,
7
+ "spawnDistance": 256,
8
+ "bg": {
9
+ "type": "grass",
10
+ "width": 640,
11
+ "height": 310,
12
+ "kickOffRadius": 65,
13
+ "color": "285B35",
14
+ "cornerRadius": 0
15
+ },
16
+ "vertexes": [
17
+ {
18
+ "x": -640,
19
+ "y": -310,
20
+ "cMask": [
21
+ "ball"
22
+ ]
23
+ },
24
+ {
25
+ "x": 640,
26
+ "y": -310,
27
+ "cMask": [
28
+ "ball"
29
+ ]
30
+ },
31
+ {
32
+ "x": 640,
33
+ "y": -310,
34
+ "cMask": [
35
+ "ball"
36
+ ]
37
+ },
38
+ {
39
+ "x": 640,
40
+ "y": -90,
41
+ "cMask": [
42
+ "ball"
43
+ ]
44
+ },
45
+ {
46
+ "x": 640,
47
+ "y": 90,
48
+ "cMask": [
49
+ "ball"
50
+ ]
51
+ },
52
+ {
53
+ "x": 640,
54
+ "y": 310,
55
+ "cMask": [
56
+ "ball"
57
+ ]
58
+ },
59
+ {
60
+ "x": 640,
61
+ "y": 310,
62
+ "cMask": [
63
+ "ball"
64
+ ]
65
+ },
66
+ {
67
+ "x": -640,
68
+ "y": 310,
69
+ "cMask": [
70
+ "ball"
71
+ ]
72
+ },
73
+ {
74
+ "x": -640,
75
+ "y": 310,
76
+ "cMask": [
77
+ "ball"
78
+ ]
79
+ },
80
+ {
81
+ "x": -640,
82
+ "y": 90,
83
+ "cMask": [
84
+ "ball"
85
+ ]
86
+ },
87
+ {
88
+ "x": -640,
89
+ "y": -90,
90
+ "cMask": [
91
+ "ball"
92
+ ]
93
+ },
94
+ {
95
+ "x": -640,
96
+ "y": -310,
97
+ "cMask": [
98
+ "ball"
99
+ ]
100
+ },
101
+ {
102
+ "x": -640,
103
+ "y": -90,
104
+ "cMask": [
105
+ "ball"
106
+ ]
107
+ },
108
+ {
109
+ "x": -670,
110
+ "y": -90,
111
+ "cMask": [
112
+ "ball"
113
+ ]
114
+ },
115
+ {
116
+ "x": -670,
117
+ "y": -90,
118
+ "cMask": [
119
+ "ball"
120
+ ]
121
+ },
122
+ {
123
+ "x": -670,
124
+ "y": 90,
125
+ "cMask": [
126
+ "ball"
127
+ ]
128
+ },
129
+ {
130
+ "x": -670,
131
+ "y": 90,
132
+ "cMask": [
133
+ "ball"
134
+ ]
135
+ },
136
+ {
137
+ "x": -640,
138
+ "y": 90,
139
+ "cMask": [
140
+ "ball"
141
+ ]
142
+ },
143
+ {
144
+ "x": 640,
145
+ "y": -90,
146
+ "cMask": [
147
+ "ball"
148
+ ]
149
+ },
150
+ {
151
+ "x": 670,
152
+ "y": -90,
153
+ "cMask": [
154
+ "ball"
155
+ ]
156
+ },
157
+ {
158
+ "x": 670,
159
+ "y": -90,
160
+ "cMask": [
161
+ "ball"
162
+ ]
163
+ },
164
+ {
165
+ "x": 670,
166
+ "y": 90,
167
+ "cMask": [
168
+ "ball"
169
+ ]
170
+ },
171
+ {
172
+ "x": 670,
173
+ "y": 90,
174
+ "cMask": [
175
+ "ball"
176
+ ]
177
+ },
178
+ {
179
+ "x": 640,
180
+ "y": 90,
181
+ "cMask": [
182
+ "ball"
183
+ ]
184
+ },
185
+ {
186
+ "x": 0,
187
+ "y": -350,
188
+ "cGroup": [
189
+ "redKO",
190
+ "blueKO"
191
+ ],
192
+ "cMask": [
193
+ "red",
194
+ "blue"
195
+ ]
196
+ },
197
+ {
198
+ "x": 0,
199
+ "y": -65,
200
+ "cGroup": [
201
+ "redKO",
202
+ "blueKO"
203
+ ],
204
+ "cMask": [
205
+ "red",
206
+ "blue"
207
+ ]
208
+ },
209
+ {
210
+ "x": 0,
211
+ "y": 65,
212
+ "cGroup": [
213
+ "redKO",
214
+ "blueKO"
215
+ ],
216
+ "cMask": [
217
+ "red",
218
+ "blue"
219
+ ]
220
+ },
221
+ {
222
+ "x": 0,
223
+ "y": 350,
224
+ "cGroup": [
225
+ "redKO",
226
+ "blueKO"
227
+ ],
228
+ "cMask": [
229
+ "red",
230
+ "blue"
231
+ ]
232
+ }
233
+ ],
234
+ "segments": [
235
+ {
236
+ "v0": 0,
237
+ "v1": 1,
238
+ "curve": 0,
239
+ "cMask": [
240
+ "ball"
241
+ ],
242
+ "color": "72A99C",
243
+ "bCoef": 0.8
244
+ },
245
+ {
246
+ "v0": 2,
247
+ "v1": 3,
248
+ "curve": 0,
249
+ "cMask": [
250
+ "ball"
251
+ ],
252
+ "color": "72A99C",
253
+ "bCoef": 0.8
254
+ },
255
+ {
256
+ "v0": 4,
257
+ "v1": 5,
258
+ "curve": 0,
259
+ "cMask": [
260
+ "ball"
261
+ ],
262
+ "color": "72A99C",
263
+ "bCoef": 0.8
264
+ },
265
+ {
266
+ "v0": 6,
267
+ "v1": 7,
268
+ "curve": 0,
269
+ "cMask": [
270
+ "ball"
271
+ ],
272
+ "color": "72A99C",
273
+ "bCoef": 0.8
274
+ },
275
+ {
276
+ "v0": 8,
277
+ "v1": 9,
278
+ "curve": 0,
279
+ "cMask": [
280
+ "ball"
281
+ ],
282
+ "color": "72A99C",
283
+ "bCoef": 0.8
284
+ },
285
+ {
286
+ "v0": 10,
287
+ "v1": 11,
288
+ "curve": 0,
289
+ "cMask": [
290
+ "ball"
291
+ ],
292
+ "color": "72A99C",
293
+ "bCoef": 0.8
294
+ },
295
+ {
296
+ "v0": 12,
297
+ "v1": 13,
298
+ "curve": 0,
299
+ "cMask": [
300
+ "ball"
301
+ ],
302
+ "color": "3D7267",
303
+ "bCoef": 0.15
304
+ },
305
+ {
306
+ "v0": 14,
307
+ "v1": 15,
308
+ "curve": 0,
309
+ "cMask": [
310
+ "ball"
311
+ ],
312
+ "color": "3D7267",
313
+ "bCoef": 0.15
314
+ },
315
+ {
316
+ "v0": 16,
317
+ "v1": 17,
318
+ "curve": 0,
319
+ "cMask": [
320
+ "ball"
321
+ ],
322
+ "color": "3D7267",
323
+ "bCoef": 0.15
324
+ },
325
+ {
326
+ "v0": 18,
327
+ "v1": 19,
328
+ "curve": 0,
329
+ "cMask": [
330
+ "ball"
331
+ ],
332
+ "color": "3D7267",
333
+ "bCoef": 0.15
334
+ },
335
+ {
336
+ "v0": 20,
337
+ "v1": 21,
338
+ "curve": 0,
339
+ "cMask": [
340
+ "ball"
341
+ ],
342
+ "color": "3D7267",
343
+ "bCoef": 0.15
344
+ },
345
+ {
346
+ "v0": 22,
347
+ "v1": 23,
348
+ "curve": 0,
349
+ "cMask": [
350
+ "ball"
351
+ ],
352
+ "color": "3D7267",
353
+ "bCoef": 0.15
354
+ },
355
+ {
356
+ "v0": 24,
357
+ "v1": 25,
358
+ "vis": false,
359
+ "cGroup": [
360
+ "redKO",
361
+ "blueKO"
362
+ ],
363
+ "cMask": [
364
+ "red",
365
+ "blue"
366
+ ]
367
+ },
368
+ {
369
+ "v0": 26,
370
+ "v1": 27,
371
+ "vis": false,
372
+ "cGroup": [
373
+ "redKO",
374
+ "blueKO"
375
+ ],
376
+ "cMask": [
377
+ "red",
378
+ "blue"
379
+ ]
380
+ },
381
+ {
382
+ "v0": 26,
383
+ "v1": 25,
384
+ "curve": -180,
385
+ "vis": false,
386
+ "cGroup": [
387
+ "redKO"
388
+ ],
389
+ "cMask": [
390
+ "red",
391
+ "blue"
392
+ ]
393
+ },
394
+ {
395
+ "v0": 26,
396
+ "v1": 25,
397
+ "curve": 180,
398
+ "vis": false,
399
+ "cGroup": [
400
+ "blueKO"
401
+ ],
402
+ "cMask": [
403
+ "red",
404
+ "blue"
405
+ ]
406
+ }
407
+ ],
408
+ "planes": [
409
+ {
410
+ "normal": [
411
+ 0,
412
+ 1
413
+ ],
414
+ "dist": -350
415
+ },
416
+ {
417
+ "normal": [
418
+ 0,
419
+ -1
420
+ ],
421
+ "dist": -350
422
+ },
423
+ {
424
+ "normal": [
425
+ 1,
426
+ 0
427
+ ],
428
+ "dist": -690
429
+ },
430
+ {
431
+ "normal": [
432
+ -1,
433
+ 0
434
+ ],
435
+ "dist": -690
436
+ }
437
+ ],
438
+ "goals": [
439
+ {
440
+ "p0": [
441
+ -640,
442
+ -90
443
+ ],
444
+ "p1": [
445
+ -640,
446
+ 90
447
+ ],
448
+ "team": "red"
449
+ },
450
+ {
451
+ "p0": [
452
+ 640,
453
+ -90
454
+ ],
455
+ "p1": [
456
+ 640,
457
+ 90
458
+ ],
459
+ "team": "blue"
460
+ }
461
+ ],
462
+ "discs": [
463
+ {
464
+ "pos": [
465
+ -640,
466
+ -90
467
+ ],
468
+ "radius": 6,
469
+ "invMass": 0,
470
+ "color": "DAEEE4",
471
+ "bCoef": 0.5
472
+ },
473
+ {
474
+ "pos": [
475
+ -640,
476
+ 90
477
+ ],
478
+ "radius": 6,
479
+ "invMass": 0,
480
+ "color": "DAEEE4",
481
+ "bCoef": 0.5
482
+ },
483
+ {
484
+ "pos": [
485
+ 640,
486
+ -90
487
+ ],
488
+ "radius": 6,
489
+ "invMass": 0,
490
+ "color": "DAEEE4",
491
+ "bCoef": 0.5
492
+ },
493
+ {
494
+ "pos": [
495
+ 640,
496
+ 90
497
+ ],
498
+ "radius": 6,
499
+ "invMass": 0,
500
+ "color": "DAEEE4",
501
+ "bCoef": 0.5
502
+ }
503
+ ],
504
+ "ballPhysics": {
505
+ "radius": 9,
506
+ "damping": 0.991,
507
+ "bCoef": 0.6
508
+ },
509
+ "playerPhysics": {
510
+ "radius": 15,
511
+ "acceleration": 0.11,
512
+ "damping": 0.96,
513
+ "kickStrength": 5.5
514
+ }
515
+ }
@@ -1,46 +1,48 @@
1
1
  {
2
- "source": "https://github.com/haxball/haxball-issues/tree/master/stadiums",
3
- "commit": "d3154004b7ef1c41788dde754d8b6bbf38a0a091",
2
+ "author": "Ball2D",
3
+ "source": "Ball2D procedural arena designs",
4
+ "generator": "scripts/generate-stadiums.mjs",
5
+ "version": 1,
4
6
  "files": [
5
7
  {
6
- "file": "big.hbs",
7
- "sha256": "0b325750b6c21677c8a7d3a5d7b17466a4f7c6cceeb43748a79fbaf224cf751c"
8
+ "file": "classic.hbs",
9
+ "sha256": "e22c340c61ff34f97d8877d2c862a4374e4d3de0b78a6830ca509c214a4bfb12"
8
10
  },
9
11
  {
10
- "file": "big_easy.hbs",
11
- "sha256": "8cc9b06cf10d114c1285790ad7fc77dda37fbcec21f6cca3d0ca2d4040443d03"
12
+ "file": "easy.hbs",
13
+ "sha256": "df2a587382319fa241d0125cd75306f45f113ee8c4e3f152237887c7a8b348a2"
12
14
  },
13
15
  {
14
- "file": "big_hockey.hbs",
15
- "sha256": "bc008f5bac3b3f39084d12b53b07c54a28df8032c765da23b5c08c0acc53319c"
16
+ "file": "small.hbs",
17
+ "sha256": "449bed77732c0480285e22aa2e4ee019855ac6866faff5ac1302f118e6b7ea96"
16
18
  },
17
19
  {
18
- "file": "big_rounded.hbs",
19
- "sha256": "55d967ceb06d6774bc0be30b22af283b0fe0d690bcc8b9052c5555a19d27ec70"
20
+ "file": "big.hbs",
21
+ "sha256": "79d4077a1889d83ac1f3adc60481e93ddaa9c9dba6d51a56390385731bb873da"
20
22
  },
21
23
  {
22
- "file": "classic.hbs",
23
- "sha256": "e37799568e4fbdc04f64bcebc8b62825d426bf418ca1e0274f26d6aac204c3c8"
24
+ "file": "rounded.hbs",
25
+ "sha256": "b868882609345e6a9a59416df78b44e656516edb415ecf6780a5e8e1c201243b"
24
26
  },
25
27
  {
26
- "file": "easy.hbs",
27
- "sha256": "60fcc0863d68b847dd0fcb8037aa9f0d78451683591a72dfae6a6190dce13cd8"
28
+ "file": "hockey.hbs",
29
+ "sha256": "7b51005c145e19c81afe01e6ccface23b78251bdb89c2650bb6cbb23a494c9cc"
28
30
  },
29
31
  {
30
- "file": "hockey.hbs",
31
- "sha256": "4e040662c3da6e1afa42cab93ffe8985497dabc1512ed81643b3ac157564713e"
32
+ "file": "big_easy.hbs",
33
+ "sha256": "884b24d3040e2a4c621e51ce9e43ee2d8a0c3f565e920311e7aa96d79db680ff"
32
34
  },
33
35
  {
34
- "file": "huge.hbs",
35
- "sha256": "704eb73b2e198e792a04badbf1f97212d361e184481d676d092b5181733c62c9"
36
+ "file": "big_rounded.hbs",
37
+ "sha256": "fbb3b837de61278292ad2eef5f407967fe867feff4dba087fdd3e1fd21474fd8"
36
38
  },
37
39
  {
38
- "file": "rounded.hbs",
39
- "sha256": "287cef71daac552256b06a29c103aedb9ce26177bf85b9bab00da13e0b3cfcd2"
40
+ "file": "big_hockey.hbs",
41
+ "sha256": "d01e9a3baf8fcf94fe12d8752d3e93c0d7ecaa4bd74d9525d1905c041655fffd"
40
42
  },
41
43
  {
42
- "file": "small.hbs",
43
- "sha256": "757a35605d65a2f610992bd8c87e2b6396845e4f8996786bccd29661b025fb13"
44
+ "file": "huge.hbs",
45
+ "sha256": "8df81e479ba27c1c166720ae315ef926b89b9615e7851cc4281c9d5a74adc629"
44
46
  }
45
47
  ]
46
48
  }