Skip to content

feat(songs): support nominal chart expectations - #18

Merged
nichinichisou0609 merged 1 commit into
mainfrom
feat/chart-expectation-data
Oct 10, 2026
Merged

nichinichisou0609 merged 1 commit into
mainfrom
feat/chart-expectation-data

Conversation

@nichinichisou0609

@nichinichisou0609 nichinichisou0609 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Problem

The chart data page currently consumes sampled chart-stats/2 fields. New chart-stats/3 documents publish nominal expectations and numerical enclosures, so reading them as seed samples loses chart figures and mislabels their uncertainty.

Changes

  • Read chart-stats/3 expectation fields and keep replay seed selection independent from statistical figures.
  • Preserve measured rank-1 bonus expectations. Change only the selected ranges when applying other ranks, without truncating a mean as though it were an individual native score.
  • Validate used interval values and dimensions, reject unsupported nonlinear rank extrapolation, and reject malformed new-format records without falling back to stale seed fields.
  • Expose raw numerical enclosure radii separately from legacy sampling SE. Scenario transformations do not advertise an unmeasured enclosure.
  • Update chart details, aptitude displays, Chinese/English explanations and the guide. Existing sampled files retain their original interpretation while deployments transition.

Validation

  • 53 passing tests across songs expectations, songs page, Pareto and replay presets; one existing optional WASM test requires a separately configured engine.
  • Eleven new expectation cases, including a fixture containing unmodified native chart-stats/3 values from a real mixed Just/Luck/Combo chart.
  • node --check examples/songs/songs.js and git diff --check
  • The coordinated nnnotes publication smoke gate passes against these modules, including independent nominal aptitude-check reconstruction.

The coordinated nnnotes.music-data/2 producer in StarMoe-org/nnnotes#21 pins this PR's exact source commit for its page smoke gates. Native program caching is in empty-sekai/ournotes-deck#44, and the site consumer is nichinichisou0609/moenotes#7. Deploy compatible readers before publishing the new data format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant