maidraw 0.3.0 → 0.3.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.
package/test/testDraw.js DELETED
@@ -1,754 +0,0 @@
1
- const sharp = require("sharp");
2
- const upath = require("upath");
3
-
4
- (async () => {
5
- const { MaiDraw } = require("../dist");
6
- MaiDraw.Maimai.Chart.Database.setLocalDatabasePath(
7
- "../maimai-songs-database"
8
- );
9
-
10
- const fs = require("fs");
11
-
12
- const themes = [
13
- "jp-finale-landscape",
14
- "jp-finale-portrait",
15
- "jp-prismplus-landscape",
16
- "jp-prismplus-portrait",
17
- "jp-prism-landscape",
18
- "jp-prism-portrait",
19
- "jp-buddiesplus-landscape",
20
- "jp-buddiesplus-portrait",
21
- "cn-2024-portrait",
22
- "cn-2024-landscape",
23
- "jp-buddies-landscape",
24
- "jp-buddies-portrait",
25
- ];
26
- for (let theme of themes) {
27
- const result = await MaiDraw.Maimai.Best50.draw(
28
- "SALT♪☆*♀∀#&@",
29
- 16384,
30
- [
31
- {
32
- chart: {
33
- id: 11375,
34
- name: "ミルキースター・シューティングスター",
35
- difficulty: 0,
36
- level: 3,
37
- maxDxScore: 123,
38
- },
39
- combo: 0,
40
- sync: 0,
41
- achievement: 51.2345,
42
- dxScore: 12,
43
- dxRating: 8,
44
- },
45
- {
46
- chart: {
47
- id: 647,
48
- name: "エイリアンエイリアン",
49
- difficulty: 1,
50
- level: 8,
51
- maxDxScore: 234,
52
- },
53
- combo: 1,
54
- sync: 1,
55
- achievement: 62.3456,
56
- dxScore: 123,
57
- dxRating: 18,
58
- },
59
- {
60
- chart: {
61
- id: 10690,
62
- name: "ダンスロボットダンス",
63
- difficulty: 2,
64
- level: 11.6,
65
- maxDxScore: 345,
66
- },
67
- combo: 2,
68
- sync: 2,
69
- achievement: 83.4567,
70
- dxScore: 234,
71
- dxRating: 128,
72
- },
73
- {
74
- chart: {
75
- id: 11600,
76
- name: "感情ディシーブ",
77
- difficulty: 3,
78
- level: 13.0,
79
- maxDxScore: 456,
80
- },
81
- combo: 3,
82
- sync: 3,
83
- achievement: 97.8901,
84
- dxScore: 345,
85
- dxRating: 238,
86
- },
87
- {
88
- chart: {
89
- id: 11637,
90
- name: "バグ",
91
- difficulty: 4,
92
- level: 13.9,
93
- maxDxScore: 567,
94
- },
95
- combo: 4,
96
- sync: 4,
97
- achievement: 98.1234,
98
- dxScore: 456,
99
- dxRating: 348,
100
- },
101
- {
102
- chart: {
103
- id: 834,
104
- name: "PANDORA PARADOXXX",
105
- difficulty: 5,
106
- level: 15.9,
107
- maxDxScore: 678,
108
- },
109
- combo: 4,
110
- sync: 5,
111
- achievement: 99.1234,
112
- dxScore: 567,
113
- dxRating: 458,
114
- },
115
- {
116
- chart: {
117
- id: 11555,
118
- name: "ヒバリ",
119
- difficulty: 3,
120
- level: 13.7,
121
- maxDxScore: 6666,
122
- },
123
- combo: 0,
124
- sync: 0,
125
- achievement: 100.1019,
126
- dxScore: 1700,
127
- dxRating: 289.73493936,
128
- },
129
- {
130
- chart: {
131
- id: 11563,
132
- name: "キャットラビング",
133
- difficulty: 3,
134
- level: 13.7,
135
- maxDxScore: 6666,
136
- },
137
- combo: 0,
138
- sync: 0,
139
- achievement: 100.6423,
140
- dxScore: 1687,
141
- dxRating: 288.1536,
142
- },
143
- {
144
- chart: {
145
- id: 11650,
146
- name: "ずんだもんの朝食 〜目覚ましずんラップ〜",
147
- difficulty: 3,
148
- level: 13.7,
149
- maxDxScore: 6666,
150
- },
151
- combo: 1,
152
- sync: 2,
153
- achievement: 100.3416,
154
- dxScore: 2008,
155
- dxRating: 286.09396992,
156
- },
157
- {
158
- chart: {
159
- id: 11596,
160
- name: "Vallista",
161
- difficulty: 2,
162
- level: 13.7,
163
- maxDxScore: 6666,
164
- },
165
- combo: 1,
166
- sync: 0,
167
- achievement: 100.5175,
168
- dxScore: 1395,
169
- dxRating: 281.4,
170
- },
171
- {
172
- chart: {
173
- id: 10315,
174
- name: "深海少女",
175
- difficulty: 3,
176
- level: 13.7,
177
- maxDxScore: 6666,
178
- },
179
- combo: 0,
180
- sync: 0,
181
- achievement: 100.0051,
182
- dxScore: 0,
183
- dxRating: 280.8143208,
184
- },
185
- {
186
- chart: {
187
- id: 11560,
188
- name: "阿修羅ちゃん",
189
- difficulty: 3,
190
- level: 13.7,
191
- maxDxScore: 6666,
192
- },
193
- combo: 0,
194
- sync: 1,
195
- achievement: 99.8646,
196
- dxScore: 1880,
197
- dxRating: 278.14288392,
198
- },
199
- {
200
- chart: {
201
- id: 11589,
202
- name: "DROPS feat. Such",
203
- difficulty: 3,
204
- level: 13.7,
205
- maxDxScore: 6666,
206
- },
207
- combo: 1,
208
- sync: 0,
209
- achievement: 99.8213,
210
- dxScore: 1694,
211
- dxRating: 278.02228476,
212
- },
213
- {
214
- chart: {
215
- id: 11526,
216
- name: "トノサマビーム",
217
- difficulty: 3,
218
- level: 13.7,
219
- maxDxScore: 6666,
220
- },
221
- combo: 1,
222
- sync: 0,
223
- achievement: 100.1681,
224
- dxScore: 2323,
225
- dxRating: 276.94476288,
226
- },
227
- {
228
- chart: {
229
- id: 11592,
230
- name: "花となれ",
231
- difficulty: 3,
232
- level: 13.7,
233
- maxDxScore: 6666,
234
- },
235
- combo: 1,
236
- sync: 0,
237
- achievement: 100.7423,
238
- dxScore: 883,
239
- dxRating: 274.6464,
240
- },
241
- ],
242
- [
243
- {
244
- chart: {
245
- id: 11451,
246
- name: "Transcend Lights",
247
- difficulty: 3,
248
- level: 13.7,
249
- maxDxScore: 6666,
250
- },
251
- combo: 2,
252
- sync: 0,
253
- achievement: 100.7521,
254
- dxScore: 1657,
255
- dxRating: 303.912,
256
- },
257
- {
258
- chart: {
259
- id: 11568,
260
- name: "INTERNET OVERDOSE",
261
- difficulty: 3,
262
- level: 13.7,
263
- maxDxScore: 6666,
264
- },
265
- combo: 0,
266
- sync: 1,
267
- achievement: 100.6577,
268
- dxScore: 2220,
269
- dxRating: 303.912,
270
- },
271
- {
272
- chart: {
273
- id: 11488,
274
- name: "スカーレット警察のゲットーパトロール24時",
275
- difficulty: 3,
276
- level: 13.7,
277
- maxDxScore: 6666,
278
- },
279
- combo: 1,
280
- sync: 0,
281
- achievement: 100.5492,
282
- dxScore: 1939,
283
- dxRating: 303.912,
284
- },
285
- {
286
- chart: {
287
- id: 835,
288
- name: "Believe the Rainbow",
289
- difficulty: 3,
290
- level: 13.7,
291
- maxDxScore: 6666,
292
- },
293
- combo: 2,
294
- sync: 0,
295
- achievement: 100.9224,
296
- dxScore: 1245,
297
- dxRating: 301.6608,
298
- },
299
- {
300
- chart: {
301
- id: 417,
302
- name: "ウミユリ海底譚",
303
- difficulty: 3,
304
- level: 13.7,
305
- maxDxScore: 6666,
306
- },
307
- combo: 2,
308
- sync: 0,
309
- achievement: 100.8178,
310
- dxScore: 1976,
311
- dxRating: 301.6608,
312
- },
313
- {
314
- chart: {
315
- id: 11433,
316
- name: "ヒトガタ",
317
- difficulty: 3,
318
- level: 13.7,
319
- maxDxScore: 6666,
320
- },
321
- combo: 1,
322
- sync: 1,
323
- achievement: 100.6644,
324
- dxScore: 2082,
325
- dxRating: 301.6608,
326
- },
327
- {
328
- chart: {
329
- id: 764,
330
- name: "フィクサ ー",
331
- difficulty: 3,
332
- level: 13.7,
333
- maxDxScore: 6666,
334
- },
335
- combo: 2,
336
- sync: 1,
337
- achievement: 100.6095,
338
- dxScore: 2066,
339
- dxRating: 301.6608,
340
- },
341
- {
342
- chart: {
343
- id: 11504,
344
- name: "ばかみたい【Taxi Driver Edition】",
345
- difficulty: 3,
346
- level: 13.7,
347
- maxDxScore: 6666,
348
- },
349
- combo: 1,
350
- sync: 0,
351
- achievement: 100.5023,
352
- dxScore: 729,
353
- dxRating: 301.6608,
354
- },
355
- {
356
- chart: {
357
- id: 566,
358
- name: "天火明命",
359
- difficulty: 3,
360
- level: 13.7,
361
- maxDxScore: 6666,
362
- },
363
- combo: 1,
364
- sync: 0,
365
- achievement: 100.0184,
366
- dxScore: 1888,
367
- dxRating: 300.29524416,
368
- },
369
- {
370
- chart: {
371
- id: 11437,
372
- name: "三妖精SAY YA!!!",
373
- difficulty: 3,
374
- level: 13.7,
375
- maxDxScore: 6666,
376
- },
377
- combo: 2,
378
- sync: 1,
379
- achievement: 100.7484,
380
- dxScore: 2217,
381
- dxRating: 299.4096,
382
- },
383
- {
384
- chart: {
385
- id: 674,
386
- name: "Magical Flavor",
387
- difficulty: 3,
388
- level: 13.7,
389
- maxDxScore: 6666,
390
- },
391
- combo: 1,
392
- sync: 0,
393
- achievement: 100.5723,
394
- dxScore: 1531,
395
- dxRating: 299.4096,
396
- },
397
- {
398
- chart: {
399
- id: 11355,
400
- name: "ラグトレイン",
401
- difficulty: 3,
402
- level: 13.7,
403
- maxDxScore: 6666,
404
- },
405
- combo: 3,
406
- sync: 0,
407
- achievement: 100.9318,
408
- dxScore: 2162,
409
- dxRating: 297.1584,
410
- },
411
- {
412
- chart: {
413
- id: 11523,
414
- name: "ViRTUS",
415
- difficulty: 2,
416
- level: 13.7,
417
- maxDxScore: 6666,
418
- },
419
- combo: 2,
420
- sync: 0,
421
- achievement: 100.619,
422
- dxScore: 1902,
423
- dxRating: 297.1584,
424
- },
425
- {
426
- chart: {
427
- id: 734,
428
- name: "ENERGY SYNERGY MATRIX",
429
- difficulty: 2,
430
- level: 13.7,
431
- maxDxScore: 6666,
432
- },
433
- combo: 2,
434
- sync: 0,
435
- achievement: 100.7419,
436
- dxScore: 0,
437
- dxRating: 292.656,
438
- },
439
- {
440
- chart: {
441
- id: 11429,
442
- name: "Love's Theme of BADASS ~バッド・アス 愛のテーマ~",
443
- difficulty: 2,
444
- level: 13.7,
445
- maxDxScore: 6666,
446
- },
447
- combo: 1,
448
- sync: 0,
449
- achievement: 100.6013,
450
- dxScore: 2108,
451
- dxRating: 292.656,
452
- },
453
- {
454
- chart: {
455
- id: 11311,
456
- name: "躯樹の墓守",
457
- difficulty: 2,
458
- level: 13.7,
459
- maxDxScore: 6666,
460
- },
461
- combo: 1,
462
- sync: 0,
463
- achievement: 100.553,
464
- dxScore: 0,
465
- dxRating: 292.656,
466
- },
467
- {
468
- chart: {
469
- id: 11401,
470
- name: "コスモポップファンクラブ",
471
- difficulty: 3,
472
- level: 13.7,
473
- maxDxScore: 6666,
474
- },
475
- combo: 1,
476
- sync: 0,
477
- achievement: 100.5111,
478
- dxScore: 0,
479
- dxRating: 292.656,
480
- },
481
- {
482
- chart: {
483
- id: 11289,
484
- name: "ベースラインやってる?笑",
485
- difficulty: 3,
486
- level: 13.7,
487
- maxDxScore: 6666,
488
- },
489
- combo: 1,
490
- sync: 0,
491
- achievement: 100.4342,
492
- dxScore: 1888,
493
- dxRating: 290.69674848,
494
- },
495
- {
496
- chart: {
497
- id: 836,
498
- name: "Good Bye, Mr. Jack",
499
- difficulty: 2,
500
- level: 13.7,
501
- maxDxScore: 6666,
502
- },
503
- combo: 2,
504
- sync: 0,
505
- achievement: 100.6728,
506
- dxScore: 0,
507
- dxRating: 290.4048,
508
- },
509
- {
510
- chart: {
511
- id: 11410,
512
- name: "ヴァンパイア",
513
- difficulty: 4,
514
- level: 13.7,
515
- maxDxScore: 6666,
516
- },
517
- combo: 1,
518
- sync: 0,
519
- achievement: 100.0379,
520
- dxScore: 1974,
521
- dxRating: 289.54969776,
522
- },
523
- {
524
- chart: {
525
- id: 793,
526
- name: "ロキ",
527
- difficulty: 4,
528
- level: 13.7,
529
- maxDxScore: 6666,
530
- },
531
- combo: 0,
532
- sync: 0,
533
- achievement: 100.4615,
534
- dxScore: 2216,
535
- dxRating: 288.6057972,
536
- },
537
- {
538
- chart: {
539
- id: 11485,
540
- name: "フォニイ",
541
- difficulty: 4,
542
- level: 13.7,
543
- maxDxScore: 6666,
544
- },
545
- combo: 0,
546
- sync: 0,
547
- achievement: 100.4614,
548
- dxScore: 1995,
549
- dxRating: 288.60550992,
550
- },
551
- {
552
- chart: {
553
- id: 308,
554
- name: "Back 2 Back",
555
- difficulty: 3,
556
- level: 13.7,
557
- maxDxScore: 6666,
558
- },
559
- combo: 1,
560
- sync: 0,
561
- achievement: 99.8058,
562
- dxScore: 1027,
563
- dxRating: 288.50862606,
564
- },
565
- {
566
- chart: {
567
- id: 11422,
568
- name: " ",
569
- difficulty: 3,
570
- level: 13.7,
571
- maxDxScore: 6666,
572
- },
573
- combo: 2,
574
- sync: 0,
575
- achievement: 100.7672,
576
- dxScore: 1666,
577
- dxRating: 288.1536,
578
- },
579
- {
580
- chart: {
581
- id: 11184,
582
- name: "Virtual to LIVE",
583
- difficulty: 4,
584
- level: 13.7,
585
- maxDxScore: 6666,
586
- },
587
- combo: 1,
588
- sync: 0,
589
- achievement: 100.7657,
590
- dxScore: 1862,
591
- dxRating: 288.1536,
592
- },
593
- {
594
- chart: {
595
- id: 11517,
596
- name: "最強STRONGER",
597
- difficulty: 2,
598
- level: 13.7,
599
- maxDxScore: 6666,
600
- },
601
- combo: 2,
602
- sync: 0,
603
- achievement: 100.7021,
604
- dxScore: 0,
605
- dxRating: 288.1536,
606
- },
607
- {
608
- chart: {
609
- id: 11572,
610
- name: "tape/stop/night",
611
- difficulty: 3,
612
- level: 13.7,
613
- maxDxScore: 6666,
614
- },
615
- combo: 1,
616
- sync: 0,
617
- achievement: 100.686,
618
- dxScore: 1526,
619
- dxRating: 288.1536,
620
- },
621
- {
622
- chart: {
623
- id: 772,
624
- name: "FREEDOM DiVE (tpz Overcute Remix)",
625
- difficulty: 2,
626
- level: 13.7,
627
- maxDxScore: 6666,
628
- },
629
- combo: 2,
630
- sync: 3,
631
- achievement: 100.5016,
632
- dxScore: 1803,
633
- dxRating: 288.1536,
634
- },
635
- {
636
- chart: {
637
- id: 690,
638
- name: "ダンスロボットダンス",
639
- difficulty: 3,
640
- level: 13.7,
641
- maxDxScore: 6666,
642
- },
643
- combo: 1,
644
- sync: 0,
645
- achievement: 100.2329,
646
- dxScore: 2201,
647
- dxRating: 287.94907512,
648
- },
649
- {
650
- chart: {
651
- id: 621,
652
- name: "ARROW",
653
- difficulty: 3,
654
- level: 13.7,
655
- maxDxScore: 6666,
656
- },
657
- combo: 1,
658
- sync: 0,
659
- achievement: 100.1502,
660
- dxScore: 0,
661
- dxRating: 287.71149456,
662
- },
663
- {
664
- chart: {
665
- id: 689,
666
- name: "Credits",
667
- difficulty: 2,
668
- level: 13.7,
669
- maxDxScore: 6666,
670
- },
671
- combo: 1,
672
- sync: 0,
673
- achievement: 100.1448,
674
- dxScore: 861,
675
- dxRating: 287.69598144,
676
- },
677
- {
678
- chart: {
679
- id: 189,
680
- name: "弱虫モンブラン",
681
- difficulty: 3,
682
- level: 13.7,
683
- maxDxScore: 6666,
684
- },
685
- combo: 4,
686
- sync: 0,
687
- achievement: 101,
688
- dxScore: 1312,
689
- dxRating: 285.9024,
690
- },
691
- {
692
- chart: {
693
- id: 11520,
694
- name: "独りんぼ エンヴィー",
695
- difficulty: 3,
696
- level: 13.7,
697
- maxDxScore: 6666,
698
- },
699
- combo: 2,
700
- sync: 0,
701
- achievement: 100.822,
702
- dxScore: 1642,
703
- dxRating: 285.9024,
704
- },
705
- {
706
- chart: {
707
- id: 432,
708
- name: "幸せになれる隠しコマンドがあるらしい",
709
- difficulty: 2,
710
- level: 13.7,
711
- maxDxScore: 6666,
712
- },
713
- combo: 2,
714
- sync: 0,
715
- achievement: 100.719,
716
- dxScore: 1462,
717
- dxRating: 285.9024,
718
- },
719
- {
720
- chart: {
721
- id: 603,
722
- name: "その群青が愛しかったようだった",
723
- difficulty: 3,
724
- level: 13.7,
725
- maxDxScore: 6666,
726
- },
727
- combo: 2,
728
- sync: 0,
729
- achievement: 100.702,
730
- dxScore: 0,
731
- dxRating: 285.9024,
732
- },
733
- ],
734
- {
735
- scale: 2,
736
- theme,
737
- }
738
- );
739
- if (result) {
740
- fs.writeFileSync(
741
- upath.join(__dirname, `${theme}.webp`),
742
- await sharp(result)
743
- .webp({
744
- quality: 60,
745
- })
746
- .toBuffer()
747
- );
748
- console.log(`${theme} passed.`);
749
- } else {
750
- console.log(`${theme} failed!`);
751
- }
752
- }
753
- process.exit(0);
754
- })();