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,87 +1,612 @@
1
- {
2
- "name" : "Hockey",
3
-
4
- "width" : 420,
5
- "height" : 204,
6
-
7
- "spawnDistance" : 180,
8
-
9
- "bg" : { "type" : "hockey", "width" : 398, "height" : 182, "kickOffRadius" : 75, "cornerRadius" : 100, "goalLine" : 120 },
10
-
11
- "vertexes" : [
12
- { "x" : 0, "y" : 204, "trait" : "kickOffBarrier" },
13
- { "x" : 0, "y" : 75, "trait" : "kickOffBarrier" },
14
- { "x" : 0, "y" : -75, "trait" : "kickOffBarrier" },
15
- { "x" : 0, "y" : -204, "trait" : "kickOffBarrier" },
16
-
17
- { "x" : -288, "y" : -68, "trait" : "goalNet" },
18
- { "x" : -308, "y" : -44, "trait" : "goalNet" },
19
- { "x" : -308, "y" : 44, "trait" : "goalNet" },
20
- { "x" : -288, "y" : 68, "trait" : "goalNet" },
21
-
22
- { "x" : 288, "y" : -68, "trait" : "goalNet" },
23
- { "x" : 308, "y" : -44, "trait" : "goalNet" },
24
- { "x" : 308, "y" : 44, "trait" : "goalNet" },
25
- { "x" : 288, "y" : 68, "trait" : "goalNet" },
26
-
27
- { "x" : -295, "y" : -182, "trait" : "ballArea" },
28
- { "x" : -398, "y" : -95, "trait" : "ballArea" },
29
- { "x" : -398, "y" : 95, "trait" : "ballArea" },
30
- { "x" : -295, "y" : 182, "trait" : "ballArea" },
31
-
32
- { "x" : 295, "y" : -182, "trait" : "ballArea" },
33
- { "x" : 398, "y" : -95, "trait" : "ballArea" },
34
- { "x" : 398, "y" : 95, "trait" : "ballArea" },
35
- { "x" : 295, "y" : 182, "trait" : "ballArea" }
36
- ],
37
-
38
- "segments" : [
39
- { "v0" : 0, "v1" : 1, "trait" : "kickOffBarrier" },
40
- { "v0" : 1, "v1" : 2, "trait" : "kickOffBarrier", "curve" : 180, "cGroup" : ["blueKO"] },
41
- { "v0" : 1, "v1" : 2, "trait" : "kickOffBarrier", "curve" : -180, "cGroup" : ["redKO"] },
42
- { "v0" : 2, "v1" : 3, "trait" : "kickOffBarrier" },
43
-
44
- { "v0" : 4, "v1" : 5, "trait" : "goalNet", "curve" : -90 },
45
- { "v0" : 5, "v1" : 6, "trait" : "goalNet" },
46
- { "v0" : 6, "v1" : 7, "trait" : "goalNet", "curve" : -90 },
47
-
48
- { "v0" : 8, "v1" : 9, "trait" : "goalNet", "curve" : 90 },
49
- { "v0" : 9, "v1" : 10, "trait" : "goalNet" },
50
- { "v0" : 10, "v1" : 11, "trait" : "goalNet", "curve" : 90 },
51
-
52
- { "v0" : 12, "v1" : 13, "trait" : "ballArea", "curve" : -90 },
53
- { "v0" : 14, "v1" : 15, "trait" : "ballArea", "curve" : -90 },
54
- { "v0" : 16, "v1" : 17, "trait" : "ballArea", "curve" : 90 },
55
- { "v0" : 18, "v1" : 19, "trait" : "ballArea", "curve" : 90 }
56
- ],
57
-
58
- "goals" : [
59
- { "p0" : [-278, 68], "p1" : [-278,-68], "team" : "red" },
60
- { "p0" : [278, 68], "p1" : [278,-68], "team" : "blue" }
61
- ],
62
-
63
- "discs" : [
64
- { "pos" : [-278, 68], "trait" : "goalPost", "color" : "FFCCCC" },
65
- { "pos" : [-278, -68], "trait" : "goalPost", "color" : "FFCCCC" },
66
- { "pos" : [ 278, 68], "trait" : "goalPost", "color" : "CCCCFF" },
67
- { "pos" : [ 278, -68], "trait" : "goalPost", "color" : "CCCCFF" }
68
- ],
69
-
70
- "planes" : [
71
- { "normal" : [0, 1], "dist" : -182, "trait" : "ballArea" },
72
- { "normal" : [0,-1], "dist" : -182, "trait" : "ballArea" },
73
- { "normal" : [ 1,0], "dist" : -398, "trait" : "ballArea" },
74
- { "normal" : [-1,0], "dist" : -398, "trait" : "ballArea" },
75
- { "normal" : [ 0, 1], "dist" : -204, "bCoef" : 0.1 },
76
- { "normal" : [ 0,-1], "dist" : -204, "bCoef" : 0.1 },
77
- { "normal" : [ 1, 0], "dist" : -420, "bCoef" : 0.1 },
78
- { "normal" : [-1, 0], "dist" : -420, "bCoef" : 0.1 }
79
- ],
80
-
81
- "traits" : {
82
- "ballArea" : { "vis" : false, "bCoef" : 1, "cMask" : ["ball"] },
83
- "goalPost" : { "radius" : 8, "invMass" : 0, "bCoef" : 0.5 },
84
- "goalNet" : { "vis" : true, "bCoef" : 0.1, "cMask" : ["all"] },
85
- "kickOffBarrier" : { "vis" : false, "bCoef" : 0.1, "cGroup" : ["redKO", "blueKO"], "cMask" : ["red", "blue"] }
86
- }
87
- }
1
+ {
2
+ "version": 1,
3
+ "physicsMode": "substeps",
4
+ "name": "Hockey",
5
+ "width": 495,
6
+ "height": 265,
7
+ "spawnDistance": 168,
8
+ "bg": {
9
+ "type": "hockey",
10
+ "width": 420,
11
+ "height": 200,
12
+ "kickOffRadius": 65,
13
+ "color": "CBDDDD",
14
+ "cornerRadius": 44
15
+ },
16
+ "vertexes": [
17
+ {
18
+ "x": -376,
19
+ "y": -200,
20
+ "cMask": [
21
+ "ball"
22
+ ]
23
+ },
24
+ {
25
+ "x": 376,
26
+ "y": -200,
27
+ "cMask": [
28
+ "ball"
29
+ ]
30
+ },
31
+ {
32
+ "x": 420,
33
+ "y": -156,
34
+ "cMask": [
35
+ "ball"
36
+ ]
37
+ },
38
+ {
39
+ "x": 420,
40
+ "y": -62,
41
+ "cMask": [
42
+ "ball"
43
+ ]
44
+ },
45
+ {
46
+ "x": 420,
47
+ "y": 62,
48
+ "cMask": [
49
+ "ball"
50
+ ]
51
+ },
52
+ {
53
+ "x": 420,
54
+ "y": 156,
55
+ "cMask": [
56
+ "ball"
57
+ ]
58
+ },
59
+ {
60
+ "x": 376,
61
+ "y": 200,
62
+ "cMask": [
63
+ "ball"
64
+ ]
65
+ },
66
+ {
67
+ "x": -376,
68
+ "y": 200,
69
+ "cMask": [
70
+ "ball"
71
+ ]
72
+ },
73
+ {
74
+ "x": -420,
75
+ "y": 156,
76
+ "cMask": [
77
+ "ball"
78
+ ]
79
+ },
80
+ {
81
+ "x": -420,
82
+ "y": 62,
83
+ "cMask": [
84
+ "ball"
85
+ ]
86
+ },
87
+ {
88
+ "x": -420,
89
+ "y": -62,
90
+ "cMask": [
91
+ "ball"
92
+ ]
93
+ },
94
+ {
95
+ "x": -420,
96
+ "y": -156,
97
+ "cMask": [
98
+ "ball"
99
+ ]
100
+ },
101
+ {
102
+ "x": 376,
103
+ "y": -200,
104
+ "cMask": [
105
+ "ball"
106
+ ]
107
+ },
108
+ {
109
+ "x": 420,
110
+ "y": -156,
111
+ "cMask": [
112
+ "ball"
113
+ ]
114
+ },
115
+ {
116
+ "x": 420,
117
+ "y": 156,
118
+ "cMask": [
119
+ "ball"
120
+ ]
121
+ },
122
+ {
123
+ "x": 376,
124
+ "y": 200,
125
+ "cMask": [
126
+ "ball"
127
+ ]
128
+ },
129
+ {
130
+ "x": -376,
131
+ "y": 200,
132
+ "cMask": [
133
+ "ball"
134
+ ]
135
+ },
136
+ {
137
+ "x": -420,
138
+ "y": 156,
139
+ "cMask": [
140
+ "ball"
141
+ ]
142
+ },
143
+ {
144
+ "x": -420,
145
+ "y": -156,
146
+ "cMask": [
147
+ "ball"
148
+ ]
149
+ },
150
+ {
151
+ "x": -376,
152
+ "y": -200,
153
+ "cMask": [
154
+ "ball"
155
+ ]
156
+ },
157
+ {
158
+ "x": -420,
159
+ "y": -62,
160
+ "cMask": [
161
+ "ball"
162
+ ]
163
+ },
164
+ {
165
+ "x": -450,
166
+ "y": -62,
167
+ "cMask": [
168
+ "ball"
169
+ ]
170
+ },
171
+ {
172
+ "x": -450,
173
+ "y": -62,
174
+ "cMask": [
175
+ "ball"
176
+ ]
177
+ },
178
+ {
179
+ "x": -450,
180
+ "y": 62,
181
+ "cMask": [
182
+ "ball"
183
+ ]
184
+ },
185
+ {
186
+ "x": -450,
187
+ "y": 62,
188
+ "cMask": [
189
+ "ball"
190
+ ]
191
+ },
192
+ {
193
+ "x": -420,
194
+ "y": 62,
195
+ "cMask": [
196
+ "ball"
197
+ ]
198
+ },
199
+ {
200
+ "x": 420,
201
+ "y": -62,
202
+ "cMask": [
203
+ "ball"
204
+ ]
205
+ },
206
+ {
207
+ "x": 450,
208
+ "y": -62,
209
+ "cMask": [
210
+ "ball"
211
+ ]
212
+ },
213
+ {
214
+ "x": 450,
215
+ "y": -62,
216
+ "cMask": [
217
+ "ball"
218
+ ]
219
+ },
220
+ {
221
+ "x": 450,
222
+ "y": 62,
223
+ "cMask": [
224
+ "ball"
225
+ ]
226
+ },
227
+ {
228
+ "x": 450,
229
+ "y": 62,
230
+ "cMask": [
231
+ "ball"
232
+ ]
233
+ },
234
+ {
235
+ "x": 420,
236
+ "y": 62,
237
+ "cMask": [
238
+ "ball"
239
+ ]
240
+ },
241
+ {
242
+ "x": 0,
243
+ "y": -240,
244
+ "cGroup": [
245
+ "redKO",
246
+ "blueKO"
247
+ ],
248
+ "cMask": [
249
+ "red",
250
+ "blue"
251
+ ]
252
+ },
253
+ {
254
+ "x": 0,
255
+ "y": -65,
256
+ "cGroup": [
257
+ "redKO",
258
+ "blueKO"
259
+ ],
260
+ "cMask": [
261
+ "red",
262
+ "blue"
263
+ ]
264
+ },
265
+ {
266
+ "x": 0,
267
+ "y": 65,
268
+ "cGroup": [
269
+ "redKO",
270
+ "blueKO"
271
+ ],
272
+ "cMask": [
273
+ "red",
274
+ "blue"
275
+ ]
276
+ },
277
+ {
278
+ "x": 0,
279
+ "y": 240,
280
+ "cGroup": [
281
+ "redKO",
282
+ "blueKO"
283
+ ],
284
+ "cMask": [
285
+ "red",
286
+ "blue"
287
+ ]
288
+ }
289
+ ],
290
+ "segments": [
291
+ {
292
+ "v0": 0,
293
+ "v1": 1,
294
+ "curve": 0,
295
+ "cMask": [
296
+ "ball"
297
+ ],
298
+ "color": "72A99C",
299
+ "bCoef": 0.8
300
+ },
301
+ {
302
+ "v0": 2,
303
+ "v1": 3,
304
+ "curve": 0,
305
+ "cMask": [
306
+ "ball"
307
+ ],
308
+ "color": "72A99C",
309
+ "bCoef": 0.8
310
+ },
311
+ {
312
+ "v0": 4,
313
+ "v1": 5,
314
+ "curve": 0,
315
+ "cMask": [
316
+ "ball"
317
+ ],
318
+ "color": "72A99C",
319
+ "bCoef": 0.8
320
+ },
321
+ {
322
+ "v0": 6,
323
+ "v1": 7,
324
+ "curve": 0,
325
+ "cMask": [
326
+ "ball"
327
+ ],
328
+ "color": "72A99C",
329
+ "bCoef": 0.8
330
+ },
331
+ {
332
+ "v0": 8,
333
+ "v1": 9,
334
+ "curve": 0,
335
+ "cMask": [
336
+ "ball"
337
+ ],
338
+ "color": "72A99C",
339
+ "bCoef": 0.8
340
+ },
341
+ {
342
+ "v0": 10,
343
+ "v1": 11,
344
+ "curve": 0,
345
+ "cMask": [
346
+ "ball"
347
+ ],
348
+ "color": "72A99C",
349
+ "bCoef": 0.8
350
+ },
351
+ {
352
+ "v0": 12,
353
+ "v1": 13,
354
+ "curve": 90,
355
+ "cMask": [
356
+ "ball"
357
+ ],
358
+ "color": "72A99C",
359
+ "bCoef": 0.8
360
+ },
361
+ {
362
+ "v0": 14,
363
+ "v1": 15,
364
+ "curve": 90,
365
+ "cMask": [
366
+ "ball"
367
+ ],
368
+ "color": "72A99C",
369
+ "bCoef": 0.8
370
+ },
371
+ {
372
+ "v0": 16,
373
+ "v1": 17,
374
+ "curve": 90,
375
+ "cMask": [
376
+ "ball"
377
+ ],
378
+ "color": "72A99C",
379
+ "bCoef": 0.8
380
+ },
381
+ {
382
+ "v0": 18,
383
+ "v1": 19,
384
+ "curve": 90,
385
+ "cMask": [
386
+ "ball"
387
+ ],
388
+ "color": "72A99C",
389
+ "bCoef": 0.8
390
+ },
391
+ {
392
+ "v0": 20,
393
+ "v1": 21,
394
+ "curve": 0,
395
+ "cMask": [
396
+ "ball"
397
+ ],
398
+ "color": "3D7267",
399
+ "bCoef": 0.15
400
+ },
401
+ {
402
+ "v0": 22,
403
+ "v1": 23,
404
+ "curve": 0,
405
+ "cMask": [
406
+ "ball"
407
+ ],
408
+ "color": "3D7267",
409
+ "bCoef": 0.15
410
+ },
411
+ {
412
+ "v0": 24,
413
+ "v1": 25,
414
+ "curve": 0,
415
+ "cMask": [
416
+ "ball"
417
+ ],
418
+ "color": "3D7267",
419
+ "bCoef": 0.15
420
+ },
421
+ {
422
+ "v0": 26,
423
+ "v1": 27,
424
+ "curve": 0,
425
+ "cMask": [
426
+ "ball"
427
+ ],
428
+ "color": "3D7267",
429
+ "bCoef": 0.15
430
+ },
431
+ {
432
+ "v0": 28,
433
+ "v1": 29,
434
+ "curve": 0,
435
+ "cMask": [
436
+ "ball"
437
+ ],
438
+ "color": "3D7267",
439
+ "bCoef": 0.15
440
+ },
441
+ {
442
+ "v0": 30,
443
+ "v1": 31,
444
+ "curve": 0,
445
+ "cMask": [
446
+ "ball"
447
+ ],
448
+ "color": "3D7267",
449
+ "bCoef": 0.15
450
+ },
451
+ {
452
+ "v0": 32,
453
+ "v1": 33,
454
+ "vis": false,
455
+ "cGroup": [
456
+ "redKO",
457
+ "blueKO"
458
+ ],
459
+ "cMask": [
460
+ "red",
461
+ "blue"
462
+ ]
463
+ },
464
+ {
465
+ "v0": 34,
466
+ "v1": 35,
467
+ "vis": false,
468
+ "cGroup": [
469
+ "redKO",
470
+ "blueKO"
471
+ ],
472
+ "cMask": [
473
+ "red",
474
+ "blue"
475
+ ]
476
+ },
477
+ {
478
+ "v0": 34,
479
+ "v1": 33,
480
+ "curve": -180,
481
+ "vis": false,
482
+ "cGroup": [
483
+ "redKO"
484
+ ],
485
+ "cMask": [
486
+ "red",
487
+ "blue"
488
+ ]
489
+ },
490
+ {
491
+ "v0": 34,
492
+ "v1": 33,
493
+ "curve": 180,
494
+ "vis": false,
495
+ "cGroup": [
496
+ "blueKO"
497
+ ],
498
+ "cMask": [
499
+ "red",
500
+ "blue"
501
+ ]
502
+ }
503
+ ],
504
+ "planes": [
505
+ {
506
+ "normal": [
507
+ 0,
508
+ 1
509
+ ],
510
+ "dist": -240
511
+ },
512
+ {
513
+ "normal": [
514
+ 0,
515
+ -1
516
+ ],
517
+ "dist": -240
518
+ },
519
+ {
520
+ "normal": [
521
+ 1,
522
+ 0
523
+ ],
524
+ "dist": -470
525
+ },
526
+ {
527
+ "normal": [
528
+ -1,
529
+ 0
530
+ ],
531
+ "dist": -470
532
+ }
533
+ ],
534
+ "goals": [
535
+ {
536
+ "p0": [
537
+ -420,
538
+ -62
539
+ ],
540
+ "p1": [
541
+ -420,
542
+ 62
543
+ ],
544
+ "team": "red"
545
+ },
546
+ {
547
+ "p0": [
548
+ 420,
549
+ -62
550
+ ],
551
+ "p1": [
552
+ 420,
553
+ 62
554
+ ],
555
+ "team": "blue"
556
+ }
557
+ ],
558
+ "discs": [
559
+ {
560
+ "pos": [
561
+ -420,
562
+ -62
563
+ ],
564
+ "radius": 6,
565
+ "invMass": 0,
566
+ "color": "DAEEE4",
567
+ "bCoef": 0.5
568
+ },
569
+ {
570
+ "pos": [
571
+ -420,
572
+ 62
573
+ ],
574
+ "radius": 6,
575
+ "invMass": 0,
576
+ "color": "DAEEE4",
577
+ "bCoef": 0.5
578
+ },
579
+ {
580
+ "pos": [
581
+ 420,
582
+ -62
583
+ ],
584
+ "radius": 6,
585
+ "invMass": 0,
586
+ "color": "DAEEE4",
587
+ "bCoef": 0.5
588
+ },
589
+ {
590
+ "pos": [
591
+ 420,
592
+ 62
593
+ ],
594
+ "radius": 6,
595
+ "invMass": 0,
596
+ "color": "DAEEE4",
597
+ "bCoef": 0.5
598
+ }
599
+ ],
600
+ "ballPhysics": {
601
+ "radius": 8,
602
+ "damping": 0.997,
603
+ "bCoef": 0.72,
604
+ "color": "263D48"
605
+ },
606
+ "playerPhysics": {
607
+ "radius": 15,
608
+ "acceleration": 0.11,
609
+ "damping": 0.97,
610
+ "kickStrength": 5.5
611
+ }
612
+ }