cubing 0.63.6 → 0.63.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.
@@ -4,10 +4,10 @@
4
4
  var packageVersion = (
5
5
  // biome-ignore lint/suspicious/noTsIgnore: This comment is stil present in the compiled file, where an error is *not* expected.
6
6
  /** @ts-ignore Populated by `esbuild` at compile time. */
7
- "0.63.6"
7
+ "0.63.7"
8
8
  );
9
9
 
10
10
  export {
11
11
  packageVersion
12
12
  };
13
- //# sourceMappingURL=chunk-RHJ7ANWU.js.map
13
+ //# sourceMappingURL=chunk-6YZ4AUWL.js.map
package/dist/bin/order.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env -S node --
2
2
  import {
3
3
  packageVersion
4
- } from "./chunks/chunk-RHJ7ANWU.js";
4
+ } from "./chunks/chunk-6YZ4AUWL.js";
5
5
 
6
6
  // src/bin/order.ts
7
7
  import { basename } from "node:path";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env -S node --
2
2
  import {
3
3
  packageVersion
4
- } from "./chunks/chunk-RHJ7ANWU.js";
4
+ } from "./chunks/chunk-6YZ4AUWL.js";
5
5
 
6
6
  // src/bin/puzzle-geometry-bin.ts
7
7
  import { basename } from "node:path";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env -S node --
2
2
  import {
3
3
  packageVersion
4
- } from "./chunks/chunk-RHJ7ANWU.js";
4
+ } from "./chunks/chunk-6YZ4AUWL.js";
5
5
 
6
6
  // src/bin/scramble.ts
7
7
  import { basename } from "node:path";
package/dist/bin/svg.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env -S node --
2
2
  import {
3
3
  packageVersion
4
- } from "./chunks/chunk-RHJ7ANWU.js";
4
+ } from "./chunks/chunk-6YZ4AUWL.js";
5
5
 
6
6
  // src/bin/svg.ts
7
7
  import { basename } from "node:path";
@@ -1,2 +1,2 @@
1
- import { At as Move, Ct as AlgLeaf, Dt as Grouping, Et as LineComment, Ft as ExperimentalNotationType, It as ExperimentalSerializationOptions, Mt as QuantumMove, Nt as Conjugate, Ot as GroupingModifications, Pt as Commutator, St as AlgBranch, Tt as Newline, _t as experimentalAppendMove, a as functionFromTraversal, bt as SimplifyOptions, f as Parsed, ft as experimentalIs, gt as Alg, ht as AlgBuilder, i as TraversalUp, jt as MoveModifications, kt as Pause, mt as setAlgDebug, n as experimentalAlgCubingNetLink, o as keyToMove, pt as Example, r as TraversalDownUp, t as AlgCubingNetOptions, vt as AppendCancelOptions, wt as AlgNode, xt as Unit, yt as PuzzleSpecificSimplifyOptions } from "../index-BXHm_6gm.js";
1
+ import { At as Move, Ct as AlgLeaf, Dt as Grouping, Et as LineComment, Ft as ExperimentalNotationType, It as ExperimentalSerializationOptions, Mt as QuantumMove, Nt as Conjugate, Ot as GroupingModifications, Pt as Commutator, St as AlgBranch, Tt as Newline, _t as experimentalAppendMove, a as functionFromTraversal, bt as SimplifyOptions, f as Parsed, ft as experimentalIs, gt as Alg, ht as AlgBuilder, i as TraversalUp, jt as MoveModifications, kt as Pause, mt as setAlgDebug, n as experimentalAlgCubingNetLink, o as keyToMove, pt as Example, r as TraversalDownUp, t as AlgCubingNetOptions, vt as AppendCancelOptions, wt as AlgNode, xt as Unit, yt as PuzzleSpecificSimplifyOptions } from "../index-B2leUGbW.js";
2
2
  export { Alg, AlgBranch, AlgBuilder, AlgCubingNetOptions, AlgLeaf, AlgNode, AppendCancelOptions, Commutator, Conjugate, Example, ExperimentalNotationType, Parsed as ExperimentalParsed, ExperimentalSerializationOptions, Grouping, GroupingModifications, LineComment, Move, MoveModifications, Newline, Pause, PuzzleSpecificSimplifyOptions, QuantumMove, SimplifyOptions, TraversalDownUp, TraversalUp, Unit, experimentalAlgCubingNetLink, experimentalAppendMove, experimentalIs, functionFromTraversal, keyToMove, setAlgDebug };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="web-bluetooth" />
