Conversation
Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260611.1 to 4.20260613.1. - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) --- updated-dependencies: - dependency-name: "@cloudflare/workers-types" dependency-version: 4.20260613.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@typescript/native-preview](https://github.com/microsoft/typescript-go) from 7.0.0-dev.20260611.2 to 7.0.0-dev.20260613.1. - [Changelog](https://github.com/microsoft/typescript-go/blob/main/CHANGES.md) - [Commits](https://github.com/microsoft/typescript-go/commits) --- updated-dependencies: - dependency-name: "@typescript/native-preview" dependency-version: 7.0.0-dev.20260613.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…are/workers-types-4.20260613.1 chore(deps-dev): bump @cloudflare/workers-types from 4.20260611.1 to 4.20260613.1
…ipt/native-preview-7.0.0-dev.20260613.1 chore(deps-dev): bump @typescript/native-preview from 7.0.0-dev.20260611.2 to 7.0.0-dev.20260613.1
….0 RC TypeScript 7.0 ships under the `typescript` package on the `rc` tag (7.0.1-rc) instead of the separate `@typescript/native-preview` package, and the binary is the standard `tsc` again rather than `tsgo`. - Swap the root devDependency to `typescript@7.0.1-rc` - Point every package's `typecheck` script at `tsc` - Allow the TS7 RC via `pnpm.peerDependencyRules` so tsdown / rolldown-plugin-dts no longer warn about the optional peer range - Drop the now-unused `tsgo` cSpell entry Verified with lint, typecheck, build, and test.
chore(deps-dev): replace @typescript/native-preview with typescript 7.0 RC
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) from 1.69.0 to 1.70.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.70.0/npm/oxlint) --- updated-dependencies: - dependency-name: oxlint dependency-version: 1.70.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.100.0 to 4.103.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.103.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.103.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ns/checkout-7 chore(deps): bump actions/checkout from 6 to 7
…1.70.0 chore(deps-dev): bump oxlint from 1.69.0 to 1.70.0
…r-4.103.0 chore(deps-dev): bump wrangler from 4.100.0 to 4.103.0
Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.54.0 to 0.57.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.57.0/npm/oxfmt) --- updated-dependencies: - dependency-name: oxfmt dependency-version: 0.55.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
….55.0 chore(deps-dev): bump oxfmt from 0.54.0 to 0.57.0
Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20260613.1 to 5.20260707.1. - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) --- updated-dependencies: - dependency-name: "@cloudflare/workers-types" dependency-version: 5.20260707.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.22.4 to 4.23.0. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.22.4...v4.23.0) --- updated-dependencies: - dependency-name: tsx dependency-version: 4.23.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) from 1.70.0 to 1.73.0. - [Release notes](https://github.com/oxc-project/oxc/releases) - [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md) - [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.73.0/npm/oxlint) --- updated-dependencies: - dependency-name: oxlint dependency-version: 1.73.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ns compatible tsdown 0.22.3 (rolldown-plugin-dts 0.26.0) rejects `as const satisfies ...` on declaration-emitting consts with TS9010 under isolated declarations. Annotate LR2_PLAY_VARIANTS explicitly and keep plain `as const` where the literal types are load-bearing (LR2_SKIN_INFORMATION_TYPE, BEATORAJA_PLAYABLE_VARIANTS).
…1.73.0 chore(deps-dev): bump oxlint from 1.70.0 to 1.73.0
chore(deps-dev): bump tsx from 4.22.4 to 4.23.0
…are/workers-types-5.20260707.1 chore(deps-dev): bump @cloudflare/workers-types from 4.20260613.1 to 5.20260707.1
Bumps [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) from 4.103.0 to 4.107.0. - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.107.0/packages/wrangler) --- updated-dependencies: - dependency-name: wrangler dependency-version: 4.107.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.16 to 8.1.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.1.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 8.1.3 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
chore(deps-dev): bump vite from 8.0.16 to 8.1.3
…r-4.107.0 chore(deps-dev): bump wrangler from 4.103.0 to 4.107.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.23.0 to 4.23.8. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.23.0...v4.23.8) --- updated-dependencies: - dependency-name: tsx dependency-version: 4.23.8 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…b-audio-api-2.1.0 chore(deps): bump node-web-audio-api from 2.0.0 to 2.1.0
…1.77.0 chore(deps-dev): bump oxlint from 1.73.0 to 1.77.0
chore(deps-dev): bump tsx from 4.23.0 to 4.23.8
…ets/cli-2.31.1 chore(deps-dev): bump @changesets/cli from 2.31.0 to 2.31.1
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.22.3 to 0.22.14. - [Release notes](https://github.com/rolldown/tsdown/releases) - [Commits](rolldown/tsdown@v0.22.3...v0.22.14) --- updated-dependencies: - dependency-name: tsdown dependency-version: 0.22.14 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…0.22.14 chore(deps-dev): bump tsdown from 0.22.3 to 0.22.14
Bumps [node-web-audio-api](https://github.com/ircam-ismm/node-web-audio-api) from 2.1.0 to 2.2.0. - [Changelog](https://github.com/ircam-ismm/node-web-audio-api/blob/main/CHANGELOG.md) - [Commits](ircam-ismm/node-web-audio-api@v2.1.0...v2.2.0) --- updated-dependencies: - dependency-name: node-web-audio-api dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.23.8 to 4.23.12. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.23.8...v4.23.12) --- updated-dependencies: - dependency-name: tsx dependency-version: 4.23.12 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tinybench](https://github.com/tinylibs/tinybench) from 6.0.2 to 6.1.3. - [Release notes](https://github.com/tinylibs/tinybench/releases) - [Commits](tinylibs/tinybench@v6.0.2...v6.1.3) --- updated-dependencies: - dependency-name: tinybench dependency-version: 6.1.3 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 5.20260707.1 to 5.20260813.1. - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) --- updated-dependencies: - dependency-name: "@cloudflare/workers-types" dependency-version: 5.20260813.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ch-6.1.3 chore(deps-dev): bump tinybench from 6.0.2 to 6.1.3
…3.12 chore(deps-dev): bump tsx from 4.23.8 to 4.23.12
…b-audio-api-2.2.0 chore(deps): bump node-web-audio-api from 2.1.0 to 2.2.0
…are/workers-types-5.20260813.1 chore(deps-dev): bump @cloudflare/workers-types from 5.20260707.1 to 5.20260813.1
Record every play as a be-music-playlog input replay (resolved chart, raw press/release stream, play settings) via new PlayerOptions.onPlaylogRecorded / recordPlaylog engine hooks. The @be-music/player/playlog subpath ships the format, defensive parser, recorder, and per-ruleset simulators that re-derive judgments, EX-SCORE, max combo, money score, and groove gauge from the same inputs. The web player exposes the recorded log on both gameplay scenes and the demo auto-downloads it when the result scene mounts (lil-gui toggle, default ON). player-tui gains the bms-playlog CLI for offline re-simulation.
Pin .node-version to 26.7.0, raise engines.node to >=26, and move the tsdown and SEA build targets from node25 to node26. Bump @types/node to 26.x and update the Node version stated in both READMEs and the build-sea CLI help and error messages.
PlayerOptions.replayInputs re-drives a recorded input stream deterministically inside manualPlay — each event fires at its exact chart-relative microsecond timestamp while live lane input is ignored. The LR2/default gameplay scene accepts a play-log via PixiGameplayViewOptions.replay and re-applies the recorded note arrangement onto the freshly prepared chart (applyPlaylogArrangement), so RANDOM / MIRROR runs replay without re-rolling; mismatched #RANDOM control flow fails the prepare instead of replaying a wrong chart. The demo starts a replay when a *.bmplay.json file is dropped and the matching song is loaded (chartPath match first, title/artist fallback), and replays record no new play-log. The Debug Menu's playlog option is now latched at song start and its controller is disabled during a play — mid-song changes no longer apply.
…ay options The playlog stamps the source chart file's SHA-256 (chart.sha256, format version unchanged) and dropped logs match by hash first, then chartPath, then title/artist. PlayerOptions.judgeRuleset switches the live judge windows between LR2 (default), beatoraja (judgerank-scaled SEVENKEYS), and IIDX (fixed widths) — window widths only, recorded as play.judgeRuleset and re-applied by replays; dynamic #EXRANKxx stays LR2-only. The demo's Debug Menu gains a Play options folder (auto play, judge windows, gauge, random 1P/2P, DP flip, auto scratch) that two-way syncs with the LR2 select scene's PLAY OPTION panel, feeds every gameplay family, and is latched at song start — all controls are disabled while a song is playing.
Bumps the root devDependency off the 7.0.1 release candidate onto the stable 7.0.2 release and drops the pnpm peerDependencyRules exception it needed: the RC was a prerelease, so it never satisfied the tsdown / rolldown-plugin-dts `~7.0.0` peer ranges without an explicit allowance, while 7.0.2 matches them directly. Also refreshes the stale `@typescript/native-preview` example in the changeset rules — that package was replaced by `typescript` 7 in 2b10f2a.
The exports benchmark validates that every exported function has a case, so the playlog serializer re-exports (serializePlaylog / parsePlaylog / resolvePlaylogFilename) and the chart-hash helpers (computeChartFileSha256 / computeSha256Hex) added in ab210cb and e96d7fa failed the CI benchmark job with "Missing benchmark cases".
…config Typecheck and the exports benchmark both run against sources without a prior build, resolving cross-package subpaths through tsconfig.typecheck.json's `paths`. The playlog subpath added in ab210cb had no mapping, so both jobs fell back to the package's `exports` `types` / `default` entries and failed on the missing `packages/player/dist/playlog.*` — locally they passed only because a previous build had populated dist. Verified with dist removed: `pnpm typecheck` and `pnpm run bench` both pass.
The benchmark compare jobs restored their base64 snapshots by handing them to `node -e` as a command-line argument. Linux caps a single argv entry at `MAX_ARG_STRLEN` (128 KiB), and the snapshot crossed that once the benchmarked export count grew (133,928 base64 bytes at fd01a56), so every compare job died with `node: Argument list too long` and exit 126. macOS has no per-argument cap, which is why it only reproduced on the runners. All four restore steps now take the snapshot from the step environment and decode it off stdin via the `printf` builtin, so the payload is never attached to an exec. Job outputs still cap at 1 MiB, leaving ample headroom.
…s the playlog subpath for Vite Two remaining CI failures, same underlying shape — a payload or a module the job could not reach. Benchmark compare jobs: the base64 snapshot was handed over as a job output and then materialized on the command line, which died with `Argument list too long` once the snapshot passed 128 KiB. Routing it through the step environment hit the same wall, because `MAX_ARG_STRLEN` caps every argv AND envp string — the runner could no longer even spawn bash. The snapshot now travels as an upload/download-artifact pair, which has no such ceiling; the base uploads carry the aggregate step's availability guard so a PR whose base lacks the bench script still skips cleanly instead of failing `if-no-files-found: error`. Cloudflare Workers Builds: the demo's Vite build resolves workspace subpaths through the alias table in vite.config.ts and runs without a prior workspace build, so `@be-music/player/playlog` had nothing to resolve to and rolldown failed the build. Added the missing alias — the third and last resolution map that enumerates player subpaths (vitest.config.ts and tsconfig.typecheck.json were the earlier two). Verified with dist removed: the demo build succeeds, and a two-run bench + aggregate + compare rehearsal reproduces the CI pipeline end to end.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| 🚫 Deployment cancelled View logs |
be-music-player-demo | dc51b63 | Aug 17 2026, 05:37 PM |
The benchmark comparison itself succeeded, then `Post benchmark comment` died on a GitHub API 503 during a platform incident, failing the whole job for a result that had already been computed. `actions/github-script` defaults to zero retries; its retry list already exempts 400/401/403/404/422, so a missing permission or bad payload still fails immediately rather than being retried into a timeout.
Exports Benchmark
Summary
Top Regressions
Top Improvements
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release PR for the packages versioned by
pnpm run release:versionondevel.Versions
@be-music/player@be-music/player-web@be-music/player-tui@be-music/lr2-skin@be-music/player-web-demoHighlights
@be-music/player/playlogsubpath records each play as an input replay (resolved chart + raw press/release stream + play settings) and re-derives LR2 / beatoraja / IIDX judgments, EX-SCORE, max combo, money score, and groove gauge from it. See docs/playlog.md.*.bmplay.jsononto the browser player replays the recorded run against the matching chart (matched by chart-file SHA-256), re-applying the recorded lane arrangement so shuffled plays reproduce exactly.PlayerOptions.judgeRulesetselects LR2 (default) / beatoraja / IIDX window widths, recorded into the play-log and restored on replay.bms-playlogCLI (@be-music/player-tui) — re-derives every ruleset's result from a recorded play-log offline.@be-music/lr2-skinand@be-music/player-web.node-web-audio-apiruntime dependency bumped to 2.2.0 for@be-music/player.Toolchain-only changes in this range (no changeset by design): Node 26 upgrade, TypeScript 7.0.2 stable, and the usual devDependency bumps.
Verification
pnpm run build/pnpm typecheck/pnpm lintcleanpnpm test— 147 files, 1877 tests passingpnpm run bench— 263 exports covered (CI benchmark job repaired in 92e2c1a)Merging this PR publishes the bumped packages and creates their GitHub Releases.