Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
f973e06
ingest for Guildhouse Clash
telperion Sep 11, 2023
e6e8f9a
Merge remote-tracking branch 'upstream/main'
telperion Sep 11, 2023
62f4f86
tweaks to Guildhouse Clash card draw data
telperion Sep 11, 2023
5a6e9ba
better URL slug idk
telperion Sep 11, 2023
d61cd66
extra charts included x_x
telperion Sep 11, 2023
c155106
mark no cmod songs
telperion Sep 11, 2023
6cff73f
Merge remote-tracking branch 'upstream/main'
telperion Oct 16, 2023
7024c04
quick and dirty card draw for MotL5 IIDX
telperion Oct 17, 2023
a350e7f
Experimental support for drag-drop itg imports
noahm Oct 19, 2023
eae31fa
breaking out MotL5 IIDX 12s into low/mid/high
telperion Oct 21, 2023
4b6dc56
adding RIP 13.5 singles packs
telperion Oct 31, 2023
832efbc
adding Winter Groove (SP/DP interleaved)
telperion Oct 31, 2023
b6e5b25
adding Eclipse 2023
telperion Oct 31, 2023
bb69dd8
move dns cache installation to common utils file
noahm Dec 8, 2023
a841391
Add schema property to songs schema
noahm Dec 8, 2023
1269ad4
Update songs.schema.json
kbh-exe Dec 8, 2023
3b9a9cb
Merge pull request #272 from kbh-exe/patch-2
noahm Dec 10, 2023
07a1553
Bump the development-dependencies group with 18 updates
dependabot[bot] Dec 11, 2023
f257be3
dedupe deps
noahm Dec 12, 2023
1df7071
Merge pull request #274 from noahm/dependabot/npm_and_yarn/developmen…
noahm Dec 12, 2023
6bd0c01
Add latest smx
noahm Dec 12, 2023
0c80708
install yarn via rtx, update readme
noahm Dec 12, 2023
a0fd7f9
Remove dead query from useMediaQuery.ts
noahm Dec 15, 2023
da82674
Merge pull request #276 from noahm/remove-dead-mq
noahm Dec 15, 2023
c509f4d
Add bhop ball
noahm Dec 15, 2023
4ad064b
[ImgBot] Optimize images
ImgBotApp Dec 15, 2023
8992b02
Merge pull request #277 from noahm/imgbot
noahm Dec 15, 2023
69b1943
Bump the development-dependencies group with 9 updates
dependabot[bot] Dec 18, 2023
caf0602
dedupe deps
noahm Dec 18, 2023
cccaf02
Merge pull request #278 from noahm/dependabot/npm_and_yarn/developmen…
noahm Dec 18, 2023
dc22ee5
Merge branch 'main' into dragndrop
noahm Dec 18, 2023
e847acc
upgrade to newer parser
noahm Dec 18, 2023
0314b3c
Add dialog step when importing itg pack
noahm Dec 18, 2023
4c2c03a
Add local state for imported data files
noahm Dec 19, 2023
44553f3
Allow importing as a tiered pack
noahm Dec 19, 2023
9b7ca58
Add docs and frontpage callout
noahm Dec 19, 2023
425640c
Add simple error handling for local imports
noahm Dec 19, 2023
d298446
Merge pull request #238 from noahm/dragndrop
noahm Dec 19, 2023
c0320c9
sortLevel feature added into configState
Dec 25, 2023
f78c566
Bump Actions versions
ScottBrenner Dec 25, 2023
c4fe8e3
Enable Dependabot updates for GitHub Actions
ScottBrenner Dec 25, 2023
fe5f2b2
Merge pull request #282 from ScottBrenner/patch-1
noahm Dec 26, 2023
e708a53
Merge pull request #283 from ScottBrenner/patch-2
noahm Dec 26, 2023
39051c5
Bump the development-dependencies group with 8 updates
dependabot[bot] Dec 26, 2023
c1d7468
chore: sort only when cards are drawn
Dec 27, 2023
9f57e6e
chore: prettier lint
Dec 28, 2023
2a10340
I think this isn't the right approach but something is working lol
telperion Dec 30, 2023
82b7233
oh. I just had to make sure `lc` was "?a001B000"
telperion Dec 30, 2023
d3b883d
small reorganization
telperion Dec 30, 2023
804eb2c
intermediate commit (event identification)
telperion Dec 30, 2023
aeb3aad
dedupe
noahm Dec 30, 2023
34b75df
Merge pull request #284 from noahm/dependabot/npm_and_yarn/developmen…
noahm Dec 30, 2023
6ddfacf
Merge pull request #280 from paulitup/feature/SortLevel
noahm Dec 30, 2023
0c35519
distilling event flags
telperion Dec 31, 2023
ae08b9a
hella changes
telperion Jan 2, 2024
848c895
oh I guess all the jackets should come too
telperion Jan 2, 2024
140a9a7
Merge remote-tracking branch 'upstream/main' into iidx-textage
telperion Jan 3, 2024
c3c11bf
removing packs from my local ddr.tools instance
telperion Jan 3, 2024
0106739
cleanup
telperion Jan 3, 2024
5d972af
remove old test JSON
telperion Jan 3, 2024
b740816
- edits from PR review
telperion Jan 3, 2024
55d4ad3
god damn it ultimate mobile!!
telperion Jan 3, 2024
a368f24
Merge pull request #286 from telperion/iidx-textage
noahm Jan 3, 2024
e70d3f9
Update drs.json
triadspacefight Jan 5, 2024
7312c68
Update drs.json
triadspacefight Jan 5, 2024
32f342c
Add CI-enforced formatting, and yarn format command
noahm Jan 5, 2024
5239335
Add PR check for formatting
noahm Jan 5, 2024
4fa3027
Merge branch 'noahm:main' into master
triadspacefight Jan 5, 2024
8b66c5b
Update per @noahm request 010524 -Dusk
triadspacefight Jan 5, 2024
b6a451f
Merge pull request #287 from triadspacefight/master
noahm Jan 7, 2024
cdb0b10
Bump the development-dependencies group with 5 updates
dependabot[bot] Jan 8, 2024
b09171d
dedupe deps
noahm Jan 10, 2024
be3d116
Merge pull request #288 from noahm/dependabot/npm_and_yarn/developmen…
noahm Jan 10, 2024
eb8ed19
new smx songs
noahm Jan 17, 2024
aec185f
Bump the development-dependencies group with 20 updates
dependabot[bot] Jan 22, 2024
e54fef9
dedupe deps
noahm Jan 22, 2024
508569e
ignore tsconfig from formatting
noahm Jan 22, 2024
b013600
Merge pull request #290 from noahm/dependabot/npm_and_yarn/developmen…
noahm Jan 22, 2024
0012ffc
Bump the development-dependencies group with 10 updates
dependabot[bot] Jan 29, 2024
f1ad38e
Merge pull request #291 from noahm/dependabot/npm_and_yarn/developmen…
noahm Jan 29, 2024
75aebdd
Updates to CIAO and Be My Baby for Streaming
triadspacefight Feb 2, 2024
3615119
Added Beanball Stardom Remix and Debug Dance.
triadspacefight Feb 2, 2024
db87461
minor edit for Debug Dance
triadspacefight Feb 2, 2024
9cdb16a
Forgot about prettier.
triadspacefight Feb 2, 2024
7d14e83
updated song list to pump it up phoenix v1.0.06
jlin99 Feb 3, 2024
8042576
made curiosity overdrive smaller
jlin99 Feb 3, 2024
9679eea
sync song data model
noahm Feb 3, 2024
c7ace0c
Merge pull request #293 from jlin99/main
noahm Feb 3, 2024
2b3e4a4
set lastUpdated on phoenix data
noahm Feb 3, 2024
a6c4ebd
Merge pull request #292 from triadspacefight/master
noahm Feb 3, 2024
fae3e75
update drs updated time
noahm Feb 3, 2024
7295a80
Bump the development-dependencies group with 15 updates
dependabot[bot] Feb 5, 2024
0c63053
Merge pull request #294 from noahm/dependabot/npm_and_yarn/developmen…
noahm Feb 6, 2024
ebee42d
Added basic layout for JUBEAT charts/songs and adjusted song.schemea.…
ikay4 Feb 7, 2024
2a0c1c2
added support to draw floats. - CREDITS TO ALBSHIN -
ikay4 Feb 7, 2024
dc5b548
added support to draw floats. - CREDITS TO ALBSHIN -
ikay4 Feb 7, 2024
2d3a9bb
(WIP) changes to level selection
ikay4 Feb 8, 2024
f71ac58
changed level selection (WIP)
ikay4 Feb 8, 2024
bf499d6
finished lvl selection code to allow float lvls and int lvls. check c…
ikay4 Feb 8, 2024
b3c7de0
minor format and logic tweaks
noahm Feb 8, 2024
efe2e07
more universal logic for stepping over available levels
noahm Feb 8, 2024
8ebdb81
fix typo in difficulty step logic
noahm Feb 8, 2024
649da2e
First steps at supporting floats in draw weights controls
noahm Feb 8, 2024
88ff6ff
weights backing data must become a map to support floats
noahm Feb 8, 2024
2a6671e
Remove lvlMax from data schema
noahm Feb 8, 2024
f973df5
delete old travis ci config
noahm Feb 9, 2024
3e493ab
Add jubeat data
noahm Feb 9, 2024
3e97e02
remove test jubeat file
noahm Feb 9, 2024
29f6906
added jubeat ave data
ikay4 Feb 9, 2024
d2e21a6
fixed formatting
ikay4 Feb 9, 2024
f1b5df9
Improve histogram graph for float difficulty levels
noahm Feb 10, 2024
ec5a635
Merge pull request #296 from ikay4/jubeatDraw
noahm Feb 10, 2024
0c1c9ac
Bump the development-dependencies group with 6 updates
dependabot[bot] Feb 12, 2024
26f6c79
dedupe deps
noahm Feb 12, 2024
7b22cd1
Merge pull request #297 from noahm/dependabot/npm_and_yarn/developmen…
noahm Feb 12, 2024
b815176
updated smx data
noahm Feb 15, 2024
cb20938
Bump the development-dependencies group with 4 updates
dependabot[bot] Feb 19, 2024
413752d
Add empty prettier config to package.json
noahm Feb 19, 2024
8e06daf
Switch to hard-bundled icons
noahm Feb 19, 2024
86e7691
add very light analytics via umami
noahm Feb 19, 2024
389b9e0
dedupe chokidar
noahm Feb 20, 2024
4fac49e
Upgrade to yarn 4.1
noahm Feb 20, 2024
dd43427
Merge pull request #298 from noahm/dependabot/npm_and_yarn/developmen…
noahm Feb 20, 2024
dc26d2e
Bump ip from 2.0.0 to 2.0.1
dependabot[bot] Feb 21, 2024
543f4b0
Merge pull request #299 from noahm/dependabot/npm_and_yarn/ip-2.0.1
noahm Feb 22, 2024
34cf1ba
Add sanbai tier ratings to A3 data
noahm Feb 22, 2024
27f0bb6
Simplify card draw logic slightly
noahm Feb 24, 2024
dcdd54d
Modernize zustand usage
noahm Feb 24, 2024
b917e8a
Goofin around with some bucketing logic
noahm Feb 24, 2024
5d36c0e
Display granular lvl on cards
noahm Feb 24, 2024
3c54db2
update histogram to pull granular levels
noahm Feb 24, 2024
fdbb03c
fix top level bucket going outside the intended bounds
noahm Feb 24, 2024
a6ccf93
treat null-bucketed charts as fully ineligible
noahm Feb 25, 2024
4c7194e
fix lots of card draw logic errors
noahm Feb 25, 2024
4687bdb
Better logic for building buckets
noahm Feb 25, 2024
6c71c5f
Use custom data structures to simplify card draw logic further
noahm Feb 25, 2024
104f8d7
further card draw logic organization
noahm Feb 25, 2024
a8254a0
Migrate old weights config as best we can
noahm Feb 25, 2024
42600f0
remove unused test css
noahm Feb 25, 2024
cb4d168
don't print as ranges if the range only holds one value
noahm Feb 25, 2024
c717ddf
Fix broken draws for tiered data sets
noahm Feb 25, 2024
3acf2cd
attempt to lazy-load split all controlls
noahm Feb 25, 2024
dc6280f
defer game data load until idle
noahm Feb 26, 2024
68d75af
async import simfile parser
noahm Feb 26, 2024
5a96724
preload main logo image
noahm Feb 26, 2024
cac2465
Bump the development-dependencies group with 9 updates
dependabot[bot] Feb 26, 2024
42d02f1
Fix broken priority labels on "VS"
noahm Feb 26, 2024
322205e
Merge pull request #302 from noahm/dependabot/npm_and_yarn/developmen…
noahm Feb 26, 2024
f04569b
Merge remote-tracking branch 'origin/main' into granular-weights
noahm Feb 26, 2024
5b4f218
Bump es5-ext from 0.10.62 to 0.10.64
dependabot[bot] Feb 27, 2024
142af88
Merge pull request #304 from noahm/dependabot/npm_and_yarn/es5-ext-0.…
noahm Feb 28, 2024
de918c4
Merge remote-tracking branch 'origin/main' into granular-weights
noahm Feb 28, 2024
da41bc5
Add a toggle for granular levels
noahm Feb 28, 2024
c54194f
New SMX songs
noahm Feb 29, 2024
b0b6e67
display granular level min/max when enabled
noahm Mar 4, 2024
c1ef35a
Rework bucket formation logic
noahm Mar 5, 2024
dddf66e
fix bucket generation for non-granular uses
noahm Mar 6, 2024
2cb46fb
fix sorting by granular levels
noahm Mar 6, 2024
3d8dea3
Put tier resolution into data file
noahm Mar 7, 2024
b5a0b2b
Default to including difficult charts
noahm Mar 7, 2024
fb4ca4a
delete removed songs
noahm Mar 7, 2024
b80a886
remove more deleted songs
noahm Mar 7, 2024
9ace7ce
more deleted songs
noahm Mar 7, 2024
2e4eb14
Update docs for sanbai tiers
noahm Mar 7, 2024
b45c2a4
extra TLC for visual layout of weighted bucket controls
noahm Mar 7, 2024
87b047c
Merge pull request #300 from noahm/granular-weights
noahm Mar 7, 2024
e5e980c
Add string for SMX plus chart category
noahm Mar 7, 2024
1184974
Allow export of current eligible charts, fixes #307
noahm Mar 7, 2024
bda12f7
patch out node types from papaparse
noahm Mar 7, 2024
aa83a6b
Bump the development-dependencies group with 15 updates
dependabot[bot] Mar 7, 2024
10970a1
can't use idlecallback on safari
noahm Mar 8, 2024
4446bdf
fix
noahm Mar 8, 2024
1a45de0
Add itl2024
noahm Mar 9, 2024
20cd668
add missing itl jacket
noahm Mar 9, 2024
916d25d
fix card granular level ranges without bucketing
noahm Mar 9, 2024
02be671
Add placeholder cards for player picks
noahm Mar 9, 2024
6e26b89
Fix redraw all with placeholders
noahm Mar 9, 2024
19a3e34
Update docs for free picks
noahm Mar 9, 2024
97e57bb
switch from symbols to strings
noahm Mar 9, 2024
1050b00
all grey highlight for consistent color on picks
noahm Mar 9, 2024
769ac4f
Merge pull request #309 from noahm/pick-placeholders
noahm Mar 9, 2024
e2dadc7
Allow filtering by folder
noahm Mar 10, 2024
09afed3
dedupe deps
noahm Mar 10, 2024
7df6d32
Merge pull request #308 from noahm/dependabot/npm_and_yarn/developmen…
noahm Mar 10, 2024
0a0ee0e
Bump follow-redirects from 1.15.4 to 1.15.6
dependabot[bot] Mar 16, 2024
245967c
Merge pull request #312 from noahm/dependabot/npm_and_yarn/follow-red…
noahm Mar 17, 2024
1b9c3d4
Bump the development-dependencies group with 11 updates
dependabot[bot] Mar 18, 2024
eb25fe8
Merge remote-tracking branch 'origin/main' into filter-by-folder
noahm Mar 20, 2024
9ac430b
Add all the flags for "new challenge charts in a3"
noahm Mar 20, 2024
70ce56d
allow flags without JA text
noahm Mar 20, 2024
8cf5a50
include "newinA3" flag by default
noahm Mar 20, 2024
1cbbe62
Merge pull request #310 from noahm/filter-by-folder
noahm Mar 20, 2024
d2eed92
Bump webpack-dev-middleware from 7.0.0 to 7.1.1
dependabot[bot] Mar 21, 2024
6f70814
update sanbai scraping
noahm Mar 24, 2024
e301422
the big A3 data update
noahm Mar 24, 2024
3c3a0bf
sorta fix granular bounds
noahm Mar 24, 2024
68608bf
Fix broken bounds inputs
noahm Mar 24, 2024
6c0cc2a
Fix default bucket count
noahm Mar 24, 2024
42c2dd9
Merge pull request #314 from noahm/dependabot/npm_and_yarn/webpack-de…
noahm Mar 24, 2024
b1a7501
dedupe
noahm Mar 24, 2024
1c889c2
Merge pull request #313 from noahm/dependabot/npm_and_yarn/developmen…
noahm Mar 24, 2024
e31ca09
Bump the development-dependencies group with 16 updates
dependabot[bot] Mar 25, 2024
faa395b
Fix to misplaced flags in A3 data
noahm Mar 25, 2024
c76f466
add sanbai url to exported csv
noahm Mar 27, 2024
33d5bc6
Pull in a few missing sanbai tiers
noahm Mar 27, 2024
1cd9c82
Exclude charts without sanbai tiers from granular mode
noahm Mar 27, 2024
f450cf2
dedupe
noahm Mar 29, 2024
9b42eb8
separate PR checks to run in parallel
noahm Mar 29, 2024
6000236
Merge pull request #315 from noahm/dependabot/npm_and_yarn/developmen…
noahm Mar 29, 2024
ca1ba25
Bump express from 4.18.2 to 4.19.2
dependabot[bot] Mar 29, 2024
5dcabcc
Merge pull request #316 from noahm/dependabot/npm_and_yarn/express-4.…
noahm Mar 29, 2024
ca6b686
Move BPL3 songs to gold exclusive, new filter for babylon's galaxy
noahm Mar 29, 2024
5d85727
slightly better handling of sanbai lock flags
noahm Mar 29, 2024
9176287
add unlock flag to spring pony
noahm Mar 29, 2024
bac169e
new smx songs
noahm Mar 30, 2024
95b16f3
Bump undici from 6.10.1 to 6.11.1
dependabot[bot] Apr 4, 2024
79d0fa4
Merge pull request #318 from noahm/dependabot/npm_and_yarn/undici-6.11.1
noahm Apr 4, 2024
ccdf754
Bump tar from 6.2.0 to 6.2.1
dependabot[bot] Apr 11, 2024
d4e6a03
Merge pull request #323 from noahm/dependabot/npm_and_yarn/tar-6.2.1
noahm Apr 11, 2024
edf6f01
smx bassmonkeys pack is available by default
noahm Apr 11, 2024
3b71302
add maimai buddies songs
albshin Apr 16, 2024
554697b
remove custom chart that ended up in data
albshin Apr 18, 2024
37579da
remove omnimix from maimai and fix constants
albshin Apr 19, 2024
1bd0691
feat: add flags for removed charts and buddies remaster charts
albshin Apr 19, 2024
2ec0c34
Update maimai-buddies.json
albshin Sep 28, 2024
001928a
Update maimai-buddies.json
albshin Sep 28, 2024
804c182
Update maimai-buddies.json
albshin Sep 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,11 @@ updates:
dependency-type: "production"
development-dependencies:
dependency-type: "development"

# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
# Look for GitHub Actions workflows in the `root` directory
directory: "/"
# Check the for updates once a week
schedule:
interval: "weekly"
49 changes: 40 additions & 9 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,55 @@
name: PR Checks
name: Checks

on:
pull_request:
branches: [main]

jobs:
validate:
name: Validate & Build
name: Validate Song Data
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
- run: yarn --immutable
- run: yarn validate:json
name: Validate Song Data

typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
- run: yarn --immutable
- run: yarn validate:ts
name: Validate Types
- run: yarn webpack
name: Build App

formatting:
name: Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
- run: yarn --immutable
- run: yarn validate:format

build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
- run: yarn --immutable
- name: Build App
run: yarn webpack
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
dist
node_modules
/*.zip
scripts/scraping/textage/**
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/assets/jackets/*
tsconfig.json
2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
nodejs 20
# pinned to an older version see: https://github.com/twuni/asdf-yarn/issues/33#issuecomment-1821442812
yarn 1.22.19
4 changes: 0 additions & 4 deletions .travis.yml

This file was deleted.

36 changes: 36 additions & 0 deletions .yarn/patches/@types-papaparse-npm-5.3.14-864eddd3a0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
diff --git a/index.d.ts b/index.d.ts
index 9c9fd674e1ac8eebbce1bfcfa0ea3d6cf07835cf..908b60f84f0ccfe723937feda37f02e494a57881 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,6 +1,3 @@
-/// <reference types="node" />
-
-import { Duplex } from "stream";

export as namespace Papa;

@@ -58,15 +55,6 @@ export function parse<T>(
| ParseRemoteConfig<T>
),
): void;
-/**
- * Parse in a node streaming style
- * @param stream `NODE_STREAM_INPUT`
- * @param config a config object.
- * @returns a node duplex stream.
- *
- * @see https://github.com/mholt/PapaParse#papa-parse-for-node
- */
-export function parse(stream: typeof NODE_STREAM_INPUT, config?: ParseConfig): Duplex;

