cubing 0.24.2 → 0.24.6

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 (70) hide show
  1. package/README.md +37 -7
  2. package/dist/esm/{2x2x2.sgs.json-5MCXGXA6.js → 2x2x2.sgs.json-KBCXHIZP.js} +3 -3
  3. package/dist/esm/{2x2x2.sgs.json-5MCXGXA6.js.map → 2x2x2.sgs.json-KBCXHIZP.js.map} +0 -0
  4. package/dist/esm/{3d-dynamic-inside-XYXXTULQ.js → 3d-dynamic-inside-IIG5EJZP.js} +4 -5
  5. package/dist/esm/{3d-dynamic-inside-XYXXTULQ.js.map → 3d-dynamic-inside-IIG5EJZP.js.map} +2 -2
  6. package/dist/esm/bluetooth/index.js +3 -3
  7. package/dist/esm/{chunk-UZTY6GHM.js → chunk-DMCRTYR4.js} +3 -3
  8. package/dist/esm/{chunk-UZTY6GHM.js.map → chunk-DMCRTYR4.js.map} +0 -0
  9. package/dist/esm/{chunk-ZDALYMGF.js → chunk-KRL5KQQK.js} +32 -3
  10. package/dist/esm/chunk-KRL5KQQK.js.map +7 -0
  11. package/dist/esm/{chunk-2CGRUO5X.js → chunk-MVJPIWT7.js} +3 -2
  12. package/dist/esm/chunk-MVJPIWT7.js.map +7 -0
  13. package/dist/esm/{chunk-TOPMNZ57.js → chunk-OOIEAACO.js} +2 -2
  14. package/dist/esm/{chunk-TOPMNZ57.js.map → chunk-OOIEAACO.js.map} +0 -0
  15. package/dist/esm/{chunk-BBEJTW6Z.js → chunk-QMZKTP7F.js} +3 -3
  16. package/dist/esm/{chunk-BBEJTW6Z.js.map → chunk-QMZKTP7F.js.map} +0 -0
  17. package/dist/esm/{chunk-LR6VCMD2.js → chunk-T5KQKRR3.js} +3 -3
  18. package/dist/esm/{chunk-LR6VCMD2.js.map → chunk-T5KQKRR3.js.map} +0 -0
  19. package/dist/esm/{chunk-GBIDMAJS.js → chunk-TXTMBIUR.js} +2 -2
  20. package/dist/esm/{chunk-GBIDMAJS.js.map → chunk-TXTMBIUR.js.map} +0 -0
  21. package/dist/esm/{chunk-2I3MTSRM.js → chunk-UOI5KUW4.js} +3 -3
  22. package/dist/esm/{chunk-2I3MTSRM.js.map → chunk-UOI5KUW4.js.map} +0 -0
  23. package/dist/esm/{chunk-HU55EGD6.js → chunk-V7BTHDW3.js} +2 -2
  24. package/dist/esm/{chunk-HU55EGD6.js.map → chunk-V7BTHDW3.js.map} +0 -0
  25. package/dist/esm/{chunk-B27E6KTE.js → chunk-Y32HHZUY.js} +1 -1
  26. package/dist/esm/{chunk-B27E6KTE.js.map → chunk-Y32HHZUY.js.map} +2 -2
  27. package/dist/esm/{entry-FOASJVBZ.js → entry-FHL2XSAP.js} +15 -15
  28. package/dist/esm/{entry-FOASJVBZ.js.map → entry-FHL2XSAP.js.map} +0 -0
  29. package/dist/esm/{fto.sgs.json-USK5JCKN.js → fto.sgs.json-USV4WNQJ.js} +3 -3
  30. package/dist/esm/{fto.sgs.json-USK5JCKN.js.map → fto.sgs.json-USV4WNQJ.js.map} +0 -0
  31. package/dist/esm/kpuzzle/index.js +1 -1
  32. package/dist/esm/{megaminx.sgs.json-3UELYHNZ.js → megaminx.sgs.json-KKR4VPHV.js} +4 -4
  33. package/dist/esm/{megaminx.sgs.json-3UELYHNZ.js.map → megaminx.sgs.json-KKR4VPHV.js.map} +0 -0
  34. package/dist/esm/{module-entry-DBPFVUZH.js → module-entry-TKJ6ZAZB.js} +2 -2
  35. package/dist/esm/{module-entry-DBPFVUZH.js.map → module-entry-TKJ6ZAZB.js.map} +0 -0
  36. package/dist/esm/protocol/index.js +2 -2
  37. package/dist/esm/puzzle-geometry/index.js +1 -1
  38. package/dist/esm/puzzles/index.js +2 -2
  39. package/dist/esm/{pyraminx.sgs.json-ARYGZ7E4.js → pyraminx.sgs.json-HMKDN3ZT.js} +4 -4
  40. package/dist/esm/{pyraminx.sgs.json-ARYGZ7E4.js.map → pyraminx.sgs.json-HMKDN3ZT.js.map} +0 -0
  41. package/dist/esm/scramble/index.js +4 -4
  42. package/dist/esm/{scramble_444-HZ7HJLTT.js → scramble_444-ZFKBLRUE.js} +4 -4
  43. package/dist/esm/{scramble_444-HZ7HJLTT.js.map → scramble_444-ZFKBLRUE.js.map} +0 -0
  44. package/dist/esm/search/index.js +4 -4
  45. package/dist/esm/{skewb.sgs.json-QVGBEYZV.js → skewb.sgs.json-MWONK6HT.js} +4 -4
  46. package/dist/esm/{skewb.sgs.json-QVGBEYZV.js.map → skewb.sgs.json-MWONK6HT.js.map} +0 -0
  47. package/dist/esm/twisty/index.js +88 -55
  48. package/dist/esm/twisty/index.js.map +3 -3
  49. package/dist/esm/{worker-inside-generated-string-OWBTRAXR.js → worker-inside-generated-string-XYHIVIPG.js} +23 -23
  50. package/dist/esm/worker-inside-generated-string-XYHIVIPG.js.map +7 -0
  51. package/dist/types/puzzle-geometry/FaceNameSwizzler.d.ts +1 -0
  52. package/dist/types/puzzle-geometry/PermOriSet.d.ts +2 -1
  53. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +1 -0
  54. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  55. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +5 -4
  56. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +2 -0
  57. package/dist/types/twisty/model/props/puzzle/state/AnchorTransformationProp.d.ts +2 -1
  58. package/dist/types/twisty/model/props/puzzle/state/SetupTransformationProp.d.ts +5 -0
  59. package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +1 -1
  60. package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +1 -1
  61. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +1 -0
  62. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -2
  63. package/dist/types/twisty/views/control-panel/{TwistyButtonsV2.css.d.ts → TwistyButtons.css.d.ts} +0 -0
  64. package/dist/types/twisty/views/control-panel/{TwistyButtonsV2.d.ts → TwistyButtons.d.ts} +3 -3
  65. package/dist/types/twisty/views/control-panel/{TwistyScrubberV2.d.ts → TwistyScrubber.d.ts} +1 -1
  66. package/package.json +2 -2
  67. package/dist/esm/chunk-2CGRUO5X.js.map +0 -7
  68. package/dist/esm/chunk-ZDALYMGF.js.map +0 -7
  69. package/dist/esm/worker-inside-generated-string-OWBTRAXR.js.map +0 -7
  70. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +0 -22
