cubing 0.24.0-pre2 → 0.24.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.
Files changed (102) hide show
  1. package/dist/esm/{2x2x2.kpuzzle.json-U5KOZCMU.js → 2x2x2.kpuzzle.json-RUB44MJV.js} +2 -2
  2. package/dist/esm/2x2x2.kpuzzle.json-RUB44MJV.js.map +7 -0
  3. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js → 2x2x2.sgs.json-TASFAQNY.js} +3 -3
  4. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js.map → 2x2x2.sgs.json-TASFAQNY.js.map} +0 -0
  5. package/dist/esm/{chunk-REMJV2GO.js → 3d-dynamic-inside-RSDMFS4G.js} +23 -420
  6. package/dist/esm/3d-dynamic-inside-RSDMFS4G.js.map +7 -0
  7. package/dist/esm/bluetooth/index.js +3 -3
  8. package/dist/esm/chunk-27MCV5LC.js +423 -0
  9. package/dist/esm/chunk-27MCV5LC.js.map +7 -0
  10. package/dist/esm/{chunk-NPK6Z4AU.js → chunk-3SURT6S2.js} +2 -2
  11. package/dist/esm/{chunk-NPK6Z4AU.js.map → chunk-3SURT6S2.js.map} +0 -0
  12. package/dist/esm/{chunk-ZLIK3DZT.js → chunk-54HT7B4M.js} +118 -92
  13. package/dist/esm/chunk-54HT7B4M.js.map +7 -0
  14. package/dist/esm/{chunk-TNRZDNGH.js → chunk-B27E6KTE.js} +121 -115
  15. package/dist/esm/chunk-B27E6KTE.js.map +7 -0
  16. package/dist/esm/{chunk-KCRFOAR4.js → chunk-BBEJTW6Z.js} +3 -3
  17. package/dist/esm/{chunk-KCRFOAR4.js.map → chunk-BBEJTW6Z.js.map} +0 -0
  18. package/dist/esm/{chunk-TB4D4E2W.js → chunk-EA4KWT7Z.js} +3 -3
  19. package/dist/esm/chunk-EA4KWT7Z.js.map +7 -0
  20. package/dist/esm/{chunk-7OPCF2OL.js → chunk-GBIDMAJS.js} +2 -2
  21. package/dist/esm/{chunk-7OPCF2OL.js.map → chunk-GBIDMAJS.js.map} +0 -0
  22. package/dist/esm/{chunk-YN7E5RGM.js → chunk-LR6VCMD2.js} +3 -3
  23. package/dist/esm/{chunk-YN7E5RGM.js.map → chunk-LR6VCMD2.js.map} +0 -0
  24. package/dist/esm/{chunk-NV5ESXTN.js → chunk-SPTKCRT5.js} +3 -3
  25. package/dist/esm/{chunk-NV5ESXTN.js.map → chunk-SPTKCRT5.js.map} +0 -0
  26. package/dist/esm/{chunk-4IUYLRHT.js → chunk-U2TSTTDG.js} +12 -1
  27. package/dist/esm/chunk-U2TSTTDG.js.map +7 -0
  28. package/dist/esm/{chunk-J2U2GRS4.js → chunk-ZDALYMGF.js} +2 -2
  29. package/dist/esm/chunk-ZDALYMGF.js.map +7 -0
  30. package/dist/esm/{clock.kpuzzle.json-J3YBOI3G.js → clock.kpuzzle.json-BQKNKV3G.js} +4 -4
  31. package/dist/esm/clock.kpuzzle.json-BQKNKV3G.js.map +7 -0
  32. package/dist/esm/{entry-PHAJAE4E.js → entry-VNBE3GIX.js} +18 -18
  33. package/dist/esm/entry-VNBE3GIX.js.map +7 -0
  34. package/dist/esm/{fto.sgs.json-VO6HST2V.js → fto.sgs.json-RZ2BQGRG.js} +3 -3
  35. package/dist/esm/{fto.sgs.json-VO6HST2V.js.map → fto.sgs.json-RZ2BQGRG.js.map} +0 -0
  36. package/dist/esm/kpuzzle/index.js +3 -1
  37. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js → megaminx.sgs.json-3UELYHNZ.js} +4 -4
  38. package/dist/esm/{3d-NFF7OGTI.js.map → megaminx.sgs.json-3UELYHNZ.js.map} +0 -0
  39. package/dist/esm/{module-entry-UYTOFYBC.js → module-entry-MKJ6SWPL.js} +2 -2
  40. package/dist/esm/{module-entry-UYTOFYBC.js.map → module-entry-MKJ6SWPL.js.map} +0 -0
  41. package/dist/esm/notation/index.js +6 -4
  42. package/dist/esm/protocol/index.js +2 -2
  43. package/dist/esm/puzzle-geometry/index.js +1 -1
  44. package/dist/esm/puzzles/index.js +2 -2
  45. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js → pyraminx.sgs.json-6KZV2YF7.js} +4 -4
  46. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js.map → pyraminx.sgs.json-6KZV2YF7.js.map} +0 -0
  47. package/dist/esm/scramble/index.js +4 -4
  48. package/dist/esm/{scramble_444-F3YANDPO.js → scramble_444-WHAZBEON.js} +6 -5
  49. package/dist/esm/scramble_444-WHAZBEON.js.map +7 -0
  50. package/dist/esm/search/index.js +4 -4
  51. package/dist/esm/{skewb.sgs.json-T6CO36WU.js → skewb.sgs.json-QVGBEYZV.js} +4 -4
  52. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js.map → skewb.sgs.json-QVGBEYZV.js.map} +0 -0
  53. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js → sq1-hyperorbit.kpuzzle.json-4XS5YACO.js} +3 -3
  54. package/dist/esm/sq1-hyperorbit.kpuzzle.json-4XS5YACO.js.map +7 -0
  55. package/dist/esm/twisty/index.js +267 -139
  56. package/dist/esm/twisty/index.js.map +3 -3
  57. package/dist/esm/{worker-inside-generated-string-6YDSDSRJ.js → worker-inside-generated-string-K4NE6VX5.js} +24 -24
  58. package/dist/esm/worker-inside-generated-string-K4NE6VX5.js.map +7 -0
  59. package/dist/types/kpuzzle/KPuzzle.d.ts +5 -0
  60. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +1 -1
  61. package/dist/types/kpuzzle/KState.d.ts +2 -0
  62. package/dist/types/kpuzzle/KTransformation.d.ts +3 -0
  63. package/dist/types/kpuzzle/calculate.d.ts +1 -1
  64. package/dist/types/kpuzzle/index.d.ts +2 -2
  65. package/dist/types/notation/CountMoves.d.ts +1 -0
  66. package/dist/types/notation/index.d.ts +2 -2
  67. package/dist/types/puzzles/PuzzleLoader.d.ts +1 -0
  68. package/dist/types/puzzles/async/async-pg3d.d.ts +23 -6
  69. package/dist/types/puzzles/async/lazy-cached.d.ts +1 -0
  70. package/dist/types/puzzles/implementations/fto/index.d.ts +11 -2
  71. package/dist/types/puzzles/implementations/megaminx/index.d.ts +11 -2
  72. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +7 -2
  73. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  74. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -1
  75. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d.d.ts → 3d-dynamic-inside.d.ts} +0 -0
  76. package/dist/types/twisty/index.d.ts +1 -2
  77. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +1 -0
  78. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +6 -5
  79. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -2
  80. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +2 -2
  81. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +1 -0
  82. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -1
  83. package/dist/types/twisty/views/twizzle/TwizzleLink.css.d.ts +2 -0
  84. package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +9 -0
  85. package/dist/types/twisty/views/twizzle/url-params.d.ts +18 -0
  86. package/package.json +2 -1
  87. package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +0 -7
  88. package/dist/esm/3d-NFF7OGTI.js +0 -21
  89. package/dist/esm/chunk-4IUYLRHT.js.map +0 -7
  90. package/dist/esm/chunk-J2U2GRS4.js.map +0 -7
  91. package/dist/esm/chunk-REMJV2GO.js.map +0 -7
  92. package/dist/esm/chunk-TB4D4E2W.js.map +0 -7
  93. package/dist/esm/chunk-TNRZDNGH.js.map +0 -7
  94. package/dist/esm/chunk-ZLIK3DZT.js.map +0 -7
  95. package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +0 -7
  96. package/dist/esm/entry-PHAJAE4E.js.map +0 -7
  97. package/dist/esm/scramble_444-F3YANDPO.js.map +0 -7
  98. package/dist/esm/skewb.sgs.json-T6CO36WU.js.map +0 -7
  99. package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +0 -7
  100. package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js.map +0 -7
  101. package/dist/types/.DS_Store +0 -0
  102. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +0 -2
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-37EHU3GZ.js";
4
4
  import {
5
5
  puzzles
6
- } from "./chunk-ZLIK3DZT.js";
6
+ } from "./chunk-54HT7B4M.js";
7
7
  import {
8
8
  KState
9
- } from "./chunk-TNRZDNGH.js";
9
+ } from "./chunk-B27E6KTE.js";
10
10
  import {
11
11
  Alg,
12
12
  AlgBuilder,
@@ -502,4 +502,4 @@ export {
502
502
  random333OrientedScramble,
503
503
  random333FewestMovesScramble
504
504
  };
505
- //# sourceMappingURL=chunk-NV5ESXTN.js.map
505
+ //# sourceMappingURL=chunk-SPTKCRT5.js.map
@@ -49,8 +49,18 @@ function baseMetric(move) {
49
49
  return 1;
50
50
  }
51
51
  }
