cubing 0.35.6 → 0.35.7

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-4YKAQ3XM.js → chunk-A4YLPGWM.js} +3 -3
  7. package/dist/esm/{chunk-4YKAQ3XM.js.map → chunk-A4YLPGWM.js.map} +0 -0
  8. package/dist/esm/{chunk-LQTIP4KR.js → chunk-BIUCUL3L.js} +5 -5
  9. package/dist/esm/{chunk-LQTIP4KR.js.map → chunk-BIUCUL3L.js.map} +2 -2
  10. package/dist/esm/{chunk-KOJ2BN7S.js → chunk-DKG7EU7X.js} +3 -3
  11. package/dist/esm/{chunk-KOJ2BN7S.js.map → chunk-DKG7EU7X.js.map} +0 -0
  12. package/dist/esm/{chunk-R4DWRDGD.js → chunk-H4TZULII.js} +2 -2
  13. package/dist/esm/{chunk-R4DWRDGD.js.map → chunk-H4TZULII.js.map} +0 -0
  14. package/dist/esm/chunk-QS5BDQVQ.js +187 -0
  15. package/dist/esm/chunk-QS5BDQVQ.js.map +7 -0
  16. package/dist/esm/{chunk-MQ5I2HUI.js → chunk-R2RLTVRW.js} +15 -17
  17. package/dist/esm/chunk-R2RLTVRW.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-IRXQ745N.js} +34 -33
  32. package/dist/esm/search-worker-inside-generated-string-IRXQ745N.js.map +7 -0
  33. package/dist/esm/{search-worker-js-entry-MGEIHNU7.js → search-worker-js-entry-MD2B4SHI.js} +6 -6
  34. package/dist/esm/{search-worker-js-entry-MGEIHNU7.js.map → search-worker-js-entry-MD2B4SHI.js.map} +0 -0
  35. package/dist/esm/{search-worker-ts-entry-FIZRQDEE.js → search-worker-ts-entry-JAOMZEKM.js} +2 -2
  36. package/dist/esm/{search-worker-ts-entry-FIZRQDEE.js.map → search-worker-ts-entry-JAOMZEKM.js.map} +0 -0
  37. package/dist/esm/twisty/index.js +50 -9
  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-R2RLTVRW.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-QS5BDQVQ.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-MD2B4SHI.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-MD2B4SHI.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-JAOMZEKM.js.map
@@ -18,20 +18,22 @@ 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
- countMoves
25
- } from "../chunk-IN66QSRW.js";
24
+ countMetricMoves,
25
+ countMoves,
26
+ countMovesETM
27
+ } from "../chunk-QS5BDQVQ.js";
26
28
  import {
27
29
  cube3x3x3,
28
30
  puzzles
29
- } from "../chunk-XUDPTWYN.js";
31
+ } from "../chunk-67PUZ2YF.js";
30
32
  import {
31
33
  customPGPuzzleLoader,
32
34
  getPartialAppendOptionsForPuzzleSpecificSimplifyOptions,
33
35
  getPieceStickeringMask
34
- } from "../chunk-AJS6B74K.js";
36
+ } from "../chunk-6TTWMZXN.js";
35
37
  import "../chunk-KLI2E737.js";
