cubing 0.35.6 → 0.35.8

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 (67) hide show
  1. package/dist/esm/bluetooth/index.js +3 -3
  2. package/dist/esm/{chunk-XUDPTWYN.js → chunk-67PUZ2YF.js} +12 -12
  3. package/dist/esm/{chunk-XUDPTWYN.js.map → chunk-67PUZ2YF.js.map} +0 -0
  4. package/dist/esm/{chunk-AJS6B74K.js → chunk-6TTWMZXN.js} +2 -1
  5. package/dist/esm/{chunk-AJS6B74K.js.map → chunk-6TTWMZXN.js.map} +0 -0
  6. package/dist/esm/{chunk-LQTIP4KR.js → chunk-77NLJLOE.js} +5 -5
  7. package/dist/esm/{chunk-LQTIP4KR.js.map → chunk-77NLJLOE.js.map} +2 -2
  8. package/dist/esm/chunk-7FZAZ3C3.js +210 -0
  9. package/dist/esm/chunk-7FZAZ3C3.js.map +7 -0
  10. package/dist/esm/{chunk-4YKAQ3XM.js → chunk-A4YLPGWM.js} +3 -3
  11. package/dist/esm/{chunk-4YKAQ3XM.js.map → chunk-A4YLPGWM.js.map} +0 -0
  12. package/dist/esm/{chunk-KOJ2BN7S.js → chunk-DKG7EU7X.js} +3 -3
  13. package/dist/esm/{chunk-KOJ2BN7S.js.map → chunk-DKG7EU7X.js.map} +0 -0
  14. package/dist/esm/{chunk-R4DWRDGD.js → chunk-H4TZULII.js} +2 -2
  15. package/dist/esm/{chunk-R4DWRDGD.js.map → chunk-H4TZULII.js.map} +0 -0
  16. package/dist/esm/{chunk-MQ5I2HUI.js → chunk-OE3AM6XZ.js} +15 -17
  17. package/dist/esm/chunk-OE3AM6XZ.js.map +7 -0
  18. package/dist/esm/notation/index.js +9 -1
  19. package/dist/esm/protocol/index.js +2 -2
  20. package/dist/esm/puzzles/index.js +2 -2
  21. package/dist/esm/{puzzles-dynamic-side-events-FCWYXIA7.js → puzzles-dynamic-side-events-TEAE45HA.js} +12 -1
  22. package/dist/esm/puzzles-dynamic-side-events-TEAE45HA.js.map +7 -0
  23. package/dist/esm/scramble/index.js +6 -6
  24. package/dist/esm/search/index.js +6 -6
  25. package/dist/esm/{search-dynamic-sgs-side-events-OIZJ36HZ.js → search-dynamic-sgs-side-events-JMSGX7J4.js} +3 -3
  26. package/dist/esm/{search-dynamic-sgs-side-events-OIZJ36HZ.js.map → search-dynamic-sgs-side-events-JMSGX7J4.js.map} +0 -0
  27. package/dist/esm/{search-dynamic-sgs-unofficial-OLAZRPDV.js → search-dynamic-sgs-unofficial-A576WLSU.js} +3 -3
  28. package/dist/esm/{search-dynamic-sgs-unofficial-OLAZRPDV.js.map → search-dynamic-sgs-unofficial-A576WLSU.js.map} +0 -0
  29. package/dist/esm/{search-dynamic-solve-4x4x4-MYAXEGDA.js → search-dynamic-solve-4x4x4-4HMLSN4H.js} +4 -4
  30. package/dist/esm/{search-dynamic-solve-4x4x4-MYAXEGDA.js.map → search-dynamic-solve-4x4x4-4HMLSN4H.js.map} +0 -0
  31. package/dist/esm/{search-worker-inside-generated-string-FVOPMFZW.js → search-worker-inside-generated-string-CTFAKIM3.js} +34 -33
  32. package/dist/esm/search-worker-inside-generated-string-CTFAKIM3.js.map +7 -0
  33. package/dist/esm/{search-worker-js-entry-MGEIHNU7.js → search-worker-js-entry-NU3D54QT.js} +6 -6
  34. package/dist/esm/{search-worker-js-entry-MGEIHNU7.js.map → search-worker-js-entry-NU3D54QT.js.map} +0 -0
  35. package/dist/esm/{search-worker-ts-entry-FIZRQDEE.js → search-worker-ts-entry-GLXLE5KU.js} +2 -2
  36. package/dist/esm/{search-worker-ts-entry-FIZRQDEE.js.map → search-worker-ts-entry-GLXLE5KU.js.map} +0 -0
  37. package/dist/esm/twisty/index.js +67 -8
  38. package/dist/esm/twisty/index.js.map +2 -2
  39. package/dist/esm/{twisty-dynamic-3d-IAEGMDVR.js → twisty-dynamic-3d-WMBYBJLZ.js} +4 -4
  40. package/dist/esm/{twisty-dynamic-3d-IAEGMDVR.js.map → twisty-dynamic-3d-WMBYBJLZ.js.map} +0 -0
  41. package/dist/esm/twsearch-BDAXZGZU-WI6J7JNA.js +3155 -0
  42. package/dist/esm/twsearch-BDAXZGZU-WI6J7JNA.js.map +7 -0
  43. package/dist/esm/{twsearch-XTET7H4F.js → twsearch-FLMI3OQH.js} +21 -10
  44. package/dist/esm/twsearch-FLMI3OQH.js.map +7 -0
  45. package/dist/types/{KState-fa1880c8.d.ts → KState-2a93cf5c.d.ts} +1 -1
  46. package/dist/types/{TwizzleLink-9873b9f1.d.ts → TwizzleLink-aa6700aa.d.ts} +2 -3
  47. package/dist/types/bluetooth/index.d.ts +3 -3
  48. package/dist/types/{bluetooth-puzzle-1cb7db76.d.ts → bluetooth-puzzle-409a4b38.d.ts} +1 -1
  49. package/dist/types/kpuzzle/index.d.ts +1 -1
  50. package/dist/types/notation/index.d.ts +26 -1
  51. package/dist/types/{outside-f29a27bc.d.ts → outside-d6786869.d.ts} +1 -1
  52. package/dist/types/protocol/index.d.ts +1 -1
  53. package/dist/types/puzzle-geometry/index.d.ts +2 -2
  54. package/dist/types/puzzles/index.d.ts +3 -3
  55. package/dist/types/scramble/index.d.ts +2 -2
  56. package/dist/types/search/index.d.ts +2 -2
  57. package/dist/types/stream/index.d.ts +2 -2
  58. package/dist/types/twisty/index.d.ts +3 -3
  59. package/package.json +2 -2
  60. package/dist/esm/chunk-IN66QSRW.js +0 -109
  61. package/dist/esm/chunk-IN66QSRW.js.map +0 -7
  62. package/dist/esm/chunk-MQ5I2HUI.js.map +0 -7
  63. package/dist/esm/puzzles-dynamic-side-events-FCWYXIA7.js.map +0 -7
  64. package/dist/esm/search-worker-inside-generated-string-FVOPMFZW.js.map +0 -7
  65. package/dist/esm/twsearch-Q7TBHLPE-FGVZYJSU.js +0 -3155
  66. package/dist/esm/twsearch-Q7TBHLPE-FGVZYJSU.js.map +0 -7
  67. package/dist/esm/twsearch-XTET7H4F.js.map +0 -7