52
+ function quantumMetric(move) {
53
+ const fam = move.family;
54
+ if (isCharUppercase(fam[0]) && fam[fam.length - 1] === "v" || fam === "x" || fam === "y" || fam === "z" || fam === "T") {
55
+ return 0;
56
+ } else {
57
+ return Math.abs(move.amount);
58
+ }
59
+ }
52
60
  var countMovesInstance = new CountMoves(baseMetric);
53
61
  var countMoves = countMovesInstance.traverseAlg.bind(countMovesInstance);
62
+ var countQuantumMovesInstance = new CountMoves(quantumMetric);
63
+ var countQuantumMoves = countQuantumMovesInstance.traverseAlg.bind(countQuantumMovesInstance);
54
64
 
55
65
  // src/cubing/notation/CountAnimatedLeaves.ts
56
66
  var CountAnimatedLeaves = class extends TraversalUp {
@@ -88,6 +98,7 @@ var countAnimatedLeaves = countAnimatedLeavesInstance.traverseAlg.bind(countAnim
88
98
 
89
99
  export {
90
100
  countMoves,
101
+ countQuantumMoves,
91
102
  countAnimatedLeaves
92
103
  };
93
- //# sourceMappingURL=chunk-4IUYLRHT.js.map
104
+ //# sourceMappingURL=chunk-U2TSTTDG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/notation/CountMoves.ts", "../../src/cubing/notation/CountAnimatedLeaves.ts"],
4
+ "sourcesContent": ["// TODO: move this file somewhere permanent.\nimport {\n Alg,\n Grouping,\n LineComment,\n Commutator,\n Conjugate,\n Move,\n Newline,\n Pause,\n TraversalUp,\n} from \"../alg\";\n\n/*\n * For movecount, that understands puzzle rotations. This code\n * should be moved to the alg class, probably.\n */\nclass CountMoves extends TraversalUp<number> {\n constructor(private metric: (move: Move) => number) {\n super();\n }\n\n public traverseAlg(alg: Alg): number {\n let r = 0;\n for (const unit of alg.units()) {\n r += this.traverseUnit(unit);\n }\n return r;\n }\n\n public traverseGrouping(grouping: Grouping): number {\n // const unit: Unit = Alg.fromString(\"SDf\");\n // console.log(unit);\n const alg: Alg = grouping.alg;\n return this.traverseAlg(alg) * Math.abs(grouping.amount);\n }\n\n public traverseMove(move: Move): number {\n return this.metric(move);\n }\n\n public traverseCommutator(commutator: Commutator): number {\n return (\n 2 * (this.traverseAlg(commutator.A) + this.traverseAlg(commutator.B))\n );\n }\n\n public traverseConjugate(conjugate: Conjugate): number {\n return 2 * this.traverseAlg(conjugate.A) + this.traverseAlg(conjugate.B);\n }\n\n // TODO: Remove spaces between repeated pauses (in traverseSequence)\n public traversePause(_pause: Pause): number {\n return 0;\n }\n\n public traverseNewline(_newLine: Newline): number {\n return 0;\n }\n\n // TODO: Enforce being followed by a newline (or the end of the alg)?\n public traverseLineComment(_comment: LineComment): number {\n return 0;\n }\n}\n\nfunction isCharUppercase(c: string): boolean {\n return \"A\" <= c && c <= \"Z\";\n}\n\n// TODO: Implement a puzzle-specific way to calculate this.\nfunction baseMetric(move: Move): number {\n const fam = move.family;\n if (\n (isCharUppercase(fam[0]) && fam[fam.length - 1] === \"v\") ||\n fam === \"x\" ||\n fam === \"y\" ||\n fam === \"z\" ||\n fam === \"T\"\n ) {\n return 0;\n } else {\n return 1;\n }\n}\n\n// TODO: Implement a puzzle-specific way to calculate this.\nfunction quantumMetric(move: Move): number {\n const fam = move.family;\n if (\n (isCharUppercase(fam[0]) && fam[fam.length - 1] === \"v\") ||\n fam === \"x\" ||\n fam === \"y\" ||\n fam === \"z\" ||\n fam === \"T\"\n ) {\n return 0;\n } else {\n return Math.abs(move.amount);\n }\n}\n\nconst countMovesInstance = new CountMoves(baseMetric);\nexport const countMoves: (alg: Alg) => number =\n countMovesInstance.traverseAlg.bind(countMovesInstance);\n\nconst countQuantumMovesInstance = new CountMoves(quantumMetric);\nexport const countQuantumMoves: (alg: Alg) => number =\n countQuantumMovesInstance.traverseAlg.bind(countQuantumMovesInstance);\n", "import {\n Alg,\n Commutator,\n Conjugate,\n Grouping,\n LineComment,\n Move,\n Newline,\n Pause,\n TraversalUp,\n} from \"../alg\";\n\n// TODO: Include Pause, include amounts\nclass CountAnimatedLeaves extends TraversalUp<number, number> {\n public traverseAlg(alg: Alg): number {\n let total = 0;\n for (const part of alg.units()) {\n total += this.traverseUnit(part);\n }\n return total;\n }\n\n public traverseGrouping(grouping: Grouping): number {\n return this.traverseAlg(grouping.alg) * Math.abs(grouping.amount);\n }\n\n public traverseMove(_move: Move): number {\n return 1;\n }\n\n public traverseCommutator(commutator: Commutator): number {\n return (\n 2 * (this.traverseAlg(commutator.A) + this.traverseAlg(commutator.B))\n );\n }\n\n public traverseConjugate(conjugate: Conjugate): number {\n return 2 * this.traverseAlg(conjugate.A) + this.traverseAlg(conjugate.B);\n }\n\n public traversePause(_pause: Pause): number {\n return 1;\n }\n\n public traverseNewline(_newline: Newline): number {\n return 0;\n }\n\n public traverseLineComment(_comment: LineComment): number {\n return 0;\n }\n}\n\nconst countAnimatedLeavesInstance = new CountAnimatedLeaves();\nexport const countAnimatedLeaves: (alg: Alg) => number =\n countAnimatedLeavesInstance.traverseAlg.bind(countAnimatedLeavesInstance);\n"],
5
+ "mappings": ";;;;;AAiBA,+BAAyB,YAAoB;AAAA,EAC3C,YAAoB,QAAgC;AAClD;AADkB;AAAA;AAAA,EAIb,YAAY,KAAkB;AACnC,QAAI,IAAI;AACR,eAAW,QAAQ,IAAI,SAAS;AAC9B,WAAK,KAAK,aAAa;AAAA;AAEzB,WAAO;AAAA;AAAA,EAGF,iBAAiB,UAA4B;AAGlD,UAAM,MAAW,SAAS;AAC1B,WAAO,KAAK,YAAY,OAAO,KAAK,IAAI,SAAS;AAAA;AAAA,EAG5C,aAAa,MAAoB;AACtC,WAAO,KAAK,OAAO;AAAA;AAAA,EAGd,mBAAmB,YAAgC;AACxD,WACE,IAAK,MAAK,YAAY,WAAW,KAAK,KAAK,YAAY,WAAW;AAAA;AAAA,EAI/D,kBAAkB,WAA8B;AACrD,WAAO,IAAI,KAAK,YAAY,UAAU,KAAK,KAAK,YAAY,UAAU;AAAA;AAAA,EAIjE,cAAc,QAAuB;AAC1C,WAAO;AAAA;AAAA,EAGF,gBAAgB,UAA2B;AAChD,WAAO;AAAA;AAAA,EAIF,oBAAoB,UAA+B;AACxD,WAAO;AAAA;AAAA;AAIX,yBAAyB,GAAoB;AAC3C,SAAO,OAAO,KAAK,KAAK;AAAA;AAI1B,oBAAoB,MAAoB;AACtC,QAAM,MAAM,KAAK;AACjB,MACG,gBAAgB,IAAI,OAAO,IAAI,IAAI,SAAS,OAAO,OACpD,QAAQ,OACR,QAAQ,OACR,QAAQ,OACR,QAAQ,KACR;AACA,WAAO;AAAA,SACF;AACL,WAAO;AAAA;AAAA;AAKX,uBAAuB,MAAoB;AACzC,QAAM,MAAM,KAAK;AACjB,MACG,gBAAgB,IAAI,OAAO,IAAI,IAAI,SAAS,OAAO,OACpD,QAAQ,OACR,QAAQ,OACR,QAAQ,OACR,QAAQ,KACR;AACA,WAAO;AAAA,SACF;AACL,WAAO,KAAK,IAAI,KAAK;AAAA;AAAA;AAIzB,IAAM,qBAAqB,IAAI,WAAW;AACnC,IAAM,aACX,mBAAmB,YAAY,KAAK;AAEtC,IAAM,4BAA4B,IAAI,WAAW;AAC1C,IAAM,oBACX,0BAA0B,YAAY,KAAK;;;AC/F7C,wCAAkC,YAA4B;AAAA,EACrD,YAAY,KAAkB;AACnC,QAAI,QAAQ;AACZ,eAAW,QAAQ,IAAI,SAAS;AAC9B,eAAS,KAAK,aAAa;AAAA;AAE7B,WAAO;AAAA;AAAA,EAGF,iBAAiB,UAA4B;AAClD,WAAO,KAAK,YAAY,SAAS,OAAO,KAAK,IAAI,SAAS;AAAA;AAAA,EAGrD,aAAa,OAAqB;AACvC,WAAO;AAAA;AAAA,EAGF,mBAAmB,YAAgC;AACxD,WACE,IAAK,MAAK,YAAY,WAAW,KAAK,KAAK,YAAY,WAAW;AAAA;AAAA,EAI/D,kBAAkB,WAA8B;AACrD,WAAO,IAAI,KAAK,YAAY,UAAU,KAAK,KAAK,YAAY,UAAU;AAAA;AAAA,EAGjE,cAAc,QAAuB;AAC1C,WAAO;AAAA;AAAA,EAGF,gBAAgB,UAA2B;AAChD,WAAO;AAAA;AAAA,EAGF,oBAAoB,UAA+B;AACxD,WAAO;AAAA;AAAA;AAIX,IAAM,8BAA8B,IAAI;AACjC,IAAM,sBACX,4BAA4B,YAAY,KAAK;",
6
+ "names": []
7
+ }
@@ -720,7 +720,7 @@ var PGOrbitsDef = class {
720
720
  for (let i = 0; i < this.orbitnames.length; i++) {
721
721
  orbits[this.orbitnames[i]] = {
722
722
  numPieces: this.orbitdefs[i].size,
723
- orientations: this.orbitdefs[i].mod
723
+ numOrientations: this.orbitdefs[i].mod
724
724
  };
725
725
  const startTransformation = this.solved.orbits[i].toKPuzzle();
726
726
  start[this.orbitnames[i]] = {
@@ -4057,4 +4057,4 @@ export {
4057
4057
  PuzzleGeometry,
4058
4058
  PGNotation
4059
4059
  };
4060
- //# sourceMappingURL=chunk-J2U2GRS4.js.map
4060
+ //# sourceMappingURL=chunk-ZDALYMGF.js.map