diff --git a/examples/test/README.ja.md b/examples/test/README.ja.md index ee45cf89..ef6fdaf5 100644 --- a/examples/test/README.ja.md +++ b/examples/test/README.ja.md @@ -29,7 +29,6 @@ be-music のテストスイートが共有する譜面・音声フィクスチ | `extended-directives.bms` | 同じ命令群を `@be-music/chart` の値パーサが受け付けるペイロードで記述。`#EXWAV` の `pvf`、`#EXBMP` の ARGB タプル、`#ARGB` の 16 進と 10 進、`#BGA` 部分矩形、`#SWBGA` アニメーション、`#WAVCMD` の pitch/volume/loop、チャネル `A0` からの `#EXRANK`、チャネル `A6` からの `#CHANGEOPTION`、`#STP`。 | | `base62-ids.bms` | `#BASE 62` — 大文字・小文字・混在の ID を別スロットとして扱う。インデックス付きヘッダ、チャネルストリーム、`#LNOBJ`、`#RANDOM` / `#IF` ブロック内のすべてで検証。 | | `sjis-encoding-test.bms` | Shift_JIS の自動判定。パース結果の IR は `sjis-encoding-test.json` に固定してある。 | -| `benchmark-command-mix-100.bms` | 混在コマンド 100 小節でのパーサスループット。`pnpm bench` は独自のインライン譜面を使うため、こちらには繋がっていない。 | ### タイミング・描画ギミック @@ -117,5 +116,4 @@ be-music のテストスイートが共有する譜面・音声フィクスチ | `branch.wav`, `right.wav`, `wrong.wav` | 副次的なキー音。主に制御フローの分岐を耳で聞き分けるため。 | | `retrigger_a.wav`, `retrigger_b.wav` | リトリガー譜面が重なりを作るために必要な 2.2 秒サンプル。 | | `ogg-test.ogg` | `ogg-test.bms` が宣言する Vorbis サンプル。 | -| `ogg-test.wav` | `ogg-test.ogg` の非圧縮元データ。素材として残しているだけで、テストは読んでいない。 | | `render-codec-test.mp3` / `.ogg` / `.opus` | audio-renderer のコーデック別デコードケースと、`.wav` 不在時のフォールバックケース。 | diff --git a/examples/test/README.md b/examples/test/README.md index 640e054d..d72105d0 100644 --- a/examples/test/README.md +++ b/examples/test/README.md @@ -29,7 +29,6 @@ resolution. Add a chart here and it is picked up automatically; break one and th | `extended-directives.bms` | The same directive family with payloads the `@be-music/chart` value parsers accept: `#EXWAV` `pvf`, `#EXBMP` ARGB tuple, `#ARGB` hex and decimal, `#BGA` sub-region, `#SWBGA` animation, `#WAVCMD` pitch/volume/loop, `#EXRANK` on channel `A0`, `#CHANGEOPTION` on channel `A6`, `#STP`. | | `base62-ids.bms` | `#BASE 62` — upper, lower and mixed case object IDs as distinct slots, in indexed headers, channel streams, `#LNOBJ`, and inside a `#RANDOM` / `#IF` block. | | `sjis-encoding-test.bms` | Shift_JIS auto-detection. Its parsed IR is pinned in `sjis-encoding-test.json`. | -| `benchmark-command-mix-100.bms` | Parser throughput over 100 measures with a mixed command load. Not wired to `pnpm bench`, which uses its own inline chart. | ### Timing and drawing gimmicks @@ -117,5 +116,4 @@ Regenerate them through the editor API rather than by hand — that is what keep | `branch.wav`, `right.wav`, `wrong.wav` | Secondary keysounds, mostly for telling control-flow branches apart by ear. | | `retrigger_a.wav`, `retrigger_b.wav` | The 2.2 s samples the retrigger charts need in order to overlap at all. | | `ogg-test.ogg` | The Vorbis sample `ogg-test.bms` declares. | -| `ogg-test.wav` | The uncompressed source for `ogg-test.ogg`. Kept as source material; no test reads it. | | `render-codec-test.mp3` / `.ogg` / `.opus` | The audio-renderer's per-codec decode cases, and its missing-`.wav` fallback case. | diff --git a/examples/test/benchmark-command-mix-100.bms b/examples/test/benchmark-command-mix-100.bms deleted file mode 100644 index 45ae60ea..00000000 --- a/examples/test/benchmark-command-mix-100.bms +++ /dev/null @@ -1,694 +0,0 @@ -*---------------------- METADATA FIELD - -#TITLE Benchmark Command Mix 100 Measures -#SUBTITLE Parser Stress Sample -#ARTIST Codex -#GENRE BENCHMARK -#BPM 128 -#PLAYLEVEL 12 -#RANK 2 -#TOTAL 350 -#DIFFICULTY 5 -#COMMENT Includes control flow, BPM changes, STOP, BGA, and many object channels. -#STAGEFILE benchmark-stage.png - -*---------------------- EXTENDED HEADER FIELD - -#PLAYER 3 -#PATH_WAV ./ -#BASEBPM 128 -#STP 004.120 -#OPTION RANDOM -#CHANGEOPTION01 MIRROR -#WAVCMD legacy -#LNTYPE 1 -#LNOBJ AA -#DEFEXRANK 120 -#EXRANK01 120,90,60,30 -#BGA01 01 -#POORBGA 02 -#SWBGA01 01 -#VIDEOFILE benchmark.mp4 -#MATERIALS benchmark.materials -#DIVIDEPROP lane=2 -#CHARSET UTF-8 - -*---------------------- RESOURCES FIELD - -#WAV01 sample.wav -#WAV02 branch.wav -#WAV03 right.wav -#WAV04 wrong.wav -#WAV05 retrigger_a.wav -#WAV06 retrigger_b.wav -#BMP01 benchmark-a.bmp -#BMP02 benchmark-b.bmp -#BPM01 96 -#BPM02 144 -#BPM03 196 -#BPM04 220 -#STOP01 48 -#STOP02 96 -#STOP03 24 -#STOP04 12 -#TEXT01 intro -#TEXT02 mid - -*---------------------- MEASURE LENGTH FIELD - -*---------------------- OBJECT DATA FIELD - -*---------------------- CONTROL FLOW FIELD - -#SETRANDOM 2 -#IF 1 -#01011:0505 -#01016:05 -#ELSE -#01021:0606 -#01026:06 -#ENDIF -#ENDRANDOM -#SETSWITCH 3 -#CASE 1 -#02011:01010101 -#SKIP -#CASE 2 -#02012:02020202 -#SKIP -#DEF -#02013:03030303 -#SKIP -#ENDSW -#SETRANDOM 3 -#IF 1 -#03004:01 -#ELSEIF 2 -#03004:02 -#ELSE -#03007:01 -#ENDIF -#ENDRANDOM -#00001:0102 -#00011:01010101 -#00012:02020202 -#00013:03030303 -#00014:0004000400040004 -#00016:01010101 -#00021:0001000100010001 -#00022:0200000200000200 -#00024:0003000000030000 -#00026:0005000000050000 -#00029:0006000000060000 -#00003:7890A0B0 -#00008:01020304 -#00009:0100000200000300 -#00004:01 -#00007:02 -#00101:0001000000000200 -#00111:0001000100010001 -#00112:0002000200020002 -#00201:0304 -#00211:0010001000100010 -#00212:0020002000200020 -#00213:03030303 -#00301:00030004 -#00311:00101010 -#00312:00202020 -#00314:0004000400040004 -#00316:01010101 -#00401:0102 -#00411:010000AA00000100 -#00412:02020202 -#00413:03030303 -#00421:0001000100010001 -#00422:0200000200000200 -#00501:0001000000000200 -#00511:01010101 -#00512:0002000200020002 -#00524:0003000000030000 -#00526:0005000000050000 -#00601:0304 -#00611:0001000100010001 -#00612:0020002000200020 -#00613:03030303 -#00614:0004000400040004 -#00616:01010101 -#00629:0006000000060000 -#00701:00030004 -#00711:0010001000100010 -#00712:00202020 -#00703:7890A0B0 -#00801:0102 -#00811:00101010 -#00812:02020202 -#00813:03030303 -#00821:0001000100010001 -#00822:0200000200000200 -#00808:01020304 -#00802:1.5 -#00901:0001000000000200 -#00911:010000AA00000100 -#00912:0002000200020002 -#00914:0004000400040004 -#00916:01010101 -#00909:0100000200000300 -#01001:0304 -#01011:01010101 -#01012:0020002000200020 -#01013:03030303 -#01024:0003000000030000 -#01026:0005000000050000 -#01004:01 -#01101:00030004 -#01111:0001000100010001 -#01112:00202020 -#01201:0102 -#01211:0010001000100010 -#01212:02020202 -#01213:03030303 -#01214:0004000400040004 -#01216:01010101 -#01221:0001000100010001 -#01222:0200000200000200 -#01229:0006000000060000 -#01207:02 -#01301:0001000000000200 -#01311:00101010 -#01312:0002000200020002 -#01302:0.75 -#01401:0304 -#01411:010000AA00000100 -#01412:0020002000200020 -#01413:03030303 -#01403:7890A0B0 -#01501:00030004 -#01511:01010101 -#01512:00202020 -#01514:0004000400040004 -#01516:01010101 -#01524:0003000000030000 -#01526:0005000000050000 -#01601:0102 -#01611:0001000100010001 -#01612:02020202 -#01613:03030303 -#01621:0001000100010001 -#01622:0200000200000200 -#01608:01020304 -#01602:1.5 -#01701:0001000000000200 -#01711:0010001000100010 -#01712:0002000200020002 -#01801:0304 -#01811:00101010 -#01812:0020002000200020 -#01813:03030303 -#01814:0004000400040004 -#01816:01010101 -#01829:0006000000060000 -#01809:0100000200000300 -#01901:00030004 -#01911:010000AA00000100 -#01912:00202020 -#02001:0102 -#02011:01010101 -#02012:02020202 -#02013:03030303 -#02021:0001000100010001 -#02022:0200000200000200 -#02024:0003000000030000 -#02026:0005000000050000 -#02004:01 -#02101:0001000000000200 -#02111:0001000100010001 -#02112:0002000200020002 -#02114:0004000400040004 -#02116:01010101 -#02103:7890A0B0 -#02201:0304 -#02211:0010001000100010 -#02212:0020002000200020 -#02213:03030303 -#02301:00030004 -#02311:00101010 -#02312:00202020 -#02401:0102 -#02411:010000AA00000100 -#02412:02020202 -#02413:03030303 -#02414:0004000400040004 -#02416:01010101 -#02421:0001000100010001 -#02422:0200000200000200 -#02429:0006000000060000 -#02408:01020304 -#02407:02 -#02402:1.5 -#02501:0001000000000200 -#02511:01010101 -#02512:0002000200020002 -#02524:0003000000030000 -#02526:0005000000050000 -#02601:0304 -#02611:0001000100010001 -#02612:0020002000200020 -#02613:03030303 -#02602:0.75 -#02701:00030004 -#02711:0010001000100010 -#02712:00202020 -#02714:0004000400040004 -#02716:01010101 -#02709:0100000200000300 -#02801:0102 -#02811:00101010 -#02812:02020202 -#02813:03030303 -#02821:0001000100010001 -#02822:0200000200000200 -#02803:7890A0B0 -#02901:0001000000000200 -#02911:010000AA00000100 -#02912:0002000200020002 -#03001:0304 -#03011:01010101 -#03012:0020002000200020 -#03013:03030303 -#03014:0004000400040004 -#03016:01010101 -#03024:0003000000030000 -#03026:0005000000050000 -#03029:0006000000060000 -#03004:01 -#03101:00030004 -#03111:0001000100010001 -#03112:00202020 -#03201:0102 -#03211:0010001000100010 -#03212:02020202 -#03213:03030303 -#03221:0001000100010001 -#03222:0200000200000200 -#03208:01020304 -#03202:1.5 -#03301:0001000000000200 -#03311:00101010 -#03312:0002000200020002 -#03314:0004000400040004 -#03316:01010101 -#03401:0304 -#03411:010000AA00000100 -#03412:0020002000200020 -#03413:03030303 -#03501:00030004 -#03511:01010101 -#03512:00202020 -#03524:0003000000030000 -#03526:0005000000050000 -#03503:7890A0B0 -#03601:0102 -#03611:0001000100010001 -#03612:02020202 -#03613:03030303 -#03614:0004000400040004 -#03616:01010101 -#03621:0001000100010001 -#03622:0200000200000200 -#03629:0006000000060000 -#03609:0100000200000300 -#03607:02 -#03701:0001000000000200 -#03711:0010001000100010 -#03712:0002000200020002 -#03801:0304 -#03811:00101010 -#03812:0020002000200020 -#03813:03030303 -#03901:00030004 -#03911:010000AA00000100 -#03912:00202020 -#03914:0004000400040004 -#03916:01010101 -#03902:0.75 -#04001:0102 -#04011:01010101 -#04012:02020202 -#04013:03030303 -#04021:0001000100010001 -#04022:0200000200000200 -#04024:0003000000030000 -#04026:0005000000050000 -#04008:01020304 -#04004:01 -#04002:1.5 -#04101:0001000000000200 -#04111:0001000100010001 -#04112:0002000200020002 -#04201:0304 -#04211:0010001000100010 -#04212:0020002000200020 -#04213:03030303 -#04214:0004000400040004 -#04216:01010101 -#04229:0006000000060000 -#04203:7890A0B0 -#04301:00030004 -#04311:00101010 -#04312:00202020 -#04401:0102 -#04411:010000AA00000100 -#04412:02020202 -#04413:03030303 -#04421:0001000100010001 -#04422:0200000200000200 -#04501:0001000000000200 -#04511:01010101 -#04512:0002000200020002 -#04514:0004000400040004 -#04516:01010101 -#04524:0003000000030000 -#04526:0005000000050000 -#04509:0100000200000300 -#04601:0304 -#04611:0001000100010001 -#04612:0020002000200020 -#04613:03030303 -#04701:00030004 -#04711:0010001000100010 -#04712:00202020 -#04801:0102 -#04811:00101010 -#04812:02020202 -#04813:03030303 -#04814:0004000400040004 -#04816:01010101 -#04821:0001000100010001 -#04822:0200000200000200 -#04829:0006000000060000 -#04808:01020304 -#04807:02 -#04802:1.5 -#04901:0001000000000200 -#04911:010000AA00000100 -#04912:0002000200020002 -#04903:7890A0B0 -#05001:0304 -#05011:01010101 -#05012:0020002000200020 -#05013:03030303 -#05024:0003000000030000 -#05026:0005000000050000 -#05004:01 -#05101:00030004 -#05111:0001000100010001 -#05112:00202020 -#05114:0004000400040004 -#05116:01010101 -#05201:0102 -#05211:0010001000100010 -#05212:02020202 -#05213:03030303 -#05221:0001000100010001 -#05222:0200000200000200 -#05202:0.75 -#05301:0001000000000200 -#05311:00101010 -#05312:0002000200020002 -#05401:0304 -#05411:010000AA00000100 -#05412:0020002000200020 -#05413:03030303 -#05414:0004000400040004 -#05416:01010101 -#05429:0006000000060000 -#05409:0100000200000300 -#05501:00030004 -#05511:01010101 -#05512:00202020 -#05524:0003000000030000 -#05526:0005000000050000 -#05601:0102 -#05611:0001000100010001 -#05612:02020202 -#05613:03030303 -#05621:0001000100010001 -#05622:0200000200000200 -#05603:7890A0B0 -#05608:01020304 -#05602:1.5 -#05701:0001000000000200 -#05711:0010001000100010 -#05712:0002000200020002 -#05714:0004000400040004 -#05716:01010101 -#05801:0304 -#05811:00101010 -#05812:0020002000200020 -#05813:03030303 -#05901:00030004 -#05911:010000AA00000100 -#05912:00202020 -#06001:0102 -#06011:01010101 -#06012:02020202 -#06013:03030303 -#06014:0004000400040004 -#06016:01010101 -#06021:0001000100010001 -#06022:0200000200000200 -#06024:0003000000030000 -#06026:0005000000050000 -#06029:0006000000060000 -#06004:01 -#06007:02 -#06101:0001000000000200 -#06111:0001000100010001 -#06112:0002000200020002 -#06201:0304 -#06211:0010001000100010 -#06212:0020002000200020 -#06213:03030303 -#06301:00030004 -#06311:00101010 -#06312:00202020 -#06314:0004000400040004 -#06316:01010101 -#06303:7890A0B0 -#06309:0100000200000300 -#06401:0102 -#06411:010000AA00000100 -#06412:02020202 -#06413:03030303 -#06421:0001000100010001 -#06422:0200000200000200 -#06408:01020304 -#06402:1.5 -#06501:0001000000000200 -#06511:01010101 -#06512:0002000200020002 -#06524:0003000000030000 -#06526:0005000000050000 -#06502:0.75 -#06601:0304 -#06611:0001000100010001 -#06612:0020002000200020 -#06613:03030303 -#06614:0004000400040004 -#06616:01010101 -#06629:0006000000060000 -#06701:00030004 -#06711:0010001000100010 -#06712:00202020 -#06801:0102 -#06811:00101010 -#06812:02020202 -#06813:03030303 -#06821:0001000100010001 -#06822:0200000200000200 -#06901:0001000000000200 -#06911:010000AA00000100 -#06912:0002000200020002 -#06914:0004000400040004 -#06916:01010101 -#07001:0304 -#07011:01010101 -#07012:0020002000200020 -#07013:03030303 -#07024:0003000000030000 -#07026:0005000000050000 -#07003:7890A0B0 -#07004:01 -#07101:00030004 -#07111:0001000100010001 -#07112:00202020 -#07201:0102 -#07211:0010001000100010 -#07212:02020202 -#07213:03030303 -#07214:0004000400040004 -#07216:01010101 -#07221:0001000100010001 -#07222:0200000200000200 -#07229:0006000000060000 -#07208:01020304 -#07209:0100000200000300 -#07207:02 -#07202:1.5 -#07301:0001000000000200 -#07311:00101010 -#07312:0002000200020002 -#07401:0304 -#07411:010000AA00000100 -#07412:0020002000200020 -#07413:03030303 -#07501:00030004 -#07511:01010101 -#07512:00202020 -#07514:0004000400040004 -#07516:01010101 -#07524:0003000000030000 -#07526:0005000000050000 -#07601:0102 -#07611:0001000100010001 -#07612:02020202 -#07613:03030303 -#07621:0001000100010001 -#07622:0200000200000200 -#07701:0001000000000200 -#07711:0010001000100010 -#07712:0002000200020002 -#07703:7890A0B0 -#07801:0304 -#07811:00101010 -#07812:0020002000200020 -#07813:03030303 -#07814:0004000400040004 -#07816:01010101 -#07829:0006000000060000 -#07802:0.75 -#07901:00030004 -#07911:010000AA00000100 -#07912:00202020 -#08001:0102 -#08011:01010101 -#08012:02020202 -#08013:03030303 -#08021:0001000100010001 -#08022:0200000200000200 -#08024:0003000000030000 -#08026:0005000000050000 -#08008:01020304 -#08004:01 -#08002:1.5 -#08101:0001000000000200 -#08111:0001000100010001 -#08112:0002000200020002 -#08114:0004000400040004 -#08116:01010101 -#08109:0100000200000300 -#08201:0304 -#08211:0010001000100010 -#08212:0020002000200020 -#08213:03030303 -#08301:00030004 -#08311:00101010 -#08312:00202020 -#08401:0102 -#08411:010000AA00000100 -#08412:02020202 -#08413:03030303 -#08414:0004000400040004 -#08416:01010101 -#08421:0001000100010001 -#08422:0200000200000200 -#08429:0006000000060000 -#08403:7890A0B0 -#08407:02 -#08501:0001000000000200 -#08511:01010101 -#08512:0002000200020002 -#08524:0003000000030000 -#08526:0005000000050000 -#08601:0304 -#08611:0001000100010001 -#08612:0020002000200020 -#08613:03030303 -#08701:00030004 -#08711:0010001000100010 -#08712:00202020 -#08714:0004000400040004 -#08716:01010101 -#08801:0102 -#08811:00101010 -#08812:02020202 -#08813:03030303 -#08821:0001000100010001 -#08822:0200000200000200 -#08808:01020304 -#08802:1.5 -#08901:0001000000000200 -#08911:010000AA00000100 -#08912:0002000200020002 -#09001:0304 -#09011:01010101 -#09012:0020002000200020 -#09013:03030303 -#09014:0004000400040004 -#09016:01010101 -#09024:0003000000030000 -#09026:0005000000050000 -#09029:0006000000060000 -#09009:0100000200000300 -#09004:01 -#09101:00030004 -#09111:0001000100010001 -#09112:00202020 -#09103:7890A0B0 -#09102:0.75 -#09201:0102 -#09211:0010001000100010 -#09212:02020202 -#09213:03030303 -#09221:0001000100010001 -#09222:0200000200000200 -#09301:0001000000000200 -#09311:00101010 -#09312:0002000200020002 -#09314:0004000400040004 -#09316:01010101 -#09401:0304 -#09411:010000AA00000100 -#09412:0020002000200020 -#09413:03030303 -#09501:00030004 -#09511:01010101 -#09512:00202020 -#09524:0003000000030000 -#09526:0005000000050000 -#09601:0102 -#09611:0001000100010001 -#09612:02020202 -#09613:03030303 -#09614:0004000400040004 -#09616:01010101 -#09621:0001000100010001 -#09622:0200000200000200 -#09629:0006000000060000 -#09608:01020304 -#09607:02 -#09602:1.5 -#09701:0001000000000200 -#09711:0010001000100010 -#09712:0002000200020002 -#09801:0304 -#09811:00101010 -#09812:0020002000200020 -#09813:03030303 -#09803:7890A0B0 -#09901:00030004 -#09911:010000AA00000100 -#09912:00202020 -#09914:0004000400040004 -#09916:01010101 -#09909:0100000200000300 \ No newline at end of file diff --git a/examples/test/ogg-test.wav b/examples/test/ogg-test.wav deleted file mode 100644 index 3af99df4..00000000 Binary files a/examples/test/ogg-test.wav and /dev/null differ diff --git a/mise.toml b/mise.toml deleted file mode 100644 index 6db33381..00000000 --- a/mise.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings] -idiomatic_version_file_enable_tools = ["node"] - -[tools] -"npm:pnpm" = "latest" diff --git a/packages/audio-renderer/package.json b/packages/audio-renderer/package.json index 7ae22124..de9acebc 100644 --- a/packages/audio-renderer/package.json +++ b/packages/audio-renderer/package.json @@ -28,7 +28,7 @@ "build:bundle": "vp pack", "build": "vp pack", "build:sea": "node --conditions=source ../../scripts/build-sea.ts --package audio-renderer", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/audio-renderer/tsconfig.build.json b/packages/audio-renderer/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/audio-renderer/tsconfig.build.json +++ b/packages/audio-renderer/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/beatoraja-skin/.prettierignore b/packages/beatoraja-skin/.prettierignore deleted file mode 100644 index a912f768..00000000 --- a/packages/beatoraja-skin/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -# Real-world beatoraja skin files used as fixtures. Their JSON is libgdx-flavored (trailing commas, missing -# commas, occasional `{{` typo) so RFC-style formatters reject them. Kept byte-for-byte from the upstream -# theme so the parser tests exercise the actual quirks. -src/__fixtures__/ diff --git a/packages/beatoraja-skin/package.json b/packages/beatoraja-skin/package.json index 22569f5a..9292d108 100644 --- a/packages/beatoraja-skin/package.json +++ b/packages/beatoraja-skin/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/beatoraja-skin/tsconfig.build.json b/packages/beatoraja-skin/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/beatoraja-skin/tsconfig.build.json +++ b/packages/beatoraja-skin/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/chart/package.json b/packages/chart/package.json index d9a294fa..726a17b3 100644 --- a/packages/chart/package.json +++ b/packages/chart/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/chart/tsconfig.build.json b/packages/chart/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/chart/tsconfig.build.json +++ b/packages/chart/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/editor/package.json b/packages/editor/package.json index 81950aa9..6cc9aee2 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/editor/tsconfig.build.json b/packages/editor/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/editor/tsconfig.build.json +++ b/packages/editor/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/json/package.json b/packages/json/package.json index 9aaeb983..e9426b10 100644 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/json/tsconfig.build.json b/packages/json/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/json/tsconfig.build.json +++ b/packages/json/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/lr2-skin/package.json b/packages/lr2-skin/package.json index 5dd5e8b3..70b8f554 100644 --- a/packages/lr2-skin/package.json +++ b/packages/lr2-skin/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/lr2-skin/tsconfig.build.json b/packages/lr2-skin/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/lr2-skin/tsconfig.build.json +++ b/packages/lr2-skin/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/parser/package.json b/packages/parser/package.json index f54c7da1..74e45b43 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/parser/tsconfig.build.json b/packages/parser/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/parser/tsconfig.build.json +++ b/packages/parser/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player-tui/package.json b/packages/player-tui/package.json index 117b3c11..55149d11 100644 --- a/packages/player-tui/package.json +++ b/packages/player-tui/package.json @@ -24,7 +24,7 @@ "build:bundle": "vp pack", "build": "vp pack", "build:sea": "node --conditions=source ../../scripts/build-sea.ts --package player", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "playlog": "node --conditions=source src/playlog-cli.ts", "diag:keyboard": "node --conditions=source src/keyboard-diagnostic.ts", diff --git a/packages/player-tui/tsconfig.build.json b/packages/player-tui/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player-tui/tsconfig.build.json +++ b/packages/player-tui/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player-web-demo/package.json b/packages/player-web-demo/package.json index 9d470db9..3a3e968a 100644 --- a/packages/player-web-demo/package.json +++ b/packages/player-web-demo/package.json @@ -10,7 +10,7 @@ "deploy:cf": "pnpm run build:cf && node scripts/sync-ffmpeg-core.mjs && wrangler deploy", "cf:r2:create": "wrangler r2 bucket create be-music-ffmpeg-core", "cf:r2:push": "pnpm run build:cf && node scripts/sync-ffmpeg-core.mjs --force", - "clean": "rimraf dist tsconfig.tsbuildinfo node_modules/.vite" + "clean": "rimraf dist node_modules/.vite" }, "dependencies": { "@be-music/beatoraja-skin": "workspace:*", diff --git a/packages/player-web/LICENSE b/packages/player-web/LICENSE new file mode 100644 index 00000000..5a266f50 --- /dev/null +++ b/packages/player-web/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 nulltask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/player-web/package.json b/packages/player-web/package.json index 9b2497c3..a77eafaa 100644 --- a/packages/player-web/package.json +++ b/packages/player-web/package.json @@ -43,7 +43,7 @@ }, "scripts": { "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/player-web/tsconfig.build.json b/packages/player-web/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player-web/tsconfig.build.json +++ b/packages/player-web/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player/package.json b/packages/player/package.json index edee6fa6..d7e14918 100644 --- a/packages/player/package.json +++ b/packages/player/package.json @@ -114,7 +114,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/player/tsconfig.build.json b/packages/player/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player/tsconfig.build.json +++ b/packages/player/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/skin-sdk/package.json b/packages/skin-sdk/package.json index 83da05c5..ca0215a8 100644 --- a/packages/skin-sdk/package.json +++ b/packages/skin-sdk/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/skin-sdk/tsconfig.build.json b/packages/skin-sdk/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/skin-sdk/tsconfig.build.json +++ b/packages/skin-sdk/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/stringifier/package.json b/packages/stringifier/package.json index ee9aecaf..822f205e 100644 --- a/packages/stringifier/package.json +++ b/packages/stringifier/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/stringifier/tsconfig.build.json b/packages/stringifier/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/stringifier/tsconfig.build.json +++ b/packages/stringifier/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/utils/package.json b/packages/utils/package.json index 3689a45c..e51c23b5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -54,7 +54,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/utils/tsconfig.build.json +++ b/packages/utils/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/scripts/create-demo-json.ts b/scripts/create-demo-json.ts deleted file mode 100644 index bb5fd41b..00000000 --- a/scripts/create-demo-json.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { writeFile } from 'node:fs/promises'; -import { resolve } from 'node:path'; -import { createEmptyJson } from '../packages/json/src/index.ts'; - -function createDemoJson() { - const json = createEmptyJson('json'); - json.metadata.title = 'Demo Chart'; - json.metadata.artist = 'unknown'; - json.resources.wav['01'] = 'kick.wav'; - json.events = [ - { measure: 0, channel: '11', position: [0, 1], value: '01' }, - { measure: 0, channel: '11', position: [1, 2], value: '01' }, - { measure: 1, channel: '11', position: [0, 1], value: '01' }, - { measure: 1, channel: '11', position: [1, 2], value: '01' }, - ]; - return json; -} - -async function main(): Promise { - const outputPathArg = process.argv[2]; - const content = `${JSON.stringify(createDemoJson(), null, 2)}\n`; - if (!outputPathArg) { - process.stdout.write(content); - return; - } - const outputPath = resolve(outputPathArg); - await writeFile(outputPath, content, 'utf8'); - process.stdout.write(`${outputPath}\n`); -} - -void main(); diff --git a/tsconfig.build.options.json b/tsconfig.build.options.json deleted file mode 100644 index ea21101f..00000000 --- a/tsconfig.build.options.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "./tsconfig.options.json", - "compilerOptions": { - "isolatedDeclarations": true - } -} diff --git a/tsconfig.options.json b/tsconfig.options.json index 27a3cd10..b6a12656 100644 --- a/tsconfig.options.json +++ b/tsconfig.options.json @@ -4,10 +4,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "strict": true, - "declaration": true, - "declarationMap": false, "sourceMap": false, - "composite": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, diff --git a/tsconfig.typecheck.json b/tsconfig.typecheck.json index 153bacc3..2159c083 100644 --- a/tsconfig.typecheck.json +++ b/tsconfig.typecheck.json @@ -3,9 +3,6 @@ "compilerOptions": { "allowImportingTsExtensions": true, "noEmit": true, - "composite": false, - "declaration": false, - "declarationMap": false, "paths": { "@be-music/audio-renderer/triggers": ["./packages/audio-renderer/src/core/triggers.ts"], "@be-music/player/playable-notes": ["./packages/player/src/playable-notes.ts"],