Skip to content

Commit

Permalink
2025
Browse files Browse the repository at this point in the history
  • Loading branch information
lgarron committed Jan 17, 2025
1 parent 72c8bdc commit ee157a7
Show file tree
Hide file tree
Showing 6 changed files with 289 additions and 67 deletions.
Binary file modified bun.lockb
Binary file not shown.
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,8 @@
"https://negative-time.cubing.net": {
"fromLocalDir": "./src/static"
}
},
"dependencies": {
"jsdom": "^26.0.0"
}
}
46 changes: 46 additions & 0 deletions script/scrambles-to-html-select.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { join } from "node:path";
import { fileURLToPath } from "node:url";
import { file } from "bun";
import { eventInfo } from "cubing/puzzles";
import { JSDOM } from "jsdom";

const YEAR = 2025;

const dom = new JSDOM("");
const { window } = dom;
const { document } = window;

console.error(`Generating scrambles for year: ${YEAR}`);

const allScrambles: Record<string, string[]> = await file(
join("./src/static", `${YEAR}`, `scrambles-${YEAR}.json`),
).json();

const select = document.body.appendChild(document.createElement("select"));
select.style = "width: 100%;";

for (const [eventID, scrambles] of Object.entries(allScrambles)) {
if (eventID === "333mbf") {
continue; // TODO
}

const option: HTMLOptionElement = select.appendChild(
document.createElement("option"),
);
const info = eventInfo(eventID);
if (!info) {
throw new Error(`Unknown event: ${eventID}`);
}
const { puzzleID, eventName } = info;
option.setAttribute("data-puzzle", puzzleID);
option.setAttribute("data-scramble", scrambles[0]);
option.textContent = eventName;

if (eventID === "fto") {
// TODO: this should be a boolean setter, but it doesn't work in JSDOM: https://github.com/jsdom/jsdom/issues/1130
// option.selected = true;
option.setAttribute("selected", "");
}
}

