cubing 0.26.5 → 0.26.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.
package/dist/esm/twisty/index.js
CHANGED
|
@@ -42,11 +42,6 @@ import {
|
|
|
42
42
|
__privateSet
|
|
43
43
|
} from "../chunk-MGJA5U5O.js";
|
|
44
44
|
|
|
45
|
-
// src/cubing/twisty/controllers/AnimationTypes.ts
|
|
46
|
-
function directionScalar(direction) {
|
|
47
|
-
return direction;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
45
|
// src/cubing/twisty/controllers/RenderScheduler.ts
|
|
51
46
|
var RenderScheduler = class {
|
|
52
47
|
constructor(callback) {
|
|
@@ -54,6 +49,9 @@ var RenderScheduler = class {
|
|
|
54
49
|
this.animFrameID = null;
|
|
55
50
|
this.animFrame = this.animFrameWrapper.bind(this);
|
|
56
51
|
}
|
|
52
|
+
requestIsPending() {
|
|
53
|
+
return !!this.animFrameID;
|
|
54
|
+
}
|
|
57
55
|
requestAnimFrame() {
|
|
58
56
|
if (!this.animFrameID) {
|
|
59
57
|
this.animFrameID = requestAnimationFrame(this.animFrame);
|
|
@@ -71,6 +69,11 @@ var RenderScheduler = class {
|
|
|
71
69
|
}
|
|
72
70
|
};
|
|
73
71
|
|
|
72
|
+
// src/cubing/twisty/controllers/AnimationTypes.ts
|
|
73
|
+
function directionScalar(direction) {
|
|
74
|
+
return direction;
|
|
75
|
+
}
|
|
76
|
+
|
|
74
77
|
// src/cubing/twisty/model/helpers.ts
|
|
75
78
|
function arrayEquals(a, b) {
|
|
76
79
|
if (a === b) {
|
|
@@ -879,8 +882,9 @@ _resolve = new WeakMap();
|
|
|
879
882
|
|
|
880
883
|
// src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts
|
|
881
884
|
var _freshListenerManager4, _cachedTwisty3DPuzzle;
|
|
882
|
-
var Twisty3DPuzzleWrapper = class {
|
|
885
|
+
var Twisty3DPuzzleWrapper = class extends EventTarget {
|
|
883
886
|
constructor(model, schedulable, puzzleLoader, visualizationStrategy) {
|
|
887
|
+
super();
|
|
884
888
|
this.model = model;
|
|
885
889
|
this.schedulable = schedulable;
|
|
886
890
|
this.puzzleLoader = puzzleLoader;
|
|
@@ -943,6 +947,7 @@ var Twisty3DPuzzleWrapper = class {
|
|
|
943
947
|
}
|
|
944
948
|
scheduleRender() {
|
|
945
949
|
this.schedulable.scheduleRender();
|
|
950
|
+
this.dispatchEvent(new CustomEvent("render-scheduled"));
|
|
946
951
|
}
|
|
947
952
|
async twisty3DPuzzle() {
|
|
948
953
|
return __privateGet(this, _cachedTwisty3DPuzzle) ?? __privateSet(this, _cachedTwisty3DPuzzle, (async () => {
|
|
@@ -4286,11 +4291,26 @@ var TwistyPlayer = class extends TwistyPlayerSettable {
|
|
|
4286
4291
|
}
|
|
4287
4292
|
return canvases;
|
|
4288
4293
|
}
|
|
4289
|
-
async
|
|
4294
|
+
async experimentalCurrentThreeJSPuzzleObject(puzzleChangeCallback) {
|
|
4290
4295
|
this.connectedCallback();
|
|
4291
4296
|
const sceneWrapper = await __privateGet(this, _initial3DVisualizationWrapper).promise;
|
|
4292
4297
|
const puzzleWrapper = await sceneWrapper.experimentalTwisty3DPuzzleWrapper();
|
|
4293
|
-
|
|
4298
|
+
const twisty3DPuzzlePromise = puzzleWrapper.twisty3DPuzzle();
|
|
4299
|
+
const setTimeoutPromise = new Promise((resolve, _) => setTimeout(resolve, 0));
|
|
4300
|
+
if (puzzleChangeCallback) {
|
|
4301
|
+
const scheduler = new RenderScheduler(async () => {
|
|
4302
|
+
});
|
|
4303
|
+
puzzleWrapper.addEventListener("render-scheduled", async () => {
|
|
4304
|
+
if (!scheduler.requestIsPending()) {
|
|
4305
|
+
scheduler.requestAnimFrame();
|
|
4306
|
+
(async () => {
|
|
4307
|
+
await setTimeoutPromise;
|
|
4308
|
+
puzzleChangeCallback();
|
|
4309
|
+
})();
|
|
4310
|
+
}
|
|
4311
|
+
});
|
|
4312
|
+
}
|
|
4313
|
+
return twisty3DPuzzlePromise;
|
|
4294
4314
|
}
|
|
4295
4315
|
jumpToStart(options) {
|
|
4296
4316
|
this.controller.jumpToStart(options);
|