@@ -3,15 +3,15 @@ import {
3
3
  } from "./chunk-Z6WT2ASL.js";
4
4
  import {
5
5
  insideAPI
6
- } from "./chunk-MQ5I2HUI.js";
6
+ } from "./chunk-OE3AM6XZ.js";
7
7
  import "./chunk-EV25IJFC.js";
8
- import "./chunk-KOJ2BN7S.js";
9
- import "./chunk-IN66QSRW.js";
10
- import "./chunk-XUDPTWYN.js";
11
- import "./chunk-AJS6B74K.js";
8
+ import "./chunk-DKG7EU7X.js";
9
+ import "./chunk-7FZAZ3C3.js";
10
+ import "./chunk-67PUZ2YF.js";
11
+ import "./chunk-6TTWMZXN.js";
12
12
  import "./chunk-KLI2E737.js";
13
13
  import "./chunk-VZP3KFTU.js";
14
14
 
15
15
  // src/cubing/search/inside/search-worker-js-entry.js
16
16
  expose(insideAPI);
17
- //# sourceMappingURL=search-worker-js-entry-MGEIHNU7.js.map
17
+ //# sourceMappingURL=search-worker-js-entry-NU3D54QT.js.map
@@ -9,7 +9,7 @@ import "./chunk-EV25IJFC.js";
9
9
  // src/cubing/search/inside/search-worker-ts-entry.ts