36
38
  import {
37
39
  Alg,
@@ -5321,6 +5323,8 @@ var twizzleLinkCSS = new CSSSource(
5321
5323
  background: rgba(255, 230, 210, 1);
5322
5324
  font-weight: bold;
5323
5325
  padding: 0.25em 0.5em;
5326
+ display: grid;
5327
+ grid-template-columns: auto 1fr;
5324
5328
  }
5325
5329
 
5326
5330
  .heading.title {
@@ -5329,6 +5333,12 @@ var twizzleLinkCSS = new CSSSource(
5329
5333
  white-space: pre;
5330
5334
  }
5331
5335
 
5336
+ .heading .move-count {
5337
+ font-weight: initial;
5338
+ text-align: right;
5339
+ opacity: 0.5;
5340
+ }
5341
+
5332
5342
  .heading a {
5333
5343
  text-decoration: none;
5334
5344
  color: inherit;
@@ -5454,6 +5464,9 @@ function getConfigFromURL(prefix = "", url = location.href) {
5454
5464
  }
5455
5465
 
5456
5466
  // src/cubing/twisty/views/twizzle/TwizzleLink.ts
5467
+ var NBSP = "\xA0";
5468
+ var OBTM_EXPLANATION = "OBTM: rotations count as 0 turns, outer block turns count as 1 turn, slices count as 2 turn";
5469
+ var ETM_EXPLANATION = "ETM: all moves (including rotations) count as 1 turn";
5457
5470
  var TwizzleLink = class extends ManagedCustomElement {
5458
5471
  constructor(options) {
5459
5472
  super({ mode: "open" });
@@ -5478,6 +5491,7 @@ var TwizzleLink = class extends ManagedCustomElement {
5478
5491
  #cssCDNForumTweaksElem;
5479
5492
  #scrollableRegion;
5480
5493
  #responsiveWrapper;
5494
+ #moveCountElem;
5481
5495
  async connectedCallback() {
5482
5496
  this.#responsiveWrapper = this.addElement(document.createElement("div"));
5483
5497
  this.#responsiveWrapper.classList.add("responsive-wrapper");
@@ -5538,10 +5552,14 @@ var TwizzleLink = class extends ManagedCustomElement {
5538
5552
  config.experimentalSetupAlg
5539
5553
  ).toString();
5540
5554
  }
5541
- this.addHeading(
5555
+ const movesHeading = this.addHeading(
5542
5556
  "Moves",
5543
5557
  async () => (await this.twistyPlayer?.experimentalModel.alg.get())?.alg.toString() ?? null
5544
5558
  );
5559
+ this.#moveCountElem = movesHeading.appendChild(
5560
+ constructMoveCountDisplay(this.twistyPlayer.experimentalModel)
5561
+ );
5562
+ this.#moveCountElem.classList.add("move-count");
5545
5563
  const twistyAlgViewer = this.#scrollableRegion.appendChild(
5546
5564
  new TwistyAlgViewer({ twistyPlayer: this.twistyPlayer })
5547
5565
  );
@@ -5555,10 +5573,11 @@ var TwizzleLink = class extends ManagedCustomElement {
5555
5573
  document.createElement("div")
5556
5574
  );
5557
5575
  headingDiv.classList.add("heading");
5558
- headingDiv.textContent = text;
5576
+ const wrapperSpan = headingDiv.appendChild(document.createElement("span"));
5577
+ wrapperSpan.textContent = text;
5559
5578
  if (getTextToCopy) {
5560
- headingDiv.textContent += " ";
5561
- const a = headingDiv.appendChild(document.createElement("a"));
5579
+ wrapperSpan.textContent += " ";
5580
+ const a = wrapperSpan.appendChild(document.createElement("a"));
5562
5581
  a.textContent = "\u{1F4CB}";
5563
5582
  a.href = "#";
5564
5583
  a.title = "Copy to clipboard";
@@ -5590,6 +5609,28 @@ var TwizzleLink = class extends ManagedCustomElement {
5590
5609
  }
5591
5610
  };
5592
5611
  customElementsShim.define("twizzle-link", TwizzleLink);
5612
+ function constructMoveCountDisplay(model, elem = document.createElement("span")) {
5613
+ model.puzzleAlg.addFreshListener(async (algWithIssues) => {
5614
+ if (algWithIssues.issues.errors.length !== 0) {
5615
+ elem.textContent = "";
5616
+ return;
5617
+ }
5618
+ const puzzleLoader = await model.puzzleLoader.get();
5619
+ const moveCountETM = countMovesETM(algWithIssues.alg);
5620
+ if (puzzleLoader.id === "3x3x3") {
5621
+ elem.textContent = ` (${countMetricMoves(
5622
+ puzzleLoader,
5623
+ "OBTM" /* OuterBlockTurnMetric */,
5624
+ algWithIssues.alg
5625
+ )}${NBSP}OBTM / ${moveCountETM}${NBSP}ETM)`;
5626
+ elem.title = `${OBTM_EXPLANATION} / ${ETM_EXPLANATION}`;
5627
+ } else {
5628
+ elem.textContent = ` (${moveCountETM}${NBSP}ETM)`;
5629
+ elem.title = ETM_EXPLANATION;
5630
+ }
5631
+ });
5632
+ return elem;
5633
+ }
5593
5634
  export {
5594
5635
  NO_VALUE as EXPERIMENTAL_PROP_NO_VALUE,
5595
5636
  KPuzzleSVGWrapper as ExperimentalKPuzzleSVGWrapper,