2
2
 
3
- import { At as Move, D as PuzzleID, I as MillisecondTimestamp, R as KPattern, c as PuzzleLoader, gt as Alg, s as KeyMapping } from "../index-BXHm_6gm.js";
4
- import { a as OrientationEvent, i as AlgLeafEvent } from "../index-Cvk652Bd.js";
3
+ import { At as Move, D as PuzzleID, I as MillisecondTimestamp, R as KPattern, c as PuzzleLoader, gt as Alg, s as KeyMapping } from "../index-B2leUGbW.js";
4
+ import { a as OrientationEvent, i as AlgLeafEvent } from "../index-BLw2OxXo.js";
5
5
 
6
6
  //#region src/cubing/bluetooth/debug.d.ts
7
7
  declare function enableDebugLogging(enable: boolean): void;
@@ -2488,7 +2488,7 @@ interface DataUp {
2488
2488
  moveCount: number;
2489
2489
  element: TwistyAlgWrapperElem | TwistyAlgLeafElem;
2490
2490
  }
2491
- declare class TwistyAlgLeafElem extends ManagedCustomElement {
2491
+ declare class TwistyAlgLeafElem extends HTMLElementShim {
2492
2492
  algOrAlgNode: Alg | AlgNode;
2493
2493
  constructor(className: string, text: string, dataDown: DataDown, algOrAlgNode: Alg | AlgNode, offsetIntoMove: boolean, clickable: boolean);
2494
2494
  pathToIndex(_index: number): (TwistyAlgWrapperElem | TwistyAlgLeafElem)[];
@@ -2510,7 +2510,7 @@ declare class MoveHighlighter {
2510
2510
  set(move: Parsed<Move> | null): void;
2511
2511
  }
2512
2512
  /** @category Other Custom Elements */
2513
- declare class TwistyAlgViewer extends HTMLElementShim {
2513
+ declare class TwistyAlgViewer extends ManagedCustomElement {
2514
2514
  #private;
2515
2515
  highlighter: MoveHighlighter;
2516
2516
  lastClickTimestamp: number | null;
@@ -1,4 +1,4 @@
1
- import { Ct as AlgLeaf, R as KPattern } from "./index-BXHm_6gm.js";
1
+ import { Ct as AlgLeaf, R as KPattern } from "./index-B2leUGbW.js";
2
2
 
3
3
  //#region src/cubing/stream/events.d.ts
4
4
  /** @category Smart Puzzles */
@@ -1,2 +1,2 @@
1
- import { B as KTransformation, G as KTransformationData, H as KPatternData, K as KTransformationOrbitData, R as KPattern, U as KPatternOrbitData, V as KPuzzleDefinition, W as KPuzzleOrbitDefinition, z as KPuzzle } from "../index-BXHm_6gm.js";
1
+ import { B as KTransformation, G as KTransformationData, H as KPatternData, K as KTransformationOrbitData, R as KPattern, U as KPatternOrbitData, V as KPuzzleDefinition, W as KPuzzleOrbitDefinition, z as KPuzzle } from "../index-B2leUGbW.js";
2
2
  export { KPattern, KPatternData, KPatternOrbitData, KPuzzle, KPuzzleDefinition, KPuzzleOrbitDefinition, KTransformation, KTransformationData, KTransformationOrbitData };
@@ -1,4 +1,4 @@
1
- import { M as LeafCount, c as PuzzleLoader, gt as Alg } from "../index-BXHm_6gm.js";
1
+ import { M as LeafCount, c as PuzzleLoader, gt as Alg } from "../index-B2leUGbW.js";
2
2
 
3
3
  //#region src/cubing/notation/CountAnimatedLeaves.d.ts
4
4
  declare const countAnimatedLeaves: (alg: Alg) => LeafCount;
@@ -1,4 +1,4 @@
1
- import { R as KPattern, gt as Alg, z as KPuzzle } from "./index-BXHm_6gm.js";
1
+ import { R as KPattern, gt as Alg, z as KPuzzle } from "./index-B2leUGbW.js";
2
2
  //#region src/cubing/search/inside/solve/puzzles/3x3x3/index.d.ts
3
3
  declare function random333Pattern(): Promise<KPattern>;
4
4
  //#endregion
@@ -1,4 +1,4 @@
1
- import { R as KPattern } from "../index-BXHm_6gm.js";
1
+ import { R as KPattern } from "../index-B2leUGbW.js";
2
2
 
3
3
  //#region src/cubing/protocol/binary/binary3x3x3.d.ts
4
4
  type Binary3x3x3Pattern = Uint8Array;
@@ -1,2 +1,2 @@
1
- import { $ as PuzzleDescription, J as PUZZLE_BASE_SHAPES, L as schreierSims, Q as PuzzleCutType, X as PuzzleBaseShape, Y as PUZZLE_CUT_TYPES, Z as PuzzleCutDescription, at as getPG3DNamedPuzzles, ct as getPuzzleGeometryByName, dt as PuzzleGeometryOptions, et as PuzzleGeometry, it as StickerDatSticker, lt as parsePuzzleDescription, nt as StickerDatAxis, ot as getPuzzleDescriptionString, q as PGNotation, rt as StickerDatFace, st as getPuzzleGeometryByDesc, tt as StickerDat, ut as Quat } from "../index-BXHm_6gm.js";
1
+ import { $ as PuzzleDescription, J as PUZZLE_BASE_SHAPES, L as schreierSims, Q as PuzzleCutType, X as PuzzleBaseShape, Y as PUZZLE_CUT_TYPES, Z as PuzzleCutDescription, at as getPG3DNamedPuzzles, ct as getPuzzleGeometryByName, dt as PuzzleGeometryOptions, et as PuzzleGeometry, it as StickerDatSticker, lt as parsePuzzleDescription, nt as StickerDatAxis, ot as getPuzzleDescriptionString, q as PGNotation, rt as StickerDatFace, st as getPuzzleGeometryByDesc, tt as StickerDat, ut as Quat } from "../index-B2leUGbW.js";
2
2
  export { PUZZLE_BASE_SHAPES as EXPERIMENTAL_PUZZLE_BASE_SHAPES, PUZZLE_CUT_TYPES as EXPERIMENTAL_PUZZLE_CUT_TYPES, PGNotation as ExperimentalPGNotation, PuzzleBaseShape as ExperimentalPuzzleBaseShape, PuzzleCutDescription as ExperimentalPuzzleCutDescription, PuzzleCutType as ExperimentalPuzzleCutType, PuzzleDescription as ExperimentalPuzzleDescription, PuzzleGeometryOptions as ExperimentalPuzzleGeometryOptions, PuzzleGeometry, Quat, StickerDat, StickerDatAxis, StickerDatFace, StickerDatSticker, getPG3DNamedPuzzles, getPuzzleDescriptionString, getPuzzleGeometryByDesc, getPuzzleGeometryByName, parsePuzzleDescription, schreierSims };
@@ -1,2 +1,2 @@
1
- import { _ as cube2x2x2, b as wcaEventInfo, c as PuzzleLoader, g as cube3x3x3, h as puzzles, v as eventInfo, x as wcaEvents, y as twizzleEvents } from "../index-BXHm_6gm.js";
1
+ import { _ as cube2x2x2, b as wcaEventInfo, c as PuzzleLoader, g as cube3x3x3, h as puzzles, v as eventInfo, x as wcaEvents, y as twizzleEvents } from "../index-B2leUGbW.js";
2
2
  export { PuzzleLoader, cube2x2x2, cube3x3x3, eventInfo, puzzles, twizzleEvents, wcaEventInfo, wcaEvents };
@@ -1,2 +1,2 @@
1
- import { i as randomScrambleForEvent, t as deriveScrambleForEvent } from "../outside-C2ODxIX_.js";
1
+ import { i as randomScrambleForEvent, t as deriveScrambleForEvent } from "../outside-V6_PW1ZK.js";
2
2
  export { deriveScrambleForEvent as experimentalDeriveScrambleForEvent, randomScrambleForEvent };
@@ -1,4 +1,4 @@
1
- import { a as setSearchDebug, c as solveSkewb, l as solveTwips, n as experimentalSolve2x2x2, o as solveMegaminx, r as experimentalSolve3x3x3IgnoringCenters, s as solvePyraminx, u as random333Pattern } from "../outside-C2ODxIX_.js";
1
+ import { a as setSearchDebug, c as solveSkewb, l as solveTwips, n as experimentalSolve2x2x2, o as solveMegaminx, r as experimentalSolve3x3x3IgnoringCenters, s as solvePyraminx, u as random333Pattern } from "../outside-V6_PW1ZK.js";
2
2
 
3
3
  //#region src/cubing/search/index.d.ts
4
4
  /** @deprecated */
@@ -1,2 +1,2 @@
1
- import { a as OrientationEvent, c as ProxyOrientationEvent, i as AlgLeafEvent, l as ProxyResetEvent, n as WebSocketProxySender, o as ProxyEvent, r as TwizzleStreamServer, s as ProxyMoveEvent, t as WebSocketProxyReceiver } from "../index-Cvk652Bd.js";
1
+ import { a as OrientationEvent, c as ProxyOrientationEvent, i as AlgLeafEvent, l as ProxyResetEvent, n as WebSocketProxySender, o as ProxyEvent, r as TwizzleStreamServer, s as ProxyMoveEvent, t as WebSocketProxyReceiver } from "../index-BLw2OxXo.js";
2
2
  export { AlgLeafEvent as ExperimentalAlgLeafEvent, OrientationEvent as ExperimentalOrientationEvent, ProxyEvent as ExperimentalProxyEvent, ProxyMoveEvent as ExperimentalProxyMoveEvent, ProxyOrientationEvent as ExperimentalProxyOrientationEvent, ProxyResetEvent as ExperimentalProxyResetEvent, TwizzleStreamServer as ExperimentalTwizzleStreamServer, WebSocketProxyReceiver as ExperimentalWebSocketProxyReceiver, WebSocketProxySender as ExperimentalWebSocketProxySender };
@@ -1,2 +1,2 @@
1
- import { A as SimpleAlgIndexer, C as VisualizationFormat, D as PuzzleID, E as ExperimentalStickering, F as MillisecondDuration, I as MillisecondTimestamp, M as LeafCount, N as LeafIndex, O as setTwistyDebug, P as NO_VALUE, S as TwistyAnimatedSVG, T as backViewLayouts, d as TwistyAlgEditor, j as AlgIndexer, k as TreeAlgIndexer, l as TwizzleLink, m as TwistyPlayerConfig, p as TwistyPlayer, u as TwistyAlgViewer, w as BackViewLayout } from "../index-BXHm_6gm.js";
1
+ import { A as SimpleAlgIndexer, C as VisualizationFormat, D as PuzzleID, E as ExperimentalStickering, F as MillisecondDuration, I as MillisecondTimestamp, M as LeafCount, N as LeafIndex, O as setTwistyDebug, P as NO_VALUE, S as TwistyAnimatedSVG, T as backViewLayouts, d as TwistyAlgEditor, j as AlgIndexer, k as TreeAlgIndexer, l as TwizzleLink, m as TwistyPlayerConfig, p as TwistyPlayer, u as TwistyAlgViewer, w as BackViewLayout } from "../index-B2leUGbW.js";
2
2
  export { AlgIndexer, BackViewLayout, NO_VALUE as EXPERIMENTAL_PROP_NO_VALUE, LeafCount as ExperimentalLeafCount, LeafIndex as ExperimentalLeafIndex, MillisecondDuration as ExperimentalMillisecondDuration, MillisecondTimestamp as ExperimentalMillisecondTimestamp, TwistyAnimatedSVG as ExperimentalSVGAnimator, ExperimentalStickering, PuzzleID, SimpleAlgIndexer, TreeAlgIndexer, TwistyAlgEditor, TwistyAlgViewer, TwistyPlayer, TwistyPlayerConfig, TwizzleLink, VisualizationFormat, backViewLayouts, setTwistyDebug };
@@ -5308,23 +5308,45 @@ twistyAlgViewerCSS.replaceSync(
5308
5308
  `
5309
5309
  :host {
5310
5310
  display: inline;
5311
+ --comment-shade: oklab(0.69 -0.19 0.14);
5312
+ --comment-opacity: 0.6;
5313
+ --active-background-shade: rgba(66, 133, 244);
5311
5314
  }
5312
5315
 
5313
5316
  .wrapper {
5314
5317
  display: inline;
5318
+ --current-color: currentColor
5315
5319
  }
5316
5320
 
5317
- a:not(:hover) {
5318
- color: inherit;
5319
- text-decoration: none;
5321
+ a {
5322
+ color: currentColor;
5323
+
5324
+ &:not(:hover) {
5325
+ text-decoration: none;
5326
+ }
5327
+
5328
+ &:hover {
5329
+ background: color-mix(in oklab, currentColor 20%, transparent);
5330
+ }
5331
+
5332
+ &:active {
5333
+ color: currentColor;
5334
+ animation: 1s linear flash;
5335
+ }
5336
+ }
5337
+
5338
+ @keyframes flash {
5339
+ from { opacity: 0.5; }
5340
+ to { opacity: 1; }
5320
5341
  }
5321
5342
 
5322
- twisty-alg-leaf-elem.twisty-alg-comment {
5323
- color: rgba(0, 0, 0, 0.4);
5343
+ twisty-alg-leaf-elem.twisty-alg-line-comment {
5344
+ color: color-mix(in oklab, var(--comment-shade) 75%, currentColor);
5345
+ opacity: var(--comment-opacity);
5324
5346
  }
5325
5347
 
5326
- .wrapper.current-move {
5327
- background: rgba(66, 133, 244, 0.3);
5348
+ .current-move {
5349
+ background: color-mix(in oklab, var(--active-background-shade) 30%, transparent);
5328
5350
  margin-left: -0.1em;
5329
5351
  margin-right: -0.1em;
5330
5352
  padding-left: 0.1em;
@@ -5336,16 +5358,13 @@ twisty-alg-leaf-elem.twisty-alg-comment {
5336
5358
 
5337
5359
  // src/cubing/twisty/views/TwistyAlgViewer.ts
5338
5360
  var DEFAULT_OFFSET_FRACTION = 0.25;
5339
- var TwistyAlgLeafElem = class extends ManagedCustomElement {
5361
+ var TwistyAlgLeafElem = class extends HTMLElementShim {
5340
5362
  constructor(className, text, dataDown, algOrAlgNode, offsetIntoMove, clickable) {
5341
- super({ mode: "open" });
5363
+ super();
5342
5364
  this.algOrAlgNode = algOrAlgNode;
5343
5365
  this.classList.add(className);
5344
- this.addCSS(twistyAlgViewerCSS);
5345
5366
  if (clickable) {
5346
- const anchor = this.contentWrapper.appendChild(
5347
- document.createElement("a")
5348
- );
5367
+ const anchor = this.appendChild(document.createElement("a"));
5349
5368
  anchor.href = "#";
5350
5369
  anchor.textContent = text;
5351
5370
  anchor.addEventListener("click", (e) => {
@@ -5356,9 +5375,7 @@ var TwistyAlgLeafElem = class extends ManagedCustomElement {
5356
5375
  );
5357
5376
  });
5358
5377
  } else {
5359
- this.contentWrapper.appendChild(
5360
- document.createElement("span")
5361
- ).textContent = text;
5378
+ this.appendChild(document.createElement("span")).textContent = text;
5362
5379
  }
5363
5380
  }
5364
5381
  algOrAlgNode;
@@ -5366,7 +5383,7 @@ var TwistyAlgLeafElem = class extends ManagedCustomElement {
5366
5383
  return [];
5367
5384
  }
5368
5385
  setCurrentMove(current) {
5369
- this.contentWrapper.classList.toggle("current-move", current);
5386
+ this.classList.toggle("current-move", current);
5370
5387
  }
5371
5388
  };
5372
5389
  customElementsShim.define("twisty-alg-leaf-elem", TwistyAlgLeafElem);
@@ -5379,7 +5396,9 @@ var TwistyAlgWrapperElem = class extends HTMLElementShim {
5379
5396
  algOrAlgNode;
5380
5397
  queue = [];
5381
5398
  addString(str) {
5382
- this.queue.push(document.createTextNode(str));
5399
+ const span = document.createElement("span");
5400
+ span.textContent = str;
5401
+ this.queue.push(span);
5383
5402
  }
5384
5403
  addElem(dataUp) {
5385
5404
  this.queue.push(dataUp.element);
@@ -5626,20 +5645,20 @@ var MoveHighlighter = class {
5626
5645
  if (this.currentElem === newElem) {
5627
5646
  return;
5628
5647
  }
5629
- this.currentElem?.classList.remove("twisty-alg-current-move");
5630
5648
  this.currentElem?.setCurrentMove(false);
5631
- newElem?.classList.add("twisty-alg-current-move");
5632
5649
  newElem?.setCurrentMove(true);
5633
5650
  this.currentElem = newElem;
5634
5651
  }
5635
5652
  };
5636
- var TwistyAlgViewer = class extends HTMLElementShim {
5653
+ var TwistyAlgViewer = class extends ManagedCustomElement {
5637
5654
  highlighter = new MoveHighlighter();
5638
5655
  #domTree;
5656
+ #domTreeAlg;
5639
5657
  #twistyPlayer = null;
5640
5658
  lastClickTimestamp = null;
5641
5659
  constructor(options) {
5642
- super();
5660
+ super({ mode: "open" });
5661
+ this.addCSS(twistyAlgViewerCSS);
5643
5662
  if (options?.twistyPlayer) {
5644
5663
  this.twistyPlayer = options?.twistyPlayer;
5645
5664
  }
@@ -5647,13 +5666,17 @@ var TwistyAlgViewer = class extends HTMLElementShim {
5647
5666
  connectedCallback() {
5648
5667
  }
5649
5668
  setAlg(alg) {
5669
+ if (this.#domTreeAlg?.isIdentical(alg)) {
5670
+ return;
5671
+ }
5650
5672
  this.#domTree = algToDOMTree(alg, {
5651
5673
  earliestMoveIndex: 0,
5652
5674
  twistyAlgViewer: this,
5653
5675
  direction: 1 /* Forwards */
5654
5676
  }).element;
5655
- this.textContent = "";
5656
- this.appendChild(this.#domTree);
5677
+ this.#domTreeAlg = alg;
5678
+ this.contentWrapper.textContent = "";
5679
+ this.contentWrapper.appendChild(this.#domTree);
5657
5680
  }
5658
5681
  get twistyPlayer() {
5659
5682
  return this.#twistyPlayer;
@@ -5675,9 +5698,6 @@ var TwistyAlgViewer = class extends HTMLElementShim {
5675
5698
  this.setAlg(algWithIssues.alg);
5676
5699
  }
5677
5700
  );
5678
- const sourceAlg = (await this.#twistyPlayer.experimentalModel.alg.get()).alg;
5679
- const parsedAlg = startCharIndexKey in sourceAlg ? sourceAlg : Alg.fromString(sourceAlg.toString());
5680
- this.setAlg(parsedAlg);
5681
5701
  twistyPlayer.experimentalModel.currentMoveInfo.addFreshListener(
5682
5702
  (currentMoveInfo) => {
5683
5703
  let moveInfo = currentMoveInfo.currentMoves[0];
@@ -5897,7 +5917,6 @@ twizzleLinkForumTweaksCSS.replaceSync(`
5897
5917
  background: #262626;
5898
5918
  --text-color: 142, 142, 142;
5899
5919
  border-color: #FFFFFF44;
5900
- color-scheme: dark;
5901
5920
  }
5902
5921
 
5903
5922
  .wrapper.dark-mode .heading:not(.title) {