10
10
  if (exposeAPI.expose) {
11
11
  (async () => {
12
- await import("./search-worker-js-entry-MGEIHNU7.js");
12
+ await import("./search-worker-js-entry-NU3D54QT.js");
13
13
  const messagePort = globalThis.postMessage ? globalThis : await nodeEndpointPort();
14
14
  messagePort.postMessage("comlink-exposed");
15
15
  })();
@@ -18,4 +18,4 @@ var WORKER_ENTRY_FILE_URL = import.meta.url;
18
18
  export {
19
19
  WORKER_ENTRY_FILE_URL
20
20
  };
21
- //# sourceMappingURL=search-worker-ts-entry-FIZRQDEE.js.map
21
+ //# sourceMappingURL=search-worker-ts-entry-GLXLE5KU.js.map
@@ -18,20 +18,21 @@ import {
18
18
  rawRenderPooled,
19
19
  setCameraFromOrbitCoordinates,
20
20
  setTwistyDebug
21
- } from "../chunk-4YKAQ3XM.js";
21
+ } from "../chunk-A4YLPGWM.js";
22
22
  import {
23
23
  countAnimatedLeaves,
24
+ countMetricMoves,
24
25
  countMoves
25
- } from "../chunk-IN66QSRW.js";
26
+ } from "../chunk-7FZAZ3C3.js";
26
27
  import {
27
28
  cube3x3x3,
28
29
  puzzles
29
- } from "../chunk-XUDPTWYN.js";
30
+ } from "../chunk-67PUZ2YF.js";
30
31
  import {
31
32
  customPGPuzzleLoader,
32
33
  getPartialAppendOptionsForPuzzleSpecificSimplifyOptions,
33
34
  getPieceStickeringMask
34
- } from "../chunk-AJS6B74K.js";
35
+ } from "../chunk-6TTWMZXN.js";
35
36
  import "../chunk-KLI2E737.js";
