Commit Graph
385 Commits
Author SHA1 Message Date
nairobiandzk 0a0fc57134 feat: O.N.G.E.K.I. Re:Fresh rating algorithm (#1263)
* feat: Re:Fresh support, rebased for the 6th time

* fix: migration

* fix: seeds

* fix: add tests and make them work

* fix: misc corrections

* rebased

* chore: bump rg-stats

* maybe a better migration

* attempt manual lint

* fix: star formatters

* fix: re-add name overrides

* rename them again, more consistently

* revert rbreak

* finish renaming

* i may be stupid

* refresh insights

* insight fixes

* fix: re-add platinum graphs

* delete score._id

* fix: server test

* fix: tiebreaks

* fix: what

* fix: don't kill p-score if migration is reapplied

I wonder why this could be needed

* fix: maybe notify about any errors

* docs: redefine starRating

* docs: typo

* fix(client): shrink graphs when necessary

* fix(client): use compact starfield in the insight

* feat(client): separate column for hits

* fix(client): add vertical-align

* fix: validate p-score properly

* fix: recolor AB+ to blue, actually

* fix(client): insight readability improvements

* feat(client): nicer insight lamps

* feat(client): OngekiScoreRatingCell

* fix(client): use OngekiScoreRatingCell in insight

---------

Co-authored-by: zk <ktchidev@gmail.com>
2025-07-06 19:24:30 +01:00
beerpsi 300a1e7e6e [chunithm] split lamp into combo lamp and clear lamp (#1269)
* [chunithm] split lamp into combo lamp and clear lamp

* ignore nonsense lint

* fix myt converter tests

* fix chunitachi batch manual

* mfw edited wrong file

* fix(migration): only migrate lamp-related showcases

* remove chart lamp showcases

* remove unused imports

* fix: limit re-pb to chunithm scores, migrate chart lamp showcases to comboLamp

* fix migration of comboLamp progress

* fix: updateMany with multi: true

* fix: when updating references, ensure only known IDs are in

* fix(client): make red stand out more

* fix(client): lamp sorting

* feat(server): validate clear and combo lamps based on judgements

* fix(server): validate combo lamps based on score boundary

* fix: reword validation errors to stay consistent

* fix: correct explanation

* fix: how was I this stupid?

* fix: update blacklisted scores too

* fix: bulk write all the updates

* fix: bulkWrite harder

* fix: i probably need sleep

* all of game-settings to bulkWrite

* fix folder lamp goal nonsense

* maybe fix colors

* fix: name PB merges

* chore: properly test PB merge

* mfw reversed

* fix(SessionRaiseBreakdown): lamp name

* rename to noteLamp

* why is eslint even complaining here?

* rename the enums

* fix tests

* tweak colors of lamps
2025-05-04 19:49:22 +01:00
nairobi 1148a5fdff feat(client): chunithm graphs, song durations (#1284)
* feat: chunithm score graph

* feat: add life

* feat: add song duration data for all songs

* fix: make chunithm graphs non-nullable

* fix: test data

* fix: potrząsanie kanalizacją

* fix: misleading old function name

* fix: make duration optional for chunithm

* fix: add the missing duration
2025-04-29 20:33:49 +01:00
beerpsi 4c49bffcc4 [maimai DX] Update to PRiSM Final (#1270)
* [maimai DX] PRiSM final

* add Supersonic Generation

This is a PRiSM PLUS song in Japanese region, but a PRiSM song in International.
As a way to compromise, the display version is PRiSM PLUS, but it also shows up in
the PRiSM folder. This should be removed when PRiSM PLUS hits Tachi for real.

* add PRiSM Omnimix

* disable BUDDiES PLUS tables

* add PRiSM Omnimix to versions in config

* pick correct default table

* fix test data

* fix mock db
2025-04-08 09:28:11 +01:00
nairobi 12b0a34f53 seeds: Ongeki Act.3 final (#1260)
* seeds: ongeki bright memory act.3 final

* seeds: add remas flags

* seeds: add search terms

* seeds: add most chart views

* seeds: add remaining chart views

* seeds: prepend 'ongeki' to display versions

* fix(ongeki): enumize genres and versions

* fix: test data
2025-03-28 13:03:04 +00:00
nairobi 890ac00330 fix: floating-point profile rating calculation (#1227)
* fix: floating-point profile rating calculation

* fix: add chunithm and make the test clearer

* fix: add rating formatters

The implicit formatter is FloorToNDP(). Ugh.
2025-02-05 09:15:06 +00:00
Gyoo 4254e29917 DDR Implementation (#1132)
* feat: DDR Implementation

* style: lint fixes

* chore: update rg-stats

* feat: ddr konaste songs and charts update
2024-08-09 19:08:49 +01:00
Albert Shin 17a95f1cfa feat: add myt maimai dx import support (#1143)
* feat: add myt maimai dx import support

* chore: fix myt integration showing up, tests

* chore: formatting

* fix: linting

* chore: more formatting

* chore: maybe running lint-fix will fix it
2024-08-09 11:53:19 +01:00
beerpsi 25ba3dad99 Add inGameID matching support for maimai DX and support nullable inGameIDs in general (#1114)
* warn about null/missing inGameIDs

* add support for inGameID matching in maimai DX

* add indexes for maimai classic charts

* fix variable ordering

less diff

* Make custom tests work so we can avoid some footguns

* linting

* add inGameID to maimai DX test data

* eslint why u no work

* more readable tests

* clean up scripts

* [maimaidx] Splice 1

* Rising in the Sun SPH's levelNum should be 8
2024-07-04 21:56:16 +01:00
Albert Shinandzkldi a09291265c feat: add myt chunithm support (#1082)
* feat: add myt chunithm support

* fix: check linting when merging

* fix: run linter

* fix: my ide is very broken and likes to delete code at random

* fix: linting isn't being called correctly *anywhere*...

* fix: eslint ignore .d.ts

* fix: lint common

* fix: well whatever i guess literally nothing ever fucking works in js tools

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-05-17 21:43:29 +01:00
Albert Shinandzkldi 970f7caa9e feat: add myt ongeki support (#1076)
* feat: add myt ongeki support

* fix: import myt score

* style: undo misc. prettier changes

* fix: nit on logging

* fix: use song-chart desync as the term here

and severe as loglevel

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-05-15 15:09:57 +01:00
nairobi 188457257d chore,fix: upgrade ongeki seeds (#1070)
* chore,fix: upgrade ongeki seeds

The dataset is up to date up until March 27th, 2024.
A single chart is missing:
https://wikiwiki.jp/gameongeki/怒槌~光吉猛修一部謎~

Added maxPlatScore and inGameID.
Added alt (romaji) song titles.
Removed the wikiwiki scraper because it's no longer relevant.
Restored the score column that relied on maxPlatScore.
Fixed the client crashing when you click Lamps Only in a geki session.
Removed Act 2.

* fix: missing fields in the test chart

* chore: get rid of isUnranked

* fix: clarify the track ID range
2024-05-13 15:33:32 +01:00
zkldi 5128581016 feat: get rid of isHot and isLatest in code (#1066)
* feat: get rid of isHot and isLatest in code

* feat: remove hot/latest from seeds

* feat: migrate away from them too

* fix: 21

* fix: again

* fix: again

* fix: again
2024-05-10 12:52:59 +01:00
Christopher Cooperandzkldi c64623cf59 implement WACCA import from MYT (#1039)
* add inGameID to WACCA charts

* add WACCA import support from MYT

* add client support for api/myt-wacca

* add bot support for api/myt-wacca

* remove artistJP and titleJP from songs-wacca

Turns out these aren't actually in the game data or anything, and we won't be
able to get their values for omni songs or future songs added in plus.

* add some missing omni WACCA songs

* add test

* fix tabs in test.conf.json5

* revamp grpc call handling a bit and add more error handling

* feat: drag the protofiles in rather than alter build

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-05-08 20:31:15 +01:00
nairobiandzkldi 4a80b1f516 feat: Ongeki support (#1013)
* feat: initial ongeki support

* feat: initial ongeki seeds

* chore: link to a basic score exporter

* fix: unhardcode the colSpan of score dropdowns

Fixes ongeki and doesn't break chunithm

* fix: make bellCount optional to match judgements and damage

* docs: add a page for Ongeki

* feat: ongeki seeder

* feat: implement isHot

Also restore Arcaea to test.conf.json5 (it was a mistake)

* fix: add isHot to the seeder

* fix: proper handling of re:masters

Also change non-full-bell from an empty string to "NONE", for clarity

* docs: document the re:master fix

* feat: update rg-stats to 0.5.5

enables ongeki calcs

* chore: lockfile

* fix: get rid of scales as they're unused

* fix: update name->NAME

* minrelevantvalue should be one of the values?

* fix: add property that must be there?

* fix: jesus christ the tests are loud

* better docs on mrv

* fix: remove platdelta, make platscore optional

* fix: grade B tests oh my god

* fix: rating check

* fix: pb merge check

* fix: pb merge check #2

* fix: use nowrap in all lamp cells

* fix: tidy up platcell

* fix: all of these MUST be part of scoreID

* fix: remove unused code

* feat: remove note counts & isHot

* chore: bump rg-stats

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-05-08 18:00:46 +01:00
zkldi 73dfd64cd3 fix: remove some extremely annoying deprecation warnings (#1028)
* fix: enforce 3.6.3 to avoid deprecation warning

* fix: nonsense old debug message

* fix: just re-patch browserslist, whatever.
2024-04-09 23:24:29 +01:00
zkldi cd58e2e150 fix: maybe fix flakey test with kshook 2023-10-16 12:57:26 +01:00
beerpsi e549eb6d27 fix test data for Arcaea (inGameID -> inGameStrID) (#961) 2023-10-11 23:26:30 +01:00
Lumineandbeerpiss b51be4eb27 feat: arcaea support (#951)
Co-authored-by: beerpiss <lacvtg.a1.2023@gmail.com>
2023-10-11 10:47:47 +01:00
14f8f79a15 feat: maimai support (#925)
Co-authored-by: Olivia Simmons <38598881+justOkapi@users.noreply.github.com>
Co-authored-by: tachi-seeds <107944937+tachi-seeds@users.noreply.github.com>
Co-authored-by: beerpiss <lacvtg.a1.2023@gmail.com>
2023-08-03 19:33:23 +01:00
Meta-linkandzkldi 892526599c Adding support for jubeat music bar (+ seeds) (#881)
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2023-03-23 19:59:21 +00:00
zkldi 39e4fae103 feat: split gan/nag 2023-03-12 13:39:22 +00:00
Lumine 027c7a3aa4 feat: update mmdx to festival (#877) 2023-03-07 23:48:15 +00:00
zkldi 0ac294ea51 fix: make new search engine work 2023-02-28 00:44:40 +00:00
zkldi c77a560ea6 fix: lol 2023-02-28 00:44:40 +00:00
zkldi 0ffc0c86bd fix: crlf nonsense 2023-02-18 00:00:25 +00:00
zkldi 70827d83ca fix: more course lookup fixes 2023-01-27 16:31:51 +00:00
zkldi 1b3a3df752 feat: gpt-specific invariants 2023-01-22 23:02:37 +00:00
zkldi 355872b79c fix: typo 2023-01-19 16:39:59 +00:00
zkldi 4475caaf8b fix: pass linting 2023-01-19 16:39:59 +00:00
zkldi 0c48b6cef0 fix: that's all probably 2023-01-19 16:39:53 +00:00
zkldi 6822118a4a fix: some tests and snapshots 2023-01-19 16:39:52 +00:00
zkldi 64d83c2e9f feat: full impl tests and migration 2023-01-19 16:39:52 +00:00
zkldi 5cbb2d5f8a checkpoint: insanity ascends (35)
127 errors to go
2023-01-19 16:39:42 +00:00
zkldi 2ff1dc1c29 feat: validators 2023-01-19 16:39:42 +00:00
zkldi 65810857d1 checkpoint: 33 2023-01-19 16:39:40 +00:00
zkldi 91904ac17b checkpoint: 32 2023-01-19 16:39:40 +00:00
zkldi 67c5b16976 checkpoint: 27 2023-01-19 16:39:39 +00:00
zkldi a046fceb4c checkpoint: 16 2023-01-19 16:39:31 +00:00
zkldi f4db781f9d checkpoint: 15 2023-01-19 16:39:31 +00:00
zkldi 8db7bc3391 checkpoint: 13 2023-01-19 16:39:30 +00:00
zkldi e8482f6c40 feat: remove redis IPC (we don't use it?) 2022-12-28 15:58:36 +00:00
zkldi 5fcc4214f0 fix: make tests pass 2022-12-28 11:59:45 +00:00
Christopher Cooper f5cc831ef2 add converter tests 2022-12-27 09:21:25 +09:00
Christopher Cooper c4f3a128dc add support for WaccaMyPageScraper CSV import 2022-12-27 09:20:19 +09:00
zkldi 5dff2ee805 fix: change prudence's default export to named
this was causing issues with vite and is potentially a bug in prudence
or in vite. it's very hard to tell and i've already spent
3 hours trying to fix this, so here.
2022-12-23 09:04:25 +00:00
zkldi bd48e3eb0d feat: completely tear out arc support 2022-12-22 11:51:59 +00:00
zkldi 968da7f658 fix: make tests pass 2022-12-20 11:58:32 +00:00
zkldi 2131592ba0 feat: tear out ddr support 2022-12-19 00:33:50 +00:00
zkldi d48ccee388 test: other cg converter tests
honestly these tests are super barebones but i mean
they're good enough. I hate writing tests.
2022-12-18 08:45:39 +00:00