console.log(select.outerHTML);
167 changes: 167 additions & 0 deletions src/static/2025/scrambles-2025.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"222": [
"R' U2 L' F U2 R F2 L' U L' U'"
],
"333": [
"F2 U B L' D' F2 R B2 R2 U' D2 L2 U F2 D2 L2 F2 U' F2"
],
"444": [
"U' R D2 L' B2 R F2 U2 L U2 L U2 R B R' U B L' U' L R Fw2 L Uw2 R2 D B2 R' Fw2 D' F2 Fw U2 Fw' R2 B' L' Uw2 B' Uw L' Fw B' R"
],
"555": [
"Bw' U Uw' B' U Fw Rw' Uw Rw2 Bw' R Uw' F' R2 Dw2 L F Fw' Uw' Dw Bw2 Lw Uw2 R' U Dw2 Rw2 Uw Bw D Lw2 Rw' Bw Lw2 F' Rw' Uw2 L' Lw2 Fw' Dw F2 Uw' Fw D R F2 Bw U Bw U2 Fw' Dw L2 U Rw D2 B' Rw Fw'"
],
"666": [
"B' R2 Dw 3Rw 3Fw U2 3Uw' F' Fw L' D Dw 3Rw2 Fw B2 3Rw' U 3Rw2 Bw2 Dw L2 3Uw B' L Dw' 3Rw2 Fw2 U 3Rw 3Uw D' U 3Fw' Lw' Rw' B U' F' Uw' B' Dw 3Uw2 B' 3Uw2 B2 3Rw' Fw 3Uw2 Bw2 L2 R' U' Rw2 3Rw' U' Uw' Bw' R U2 3Uw2 D L Dw2 U2 Fw B Uw2 D2 Uw2 Rw' Bw Lw' Bw2 R F' Lw2 3Fw Uw2 3Uw2 B"
],
"777": [
"3Dw' L F' 3Bw 3Uw L2 Lw2 F2 Dw 3Lw 3Uw 3Lw' R2 Rw' 3Dw Lw 3Rw2 U' D2 3Lw Rw2 3Dw 3Rw2 Fw' R2 3Uw Bw2 3Uw' B' Uw 3Fw2 Dw' R2 3Dw 3Rw2 3Dw R2 Rw 3Dw' Rw' D2 R2 D' 3Rw2 Fw2 3Rw2 3Dw 3Uw' D' 3Lw' Bw' 3Bw 3Lw Uw' Fw R2 3Rw2 Fw2 3Lw Rw' Uw 3Uw' D2 U Fw2 3Fw' L2 3Dw2 3Rw 3Fw L2 R' B 3Dw2 R 3Uw2 Fw' 3Bw U 3Bw 3Rw Dw' R2 D' Rw2 F' 3Dw Lw 3Lw' 3Rw' 3Dw2 L2 Dw' L2 3Uw2 3Dw' U' 3Dw2 Lw2 U'"
],
"333bf": [
"B' R' F2 D' L' U' F2 D F' U2 R2 D2 F' R2 B' U2 F' R2 F2 D'"
],
"333fm": [
"R' U' F U R' F' U2 B2 U D2 B2 L F U B2' D B2' U F2' D' B2' U R2' U R2' F2' D2 R' U' F"
],
"333oh": [
"U' F U2 R2 F2 R2 F D L F B2 D' F2 D' R2 D B2 U B2 L2 D2"
],
"clock": [
"UR1+ DR4- DL2- UL0+ U3- R6+ D0+ L4- ALL6+ y2 U1+ R4- D2+ L5+ ALL2+"
],
"minx": [
"R++ D++ R-- D++ R-- D-- R-- D++ R-- D-- U'\nR++ D++ R++ D++ R-- D++ R++ D-- R-- D-- U'\nR-- D-- R++ D++ R-- D-- R++ D-- R-- D++ U\nR-- D++ R-- D++ R++ D-- R++ D++ R-- D-- U'\nR-- D-- R++ D-- R-- D-- R++ D++ R++ D-- U'\nR-- D-- R-- D-- R-- D-- R++ D-- R-- D-- U'\nR-- D++ R++ D++ R++ D++ R++ D++ R++ D++ U"
],
"pyram": [
"U R B L' B L U' B' u l r' b"
],
"skewb": [
"L' R' B' U' L U' L' B' U' L' U'"
],
"sq1": [
"(4, 0) / (3, 0) / (3, 0) / (5, -1) / (-2, -2) / (5, -1) / (-2, 0) / (-3, 0) / (-1, 0) / (2, 0) / (0, -2) / (0, -5) / (-4, 0) / (6, 0)"
],
"444bf": [
"F U' L U' D2 F' D L' B' R' F2 R2 U B2 D' L2 B2 U2 D' L2 B2 Rw2 U2 Fw2 F U' Fw2 U' L2 B' U2 Rw2 F' Rw' R F2 B Rw' L' D2 Uw Fw Rw R2 L Fw' x2 y'"
],
"555bf": [
"R2 Dw Fw Dw B2 D2 Rw2 B2 Rw' D' L Dw2 R' F' U2 D2 Lw2 R2 Fw' U' F' Uw D' Fw2 Dw Fw U' B Dw' L' B2 Bw Lw' Rw D2 F2 D2 Dw' Fw' U Fw' L' Uw' L2 Dw' B Dw Rw Bw D B2 Bw L2 R Uw' R' Dw2 Lw' Uw' F2 3Rw"
],
"333mbf": [
"R L F2 U F2 B R F2 L' U R2 B' L2 B2 L2 B' L2 D2 B2 D2 F' Rw2 Dw'",
"F2 R U R' D' B2 U' R F L2 F' U2 L2 F B D2 B' R2 L2 F' R' Dw",
"F2 R' U2 L B2 L2 D' L' B2 U2 B' L2 B' L2 D2 B U2 B R F' Rw Dw2",
"B2 R' U2 D' L' D B F2 R D2 L2 B2 R D2 L2 D2 B2 L' F Rw2 Dw'",
"R' F R B' L' B U' B' R2 U2 D2 R' U2 L2 F2 U2 D2 F2 D2 R' U' Dw'",
"U R2 L2 D' F L2 U' F B L2 B' U2 B' L2 B2 R2 U2 B2 U2 L D' Fw' Dw'",
"U2 R2 F' D2 L2 B L2 U2 B' R2 F2 D F R B F' L' D L F2 Dw2",
"F2 U B2 R' U2 F D R D2 L2 B R2 B U2 F' D2 F D2 R2 B' U Rw' Dw",
"F U2 B2 R U R2 U' F' B' L R2 F2 R2 B2 R2 U' D2 B2 L2 D2 L2 Dw'",
"F2 L B' U B' R2 F2 D L U2 D2 F2 U2 B2 R2 D' L2 B2 D' L2 B2 Fw' Dw'",
"R B2 R U D' L B L' F R2 U' L2 D2 F2 R2 F2 R2 D B2 R2 L2 Fw'",
"U2 D' R' B2 R' F2 L2 B' L' D2 B2 U' F2 R2 D F2 B2 U' F2 D R2 Fw'",
"B U2 F' L2 D2 U2 B R2 B' D2 F U2 R F2 U' R' D2 F D' B' Fw' Dw'",
"B2 U R U' D2 F D F2 L' D2 F U2 B' R2 U2 R2 B' U2 F' L2 B2 Fw Dw2",
"U D' B2 R2 D F2 R F B2 D2 F2 R D2 F2 R2 U2 R U2 F2 L Rw Dw",
"U' R B D2 L' F' B' U D2 B' U2 F B2 R2 B' R2 U2 B2 R2 U2 Rw2",
"L2 F R L B D' L2 B U2 F2 R2 L2 U2 B2 U' F2 L2 U' B2 D L' Dw'",
"F L' F' B2 U' L B L' U F2 D2 B L2 B U2 F' L2 B' D2 L2 F Fw Dw2",
"L' B D2 F2 B R' L2 U L' D2 F2 R L2 B2 U2 R2 D2 R' U2 F2 Rw' Dw2",
"U R' U L2 B' D' L' D2 R2 F2 D2 R2 U R2 F2 D' R2 D' F' D2 Rw2 Dw2",
"R2 B U D L' B R B2 U R2 U' F2 L2 F2 U D F2 D' R2 L U' Rw'",
"F B2 D' L2 U R2 U B2 R2 D2 U' R2 D L R' B R2 U F2 L' R2 Fw",
"B2 D' B2 R2 U L2 R2 D' R2 D' U2 R' B L2 B2 L D' F2 D F' Rw2 Dw",
"B' U D' L2 D2 B R F2 D2 L2 U F2 D R2 D' B2 L2 U2 F D2 B Rw2 Dw2",
"F2 B R2 F' L U R U' R2 L2 B2 U R2 L2 U2 B2 D' F2 U B R' Fw Dw'",
"B' R L' U2 B L2 B2 U' L' D F2 B2 D2 F2 L D2 R L U2 D2 Rw' Dw'",
"F2 R F L F' B2 U D' F' U2 L2 U' B2 L2 D' B2 D' R2 D F2 D2 Fw Dw2",
"B' L B' U D F U R' L B' D2 B2 U2 L2 B2 L2 B2 U' L2 F2 D Rw'",
"B D' L D' R L B D' R' F R2 U2 L2 F2 U2 B R2 U2 F2 U2 L2 Rw Dw",
"B2 D L' B' U D' R' F' R2 B2 U' R2 L2 U' F2 L2 U R2 U2 L2 F' Rw Dw",
"L2 F' U' R' F' L F2 D L' D' L2 F2 R2 F2 U' B2 U' L2 D2 B2 D Rw Dw'",
"B2 U' R' B' U' R F L' D R D' F2 L2 D2 R2 B2 U' L2 D' B2 R2 Rw2 Dw",
"D2 F2 R' B2 U D2 R' D2 B' L U F2 U F2 U2 B2 U R2 U' F2 U' Rw' Dw'",
"L' U' B' D' L' D F' L F' R' U2 R2 B2 U2 F2 U2 L B2 R2 U2 L'",
"R B' L2 F2 U' F2 L R2 F' U2 B2 D2 L2 F U2 R2 L2 B' R2 L B Rw2 Dw2",
"U2 F D' R2 D B2 R2 U R2 U L2 U R' D' L' B' L' D Rw' Dw'",
"L' B L' F D2 F U D2 R B D2 B2 R2 B2 U' L2 U B2 U' F2 L2 Fw' Dw2",
"B' U F B' R2 U2 L' U F2 B2 R2 U B2 R2 B2 R2 U F2 D' F' L' Rw Dw2",
"D2 B2 R2 D2 F2 L2 U' L2 B2 U' B2 D L' B' L2 R' D' L' B' L F2 Rw Dw2",
"R2 U2 F2 R' B L' U' L2 F' D2 R D2 L U2 R2 U2 D2 L U2 L' Fw' Dw",
"U F2 B L' F R2 U D2 L F' U' L2 F2 B2 U L2 U F2 B2 L2 D Rw",
"R' L F B U2 R F U2 L B2 U R2 D B2 U L2 D2 L2 D' F2 Rw' Dw",
"U B U2 L D F2 U2 L' D' L2 F2 B2 U' R2 D L2 D2 B2 R2 B2 R Fw' Dw2",
"D2 R2 F2 U2 F2 D' F R U' L2 B2 U2 D' F2 U R2 U2 R2 L2 D' Rw Dw2",
"F2 U2 B R L' B2 D' L F2 L2 D F2 U R2 B2 U' F2 U L2 B' U2 Rw' Dw'",
"D F2 R B2 D2 R2 D F2 U' B2 R2 B2 F2 U F L B' D B2 R' F Dw'",
"F2 U2 B' L2 U' R' B2 L2 B2 U L2 D L2 D' R2 U' D' B2 R U Rw Dw",
"U2 R F' D' R U2 D2 F U2 R2 D2 R2 D' L2 D' B2 D R2 D' B' Rw2",
"F' D' R2 F' L' B' U B U R2 F2 U D L2 B2 U' F2 U R2 U2 R' Rw",
"R' U2 L' D' L2 B' U F' U F2 B2 U D F2 U' L2 B2 D2 B' U' Rw Dw'",
"D2 F2 B' R B' R L' D' L2 B2 R2 L2 D B2 L2 U2 L2 D' L2 B R' Fw Dw",
"R2 L' F2 L2 B U' F' R2 B' F2 U2 F2 U R2 U' F2 U' R2 L2 U' R2 Rw Dw'",
"D' L' F2 U2 B2 L' D2 B2 R2 B2 L2 R2 U' F' L2 F U' R D Rw2",
"F U2 R2 U2 R2 F' R2 F2 U2 B' R2 D2 R D F U R' F2 D2 U' R Rw' Dw'",
"B' R' L2 U2 D' B U2 F U R' D2 L U2 R U2 L2 B2 R F2 B2 R Rw'",
"D' F2 L D2 R2 D2 B2 L' U2 R' F2 L D2 B' D F' R' F L2 D2 U",
"B2 R' U L2 B' U' L' U F' L2 B2 R2 D2 B2 U' F2 B2 L2 D F2 L2 Rw'",
"L' U' R' F L F L D2 R D' L2 F2 D' L2 F2 U' L2 U F2 L2 D Rw2 Dw",
"B' R U' L2 F2 U L U2 R2 U2 B2 L2 U2 F D2 F R2 U2 F' D' B' Fw' Dw",
"R2 B2 U' F L' U D2 F' U R2 U2 R2 D2 R' B2 R2 L' B2 U2 B2 U2 Rw' Dw'",
"U L2 D R2 D' B2 D' R2 F2 U2 R2 D L F2 D F' D' R2 D Rw Dw2",
"R2 B2 D' B' U D2 R D B' U2 L2 U' R2 U' R2 U F2 D' B2 D F2 Fw' Dw2",
"D' B2 U' B2 L U' F' U F2 B2 D' L2 B2 U L2 U R2 D L' F' L' Rw2 Dw2",
"L2 U' L2 D R2 U2 R2 B2 L2 D R2 D2 L F' D2 U B' D U2 B' R2 Dw",
"D L' F' R' U2 B U2 R' B2 U R2 L2 D L2 F2 R2 F2 D' R2 D B'",
"U F' R' L U R2 U' F B L' U D2 R2 B2 R2 B2 R2 U' F2 D' R2 Rw Dw'",
"L2 U2 B2 L2 B R2 U2 F D2 L2 B2 U B' D2 L D2 U B2 D' B Rw2 Dw2",
"F' R D2 R' U' F2 L' B' L R2 U2 L2 D' B2 D F2 D2 F2 U' L2 F2 Fw Dw",
"D2 L' U2 R2 U2 R F2 R' D2 R' U2 R U L' F2 D R' F' D U2 F2 Dw",
"F' B2 R D' R' F U' B U2 F R2 D2 R2 B' D2 B' R2 L2 B' R B Fw Dw",
"D2 R2 D2 F2 L2 B' L2 U2 B2 F' D2 F D' F2 L U' R U2 R D' F' Fw' Dw2",
"R' B' D L U R L' F U2 R2 F' U2 F L2 U2 D2 B R2 B2 L' F' Fw Dw",
"R2 B2 U' R2 D L F' R2 U B2 U' L2 U D F2 R2 B2 L2 B2 L D' Fw Dw2",
"D B2 L2 D2 R2 U R2 F2 U F2 U F2 L' U' B F2 U' B2 R U2 R2 Rw Dw2",
"B' L2 F' R2 B D' R' F L D2 F2 B U2 F U2 R2 L2 F' D2 B' R2 Dw'",
"U' B2 D B2 D R2 B2 L2 B2 D2 L2 U2 L' U L U2 L2 D' B' R' Rw Dw2",
"L' B L' D2 B2 L U2 F2 L F2 L' B2 D2 R D B' F U' R D U Rw2 Dw2",
"U2 R' B U2 B2 R F' U D2 R' D2 B' L2 D2 L2 F U2 B U2 F R2 Rw' Dw",
"F' B' L D' F' U2 B L U2 F2 U2 D2 F' R2 F' D2 B2 L2 F U Rw2",
"R B D R2 L2 B' D2 R' U' D R2 D2 F L2 F2 U2 B' U2 R2 B2 U2 Fw'",
"D R L' U B' R D R2 F' B2 U L2 U L2 D' B2 L2 B2 R2 U2 B2 Rw Dw",
"L2 F' R D' L U2 F' R' U' F D2 F R2 B2 D2 F' D2 L2 B U2 L2 Fw Dw",
"U2 R2 F L D F2 L U' B R2 F2 L2 U B2 U' D' F2 U L2 F2 R2 Fw",
"U' D2 F U' L2 U' R U B2 L2 D' R2 D2 F2 U2 D' B2 L2 F2 R U Fw' Dw'",
"D2 L2 B2 L2 B2 D' B2 D' B2 F2 R2 F2 L F' R' U' R D' Rw Dw",
"F' D B2 R' B L F2 D' U2 F U2 F2 L2 U2 R2 B' R2 D2 B' U2 D Fw",
"F' D F' U' R2 U2 D' L' F U' F2 D B2 U' B2 U' B2 L2 D2 R2 U Dw2",
"R2 D L D B2 U L2 U2 R2 F2 U B2 R2 D R F' U' B2 D' B' D' Dw2",
"U L2 B' D2 R' B' R' B D' L2 F D2 F' L2 F' B2 D2 B' L2 F2 Rw' Dw'",
"B R B2 U2 F2 D2 F2 L F2 L2 D2 U2 B2 F' L' R' F' U L' F2 Rw2 Dw2",
"F2 R B2 U R L' B2 U' B2 L2 U2 F' R2 U2 R2 D2 B' L2 F D B2 Rw2 Dw2",
"F' B R F U D' F2 R2 L B F2 U' L2 F2 U R2 D2 F2 B2 L2 U Rw' Dw2",
"U' F R2 U' R2 D' B2 U2 L2 B2 U R' F' L2 D2 R2 D F' Rw2",
"D B' U2 D2 B R U L2 B R2 L' D2 L2 U2 B2 L B2 D2 B2 R' Fw Dw",
"R' B' U2 L U2 F2 R' F2 D2 F2 L R B2 R2 B' D' U F2 L' F' R2 Fw",
"B2 R2 B U' R' F L2 F' D F' D2 B L2 F' L2 F2 D2 B' L2 F2 U2 Rw2 Dw",
"D L2 B' L2 B U' R' L D L U2 R2 D R2 L2 F2 L2 D L2 F2 D Fw Dw",
"D' L' F R' U' L B' D F U2 F2 U2 B' L2 B L2 D2 R2 F2 D' Fw Dw'",
"R2 D R2 D R2 U' R2 B2 F2 U' R2 D L' U' B' R' B' R' B U' L Rw Dw2",
"B D R2 B2 U R2 D F2 R2 B2 D2 R2 U' R F2 D B L D' B' Rw'"
],
"fto": [
"R D R L R D B' R BR' B' D BR B' BR B' R' D L' B BR' D BL' L' BR' U' B D L"
],
"master_tetraminx": [
"r L r' U' R l u U' L' R B u l u' b r' l' r' u"
],
"kilominx": [
"x2 U L2' BR U2 BL2 L2 F' x2 U2 R2' U' BL' L2 BR U' BL2' U F R2 U2 R U F2 U2' F2 R2'"
],
"redi_cube": [
"UL F' B U R' D L B' L UL' UR F' UR' F' UL U UR F"
],
"baby_fto": [
"U L' R' L D' L R' U' L' U'"
]
}
Binary file added src/static/2025/scrambles-2025.zip
Binary file not shown.
Loading

0 comments on commit ee157a7

Please sign in to comment.