36
37
  import {
37
38
  Alg,
@@ -5321,6 +5322,8 @@ var twizzleLinkCSS = new CSSSource(
5321
5322
  background: rgba(255, 230, 210, 1);
5322
5323
  font-weight: bold;
5323
5324
  padding: 0.25em 0.5em;
5325
+ display: grid;
5326
+ grid-template-columns: auto 1fr;
5324
5327
  }
5325
5328
 
5326
5329
  .heading.title {
@@ -5329,6 +5332,12 @@ var twizzleLinkCSS = new CSSSource(
5329
5332
  white-space: pre;
5330
5333
  }
5331
5334
 
5335
+ .heading .move-count {
5336
+ font-weight: initial;
5337
+ text-align: right;
5338
+ opacity: 0.5;
5339
+ }
5340
+
5332
5341
  .heading a {
5333
5342
  text-decoration: none;
5334
5343
  color: inherit;
@@ -5454,6 +5463,12 @@ function getConfigFromURL(prefix = "", url = location.href) {
5454
5463
  }
5455
5464
 
5456
5465
  // src/cubing/twisty/views/twizzle/TwizzleLink.ts
5466
+ var NBSP = "\xA0";
5467
+ var METRIC_EXPLANATIONS = {
5468
+ ["OBTM" /* OuterBlockTurnMetric */]: 'OBTM ("Outer Block Turn Metric"): rotations count as 0 turns, outer block turns count as 1 turn, slices count as 2 turns',
5469
+ ["RBTM" /* RangeBlockTurnMetric */]: 'RBTM ("Range Block Turn Metric"): rotations count as 0 turns, outer block turns and inner block turns (slices or slice ranges) count as 1 turn',
5470
+ ["ETM" /* ExecutionTurnMetric */]: 'ETM ("Outer Block Turn Metric"): all moves (including rotations) count as 1 turn'
5471
+ };
5457
5472
  var TwizzleLink = class extends ManagedCustomElement {
5458
5473
  constructor(options) {
5459
5474
  super({ mode: "open" });
@@ -5478,6 +5493,7 @@ var TwizzleLink = class extends ManagedCustomElement {
5478
5493
  #cssCDNForumTweaksElem;
5479
5494
  #scrollableRegion;
5480
5495
  #responsiveWrapper;
5496
+ #moveCountElem;
5481
5497
  async connectedCallback() {
5482
5498
  this.#responsiveWrapper = this.addElement(document.createElement("div"));
5483
5499
  this.#responsiveWrapper.classList.add("responsive-wrapper");
@@ -5538,10 +5554,14 @@ var TwizzleLink = class extends ManagedCustomElement {
5538
5554
  config.experimentalSetupAlg
5539
5555
  ).toString();
5540
5556
  }
5541
- this.addHeading(
5557
+ const movesHeading = this.addHeading(
5542
5558
  "Moves",
5543
5559
  async () => (await this.twistyPlayer?.experimentalModel.alg.get())?.alg.toString() ?? null
5544
5560
  );
5561
+ this.#moveCountElem = movesHeading.appendChild(
5562
+ constructMoveCountDisplay(this.twistyPlayer.experimentalModel)
5563
+ );
5564
+ this.#moveCountElem.classList.add("move-count");
5545
5565
  const twistyAlgViewer = this.#scrollableRegion.appendChild(
5546
5566
  new TwistyAlgViewer({ twistyPlayer: this.twistyPlayer })
5547
5567
  );
@@ -5555,10 +5575,11 @@ var TwizzleLink = class extends ManagedCustomElement {
5555
5575
  document.createElement("div")
5556
5576
  );
5557
5577
  headingDiv.classList.add("heading");
5558
- headingDiv.textContent = text;
5578
+ const wrapperSpan = headingDiv.appendChild(document.createElement("span"));
5579
+ wrapperSpan.textContent = text;
5559
5580
  if (getTextToCopy) {
5560
- headingDiv.textContent += " ";
5561
- const a = headingDiv.appendChild(document.createElement("a"));
5581
+ wrapperSpan.textContent += " ";
5582
+ const a = wrapperSpan.appendChild(document.createElement("a"));
5562
5583
  a.textContent = "\u{1F4CB}";
5563
5584
  a.href = "#";
5564
5585
  a.title = "Copy to clipboard";
@@ -5590,6 +5611,44 @@ var TwizzleLink = class extends ManagedCustomElement {
5590
5611
  }
5591
5612
  };
5592
5613
  customElementsShim.define("twizzle-link", TwizzleLink);
5614
+ function constructMoveCountDisplay(model, elem = document.createElement("span")) {
5615
+ async function update() {
5616
+ const [algWithIssues, puzzleLoader] = await Promise.all([
5617
+ model.puzzleAlg.get(),
5618
+ model.puzzleLoader.get()
5619
+ ]);
5620
+ if (algWithIssues.issues.errors.length !== 0) {
5621
+ elem.textContent = "";
5622
+ return;
5623
+ }
5624
+ let isFirstMetric = true;
5625
+ function addMetric(metric) {
5626
+ if (isFirstMetric) {
5627
+ isFirstMetric = false;
5628
+ } else {
5629
+ elem.append(" / ");
5630
+ }
5631
+ const span = elem.appendChild(document.createElement("span"));
5632
+ const moveCount = countMetricMoves(
5633
+ puzzleLoader,
5634
+ metric,
5635
+ algWithIssues.alg
5636
+ );
5637
+ span.textContent = `${moveCount}${NBSP}${metric}`;
5638
+ span.title = METRIC_EXPLANATIONS[metric] ?? "";
5639
+ }
5640
+ elem.textContent = "(";
5641
+ if (puzzleLoader.id === "3x3x3") {
5642
+ addMetric("OBTM" /* OuterBlockTurnMetric */);
5643
+ addMetric("RBTM" /* RangeBlockTurnMetric */);
5644
+ }
5645
+ addMetric("ETM" /* ExecutionTurnMetric */);
5646
+ elem.append(")");
5647
+ }
5648
+ model.puzzleAlg.addFreshListener(update);
5649
+ model.puzzleID.addFreshListener(update);
5650
+ return elem;
5651
+ }
5593
5652
  export {
5594
5653
  NO_VALUE as EXPERIMENTAL_PROP_NO_VALUE,
5595
5654
  KPuzzleSVGWrapper as ExperimentalKPuzzleSVGWrapper,