/**
* Unparses javascript data objects and returns a csv string
@@ -121,7 +109,7 @@ export let RemoteChunkSize: number;
export let DefaultDelimiter: string;

/** File object */
-export type LocalFile = File | NodeJS.ReadableStream;
+export type LocalFile = File;

/**
* On Papa there are actually more classes exposed
672 changes: 336 additions & 336 deletions .yarn/releases/yarn-4.0.2.cjs → .yarn/releases/yarn-4.1.0.cjs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ enableGlobalCache: false

nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.0.2.cjs
yarnPath: .yarn/releases/yarn-4.1.0.cjs
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# DDR Tools

[![Discord](https://img.shields.io/discord/1013159796024823898?label=discord&style=flat-square)](https://discord.gg/QPyEATsbP7) ![GitHub contributors](https://img.shields.io/github/contributors/noahm/ddrcarddraw?style=flat-square) ![GitHub branch checks state](https://img.shields.io/github/checks-status/noahm/ddrcarddraw/main?style=flat-square) ![GitHub last commit](https://img.shields.io/github/last-commit/noahm/ddrcarddraw?style=flat-square) ![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/noahm/DDRCardDraw?style=flat-square)
[![Discord](https://img.shields.io/discord/1013159796024823898?label=discord&style=flat-square)](https://discord.gg/QPyEATsbP7)
[![GitHub contributors](https://img.shields.io/github/contributors/noahm/ddrcarddraw?style=flat-square)](https://github.com/noahm/DDRCardDraw/graphs/contributors)
[![GitHub branch checks state](https://img.shields.io/github/checks-status/noahm/ddrcarddraw/main?style=flat-square)](https://github.com/noahm/DDRCardDraw/actions/workflows/pr-checks.yml)
[![GitHub last commit](https://img.shields.io/github/last-commit/noahm/ddrcarddraw?style=flat-square)](https://github.com/noahm/DDRCardDraw/commits/main/)

The official build is available at [https://ddr.tools/](https://ddr.tools/).
The official build is available at [https://ddr.tools/](https://ddr.tools/)

Read all about what the app can do [in the user manual.](https://github.com/noahm/DDRCardDraw/blob/main/docs/readme.md)
Read all about what the app can do [in the user manual](https://github.com/noahm/DDRCardDraw/blob/main/docs/readme.md)

## Customizing / Contributing

This app can be easily customized for any format a tournament might use, including adding song data for other games. If you have requests or ideas, you're welcome reach out on our [Discord server](https://discord.gg/QPyEATsbP7), [Facebook messenger](https://m.me/noah.manneschmidt), or [on the fediverse](https://mastodon.content.town/@noahm).
This app can be easily customized for novel formats a tournament might use. If you have feature requests or ideas, you're welcome reach out on our [Discord server](https://discord.gg/QPyEATsbP7), [Facebook messenger](https://m.me/noah.manneschmidt), or [on the fediverse](https://mastodon.content.town/@noahm).

If you want to take a stab at developing features yourself, you will need have node.js >= 18.0.0 installed along with [yarn](https://yarnpkg.com/) and some familarity with React probably helps.
If you want to take a stab at developing on the app yourself, you will need have node.js >= 18.0.0 installed along with [yarn](https://yarnpkg.com/). Some familarity with React will also help.

Clone this repo to your computer. Then the following commands will be useful:

Expand Down Expand Up @@ -50,5 +53,3 @@ yarn import:itg path/to/pack/folder some-stub-name
# https://github.com/AnyhowStep/pump-out-sqlite3-dump/
yarn import:pump path/to/pumpout/db
```

Ideas for future develoment are now being tracked as issues on this repo. Feel free to jump in if you want to help build out something new!
Binary file modified docs/images/eligible-charts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/local-import-dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/settings-drawer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 32 additions & 9 deletions docs/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,23 @@ Some of the less self-explanatory settings are described below.
![Screenshot of the settings drawer](images/settings-drawer.png)

<dl>
<dt>Free picks
<dd>Adds extra empty placeholder cards to the beginning of each draw which can be replaced with player picks.

<dt>Reorder by pick/ban
<dd>Moves charts to the beginning or end of the set when charts are protected or vetoed.

<dt>Pocket picks must match draw options
<dd>Limits charts selected in a pocket pick action to those that match current draw settings
<dt>Picks must match draw options
<dd>Limits charts selected in a free/pocket pick action to those that match current draw settings.

<dt>Sort by chart level
<dd>Sorts the drawn charts by difficulty level, from lowest on the left, to highest on the right. When not enabled the chart order is randomized.

<dt>Use granular levels
<dd>Some game data (DDR A3) has additional, more granular comunity-provided difficulty level available for use. (SanbaiIceCream Tiers) When this setting is enabled "Lvl Min" and "Lvl Max" can be set to sub-level values, and sub-level buckets are available within the Weighted Distribution settings.

<dt>Hide vetoed charts
<dd>When players take a veto action on a chart, hide from view it completely, rather than simply marking it as vetoed.
</dl>

### Weighted Distributions
Expand Down Expand Up @@ -70,8 +82,8 @@ The weighted distribution options allows you to replace the natrual chances of s
<dt>Force Expected Distribution
<dd>Reduces randomness by preventing any outlier draws that contain more than the expected number of charts of each difficulty level. (e.g. For the above example, this would limit a 3 card draw to either zero or one level 22 chart.)

<dt>Group Top End Charts
<dd>Allows grouping charts of multiple levels into a single "bucket". This helps when you want a higher probability of hard stuff, but your game of choice has a very limited number of charts at the highest levels.
<dt>Group cards into this many buckets
<dd>A very versatile setting. At lower numbers it will combinine charts across multiple levels into fewer "difficulty buckets" that span several levels, or at higher numbers (when combined with "Use granular levels") can divide individual levels down into sub-level ranges that can be weighted differently.
</dl>

## Actions
Expand Down Expand Up @@ -118,12 +130,16 @@ Once enabled, labels appear above each drawn set of cards. Players and round nam

## Preview Eligible Charts

A toggle to "Show eligible charts" is included at the top (in the settings drawer for mobile devices) and can be useful for multiple reasons. First and foremost, it allows easy review of the current song data and helps catch issues. Any special song categories like "Unlockable songs" can be shown separately to confirm the appropriate categorization.
A toggle to "Show eligible charts" is included at the top (in the settings drawer for mobile devices) which lists all charts that _could be drawn_ by current settings along with a histogram chart to provide a quick summary of the overall difficulty pool. First and foremost, it allows easy review of the current song data and helps catch issues. Any special song categories like "Unlockable songs" can be shown separately to confirm the appropriate categorization.

Second, a color-coded histogram is displayed at the top to provide a quick summary of the over-all difficulty pool included by the current settings. This can also be handy to summarize an entire game's song library by using the settings to include all charts.
Second, it can also be handy to summarize an entire game's song library by using the settings to include all charts, or to view the subset of a game's charts that are used according to specific tournament settings.

![Screenshot of eligible charts toggle enabled](images/eligible-charts.png)

### Export Chart Data

While viewing the list of eligible charts, the "Export Chart Data" button (icon only for mobile devices) will save the current list of charts as a CSV file for future reference or data processing.

## Save as Image

Each drawn set has a camera icon in the top right. This saves an image of the current set with a transparent background suitable for use in stream layouts and other such designs. Resize your browser window to adjust the aspect ratio of the generated image.
Expand All @@ -140,7 +156,13 @@ The app is aware of when it is loaded into an OBS Browser Source and will automa

## SM5/ITG imports

Custom builds with data files based on ITG song packs are trivial to prepare. The only requirements are a working installation of `node.js` and `yarn`, and a copy of this project.
Running card draw based on local ITG song packs are trivial to prepare. Simply drag and drop the pack folder into the browser window to begin. Local data imports only last until your browser tab is closed or reloaded.

![Screenshot of a dialog confirming a local data import](images/local-import-dialog.png)

The app has special support for tiered packs as used in some tournaments where each song title includes a tier tag `[T01] Song Name`. When importing in tiered mode, the draw settings will allow you to draw charts based on the given tier rather than the chart difficulty levels.

You can also make a persistent import of local data using a local development copy of the project.

In a terminal:

Expand All @@ -155,6 +177,9 @@ yarn
# providing a stub name without spaces
yarn import:itg path/to/pack/folder some-stub-name

# OR, if importing a tiered pack
yarn import:itg path/to/pack/folder some-stub-name tiered

# then you have a choice of either of the following:

# start a local development server.
Expand All @@ -166,8 +191,6 @@ yarn start
yarn build
```

The app also has special support for "tiered" packs used in tournaments where songs of different groups are organized by tier using prefixes of the form `[T01] Song Name`. When importing packs of this style, add `tiered` as an additional import arg after your stub name.

# Contact

DDR Tools is primarily developed by me, Noah Manneschmidt, aka Cathadan. I'm open to contact on a variety of platforms:
Expand Down
Loading