cubing 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/puzzle-geometry-bin.js.map +2 -2
- package/dist/lib/cubing/{Alg-3d4f29da.d.ts → Alg.d-Qi_gM3ue.d.ts} +1 -1
- package/dist/lib/cubing/{KPattern-615b74bc.d.ts → KPattern.d-1RSDwKrh.d.ts} +6 -5
- package/dist/lib/cubing/{TwizzleLink-dc09917e.d.ts → TwizzleLink.d-nUoRT8X-.d.ts} +5 -5
- package/dist/lib/cubing/alg/index.d.ts +4 -4
- package/dist/lib/cubing/bluetooth/index.d.ts +6 -5
- package/dist/lib/cubing/bluetooth/index.js +3 -3
- package/dist/lib/cubing/bluetooth/index.js.map +2 -2
- package/dist/lib/cubing/{bluetooth-puzzle-a9d97030.d.ts → bluetooth-puzzle.d-myIXFws0.d.ts} +4 -3
- package/dist/lib/cubing/chunks/{chunk-T547L5YD.js → chunk-6GHNIWHB.js} +2 -2
- package/dist/lib/cubing/chunks/{chunk-T547L5YD.js.map → chunk-6GHNIWHB.js.map} +2 -2
- package/dist/lib/cubing/chunks/{chunk-SPVUYW4S.js → chunk-EVO6P2RU.js} +2 -2
- package/dist/lib/cubing/chunks/{chunk-E4HTVCKQ.js → chunk-GVKFGIR6.js} +1 -1
- package/dist/lib/cubing/chunks/chunk-GVKFGIR6.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-QGASBGHA.js → chunk-HKLBBJT5.js} +1 -1
- package/dist/lib/cubing/chunks/{chunk-A633BEXQ.js → chunk-M65YYSXA.js} +3 -3
- package/dist/lib/cubing/chunks/chunk-M65YYSXA.js.map +7 -0
- package/dist/lib/cubing/chunks/{chunk-CBMJAMI6.js → chunk-U5G6G6T5.js} +8 -8
- package/dist/lib/cubing/chunks/{chunk-CBMJAMI6.js.map → chunk-U5G6G6T5.js.map} +1 -1
- package/dist/lib/cubing/chunks/{chunk-XFPXWYUL.js → chunk-WSJSEGED.js} +2 -2
- package/dist/lib/cubing/chunks/{inside-5BTZMLBC.js → inside-SUMDRTDV.js} +5 -5
- package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-VZHVVAGQ.js → search-dynamic-sgs-side-events-KEVZO2J4.js} +3 -3
- package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-EKO6RD3Y.js → search-dynamic-sgs-unofficial-RF3MBCAV.js} +3 -3
- package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-JHJYUDAC.js → search-dynamic-solve-4x4x4-GFMEWQQA.js} +6 -6
- package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
- package/dist/lib/cubing/chunks/{twisty-dynamic-3d-DRQMOEKS.js → twisty-dynamic-3d-Z7DZPPGE.js} +4 -4
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-Z7DZPPGE.js.map +7 -0
- package/dist/lib/cubing/{index-ba1fea3f.d.ts → index-WrxLz0RY.d.ts} +2 -2
- package/dist/lib/cubing/kpuzzle/index.d.ts +2 -2
- package/dist/lib/cubing/notation/index.d.ts +4 -4
- package/dist/lib/cubing/notation/index.js +2 -2
- package/dist/lib/cubing/{parseAlg-f471ffd6.d.ts → parseAlg.d-LTqyeghV.d.ts} +2 -2
- package/dist/lib/cubing/protocol/index.d.ts +2 -2
- package/dist/lib/cubing/protocol/index.js +2 -2
- package/dist/lib/cubing/puzzle-geometry/index.d.ts +3 -3
- package/dist/lib/cubing/puzzle-geometry/index.js +4 -4
- package/dist/lib/cubing/puzzle-geometry/index.js.map +2 -2
- package/dist/lib/cubing/puzzles/index.d.ts +4 -4
- package/dist/lib/cubing/puzzles/index.js +2 -2
- package/dist/lib/cubing/scramble/index.d.ts +3 -3
- package/dist/lib/cubing/scramble/index.js +5 -5
- package/dist/lib/cubing/search/index.d.ts +3 -3
- package/dist/lib/cubing/search/index.js +5 -5
- package/dist/lib/cubing/stream/index.d.ts +4 -4
- package/dist/lib/cubing/twisty/index.d.ts +5 -5
- package/dist/lib/cubing/twisty/index.js +7 -7
- package/dist/lib/cubing/twisty/index.js.map +2 -2
- package/package.json +21 -21
- package/dist/lib/cubing/chunks/chunk-A633BEXQ.js.map +0 -7
- package/dist/lib/cubing/chunks/chunk-E4HTVCKQ.js.map +0 -7
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-DRQMOEKS.js.map +0 -7
- /package/dist/lib/cubing/chunks/{chunk-SPVUYW4S.js.map → chunk-EVO6P2RU.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{chunk-QGASBGHA.js.map → chunk-HKLBBJT5.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{chunk-XFPXWYUL.js.map → chunk-WSJSEGED.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{inside-5BTZMLBC.js.map → inside-SUMDRTDV.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-VZHVVAGQ.js.map → search-dynamic-sgs-side-events-KEVZO2J4.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-EKO6RD3Y.js.map → search-dynamic-sgs-unofficial-RF3MBCAV.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-JHJYUDAC.js.map → search-dynamic-solve-4x4x4-GFMEWQQA.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/bin/puzzle-geometry-bin.ts"],
|
|
4
|
-
"sourcesContent": ["// To run this file directly:\n// bun run src/bin/puzzle-geometry-bin.ts -- <program args>\n\nimport {\n type ExperimentalPuzzleBaseShape,\n type ExperimentalPuzzleCutType,\n getPG3DNamedPuzzles,\n parsePuzzleDescription,\n PuzzleGeometry,\n type ExperimentalPuzzleGeometryOptions,\n} from \"cubing/puzzle-geometry\";\nimport type {\n PuzzleCutDescription,\n PuzzleDescription,\n} from \"cubing/puzzle-geometry/PuzzleGeometry\";\n\nexport function asstructured(v: any): any {\n if (typeof v === \"string\") {\n return JSON.parse(v);\n }\n return v;\n}\nexport function asboolean(v: any): boolean {\n if (typeof v === \"string\") {\n if (v === \"false\") {\n return false;\n }\n return true;\n } else {\n return v ? true : false;\n }\n}\nexport function parsePGOptionList(\n optionlist?: any[],\n): ExperimentalPuzzleGeometryOptions {\n const options: ExperimentalPuzzleGeometryOptions = {};\n if (optionlist !== undefined) {\n if (optionlist.length % 2 !== 0) {\n throw new Error(\"Odd length in option list?\");\n }\n for (let i = 0; i < optionlist.length; i += 2) {\n if (optionlist[i] === \"verbose\") {\n options.verbosity = (options.verbosity ?? 0) + 1;\n } else if (optionlist[i] === \"quiet\") {\n options.verbosity = 0;\n } else if (optionlist[i] === \"allmoves\") {\n options.allMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"outerblockmoves\") {\n options.outerBlockMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"vertexmoves\") {\n options.vertexMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"rotations\") {\n options.addRotations = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"cornersets\") {\n options.includeCornerOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"centersets\") {\n options.includeCenterOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"edgesets\") {\n options.includeEdgeOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"omit\") {\n options.excludeOrbits = optionlist[i + 1];\n } else if (optionlist[i] === \"graycorners\") {\n options.grayCorners = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"graycenters\") {\n options.grayCenters = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"grayedges\") {\n options.grayEdges = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"movelist\") {\n options.moveList = asstructured(optionlist[i + 1]);\n } else if (optionlist[i] === \"killorientation\") {\n options.fixedOrientation = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"optimize\") {\n options.optimizeOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"scramble\") {\n options.scrambleAmount = optionlist[i + 1];\n } else if (optionlist[i] === \"fix\") {\n options.fixedPieceType = optionlist[i + 1];\n } else if (optionlist[i] === \"orientcenters\") {\n options.orientCenters = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"puzzleorientation\") {\n options.puzzleOrientation = asstructured(optionlist[i + 1]);\n } else if (optionlist[i] === \"puzzleorientations\") {\n options.puzzleOrientations = asstructured(optionlist[i + 1]);\n } else {\n throw new Error(\n `Bad option while processing option list ${optionlist[i]}`,\n );\n }\n }\n }\n return options;\n}\n\nlet dosvg = false;\nlet doss = false;\nlet doksolve = false;\nlet dogap = false;\nlet domathematica = false;\nlet docanon = false;\nlet do3d = false;\nif (globalThis.process && process.argv && process.argv.length <= 2) {\n console.log(\n `Usage: puzzle-geometry [options] [puzzle]\n\nOptions:\n--ksolve: write ksolve (tws) file\n--svg: write SVG (default is flat; --3d makes it 3D)\n--gap: write gap\n--mathematica: write mathematica\n--ss: execute Schrier-Sims calculation\n--3d: use 3D format for SVG file\n--canon: write canonical string analysis\n--rotations: include full-puzzle rotations as moves\n--allmoves: includes all moves (i.e., slice moves for 3x3x3)\n--outerblockmoves: use outer block moves rather than slice moves\n--vertexmoves: for tetrahedral puzzles, prefer vertex moves to face moves\n--nocorners: ignore all corners\n--noedges: ignore all edges\n--nocenters: ignore all centers\n--noorientation: ignore orientations\n--orientcenters: give centers an orientation\n--puzzleorientation: for 3D formats, give puzzle orientation\n--moves movenames: restrict moves to this list (e.g, U2,F,r)\n--optimize: optimize tws/ksolve/gap output\n--scramble: scramble solved position\n--fixcorner: choose moves to keep one corner fixed\n--fixedge: choose moves to keep one edge fixed\n--fixcenter: choose moves to keep one center fixed\n--verbose (-v): make verbose\n\nThe puzzle can be given as a geometric description or by name.\nThe geometric description starts with c (cube), t (tetrahedron),\nd (dodecahedron), i (icosahedron), or o (octahedron), then a\nspace, then a series of cuts. Each cut begins with f (for a\ncut parallel to faces), v (for a cut perpendicular to a ray\nfrom the center through a corner), or e (for a cut perpendicular\nto a ray from the center through an edge) followed by a decimal\nnumber giving a distance, where 1 is the distance between the\ncenter of the puzzle and the center of a face.\n\nThe puzzle names recognized are 2x2x2 through 13x13x13, 20x20x20,\nmaster skewb, professor skewb, compy cube, helicopter, dino,\nlittle chop, pyramorphix, mastermorphix, pyraminx, Jing pyraminx,\nmaster paramorphix, megaminx, gigaminx, pentultimate, starminx,\nstarminx 2, pyraminx crystal, chopasaurus, big chop, skewb diamond,\nFTO, Christopher's jewel, octastar, Trajber's octahedron, radio chop,\nicosamate, icosahedron 2, icosahedron 3, icosahedron static faces,\nicosahedron moving faces, and Eitan's star.\n\nExamples:\n puzzlegeometry --ss 2x2x2\n puzzlegeometry --ss --fixcorner 2x2x2\n puzzlegeometry --ss --moves U,F2,r 4x4x4\n puzzlegeometry --ksolve --optimize --moves U,F,R megaminx\n puzzlegeometry --gap --noedges megaminx\n`,\n );\n}\nif (globalThis.process && process.argv && process.argv.length >= 3) {\n let desc;\n const puzzleList = getPG3DNamedPuzzles();\n let argp = 2;\n const optionlist = [];\n let showargs = true;\n let pascalcomment = false;\n while (argp < process.argv.length && process.argv[argp][0] === \"-\") {\n const option = process.argv[argp++];\n if (option === \"--verbose\" || option === \"-v\") {\n optionlist.push(\"verbose\", true);\n } else if (option === \"--quiet\" || option === \"-q\") {\n optionlist.push(\"quiet\", true);\n showargs = false;\n } else if (option === \"--ksolve\") {\n doksolve = true;\n } else if (option === \"--svg\") {\n showargs = false;\n optionlist.push(\"quiet\", true);\n dosvg = true;\n } else if (option === \"--gap\") {\n dogap = true;\n } else if (option === \"--mathematica\") {\n domathematica = true;\n pascalcomment = true;\n } else if (option === \"--ss\") {\n doss = true;\n } else if (option === \"--3d\") {\n do3d = true;\n } else if (option === \"--canon\") {\n docanon = true;\n } else if (option === \"--rotations\") {\n optionlist.push(\"rotations\", true);\n } else if (option === \"--allmoves\") {\n optionlist.push(\"allmoves\", true);\n } else if (option === \"--outerblockmoves\") {\n optionlist.push(\"outerblockmoves\", true);\n } else if (option === \"--vertexmoves\") {\n optionlist.push(\"vertexmoves\", true);\n } else if (option === \"--nocorners\") {\n optionlist.push(\"cornersets\", false);\n } else if (option === \"--noedges\") {\n optionlist.push(\"edgesets\", false);\n } else if (option === \"--noorientation\") {\n optionlist.push(\"killorientation\", true);\n } else if (option === \"--nocenters\") {\n optionlist.push(\"centersets\", false);\n } else if (option === \"--omit\") {\n optionlist.push(\"omit\", process.argv[argp].split(\",\"));\n argp++;\n } else if (option === \"--moves\") {\n optionlist.push(\"movelist\", process.argv[argp].split(\",\"));\n argp++;\n } else if (option === \"--optimize\") {\n optionlist.push(\"optimize\", true);\n } else if (option === \"--scramble\") {\n optionlist.push(\"scramble\", 100);\n } else if (option === \"--fixcorner\") {\n optionlist.push(\"fix\", \"v\");\n } else if (option === \"--fixedge\") {\n optionlist.push(\"fix\", \"e\");\n } else if (option === \"--fixcenter\") {\n optionlist.push(\"fix\", \"f\");\n } else if (option === \"--orientcenters\") {\n optionlist.push(\"orientcenters\", true);\n } else if (option === \"--puzzleorientation\") {\n optionlist.push(\"puzzleorientation\", process.argv[argp]);\n argp++;\n } else {\n throw new Error(`Bad option: ${option}`);\n }\n }\n for (const [name, curDesc] of Object.entries(puzzleList)) {\n if (name === process.argv[argp]) {\n desc = curDesc;\n break;\n }\n }\n let puzzleDescription: PuzzleDescription;\n if (showargs) {\n if (pascalcomment) {\n console.log(`(* ${process.argv.join(\" \")} *)`);\n } else {\n console.log(`# ${process.argv.join(\" \")}`);\n }\n }\n if (desc !== undefined) {\n const parsed = parsePuzzleDescription(desc);\n if (parsed === null) {\n throw new Error(\"Could not parse puzzle description!\");\n }\n puzzleDescription = parsed;\n argp++;\n } else {\n const cuts: PuzzleCutDescription[] = [];\n const cutarg = argp++;\n while (argp + 1 < process.argv.length && process.argv[argp].length === 1) {\n // TODO: validate cut type\n cuts.push({\n cutType: process.argv[argp] as ExperimentalPuzzleCutType,\n distance: parseFloat(process.argv[argp + 1]),\n });\n argp += 2;\n }\n // TODO: validate shape\n puzzleDescription = {\n shape: process.argv[cutarg] as ExperimentalPuzzleBaseShape,\n cuts,\n };\n }\n const options = parsePGOptionList(optionlist);\n const pg = new PuzzleGeometry(puzzleDescription, options);\n pg.allstickers();\n pg.genperms();\n if (argp < process.argv.length) {\n throw new Error(\"Unprocessed content at end of command line\");\n }\n if (dogap) {\n console.log(pg.writegap());\n } else if (domathematica) {\n console.log(pg.writemathematica());\n } else if (doksolve) {\n console.log(pg.writeksolve()); // TODO: Update arguments\n } else if (dosvg) {\n console.log(pg.generatesvg(undefined, undefined, undefined, do3d));\n } else if (do3d) {\n console.log(JSON.stringify(pg.get3d()));\n } else if (doss) {\n pg.writeSchreierSims(console.log);\n } else if (docanon) {\n pg.showcanon((_) => console.log(_));\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;AAGA;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;
|
|
4
|
+
"sourcesContent": ["// To run this file directly:\n// bun run src/bin/puzzle-geometry-bin.ts -- <program args>\n\nimport {\n type ExperimentalPuzzleBaseShape,\n type ExperimentalPuzzleCutType,\n getPG3DNamedPuzzles,\n parsePuzzleDescription,\n PuzzleGeometry,\n type ExperimentalPuzzleGeometryOptions,\n} from \"cubing/puzzle-geometry\";\nimport type { PuzzleDescriptionString } from \"cubing/puzzle-geometry/PGPuzzles\";\nimport type {\n PuzzleCutDescription,\n PuzzleDescription,\n} from \"cubing/puzzle-geometry/PuzzleGeometry\";\n\nexport function asstructured(v: any): any {\n if (typeof v === \"string\") {\n return JSON.parse(v);\n }\n return v;\n}\nexport function asboolean(v: any): boolean {\n if (typeof v === \"string\") {\n if (v === \"false\") {\n return false;\n }\n return true;\n } else {\n return v ? true : false;\n }\n}\nexport function parsePGOptionList(\n optionlist?: any[],\n): ExperimentalPuzzleGeometryOptions {\n const options: ExperimentalPuzzleGeometryOptions = {};\n if (optionlist !== undefined) {\n if (optionlist.length % 2 !== 0) {\n throw new Error(\"Odd length in option list?\");\n }\n for (let i = 0; i < optionlist.length; i += 2) {\n if (optionlist[i] === \"verbose\") {\n options.verbosity = (options.verbosity ?? 0) + 1;\n } else if (optionlist[i] === \"quiet\") {\n options.verbosity = 0;\n } else if (optionlist[i] === \"allmoves\") {\n options.allMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"outerblockmoves\") {\n options.outerBlockMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"vertexmoves\") {\n options.vertexMoves = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"rotations\") {\n options.addRotations = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"cornersets\") {\n options.includeCornerOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"centersets\") {\n options.includeCenterOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"edgesets\") {\n options.includeEdgeOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"omit\") {\n options.excludeOrbits = optionlist[i + 1];\n } else if (optionlist[i] === \"graycorners\") {\n options.grayCorners = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"graycenters\") {\n options.grayCenters = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"grayedges\") {\n options.grayEdges = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"movelist\") {\n options.moveList = asstructured(optionlist[i + 1]);\n } else if (optionlist[i] === \"killorientation\") {\n options.fixedOrientation = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"optimize\") {\n options.optimizeOrbits = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"scramble\") {\n options.scrambleAmount = optionlist[i + 1];\n } else if (optionlist[i] === \"fix\") {\n options.fixedPieceType = optionlist[i + 1];\n } else if (optionlist[i] === \"orientcenters\") {\n options.orientCenters = asboolean(optionlist[i + 1]);\n } else if (optionlist[i] === \"puzzleorientation\") {\n options.puzzleOrientation = asstructured(optionlist[i + 1]);\n } else if (optionlist[i] === \"puzzleorientations\") {\n options.puzzleOrientations = asstructured(optionlist[i + 1]);\n } else {\n throw new Error(\n `Bad option while processing option list ${optionlist[i]}`,\n );\n }\n }\n }\n return options;\n}\n\nlet dosvg = false;\nlet doss = false;\nlet doksolve = false;\nlet dogap = false;\nlet domathematica = false;\nlet docanon = false;\nlet do3d = false;\nif (globalThis.process && process.argv && process.argv.length <= 2) {\n console.log(\n `Usage: puzzle-geometry [options] [puzzle]\n\nOptions:\n--ksolve: write ksolve (tws) file\n--svg: write SVG (default is flat; --3d makes it 3D)\n--gap: write gap\n--mathematica: write mathematica\n--ss: execute Schrier-Sims calculation\n--3d: use 3D format for SVG file\n--canon: write canonical string analysis\n--rotations: include full-puzzle rotations as moves\n--allmoves: includes all moves (i.e., slice moves for 3x3x3)\n--outerblockmoves: use outer block moves rather than slice moves\n--vertexmoves: for tetrahedral puzzles, prefer vertex moves to face moves\n--nocorners: ignore all corners\n--noedges: ignore all edges\n--nocenters: ignore all centers\n--noorientation: ignore orientations\n--orientcenters: give centers an orientation\n--puzzleorientation: for 3D formats, give puzzle orientation\n--moves movenames: restrict moves to this list (e.g, U2,F,r)\n--optimize: optimize tws/ksolve/gap output\n--scramble: scramble solved position\n--fixcorner: choose moves to keep one corner fixed\n--fixedge: choose moves to keep one edge fixed\n--fixcenter: choose moves to keep one center fixed\n--verbose (-v): make verbose\n\nThe puzzle can be given as a geometric description or by name.\nThe geometric description starts with c (cube), t (tetrahedron),\nd (dodecahedron), i (icosahedron), or o (octahedron), then a\nspace, then a series of cuts. Each cut begins with f (for a\ncut parallel to faces), v (for a cut perpendicular to a ray\nfrom the center through a corner), or e (for a cut perpendicular\nto a ray from the center through an edge) followed by a decimal\nnumber giving a distance, where 1 is the distance between the\ncenter of the puzzle and the center of a face.\n\nThe puzzle names recognized are 2x2x2 through 13x13x13, 20x20x20,\nmaster skewb, professor skewb, compy cube, helicopter, dino,\nlittle chop, pyramorphix, mastermorphix, pyraminx, Jing pyraminx,\nmaster paramorphix, megaminx, gigaminx, pentultimate, starminx,\nstarminx 2, pyraminx crystal, chopasaurus, big chop, skewb diamond,\nFTO, Christopher's jewel, octastar, Trajber's octahedron, radio chop,\nicosamate, icosahedron 2, icosahedron 3, icosahedron static faces,\nicosahedron moving faces, and Eitan's star.\n\nExamples:\n puzzlegeometry --ss 2x2x2\n puzzlegeometry --ss --fixcorner 2x2x2\n puzzlegeometry --ss --moves U,F2,r 4x4x4\n puzzlegeometry --ksolve --optimize --moves U,F,R megaminx\n puzzlegeometry --gap --noedges megaminx\n`,\n );\n}\nif (globalThis.process && process.argv && process.argv.length >= 3) {\n let desc: PuzzleDescriptionString | undefined;\n const puzzleList = getPG3DNamedPuzzles();\n let argp = 2;\n const optionlist = [];\n let showargs = true;\n let pascalcomment = false;\n while (argp < process.argv.length && process.argv[argp][0] === \"-\") {\n const option = process.argv[argp++];\n if (option === \"--verbose\" || option === \"-v\") {\n optionlist.push(\"verbose\", true);\n } else if (option === \"--quiet\" || option === \"-q\") {\n optionlist.push(\"quiet\", true);\n showargs = false;\n } else if (option === \"--ksolve\") {\n doksolve = true;\n } else if (option === \"--svg\") {\n showargs = false;\n optionlist.push(\"quiet\", true);\n dosvg = true;\n } else if (option === \"--gap\") {\n dogap = true;\n } else if (option === \"--mathematica\") {\n domathematica = true;\n pascalcomment = true;\n } else if (option === \"--ss\") {\n doss = true;\n } else if (option === \"--3d\") {\n do3d = true;\n } else if (option === \"--canon\") {\n docanon = true;\n } else if (option === \"--rotations\") {\n optionlist.push(\"rotations\", true);\n } else if (option === \"--allmoves\") {\n optionlist.push(\"allmoves\", true);\n } else if (option === \"--outerblockmoves\") {\n optionlist.push(\"outerblockmoves\", true);\n } else if (option === \"--vertexmoves\") {\n optionlist.push(\"vertexmoves\", true);\n } else if (option === \"--nocorners\") {\n optionlist.push(\"cornersets\", false);\n } else if (option === \"--noedges\") {\n optionlist.push(\"edgesets\", false);\n } else if (option === \"--noorientation\") {\n optionlist.push(\"killorientation\", true);\n } else if (option === \"--nocenters\") {\n optionlist.push(\"centersets\", false);\n } else if (option === \"--omit\") {\n optionlist.push(\"omit\", process.argv[argp].split(\",\"));\n argp++;\n } else if (option === \"--moves\") {\n optionlist.push(\"movelist\", process.argv[argp].split(\",\"));\n argp++;\n } else if (option === \"--optimize\") {\n optionlist.push(\"optimize\", true);\n } else if (option === \"--scramble\") {\n optionlist.push(\"scramble\", 100);\n } else if (option === \"--fixcorner\") {\n optionlist.push(\"fix\", \"v\");\n } else if (option === \"--fixedge\") {\n optionlist.push(\"fix\", \"e\");\n } else if (option === \"--fixcenter\") {\n optionlist.push(\"fix\", \"f\");\n } else if (option === \"--orientcenters\") {\n optionlist.push(\"orientcenters\", true);\n } else if (option === \"--puzzleorientation\") {\n optionlist.push(\"puzzleorientation\", process.argv[argp]);\n argp++;\n } else {\n throw new Error(`Bad option: ${option}`);\n }\n }\n for (const [name, curDesc] of Object.entries(puzzleList)) {\n if (name === process.argv[argp]) {\n desc = curDesc;\n break;\n }\n }\n let puzzleDescription: PuzzleDescription;\n if (showargs) {\n if (pascalcomment) {\n console.log(`(* ${process.argv.join(\" \")} *)`);\n } else {\n console.log(`# ${process.argv.join(\" \")}`);\n }\n }\n if (desc !== undefined) {\n const parsed = parsePuzzleDescription(desc);\n if (parsed === null) {\n throw new Error(\"Could not parse puzzle description!\");\n }\n puzzleDescription = parsed;\n argp++;\n } else {\n const cuts: PuzzleCutDescription[] = [];\n const cutarg = argp++;\n while (argp + 1 < process.argv.length && process.argv[argp].length === 1) {\n // TODO: validate cut type\n cuts.push({\n cutType: process.argv[argp] as ExperimentalPuzzleCutType,\n distance: parseFloat(process.argv[argp + 1]),\n });\n argp += 2;\n }\n // TODO: validate shape\n puzzleDescription = {\n shape: process.argv[cutarg] as ExperimentalPuzzleBaseShape,\n cuts,\n };\n }\n const options = parsePGOptionList(optionlist);\n const pg = new PuzzleGeometry(puzzleDescription, options);\n pg.allstickers();\n pg.genperms();\n if (argp < process.argv.length) {\n throw new Error(\"Unprocessed content at end of command line\");\n }\n if (dogap) {\n console.log(pg.writegap());\n } else if (domathematica) {\n console.log(pg.writemathematica());\n } else if (doksolve) {\n console.log(pg.writeksolve()); // TODO: Update arguments\n } else if (dosvg) {\n console.log(pg.generatesvg(undefined, undefined, undefined, do3d));\n } else if (do3d) {\n console.log(JSON.stringify(pg.get3d()));\n } else if (doss) {\n pg.writeSchreierSims(console.log);\n } else if (docanon) {\n pg.showcanon((_) => console.log(_));\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -339,4 +339,4 @@ declare class Alg extends AlgCommon<Alg> {
|
|
|
339
339
|
simplify(options?: SimplifyOptions): Alg;
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
-
export { Alg as A, Commutator as C, Grouping as G, IterationDirection as I, LineComment as L, Move as M, Newline as N, PuzzleSpecificSimplifyOptions as P, QuantumMove as Q, SimplifyOptions as S, AlgNode as a, AlgLeaf as b, AppendOptions as c, Conjugate as d, Pause as e, MoveModifications as f, AlgBranch as g, AppendCancelOptions as h };
|
|
342
|
+
export { Alg as A, Commutator as C, Grouping as G, IterationDirection as I, LineComment as L, Move as M, Newline as N, type PuzzleSpecificSimplifyOptions as P, QuantumMove as Q, type SimplifyOptions as S, type AlgNode as a, type AlgLeaf as b, type AppendOptions as c, Conjugate as d, Pause as e, type MoveModifications as f, type AlgBranch as g, type AppendCancelOptions as h };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { M as Move, A as Alg } from './Alg-
|
|
1
|
+
import { M as Move, A as Alg } from './Alg.d-Qi_gM3ue.js';
|
|
2
2
|
|
|
3
3
|
type KPatternData = Record<string, KPatternOrbitData>;
|
|
4
4
|
interface KPatternOrbitData {
|
|
@@ -384,9 +384,9 @@ declare function getPG3DNamedPuzzles(): {
|
|
|
384
384
|
};
|
|
385
385
|
declare function getPuzzleDescriptionString(puzzleName: PuzzleName): PuzzleDescriptionString;
|
|
386
386
|
declare const PUZZLE_BASE_SHAPES: readonly ["c", "t", "o", "d", "i"];
|
|
387
|
-
type PuzzleBaseShape = typeof PUZZLE_BASE_SHAPES[number];
|
|
387
|
+
type PuzzleBaseShape = (typeof PUZZLE_BASE_SHAPES)[number];
|
|
388
388
|
declare const PUZZLE_CUT_TYPES: readonly ["f", "v", "e"];
|
|
389
|
-
type PuzzleCutType = typeof PUZZLE_CUT_TYPES[number];
|
|
389
|
+
type PuzzleCutType = (typeof PUZZLE_CUT_TYPES)[number];
|
|
390
390
|
type PuzzleCutDescription = {
|
|
391
391
|
cutType: PuzzleCutType;
|
|
392
392
|
distance: number;
|
|
@@ -398,6 +398,7 @@ type PuzzleDescription = {
|
|
|
398
398
|
declare function parsePuzzleDescription(s: PuzzleDescriptionString): PuzzleDescription | null;
|
|
399
399
|
declare function getPuzzleGeometryByDesc(desc: string, options?: PuzzleGeometryOptions): PuzzleGeometry;
|
|
400
400
|
declare function getPuzzleGeometryByName(puzzleName: PuzzleName, options?: PuzzleGeometryOptions): PuzzleGeometry;
|
|
401
|
+
type MoveSetGeo = [string, string, string, string, number];
|
|
401
402
|
/** @category PuzzleGeometry */
|
|
402
403
|
declare class PuzzleGeometry {
|
|
403
404
|
puzzleDescription: PuzzleDescription;
|
|
@@ -414,7 +415,7 @@ declare class PuzzleGeometry {
|
|
|
414
415
|
moveplanesets: Quat[][];
|
|
415
416
|
private moveplanenormals;
|
|
416
417
|
movesetorders: number[];
|
|
417
|
-
movesetgeos: [
|
|
418
|
+
movesetgeos: MoveSetGeo[];
|
|
418
419
|
private basefaces;
|
|
419
420
|
private faces;
|
|
420
421
|
private facecentermass;
|
|
@@ -546,4 +547,4 @@ declare class KPattern {
|
|
|
546
547
|
}): boolean;
|
|
547
548
|
}
|
|
548
549
|
|
|
549
|
-
export { KPattern as K, Perm as P, Quat as Q, StickerDat as S, getPuzzleGeometryByDesc as a, getPuzzleGeometryByName as b, getPG3DNamedPuzzles as c, PuzzleGeometry as d, StickerDatAxis as e, StickerDatFace as f, getPuzzleDescriptionString as g, StickerDatSticker as h, parseOptions as i, PuzzleGeometryOptions as j, PGNotation as k, PuzzleCutDescription as l, PuzzleDescription as m, PUZZLE_CUT_TYPES as n, PuzzleCutType as o, parsePuzzleDescription as p, PUZZLE_BASE_SHAPES as q, PuzzleBaseShape as r, KPuzzle as s, KTransformation as t, PuzzleDescriptionString as u, KPuzzleDefinition as v, KPatternData as w, KPatternOrbitData as x, KTransformationData as y, KTransformationOrbitData as z };
|
|
550
|
+
export { KPattern as K, Perm as P, Quat as Q, type StickerDat as S, getPuzzleGeometryByDesc as a, getPuzzleGeometryByName as b, getPG3DNamedPuzzles as c, PuzzleGeometry as d, type StickerDatAxis as e, type StickerDatFace as f, getPuzzleDescriptionString as g, type StickerDatSticker as h, parseOptions as i, type PuzzleGeometryOptions as j, PGNotation as k, type PuzzleCutDescription as l, type PuzzleDescription as m, PUZZLE_CUT_TYPES as n, type PuzzleCutType as o, parsePuzzleDescription as p, PUZZLE_BASE_SHAPES as q, type PuzzleBaseShape as r, KPuzzle as s, KTransformation as t, type PuzzleDescriptionString as u, type KPuzzleDefinition as v, type KPatternData as w, type KPatternOrbitData as x, type KTransformationData as y, type KTransformationOrbitData as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Texture, Object3D, Raycaster, PerspectiveCamera, Scene, WebGLRenderer } from 'three';
|
|
2
|
-
import { P as PuzzleSpecificSimplifyOptions, M as Move, A as Alg, e as Pause, h as AppendCancelOptions, b as AlgLeaf, c as AppendOptions, a as AlgNode, I as IterationDirection } from './Alg-
|
|
3
|
-
import { P as Parsed } from './parseAlg-
|
|
4
|
-
import { s as KPuzzle, d as PuzzleGeometry, K as KPattern, t as KTransformation, u as PuzzleDescriptionString } from './KPattern-
|
|
2
|
+
import { P as PuzzleSpecificSimplifyOptions, M as Move, A as Alg, e as Pause, h as AppendCancelOptions, b as AlgLeaf, c as AppendOptions, a as AlgNode, I as IterationDirection } from './Alg.d-Qi_gM3ue.js';
|
|
3
|
+
import { P as Parsed } from './parseAlg.d-LTqyeghV.js';
|
|
4
|
+
import { s as KPuzzle, d as PuzzleGeometry, K as KPattern, t as KTransformation, u as PuzzleDescriptionString } from './KPattern.d-1RSDwKrh.js';
|
|
5
5
|
|
|
6
6
|
type FaceletMeshStickeringMask = "regular" | "dim" | "oriented" | "experimentalOriented2" | "ignored" | "invisible";
|
|
7
7
|
type FaceletStickeringMask = {
|
|
@@ -468,7 +468,7 @@ declare class ViewerLinkProp extends SimpleTwistyPropSource<ViewerLinkPageWithAu
|
|
|
468
468
|
}
|
|
469
469
|
|
|
470
470
|
declare const buttonIcons: string[];
|
|
471
|
-
type ButtonIcon = typeof buttonIcons[number];
|
|
471
|
+
type ButtonIcon = (typeof buttonIcons)[number];
|
|
472
472
|
interface ButtonAppearance {
|
|
473
473
|
enabled: boolean;
|
|
474
474
|
icon: ButtonIcon;
|
|
@@ -1371,4 +1371,4 @@ declare global {
|
|
|
1371
1371
|
}
|
|
1372
1372
|
}
|
|
1373
1373
|
|
|
1374
|
-
export { AlgIndexer as A, BackViewLayout as B, Duration as D, ExperimentalStickering as E, MillisecondTimestamp as M, NO_VALUE as N, PuzzleLoader as P, StickeringMask as S, Timestamp as T, VisualizationFormat as V, PuzzleID as a, TwistyPlayer as b, TwistyAlgViewer as c, TwistyAlgEditor as d, TwistyPlayerConfig as e, backViewLayouts as f, TwizzleLink as g };
|
|
1374
|
+
export { type AlgIndexer as A, type BackViewLayout as B, type Duration as D, type ExperimentalStickering as E, type MillisecondTimestamp as M, NO_VALUE as N, type PuzzleLoader as P, type StickeringMask as S, type Timestamp as T, type VisualizationFormat as V, type PuzzleID as a, TwistyPlayer as b, TwistyAlgViewer as c, TwistyAlgEditor as d, type TwistyPlayerConfig as e, backViewLayouts as f, TwizzleLink as g };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as AlgNode, A as Alg, M as Move, c as AppendOptions, G as Grouping, C as Commutator, d as Conjugate, e as Pause, N as Newline, L as LineComment, b as AlgLeaf } from '../Alg-
|
|
2
|
-
export { g as AlgBranch, h as AppendCancelOptions, f as MoveModifications, P as PuzzleSpecificSimplifyOptions, Q as QuantumMove, S as SimplifyOptions } from '../Alg-
|
|
3
|
-
export { P as ExperimentalParsed } from '../parseAlg-
|
|
1
|
+
import { a as AlgNode, A as Alg, M as Move, c as AppendOptions, G as Grouping, C as Commutator, d as Conjugate, e as Pause, N as Newline, L as LineComment, b as AlgLeaf } from '../Alg.d-Qi_gM3ue.js';
|
|
2
|
+
export { g as AlgBranch, h as AppendCancelOptions, f as MoveModifications, P as PuzzleSpecificSimplifyOptions, Q as QuantumMove, S as SimplifyOptions } from '../Alg.d-Qi_gM3ue.js';
|
|
3
|
+
export { P as ExperimentalParsed } from '../parseAlg.d-LTqyeghV.js';
|
|
4
4
|
|
|
5
5
|
/** @deprecated */
|
|
6
6
|
type Unit = AlgNode;
|
|
@@ -80,4 +80,4 @@ declare function setAlgDebug(options: {
|
|
|
80
80
|
caretNISSNotationEnabled?: boolean;
|
|
81
81
|
}): void;
|
|
82
82
|
|
|
83
|
-
export { Alg, AlgBuilder, AlgCubingNetOptions, AlgLeaf, AlgNode, Commutator, Conjugate, Example, Grouping, LineComment, Move, Newline, Pause, TraversalDownUp, TraversalUp, Unit, experimentalAlgCubingNetLink, experimentalAppendMove, experimentalIs, functionFromTraversal, keyToMove, setAlgDebug };
|
|
83
|
+
export { Alg, AlgBuilder, type AlgCubingNetOptions, AlgLeaf, AlgNode, Commutator, Conjugate, Example, Grouping, LineComment, Move, Newline, Pause, TraversalDownUp, TraversalUp, type Unit, experimentalAlgCubingNetLink, experimentalAppendMove, experimentalIs, functionFromTraversal, keyToMove, setAlgDebug };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/// <reference types="web-bluetooth" />
|
|
2
|
+
import { K as KPattern } from '../KPattern.d-1RSDwKrh.js';
|
|
3
|
+
import { B as BluetoothPuzzle } from '../bluetooth-puzzle.d-myIXFws0.js';
|
|
4
|
+
export { A as MoveEvent, O as OrientationEvent } from '../bluetooth-puzzle.d-myIXFws0.js';
|
|
5
|
+
import { A as Alg, M as Move } from '../Alg.d-Qi_gM3ue.js';
|
|
5
6
|
|
|
6
7
|
declare function enableDebugLogging(enable: boolean): void;
|
|
7
8
|
|
|
@@ -153,4 +154,4 @@ type BluetoothTimer = GanTimer;
|
|
|
153
154
|
/** @category Timers */
|
|
154
155
|
declare function connectSmartTimer(options?: BluetoothConnectOptions): Promise<BluetoothTimer>;
|
|
155
156
|
|
|
156
|
-
export { BluetoothPuzzle, BluetoothRobot, BluetoothTimer, GanCube, GiiKERCube, GoCube, KeyboardPuzzle, connectSmartPuzzle, connectSmartRobot, connectSmartTimer, debugKeyboardConnect, enableDebugLogging };
|
|
157
|
+
export { BluetoothPuzzle, type BluetoothRobot, type BluetoothTimer, GanCube, GiiKERCube, GoCube, KeyboardPuzzle, connectSmartPuzzle, connectSmartRobot, connectSmartTimer, debugKeyboardConnect, enableDebugLogging };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
binaryComponentsToReid3x3x3,
|
|
3
3
|
twizzleBinaryToBinaryComponents
|
|
4
|
-
} from "../chunks/chunk-
|
|
4
|
+
} from "../chunks/chunk-EVO6P2RU.js";
|
|
5
5
|
import {
|
|
6
6
|
cube3x3x3,
|
|
7
7
|
puzzles
|
|
8
|
-
} from "../chunks/chunk-
|
|
8
|
+
} from "../chunks/chunk-6GHNIWHB.js";
|
|
9
9
|
import {
|
|
10
10
|
experimental3x3x3KPuzzle
|
|
11
|
-
} from "../chunks/chunk-
|
|
11
|
+
} from "../chunks/chunk-HKLBBJT5.js";
|
|
12
12
|
import {
|
|
13
13
|
KPattern
|
|
14
14
|
} from "../chunks/chunk-ZSRBMEG7.js";
|