cubing 0.24.0-pre3 → 0.24.1
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/{2x2x2.sgs.json-MBIRIUNC.js → 2x2x2.sgs.json-2QRQG2UF.js} +3 -3
- package/dist/esm/{2x2x2.sgs.json-MBIRIUNC.js.map → 2x2x2.sgs.json-2QRQG2UF.js.map} +0 -0
- package/dist/esm/{3d-dynamic-inside-THECRAH6.js → 3d-dynamic-inside-EQIKTTYZ.js} +4 -4
- package/dist/esm/{3d-dynamic-inside-THECRAH6.js.map → 3d-dynamic-inside-EQIKTTYZ.js.map} +0 -0
- package/dist/esm/bluetooth/index.js +3 -3
- package/dist/esm/{chunk-JAGBESDG.js → chunk-37CDJ45V.js} +3 -3
- package/dist/esm/chunk-37CDJ45V.js.map +7 -0
- package/dist/esm/{chunk-FK43AAW3.js → chunk-42DBDQQX.js} +2 -2
- package/dist/esm/{chunk-FK43AAW3.js.map → chunk-42DBDQQX.js.map} +0 -0
- package/dist/esm/{chunk-DLOXZJ66.js → chunk-B27E6KTE.js} +71 -63
- package/dist/esm/chunk-B27E6KTE.js.map +7 -0
- package/dist/esm/{chunk-WODHUD4F.js → chunk-B6IDD5MD.js} +2 -2
- package/dist/esm/{chunk-WODHUD4F.js.map → chunk-B6IDD5MD.js.map} +0 -0
- package/dist/esm/{chunk-42SLLJYT.js → chunk-BBEJTW6Z.js} +2 -2
- package/dist/esm/{chunk-42SLLJYT.js.map → chunk-BBEJTW6Z.js.map} +0 -0
- package/dist/esm/{chunk-HF5CTTHX.js → chunk-GBIDMAJS.js} +2 -2
- package/dist/esm/{chunk-HF5CTTHX.js.map → chunk-GBIDMAJS.js.map} +0 -0
- package/dist/esm/{chunk-ZRNC52YW.js → chunk-LR6VCMD2.js} +2 -2
- package/dist/esm/{chunk-ZRNC52YW.js.map → chunk-LR6VCMD2.js.map} +0 -0
- package/dist/esm/{chunk-5LJOQJWE.js → chunk-SLUMTYHP.js} +118 -92
- package/dist/esm/chunk-SLUMTYHP.js.map +7 -0
- package/dist/esm/{chunk-XDVGMF6J.js → chunk-YVHK2LDM.js} +3 -3
- package/dist/esm/{chunk-XDVGMF6J.js.map → chunk-YVHK2LDM.js.map} +0 -0
- package/dist/esm/{entry-EUJSLKH7.js → entry-UARUM747.js} +14 -14
- package/dist/esm/{entry-EUJSLKH7.js.map → entry-UARUM747.js.map} +0 -0
- package/dist/esm/{fto.sgs.json-57IZYBDK.js → fto.sgs.json-DKPRQRDL.js} +3 -3
- package/dist/esm/{fto.sgs.json-57IZYBDK.js.map → fto.sgs.json-DKPRQRDL.js.map} +0 -0
- package/dist/esm/kpuzzle/index.js +3 -1
- package/dist/esm/{megaminx.sgs.json-EMTPD7NM.js → megaminx.sgs.json-3UELYHNZ.js} +3 -3
- package/dist/esm/{megaminx.sgs.json-EMTPD7NM.js.map → megaminx.sgs.json-3UELYHNZ.js.map} +0 -0
- package/dist/esm/{module-entry-SOBSVDFF.js → module-entry-7NBG44KF.js} +2 -2
- package/dist/esm/{module-entry-SOBSVDFF.js.map → module-entry-7NBG44KF.js.map} +0 -0
- package/dist/esm/protocol/index.js +2 -2
- package/dist/esm/puzzles/index.js +2 -2
- package/dist/esm/{pyraminx.sgs.json-3AQMZVNC.js → pyraminx.sgs.json-KGPI57MS.js} +4 -4
- package/dist/esm/{pyraminx.sgs.json-3AQMZVNC.js.map → pyraminx.sgs.json-KGPI57MS.js.map} +0 -0
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/{scramble_444-FRS754UI.js → scramble_444-M3Q3OZN3.js} +6 -5
- package/dist/esm/scramble_444-M3Q3OZN3.js.map +7 -0
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/{skewb.sgs.json-LEHGU6WW.js → skewb.sgs.json-QVGBEYZV.js} +3 -3
- package/dist/esm/{skewb.sgs.json-LEHGU6WW.js.map → skewb.sgs.json-QVGBEYZV.js.map} +0 -0
- package/dist/esm/twisty/index.js +189 -16
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/{worker-inside-generated-string-FB53K5T3.js → worker-inside-generated-string-6QDQTUCQ.js} +23 -23
- package/dist/esm/worker-inside-generated-string-6QDQTUCQ.js.map +7 -0
- package/dist/types/kpuzzle/KTransformation.d.ts +2 -0
- package/dist/types/kpuzzle/index.d.ts +2 -2
- package/dist/types/puzzles/async/async-pg3d.d.ts +23 -6
- package/dist/types/puzzles/async/lazy-cached.d.ts +1 -0
- package/dist/types/puzzles/implementations/fto/index.d.ts +11 -2
- package/dist/types/puzzles/implementations/megaminx/index.d.ts +11 -2
- package/dist/types/puzzles/implementations/pyraminx/index.d.ts +7 -2
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
- package/dist/types/twisty/index.d.ts +1 -0
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +1 -0
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +1 -0
- package/dist/types/twisty/views/twizzle/TwizzleLink.css.d.ts +2 -0
- package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +9 -0
- package/dist/types/twisty/views/twizzle/url-params.d.ts +18 -0
- package/package.json +2 -1
- package/dist/esm/chunk-5LJOQJWE.js.map +0 -7
- package/dist/esm/chunk-DLOXZJ66.js.map +0 -7
- package/dist/esm/chunk-JAGBESDG.js.map +0 -7
- package/dist/esm/scramble_444-FRS754UI.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-FB53K5T3.js.map +0 -7
- package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +0 -2
package/dist/esm/twisty/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
TwistyPropDerived,
|
|
11
11
|
TwistyPropSource,
|
|
12
12
|
proxy3D
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-42DBDQQX.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-
|
|
24
|
-
import "../chunk-
|
|
23
|
+
} from "../chunk-SLUMTYHP.js";
|
|
24
|
+
import "../chunk-B27E6KTE.js";
|
|
25
25
|
import {
|
|
26
26
|
Alg,
|
|
27
27
|
AlgBuilder,
|
|
@@ -1656,11 +1656,14 @@ var Twisty3DSceneWrapper = class extends ManagedCustomElement {
|
|
|
1656
1656
|
}
|
|
1657
1657
|
async setCurrentTwisty3DPuzzleWrapper(scene, twisty3DPuzzleWrapper) {
|
|
1658
1658
|
const old = __privateGet(this, _currentTwisty3DPuzzleWrapper);
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1659
|
+
try {
|
|
1660
|
+
__privateSet(this, _currentTwisty3DPuzzleWrapper, twisty3DPuzzleWrapper);
|
|
1661
|
+
old?.disconnect();
|
|
1662
|
+
scene.add(await twisty3DPuzzleWrapper.twisty3DPuzzle());
|
|
1663
|
+
} finally {
|
|
1664
|
+
if (old) {
|
|
1665
|
+
scene.remove(await old.twisty3DPuzzle());
|
|
1666
|
+
}
|
|
1664
1667
|
}
|
|
1665
1668
|
}
|
|
1666
1669
|
async onPuzzle(inputs) {
|
|
@@ -2051,12 +2054,14 @@ input {
|
|
|
2051
2054
|
var SLOW_DOWN_SCRUBBING = false;
|
|
2052
2055
|
var isMouseDown = false;
|
|
2053
2056
|
globalSafeDocument?.addEventListener("mousedown", function(event) {
|
|
2054
|
-
if (event.which)
|
|
2057
|
+
if (event.which) {
|
|
2055
2058
|
isMouseDown = true;
|
|
2059
|
+
}
|
|
2056
2060
|
}, true);
|
|
2057
2061
|
globalSafeDocument?.addEventListener("mouseup", function(event) {
|
|
2058
|
-
if (event.which)
|
|
2062
|
+
if (event.which) {
|
|
2059
2063
|
isMouseDown = false;
|
|
2064
|
+
}
|
|
2060
2065
|
}, true);
|
|
2061
2066
|
var y = 0;
|
|
2062
2067
|
var clickNum = 0;
|
|
@@ -2776,8 +2781,9 @@ var LocalSimulMoves = class extends TraversalUp {
|
|
|
2776
2781
|
return [];
|
|
2777
2782
|
}
|
|
2778
2783
|
for (const unit of alg.units()) {
|
|
2779
|
-
if (!unit.is(Move))
|
|
2784
|
+
if (!unit.is(Move)) {
|
|
2780
2785
|
return this.traverseAlg(alg);
|
|
2786
|
+
}
|
|
2781
2787
|
}
|
|
2782
2788
|
const moves = Array.from(alg.units());
|
|
2783
2789
|
let maxSimulDur = defaultDurationForAmount(moves[0].amount);
|
|
@@ -3433,10 +3439,13 @@ var IndexerConstructorProp = class extends TwistyPropDerived {
|
|
|
3433
3439
|
};
|
|
3434
3440
|
|
|
3435
3441
|
// src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts
|
|
3442
|
+
var validate = true;
|
|
3436
3443
|
var PuzzleAlgProp = class extends TwistyPropDerived {
|
|
3437
3444
|
async derive(inputs) {
|
|
3438
3445
|
try {
|
|
3439
|
-
|
|
3446
|
+
if (validate) {
|
|
3447
|
+
inputs.kpuzzle.algToTransformation(inputs.algWithIssues.alg);
|
|
3448
|
+
}
|
|
3440
3449
|
return inputs.algWithIssues;
|
|
3441
3450
|
} catch (e) {
|
|
3442
3451
|
return {
|
|
@@ -3816,14 +3825,26 @@ var TwistyPlayerModel = class {
|
|
|
3816
3825
|
});
|
|
3817
3826
|
}
|
|
3818
3827
|
async twizzleLink() {
|
|
3819
|
-
const
|
|
3820
|
-
|
|
3828
|
+
const [
|
|
3829
|
+
viewerLink,
|
|
3830
|
+
puzzleID,
|
|
3831
|
+
puzzleDescription,
|
|
3832
|
+
alg,
|
|
3833
|
+
setup,
|
|
3834
|
+
anchor,
|
|
3835
|
+
experimentalStickering
|
|
3836
|
+
] = await Promise.all([
|
|
3837
|
+
this.viewerLinkProp.get(),
|
|
3821
3838
|
this.puzzleIDProp.get(),
|
|
3839
|
+
this.puzzleDescriptionRequestProp.get(),
|
|
3822
3840
|
this.algProp.get(),
|
|
3823
3841
|
this.setupProp.get(),
|
|
3824
3842
|
this.setupAnchorProp.get(),
|
|
3825
3843
|
this.stickeringProp.get()
|
|
3826
3844
|
]);
|
|
3845
|
+
const isExplorer = viewerLink === "experimental-twizzle-explorer";
|
|
3846
|
+
console.log({ isExplorer, viewerLink });
|
|
3847
|
+
const url = new URL(`https://alpha.twizzle.net/${isExplorer ? "explore" : "edit"}/`);
|
|
3827
3848
|
if (!alg.alg.experimentalIsEmpty()) {
|
|
3828
3849
|
url.searchParams.set("alg", alg.alg.toString());
|
|
3829
3850
|
}
|
|
@@ -3836,8 +3857,10 @@ var TwistyPlayerModel = class {
|
|
|
3836
3857
|
if (experimentalStickering !== "full") {
|
|
3837
3858
|
url.searchParams.set("experimental-stickering", experimentalStickering);
|
|
3838
3859
|
}
|
|
3839
|
-
if (
|
|
3840
|
-
url.searchParams.set("puzzle",
|
|
3860
|
+
if (isExplorer && puzzleDescription !== NO_VALUE) {
|
|
3861
|
+
url.searchParams.set("puzzle-description", puzzleDescription);
|
|
3862
|
+
} else if (puzzleID !== "3x3x3") {
|
|
3863
|
+
url.searchParams.set("puzzle", puzzleID);
|
|
3841
3864
|
}
|
|
3842
3865
|
return url.toString();
|
|
3843
3866
|
}
|
|
@@ -5009,6 +5032,155 @@ padSuffix_fn = function(s) {
|
|
|
5009
5032
|
};
|
|
5010
5033
|
_highlightedLeaf = new WeakMap();
|
|
5011
5034
|
customElementsShim.define("twisty-alg-editor", TwistyAlgEditor);
|
|
5035
|
+
|
|
5036
|
+
// src/cubing/twisty/views/twizzle/TwizzleLink.css.ts
|
|
5037
|
+
var twizzleLinkCSS = new CSSSource(`
|
|
5038
|
+
.wrapper {
|
|
5039
|
+
background: rgb(255, 245, 235);
|
|
5040
|
+
display: grid;
|
|
5041
|
+
grid-template-columns: 1fr;
|
|
5042
|
+
border: 1px solid rgba(0, 0, 0, 0.25);
|
|
5043
|
+
}
|
|
5044
|
+
|
|
5045
|
+
.setup-alg, twisty-alg-viewer {
|
|
5046
|
+
padding: 0.5em 1em;
|
|
5047
|
+
}
|
|
5048
|
+
|
|
5049
|
+
.heading {
|
|
5050
|
+
background: rgba(255, 230, 210, 1);
|
|
5051
|
+
font-weight: bold;
|
|
5052
|
+
padding: 0.25em 0.5em;
|
|
5053
|
+
}
|
|
5054
|
+
|
|
5055
|
+
twisty-player {
|
|
5056
|
+
width: 100%;
|
|
5057
|
+
}
|
|
5058
|
+
|
|
5059
|
+
twisty-player + .heading {
|
|
5060
|
+
padding-top: 0.5em;
|
|
5061
|
+
}
|
|
5062
|
+
`);
|
|
5063
|
+
|
|
5064
|
+
// src/cubing/twisty/views/twizzle/url-params.ts
|
|
5065
|
+
function updateURL(url) {
|
|
5066
|
+
window.history.replaceState("", "", url.toString());
|
|
5067
|
+
}
|
|
5068
|
+
var _prefix;
|
|
5069
|
+
var URLParamUpdater = class {
|
|
5070
|
+
constructor(model, options) {
|
|
5071
|
+
__privateAdd(this, _prefix, void 0);
|
|
5072
|
+
__privateSet(this, _prefix, options?.prefix ?? "");
|
|
5073
|
+
this.listenToAlgProp(model.algProp, "alg");
|
|
5074
|
+
this.listenToAlgProp(model.setupProp, "setup-alg");
|
|
5075
|
+
this.listenToStringSourceProp(model.stickeringProp, "stickering");
|
|
5076
|
+
this.listenToStringSourceProp(model.setupAnchorProp, "setup-anchor");
|
|
5077
|
+
this.listenToStringOrNoValueProp(model.puzzleIDRequestProp, "puzzle", NO_VALUE);
|
|
5078
|
+
this.listenToStringOrNoValueProp(model.puzzleDescriptionRequestProp, "puzzle-description", NO_VALUE);
|
|
5079
|
+
}
|
|
5080
|
+
setURLParam(unprefixedKey, value, defaultString) {
|
|
5081
|
+
const prefixedKey = __privateGet(this, _prefix) + unprefixedKey;
|
|
5082
|
+
const url = new URL(location.href);
|
|
5083
|
+
if (value === defaultString) {
|
|
5084
|
+
url.searchParams.delete(prefixedKey);
|
|
5085
|
+
} else {
|
|
5086
|
+
url.searchParams.set(prefixedKey, value);
|
|
5087
|
+
}
|
|
5088
|
+
updateURL(url);
|
|
5089
|
+
}
|
|
5090
|
+
async listenToStringSourceProp(prop, key, defaultString) {
|
|
5091
|
+
const actualDefaultString = defaultString ?? await prop.getDefaultValue();
|
|
5092
|
+
prop.addFreshListener((s) => {
|
|
5093
|
+
this.setURLParam(key, s, actualDefaultString);
|
|
5094
|
+
});
|
|
5095
|
+
}
|
|
5096
|
+
async listenToStringOrNoValueProp(prop, key, defaultString) {
|
|
5097
|
+
prop.addFreshListener((s) => {
|
|
5098
|
+
if (s === NO_VALUE) {
|
|
5099
|
+
s = defaultString;
|
|
5100
|
+
}
|
|
5101
|
+
if (s === NO_VALUE) {
|
|
5102
|
+
this.setURLParam(key, "", "");
|
|
5103
|
+
} else {
|
|
5104
|
+
this.setURLParam(key, s, "");
|
|
5105
|
+
}
|
|
5106
|
+
});
|
|
5107
|
+
}
|
|
5108
|
+
listenToAlgProp(prop, key) {
|
|
5109
|
+
prop.addFreshListener((algWithIssues) => {
|
|
5110
|
+
this.setURLParam(key, algWithIssues.alg.toString(), "");
|
|
5111
|
+
});
|
|
5112
|
+
}
|
|
5113
|
+
};
|
|
5114
|
+
_prefix = new WeakMap();
|
|
5115
|
+
function getConfigFromURL(prefix = "", url = location.href) {
|
|
5116
|
+
const paramMapping = {
|
|
5117
|
+
"alg": "alg",
|
|
5118
|
+
"setup-alg": "experimental-setup-alg",
|
|
5119
|
+
"setup-anchor": "experimental-setup-anchor",
|
|
5120
|
+
"puzzle": "puzzle",
|
|
5121
|
+
"stickering": "experimental-stickering",
|
|
5122
|
+
"puzzle-description": "experimental-puzzle-description"
|
|
5123
|
+
};
|
|
5124
|
+
const params = new URL(url).searchParams;
|
|
5125
|
+
const config = {};
|
|
5126
|
+
for (const [ourParam, twistyPlayerParam] of Object.entries(paramMapping)) {
|
|
5127
|
+
const paramValue = params.get(prefix + ourParam);
|
|
5128
|
+
if (paramValue !== null) {
|
|
5129
|
+
const configKey = twistyPlayerAttributeMap[twistyPlayerParam];
|
|
5130
|
+
config[configKey] = paramValue;
|
|
5131
|
+
}
|
|
5132
|
+
}
|
|
5133
|
+
return config;
|
|
5134
|
+
}
|
|
5135
|
+
|
|
5136
|
+
// src/cubing/twisty/views/twizzle/TwizzleLink.ts
|
|
5137
|
+
var TwizzleLink = class extends ManagedCustomElement {
|
|
5138
|
+
constructor() {
|
|
5139
|
+
super({ mode: "open" });
|
|
5140
|
+
this.twistyPlayer = null;
|
|
5141
|
+
this.a = null;
|
|
5142
|
+
}
|
|
5143
|
+
async connectedCallback() {
|
|
5144
|
+
this.addCSS(twizzleLinkCSS);
|
|
5145
|
+
this.a = this.querySelector("a");
|
|
5146
|
+
if (!this.a) {
|
|
5147
|
+
return;
|
|
5148
|
+
}
|
|
5149
|
+
const config = getConfigFromURL("", this.a.href);
|
|
5150
|
+
const href = this.a?.href;
|
|
5151
|
+
const { hostname, pathname } = new URL(href);
|
|
5152
|
+
if (hostname !== "alpha.twizzle.net") {
|
|
5153
|
+
return;
|
|
5154
|
+
}
|
|
5155
|
+
if (["/edit/", "/explore/"].includes(pathname)) {
|
|
5156
|
+
const isExplorer = pathname === "/explore/";
|
|
5157
|
+
if (config.puzzle && !(config.puzzle in puzzles)) {
|
|
5158
|
+
const puzzleDescription = (await import("../puzzle-geometry/index.js")).getPuzzleDescriptionString(config.puzzle);
|
|
5159
|
+
delete config.puzzle;
|
|
5160
|
+
config.experimentalPuzzleDescription = puzzleDescription;
|
|
5161
|
+
}
|
|
5162
|
+
this.twistyPlayer = this.addElement(new TwistyPlayer({
|
|
5163
|
+
...config,
|
|
5164
|
+
viewerLink: isExplorer ? "experimental-twizzle-explorer" : "auto"
|
|
5165
|
+
}));
|
|
5166
|
+
if (config.experimentalSetupAlg) {
|
|
5167
|
+
this.addHeading("Setup");
|
|
5168
|
+
const setupAlgDiv = this.addElement(document.createElement("div"));
|
|
5169
|
+
setupAlgDiv.classList.add("setup-alg");
|
|
5170
|
+
setupAlgDiv.textContent = new Alg(config.experimentalSetupAlg).toString();
|
|
5171
|
+
}
|
|
5172
|
+
this.addHeading("Moves");
|
|
5173
|
+
const twistyAlgViewer = this.addElement(new TwistyAlgViewer({ twistyPlayer: this.twistyPlayer }));
|
|
5174
|
+
twistyAlgViewer.part.add("twisty-alg-viewer");
|
|
5175
|
+
}
|
|
5176
|
+
}
|
|
5177
|
+
addHeading(text) {
|
|
5178
|
+
const headingDiv = this.addElement(document.createElement("div"));
|
|
5179
|
+
headingDiv.classList.add("heading");
|
|
5180
|
+
headingDiv.textContent = text;
|
|
5181
|
+
}
|
|
5182
|
+
};
|
|
5183
|
+
customElementsShim.define("twizzle-link", TwizzleLink);
|
|
5012
5184
|
export {
|
|
5013
5185
|
NO_VALUE as EXPERIMENTAL_PROP_NO_VALUE,
|
|
5014
5186
|
KPuzzleSVGWrapper as ExperimentalKPuzzleSVGWrapper,
|
|
@@ -5017,6 +5189,7 @@ export {
|
|
|
5017
5189
|
TwistyAlgEditor,
|
|
5018
5190
|
TwistyAlgViewer,
|
|
5019
5191
|
TwistyPlayer,
|
|
5192
|
+
TwizzleLink,
|
|
5020
5193
|
backViewLayouts,
|
|
5021
5194
|
debugShowRenderStats as experimentalDebugShowRenderStats,
|
|
5022
5195
|
experimentalForceNewRendererSharing
|