proj7k
activeAn objective difficulty and technique-breakdown toolchain for osu!mania 7K.
Online 7K chart catalog ↗- started
- 2026-09-11
- last push
- 2026-10-15
- commits
- 216
- merged PRs
- 32
Official star ratings tend to underrate inverse and dense long-note charts and single-column jacks, and treat alternating hands the same as one hand doing all the work. proj7k rates a chart from the chart alone, built on keypress timing, hand shape and reading load, and calibrates against the Jinjin 7K Dan ladder.
It now has an 8-axis technique radar, objective star ratings, star sync (and restore) into osu!lazer, a downscaler that keeps the hand patterns, replay diagnostics and player profiles, all in one local web dashboard. The online 7K chart catalog is public, with every 7K chart and official and engine star ratings side by side.
Milestones
- [x]doneKickoff: difficulty decoupled from player data, Jinjin 7K Dan as the benchmarkADR-0001–0003
- [x]done7k-VSDL pattern language, methodology spec and blind-test validationADR-0004–0006
- [x]doneJack/stream decoupling and continuous strain-decay poolingADR-0007–0008
- [x]doneNon-destructive osu!lazer injection: star sync and one-click restoreADR-0009
- [x]doneLive 8-axis radar dashboard and closed-loop downscalerADR-0010–0011
- [x]doneReplay profiler and closed-loop trainingADR-0012–0014
- [x]doneAbsolute technique stars and the total-star compositionADR-0015–0016
- [x]doneSpec v0.2 engine lands; the difficulty field replaces strainADR-0017–0021
- [x]doneLegacy engine deleted; four tools merged into one web dashboardADR-0022–0024
- [x]done7K charts generated from audioADR-0027
- [x]doneOnline 7K chart catalog goes public: official and engine SR side by sideADR-0026
- [x]doneProfile levels fitted across plays; technique habits read from replaysADR-0028–0029
- [ ]plannedCloud platform: osu! OAuth sign-in and player profiles
- [ ]plannedCross-platform core engine, including WASM
Dev logs
1- proj7k, weeks one to five: from methodology to one dashboard
From kickoff on 11 September to today, 29 ADRs and over two hundred commits. What got built, phase by phase, and what got thrown out.
Recent commits
- a57cd41dashboard: uploads up to about 190 MB (was about 47 MB)
- 5596762dashboard: a job lost to a restart or a dropped connection fails instead of spinning forever
- c991fe1Catalog: version script and stylesheet links by content hash
- c9a3a18Catalog home page at /, README rewritten for players
- 3b28725catalog: incremental `update` from osu! for a scheduled task
- ff2597ddashboard: restart osu!lazer, and sync with the game closed and reopened
- 5e38ecafeat(profiler): technique habits read from replay key timing across plays
- 04bd0e2restart-services: restart the catalog through its boot task when present; document task settings
- 40fdcc0fix: check out dan_table.json with LF too, so engine_version matches on Windows
- 7eaf861feat(catalog): random sort draws a page of charts from the current filters
- 527a565fix(profiler): read the profile's levels across plays, not the best play
- 5ba9d85feat(catalog): get the chart catalog ready to go public
- 046f09cAdd one-step restart for the dashboard and catalog site
- a3d052dgenerator: drop the round-BPM snap
- e9c2c90generator: snap an estimated tempo to a nearby whole or half BPM