cubing 0.26.1 → 0.26.4
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.
- package/dist/esm/alg/index.js +1 -1
- package/dist/esm/bluetooth/index.js +3 -3
- package/dist/esm/bluetooth/index.js.map +1 -1
- package/dist/esm/{chunk-HUCMGBEC.js → chunk-2KNZ3W2X.js} +2 -2
- package/dist/esm/{chunk-HUCMGBEC.js.map → chunk-2KNZ3W2X.js.map} +1 -1
- package/dist/esm/{chunk-CYG3DDTX.js → chunk-2Z7I5AC3.js} +385 -89
- package/dist/esm/chunk-2Z7I5AC3.js.map +7 -0
- package/dist/esm/{chunk-RHC3DIN3.js → chunk-BEXHMXCT.js} +1 -1
- package/dist/esm/{chunk-RHC3DIN3.js.map → chunk-BEXHMXCT.js.map} +1 -1
- package/dist/esm/{chunk-ALBEW4DJ.js → chunk-GBMX6FHY.js} +1 -1
- package/dist/esm/{chunk-ALBEW4DJ.js.map → chunk-GBMX6FHY.js.map} +1 -1
- package/dist/esm/{chunk-XQKTAWAA.js → chunk-IW4IMXS5.js} +46 -37
- package/dist/esm/chunk-IW4IMXS5.js.map +7 -0
- package/dist/esm/{chunk-J7OB2GEM.js → chunk-LETRSCIC.js} +14 -12
- package/dist/esm/chunk-LETRSCIC.js.map +7 -0
- package/dist/esm/{chunk-JIBAUV55.js → chunk-NGC5FA64.js} +10 -10
- package/dist/esm/chunk-NGC5FA64.js.map +7 -0
- package/dist/esm/{chunk-V55YSWJY.js → chunk-NYAPGKCW.js} +1 -1
- package/dist/esm/{chunk-V55YSWJY.js.map → chunk-NYAPGKCW.js.map} +1 -1
- package/dist/esm/{chunk-5Q4SJSNY.js → chunk-TKUB3UH6.js} +2 -2
- package/dist/esm/{chunk-5Q4SJSNY.js.map → chunk-TKUB3UH6.js.map} +1 -1
- package/dist/esm/{chunk-AD6PFNOU.js → chunk-WQK6XWML.js} +3 -3
- package/dist/esm/chunk-WQK6XWML.js.map +7 -0
- package/dist/esm/{chunk-3CEMUTUD.js → chunk-XENF236F.js} +2 -2
- package/dist/esm/{chunk-3CEMUTUD.js.map → chunk-XENF236F.js.map} +1 -1
- package/dist/esm/chunk-YBDBUTYE.js +42 -0
- package/dist/esm/chunk-YBDBUTYE.js.map +7 -0
- package/dist/esm/{chunk-PDVAUAMY.js → chunk-YRXW6WCD.js} +6 -40
- package/dist/esm/chunk-YRXW6WCD.js.map +7 -0
- package/dist/esm/{chunk-QZOJPCN5.js → chunk-ZNQAOJ4A.js} +5 -4
- package/dist/esm/chunk-ZNQAOJ4A.js.map +7 -0
- package/dist/esm/kpuzzle/index.js +2 -2
- package/dist/esm/notation/index.js +2 -2
- package/dist/esm/protocol/index.js +2 -2
- package/dist/esm/puzzle-geometry/index.js +6 -2
- package/dist/esm/puzzles/index.js +3 -3
- package/dist/esm/{3x3x3.kpuzzle.svg-5U7LUACF.js → puzzles-dynamic-3x3x3-NB2PEZTV.js} +115 -4
- package/dist/esm/puzzles-dynamic-3x3x3-NB2PEZTV.js.map +7 -0
- package/dist/esm/puzzles-dynamic-side-events-HOXBZYWI.js +1855 -0
- package/dist/esm/puzzles-dynamic-side-events-HOXBZYWI.js.map +7 -0
- package/dist/esm/puzzles-dynamic-unofficial-MGVOFUDR.js +399 -0
- package/dist/esm/puzzles-dynamic-unofficial-MGVOFUDR.js.map +7 -0
- package/dist/esm/scramble/index.js +5 -8
- package/dist/esm/search/index.js +11 -12
- package/dist/esm/{chunk-PMKVGKT4.js → search-dynamic-sgs-side-events-DWRW3XUN.js} +322 -8
- package/dist/esm/search-dynamic-sgs-side-events-DWRW3XUN.js.map +7 -0
- package/dist/esm/{fto.dynamic-ISSUUAOX.js → search-dynamic-sgs-unofficial-GM6G44QE.js} +564 -11
- package/dist/esm/search-dynamic-sgs-unofficial-GM6G44QE.js.map +7 -0
- package/dist/esm/{3x3x3-min2phase-GFNNX26U.js → search-dynamic-solve-3x3x3-K4TG7P3X.js} +1 -1
- package/dist/esm/{3x3x3-min2phase-GFNNX26U.js.map → search-dynamic-solve-3x3x3-K4TG7P3X.js.map} +1 -1
- package/dist/esm/{444-solver-2ECPETB3.js → search-dynamic-solve-4x4x4-GH5TQ72U.js} +7 -6
- package/dist/esm/{444-solver-2ECPETB3.js.map → search-dynamic-solve-4x4x4-GH5TQ72U.js.map} +1 -1
- package/dist/esm/{fto-solver-5EQEC77M.js → search-dynamic-solve-fto-WROONLZS.js} +7 -7
- package/dist/esm/search-dynamic-solve-fto-WROONLZS.js.map +7 -0
- package/dist/esm/{kilosolver-RP3POREU.js → search-dynamic-solve-kilominx-7Y4UNPAG.js} +3 -5
- package/dist/esm/{kilosolver-RP3POREU.js.map → search-dynamic-solve-kilominx-7Y4UNPAG.js.map} +1 -1
- package/dist/esm/{master_tetraminx-solver-RFBUNQMC.js → search-dynamic-solve-master_tetraminx-3R2CJUKW.js} +2 -4
- package/dist/esm/{master_tetraminx-solver-RFBUNQMC.js.map → search-dynamic-solve-master_tetraminx-3R2CJUKW.js.map} +1 -1
- package/dist/esm/{sq1-solver-G73T6FTJ.js → search-dynamic-solve-sq1-RS5HN6AH.js} +2 -2
- package/dist/esm/{sq1-solver-G73T6FTJ.js.map → search-dynamic-solve-sq1-RS5HN6AH.js.map} +1 -1
- package/dist/esm/search-worker-inside-generated-string-F45TUE2M.js +3768 -0
- package/dist/esm/search-worker-inside-generated-string-F45TUE2M.js.map +7 -0
- package/dist/esm/{search-worker-js-entry-CZHIWNVF.js → search-worker-js-entry-HKWTUNTT.js} +55 -70
- package/dist/esm/search-worker-js-entry-HKWTUNTT.js.map +7 -0
- package/dist/esm/{search-worker-ts-entry-4WJDKASM.js → search-worker-ts-entry-BQGURH6Z.js} +5 -5
- package/dist/esm/{search-worker-ts-entry-4WJDKASM.js.map → search-worker-ts-entry-BQGURH6Z.js.map} +1 -1
- package/dist/esm/stream/index.js +1 -1
- package/dist/esm/stream/index.js.map +1 -1
- package/dist/esm/twisty/index.js +82 -27
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/{3d-dynamic-OTQHIOVR.js → twisty-dynamic-3d-D5A3LR3B.js} +24 -8
- package/dist/esm/{3d-dynamic-OTQHIOVR.js.map → twisty-dynamic-3d-D5A3LR3B.js.map} +3 -3
- package/dist/types/{Alg-6f3dc52c.d.ts → Alg-5cf4b166.d.ts} +2 -2
- package/dist/types/{KPuzzleDefinition-8531b592.d.ts → KPuzzleDefinition-a1b2c545.d.ts} +18 -12
- package/dist/types/{KState-ba36d9a3.d.ts → KState-0ba4140d.d.ts} +2 -2
- package/dist/types/PuzzleLoader-77346930.d.ts +1178 -0
- package/dist/types/alg/index.d.ts +4 -4
- package/dist/types/bluetooth/index.d.ts +5 -5
- package/dist/types/{bluetooth-puzzle-bc1a5264.d.ts → bluetooth-puzzle-0d818529.d.ts} +2 -2
- package/dist/types/kpuzzle/index.d.ts +4 -4
- package/dist/types/notation/index.d.ts +1 -1
- package/dist/types/{outside-d6602f71.d.ts → outside-9857fc7e.d.ts} +2 -2
- package/dist/types/{parse-6d363160.d.ts → parse-9db7ee51.d.ts} +1 -1
- package/dist/types/protocol/index.d.ts +3 -3
- package/dist/types/puzzle-geometry/index.d.ts +4 -4
- package/dist/types/puzzles/index.d.ts +7 -5
- package/dist/types/scramble/index.d.ts +4 -4
- package/dist/types/search/index.d.ts +4 -4
- package/dist/types/stream/index.d.ts +4 -4
- package/dist/types/twisty/index.d.ts +8 -977
- package/package.json +9 -4
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/2x2x2.kpuzzle.json-RJHNQ246.js +0 -96
- package/dist/esm/2x2x2.kpuzzle.json-RJHNQ246.js.map +0 -7
- package/dist/esm/2x2x2.kpuzzle.svg-CYX37VBY.js +0 -52
- package/dist/esm/2x2x2.kpuzzle.svg-CYX37VBY.js.map +0 -7
- package/dist/esm/2x2x2.sgs.json-OIAKZDZZ.js +0 -122
- package/dist/esm/2x2x2.sgs.json-OIAKZDZZ.js.map +0 -7
- package/dist/esm/3x3x3-ll.kpuzzle.svg-KZNSV76X.js +0 -115
- package/dist/esm/3x3x3-ll.kpuzzle.svg-KZNSV76X.js.map +0 -7
- package/dist/esm/3x3x3.kpuzzle.svg-5U7LUACF.js.map +0 -7
- package/dist/esm/chunk-AD6PFNOU.js.map +0 -7
- package/dist/esm/chunk-CRU5TVHA.js +0 -122
- package/dist/esm/chunk-CRU5TVHA.js.map +0 -7
- package/dist/esm/chunk-CYG3DDTX.js.map +0 -7
- package/dist/esm/chunk-J7OB2GEM.js.map +0 -7
- package/dist/esm/chunk-JIBAUV55.js.map +0 -7
- package/dist/esm/chunk-MC2D6L32.js +0 -103
- package/dist/esm/chunk-MC2D6L32.js.map +0 -7
- package/dist/esm/chunk-PDVAUAMY.js.map +0 -7
- package/dist/esm/chunk-PMKVGKT4.js.map +0 -7
- package/dist/esm/chunk-QZOJPCN5.js.map +0 -7
- package/dist/esm/chunk-XQKTAWAA.js.map +0 -7
- package/dist/esm/clock.kpuzzle.json-3Q7KDODZ.js +0 -714
- package/dist/esm/clock.kpuzzle.json-3Q7KDODZ.js.map +0 -7
- package/dist/esm/clock.kpuzzle.svg-JSRDCSQF.js +0 -376
- package/dist/esm/clock.kpuzzle.svg-JSRDCSQF.js.map +0 -7
- package/dist/esm/fto-solver-5EQEC77M.js.map +0 -7
- package/dist/esm/fto.dynamic-ISSUUAOX.js.map +0 -7
- package/dist/esm/fto.kpuzzle.svg-H2RJX6UR.js +0 -102
- package/dist/esm/fto.kpuzzle.svg-H2RJX6UR.js.map +0 -7
- package/dist/esm/kilominx.kpuzzle.svg-ZLRTRUTM.js +0 -83
- package/dist/esm/kilominx.kpuzzle.svg-ZLRTRUTM.js.map +0 -7
- package/dist/esm/megaminx.sgs.json-NUXKWG2L.js +0 -16
- package/dist/esm/megaminx.sgs.json-NUXKWG2L.js.map +0 -7
- package/dist/esm/pyraminx.kpuzzle.svg-UHDZCBET.js +0 -95
- package/dist/esm/pyraminx.kpuzzle.svg-UHDZCBET.js.map +0 -7
- package/dist/esm/pyraminx.sgs.json-2BVIFZAF.js +0 -14
- package/dist/esm/pyraminx.sgs.json-2BVIFZAF.js.map +0 -7
- package/dist/esm/redi_cube-5B6YHJGL.js +0 -565
- package/dist/esm/redi_cube-5B6YHJGL.js.map +0 -7
- package/dist/esm/redi_cube.kpuzzle.json-VGO74GBL.js +0 -66
- package/dist/esm/redi_cube.kpuzzle.json-VGO74GBL.js.map +0 -7
- package/dist/esm/redi_cube.kpuzzle.svg-3DWDYE3O.js +0 -160
- package/dist/esm/redi_cube.kpuzzle.svg-3DWDYE3O.js.map +0 -7
- package/dist/esm/search-worker-js-entry-CZHIWNVF.js.map +0 -7
- package/dist/esm/skewb.sgs.json-IMR7QJQC.js +0 -16
- package/dist/esm/skewb.sgs.json-IMR7QJQC.js.map +0 -7
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-NHAYS6MD.js +0 -244
- package/dist/esm/sq1-hyperorbit.kpuzzle.json-NHAYS6MD.js.map +0 -7
- package/dist/esm/sq1-hyperorbit.kpuzzle.svg-MNHJTJ6V.js +0 -302
- package/dist/esm/sq1-hyperorbit.kpuzzle.svg-MNHJTJ6V.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-4FDHMKDI.js +0 -3768
- package/dist/esm/worker-inside-generated-string-4FDHMKDI.js.map +0 -7
- package/dist/types/PuzzleLoader-a7faf593.d.ts +0 -172
package/dist/esm/twisty/index.js
CHANGED
|
@@ -10,18 +10,19 @@ import {
|
|
|
10
10
|
TwistyPropDerived,
|
|
11
11
|
TwistyPropSource,
|
|
12
12
|
proxy3D
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-YRXW6WCD.js";
|
|
14
|
+
import "../chunk-YBDBUTYE.js";
|
|
14
15
|
import {
|
|
15
16
|
countAnimatedLeaves,
|
|
16
17
|
countMoves
|
|
17
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-TKUB3UH6.js";
|
|
18
19
|
import {
|
|
19
20
|
cube3x3x3,
|
|
20
21
|
cubeAppearance,
|
|
21
22
|
customPGPuzzleLoader,
|
|
22
23
|
puzzles
|
|
23
|
-
} from "../chunk-
|
|
24
|
-
import "../chunk-
|
|
24
|
+
} from "../chunk-IW4IMXS5.js";
|
|
25
|
+
import "../chunk-2KNZ3W2X.js";
|
|
25
26
|
import {
|
|
26
27
|
Alg,
|
|
27
28
|
AlgBuilder,
|
|
@@ -33,7 +34,7 @@ import {
|
|
|
33
34
|
direct,
|
|
34
35
|
directedGenerator,
|
|
35
36
|
experimentalAppendMove
|
|
36
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-ZNQAOJ4A.js";
|
|
37
38
|
import {
|
|
38
39
|
__privateAdd,
|
|
39
40
|
__privateGet,
|
|
@@ -1135,7 +1136,6 @@ var twisty3DVantageCSS = new CSSSource(`
|
|
|
1135
1136
|
.wrapper > canvas {
|
|
1136
1137
|
max-width: 100%;
|
|
1137
1138
|
max-height: 100%;
|
|
1138
|
-
cursor: grab;
|
|
1139
1139
|
animation: fade-in 0.25s ease-in;
|
|
1140
1140
|
}
|
|
1141
1141
|
|
|
@@ -1144,18 +1144,22 @@ var twisty3DVantageCSS = new CSSSource(`
|
|
|
1144
1144
|
to { opacity: 1; }
|
|
1145
1145
|
}
|
|
1146
1146
|
|
|
1147
|
-
.wrapper > canvas:active {
|
|
1148
|
-
cursor: grabbing;
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
1147
|
.wrapper.invisible {
|
|
1152
1148
|
opacity: 0;
|
|
1153
1149
|
}
|
|
1150
|
+
|
|
1151
|
+
.wrapper.drag-input-enabled > canvas {
|
|
1152
|
+
cursor: grab;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
.wrapper.drag-input-enabled > canvas:active {
|
|
1156
|
+
cursor: grabbing;
|
|
1157
|
+
}
|
|
1154
1158
|
`);
|
|
1155
1159
|
|
|
1156
1160
|
// src/cubing/twisty/views/3D/DragTracker.ts
|
|
1157
1161
|
var MOVEMENT_EPSILON = 0.1;
|
|
1158
|
-
var _dragInfoMap, _lazyListenersRegistered, _registerLazyListeners, registerLazyListeners_fn, _clear, clear_fn, _trackDrag, trackDrag_fn;
|
|
1162
|
+
var _dragInfoMap, _targetListeners, _lazyListenersRegistered, _registerLazyListeners, registerLazyListeners_fn, _clear, clear_fn, _trackDrag, trackDrag_fn;
|
|
1159
1163
|
var DragTracker = class extends EventTarget {
|
|
1160
1164
|
constructor(target) {
|
|
1161
1165
|
super();
|
|
@@ -1164,13 +1168,29 @@ var DragTracker = class extends EventTarget {
|
|
|
1164
1168
|
__privateAdd(this, _clear);
|
|
1165
1169
|
__privateAdd(this, _trackDrag);
|
|
1166
1170
|
__privateAdd(this, _dragInfoMap, /* @__PURE__ */ new Map());
|
|
1171
|
+
__privateAdd(this, _targetListeners, /* @__PURE__ */ new Map());
|
|
1167
1172
|
__privateAdd(this, _lazyListenersRegistered, false);
|
|
1168
|
-
|
|
1169
|
-
|
|
1173
|
+
}
|
|
1174
|
+
start() {
|
|
1175
|
+
this.addTargetListener("pointerdown", this.onPointerDown.bind(this));
|
|
1176
|
+
this.addTargetListener("contextmenu", (e) => {
|
|
1170
1177
|
e.preventDefault();
|
|
1171
1178
|
});
|
|
1172
|
-
this.
|
|
1173
|
-
this.
|
|
1179
|
+
this.addTargetListener("touchmove", (e) => e.preventDefault());
|
|
1180
|
+
this.addTargetListener("dblclick", (e) => e.preventDefault());
|
|
1181
|
+
}
|
|
1182
|
+
stop() {
|
|
1183
|
+
for (const [eventType, listener] of __privateGet(this, _targetListeners).entries()) {
|
|
1184
|
+
this.target.removeEventListener(eventType, listener);
|
|
1185
|
+
}
|
|
1186
|
+
__privateGet(this, _targetListeners).clear();
|
|
1187
|
+
__privateSet(this, _lazyListenersRegistered, false);
|
|
1188
|
+
}
|
|
1189
|
+
addTargetListener(eventType, listener) {
|
|
1190
|
+
if (!__privateGet(this, _targetListeners).has(eventType)) {
|
|
1191
|
+
this.target.addEventListener(eventType, listener);
|
|
1192
|
+
__privateGet(this, _targetListeners).set(eventType, listener);
|
|
1193
|
+
}
|
|
1174
1194
|
}
|
|
1175
1195
|
onPointerDown(e) {
|
|
1176
1196
|
__privateMethod(this, _registerLazyListeners, registerLazyListeners_fn).call(this);
|
|
@@ -1222,14 +1242,15 @@ var DragTracker = class extends EventTarget {
|
|
|
1222
1242
|
}
|
|
1223
1243
|
};
|
|
1224
1244
|
_dragInfoMap = new WeakMap();
|
|
1245
|
+
_targetListeners = new WeakMap();
|
|
1225
1246
|
_lazyListenersRegistered = new WeakMap();
|
|
1226
1247
|
_registerLazyListeners = new WeakSet();
|
|
1227
1248
|
registerLazyListeners_fn = function() {
|
|
1228
1249
|
if (__privateGet(this, _lazyListenersRegistered)) {
|
|
1229
1250
|
return;
|
|
1230
1251
|
}
|
|
1231
|
-
this.
|
|
1232
|
-
this.
|
|
1252
|
+
this.addTargetListener("pointermove", this.onPointerMove.bind(this));
|
|
1253
|
+
this.addTargetListener("pointerup", this.onPointerUp.bind(this));
|
|
1233
1254
|
__privateSet(this, _lazyListenersRegistered, true);
|
|
1234
1255
|
};
|
|
1235
1256
|
_clear = new WeakSet();
|
|
@@ -1586,7 +1607,21 @@ _cachedDragTracker = new WeakMap();
|
|
|
1586
1607
|
_dragTracker = new WeakSet();
|
|
1587
1608
|
dragTracker_fn = async function() {
|
|
1588
1609
|
return __privateGet(this, _cachedDragTracker) ?? __privateSet(this, _cachedDragTracker, (async () => {
|
|
1589
|
-
|
|
1610
|
+
const dragTracker = new DragTracker((await this.canvasInfo()).canvas);
|
|
1611
|
+
this.model?.twistySceneModel.dragInput.addFreshListener((dragInputMode) => {
|
|
1612
|
+
let dragInputEnabled = false;
|
|
1613
|
+
switch (dragInputMode) {
|
|
1614
|
+
case "auto":
|
|
1615
|
+
dragTracker.start();
|
|
1616
|
+
dragInputEnabled = true;
|
|
1617
|
+
break;
|
|
1618
|
+
case "none":
|
|
1619
|
+
dragTracker.stop();
|
|
1620
|
+
break;
|
|
1621
|
+
}
|
|
1622
|
+
this.contentWrapper.classList.toggle("drag-input-enabled", dragInputEnabled);
|
|
1623
|
+
});
|
|
1624
|
+
return dragTracker;
|
|
1590
1625
|
})());
|
|
1591
1626
|
};
|
|
1592
1627
|
_cachedCamera = new WeakMap();
|
|
@@ -1955,7 +1990,7 @@ var TwistyButtons = class extends ManagedCustomElement {
|
|
|
1955
1990
|
for (const command in buttonCommands) {
|
|
1956
1991
|
const button = new TwistyButton();
|
|
1957
1992
|
buttons[command] = button;
|
|
1958
|
-
button.addEventListener("click", () => __privateMethod(this, _onCommand, onCommand_fn).call(this, command));
|
|
1993
|
+
button.htmlButton.addEventListener("click", () => __privateMethod(this, _onCommand, onCommand_fn).call(this, command));
|
|
1959
1994
|
this.addElement(button);
|
|
1960
1995
|
}
|
|
1961
1996
|
this.buttons = buttons;
|
|
@@ -1983,8 +2018,8 @@ var TwistyButtons = class extends ManagedCustomElement {
|
|
|
1983
2018
|
for (const command in buttonCommands) {
|
|
1984
2019
|
const button = this.buttons[command];
|
|
1985
2020
|
const info = buttonAppearances[command];
|
|
1986
|
-
button.
|
|
1987
|
-
button.
|
|
2021
|
+
button.htmlButton.disabled = !info.enabled;
|
|
2022
|
+
button.htmlButton.title = info.title;
|
|
1988
2023
|
button.setIcon(info.icon);
|
|
1989
2024
|
button.hidden = !!info.hidden;
|
|
1990
2025
|
}
|
|
@@ -2029,12 +2064,12 @@ var _iconManager;
|
|
|
2029
2064
|
var TwistyButton = class extends ManagedCustomElement {
|
|
2030
2065
|
constructor() {
|
|
2031
2066
|
super(...arguments);
|
|
2032
|
-
this.
|
|
2067
|
+
this.htmlButton = document.createElement("button");
|
|
2033
2068
|
__privateAdd(this, _iconManager, new ClassListManager(this, "svg-", buttonIcons));
|
|
2034
2069
|
}
|
|
2035
2070
|
connectedCallback() {
|
|
2036
2071
|
this.addCSS(buttonCSS);
|
|
2037
|
-
this.addElement(this.
|
|
2072
|
+
this.addElement(this.htmlButton);
|
|
2038
2073
|
}
|
|
2039
2074
|
setIcon(iconName) {
|
|
2040
2075
|
__privateGet(this, _iconManager).setValue(iconName);
|
|
@@ -2456,7 +2491,7 @@ var CurrentMoveInfoProp = class extends TwistyPropDerived {
|
|
|
2456
2491
|
}
|
|
2457
2492
|
const start = inputs.indexer.indexToMoveStartTimestamp(idx);
|
|
2458
2493
|
const duration = inputs.indexer.moveDuration(idx);
|
|
2459
|
-
const fraction = (inputs.detailedTimelineInfo.timestamp - start) / duration;
|
|
2494
|
+
const fraction = duration ? (inputs.detailedTimelineInfo.timestamp - start) / duration : 0;
|
|
2460
2495
|
const end = start + duration;
|
|
2461
2496
|
const currentMove = {
|
|
2462
2497
|
move,
|
|
@@ -3610,6 +3645,13 @@ var SpriteProp = class extends TwistyPropDerived {
|
|
|
3610
3645
|
}
|
|
3611
3646
|
};
|
|
3612
3647
|
|
|
3648
|
+
// src/cubing/twisty/model/props/puzzle/state/DragInputProp.ts
|
|
3649
|
+
var DragInputProp = class extends SimpleTwistyPropSource {
|
|
3650
|
+
getDefaultValue() {
|
|
3651
|
+
return "auto";
|
|
3652
|
+
}
|
|
3653
|
+
};
|
|
3654
|
+
|
|
3613
3655
|
// src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts
|
|
3614
3656
|
var MovePressInputProp = class extends SimpleTwistyPropSource {
|
|
3615
3657
|
getDefaultValue() {
|
|
@@ -3738,6 +3780,7 @@ var TwistySceneModel = class {
|
|
|
3738
3780
|
constructor(twistyPlayerModel) {
|
|
3739
3781
|
this.twistyPlayerModel = twistyPlayerModel;
|
|
3740
3782
|
this.background = new BackgroundProp();
|
|
3783
|
+
this.dragInput = new DragInputProp();
|
|
3741
3784
|
this.foundationDisplay = new FoundationDisplayProp();
|
|
3742
3785
|
this.foundationStickerSpriteURL = new URLProp();
|
|
3743
3786
|
this.hintFacelet = new HintFaceletProp();
|
|
@@ -3891,7 +3934,6 @@ var TwistyPlayerModel = class {
|
|
|
3891
3934
|
this.twistySceneModel.stickering.get()
|
|
3892
3935
|
]);
|
|
3893
3936
|
const isExplorer = viewerLink === "experimental-twizzle-explorer";
|
|
3894
|
-
console.log({ isExplorer, viewerLink });
|
|
3895
3937
|
const url = new URL(`https://alpha.twizzle.net/${isExplorer ? "explore" : "edit"}/`);
|
|
3896
3938
|
if (!alg.alg.experimentalIsEmpty()) {
|
|
3897
3939
|
url.searchParams.set("alg", alg.alg.toString());
|
|
@@ -4094,6 +4136,12 @@ var TwistyPlayerSettable = class extends ManagedCustomElement {
|
|
|
4094
4136
|
get experimentalHintSprite() {
|
|
4095
4137
|
throw err("experimentalHintSprite");
|
|
4096
4138
|
}
|
|
4139
|
+
set experimentalDragInput(dragInputMode) {
|
|
4140
|
+
this.experimentalModel.twistySceneModel.dragInput.set(dragInputMode);
|
|
4141
|
+
}
|
|
4142
|
+
get experimentalDragInput() {
|
|
4143
|
+
throw err("experimentalDragInput");
|
|
4144
|
+
}
|
|
4097
4145
|
};
|
|
4098
4146
|
var ExperimentalGetters = class {
|
|
4099
4147
|
constructor(model) {
|
|
@@ -4129,6 +4177,7 @@ var twistyPlayerAttributeMap = {
|
|
|
4129
4177
|
"back-view": "backView",
|
|
4130
4178
|
"viewer-link": "viewerLink",
|
|
4131
4179
|
"experimental-move-press-input": "experimentalMovePressInput",
|
|
4180
|
+
"experimental-drag-input": "experimentalDragInput",
|
|
4132
4181
|
"experimental-title": "experimentalTitle",
|
|
4133
4182
|
"experimental-video-url": "experimentalVideoURL",
|
|
4134
4183
|
"experimental-competition-id": "experimentalCompetitionID",
|
|
@@ -4199,7 +4248,8 @@ var TwistyPlayer = class extends TwistyPlayerSettable {
|
|
|
4199
4248
|
flash() {
|
|
4200
4249
|
if (__privateGet(this, _flashLevel) === "auto") {
|
|
4201
4250
|
__privateGet(this, _visualizationWrapper)?.animate([{ opacity: 0.25 }, { opacity: 1 }], {
|
|
4202
|
-
duration: 250
|
|
4251
|
+
duration: 250,
|
|
4252
|
+
easing: "ease-out"
|
|
4203
4253
|
});
|
|
4204
4254
|
}
|
|
4205
4255
|
}
|
|
@@ -4628,7 +4678,6 @@ setTwistyPlayer_fn = async function(twistyPlayer) {
|
|
|
4628
4678
|
}
|
|
4629
4679
|
__privateSet(this, _twistyPlayer, twistyPlayer);
|
|
4630
4680
|
__privateGet(this, _twistyPlayer).experimentalModel.alg.addFreshListener((algWithIssues) => {
|
|
4631
|
-
console.log("setting alg from ", algWithIssues);
|
|
4632
4681
|
this.setAlg(algWithIssues.alg);
|
|
4633
4682
|
});
|
|
4634
4683
|
const sourceAlg = (await __privateGet(this, _twistyPlayer).experimentalModel.alg.get()).alg;
|
|
@@ -5183,6 +5232,7 @@ var URLParamUpdater = class {
|
|
|
5183
5232
|
this.listenToAlgProp(model.setupAlg, "setup-alg");
|
|
5184
5233
|
this.listenToStringSourceProp(model.twistySceneModel.stickering, "stickering");
|
|
5185
5234
|
this.listenToStringSourceProp(model.setupAnchor, "setup-anchor");
|
|
5235
|
+
this.listenToStringOrNullProp(model.title, "title");
|
|
5186
5236
|
this.listenToStringOrNoValueProp(model.puzzleIDRequest, "puzzle", NO_VALUE);
|
|
5187
5237
|
this.listenToStringOrNoValueProp(model.puzzleDescriptionRequest, "puzzle-description", NO_VALUE);
|
|
5188
5238
|
}
|
|
@@ -5202,6 +5252,11 @@ var URLParamUpdater = class {
|
|
|
5202
5252
|
this.setURLParam(key, s, actualDefaultString);
|
|
5203
5253
|
});
|
|
5204
5254
|
}
|
|
5255
|
+
async listenToStringOrNullProp(prop, key, defaultString = "") {
|
|
5256
|
+
prop.addFreshListener((s) => {
|
|
5257
|
+
this.setURLParam(key, s ?? defaultString, defaultString);
|
|
5258
|
+
});
|
|
5259
|
+
}
|
|
5205
5260
|
async listenToStringOrNoValueProp(prop, key, defaultString) {
|
|
5206
5261
|
prop.addFreshListener((s) => {
|
|
5207
5262
|
if (s === NO_VALUE) {
|