@@ -10,7 +10,7 @@ import {
10
10
  TwistyPropDerived,
11
11
  TwistyPropSource,
12
12
  proxy3D
13
- } from "../chunk-TOPMNZ57.js";
13
+ } from "../chunk-OOIEAACO.js";
14
14
  import {
15
15
  countAnimatedLeaves,
16
16
  countMoves
@@ -20,8 +20,8 @@ import {
20
20
  cubeAppearance,
21
21
  customPGPuzzleLoader,
22
22
  puzzles
23
- } from "../chunk-2CGRUO5X.js";
24
- import "../chunk-B27E6KTE.js";
23
+ } from "../chunk-MVJPIWT7.js";
24
+ import "../chunk-Y32HHZUY.js";
25
25
  import {
26
26
  Alg,
27
27
  AlgBuilder,
@@ -490,6 +490,15 @@ svg {
490
490
  display: grid;
491
491
  min-height: 0;
492
492
  }
493
+
494
+ svg {
495
+ animation: fade-in 0.25s ease-in;
496
+ }
497
+
498
+ @keyframes fade-in {
499
+ from { opacity: 0; }
500
+ to { opacity: 1; }
501
+ }
493
502
  `);
494
503
 
495
504
  // src/cubing/twisty/views/2D/KPuzzleSVGWrapper.ts
@@ -1106,12 +1115,45 @@ var twisty3DVantageCSS = new CSSSource(`
1106
1115
  height: 100%;
1107
1116
  display: grid;
1108
1117
  overflow: hidden;
1118
+ place-content: center;
1119
+ }
1120
+
1121
+ .loading {
1122
+ width: 4em;
1123
+ height: 4em;
1124
+ border-radius: 2.5em;
1125
+ border: 0.5em solid rgba(0, 0, 0, 0);
1126
+ border-top: 0.5em solid rgba(0, 0, 0, 0.7);
1127
+ border-right: 0.5em solid rgba(0, 0, 0, 0.7);
1128
+ animation: fade-in-delayed 4s, rotate 1s linear infinite;
1129
+ }
1130
+
1131
+ @keyframes fade-in-delayed {
1132
+ 0% { opacity: 0; }
1133
+ 25% {opacity: 0; }
1134
+ 100% { opacity: 1; }
1135
+ }
1136
+
1137
+ @keyframes rotate {
1138
+ from { transform: rotate(0deg); }
1139
+ to { transform: rotate(360deg); }
1109
1140
  }
