@rednaxela101/cubing 0.63.5
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/README.md +120 -0
- package/alg/index.d.ts +1 -0
- package/bluetooth/index.d.ts +1 -0
- package/dist/bin/chunks/chunk-22VWCGBC.js +13 -0
- package/dist/bin/chunks/chunk-22VWCGBC.js.map +7 -0
- package/dist/bin/order.js +59 -0
- package/dist/bin/order.js.map +7 -0
- package/dist/bin/puzzle-geometry-bin.js +407 -0
- package/dist/bin/puzzle-geometry-bin.js.map +7 -0
- package/dist/bin/scramble.js +188 -0
- package/dist/bin/scramble.js.map +7 -0
- package/dist/bin/svg.js +56 -0
- package/dist/bin/svg.js.map +7 -0
- package/dist/lib/cubing/alg/index.d.ts +2 -0
- package/dist/lib/cubing/alg/index.js +43 -0
- package/dist/lib/cubing/alg/index.js.map +7 -0
- package/dist/lib/cubing/bluetooth/index.d.ts +189 -0
- package/dist/lib/cubing/bluetooth/index.js +2271 -0
- package/dist/lib/cubing/bluetooth/index.js.map +7 -0
- package/dist/lib/cubing/chunks/big-puzzle-orientation-BA6QHO5C.js +68 -0
- package/dist/lib/cubing/chunks/big-puzzle-orientation-BA6QHO5C.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-2VJB4TMH.js +1774 -0
- package/dist/lib/cubing/chunks/chunk-2VJB4TMH.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-52ZXJEUO.js +665 -0
- package/dist/lib/cubing/chunks/chunk-52ZXJEUO.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-56VZAEPF.js +274 -0
- package/dist/lib/cubing/chunks/chunk-56VZAEPF.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-7GUL3OBQ.js +9 -0
- package/dist/lib/cubing/chunks/chunk-7GUL3OBQ.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-7L7BJSIM.js +21 -0
- package/dist/lib/cubing/chunks/chunk-7L7BJSIM.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-AESPJKN6.js +265 -0
- package/dist/lib/cubing/chunks/chunk-AESPJKN6.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-C2Q347XS.js +89 -0
- package/dist/lib/cubing/chunks/chunk-C2Q347XS.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-CGBMJBU3.js +1195 -0
- package/dist/lib/cubing/chunks/chunk-CGBMJBU3.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-HZQONEMD.js +249 -0
- package/dist/lib/cubing/chunks/chunk-HZQONEMD.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-IAGCVPL3.js +1069 -0
- package/dist/lib/cubing/chunks/chunk-IAGCVPL3.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-NAPITA3L.js +1 -0
- package/dist/lib/cubing/chunks/chunk-NAPITA3L.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-XPDJUSZ7.js +1876 -0
- package/dist/lib/cubing/chunks/chunk-XPDJUSZ7.js.map +7 -0
- package/dist/lib/cubing/chunks/chunk-YSI6PF35.js +619 -0
- package/dist/lib/cubing/chunks/chunk-YSI6PF35.js.map +7 -0
- package/dist/lib/cubing/chunks/inside-LG2EAKCL.js +557 -0
- package/dist/lib/cubing/chunks/inside-LG2EAKCL.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-2x2x2-JYJJXB4V.js +142 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-2x2x2-JYJJXB4V.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-3x3x3-FYXD7SIU.js +365 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-3x3x3-FYXD7SIU.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-4x4x4-AIGABOAR.js +132 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-4x4x4-AIGABOAR.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-5x5x5-JUNRX27W.js +277 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-5x5x5-JUNRX27W.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-clock-USGQTDPO.js +836 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-clock-USGQTDPO.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-fto-WJHMLYCJ.js +100 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-fto-WJHMLYCJ.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js +224 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-pyraminx-7UWX4HHI.js +93 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-pyraminx-7UWX4HHI.js.map +7 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-square1-PQEKBPFN.js +842 -0
- package/dist/lib/cubing/chunks/puzzles-dynamic-square1-PQEKBPFN.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-2x2x2-XFKQ4VJS.js +125 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-2x2x2-XFKQ4VJS.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-megaminx-ZDOOLEDW.js +1564 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-megaminx-ZDOOLEDW.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-pyraminx-W6UJWBYY.js +108 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-pyraminx-W6UJWBYY.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-skewb-FXGKV4KD.js +125 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-skewb-FXGKV4KD.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-YK6HA7BK.js +644 -0
- package/dist/lib/cubing/chunks/search-dynamic-sgs-unofficial-YK6HA7BK.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-3x3x3-DLMAGPXS.js +2549 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-3x3x3-DLMAGPXS.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-NONXQHOJ.js +2923 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-NONXQHOJ.js.map +7 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-fto-3GQ2HLSW.js +1405 -0
- package/dist/lib/cubing/chunks/search-dynamic-solve-fto-3GQ2HLSW.js.map +7 -0
- package/dist/lib/cubing/chunks/search-worker-entry.js +19 -0
- package/dist/lib/cubing/chunks/search-worker-entry.js.map +7 -0
- package/dist/lib/cubing/chunks/square1-stickerings-W2ZLZWIN.js +73 -0
- package/dist/lib/cubing/chunks/square1-stickerings-W2ZLZWIN.js.map +7 -0
- package/dist/lib/cubing/chunks/twips-2RNTWYNZ.js +433 -0
- package/dist/lib/cubing/chunks/twips-2RNTWYNZ.js.map +7 -0
- package/dist/lib/cubing/chunks/twips_wasm_bg-TJNYGA2C-23XTPLIK.js +10 -0
- package/dist/lib/cubing/chunks/twips_wasm_bg-TJNYGA2C-23XTPLIK.js.map +7 -0
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-JO6OGKOF.js +2424 -0
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-JO6OGKOF.js.map +7 -0
- package/dist/lib/cubing/index-BX6f56uo.d.ts +76 -0
- package/dist/lib/cubing/index-CcRu94bx.d.ts +2622 -0
- package/dist/lib/cubing/kpuzzle/index.d.ts +2 -0
- package/dist/lib/cubing/kpuzzle/index.js +12 -0
- package/dist/lib/cubing/kpuzzle/index.js.map +7 -0
- package/dist/lib/cubing/notation/index.d.ts +32 -0
- package/dist/lib/cubing/notation/index.js +20 -0
- package/dist/lib/cubing/notation/index.js.map +7 -0
- package/dist/lib/cubing/outside-BCzgSYQ_.d.ts +38 -0
- package/dist/lib/cubing/protocol/index.d.ts +28 -0
- package/dist/lib/cubing/protocol/index.js +20 -0
- package/dist/lib/cubing/protocol/index.js.map +7 -0
- package/dist/lib/cubing/puzzle-geometry/index.d.ts +2 -0
- package/dist/lib/cubing/puzzle-geometry/index.js +5024 -0
- package/dist/lib/cubing/puzzle-geometry/index.js.map +7 -0
- package/dist/lib/cubing/puzzles/index.d.ts +2 -0
- package/dist/lib/cubing/puzzles/index.js +23 -0
- package/dist/lib/cubing/puzzles/index.js.map +7 -0
- package/dist/lib/cubing/scramble/index.d.ts +2 -0
- package/dist/lib/cubing/scramble/index.js +16 -0
- package/dist/lib/cubing/scramble/index.js.map +7 -0
- package/dist/lib/cubing/search/index.d.ts +7 -0
- package/dist/lib/cubing/search/index.js +37 -0
- package/dist/lib/cubing/search/index.js.map +7 -0
- package/dist/lib/cubing/stream/index.d.ts +2 -0
- package/dist/lib/cubing/stream/index.js +111 -0
- package/dist/lib/cubing/stream/index.js.map +7 -0
- package/dist/lib/cubing/twisty/index.d.ts +2 -0
- package/dist/lib/cubing/twisty/index.js +6236 -0
- package/dist/lib/cubing/twisty/index.js.map +7 -0
- package/experimental-json-schema/kpuzzle/KPatternData.schema.json +34 -0
- package/experimental-json-schema/kpuzzle/KPuzzleDefinition.schema.json +97 -0
- package/experimental-json-schema/kpuzzle/KTransformationData.schema.json +27 -0
- package/kpuzzle/index.d.ts +1 -0
- package/notation/index.d.ts +1 -0
- package/package.json +146 -0
- package/protocol/index.d.ts +1 -0
- package/puzzle-geometry/index.d.ts +1 -0
- package/puzzles/index.d.ts +1 -0
- package/scramble/index.d.ts +1 -0
- package/search/index.d.ts +1 -0
- package/stream/index.d.ts +1 -0
- package/twisty/index.d.ts +1 -0
|
@@ -0,0 +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-CcRu94bx.js";
|
|
2
|
+
export { PuzzleLoader, cube2x2x2, cube3x3x3, eventInfo, puzzles, twizzleEvents, wcaEventInfo, wcaEvents };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cube2x2x2,
|
|
3
|
+
eventInfo,
|
|
4
|
+
puzzles,
|
|
5
|
+
twizzleEvents,
|
|
6
|
+
wcaEventInfo,
|
|
7
|
+
wcaEvents
|
|
8
|
+
} from "../chunks/chunk-YSI6PF35.js";
|
|
9
|
+
import {
|
|
10
|
+
cube3x3x3
|
|
11
|
+
} from "../chunks/chunk-2VJB4TMH.js";
|
|
12
|
+
import "../chunks/chunk-52ZXJEUO.js";
|
|
13
|
+
import "../chunks/chunk-XPDJUSZ7.js";
|
|
14
|
+
export {
|
|
15
|
+
cube2x2x2,
|
|
16
|
+
cube3x3x3,
|
|
17
|
+
eventInfo,
|
|
18
|
+
puzzles,
|
|
19
|
+
twizzleEvents,
|
|
20
|
+
wcaEventInfo,
|
|
21
|
+
wcaEvents
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "../chunks/chunk-NAPITA3L.js";
|
|
2
|
+
import {
|
|
3
|
+
deriveScrambleForEvent,
|
|
4
|
+
randomScrambleForEvent
|
|
5
|
+
} from "../chunks/chunk-HZQONEMD.js";
|
|
6
|
+
import "../chunks/chunk-IAGCVPL3.js";
|
|
7
|
+
import "../chunks/chunk-7GUL3OBQ.js";
|
|
8
|
+
import "../chunks/chunk-YSI6PF35.js";
|
|
9
|
+
import "../chunks/chunk-2VJB4TMH.js";
|
|
10
|
+
import "../chunks/chunk-52ZXJEUO.js";
|
|
11
|
+
import "../chunks/chunk-XPDJUSZ7.js";
|
|
12
|
+
export {
|
|
13
|
+
deriveScrambleForEvent as experimentalDeriveScrambleForEvent,
|
|
14
|
+
randomScrambleForEvent
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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-BCzgSYQ_.js";
|
|
2
|
+
|
|
3
|
+
//#region src/cubing/search/index.d.ts
|
|
4
|
+
/** @deprecated */
|
|
5
|
+
declare const experimentalSolveTwsearch: typeof solveTwips;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { experimentalSolve2x2x2, experimentalSolve3x3x3IgnoringCenters, solveTwips as experimentalSolveTwips, experimentalSolveTwsearch, random333Pattern, setSearchDebug, solveMegaminx, solvePyraminx, solveSkewb };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
experimentalSolve2x2x2,
|
|
3
|
+
experimentalSolve3x3x3IgnoringCenters,
|
|
4
|
+
setSearchDebug,
|
|
5
|
+
solveMegaminx,
|
|
6
|
+
solvePyraminx,
|
|
7
|
+
solveSkewb,
|
|
8
|
+
solveTwips
|
|
9
|
+
} from "../chunks/chunk-HZQONEMD.js";
|
|
10
|
+
import {
|
|
11
|
+
random333Pattern
|
|
12
|
+
} from "../chunks/chunk-IAGCVPL3.js";
|
|
13
|
+
import "../chunks/chunk-7GUL3OBQ.js";
|
|
14
|
+
import "../chunks/chunk-YSI6PF35.js";
|
|
15
|
+
import "../chunks/chunk-2VJB4TMH.js";
|
|
16
|
+
import "../chunks/chunk-52ZXJEUO.js";
|
|
17
|
+
import "../chunks/chunk-XPDJUSZ7.js";
|
|
18
|
+
|
|
19
|
+
// src/cubing/search/index.ts
|
|
20
|
+
var experimentalSolveTwsearch = (...args) => {
|
|
21
|
+
console.error(
|
|
22
|
+
"`experimentalSolveTwsearch(\u2026)` is deprecated. Please call `experimentalSolveTwips(\u2026)` instead."
|
|
23
|
+
);
|
|
24
|
+
return solveTwips(...args);
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
experimentalSolve2x2x2,
|
|
28
|
+
experimentalSolve3x3x3IgnoringCenters,
|
|
29
|
+
solveTwips as experimentalSolveTwips,
|
|
30
|
+
experimentalSolveTwsearch,
|
|
31
|
+
random333Pattern,
|
|
32
|
+
setSearchDebug,
|
|
33
|
+
solveMegaminx,
|
|
34
|
+
solvePyraminx,
|
|
35
|
+
solveSkewb
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cubing/search/index.ts"],
|
|
4
|
+
"sourcesContent": ["// TODO: handle centers properly.\nexport { random333Pattern } from \"./inside/solve/puzzles/3x3x3\";\nexport {\n experimentalSolve2x2x2,\n experimentalSolve3x3x3IgnoringCenters,\n setSearchDebug,\n solveMegaminx,\n solvePyraminx,\n solveSkewb,\n solveTwips as experimentalSolveTwips,\n} from \"./outside\";\n\nimport { solveTwips as experimentalSolveTwips } from \"./outside\";\n\n/** @deprecated */\nexport const experimentalSolveTwsearch: typeof experimentalSolveTwips = (\n ...args\n) => {\n console.error(\n \"`experimentalSolveTwsearch(\u2026)` is deprecated. Please call `experimentalSolveTwips(\u2026)` instead.\",\n );\n return experimentalSolveTwips(...args);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAeO,IAAM,4BAA2D,IACnE,SACA;AACH,UAAQ;AAAA,IACN;AAAA,EACF;AACA,SAAO,WAAuB,GAAG,IAAI;AACvC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +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-BX6f56uo.js";
|
|
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 };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Move,
|
|
3
|
+
QuantumMove
|
|
4
|
+
} from "../chunks/chunk-XPDJUSZ7.js";
|
|
5
|
+
|
|
6
|
+
// src/cubing/stream/twizzle/TwizzleStream.ts
|
|
7
|
+
var TwizzleStream = class extends EventTarget {
|
|
8
|
+
socket;
|
|
9
|
+
constructor(url) {
|
|
10
|
+
super();
|
|
11
|
+
this.socket = new WebSocket(url);
|
|
12
|
+
this.socket.onmessage = this.onMessage.bind(this);
|
|
13
|
+
}
|
|
14
|
+
onMessage(msg) {
|
|
15
|
+
try {
|
|
16
|
+
const json = JSON.parse(msg.data);
|
|
17
|
+
if (json.event === "move") {
|
|
18
|
+
const move = json.data.latestMove;
|
|
19
|
+
if (move.type !== "blockMove") {
|
|
20
|
+
throw new Error("Invalid move!");
|
|
21
|
+
}
|
|
22
|
+
this.dispatchEvent(
|
|
23
|
+
new CustomEvent("move", {
|
|
24
|
+
detail: {
|
|
25
|
+
move: new Move(new QuantumMove(move.family), move.amount)
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
} catch (e) {
|
|
31
|
+
console.error("Could not handle message:", e);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var TwizzleStreamServer = class {
|
|
36
|
+
async streams() {
|
|
37
|
+
return (await (await fetch("https://api.twizzle.net/v0/streams")).json()).streams;
|
|
38
|
+
}
|
|
39
|
+
connect(streamID) {
|
|
40
|
+
return new TwizzleStream(
|
|
41
|
+
`wss://api.twizzle.net/v0/streams/${streamID}/socket`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// src/cubing/stream/websocket-proxy.ts
|
|
47
|
+
var WebSocketProxySender = class {
|
|
48
|
+
websocket;
|
|
49
|
+
constructor(url) {
|
|
50
|
+
this.websocket = new WebSocket(url);
|
|
51
|
+
this.websocket.onopen = this.onopen.bind(this);
|
|
52
|
+
this.websocket.onerror = this.onerror.bind(this);
|
|
53
|
+
this.websocket.onmessage = this.onmessage.bind(this);
|
|
54
|
+
}
|
|
55
|
+
sendMoveEvent(e) {
|
|
56
|
+
e.latestAlgLeaf = e.latestAlgLeaf.toString();
|
|
57
|
+
this.sendProxyEvent({
|
|
58
|
+
event: "move",
|
|
59
|
+
data: e
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
sendOrientationEvent(e) {
|
|
63
|
+
this.sendProxyEvent({
|
|
64
|
+
event: "orientation",
|
|
65
|
+
data: e
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
sendResetEvent() {
|
|
69
|
+
this.sendProxyEvent({ event: "reset" });
|
|
70
|
+
}
|
|
71
|
+
sendProxyEvent(proxyEvent) {
|
|
72
|
+
this.websocket.send(JSON.stringify(proxyEvent));
|
|
73
|
+
}
|
|
74
|
+
onopen() {
|
|
75
|
+
console.log("Sending socket is open!");
|
|
76
|
+
}
|
|
77
|
+
onerror(error) {
|
|
78
|
+
console.error("WebSocket sender error:", error);
|
|
79
|
+
}
|
|
80
|
+
onmessage(_e) {
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var WebSocketProxyReceiver = class {
|
|
84
|
+
websocket;
|
|
85
|
+
constructor(url, socketOrigin) {
|
|
86
|
+
if (!socketOrigin) {
|
|
87
|
+
console.log("No socket origin specified. Will not attempt to connect.");
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.websocket = new WebSocket(url);
|
|
91
|
+
console.log(this.websocket);
|
|
92
|
+
this.websocket.onopen = this.onopen.bind(this);
|
|
93
|
+
this.websocket.onerror = this.onerror.bind(this);
|
|
94
|
+
this.websocket.onmessage = this.onmessage.bind(this);
|
|
95
|
+
}
|
|
96
|
+
onopen() {
|
|
97
|
+
console.log("Receiving socket is open!");
|
|
98
|
+
}
|
|
99
|
+
onerror(error) {
|
|
100
|
+
console.error("WebSocket receiver error:", error);
|
|
101
|
+
}
|
|
102
|
+
onmessage(e) {
|
|
103
|
+
this.onProxyEvent(JSON.parse(e.data));
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
export {
|
|
107
|
+
TwizzleStreamServer as ExperimentalTwizzleStreamServer,
|
|
108
|
+
WebSocketProxyReceiver as ExperimentalWebSocketProxyReceiver,
|
|
109
|
+
WebSocketProxySender as ExperimentalWebSocketProxySender
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cubing/stream/twizzle/TwizzleStream.ts", "../../../../src/cubing/stream/websocket-proxy.ts"],
|
|
4
|
+
"sourcesContent": ["import { Move, QuantumMove } from \"../../alg\";\nimport type { StreamMessageEvent } from \"./stream-types\";\n\nclass TwizzleStream extends EventTarget {\n socket: WebSocket;\n constructor(url: string) {\n super();\n this.socket = new WebSocket(url);\n this.socket.onmessage = this.onMessage.bind(this); // TODO: Can we \"add a listener instead\"?\n }\n\n onMessage(msg: MessageEvent): void {\n try {\n const json: StreamMessageEvent = JSON.parse(msg.data);\n if (json.event === \"move\") {\n const move = json.data.latestMove;\n if (move.type !== \"blockMove\") {\n throw new Error(\"Invalid move!\");\n }\n this.dispatchEvent(\n new CustomEvent(\"move\", {\n detail: {\n move: new Move(new QuantumMove(move.family), move.amount),\n },\n }),\n );\n }\n } catch (e) {\n console.error(\"Could not handle message:\", e);\n }\n }\n}\n\ntype StreamsField = {\n streamID: string;\n senders: { name: string; twizzleUserID: string; wcaID: string | null }[];\n}[];\n\nexport class TwizzleStreamServer {\n async streams(): Promise<StreamsField> {\n return (\n (await (await fetch(\"https://api.twizzle.net/v0/streams\")).json()) as {\n streams: StreamsField;\n }\n ).streams;\n }\n\n connect(streamID: string): TwizzleStream {\n return new TwizzleStream(\n `wss://api.twizzle.net/v0/streams/${streamID}/socket`,\n );\n }\n}\n", "import type { AlgLeafEvent, OrientationEvent, ProxyEvent } from \"./events\";\n\nexport class WebSocketProxySender {\n protected websocket: WebSocket;\n constructor(url: string) {\n this.websocket = new WebSocket(url);\n this.websocket.onopen = this.onopen.bind(this);\n this.websocket.onerror = this.onerror.bind(this);\n this.websocket.onmessage = this.onmessage.bind(this);\n }\n\n public sendMoveEvent(e: AlgLeafEvent): void {\n (e as any).latestAlgLeaf = e.latestAlgLeaf.toString(); // TODO\n this.sendProxyEvent({\n event: \"move\",\n data: e,\n });\n }\n\n public sendOrientationEvent(e: OrientationEvent): void {\n this.sendProxyEvent({\n event: \"orientation\",\n data: e,\n });\n }\n\n public sendResetEvent(): void {\n this.sendProxyEvent({ event: \"reset\" });\n }\n\n protected sendProxyEvent(proxyEvent: ProxyEvent): void {\n this.websocket.send(JSON.stringify(proxyEvent));\n }\n\n protected onopen(): void {\n console.log(\"Sending socket is open!\");\n }\n\n protected onerror(error: any): void {\n console.error(\"WebSocket sender error:\", error);\n }\n\n protected onmessage(_e: MessageEvent): void {}\n}\n\nexport abstract class WebSocketProxyReceiver {\n protected websocket?: WebSocket;\n constructor(url: string, socketOrigin?: string) {\n if (!socketOrigin) {\n console.log(\"No socket origin specified. Will not attempt to connect.\");\n return;\n }\n this.websocket = new WebSocket(url);\n console.log(this.websocket);\n this.websocket.onopen = this.onopen.bind(this);\n this.websocket.onerror = this.onerror.bind(this);\n this.websocket.onmessage = this.onmessage.bind(this);\n }\n\n protected onopen(): void {\n console.log(\"Receiving socket is open!\");\n }\n\n protected onerror(error: any): void {\n console.error(\"WebSocket receiver error:\", error);\n }\n\n protected onmessage(e: MessageEvent): void {\n this.onProxyEvent(JSON.parse(e.data));\n }\n\n abstract onProxyEvent(e: ProxyEvent): void;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAGA,IAAM,gBAAN,cAA4B,YAAY;AAAA,EACtC;AAAA,EACA,YAAY,KAAa;AACvB,UAAM;AACN,SAAK,SAAS,IAAI,UAAU,GAAG;AAC/B,SAAK,OAAO,YAAY,KAAK,UAAU,KAAK,IAAI;AAAA,EAClD;AAAA,EAEA,UAAU,KAAyB;AACjC,QAAI;AACF,YAAM,OAA2B,KAAK,MAAM,IAAI,IAAI;AACpD,UAAI,KAAK,UAAU,QAAQ;AACzB,cAAM,OAAO,KAAK,KAAK;AACvB,YAAI,KAAK,SAAS,aAAa;AAC7B,gBAAM,IAAI,MAAM,eAAe;AAAA,QACjC;AACA,aAAK;AAAA,UACH,IAAI,YAAY,QAAQ;AAAA,YACtB,QAAQ;AAAA,cACN,MAAM,IAAI,KAAK,IAAI,YAAY,KAAK,MAAM,GAAG,KAAK,MAAM;AAAA,YAC1D;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,SAAS,GAAG;AACV,cAAQ,MAAM,6BAA6B,CAAC;AAAA,IAC9C;AAAA,EACF;AACF;AAOO,IAAM,sBAAN,MAA0B;AAAA,EAC/B,MAAM,UAAiC;AACrC,YACG,OAAO,MAAM,MAAM,oCAAoC,GAAG,KAAK,GAGhE;AAAA,EACJ;AAAA,EAEA,QAAQ,UAAiC;AACvC,WAAO,IAAI;AAAA,MACT,oCAAoC,QAAQ;AAAA,IAC9C;AAAA,EACF;AACF;;;AClDO,IAAM,uBAAN,MAA2B;AAAA,EACtB;AAAA,EACV,YAAY,KAAa;AACvB,SAAK,YAAY,IAAI,UAAU,GAAG;AAClC,SAAK,UAAU,SAAS,KAAK,OAAO,KAAK,IAAI;AAC7C,SAAK,UAAU,UAAU,KAAK,QAAQ,KAAK,IAAI;AAC/C,SAAK,UAAU,YAAY,KAAK,UAAU,KAAK,IAAI;AAAA,EACrD;AAAA,EAEO,cAAc,GAAuB;AAC1C,IAAC,EAAU,gBAAgB,EAAE,cAAc,SAAS;AACpD,SAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEO,qBAAqB,GAA2B;AACrD,SAAK,eAAe;AAAA,MAClB,OAAO;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEO,iBAAuB;AAC5B,SAAK,eAAe,EAAE,OAAO,QAAQ,CAAC;AAAA,EACxC;AAAA,EAEU,eAAe,YAA8B;AACrD,SAAK,UAAU,KAAK,KAAK,UAAU,UAAU,CAAC;AAAA,EAChD;AAAA,EAEU,SAAe;AACvB,YAAQ,IAAI,yBAAyB;AAAA,EACvC;AAAA,EAEU,QAAQ,OAAkB;AAClC,YAAQ,MAAM,2BAA2B,KAAK;AAAA,EAChD;AAAA,EAEU,UAAU,IAAwB;AAAA,EAAC;AAC/C;AAEO,IAAe,yBAAf,MAAsC;AAAA,EACjC;AAAA,EACV,YAAY,KAAa,cAAuB;AAC9C,QAAI,CAAC,cAAc;AACjB,cAAQ,IAAI,0DAA0D;AACtE;AAAA,IACF;AACA,SAAK,YAAY,IAAI,UAAU,GAAG;AAClC,YAAQ,IAAI,KAAK,SAAS;AAC1B,SAAK,UAAU,SAAS,KAAK,OAAO,KAAK,IAAI;AAC7C,SAAK,UAAU,UAAU,KAAK,QAAQ,KAAK,IAAI;AAC/C,SAAK,UAAU,YAAY,KAAK,UAAU,KAAK,IAAI;AAAA,EACrD;AAAA,EAEU,SAAe;AACvB,YAAQ,IAAI,2BAA2B;AAAA,EACzC;AAAA,EAEU,QAAQ,OAAkB;AAClC,YAAQ,MAAM,6BAA6B,KAAK;AAAA,EAClD;AAAA,EAEU,UAAU,GAAuB;AACzC,SAAK,aAAa,KAAK,MAAM,EAAE,IAAI,CAAC;AAAA,EACtC;AAGF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +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-CcRu94bx.js";
|
|
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 };
|