1031 lines
112 KiB
HTML
1031 lines
112 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="icon" href="images/icon.ico" type="image/x-icon">
|
||
<title>Daniel Benchmark Report</title>
|
||
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
|
||
<style>
|
||
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&display=swap');
|
||
|
||
:root {
|
||
--bg: #0e0f14;
|
||
--surface: #16181f;
|
||
--surface2: #1d1f28;
|
||
--border: #2a2d3a;
|
||
--text: #dde1f5;
|
||
--muted: #626880;
|
||
--exact: #7dd3fc;
|
||
--adjacent: #4ade80;
|
||
--within: #fb923c;
|
||
--miss: #ef4444;
|
||
--accent: #818cf8;
|
||
}
|
||
|
||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||
html { scroll-behavior: smooth; }
|
||
|
||
body {
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
font-family: 'JetBrains Mono', monospace;
|
||
font-size: 14px;
|
||
line-height: 1.8;
|
||
}
|
||
|
||
a { color: var(--exact); text-decoration: none; }
|
||
a:hover { text-decoration: underline; }
|
||
|
||
.page {
|
||
max-width: 1100px;
|
||
margin: 0 auto;
|
||
padding: 0 32px;
|
||
}
|
||
|
||
/* ── Nav ─────────────────────────────────────────────────────────── */
|
||
nav {
|
||
border-bottom: 1px solid var(--border);
|
||
padding: 20px 0;
|
||
margin-bottom: 48px;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
}
|
||
.nav-logo { font-size: 16px; font-weight: 700; color: var(--text); }
|
||
.nav-logo span { color: var(--accent); }
|
||
.nav-links { display: flex; gap: 24px; list-style: none; }
|
||
.nav-links a {
|
||
font-size: 12px; color: var(--muted);
|
||
letter-spacing: 0.08em; text-transform: uppercase;
|
||
}
|
||
.nav-links a:hover { color: var(--text); text-decoration: none; }
|
||
|
||
/* ── Sections ────────────────────────────────────────────────────── */
|
||
section { margin-bottom: 48px; }
|
||
|
||
h1 {
|
||
font-size: 52px; font-weight: 700; color: var(--text);
|
||
line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 8px;
|
||
}
|
||
h1 span { color: var(--accent); }
|
||
|
||
h2 {
|
||
font-size: 20px; font-weight: 700; color: var(--text);
|
||
margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid var(--border);
|
||
}
|
||
|
||
p { color: var(--muted); margin-bottom: 16px; max-width: 600px; }
|
||
|
||
.meta {
|
||
font-size: 11px; color: var(--muted); letter-spacing: 0.12em;
|
||
text-transform: uppercase; margin-bottom: 32px;
|
||
}
|
||
|
||
/* ── Buttons ─────────────────────────────────────────────────────── */
|
||
.btn {
|
||
display: inline-flex; align-items: center; gap: 8px;
|
||
padding: 10px 20px; font-family: 'JetBrains Mono', monospace;
|
||
font-size: 13px; cursor: pointer; border: 1px solid var(--border);
|
||
background: var(--surface); color: var(--text); text-decoration: none;
|
||
transition: border-color 0.15s, color 0.15s;
|
||
}
|
||
.btn:hover { border-color: var(--exact); color: var(--exact); text-decoration: none; }
|
||
|
||
/* ── Stat row ────────────────────────────────────────────────────── */
|
||
.stats-row {
|
||
display: flex; border: 1px solid var(--border); background: var(--surface);
|
||
margin-bottom: 12px;
|
||
}
|
||
.stat { flex: 1; padding: 20px 24px; border-right: 1px solid var(--border); }
|
||
.stat:last-child { border-right: none; }
|
||
.stat-val { font-size: 26px; font-weight: 700; display: block; line-height: 1; margin-bottom: 6px; }
|
||
.stat-lbl { font-size: 11px; color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; }
|
||
.stat-desc { font-size: 11px; color: var(--muted); opacity: 0.6; margin-top: 4px; line-height: 1.4; }
|
||
.c-exact { color: var(--exact); }
|
||
.c-adjacent { color: var(--adjacent); }
|
||
.c-within { color: var(--within); }
|
||
.c-miss { color: var(--miss); }
|
||
.c-accent { color: var(--accent); }
|
||
.c-muted { color: var(--muted); }
|
||
|
||
/* ── Chart grid ─────────────────────────────────────────────────── */
|
||
.charts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 32px; }
|
||
.chart-box {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
padding: 20px 24px;
|
||
}
|
||
.chart-box.full { grid-column: 1 / -1; }
|
||
.chart-wrap { position: relative; height: 340px; }
|
||
.chart-wrap.tall { height: 420px; }
|
||
.chart-title {
|
||
font-size: 11px; color: var(--muted); text-transform: uppercase;
|
||
letter-spacing: 0.08em; margin-bottom: 14px;
|
||
}
|
||
|
||
/* ── Table ──────────────────────────────────────────────────────── */
|
||
.tbl-wrap { overflow-x: auto; }
|
||
table { width: 100%; border-collapse: collapse; font-size: 13px; }
|
||
th, td { padding: 6px 10px; text-align: left; border-bottom: 1px solid var(--border); white-space: nowrap; }
|
||
th {
|
||
color: var(--muted); text-transform: uppercase; font-size: 11px;
|
||
letter-spacing: 0.08em; background: var(--surface); position: sticky; top: 0;
|
||
}
|
||
td.num { text-align: right; font-variant-numeric: tabular-nums; }
|
||
td.delta { font-weight: bold; }
|
||
td.song-name { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
|
||
td.err { color: var(--miss); }
|
||
tr:hover td { background: var(--surface); }
|
||
.flag.exact { color: var(--exact); font-weight: bold; }
|
||
.flag.adjacent { color: var(--adjacent); font-weight: bold; }
|
||
.flag.within { color: var(--within); font-weight: bold; }
|
||
.flag.miss { color: var(--miss); font-weight: bold; }
|
||
.row-miss td { opacity: 0.85; }
|
||
|
||
/* ── Dan / skillset tables ──────────────────────────────────────── */
|
||
.dan-table td.pos { color: var(--exact); }
|
||
.dan-table td.neg { color: var(--miss); }
|
||
.dan-table td.neutral { color: var(--adjacent); }
|
||
|
||
/* ── Filter bar ─────────────────────────────────────────────────── */
|
||
.filter-bar { display: flex; gap: 8px; margin-bottom: 10px; align-items: center; flex-wrap: wrap; }
|
||
.filter-bar label { color: var(--muted); font-size: 12px; }
|
||
.filter-bar input, .filter-bar select {
|
||
background: var(--surface); border: 1px solid var(--border); color: var(--text);
|
||
padding: 4px 8px; font-family: 'JetBrains Mono', monospace; font-size: 13px;
|
||
}
|
||
.filter-btn {
|
||
background: var(--surface); border: 1px solid var(--border); color: var(--accent);
|
||
padding: 4px 10px; cursor: pointer; font-family: 'JetBrains Mono', monospace; font-size: 13px;
|
||
}
|
||
.filter-btn:hover { background: var(--border); }
|
||
#filter-count { color: var(--muted); font-size: 11px; }
|
||
|
||
/* ── Footer ─────────────────────────────────────────────────────── */
|
||
footer {
|
||
border-top: 1px solid var(--border); padding: 24px 0 48px;
|
||
display: flex; justify-content: space-between;
|
||
}
|
||
footer p { font-size: 12px; color: var(--muted); margin: 0; max-width: 100%; }
|
||
|
||
/* ── Responsive ─────────────────────────────────────────────────── */
|
||
@media (max-width: 700px) {
|
||
h1 { font-size: 36px; }
|
||
.stats-row { flex-direction: column; }
|
||
.stat { border-right: none; border-bottom: 1px solid var(--border); }
|
||
.charts { grid-template-columns: 1fr; }
|
||
.nav-links { display: none; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="page">
|
||
|
||
<!-- Nav -->
|
||
<nav>
|
||
<div class="nav-logo">Daniel</div>
|
||
<ul class="nav-links">
|
||
<li><a href="index.html">← Back to Daniel</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<!-- Header -->
|
||
<section>
|
||
<h1>Benchmark Report</h1>
|
||
<p class="meta">145 maps · 0 errors · 2026-03-29 09:47</p>
|
||
|
||
<div class="stats-row">
|
||
<div class="stat">
|
||
<span class="stat-val c-exact">52.4%</span>
|
||
<div class="stat-lbl">Exact ±0.165</div>
|
||
<div class="stat-desc">Predicted the correct dan level and tier</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-adjacent">37.2%</span>
|
||
<div class="stat-lbl">Adjacent ±0.495</div>
|
||
<div class="stat-desc">Off by one tier (e.g. Mid predicted as High)</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-within">9.0%</span>
|
||
<div class="stat-lbl">Within ±1.0</div>
|
||
<div class="stat-desc">Within one full dan level of the expected tier</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-miss">1.4%</span>
|
||
<div class="stat-lbl">Miss >1.0</div>
|
||
<div class="stat-desc">More than one full dan level away from expected tier</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-muted">145</span>
|
||
<div class="stat-lbl">Total Maps</div>
|
||
<div class="stat-desc">Number of beatmaps processed in this benchmark run</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="stats-row">
|
||
<div class="stat">
|
||
<span class="stat-val c-exact">0.215</span>
|
||
<div class="stat-lbl">MAE</div>
|
||
<div class="stat-desc">Mean Absolute Error - average size of all errors ignoring direction</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-exact">0.150</span>
|
||
<div class="stat-lbl">Median AE</div>
|
||
<div class="stat-desc">Median absolute error</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-exact">0.304</span>
|
||
<div class="stat-lbl">Std Dev</div>
|
||
<div class="stat-desc">Standard deviation of errors</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-accent">-0.003</span>
|
||
<div class="stat-lbl">Bias</div>
|
||
<div class="stat-desc">Average signed error</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-adjacent">+0.900</span>
|
||
<div class="stat-lbl">Max Overrate</div>
|
||
<div class="stat-desc">Largest single overestimation (predicted too hard)</div>
|
||
</div>
|
||
<div class="stat">
|
||
<span class="stat-val c-miss">-1.380</span>
|
||
<div class="stat-lbl">Max Underrate</div>
|
||
<div class="stat-desc">Largest single underestimation (predicted too easy)</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Charts — Overall -->
|
||
<section>
|
||
<h2>Charts — Overall</h2>
|
||
<div class="charts">
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Accuracy breakdown</div>
|
||
<div class="chart-wrap"><canvas id="donut"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Per-dan accuracy % (stacked)</div>
|
||
<div class="chart-wrap"><canvas id="dan-bar"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Δ numeric vs difficulty</div>
|
||
<div class="chart-wrap tall"><canvas id="delta-kde"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Expected vs Predicted</div>
|
||
<div class="chart-wrap tall"><canvas id="scatter"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Cumulative accuracy curve</div>
|
||
<div class="chart-wrap tall"><canvas id="cum-curve"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Per-dan bias & MAE</div>
|
||
<div class="chart-wrap"><canvas id="dan-bias"></canvas></div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Charts — By Skillset -->
|
||
<section>
|
||
<h2>Charts — By Skillset</h2>
|
||
<div class="charts">
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Per-skillset accuracy % (stacked)</div>
|
||
<div class="chart-wrap tall"><canvas id="sk-bar"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box full">
|
||
<div class="chart-title">Per-skillset bias & MAE</div>
|
||
<div class="chart-wrap"><canvas id="sk-bias"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Scatter — Jack</div>
|
||
<div class="chart-wrap"><canvas id="scatter-jack"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Scatter — Tech</div>
|
||
<div class="chart-wrap"><canvas id="scatter-tech"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Scatter — Speed</div>
|
||
<div class="chart-wrap"><canvas id="scatter-speed"></canvas></div>
|
||
</div>
|
||
|
||
<div class="chart-box">
|
||
<div class="chart-title">Scatter — Stamina</div>
|
||
<div class="chart-wrap"><canvas id="scatter-stamina"></canvas></div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Per-Dan Breakdown -->
|
||
<section>
|
||
<h2>Per-Dan Breakdown</h2>
|
||
<div class="tbl-wrap">
|
||
<table class="dan-table">
|
||
<thead><tr>
|
||
<th>Dan</th><th>N</th><th>Exact%</th><th>Adjacent%</th><th>Within%</th><th>Miss%</th><th>MAE</th><th>Bias</th>
|
||
</tr></thead>
|
||
<tbody>
|
||
<tr><td>Alpha</td><td>10</td><td class="pos">70.0%</td><td class="neutral">20.0%</td><td class="neutral">10.0%</td><td class="neg">0.0%</td><td>0.185</td><td class="pos">+0.091</td></tr>
|
||
<tr><td>Beta</td><td>12</td><td class="pos">41.7%</td><td class="neutral">50.0%</td><td class="neutral">8.3%</td><td class="neg">0.0%</td><td>0.264</td><td class="neg">-0.104</td></tr>
|
||
<tr><td>Gamma</td><td>25</td><td class="pos">44.0%</td><td class="neutral">36.0%</td><td class="neutral">20.0%</td><td class="neg">0.0%</td><td>0.250</td><td class="pos">+0.013</td></tr>
|
||
<tr><td>Delta</td><td>35</td><td class="pos">68.6%</td><td class="neutral">31.4%</td><td class="neutral">0.0%</td><td class="neg">0.0%</td><td>0.133</td><td class="neg">-0.029</td></tr>
|
||
<tr><td>Epsilon</td><td>33</td><td class="pos">51.5%</td><td class="neutral">39.4%</td><td class="neutral">9.1%</td><td class="neg">0.0%</td><td>0.201</td><td class="pos">+0.034</td></tr>
|
||
<tr><td>Zeta</td><td>22</td><td class="pos">31.8%</td><td class="neutral">45.5%</td><td class="neutral">13.6%</td><td class="neg">9.1%</td><td>0.333</td><td class="neg">-0.039</td></tr>
|
||
<tr><td>Eta</td><td>8</td><td class="pos">62.5%</td><td class="neutral">37.5%</td><td class="neutral">0.0%</td><td class="neg">0.0%</td><td>0.164</td><td class="pos">+0.046</td></tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Per-Skillset Breakdown -->
|
||
<section>
|
||
<h2>Per-Skillset Breakdown</h2>
|
||
<div class="tbl-wrap">
|
||
<table class="dan-table">
|
||
<thead><tr>
|
||
<th>Skillset</th><th>N</th><th>Exact%</th><th>Adjacent%</th><th>Within%</th><th>Miss%</th><th>MAE</th><th>Bias</th>
|
||
</tr></thead>
|
||
<tbody>
|
||
<tr><td>Jack</td><td>61</td><td class="pos">63.9%</td><td class="neutral">23.0%</td><td class="neutral">9.8%</td><td class="neg">3.3%</td><td>0.207</td><td class="neg">-0.021</td></tr>
|
||
<tr><td>Tech</td><td>27</td><td class="pos">48.1%</td><td class="neutral">48.1%</td><td class="neutral">3.7%</td><td class="neg">0.0%</td><td>0.187</td><td class="pos">+0.007</td></tr>
|
||
<tr><td>Speed</td><td>31</td><td class="pos">35.5%</td><td class="neutral">45.2%</td><td class="neutral">19.4%</td><td class="neg">0.0%</td><td>0.282</td><td class="pos">+0.098</td></tr>
|
||
<tr><td>Stamina</td><td>26</td><td class="pos">50.0%</td><td class="neutral">50.0%</td><td class="neutral">0.0%</td><td class="neg">0.0%</td><td>0.182</td><td class="neg">-0.092</td></tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Map Results -->
|
||
<section>
|
||
<h2>Map Results</h2>
|
||
<div class="filter-bar">
|
||
<label>Filter:</label>
|
||
<input type="text" id="search" placeholder="song name / tier…" oninput="filterTable()">
|
||
<select id="flag-filter" onchange="filterTable()">
|
||
<option value="">All flags</option>
|
||
<option value="exact">✓ Exact</option>
|
||
<option value="adjacent">~ Adjacent</option>
|
||
<option value="within">≈ Within</option>
|
||
<option value="miss">✗ Miss</option>
|
||
</select>
|
||
<select id="dan-filter" onchange="filterTable()">
|
||
<option value="">All dans</option>
|
||
<option value="Alpha">Alpha</option><option value="Beta">Beta</option><option value="Gamma">Gamma</option><option value="Delta">Delta</option><option value="Epsilon">Epsilon</option><option value="Zeta">Zeta</option><option value="Eta">Eta</option>
|
||
</select>
|
||
<select id="sk-filter" onchange="filterTable()">
|
||
<option value="">All skillsets</option>
|
||
<option value="jack">Jack</option><option value="tech">Tech</option><option value="speed">Speed</option><option value="stamina">Stamina</option>
|
||
</select>
|
||
<button class="filter-btn" onclick="clearFilters()">Clear</button>
|
||
<span id="filter-count"></span>
|
||
</div>
|
||
<div class="tbl-wrap">
|
||
<table id="results-table">
|
||
<thead><tr>
|
||
<th onclick="sortTable(0)" style="cursor:pointer">Song ▾</th>
|
||
<th onclick="sortTable(1)" style="cursor:pointer">Expected</th>
|
||
<th onclick="sortTable(2)" style="cursor:pointer">Got</th>
|
||
<th onclick="sortTable(3)" style="cursor:pointer">Skillset</th>
|
||
<th onclick="sortTable(4)" style="cursor:pointer">SR</th>
|
||
<th onclick="sortTable(5)" style="cursor:pointer">Numeric</th>
|
||
<th onclick="sortTable(6)" style="cursor:pointer">Δ</th>
|
||
<th>Flag</th>
|
||
</tr></thead>
|
||
<tbody id="results-body">
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Alpha-mid-jack-dark_sambaland.osu">Dark Sambaland</td><td>Alpha Mid</td><td>Alpha Mid</td><td class="num sk-tag">jack</td><td class="num">6.592</td><td class="num">11.58</td><td class="num delta">+0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="alpha-mid-speed-air(0.915).osu">Air (0.915x)</td><td>Alpha Mid</td><td>Beta Mid</td><td class="num sk-tag">speed</td><td class="num">6.937</td><td class="num">12.40</td><td class="num delta">+0.90</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="alpha-mid-speed-makiba.osu">Makiba</td><td>Alpha Mid</td><td>Alpha Mid</td><td class="num sk-tag">speed</td><td class="num">6.568</td><td class="num">11.52</td><td class="num delta">+0.02</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="alpha-mid-stamina-babel(1.3).osu">Babel (1.3x)</td><td>Alpha Mid</td><td>Alpha Mid</td><td class="num sk-tag">stamina</td><td class="num">6.514</td><td class="num">11.38</td><td class="num delta">-0.12</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="alpha-mid-stamina-lazorbeamz(1.0).osu">Lazorbeamz (1.0x)</td><td>Alpha Mid</td><td>Alpha Mid</td><td class="num sk-tag">stamina</td><td class="num">6.542</td><td class="num">11.45</td><td class="num delta">-0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="alpha-mid-tech-odoru(1.1).osu">Odoru (1.1x)</td><td>Alpha Mid</td><td>Alpha Mid</td><td class="num sk-tag">tech</td><td class="num">6.551</td><td class="num">11.47</td><td class="num delta">-0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="alpha-midhigh-speed-yasashisa_no_riyuu.osu">Yasashisa No Riyuu</td><td>Alpha Mid/High</td><td>Beta Low</td><td class="num sk-tag">speed</td><td class="num">6.782</td><td class="num">12.05</td><td class="num delta">+0.38</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="alpha-high-speed-yell(0.975).osu">Yell (0.975x)</td><td>Alpha High</td><td>Alpha High</td><td class="num sk-tag">speed</td><td class="num">6.689</td><td class="num">11.82</td><td class="num delta">-0.01</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="alpha-high-tech-angel's_salad.osu">Angel'S Salad</td><td>Alpha High</td><td>Alpha Mid</td><td class="num sk-tag">tech</td><td class="num">6.615</td><td class="num">11.64</td><td class="num delta">-0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="alpha-high-tech-bismuth_nebula.osu">Bismuth Nebula</td><td>Alpha High</td><td>Alpha High</td><td class="num sk-tag">tech</td><td class="num">6.663</td><td class="num">11.76</td><td class="num delta">-0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Beta-mid-jack-paradigm_shift.osu">Paradigm Shift</td><td>Beta Mid</td><td>Beta Mid</td><td class="num sk-tag">jack</td><td class="num">6.937</td><td class="num">12.40</td><td class="num delta">-0.10</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="beta-mid-speed-5Oul On D!Splay.osu">5Oul On D!Splay</td><td>Beta Mid</td><td>Beta Low</td><td class="num sk-tag">speed</td><td class="num">6.861</td><td class="num">12.23</td><td class="num delta">-0.27</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="beta-mid-speed-amber_starlight.osu">Amber Starlight</td><td>Beta Mid</td><td>Alpha High</td><td class="num sk-tag">speed</td><td class="num">6.722</td><td class="num">11.90</td><td class="num delta">-0.60</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="beta-mid-speed-hideho(0.875).osu">Hideho (0.875x)</td><td>Beta Mid</td><td>Beta Mid</td><td class="num sk-tag">speed</td><td class="num">6.946</td><td class="num">12.41</td><td class="num delta">-0.09</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="beta-mid-speed-uso_no_hibana(0.9).osu">Uso No Hibana (0.9x)</td><td>Beta Mid</td><td>Beta Low</td><td class="num sk-tag">speed</td><td class="num">6.897</td><td class="num">12.31</td><td class="num delta">-0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="beta-mid-stamina-cycle_hit(1.4).osu">Cycle Hit (1.4x)</td><td>Beta Mid</td><td>Beta High</td><td class="num sk-tag">stamina</td><td class="num">7.186</td><td class="num">12.95</td><td class="num delta">+0.45</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="beta-mid-stamina-time_to_say_goodbye(1.0).osu">Time To Say Goodbye (1.0x)</td><td>Beta Mid</td><td>Beta Mid</td><td class="num sk-tag">stamina</td><td class="num">7.042</td><td class="num">12.63</td><td class="num delta">+0.13</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="beta-mid-tech-blue_planet.osu">Blue Planet</td><td>Beta Mid</td><td>Beta High</td><td class="num sk-tag">tech</td><td class="num">7.126</td><td class="num">12.82</td><td class="num delta">+0.32</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="beta-mid-tech-psychology(1.15).osu">Psychology (1.15x)</td><td>Beta Mid</td><td>Beta Low</td><td class="num sk-tag">tech</td><td class="num">6.786</td><td class="num">12.06</td><td class="num delta">-0.44</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="beta-midhigh-speed-pastel_subliminal(0.9).osu">Pastel Subliminal (0.9x)</td><td>Beta Mid/High</td><td>Beta Low</td><td class="num sk-tag">speed</td><td class="num">6.872</td><td class="num">12.25</td><td class="num delta">-0.42</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="beta-high-speed-crystal_world_fracture(0.975x).osu">Crystal World Fracture</td><td>Beta High</td><td>Beta High</td><td class="num sk-tag">speed</td><td class="num">7.159</td><td class="num">12.89</td><td class="num delta">+0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="beta-high-stamina-observation(1.2).osu">Observation (1.2x)</td><td>Beta High</td><td>Beta High</td><td class="num sk-tag">stamina</td><td class="num">7.089</td><td class="num">12.73</td><td class="num delta">-0.10</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Gamma-low-jack-hiasobi(1.1).osu">Hiasobi (1.1x)</td><td>Gamma Low</td><td>Gamma Low</td><td class="num sk-tag">jack</td><td class="num">7.279</td><td class="num">13.14</td><td class="num delta">-0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Gamma-low-jack-reflect(1.05).osu">Reflect (1.05x)</td><td>Gamma Low</td><td>Gamma Low</td><td class="num sk-tag">jack</td><td class="num">7.212</td><td class="num">13.01</td><td class="num delta">-0.16</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="gamma-low-jack-hustler.osu">Hustler</td><td>Gamma Low</td><td>Gamma Low</td><td class="num sk-tag">jack</td><td class="num">7.275</td><td class="num">13.14</td><td class="num delta">-0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="gamma-low-stamina-anomaly(1.2).osu">Anomaly (1.2x)</td><td>Gamma Low</td><td>Beta High</td><td class="num sk-tag">stamina</td><td class="num">7.181</td><td class="num">12.94</td><td class="num delta">-0.23</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-within" data-sk="tech"><td class="song-name" title="gamma-low-tech-tornado.osu">Tornado</td><td>Gamma Low</td><td>Beta Mid</td><td class="num sk-tag">tech</td><td class="num">6.999</td><td class="num">12.53</td><td class="num delta">-0.64</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="gamma-lowmid-speed-sunnyshinyring.osu">Sunnyshinyring</td><td>Gamma Low/Mid</td><td>Gamma High</td><td class="num sk-tag">speed</td><td class="num">7.615</td><td class="num">13.83</td><td class="num delta">+0.50</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Gamma-mid-jack-break(1.1).osu">Break (1.1x)</td><td>Gamma Mid</td><td>Gamma High</td><td class="num sk-tag">jack</td><td class="num">7.539</td><td class="num">13.67</td><td class="num delta">+0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="Gamma-mid-jack-captain_jack(1.2).osu">Captain Jack (1.2x)</td><td>Gamma Mid</td><td>Beta High</td><td class="num sk-tag">jack</td><td class="num">7.115</td><td class="num">12.79</td><td class="num delta">-0.71</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Gamma-mid-jack-do_it_to_it(1.2).osu">Do It To It (1.2x)</td><td>Gamma Mid</td><td>Gamma Mid</td><td class="num sk-tag">jack</td><td class="num">7.394</td><td class="num">13.38</td><td class="num delta">-0.12</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="gamma-mid-jack-everything_black.osu">Everything Black</td><td>Gamma Mid</td><td>Gamma High</td><td class="num sk-tag">jack</td><td class="num">7.600</td><td class="num">13.80</td><td class="num delta">+0.30</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="gamma-mid-speed-credens(0.9).osu">Credens (0.9x)</td><td>Gamma Mid</td><td>Delta Low</td><td class="num sk-tag">speed</td><td class="num">7.761</td><td class="num">14.08</td><td class="num delta">+0.58</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="gamma-mid-speed-p8107(1.4).osu">P8107 (1.4x)</td><td>Gamma Mid</td><td>Gamma Mid</td><td class="num sk-tag">speed</td><td class="num">7.535</td><td class="num">13.67</td><td class="num delta">+0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="gamma-mid-speed-reflec_streamz.osu">Reflec Streamz</td><td>Gamma Mid</td><td>Gamma High</td><td class="num sk-tag">speed</td><td class="num">7.562</td><td class="num">13.72</td><td class="num delta">+0.22</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="gamma-mid-stamina-cyber_inductance(1.4).osu">Cyber Inductance (1.4x)</td><td>Gamma Mid</td><td>Gamma Mid</td><td class="num sk-tag">stamina</td><td class="num">7.504</td><td class="num">13.60</td><td class="num delta">+0.10</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="gamma-mid-stamina-phosphor(1.05).osu">Phosphor (1.05x)</td><td>Gamma Mid</td><td>Gamma Low</td><td class="num sk-tag">stamina</td><td class="num">7.239</td><td class="num">13.06</td><td class="num delta">-0.44</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="gamma-mid-stamina-shinbatsu_o_tadori(1.05).osu">Shinbatsu O Tadori (1.05x)</td><td>Gamma Mid</td><td>Gamma High</td><td class="num sk-tag">stamina</td><td class="num">7.649</td><td class="num">13.90</td><td class="num delta">+0.40</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="gamma-mid-tech-icicle_stinger(1.1).osu">Icicle Stinger (1.1x)</td><td>Gamma Mid</td><td>Gamma High</td><td class="num sk-tag">tech</td><td class="num">7.553</td><td class="num">13.70</td><td class="num delta">+0.20</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="gamma-mid-tech-matusa_bomber(1.05).osu">Matusa Bomber (1.05x)</td><td>Gamma Mid</td><td>Gamma Mid</td><td class="num sk-tag">tech</td><td class="num">7.494</td><td class="num">13.58</td><td class="num delta">+0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="gamma-midhigh-speed-childhoodfriend.osu">Childhoodfriend</td><td>Gamma Mid/High</td><td>Delta Low</td><td class="num sk-tag">speed</td><td class="num">7.872</td><td class="num">14.21</td><td class="num delta">+0.54</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="gamma-midhigh-speed-pureruby(1.08).osu">Pureruby (1.08x)</td><td>Gamma Mid/High</td><td>Gamma High</td><td class="num sk-tag">speed</td><td class="num">7.548</td><td class="num">13.69</td><td class="num delta">+0.02</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="gamma-high-stamina-amen_katagiri_generation(1.05).osu">Amen Katagiri Generation (1.05x)</td><td>Gamma High</td><td>Gamma Mid</td><td class="num sk-tag">stamina</td><td class="num">7.528</td><td class="num">13.65</td><td class="num delta">-0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="gamma-high-stamina-livestream(1.2).osu">Livestream (1.2x)</td><td>Gamma High</td><td>Gamma High</td><td class="num sk-tag">stamina</td><td class="num">7.550</td><td class="num">13.70</td><td class="num delta">-0.13</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="gamma-high-stamina-nuclear_star(1.3).osu">Nuclear Star (1.3x)</td><td>Gamma High</td><td>Gamma High</td><td class="num sk-tag">stamina</td><td class="num">7.538</td><td class="num">13.67</td><td class="num delta">-0.16</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="gamma-high-tech-nhelv.osu">Nhelv</td><td>Gamma High</td><td>Gamma High</td><td class="num sk-tag">tech</td><td class="num">7.607</td><td class="num">13.81</td><td class="num delta">-0.02</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="gamma-high-tech-playing_with_ruby(1.2).osu">Playing With Ruby (1.2x)</td><td>Gamma High</td><td>Gamma High</td><td class="num sk-tag">tech</td><td class="num">7.560</td><td class="num">13.72</td><td class="num delta">-0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-low-jack-dat_phonk.osu">Dat Phonk</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">jack</td><td class="num">7.962</td><td class="num">14.32</td><td class="num delta">+0.15</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-low-jack-nijiiro_kekkai_signicial,.osu">Nijiiro Kekkai Signicial,</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">jack</td><td class="num">7.930</td><td class="num">14.28</td><td class="num delta">+0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="delta-low-speed-australia(1.3).osu">Australia (1.3x)</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">speed</td><td class="num">7.775</td><td class="num">14.09</td><td class="num delta">-0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="delta-low-speed-white_hair_little_swords_girl.osu">White Hair Little Swords Girl</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">speed</td><td class="num">7.959</td><td class="num">14.32</td><td class="num delta">+0.15</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="delta-low-tech-fractal_vertex.osu">Fractal Vertex</td><td>Delta Low</td><td>Delta Mid</td><td class="num sk-tag">tech</td><td class="num">7.974</td><td class="num">14.34</td><td class="num delta">+0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-low-tech-kimiyo.osu">Kimiyo</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">tech</td><td class="num">7.892</td><td class="num">14.24</td><td class="num delta">+0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-low-tech-shadows_of_cats(1.2).osu">Shadows Of Cats (1.2x)</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">tech</td><td class="num">7.795</td><td class="num">14.12</td><td class="num delta">-0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-low-tech-still_into_you(1.2).osu">Still Into You (1.2x)</td><td>Delta Low</td><td>Delta Low</td><td class="num sk-tag">tech</td><td class="num">7.958</td><td class="num">14.32</td><td class="num delta">+0.15</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="delta-lowmid-speed-nijuu(1.16).osu">Nijuu (1.16x)</td><td>Delta Low/Mid</td><td>Delta Mid</td><td class="num sk-tag">speed</td><td class="num">7.975</td><td class="num">14.34</td><td class="num delta">+0.01</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Delta-mid-Jack-drop_it_like_it's_hot.osu">Drop It Like It'S Hot</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.059</td><td class="num">14.44</td><td class="num delta">-0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Delta-mid-jack-aquaris(1.3).osu">Aquaris (1.3x)</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">jack</td><td class="num">7.810</td><td class="num">14.14</td><td class="num delta">-0.36</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Delta-mid-jack-cant_give_it_up(1.1).osu">Cant Give It Up (1.1x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.107</td><td class="num">14.50</td><td class="num delta">+0.00</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Delta-mid-jack-give_it_to_dem.osu">Give It To Dem</td><td>Delta Mid</td><td>Delta High</td><td class="num sk-tag">jack</td><td class="num">8.264</td><td class="num">14.69</td><td class="num delta">+0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Delta-mid-jack-sakazuki(1.1).osu">Sakazuki (1.1x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.146</td><td class="num">14.55</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-mid-jack-bookmaker.osu">Bookmaker</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.031</td><td class="num">14.41</td><td class="num delta">-0.09</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-mid-jack-darling dance.osu">Darling Dance</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.132</td><td class="num">14.53</td><td class="num delta">+0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-mid-jack-enough(1.1).osu">Enough (1.1x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.196</td><td class="num">14.61</td><td class="num delta">+0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-mid-jack-land_of_fire(1.1).osu">Land Of Fire (1.1x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">7.993</td><td class="num">14.36</td><td class="num delta">-0.14</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-mid-jack-the_island_of_albatross.osu">The Island Of Albatross</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">jack</td><td class="num">8.180</td><td class="num">14.59</td><td class="num delta">+0.09</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="delta-mid-speed-volcanic.osu">Volcanic</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">speed</td><td class="num">7.756</td><td class="num">14.07</td><td class="num delta">-0.43</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-excuse_my_rudeness(1.05).osu">Excuse My Rudeness (1.05x)</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">stamina</td><td class="num">7.952</td><td class="num">14.31</td><td class="num delta">-0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-future_dominators(1.3).osu">Future Dominators (1.3x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">stamina</td><td class="num">8.057</td><td class="num">14.44</td><td class="num delta">-0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-pacific_girls(1.4).osu">Pacific Girls (1.4x)</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">stamina</td><td class="num">7.960</td><td class="num">14.32</td><td class="num delta">-0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-the_fool(1.3).osu">The Fool (1.3x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">stamina</td><td class="num">8.020</td><td class="num">14.39</td><td class="num delta">-0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-villain_virus(1.05).osu">Villain Virus (1.05x)</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">stamina</td><td class="num">7.947</td><td class="num">14.30</td><td class="num delta">-0.20</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="delta-mid-stamina-walk_this_way(1.1).osu">Walk This Way (1.1x)</td><td>Delta Mid</td><td>Delta Low</td><td class="num sk-tag">stamina</td><td class="num">7.879</td><td class="num">14.22</td><td class="num delta">-0.28</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-mid-tech-crescent_moon_island(1.05).osu">Crescent Moon Island (1.05x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">tech</td><td class="num">8.173</td><td class="num">14.58</td><td class="num delta">+0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-mid-tech-gottasadae(1.25).osu">Gottasadae (1.25x)</td><td>Delta Mid</td><td>Delta Mid</td><td class="num sk-tag">tech</td><td class="num">8.152</td><td class="num">14.55</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="delta-midhigh-speed-thinkofyou(1.15).osu">Thinkofyou (1.15x)</td><td>Delta Mid/High</td><td>Delta High</td><td class="num sk-tag">speed</td><td class="num">8.511</td><td class="num">14.99</td><td class="num delta">+0.32</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-high-jack-heart_chrome(1.3).osu">Heart Chrome (1.3x)</td><td>Delta High</td><td>Delta High</td><td class="num sk-tag">jack</td><td class="num">8.384</td><td class="num">14.84</td><td class="num delta">+0.01</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="delta-high-jack-please_chi.osu">Please Chi</td><td>Delta High</td><td>Delta High</td><td class="num sk-tag">jack</td><td class="num">8.326</td><td class="num">14.77</td><td class="num delta">-0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="delta-high-speed-apoplexy.osu">Apoplexy</td><td>Delta High</td><td>Delta High</td><td class="num sk-tag">speed</td><td class="num">8.268</td><td class="num">14.70</td><td class="num delta">-0.13</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="delta-high-stamina-k.y.a.f.a(1.25).osu">K.Y.A.F.A (1.25x)</td><td>Delta High</td><td>Delta Mid</td><td class="num sk-tag">stamina</td><td class="num">8.195</td><td class="num">14.61</td><td class="num delta">-0.22</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="delta-high-tech-bismuth_supernova.osu">Bismuth Supernova</td><td>Delta High</td><td>Delta Mid</td><td class="num sk-tag">tech</td><td class="num">8.224</td><td class="num">14.64</td><td class="num delta">-0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="delta-high-tech-dimension_wars.osu">Dimension Wars</td><td>Delta High</td><td>Delta High</td><td class="num sk-tag">tech</td><td class="num">8.438</td><td class="num">14.90</td><td class="num delta">+0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-low-jack-ghost_nova.osu">Ghost Nova</td><td>Epsilon Low</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.689</td><td class="num">15.22</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-low-jack-unmeiron.osu">Unmeiron</td><td>Epsilon Low</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.618</td><td class="num">15.13</td><td class="num delta">-0.04</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="epsilon-low-speed-paradigmshift(1.15).osu">Paradigmshift (1.15x)</td><td>Epsilon Low</td><td>Epsilon Low</td><td class="num sk-tag">speed</td><td class="num">8.725</td><td class="num">15.27</td><td class="num delta">+0.10</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="epsilon-low-stamina-quadraphinix(1.6).osu">Quadraphinix (1.6x)</td><td>Epsilon Low</td><td>Epsilon Low</td><td class="num sk-tag">stamina</td><td class="num">8.632</td><td class="num">15.15</td><td class="num delta">-0.02</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="epsilon-low-tech-bismuth_singularity.osu">Bismuth Singularity</td><td>Epsilon Low</td><td>Epsilon Mid</td><td class="num sk-tag">tech</td><td class="num">8.785</td><td class="num">15.35</td><td class="num delta">+0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="epsilon-low-tech-looking_for_edge_of_ground(1.15).osu">Looking For Edge Of Ground (1.15x)</td><td>Epsilon Low</td><td>Delta High</td><td class="num sk-tag">tech</td><td class="num">8.424</td><td class="num">14.89</td><td class="num delta">-0.28</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="epsilon-low-tech-the_poetic_edda.osu">The Poetic Edda</td><td>Epsilon Low</td><td>Epsilon Mid</td><td class="num sk-tag">tech</td><td class="num">8.896</td><td class="num">15.49</td><td class="num delta">+0.32</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="epsilon-lowmid-speed-cyber_inductance(1.1).osu">Cyber Inductance (1.1x)</td><td>Epsilon Low/Mid</td><td>Epsilon Mid</td><td class="num sk-tag">speed</td><td class="num">8.906</td><td class="num">15.51</td><td class="num delta">+0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Epsilon-mid-jack-darling_dance(1.1).osu">Darling Dance (1.1x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.953</td><td class="num">15.57</td><td class="num delta">+0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="Epsilon-mid-jack-goodtek.osu">Goodtek</td><td>Epsilon Mid</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.520</td><td class="num">15.00</td><td class="num delta">-0.50</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Epsilon-mid-jack-rose_quartz(1.3).osu">Rose Quartz (1.3x)</td><td>Epsilon Mid</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.767</td><td class="num">15.33</td><td class="num delta">-0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Epsilon-mid-jack-satellite(1.1).osu">Satellite (1.1x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.871</td><td class="num">15.46</td><td class="num delta">-0.04</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-bad_cycle.osu">Bad Cycle</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.812</td><td class="num">15.39</td><td class="num delta">-0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-break(1.3).osu">Break (1.3x)</td><td>Epsilon Mid</td><td>Epsilon High</td><td class="num sk-tag">jack</td><td class="num">9.055</td><td class="num">15.70</td><td class="num delta">+0.20</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-gengaozo_noize_of_nocent.osu">Gengaozo Noize Of Nocent</td><td>Epsilon Mid</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.741</td><td class="num">15.29</td><td class="num delta">-0.21</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-i_love_it(1.3).osu">I Love It (1.3x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.999</td><td class="num">15.63</td><td class="num delta">+0.13</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-pam(1.3).osu">Pam (1.3x)</td><td>Epsilon Mid</td><td>Epsilon High</td><td class="num sk-tag">jack</td><td class="num">9.221</td><td class="num">15.92</td><td class="num delta">+0.42</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-psychology(1.1).osu">Psychology (1.1x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.959</td><td class="num">15.58</td><td class="num delta">+0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-rigid paradise(1.05).osu">Rigid Paradise (1.05x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.977</td><td class="num">15.60</td><td class="num delta">+0.10</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-sakazuki(1.2).osu">Sakazuki (1.2x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.937</td><td class="num">15.55</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-stronger.osu">Stronger</td><td>Epsilon Mid</td><td>Delta High</td><td class="num sk-tag">jack</td><td class="num">8.431</td><td class="num">14.89</td><td class="num delta">-0.61</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-mid-jack-trouble_kuroneko(1.5).osu">Trouble Kuroneko (1.5x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.881</td><td class="num">15.47</td><td class="num delta">-0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-within" data-sk="speed"><td class="song-name" title="epsilon-mid-speed-full_throttle.osu">Full Throttle</td><td>Epsilon Mid</td><td>Zeta Mid</td><td class="num sk-tag">speed</td><td class="num">9.474</td><td class="num">16.36</td><td class="num delta">+0.86</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="epsilon-mid-speed-mario_paint.osu">Mario Paint</td><td>Epsilon Mid</td><td>Epsilon High</td><td class="num sk-tag">speed</td><td class="num">9.158</td><td class="num">15.84</td><td class="num delta">+0.34</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="epsilon-mid-stamina-the_empress(1.15).osu">The Empress (1.15x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">stamina</td><td class="num">8.881</td><td class="num">15.47</td><td class="num delta">-0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="epsilon-mid-stamina-the_fate_of_remix(1.1).osu">The Fate Of Remix (1.1x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">stamina</td><td class="num">8.967</td><td class="num">15.59</td><td class="num delta">+0.09</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="epsilon-mid-stamina-the_hypocrisy(1.2).osu">The Hypocrisy (1.2x)</td><td>Epsilon Mid</td><td>Epsilon Low</td><td class="num sk-tag">stamina</td><td class="num">8.703</td><td class="num">15.24</td><td class="num delta">-0.26</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="stamina"><td class="song-name" title="epsilon-mid-stamina-yuudachi_no_ribbon(1.2).osu">Yuudachi No Ribbon (1.2x)</td><td>Epsilon Mid</td><td>Epsilon Mid</td><td class="num sk-tag">stamina</td><td class="num">8.795</td><td class="num">15.36</td><td class="num delta">-0.14</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="epsilon-mid-tech-forgotten(1.4).osu">Forgotten (1.4x)</td><td>Epsilon Mid</td><td>Epsilon High</td><td class="num sk-tag">tech</td><td class="num">9.218</td><td class="num">15.91</td><td class="num delta">+0.41</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-high-jack-celestial_exploring.osu">Celestial Exploring</td><td>Epsilon High</td><td>Epsilon High</td><td class="num sk-tag">jack</td><td class="num">9.108</td><td class="num">15.77</td><td class="num delta">-0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="epsilon-high-jack-quevedo(1.3).osu">Quevedo (1.3x)</td><td>Epsilon High</td><td>Epsilon High</td><td class="num sk-tag">jack</td><td class="num">9.193</td><td class="num">15.88</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="epsilon-high-speed-sentimental_crisis(1.55).osu">Sentimental Crisis (1.55x)</td><td>Epsilon High</td><td>Epsilon Mid</td><td class="num sk-tag">speed</td><td class="num">8.958</td><td class="num">15.58</td><td class="num delta">-0.25</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="epsilon-high-tech-dancer_in_the_smoke(1.3).osu">Dancer In The Smoke (1.3x)</td><td>Epsilon High</td><td>Zeta Low</td><td class="num sk-tag">tech</td><td class="num">9.324</td><td class="num">16.08</td><td class="num delta">+0.25</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Zeta-low-jack-angel_dust.osu">Angel Dust</td><td>Zeta Low</td><td>Zeta Low</td><td class="num sk-tag">jack</td><td class="num">9.352</td><td class="num">16.13</td><td class="num delta">-0.04</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-i_love_it(1.4).osu">I Love It (1.4x)</td><td>Zeta Mid</td><td>Zeta Mid</td><td class="num sk-tag">jack</td><td class="num">9.609</td><td class="num">16.61</td><td class="num delta">+0.11</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-mutwa.osu">Mutwa</td><td>Zeta Mid</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.767</td><td class="num">16.91</td><td class="num delta">+0.41</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-observation(0.95).osu">Observation (0.95x)</td><td>Zeta Mid</td><td>Epsilon High</td><td class="num sk-tag">jack</td><td class="num">9.163</td><td class="num">15.84</td><td class="num delta">-0.66</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-promise(1.22).osu">Promise (1.22x)</td><td>Zeta Mid</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">9.829</td><td class="num">17.02</td><td class="num delta">+0.52</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-within" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-the_island_of_albatross(1.2).osu">The Island Of Albatross (1.2x)</td><td>Zeta Mid</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">9.849</td><td class="num">17.05</td><td class="num delta">+0.55</td><td class="flag within">≈</td></tr>
|
||
<tr class="row-miss" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-truth_never_spoken(1.3).osu">Truth Never Spoken (1.3x)</td><td>Zeta Mid</td><td>Epsilon Mid</td><td class="num sk-tag">jack</td><td class="num">8.855</td><td class="num">15.44</td><td class="num delta">-1.06</td><td class="flag miss">✗</td></tr>
|
||
<tr class="row-miss" data-sk="jack"><td class="song-name" title="Zeta-mid-jack-vertex_beta.osu">Vertex Beta</td><td>Zeta Mid</td><td>Epsilon Low</td><td class="num sk-tag">jack</td><td class="num">8.611</td><td class="num">15.12</td><td class="num delta">-1.38</td><td class="flag miss">✗</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="zeta-mid-jack-cg901b(1.3).osu">Cg901B (1.3x)</td><td>Zeta Mid</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.648</td><td class="num">16.68</td><td class="num delta">+0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="zeta-mid-jack-dark_sambaland_omega(1.2).osu">Dark Sambaland Omega (1.2x)</td><td>Zeta Mid</td><td>Zeta Mid</td><td class="num sk-tag">jack</td><td class="num">9.515</td><td class="num">16.43</td><td class="num delta">-0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="zeta-mid-jack-exile(1.1).osu">Exile (1.1x)</td><td>Zeta Mid</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.646</td><td class="num">16.68</td><td class="num delta">+0.18</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="zeta-mid-speed-]-[34#!.osu">]-[34#!</td><td>Zeta Mid</td><td>Zeta Low</td><td class="num sk-tag">speed</td><td class="num">9.424</td><td class="num">16.26</td><td class="num delta">-0.24</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="zeta-mid-speed-finixe.osu">Finixe</td><td>Zeta Mid</td><td>Zeta High</td><td class="num sk-tag">speed</td><td class="num">9.654</td><td class="num">16.69</td><td class="num delta">+0.19</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="zeta-mid-stamina-nijuu(1.0).osu">Nijuu (1.0x)</td><td>Zeta Mid</td><td>Zeta Mid</td><td class="num sk-tag">stamina</td><td class="num">9.462</td><td class="num">16.33</td><td class="num delta">-0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="zeta-mid-tech-apocalyptic_premonition(1.05).osu">Apocalyptic Premonition (1.05x)</td><td>Zeta Mid</td><td>Zeta Mid</td><td class="num sk-tag">tech</td><td class="num">9.567</td><td class="num">16.53</td><td class="num delta">+0.03</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="zeta-mid-tech-weird_autumn(1.4).osu">Weird Autumn (1.4x)</td><td>Zeta Mid</td><td>Zeta Low</td><td class="num sk-tag">tech</td><td class="num">9.332</td><td class="num">16.09</td><td class="num delta">-0.41</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="speed"><td class="song-name" title="zeta-midhigh-speed-twilightofthegods(1.3).osu">Twilightofthegods (1.3x)</td><td>Zeta Mid/High</td><td>Eta Low</td><td class="num sk-tag">speed</td><td class="num">9.834</td><td class="num">17.03</td><td class="num delta">+0.36</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="zeta-high-jack-anhedonia_gemini.osu">Anhedonia Gemini</td><td>Zeta High</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.793</td><td class="num">16.95</td><td class="num delta">+0.12</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="zeta-high-jack-darling_dance(1.2).osu">Darling Dance (1.2x)</td><td>Zeta High</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.693</td><td class="num">16.77</td><td class="num delta">-0.06</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="zeta-high-jack-day_by_day.osu">Day By Day</td><td>Zeta High</td><td>Zeta High</td><td class="num sk-tag">jack</td><td class="num">9.756</td><td class="num">16.88</td><td class="num delta">+0.05</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="zeta-high-jack-decoy_omega.osu">Decoy Omega</td><td>Zeta High</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">9.876</td><td class="num">17.09</td><td class="num delta">+0.26</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="zeta-high-jack-melody_blooming_in_the_earth(1.5).osu">Melody Blooming In The Earth (1.5x)</td><td>Zeta High</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">9.881</td><td class="num">17.10</td><td class="num delta">+0.27</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="eta-low-jack-deep_down(1.35).osu">Deep Down (1.35x)</td><td>Eta Low</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">10.034</td><td class="num">17.33</td><td class="num delta">+0.16</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="eta-low-jack-sendan_life_frawog(1.5).osu">Sendan Life Frawog (1.5x)</td><td>Eta Low</td><td>Eta Low</td><td class="num sk-tag">jack</td><td class="num">9.974</td><td class="num">17.24</td><td class="num delta">+0.07</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-exact" data-sk="tech"><td class="song-name" title="eta-low-tech-code_name_bravo.osu">Code Name Bravo</td><td>Eta Low</td><td>Eta Low</td><td class="num sk-tag">tech</td><td class="num">9.980</td><td class="num">17.25</td><td class="num delta">+0.08</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="jack"><td class="song-name" title="Eta-mid-jack-torment_payback.osu">Torment Payback</td><td>Eta Mid</td><td>Eta High</td><td class="num sk-tag">jack</td><td class="num">10.382</td><td class="num">17.86</td><td class="num delta">+0.36</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="speed"><td class="song-name" title="eta-mid-speed-intersect_thunderbolt.osu">Intersect Thunderbolt</td><td>Eta Mid</td><td>Eta Mid</td><td class="num sk-tag">speed</td><td class="num">10.053</td><td class="num">17.36</td><td class="num delta">-0.14</td><td class="flag exact">✓</td></tr>
|
||
<tr class="row-adjacent" data-sk="stamina"><td class="song-name" title="eta-mid-stamina-collapse_of_ego.osu">Collapse Of Ego</td><td>Eta Mid</td><td>Eta Low</td><td class="num sk-tag">stamina</td><td class="num">9.959</td><td class="num">17.22</td><td class="num delta">-0.28</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-adjacent" data-sk="tech"><td class="song-name" title="eta-mid-tech-exitium.osu">Exitium</td><td>Eta Mid</td><td>Eta High</td><td class="num sk-tag">tech</td><td class="num">10.255</td><td class="num">17.67</td><td class="num delta">+0.17</td><td class="flag adjacent">~</td></tr>
|
||
<tr class="row-exact" data-sk="jack"><td class="song-name" title="eta-high-jack-rip_me_apart.osu">Rip Me Apart</td><td>Eta High</td><td>Eta High</td><td class="num sk-tag">jack</td><td class="num">10.331</td><td class="num">17.78</td><td class="num delta">-0.05</td><td class="flag exact">✓</td></tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
|
||
<!-- Footer -->
|
||
<footer>
|
||
<p>Daniel Benchmark Report</p>
|
||
<p>2026-03-29 09:47</p>
|
||
</footer>
|
||
|
||
</div>
|
||
|
||
<script>
|
||
// ── Chart data ────────────────────────────────────────────────────────────────
|
||
const scatterRaw = [{"x": 11.5, "y": 11.58, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Dark Sambaland"}, {"x": 12.5, "y": 12.4, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Paradigm Shift"}, {"x": 14.5, "y": 14.44, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Drop It Like It'S Hot"}, {"x": 14.5, "y": 14.14, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Aquaris (1.3x)"}, {"x": 14.5, "y": 14.5, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Cant Give It Up (1.1x)"}, {"x": 14.5, "y": 14.69, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Give It To Dem"}, {"x": 14.5, "y": 14.55, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Sakazuki (1.1x)"}, {"x": 15.5, "y": 15.57, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Darling Dance (1.1x)"}, {"x": 15.5, "y": 15.0, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "Goodtek"}, {"x": 15.5, "y": 15.33, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Rose Quartz (1.3x)"}, {"x": 15.5, "y": 15.46, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Satellite (1.1x)"}, {"x": 17.5, "y": 17.86, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Torment Payback"}, {"x": 13.17, "y": 13.14, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Hiasobi (1.1x)"}, {"x": 13.17, "y": 13.01, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Reflect (1.05x)"}, {"x": 13.5, "y": 13.67, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Break (1.1x)"}, {"x": 13.5, "y": 12.79, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "Captain Jack (1.2x)"}, {"x": 13.5, "y": 13.38, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Do It To It (1.2x)"}, {"x": 16.17, "y": 16.13, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Angel Dust"}, {"x": 16.5, "y": 16.61, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "I Love It (1.4x)"}, {"x": 16.5, "y": 16.91, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Mutwa"}, {"x": 16.5, "y": 15.84, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "Observation (0.95x)"}, {"x": 16.5, "y": 17.02, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "Promise (1.22x)"}, {"x": 16.5, "y": 17.05, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "The Island Of Albatross (1.2x)"}, {"x": 16.5, "y": 15.44, "color": "#ef4444", "flag": "miss", "sk": "jack", "song": "Truth Never Spoken (1.3x)"}, {"x": 16.5, "y": 15.12, "color": "#ef4444", "flag": "miss", "sk": "jack", "song": "Vertex Beta"}, {"x": 11.83, "y": 11.82, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Yell (0.975x)"}, {"x": 11.83, "y": 11.64, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Angel'S Salad"}, {"x": 11.83, "y": 11.76, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Bismuth Nebula"}, {"x": 11.5, "y": 12.4, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Air (0.915x)"}, {"x": 11.5, "y": 11.52, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Makiba"}, {"x": 11.5, "y": 11.38, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Babel (1.3x)"}, {"x": 11.5, "y": 11.45, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Lazorbeamz (1.0x)"}, {"x": 11.5, "y": 11.47, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Odoru (1.1x)"}, {"x": 11.67, "y": 12.05, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Yasashisa No Riyuu"}, {"x": 12.83, "y": 12.89, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Crystal World Fracture"}, {"x": 12.83, "y": 12.73, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Observation (1.2x)"}, {"x": 12.5, "y": 12.23, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "5Oul On D!Splay"}, {"x": 12.5, "y": 11.9, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Amber Starlight"}, {"x": 12.5, "y": 12.41, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Hideho (0.875x)"}, {"x": 12.5, "y": 12.31, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Uso No Hibana (0.9x)"}, {"x": 12.5, "y": 12.95, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Cycle Hit (1.4x)"}, {"x": 12.5, "y": 12.63, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Time To Say Goodbye (1.0x)"}, {"x": 12.5, "y": 12.82, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Blue Planet"}, {"x": 12.5, "y": 12.06, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Psychology (1.15x)"}, {"x": 12.67, "y": 12.25, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Pastel Subliminal (0.9x)"}, {"x": 14.83, "y": 14.84, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Heart Chrome (1.3x)"}, {"x": 14.83, "y": 14.77, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Please Chi"}, {"x": 14.83, "y": 14.7, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Apoplexy"}, {"x": 14.83, "y": 14.61, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "K.Y.A.F.A (1.25x)"}, {"x": 14.83, "y": 14.64, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Bismuth Supernova"}, {"x": 14.83, "y": 14.9, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Dimension Wars"}, {"x": 14.17, "y": 14.32, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Dat Phonk"}, {"x": 14.17, "y": 14.28, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Nijiiro Kekkai Signicial,"}, {"x": 14.17, "y": 14.09, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Australia (1.3x)"}, {"x": 14.17, "y": 14.32, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "White Hair Little Swords Girl"}, {"x": 14.17, "y": 14.34, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Fractal Vertex"}, {"x": 14.17, "y": 14.24, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Kimiyo"}, {"x": 14.17, "y": 14.12, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Shadows Of Cats (1.2x)"}, {"x": 14.17, "y": 14.32, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Still Into You (1.2x)"}, {"x": 14.33, "y": 14.34, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Nijuu (1.16x)"}, {"x": 14.5, "y": 14.41, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Bookmaker"}, {"x": 14.5, "y": 14.53, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Darling Dance"}, {"x": 14.5, "y": 14.61, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Enough (1.1x)"}, {"x": 14.5, "y": 14.36, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Land Of Fire (1.1x)"}, {"x": 14.5, "y": 14.59, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "The Island Of Albatross"}, {"x": 14.5, "y": 14.07, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Volcanic"}, {"x": 14.5, "y": 14.31, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Excuse My Rudeness (1.05x)"}, {"x": 14.5, "y": 14.44, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Future Dominators (1.3x)"}, {"x": 14.5, "y": 14.32, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Pacific Girls (1.4x)"}, {"x": 14.5, "y": 14.39, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "The Fool (1.3x)"}, {"x": 14.5, "y": 14.3, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Villain Virus (1.05x)"}, {"x": 14.5, "y": 14.22, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Walk This Way (1.1x)"}, {"x": 14.5, "y": 14.58, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Crescent Moon Island (1.05x)"}, {"x": 14.5, "y": 14.55, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Gottasadae (1.25x)"}, {"x": 14.67, "y": 14.99, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Thinkofyou (1.15x)"}, {"x": 15.83, "y": 15.77, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Celestial Exploring"}, {"x": 15.83, "y": 15.88, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Quevedo (1.3x)"}, {"x": 15.83, "y": 15.58, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Sentimental Crisis (1.55x)"}, {"x": 15.83, "y": 16.08, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Dancer In The Smoke (1.3x)"}, {"x": 15.17, "y": 15.22, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Ghost Nova"}, {"x": 15.17, "y": 15.13, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Unmeiron"}, {"x": 15.17, "y": 15.27, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Paradigmshift (1.15x)"}, {"x": 15.17, "y": 15.15, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Quadraphinix (1.6x)"}, {"x": 15.17, "y": 15.35, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Bismuth Singularity"}, {"x": 15.17, "y": 14.89, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Looking For Edge Of Ground (1.15x)"}, {"x": 15.17, "y": 15.49, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "The Poetic Edda"}, {"x": 15.33, "y": 15.51, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Cyber Inductance (1.1x)"}, {"x": 15.5, "y": 15.39, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Bad Cycle"}, {"x": 15.5, "y": 15.7, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Break (1.3x)"}, {"x": 15.5, "y": 15.29, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Gengaozo Noize Of Nocent"}, {"x": 15.5, "y": 15.63, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "I Love It (1.3x)"}, {"x": 15.5, "y": 15.92, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Pam (1.3x)"}, {"x": 15.5, "y": 15.58, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Psychology (1.1x)"}, {"x": 15.5, "y": 15.6, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Rigid Paradise (1.05x)"}, {"x": 15.5, "y": 15.55, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Sakazuki (1.2x)"}, {"x": 15.5, "y": 14.89, "color": "#94a3b8", "flag": "within", "sk": "jack", "song": "Stronger"}, {"x": 15.5, "y": 15.47, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Trouble Kuroneko (1.5x)"}, {"x": 15.5, "y": 16.36, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Full Throttle"}, {"x": 15.5, "y": 15.84, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Mario Paint"}, {"x": 15.5, "y": 15.47, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "The Empress (1.15x)"}, {"x": 15.5, "y": 15.59, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "The Fate Of Remix (1.1x)"}, {"x": 15.5, "y": 15.24, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "The Hypocrisy (1.2x)"}, {"x": 15.5, "y": 15.36, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Yuudachi No Ribbon (1.2x)"}, {"x": 15.5, "y": 15.91, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Forgotten (1.4x)"}, {"x": 17.83, "y": 17.78, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Rip Me Apart"}, {"x": 17.17, "y": 17.33, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Deep Down (1.35x)"}, {"x": 17.17, "y": 17.24, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Sendan Life Frawog (1.5x)"}, {"x": 17.17, "y": 17.25, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Code Name Bravo"}, {"x": 17.5, "y": 17.36, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Intersect Thunderbolt"}, {"x": 17.5, "y": 17.22, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Collapse Of Ego"}, {"x": 17.5, "y": 17.67, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Exitium"}, {"x": 13.83, "y": 13.65, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Amen Katagiri Generation (1.05x)"}, {"x": 13.83, "y": 13.7, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Livestream (1.2x)"}, {"x": 13.83, "y": 13.67, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Nuclear Star (1.3x)"}, {"x": 13.83, "y": 13.81, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Nhelv"}, {"x": 13.83, "y": 13.72, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Playing With Ruby (1.2x)"}, {"x": 13.17, "y": 13.14, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Hustler"}, {"x": 13.17, "y": 12.94, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Anomaly (1.2x)"}, {"x": 13.17, "y": 12.53, "color": "#94a3b8", "flag": "within", "sk": "tech", "song": "Tornado"}, {"x": 13.33, "y": 13.83, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Sunnyshinyring"}, {"x": 13.5, "y": 13.8, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Everything Black"}, {"x": 13.5, "y": 14.08, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Credens (0.9x)"}, {"x": 13.5, "y": 13.67, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "P8107 (1.4x)"}, {"x": 13.5, "y": 13.72, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Reflec Streamz"}, {"x": 13.5, "y": 13.6, "color": "#22c55e", "flag": "exact", "sk": "stamina", "song": "Cyber Inductance (1.4x)"}, {"x": 13.5, "y": 13.06, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Phosphor (1.05x)"}, {"x": 13.5, "y": 13.9, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Shinbatsu O Tadori (1.05x)"}, {"x": 13.5, "y": 13.7, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Icicle Stinger (1.1x)"}, {"x": 13.5, "y": 13.58, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Matusa Bomber (1.05x)"}, {"x": 13.67, "y": 14.21, "color": "#94a3b8", "flag": "within", "sk": "speed", "song": "Childhoodfriend"}, {"x": 13.67, "y": 13.69, "color": "#22c55e", "flag": "exact", "sk": "speed", "song": "Pureruby (1.08x)"}, {"x": 16.83, "y": 16.95, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Anhedonia Gemini"}, {"x": 16.83, "y": 16.77, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Darling Dance (1.2x)"}, {"x": 16.83, "y": 16.88, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Day By Day"}, {"x": 16.83, "y": 17.09, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Decoy Omega"}, {"x": 16.83, "y": 17.1, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Melody Blooming In The Earth (1.5x)"}, {"x": 16.5, "y": 16.68, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Cg901B (1.3x)"}, {"x": 16.5, "y": 16.43, "color": "#22c55e", "flag": "exact", "sk": "jack", "song": "Dark Sambaland Omega (1.2x)"}, {"x": 16.5, "y": 16.68, "color": "#94a3b8", "flag": "adjacent", "sk": "jack", "song": "Exile (1.1x)"}, {"x": 16.5, "y": 16.26, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "]-[34#!"}, {"x": 16.5, "y": 16.69, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Finixe"}, {"x": 16.5, "y": 16.33, "color": "#94a3b8", "flag": "adjacent", "sk": "stamina", "song": "Nijuu (1.0x)"}, {"x": 16.5, "y": 16.53, "color": "#22c55e", "flag": "exact", "sk": "tech", "song": "Apocalyptic Premonition (1.05x)"}, {"x": 16.5, "y": 16.09, "color": "#94a3b8", "flag": "adjacent", "sk": "tech", "song": "Weird Autumn (1.4x)"}, {"x": 16.67, "y": 17.03, "color": "#94a3b8", "flag": "adjacent", "sk": "speed", "song": "Twilightofthegods (1.3x)"}];
|
||
const swarmPoints = [{"x": 0.08, "y": 11.5, "flag": "exact", "name": "Dark Sambaland", "exp": "Alpha Mid"}, {"x": -0.1, "y": 12.5, "flag": "exact", "name": "Paradigm Shift", "exp": "Beta Mid"}, {"x": -0.06, "y": 14.5, "flag": "exact", "name": "Drop It Like It'S Hot", "exp": "Delta Mid"}, {"x": -0.36, "y": 14.5, "flag": "adjacent", "name": "Aquaris (1.3x)", "exp": "Delta Mid"}, {"x": 0.0, "y": 14.5, "flag": "exact", "name": "Cant Give It Up (1.1x)", "exp": "Delta Mid"}, {"x": 0.19, "y": 14.5, "flag": "adjacent", "name": "Give It To Dem", "exp": "Delta Mid"}, {"x": 0.05, "y": 14.5, "flag": "exact", "name": "Sakazuki (1.1x)", "exp": "Delta Mid"}, {"x": 0.07, "y": 15.5, "flag": "exact", "name": "Darling Dance (1.1x)", "exp": "Epsilon Mid"}, {"x": -0.5, "y": 15.5, "flag": "within", "name": "Goodtek", "exp": "Epsilon Mid"}, {"x": -0.17, "y": 15.5, "flag": "adjacent", "name": "Rose Quartz (1.3x)", "exp": "Epsilon Mid"}, {"x": -0.04, "y": 15.5, "flag": "exact", "name": "Satellite (1.1x)", "exp": "Epsilon Mid"}, {"x": 0.36, "y": 17.5, "flag": "adjacent", "name": "Torment Payback", "exp": "Eta Mid"}, {"x": -0.03, "y": 13.17, "flag": "exact", "name": "Hiasobi (1.1x)", "exp": "Gamma Low"}, {"x": -0.16, "y": 13.17, "flag": "exact", "name": "Reflect (1.05x)", "exp": "Gamma Low"}, {"x": 0.17, "y": 13.5, "flag": "adjacent", "name": "Break (1.1x)", "exp": "Gamma Mid"}, {"x": -0.71, "y": 13.5, "flag": "within", "name": "Captain Jack (1.2x)", "exp": "Gamma Mid"}, {"x": -0.12, "y": 13.5, "flag": "exact", "name": "Do It To It (1.2x)", "exp": "Gamma Mid"}, {"x": -0.04, "y": 16.17, "flag": "exact", "name": "Angel Dust", "exp": "Zeta Low"}, {"x": 0.11, "y": 16.5, "flag": "exact", "name": "I Love It (1.4x)", "exp": "Zeta Mid"}, {"x": 0.41, "y": 16.5, "flag": "adjacent", "name": "Mutwa", "exp": "Zeta Mid"}, {"x": -0.66, "y": 16.5, "flag": "within", "name": "Observation (0.95x)", "exp": "Zeta Mid"}, {"x": 0.52, "y": 16.5, "flag": "within", "name": "Promise (1.22x)", "exp": "Zeta Mid"}, {"x": 0.55, "y": 16.5, "flag": "within", "name": "The Island Of Albatross (1.2x)", "exp": "Zeta Mid"}, {"x": -1.06, "y": 16.5, "flag": "miss", "name": "Truth Never Spoken (1.3x)", "exp": "Zeta Mid"}, {"x": -1.38, "y": 16.5, "flag": "miss", "name": "Vertex Beta", "exp": "Zeta Mid"}, {"x": -0.01, "y": 11.83, "flag": "exact", "name": "Yell (0.975x)", "exp": "Alpha High"}, {"x": -0.19, "y": 11.83, "flag": "adjacent", "name": "Angel'S Salad", "exp": "Alpha High"}, {"x": -0.07, "y": 11.83, "flag": "exact", "name": "Bismuth Nebula", "exp": "Alpha High"}, {"x": 0.9, "y": 11.5, "flag": "within", "name": "Air (0.915x)", "exp": "Alpha Mid"}, {"x": 0.02, "y": 11.5, "flag": "exact", "name": "Makiba", "exp": "Alpha Mid"}, {"x": -0.12, "y": 11.5, "flag": "exact", "name": "Babel (1.3x)", "exp": "Alpha Mid"}, {"x": -0.05, "y": 11.5, "flag": "exact", "name": "Lazorbeamz (1.0x)", "exp": "Alpha Mid"}, {"x": -0.03, "y": 11.5, "flag": "exact", "name": "Odoru (1.1x)", "exp": "Alpha Mid"}, {"x": 0.38, "y": 11.67, "flag": "adjacent", "name": "Yasashisa No Riyuu", "exp": "Alpha Mid/High"}, {"x": 0.06, "y": 12.83, "flag": "exact", "name": "Crystal World Fracture", "exp": "Beta High"}, {"x": -0.1, "y": 12.83, "flag": "exact", "name": "Observation (1.2x)", "exp": "Beta High"}, {"x": -0.27, "y": 12.5, "flag": "adjacent", "name": "5Oul On D!Splay", "exp": "Beta Mid"}, {"x": -0.6, "y": 12.5, "flag": "within", "name": "Amber Starlight", "exp": "Beta Mid"}, {"x": -0.09, "y": 12.5, "flag": "exact", "name": "Hideho (0.875x)", "exp": "Beta Mid"}, {"x": -0.19, "y": 12.5, "flag": "adjacent", "name": "Uso No Hibana (0.9x)", "exp": "Beta Mid"}, {"x": 0.45, "y": 12.5, "flag": "adjacent", "name": "Cycle Hit (1.4x)", "exp": "Beta Mid"}, {"x": 0.13, "y": 12.5, "flag": "exact", "name": "Time To Say Goodbye (1.0x)", "exp": "Beta Mid"}, {"x": 0.32, "y": 12.5, "flag": "adjacent", "name": "Blue Planet", "exp": "Beta Mid"}, {"x": -0.44, "y": 12.5, "flag": "adjacent", "name": "Psychology (1.15x)", "exp": "Beta Mid"}, {"x": -0.42, "y": 12.67, "flag": "adjacent", "name": "Pastel Subliminal (0.9x)", "exp": "Beta Mid/High"}, {"x": 0.01, "y": 14.83, "flag": "exact", "name": "Heart Chrome (1.3x)", "exp": "Delta High"}, {"x": -0.06, "y": 14.83, "flag": "exact", "name": "Please Chi", "exp": "Delta High"}, {"x": -0.13, "y": 14.83, "flag": "exact", "name": "Apoplexy", "exp": "Delta High"}, {"x": -0.22, "y": 14.83, "flag": "adjacent", "name": "K.Y.A.F.A (1.25x)", "exp": "Delta High"}, {"x": -0.19, "y": 14.83, "flag": "adjacent", "name": "Bismuth Supernova", "exp": "Delta High"}, {"x": 0.07, "y": 14.83, "flag": "exact", "name": "Dimension Wars", "exp": "Delta High"}, {"x": 0.15, "y": 14.17, "flag": "exact", "name": "Dat Phonk", "exp": "Delta Low"}, {"x": 0.11, "y": 14.17, "flag": "exact", "name": "Nijiiro Kekkai Signicial,", "exp": "Delta Low"}, {"x": -0.08, "y": 14.17, "flag": "exact", "name": "Australia (1.3x)", "exp": "Delta Low"}, {"x": 0.15, "y": 14.17, "flag": "exact", "name": "White Hair Little Swords Girl", "exp": "Delta Low"}, {"x": 0.17, "y": 14.17, "flag": "adjacent", "name": "Fractal Vertex", "exp": "Delta Low"}, {"x": 0.07, "y": 14.17, "flag": "exact", "name": "Kimiyo", "exp": "Delta Low"}, {"x": -0.05, "y": 14.17, "flag": "exact", "name": "Shadows Of Cats (1.2x)", "exp": "Delta Low"}, {"x": 0.15, "y": 14.17, "flag": "exact", "name": "Still Into You (1.2x)", "exp": "Delta Low"}, {"x": 0.01, "y": 14.33, "flag": "exact", "name": "Nijuu (1.16x)", "exp": "Delta Low/Mid"}, {"x": -0.09, "y": 14.5, "flag": "exact", "name": "Bookmaker", "exp": "Delta Mid"}, {"x": 0.03, "y": 14.5, "flag": "exact", "name": "Darling Dance", "exp": "Delta Mid"}, {"x": 0.11, "y": 14.5, "flag": "exact", "name": "Enough (1.1x)", "exp": "Delta Mid"}, {"x": -0.14, "y": 14.5, "flag": "exact", "name": "Land Of Fire (1.1x)", "exp": "Delta Mid"}, {"x": 0.09, "y": 14.5, "flag": "exact", "name": "The Island Of Albatross", "exp": "Delta Mid"}, {"x": -0.43, "y": 14.5, "flag": "adjacent", "name": "Volcanic", "exp": "Delta Mid"}, {"x": -0.19, "y": 14.5, "flag": "adjacent", "name": "Excuse My Rudeness (1.05x)", "exp": "Delta Mid"}, {"x": -0.06, "y": 14.5, "flag": "exact", "name": "Future Dominators (1.3x)", "exp": "Delta Mid"}, {"x": -0.18, "y": 14.5, "flag": "adjacent", "name": "Pacific Girls (1.4x)", "exp": "Delta Mid"}, {"x": -0.11, "y": 14.5, "flag": "exact", "name": "The Fool (1.3x)", "exp": "Delta Mid"}, {"x": -0.2, "y": 14.5, "flag": "adjacent", "name": "Villain Virus (1.05x)", "exp": "Delta Mid"}, {"x": -0.28, "y": 14.5, "flag": "adjacent", "name": "Walk This Way (1.1x)", "exp": "Delta Mid"}, {"x": 0.08, "y": 14.5, "flag": "exact", "name": "Crescent Moon Island (1.05x)", "exp": "Delta Mid"}, {"x": 0.05, "y": 14.5, "flag": "exact", "name": "Gottasadae (1.25x)", "exp": "Delta Mid"}, {"x": 0.32, "y": 14.67, "flag": "adjacent", "name": "Thinkofyou (1.15x)", "exp": "Delta Mid/High"}, {"x": -0.06, "y": 15.83, "flag": "exact", "name": "Celestial Exploring", "exp": "Epsilon High"}, {"x": 0.05, "y": 15.83, "flag": "exact", "name": "Quevedo (1.3x)", "exp": "Epsilon High"}, {"x": -0.25, "y": 15.83, "flag": "adjacent", "name": "Sentimental Crisis (1.55x)", "exp": "Epsilon High"}, {"x": 0.25, "y": 15.83, "flag": "adjacent", "name": "Dancer In The Smoke (1.3x)", "exp": "Epsilon High"}, {"x": 0.05, "y": 15.17, "flag": "exact", "name": "Ghost Nova", "exp": "Epsilon Low"}, {"x": -0.04, "y": 15.17, "flag": "exact", "name": "Unmeiron", "exp": "Epsilon Low"}, {"x": 0.1, "y": 15.17, "flag": "exact", "name": "Paradigmshift (1.15x)", "exp": "Epsilon Low"}, {"x": -0.02, "y": 15.17, "flag": "exact", "name": "Quadraphinix (1.6x)", "exp": "Epsilon Low"}, {"x": 0.18, "y": 15.17, "flag": "adjacent", "name": "Bismuth Singularity", "exp": "Epsilon Low"}, {"x": -0.28, "y": 15.17, "flag": "adjacent", "name": "Looking For Edge Of Ground (1.15x)", "exp": "Epsilon Low"}, {"x": 0.32, "y": 15.17, "flag": "adjacent", "name": "The Poetic Edda", "exp": "Epsilon Low"}, {"x": 0.18, "y": 15.33, "flag": "adjacent", "name": "Cyber Inductance (1.1x)", "exp": "Epsilon Low/Mid"}, {"x": -0.11, "y": 15.5, "flag": "exact", "name": "Bad Cycle", "exp": "Epsilon Mid"}, {"x": 0.2, "y": 15.5, "flag": "adjacent", "name": "Break (1.3x)", "exp": "Epsilon Mid"}, {"x": -0.21, "y": 15.5, "flag": "adjacent", "name": "Gengaozo Noize Of Nocent", "exp": "Epsilon Mid"}, {"x": 0.13, "y": 15.5, "flag": "exact", "name": "I Love It (1.3x)", "exp": "Epsilon Mid"}, {"x": 0.42, "y": 15.5, "flag": "adjacent", "name": "Pam (1.3x)", "exp": "Epsilon Mid"}, {"x": 0.08, "y": 15.5, "flag": "exact", "name": "Psychology (1.1x)", "exp": "Epsilon Mid"}, {"x": 0.1, "y": 15.5, "flag": "exact", "name": "Rigid Paradise (1.05x)", "exp": "Epsilon Mid"}, {"x": 0.05, "y": 15.5, "flag": "exact", "name": "Sakazuki (1.2x)", "exp": "Epsilon Mid"}, {"x": -0.61, "y": 15.5, "flag": "within", "name": "Stronger", "exp": "Epsilon Mid"}, {"x": -0.03, "y": 15.5, "flag": "exact", "name": "Trouble Kuroneko (1.5x)", "exp": "Epsilon Mid"}, {"x": 0.86, "y": 15.5, "flag": "within", "name": "Full Throttle", "exp": "Epsilon Mid"}, {"x": 0.34, "y": 15.5, "flag": "adjacent", "name": "Mario Paint", "exp": "Epsilon Mid"}, {"x": -0.03, "y": 15.5, "flag": "exact", "name": "The Empress (1.15x)", "exp": "Epsilon Mid"}, {"x": 0.09, "y": 15.5, "flag": "exact", "name": "The Fate Of Remix (1.1x)", "exp": "Epsilon Mid"}, {"x": -0.26, "y": 15.5, "flag": "adjacent", "name": "The Hypocrisy (1.2x)", "exp": "Epsilon Mid"}, {"x": -0.14, "y": 15.5, "flag": "exact", "name": "Yuudachi No Ribbon (1.2x)", "exp": "Epsilon Mid"}, {"x": 0.41, "y": 15.5, "flag": "adjacent", "name": "Forgotten (1.4x)", "exp": "Epsilon Mid"}, {"x": -0.05, "y": 17.83, "flag": "exact", "name": "Rip Me Apart", "exp": "Eta High"}, {"x": 0.16, "y": 17.17, "flag": "exact", "name": "Deep Down (1.35x)", "exp": "Eta Low"}, {"x": 0.07, "y": 17.17, "flag": "exact", "name": "Sendan Life Frawog (1.5x)", "exp": "Eta Low"}, {"x": 0.08, "y": 17.17, "flag": "exact", "name": "Code Name Bravo", "exp": "Eta Low"}, {"x": -0.14, "y": 17.5, "flag": "exact", "name": "Intersect Thunderbolt", "exp": "Eta Mid"}, {"x": -0.28, "y": 17.5, "flag": "adjacent", "name": "Collapse Of Ego", "exp": "Eta Mid"}, {"x": 0.17, "y": 17.5, "flag": "adjacent", "name": "Exitium", "exp": "Eta Mid"}, {"x": -0.18, "y": 13.83, "flag": "adjacent", "name": "Amen Katagiri Generation (1.05x)", "exp": "Gamma High"}, {"x": -0.13, "y": 13.83, "flag": "exact", "name": "Livestream (1.2x)", "exp": "Gamma High"}, {"x": -0.16, "y": 13.83, "flag": "exact", "name": "Nuclear Star (1.3x)", "exp": "Gamma High"}, {"x": -0.02, "y": 13.83, "flag": "exact", "name": "Nhelv", "exp": "Gamma High"}, {"x": -0.11, "y": 13.83, "flag": "exact", "name": "Playing With Ruby (1.2x)", "exp": "Gamma High"}, {"x": -0.03, "y": 13.17, "flag": "exact", "name": "Hustler", "exp": "Gamma Low"}, {"x": -0.23, "y": 13.17, "flag": "adjacent", "name": "Anomaly (1.2x)", "exp": "Gamma Low"}, {"x": -0.64, "y": 13.17, "flag": "within", "name": "Tornado", "exp": "Gamma Low"}, {"x": 0.5, "y": 13.33, "flag": "within", "name": "Sunnyshinyring", "exp": "Gamma Low/Mid"}, {"x": 0.3, "y": 13.5, "flag": "adjacent", "name": "Everything Black", "exp": "Gamma Mid"}, {"x": 0.58, "y": 13.5, "flag": "within", "name": "Credens (0.9x)", "exp": "Gamma Mid"}, {"x": 0.17, "y": 13.5, "flag": "adjacent", "name": "P8107 (1.4x)", "exp": "Gamma Mid"}, {"x": 0.22, "y": 13.5, "flag": "adjacent", "name": "Reflec Streamz", "exp": "Gamma Mid"}, {"x": 0.1, "y": 13.5, "flag": "exact", "name": "Cyber Inductance (1.4x)", "exp": "Gamma Mid"}, {"x": -0.44, "y": 13.5, "flag": "adjacent", "name": "Phosphor (1.05x)", "exp": "Gamma Mid"}, {"x": 0.4, "y": 13.5, "flag": "adjacent", "name": "Shinbatsu O Tadori (1.05x)", "exp": "Gamma Mid"}, {"x": 0.2, "y": 13.5, "flag": "adjacent", "name": "Icicle Stinger (1.1x)", "exp": "Gamma Mid"}, {"x": 0.08, "y": 13.5, "flag": "exact", "name": "Matusa Bomber (1.05x)", "exp": "Gamma Mid"}, {"x": 0.54, "y": 13.67, "flag": "within", "name": "Childhoodfriend", "exp": "Gamma Mid/High"}, {"x": 0.02, "y": 13.67, "flag": "exact", "name": "Pureruby (1.08x)", "exp": "Gamma Mid/High"}, {"x": 0.12, "y": 16.83, "flag": "exact", "name": "Anhedonia Gemini", "exp": "Zeta High"}, {"x": -0.06, "y": 16.83, "flag": "exact", "name": "Darling Dance (1.2x)", "exp": "Zeta High"}, {"x": 0.05, "y": 16.83, "flag": "exact", "name": "Day By Day", "exp": "Zeta High"}, {"x": 0.26, "y": 16.83, "flag": "adjacent", "name": "Decoy Omega", "exp": "Zeta High"}, {"x": 0.27, "y": 16.83, "flag": "adjacent", "name": "Melody Blooming In The Earth (1.5x)", "exp": "Zeta High"}, {"x": 0.18, "y": 16.5, "flag": "adjacent", "name": "Cg901B (1.3x)", "exp": "Zeta Mid"}, {"x": -0.07, "y": 16.5, "flag": "exact", "name": "Dark Sambaland Omega (1.2x)", "exp": "Zeta Mid"}, {"x": 0.18, "y": 16.5, "flag": "adjacent", "name": "Exile (1.1x)", "exp": "Zeta Mid"}, {"x": -0.24, "y": 16.5, "flag": "adjacent", "name": "]-[34#!", "exp": "Zeta Mid"}, {"x": 0.19, "y": 16.5, "flag": "adjacent", "name": "Finixe", "exp": "Zeta Mid"}, {"x": -0.17, "y": 16.5, "flag": "adjacent", "name": "Nijuu (1.0x)", "exp": "Zeta Mid"}, {"x": 0.03, "y": 16.5, "flag": "exact", "name": "Apocalyptic Premonition (1.05x)", "exp": "Zeta Mid"}, {"x": -0.41, "y": 16.5, "flag": "adjacent", "name": "Weird Autumn (1.4x)", "exp": "Zeta Mid"}, {"x": 0.36, "y": 16.67, "flag": "adjacent", "name": "Twilightofthegods (1.3x)", "exp": "Zeta Mid/High"}];
|
||
const cumXs = [0.0, 0.0073, 0.0146, 0.0218, 0.0291, 0.0364, 0.0437, 0.051, 0.0583, 0.0655, 0.0728, 0.0801, 0.0874, 0.0947, 0.1019, 0.1092, 0.1165, 0.1238, 0.1311, 0.1383, 0.1456, 0.1529, 0.1602, 0.1675, 0.1748, 0.182, 0.1893, 0.1966, 0.2039, 0.2112, 0.2184, 0.2257, 0.233, 0.2403, 0.2476, 0.2548, 0.2621, 0.2694, 0.2767, 0.284, 0.2913, 0.2985, 0.3058, 0.3131, 0.3204, 0.3277, 0.3349, 0.3422, 0.3495, 0.3568, 0.3641, 0.3714, 0.3786, 0.3859, 0.3932, 0.4005, 0.4078, 0.415, 0.4223, 0.4296, 0.4369, 0.4442, 0.4514, 0.4587, 0.466, 0.4733, 0.4806, 0.4879, 0.4951, 0.5024, 0.5097, 0.517, 0.5243, 0.5315, 0.5388, 0.5461, 0.5534, 0.5607, 0.5679, 0.5752, 0.5825, 0.5898, 0.5971, 0.6044, 0.6116, 0.6189, 0.6262, 0.6335, 0.6408, 0.648, 0.6553, 0.6626, 0.6699, 0.6772, 0.6845, 0.6917, 0.699, 0.7063, 0.7136, 0.7209, 0.7281, 0.7354, 0.7427, 0.75, 0.7573, 0.7645, 0.7718, 0.7791, 0.7864, 0.7937, 0.801, 0.8082, 0.8155, 0.8228, 0.8301, 0.8374, 0.8446, 0.8519, 0.8592, 0.8665, 0.8738, 0.8811, 0.8883, 0.8956, 0.9029, 0.9102, 0.9175, 0.9247, 0.932, 0.9393, 0.9466, 0.9539, 0.9611, 0.9684, 0.9757, 0.983, 0.9903, 0.9976, 1.0048, 1.0121, 1.0194, 1.0267, 1.034, 1.0412, 1.0485, 1.0558, 1.0631, 1.0704, 1.0776, 1.0849, 1.0922, 1.0995, 1.1068, 1.1141, 1.1213, 1.1286, 1.1359, 1.1432, 1.1505, 1.1577, 1.165, 1.1723, 1.1796, 1.1869, 1.1942, 1.2014, 1.2087, 1.216, 1.2233, 1.2306, 1.2378, 1.2451, 1.2524, 1.2597, 1.267, 1.2742, 1.2815, 1.2888, 1.2961, 1.3034, 1.3107, 1.3179, 1.3252, 1.3325, 1.3398, 1.3471, 1.3543, 1.3616, 1.3689, 1.3762, 1.3835, 1.3907, 1.398, 1.4053, 1.4126, 1.4199, 1.4272, 1.4344, 1.4417, 1.449];
|
||
const cumYs = [0.69, 0.69, 2.76, 5.52, 5.52, 10.34, 12.41, 18.62, 18.62, 22.76, 26.9, 31.03, 31.03, 33.79, 37.24, 37.24, 41.38, 43.45, 46.21, 46.21, 48.28, 50.34, 52.41, 52.41, 56.55, 60.69, 60.69, 64.83, 66.9, 67.59, 67.59, 68.97, 69.66, 70.34, 70.34, 71.72, 73.1, 73.1, 74.48, 76.55, 76.55, 76.55, 77.24, 77.24, 79.31, 79.31, 79.31, 80.0, 80.0, 80.0, 82.07, 82.07, 82.07, 82.76, 82.76, 83.45, 83.45, 85.52, 86.9, 86.9, 87.59, 88.97, 89.66, 89.66, 89.66, 89.66, 89.66, 89.66, 89.66, 91.03, 91.03, 91.03, 91.72, 91.72, 91.72, 92.41, 93.1, 93.1, 93.1, 93.1, 93.79, 93.79, 93.79, 94.48, 95.17, 95.17, 95.17, 95.17, 95.86, 95.86, 95.86, 96.55, 96.55, 96.55, 96.55, 96.55, 96.55, 96.55, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.24, 97.93, 97.93, 97.93, 97.93, 97.93, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 98.62, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 99.31, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0];
|
||
const cumThresh = [{"x": 0.165, "label": "Exact"}, {"x": 0.495, "label": "Adjacent"}, {"x": 1.0, "label": "Within"}];
|
||
const danLabels = ["Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta"];
|
||
const danExact = [70.0, 41.7, 44.0, 68.6, 51.5, 31.8, 62.5];
|
||
const danAdjacent = [20.0, 50.0, 36.0, 31.4, 39.4, 45.5, 37.5];
|
||
const danWithin = [10.0, 8.3, 20.0, 0.0, 9.1, 13.6, 0.0];
|
||
const danMiss = [0.0, 0.0, 0.0, 0.0, 0.0, 9.1, 0.0];
|
||
const danBias = [0.091, -0.104, 0.013, -0.029, 0.034, -0.039, 0.046];
|
||
const danMae = [0.185, 0.264, 0.25, 0.133, 0.201, 0.333, 0.164];
|
||
const skLabels = ["jack", "tech", "speed", "stamina"];
|
||
const skExact = [63.9, 48.1, 35.5, 50.0];
|
||
const skAdjacent = [23.0, 48.1, 45.2, 50.0];
|
||
const skWithin = [9.8, 3.7, 19.4, 0.0];
|
||
const skMiss = [3.3, 0.0, 0.0, 0.0];
|
||
const skBias = [-0.021, 0.007, 0.098, -0.092];
|
||
const skMae = [0.207, 0.187, 0.282, 0.182];
|
||
const skN = [61, 27, 31, 26];
|
||
|
||
const C = {
|
||
bg: '#0e0f14', surface: '#16181f', border: '#2a2d3a',
|
||
text: '#dde1f5', muted: '#626880',
|
||
exact: '#7dd3fc', adjacent: '#4ade80', within: '#fb923c', miss: '#ef4444',
|
||
accent: '#818cf8'
|
||
};
|
||
|
||
Chart.defaults.color = C.muted;
|
||
Chart.defaults.borderColor = C.border;
|
||
Chart.defaults.font.family = "'JetBrains Mono', monospace";
|
||
Chart.defaults.font.size = 13;
|
||
Chart.defaults.maintainAspectRatio = false;
|
||
|
||
const DAN_SYMBOLS = {
|
||
11: 'α', 12: 'β', 13: 'γ',
|
||
14: 'δ', 15: 'ε', 16: 'ζ',
|
||
17: 'η', 18: 'θ'
|
||
};
|
||
function danLabel(v) {
|
||
const base = Math.floor(v);
|
||
const frac = Math.round((v - base) * 100) / 100;
|
||
if (frac === 0.5 && DAN_SYMBOLS[base]) return DAN_SYMBOLS[base];
|
||
return '';
|
||
}
|
||
const DAN_TICKS = [11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5];
|
||
|
||
function makeScatterDatasets(filterSk) {
|
||
const pts = filterSk ? scatterRaw.filter(p => p.sk === filterSk) : scatterRaw;
|
||
return [
|
||
{ label: 'Exact', data: pts.filter(p=>p.flag==='exact') .map(p=>{return{x:p.x,y:p.y,song:p.song}}) , backgroundColor: C.exact +'cc', pointRadius: 5 },
|
||
{ label: 'Adjacent', data: pts.filter(p=>p.flag==='adjacent').map(p=>{return{x:p.x,y:p.y,song:p.song}}) , backgroundColor: C.adjacent+'cc', pointRadius: 5 },
|
||
{ label: 'Within', data: pts.filter(p=>p.flag==='within') .map(p=>{return{x:p.x,y:p.y,song:p.song}}) , backgroundColor: C.within +'cc', pointRadius: 5 },
|
||
{ label: 'Miss', data: pts.filter(p=>p.flag==='miss') .map(p=>{return{x:p.x,y:p.y,song:p.song}}) , backgroundColor: C.miss +'cc', pointRadius: 5 },
|
||
];
|
||
}
|
||
|
||
function scatterRange(filterSk) {
|
||
const pts = filterSk ? scatterRaw.filter(p => p.sk === filterSk) : scatterRaw;
|
||
if (!pts.length) return [10, 19];
|
||
const all = pts.map(p=>p.x).concat(pts.map(p=>p.y));
|
||
return [Math.min(...all) - 0.3, Math.max(...all) + 0.3];
|
||
}
|
||
|
||
function makeScatterChart(id, filterSk) {
|
||
const [sMin, sMax] = scatterRange(filterSk);
|
||
return new Chart(document.getElementById(id), {
|
||
type: 'scatter',
|
||
data: { datasets: makeScatterDatasets(filterSk) },
|
||
options: {
|
||
scales: {
|
||
x: {
|
||
title: {display:true, text:'Expected', color:C.muted},
|
||
min: sMin, max: sMax, grid: {color:C.border},
|
||
ticks: {
|
||
font: {size:17},
|
||
callback: v => danLabel(v)
|
||
},
|
||
afterBuildTicks: axis => {
|
||
axis.ticks = DAN_TICKS.filter(t => t >= sMin && t <= sMax).map(v => ({value:v}));
|
||
}
|
||
},
|
||
y: {
|
||
title: {display:true, text:'Predicted', color:C.muted},
|
||
min: sMin, max: sMax, grid: {color:C.border},
|
||
ticks: {
|
||
font: {size:17},
|
||
callback: v => danLabel(v)
|
||
},
|
||
afterBuildTicks: axis => {
|
||
axis.ticks = DAN_TICKS.filter(t => t >= sMin && t <= sMax).map(v => ({value:v}));
|
||
}
|
||
}
|
||
},
|
||
plugins: {
|
||
legend: { labels: { color: C.text } },
|
||
tooltip: { callbacks: { label: ctx => ` ${ctx.raw.song} — Exp: ${danLabel(ctx.parsed.x) || ctx.parsed.x.toFixed(2)} Got: ${danLabel(ctx.parsed.y) || ctx.parsed.y.toFixed(2)}` } }
|
||
}
|
||
},
|
||
plugins: [{
|
||
id: 'diag',
|
||
beforeDraw(chart) {
|
||
const {ctx, scales: {x, y}} = chart;
|
||
const mn = Math.max(x.min, y.min), mx = Math.min(x.max, y.max);
|
||
ctx.save(); ctx.strokeStyle = C.muted; ctx.setLineDash([4,4]); ctx.lineWidth = 1;
|
||
ctx.beginPath();
|
||
ctx.moveTo(x.getPixelForValue(mn), y.getPixelForValue(mn));
|
||
ctx.lineTo(x.getPixelForValue(mx), y.getPixelForValue(mx));
|
||
ctx.stroke(); ctx.restore();
|
||
}
|
||
}]
|
||
});
|
||
}
|
||
|
||
// ── Donut ─────────────────────────────────────────────────────────────────────
|
||
new Chart(document.getElementById('donut'), {
|
||
type: 'doughnut',
|
||
data: {
|
||
labels: ['Exact (±0.165)', 'Adjacent (±0.495)', 'Within (±1.0)', 'Miss (>1.0)'],
|
||
datasets: [{ data: [76, 54, 13, 2],
|
||
backgroundColor: [C.exact, C.adjacent, C.within, C.miss],
|
||
borderColor: C.bg, borderWidth: 3 }]
|
||
},
|
||
options: {
|
||
plugins: {
|
||
legend: { position: 'bottom', labels: { color: C.text } },
|
||
tooltip: { callbacks: { label: ctx => ` ${ctx.label}: ${ctx.raw} (${(100*ctx.raw/145).toFixed(1)}%)` } }
|
||
}
|
||
}
|
||
});
|
||
|
||
// ── Overall scatter ───────────────────────────────────────────────────────────
|
||
makeScatterChart('scatter', null);
|
||
|
||
// ── Delta vs difficulty scatter ───────────────────────────────────────────────
|
||
(function() {
|
||
const flagColor = {
|
||
exact: C.exact, adjacent: C.adjacent, within: C.within, miss: C.miss
|
||
};
|
||
const byFlag = ['exact','adjacent','within','miss'].map(f => ({
|
||
label: f.charAt(0).toUpperCase()+f.slice(1),
|
||
data: swarmPoints.filter(p=>p.flag===f).map(p=>{return{x:p.x,y:p.y,name:p.name,exp:p.exp}}) ,
|
||
backgroundColor: flagColor[f]+'cc',
|
||
pointRadius: 5,
|
||
pointHoverRadius: 7,
|
||
}));
|
||
const dxs = swarmPoints.map(p=>p.x);
|
||
const ext = dxs.length ? Math.max(Math.abs(Math.min(...dxs)), Math.abs(Math.max(...dxs)))*1.2 : 2;
|
||
const dys = swarmPoints.map(p=>p.y);
|
||
const yMin = dys.length ? Math.min(...dys)-0.3 : 11;
|
||
const yMax = dys.length ? Math.max(...dys)+0.3 : 19;
|
||
new Chart(document.getElementById('delta-kde'), {
|
||
type: 'scatter',
|
||
data: { datasets: byFlag },
|
||
options: {
|
||
plugins: {
|
||
legend: { labels: { color: C.text } },
|
||
tooltip: { callbacks: {
|
||
label: ctx => ` ${ctx.raw.name} (${ctx.raw.exp}) Δ=${ctx.parsed.x.toFixed(3)}`
|
||
}}
|
||
},
|
||
scales: {
|
||
x: {
|
||
type: 'linear', min: -ext, max: ext,
|
||
title: {display:true, text:'Δ numeric (got − expected)', color:C.muted},
|
||
ticks: {maxTicksLimit:9, callback: v=>v.toFixed(2)},
|
||
grid: {color:C.border}
|
||
},
|
||
y: {
|
||
min: yMin, max: yMax,
|
||
title: {display:true, text:'Expected difficulty', color:C.muted},
|
||
grid: {color:C.border},
|
||
ticks: { font:{size:17}, callback: v => danLabel(v) },
|
||
afterBuildTicks: axis => {
|
||
axis.ticks = DAN_TICKS.filter(t => t >= yMin && t <= yMax).map(v => ({value:v}));
|
||
}
|
||
}
|
||
}
|
||
},
|
||
plugins: [{
|
||
id: 'delta-bands',
|
||
beforeDraw(chart) {
|
||
const {ctx, scales:{x}, chartArea:{top,bottom}} = chart;
|
||
const bands = [
|
||
{lo:-0.165, hi: 0.165, col:C.exact +'1e'},
|
||
{lo:-0.495, hi:-0.165, col:C.adjacent +'18'},
|
||
{lo: 0.165, hi: 0.495, col:C.adjacent +'18'},
|
||
{lo:-1.0, hi:-0.495, col:C.within +'14'},
|
||
{lo: 0.495, hi: 1.0, col:C.within +'14'},
|
||
];
|
||
ctx.save();
|
||
bands.forEach(b=>{
|
||
ctx.fillStyle=b.col;
|
||
ctx.fillRect(x.getPixelForValue(b.lo),top,x.getPixelForValue(b.hi)-x.getPixelForValue(b.lo),bottom-top);
|
||
});
|
||
[-1,-0.495,-0.165,0,0.165,0.495,1].forEach(v=>{
|
||
const px=x.getPixelForValue(v);
|
||
ctx.strokeStyle = v===0 ? C.muted+'99' : C.muted+'44';
|
||
ctx.lineWidth = v===0 ? 1.5 : 1;
|
||
ctx.setLineDash(v===0?[4,4]:[2,4]);
|
||
ctx.beginPath(); ctx.moveTo(px,top); ctx.lineTo(px,bottom); ctx.stroke();
|
||
});
|
||
ctx.restore();
|
||
}
|
||
}]
|
||
});
|
||
})();
|
||
|
||
// ── Cumulative accuracy curve ─────────────────────────────────────────────────
|
||
(function() {
|
||
const threshColors = {
|
||
'Exact': C.exact, 'Adjacent': C.adjacent, 'Within': C.within
|
||
};
|
||
new Chart(document.getElementById('cum-curve'), {
|
||
type: 'line',
|
||
data: {
|
||
labels: cumXs,
|
||
datasets: [{
|
||
label: '% maps within error',
|
||
data: cumYs,
|
||
borderColor: C.accent,
|
||
borderWidth: 2.5,
|
||
pointRadius: 0,
|
||
fill: true,
|
||
backgroundColor: (ctx) => {
|
||
const {chart} = ctx;
|
||
const {ctx: c, chartArea} = chart;
|
||
if (!chartArea) return C.accent + '22';
|
||
const grad = c.createLinearGradient(0, chartArea.top, 0, chartArea.bottom);
|
||
grad.addColorStop(0, C.accent + '55');
|
||
grad.addColorStop(1, C.accent + '05');
|
||
return grad;
|
||
},
|
||
tension: 0.3,
|
||
}]
|
||
},
|
||
options: {
|
||
plugins: {
|
||
legend: { display: false },
|
||
tooltip: {
|
||
callbacks: {
|
||
title: items => `Error ≤ ${parseFloat(items[0].label).toFixed(3)}`,
|
||
label: item => `${item.raw.toFixed(1)}% of maps`
|
||
}
|
||
}
|
||
},
|
||
scales: {
|
||
x: {
|
||
type: 'linear',
|
||
title: { display: true, text: 'Max |Δ numeric| tolerated', color: C.muted },
|
||
ticks: { maxTicksLimit: 8, callback: v => v.toFixed(2) },
|
||
grid: { color: C.border }
|
||
},
|
||
y: {
|
||
min: 0, max: 100,
|
||
title: { display: true, text: '% maps', color: C.muted },
|
||
ticks: { callback: v => v + '%' },
|
||
grid: { color: C.border }
|
||
}
|
||
}
|
||
},
|
||
plugins: [{
|
||
id: 'cum-markers',
|
||
afterDatasetsDraw(chart) {
|
||
const {ctx, scales: {x, y}, chartArea: {top, bottom}} = chart;
|
||
ctx.save();
|
||
cumThresh.forEach(t => {
|
||
const px = x.getPixelForValue(t.x);
|
||
const col = threshColors[t.label] || C.muted;
|
||
ctx.strokeStyle = col + 'aa';
|
||
ctx.lineWidth = 1.5;
|
||
ctx.setLineDash([4, 3]);
|
||
ctx.beginPath(); ctx.moveTo(px, top); ctx.lineTo(px, bottom); ctx.stroke();
|
||
ctx.setLineDash([]);
|
||
const idx = cumXs.findIndex(v => v >= t.x);
|
||
const pct = idx >= 0 ? cumYs[idx] : 100;
|
||
const py = y.getPixelForValue(pct);
|
||
ctx.fillStyle = col;
|
||
ctx.beginPath(); ctx.arc(px, py, 5, 0, Math.PI*2); ctx.fill();
|
||
ctx.fillStyle = col;
|
||
ctx.font = 'bold 11px monospace';
|
||
ctx.textAlign = 'left';
|
||
ctx.textBaseline= 'bottom';
|
||
ctx.fillText(`${t.label} ${pct.toFixed(0)}%`, px + 6, py - 3);
|
||
});
|
||
ctx.restore();
|
||
}
|
||
}]
|
||
});
|
||
})();
|
||
|
||
// ── Per-dan stacked bar ───────────────────────────────────────────────────────
|
||
const DAN_NAME_TO_SYM = {
|
||
'Alpha':'α','Beta':'β','Gamma':'γ','Delta':'δ',
|
||
'Epsilon':'ε','Zeta':'ζ','Eta':'η','Theta':'θ'
|
||
};
|
||
new Chart(document.getElementById('dan-bar'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: danLabels.map(d => DAN_NAME_TO_SYM[d] || d),
|
||
datasets: [
|
||
{ label: 'Exact %', data: danExact, backgroundColor: C.exact +'cc', stack: 's' },
|
||
{ label: 'Adjacent %', data: danAdjacent, backgroundColor: C.adjacent+'cc', stack: 's' },
|
||
{ label: 'Within %', data: danWithin, backgroundColor: C.within +'cc', stack: 's' },
|
||
{ label: 'Miss %', data: danMiss, backgroundColor: C.miss +'cc', stack: 's' },
|
||
]
|
||
},
|
||
options: {
|
||
plugins: { legend: { labels: { color: C.text } },
|
||
tooltip: { callbacks: { title: items => danLabels[items[0].dataIndex] } }
|
||
},
|
||
scales: {
|
||
x: { stacked:true, grid:{color:C.border}, ticks:{font:{size:18}} },
|
||
y: { stacked:true, max:100, title:{display:true, text:'%', color:C.muted}, grid:{color:C.border} }
|
||
}
|
||
}
|
||
});
|
||
|
||
// ── Per-dan bias/MAE ─────────────────────────────────────────────────────────
|
||
new Chart(document.getElementById('dan-bias'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: danLabels.map(d => DAN_NAME_TO_SYM[d] || d),
|
||
datasets: [
|
||
{ label: 'MAE', data: danMae, backgroundColor: C.accent+'aa', borderRadius: 3 },
|
||
{ label: 'Bias', data: danBias, backgroundColor: danBias.map(b => b >= 0 ? C.exact+'aa' : C.miss+'aa'), borderRadius: 3 },
|
||
]
|
||
},
|
||
options: {
|
||
plugins: { legend: { labels: { color: C.text } } },
|
||
scales: {
|
||
x: { grid:{color:C.border}, ticks:{font:{size:18}} },
|
||
y: { title:{display:true, text:'Δ numeric', color:C.muted}, grid:{color:C.border} }
|
||
}
|
||
}
|
||
});
|
||
|
||
// ── Per-skillset stacked bar ──────────────────────────────────────────────────
|
||
new Chart(document.getElementById('sk-bar'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: skLabels.map((s,i) => `${s.charAt(0).toUpperCase()+s.slice(1)} (n=${skN[i]})`),
|
||
datasets: [
|
||
{ label: 'Exact %', data: skExact, backgroundColor: C.exact +'cc', stack: 's' },
|
||
{ label: 'Adjacent %', data: skAdjacent, backgroundColor: C.adjacent+'cc', stack: 's' },
|
||
{ label: 'Within %', data: skWithin, backgroundColor: C.within +'cc', stack: 's' },
|
||
{ label: 'Miss %', data: skMiss, backgroundColor: C.miss +'cc', stack: 's' },
|
||
]
|
||
},
|
||
options: {
|
||
plugins: { legend: { labels: { color: C.text } } },
|
||
scales: {
|
||
x: { stacked:true, grid:{color:C.border} },
|
||
y: { stacked:true, max:100, title:{display:true, text:'%', color:C.muted}, grid:{color:C.border} }
|
||
}
|
||
}
|
||
});
|
||
|
||
// ── Per-skillset bias/MAE ─────────────────────────────────────────────────────
|
||
new Chart(document.getElementById('sk-bias'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: skLabels.map(s => s.charAt(0).toUpperCase()+s.slice(1)),
|
||
datasets: [
|
||
{ label: 'MAE', data: skMae, backgroundColor: C.accent+'aa', borderRadius: 3 },
|
||
{ label: 'Bias', data: skBias, backgroundColor: skBias.map(b => b >= 0 ? C.miss+'aa' : C.exact+'aa'), borderRadius: 3 },
|
||
]
|
||
},
|
||
options: {
|
||
plugins: { legend: { labels: { color: C.text } } },
|
||
scales: {
|
||
x: { grid:{color:C.border} },
|
||
y: { title:{display:true, text:'Δ numeric', color:C.muted}, grid:{color:C.border} }
|
||
}
|
||
}
|
||
});
|
||
|
||
// ── Per-skillset scatter plots ────────────────────────────────────────────────
|
||
makeScatterChart('scatter-jack', 'jack');
|
||
makeScatterChart('scatter-tech', 'tech');
|
||
makeScatterChart('scatter-speed', 'speed');
|
||
makeScatterChart('scatter-stamina', 'stamina');
|
||
|
||
// ── Table filter / sort ───────────────────────────────────────────────────────
|
||
function filterTable() {
|
||
const search = document.getElementById('search').value.toLowerCase();
|
||
const flag = document.getElementById('flag-filter').value;
|
||
const dan = document.getElementById('dan-filter').value;
|
||
const sk = document.getElementById('sk-filter').value;
|
||
const rows = document.querySelectorAll('#results-body tr');
|
||
let visible = 0;
|
||
rows.forEach(row => {
|
||
const cells = row.querySelectorAll('td');
|
||
const song = cells[0]?.textContent.toLowerCase() || '';
|
||
const expCell = cells[1]?.textContent.toLowerCase() || '';
|
||
const gotCell = cells[2]?.textContent.toLowerCase() || '';
|
||
const skCell = cells[3]?.textContent.toLowerCase() || '';
|
||
const flagVal = row.className.replace('row-', '').trim();
|
||
const matchS = !search || song.includes(search) || expCell.includes(search) || gotCell.includes(search);
|
||
const matchF = !flag || flagVal === flag;
|
||
const matchD = !dan || expCell.startsWith(dan.toLowerCase());
|
||
const matchSk = !sk || skCell === sk.toLowerCase();
|
||
const show = matchS && matchF && matchD && matchSk;
|
||
row.style.display = show ? '' : 'none';
|
||
if (show) visible++;
|
||
});
|
||
document.getElementById('filter-count').textContent = `${visible} shown`;
|
||
}
|
||
|
||
function clearFilters() {
|
||
document.getElementById('search').value = '';
|
||
document.getElementById('flag-filter').value = '';
|
||
document.getElementById('dan-filter').value = '';
|
||
document.getElementById('sk-filter').value = '';
|
||
filterTable();
|
||
}
|
||
|
||
let sortDir = {};
|
||
const DAN_SORT_ORDER = {
|
||
'alpha low':0,'alpha low/mid':1,'alpha mid':2,'alpha mid/high':3,'alpha high':4,
|
||
'beta low':5,'beta low/mid':6,'beta mid':7,'beta mid/high':8,'beta high':9,
|
||
'gamma low':10,'gamma low/mid':11,'gamma mid':12,'gamma mid/high':13,'gamma high':14,
|
||
'delta low':15,'delta low/mid':16,'delta mid':17,'delta mid/high':18,'delta high':19,
|
||
'epsilon low':20,'epsilon low/mid':21,'epsilon mid':22,'epsilon mid/high':23,'epsilon high':24,
|
||
'zeta low':25,'zeta low/mid':26,'zeta mid':27,'zeta mid/high':28,'zeta high':29,
|
||
'eta low':30,'eta low/mid':31,'eta mid':32,'eta mid/high':33,'eta high':34,
|
||
'theta low':35,'theta low/mid':36,'theta mid':37,'theta mid/high':38,'theta high':39
|
||
};
|
||
function danSortVal(s) {
|
||
const v = DAN_SORT_ORDER[s.toLowerCase()];
|
||
return v !== undefined ? v : 999;
|
||
}
|
||
function sortTable(col) {
|
||
const tbody = document.getElementById('results-body');
|
||
const rows = Array.from(tbody.querySelectorAll('tr'));
|
||
sortDir[col] = !sortDir[col];
|
||
// columns 1 (Expected) and 2 (Got) are dan labels
|
||
const isDanCol = (col === 1 || col === 2);
|
||
rows.sort((a, b) => {
|
||
const av = a.querySelectorAll('td')[col]?.textContent.trim() || '';
|
||
const bv = b.querySelectorAll('td')[col]?.textContent.trim() || '';
|
||
let cmp;
|
||
if (isDanCol) {
|
||
cmp = danSortVal(av) - danSortVal(bv);
|
||
} else {
|
||
const an = parseFloat(av), bn = parseFloat(bv);
|
||
cmp = isNaN(an) || isNaN(bn) ? av.localeCompare(bv) : an - bn;
|
||
}
|
||
return sortDir[col] ? cmp : -cmp;
|
||
});
|
||
rows.forEach(r => tbody.appendChild(r));
|
||
}
|
||
</script>
|
||
</body>
|
||
</html> |