1110
1141
 
1111
1142
  /* TODO: This is due to stats hack. Replace with \`canvas\`. */
1112
1143
  .wrapper > canvas {
1113
1144
  max-width: 100%;
1114
1145
  max-height: 100%;
1146
+ cursor: grab;
1147
+ animation: fade-in 0.25s ease-in;
1148
+ }
1149
+
1150
+ @keyframes fade-in {
1151
+ from { opacity: 0; }
1152
+ to { opacity: 1; }
1153
+ }
1154
+
1155
+ .wrapper > canvas:active {
1156
+ cursor: grabbing;
1115
1157
  }
1116
1158
 
1117
1159
  .wrapper.invisible {
@@ -1385,6 +1427,7 @@ var Twisty3DVantage = class extends ManagedCustomElement {
1385
1427
  this.scene = null;
1386
1428
  this.stats = null;
1387
1429
  this.rendererIsShared = shareRenderer();
1430
+ this.loadingElement = null;
1388
1431
  __privateAdd(this, _onResizeStaleDropper, new StaleDropper());
1389
1432
  __privateAdd(this, _width, 0);
1390
1433
  __privateAdd(this, _height, 0);
@@ -1396,6 +1439,8 @@ var Twisty3DVantage = class extends ManagedCustomElement {
1396
1439
  __privateAdd(this, _disconnectionFunctions, []);
1397
1440
  __privateAdd(this, _scheduler, new RenderScheduler(this.render.bind(this)));
1398
1441
  this.scene = scene ?? null;
1442
+ this.loadingElement = this.addElement(document.createElement("div"));
1443
+ this.loadingElement.classList.add("loading");
1399
1444
  if (SHOW_STATS) {
1400
1445
  this.stats = new Stats();
1401
1446
  this.stats.dom.style.position = "absolute";
@@ -1437,6 +1482,7 @@ var Twisty3DVantage = class extends ManagedCustomElement {
1437
1482
  const renderer = await this.renderer();
1438
1483
  canvas = this.addElement(renderer.domElement);
1439
1484
  }
1485
+ this.loadingElement?.remove();
1440
1486
  const context = canvas.getContext("2d");
1441
1487
  return { canvas, context };
1442
1488
  })());
@@ -1686,7 +1732,7 @@ _currentTwisty3DPuzzleWrapper = new WeakMap();
1686
1732
  _twisty3DStaleDropper = new WeakMap();
1687
1733
  customElementsShim.define("twisty-3d-scene-wrapper", Twisty3DSceneWrapper);
1688
1734
 
1689
- // src/cubing/twisty/views/control-panel/TwistyButtonsV2.css.ts
1735
+ // src/cubing/twisty/views/control-panel/TwistyButtons.css.ts
1690
1736
  var buttonGridCSS = new CSSSource(`
1691
1737
  :host {
1692
1738
  width: 384px;
@@ -1711,7 +1757,7 @@ var buttonGridCSS = new CSSSource(`
1711
1757
  display: none;
1712
1758
  }
1713
1759
 
1714
- .wrapper twisty-button-v2,
1760
+ .wrapper twisty-button,
1715
1761
  .wrapper twisty-control-button {
1716
1762
  width: inherit;
1717
1763
  height: inherit;
@@ -1865,7 +1911,7 @@ var ButtonAppearanceProp = class extends TwistyPropDerived {
1865
1911
  title: "Step backward"
1866
1912
  },
1867
1913
  "play-pause": {
1868
- enabled: true,
1914
+ enabled: !(inputs.coarseTimelineInfo.atStart && inputs.coarseTimelineInfo.atEnd),
1869
1915
  icon: inputs.coarseTimelineInfo.playing ? "pause" : "play",
1870
1916
  title: inputs.coarseTimelineInfo.playing ? "Pause" : "Play"
1871
1917
  },
@@ -1890,7 +1936,7 @@ var ButtonAppearanceProp = class extends TwistyPropDerived {
1890
1936
  }
1891
1937
  };
1892
1938
 
1893
- // src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts
1939
+ // src/cubing/twisty/views/control-panel/TwistyButtons.ts
1894
1940
  var buttonCommands = {
1895
1941
  "fullscreen": true,
1896
1942
  "jump-to-start": true,
@@ -1901,7 +1947,7 @@ var buttonCommands = {
1901
1947
  "twizzle-link": true
1902
1948
  };
1903
1949
  var _onCommand, onCommand_fn;
1904
- var TwistyButtonsV2 = class extends ManagedCustomElement {
1950
+ var TwistyButtons = class extends ManagedCustomElement {
1905
1951
  constructor(model, controller, fullscreenElement) {
1906
1952
  super();
1907
1953
  this.model = model;
@@ -1914,7 +1960,7 @@ var TwistyButtonsV2 = class extends ManagedCustomElement {
1914
1960
  this.addCSS(buttonGridCSS);
1915
1961
  const buttons = {};
1916
1962
  for (const command in buttonCommands) {
1917
- const button = new TwistyButtonV2();
1963
+ const button = new TwistyButton();
1918
1964
  buttons[command] = button;
1919
1965
  button.addEventListener("click", () => __privateMethod(this, _onCommand, onCommand_fn).call(this, command));
1920
1966
  this.addElement(button);
@@ -1985,9 +2031,9 @@ onCommand_fn = function(command) {
1985
2031
  throw new Error("Missing command");
1986
2032
  }
1987
2033
  };
1988
- customElementsShim.define("twisty-buttons-v2", TwistyButtonsV2);
2034
+ customElementsShim.define("twisty-buttons", TwistyButtons);
1989
2035
  var _iconManager;
1990
- var TwistyButtonV2 = class extends ManagedCustomElement {
2036
+ var TwistyButton = class extends ManagedCustomElement {
1991
2037
  constructor() {
1992
2038
  super(...arguments);
1993
2039
  this.button = document.createElement("button");
@@ -2002,7 +2048,7 @@ var TwistyButtonV2 = class extends ManagedCustomElement {
2002
2048
  }
2003
2049
  };
2004
2050
  _iconManager = new WeakMap();
2005
- customElementsShim.define("twisty-button-v2", TwistyButtonV2);
2051
+ customElementsShim.define("twisty-button", TwistyButton);
2006
2052
 
2007
2053
  // src/cubing/twisty/views/control-panel/TwistyScrubber.css.ts
2008
2054
  var twistyScrubberCSS = new CSSSource(`
@@ -2019,40 +2065,15 @@ var twistyScrubberCSS = new CSSSource(`
2019
2065
  overflow: hidden;
2020
2066
  backdrop-filter: blur(4px);
2021
2067
  -webkit-backdrop-filter: blur(4px);
2068
+ background: rgba(196, 196, 196, 0.75)
2022
2069
  }
2023
2070
 
2024
- input {
2025
- margin: 0; width: 100%;
2026
- }
2027
-
2028
- input {
2029
- background: none;
2030
- }
2031
-
2032
- ::-moz-range-track {
2033
- background: rgba(0, 0, 0, 0.25);
2034
- height: 50%;
2035
- border: 1px solid rgba(0, 0, 0, 0.1);
2036
- }
2037
-
2038
- ::-webkit-slider-runnable-track {
2039
- background: rgba(0, 0, 0, 0.05);
2040
- }
2041
-
2042
- ::-moz-range-progress {
2043
- background: #3273F6;
2044
- height: 50%;
2045
- border: 1px solid rgba(0, 0, 0, 0.1);
2046
- }
2047
-
2048
- ::-ms-fill-lower {
2049
- background: #3273F6;
2050
- height: 50%;
2051
- border: 1px solid rgba(0, 0, 0, 0.1);
2071
+ input:not(:disabled) {
2072
+ cursor: ew-resize;
2052
2073
  }
2053
2074
  `);
2054
2075
 
2055
- // src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts
2076
+ // src/cubing/twisty/views/control-panel/TwistyScrubber.ts
2056
2077
  var SLOW_DOWN_SCRUBBING = false;
2057
2078
  var isMouseDown = false;
2058
2079
  globalSafeDocument?.addEventListener("mousedown", function(event) {
@@ -2080,7 +2101,7 @@ var lastPreval = 0;
2080
2101
  var scaling = false;
2081
2102
  var currentClickNum = 0;
2082
2103
  var _inputElem;
2083
- var TwistyScrubberV2 = class extends ManagedCustomElement {
2104
+ var TwistyScrubber = class extends ManagedCustomElement {
2084
2105
  constructor(model) {
2085
2106
  super();
2086
2107
  this.model = model;
@@ -2150,7 +2171,7 @@ var TwistyScrubberV2 = class extends ManagedCustomElement {
2150
2171
  }
2151
2172
  };
2152
2173
  _inputElem = new WeakMap();
2153
- customElementsShim.define("twisty-scrubber-v2", TwistyScrubberV2);
2174
+ customElementsShim.define("twisty-scrubber", TwistyScrubber);
2154
2175
 
2155
2176
  // src/cubing/twisty/views/screenshot.ts
2156
2177
  var cachedCamera = null;
@@ -2213,7 +2234,7 @@ var twistyPlayerCSS = new CSSSource(`
2213
2234
  .wrapper {
2214
2235
  display: grid;
2215
2236
  overflow: hidden;
2216
- grid-template-rows: 7fr 1em 1fr;
2237
+ grid-template-rows: 7fr minmax(1.5em, 0.5fr) minmax(2em, 1fr);
2217
2238
  }
2218
2239
 
2219
2240
  .wrapper > * {
@@ -2228,8 +2249,8 @@ var twistyPlayerCSS = new CSSSource(`
2228
2249
 
2229
2250
  .wrapper.controls-none twisty-scrubber,
2230
2251
  .wrapper.controls-none twisty-control-button-panel ,
2231
- .wrapper.controls-none twisty-scrubber-v2,
2232
- .wrapper.controls-none twisty-buttons-v2 {
2252
+ .wrapper.controls-none twisty-scrubber,
2253
+ .wrapper.controls-none twisty-buttons {
2233
2254
  display: none;
2234
2255
  }
2235
2256
 
@@ -2883,7 +2904,7 @@ function simulMoves(a) {
2883
2904
  return l;
2884
2905
  }
2885
2906
 
2886
- // src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts
2907
+ // src/cubing/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts
2887
2908
  var demos = {
2888
2909
  "y' y' U' E D R2 r2 F2 B2 U E D' R2 L2' z2 S2 U U D D S2 F2' B2": [
2889
2910
  { animLeaf: new Move("y", -1), start: 0, end: 1e3 },
@@ -2930,7 +2951,7 @@ var demos = {
2930
2951
  { animLeaf: new Move("E"), start: 7e3, end: 8e3 }
2931
2952
  ]
2932
2953
  };
2933
- var SimultaneousMoveIndexerV2 = class {
2954
+ var SimultaneousMoveIndexer = class {
2934
2955
  constructor(kpuzzle, alg) {
2935
2956
  this.kpuzzle = kpuzzle;
2936
2957
  this.animLeaves = demos[alg.toString()] ?? simulMoves(alg);
@@ -3424,7 +3445,7 @@ var IndexerConstructorProp = class extends TwistyPropDerived {
3424
3445
  switch (inputs.indexerConstructorRequest) {
3425
3446
  case "auto":
3426
3447
  if (countMoves(inputs.alg.alg) < 100 && inputs.puzzle === "3x3x3" && inputs.visualizationStrategy === "Cube3D") {
3427
- return SimultaneousMoveIndexerV2;
3448
+ return SimultaneousMoveIndexer;
3428
3449
  } else {
3429
3450
  return TreeAlgIndexer;
3430
3451
  }
@@ -3433,7 +3454,7 @@ var IndexerConstructorProp = class extends TwistyPropDerived {
3433
3454
  case "simple":
3434
3455
  return SimpleAlgIndexer;
3435
3456
  case "simultaneous":
3436
- return SimultaneousMoveIndexerV2;
3457
+ return SimultaneousMoveIndexer;
3437
3458
  default:
3438
3459
  throw new Error("Invalid indexer request!");
3439
3460
  }
@@ -3477,13 +3498,16 @@ var IndexerProp = class extends TwistyPropDerived {
3477
3498
  // src/cubing/twisty/model/props/puzzle/state/AnchorTransformationProp.ts
3478
3499
  var AnchorTransformationProp = class extends TwistyPropDerived {
3479
3500
  derive(inputs) {
3501
+ if (inputs.setupTransformation) {
3502
+ return inputs.setupTransformation;
3503
+ }
3480
3504
  switch (inputs.setupAnchor) {
3481
3505
  case "start":
3482
- return inputs.setupTransformation;
3506
+ return inputs.setupAlgTransformation;
3483
3507
  case "end": {
3484
3508
  const algTransformation = inputs.indexer.transformationAtIndex(inputs.indexer.numAnimatedLeaves());
3485
3509
  const inverseAlgTransformation = algTransformation.invert();
3486
- return inputs.setupTransformation.applyTransformation(inverseAlgTransformation);
3510
+ return inputs.setupAlgTransformation.applyTransformation(inverseAlgTransformation);
3487
3511
  }
3488
3512
  default:
3489
3513
  throw new Error("Unimplemented!");
@@ -3714,6 +3738,13 @@ var FoundationDisplayProp = class extends SimpleTwistyPropSource {
3714
3738
  }
3715
3739
  };
3716
3740
 
3741
+ // src/cubing/twisty/model/props/puzzle/state/SetupTransformationProp.ts
3742
+ var SetupTransformationProp = class extends SimpleTwistyPropSource {
3743
+ getDefaultValue() {
3744
+ return null;
3745
+ }
3746
+ };
3747
+
3717
3748
  // src/cubing/twisty/model/TwistyPlayerModel.ts
3718
3749
  var TwistyPlayerModel = class {
3719
3750
  constructor() {
@@ -3736,6 +3767,7 @@ var TwistyPlayerModel = class {
3736
3767
  this.puzzleIDRequest = new PuzzleIDRequestProp();
3737
3768
  this.setupAnchor = new SetupAnchorProp();
3738
3769
  this.setupAlg = new AlgProp();
3770
+ this.setupTransformation = new SetupTransformationProp();
3739
3771
  this.stickering = new StickeringProp();
3740
3772
  this.tempoScale = new TempoScaleProp();
3741
3773
  this.timestampRequest = new TimestampRequestProp();
@@ -3788,8 +3820,9 @@ var TwistyPlayerModel = class {
3788
3820
  kpuzzle: this.kpuzzle
3789
3821
  });
3790
3822
  this.anchorTransformation = new AnchorTransformationProp({
3823
+ setupTransformation: this.setupTransformation,
3791
3824
  setupAnchor: this.setupAnchor,
3792
- setupTransformation: this.setupAlgTransformation,
3825
+ setupAlgTransformation: this.setupAlgTransformation,
3793
3826
  indexer: this.indexer
3794
3827
  });
3795
3828
  this.timeRange = new TimeRangeProp({
@@ -4111,9 +4144,9 @@ var TwistyPlayer = class extends TwistyPlayerSettable {
4111
4144
  __privateGet(this, _errorElem).textContent = errorString;
4112
4145
  }
4113
4146
  });
4114
- const scrubber = new TwistyScrubberV2(this.experimentalModel);
4147
+ const scrubber = new TwistyScrubber(this.experimentalModel);
4115
4148
  this.contentWrapper.appendChild(scrubber);
4116
- this.buttons = new TwistyButtonsV2(this.experimentalModel, this.controller, this);
4149
+ this.buttons = new TwistyButtons(this.experimentalModel, this.controller, this);
4117
4150
  this.contentWrapper.appendChild(this.buttons);
4118
4151
  this.experimentalModel.background.addFreshListener((backgroundTheme) => {
4119
4152
  this.contentWrapper.classList.toggle("checkered", backgroundTheme !== "none");