cubing 0.24.0-pre2 → 0.24.0

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 (102) hide show
  1. package/dist/esm/{2x2x2.kpuzzle.json-U5KOZCMU.js → 2x2x2.kpuzzle.json-RUB44MJV.js} +2 -2
  2. package/dist/esm/2x2x2.kpuzzle.json-RUB44MJV.js.map +7 -0
  3. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js → 2x2x2.sgs.json-TASFAQNY.js} +3 -3
  4. package/dist/esm/{2x2x2.sgs.json-UAYPCQVL.js.map → 2x2x2.sgs.json-TASFAQNY.js.map} +0 -0
  5. package/dist/esm/{chunk-REMJV2GO.js → 3d-dynamic-inside-RSDMFS4G.js} +23 -420
  6. package/dist/esm/3d-dynamic-inside-RSDMFS4G.js.map +7 -0
  7. package/dist/esm/bluetooth/index.js +3 -3
  8. package/dist/esm/chunk-27MCV5LC.js +423 -0
  9. package/dist/esm/chunk-27MCV5LC.js.map +7 -0
  10. package/dist/esm/{chunk-NPK6Z4AU.js → chunk-3SURT6S2.js} +2 -2
  11. package/dist/esm/{chunk-NPK6Z4AU.js.map → chunk-3SURT6S2.js.map} +0 -0
  12. package/dist/esm/{chunk-ZLIK3DZT.js → chunk-54HT7B4M.js} +118 -92
  13. package/dist/esm/chunk-54HT7B4M.js.map +7 -0
  14. package/dist/esm/{chunk-TNRZDNGH.js → chunk-B27E6KTE.js} +121 -115
  15. package/dist/esm/chunk-B27E6KTE.js.map +7 -0
  16. package/dist/esm/{chunk-KCRFOAR4.js → chunk-BBEJTW6Z.js} +3 -3
  17. package/dist/esm/{chunk-KCRFOAR4.js.map → chunk-BBEJTW6Z.js.map} +0 -0
  18. package/dist/esm/{chunk-TB4D4E2W.js → chunk-EA4KWT7Z.js} +3 -3
  19. package/dist/esm/chunk-EA4KWT7Z.js.map +7 -0
  20. package/dist/esm/{chunk-7OPCF2OL.js → chunk-GBIDMAJS.js} +2 -2
  21. package/dist/esm/{chunk-7OPCF2OL.js.map → chunk-GBIDMAJS.js.map} +0 -0
  22. package/dist/esm/{chunk-YN7E5RGM.js → chunk-LR6VCMD2.js} +3 -3
  23. package/dist/esm/{chunk-YN7E5RGM.js.map → chunk-LR6VCMD2.js.map} +0 -0
  24. package/dist/esm/{chunk-NV5ESXTN.js → chunk-SPTKCRT5.js} +3 -3
  25. package/dist/esm/{chunk-NV5ESXTN.js.map → chunk-SPTKCRT5.js.map} +0 -0
  26. package/dist/esm/{chunk-4IUYLRHT.js → chunk-U2TSTTDG.js} +12 -1
  27. package/dist/esm/chunk-U2TSTTDG.js.map +7 -0
  28. package/dist/esm/{chunk-J2U2GRS4.js → chunk-ZDALYMGF.js} +2 -2
  29. package/dist/esm/chunk-ZDALYMGF.js.map +7 -0
  30. package/dist/esm/{clock.kpuzzle.json-J3YBOI3G.js → clock.kpuzzle.json-BQKNKV3G.js} +4 -4
  31. package/dist/esm/clock.kpuzzle.json-BQKNKV3G.js.map +7 -0
  32. package/dist/esm/{entry-PHAJAE4E.js → entry-VNBE3GIX.js} +18 -18
  33. package/dist/esm/entry-VNBE3GIX.js.map +7 -0
  34. package/dist/esm/{fto.sgs.json-VO6HST2V.js → fto.sgs.json-RZ2BQGRG.js} +3 -3
  35. package/dist/esm/{fto.sgs.json-VO6HST2V.js.map → fto.sgs.json-RZ2BQGRG.js.map} +0 -0
  36. package/dist/esm/kpuzzle/index.js +3 -1
  37. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js → megaminx.sgs.json-3UELYHNZ.js} +4 -4
  38. package/dist/esm/{3d-NFF7OGTI.js.map → megaminx.sgs.json-3UELYHNZ.js.map} +0 -0
  39. package/dist/esm/{module-entry-UYTOFYBC.js → module-entry-MKJ6SWPL.js} +2 -2
  40. package/dist/esm/{module-entry-UYTOFYBC.js.map → module-entry-MKJ6SWPL.js.map} +0 -0
  41. package/dist/esm/notation/index.js +6 -4
  42. package/dist/esm/protocol/index.js +2 -2
  43. package/dist/esm/puzzle-geometry/index.js +1 -1
  44. package/dist/esm/puzzles/index.js +2 -2
  45. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js → pyraminx.sgs.json-6KZV2YF7.js} +4 -4
  46. package/dist/esm/{megaminx.sgs.json-R3MK4HXM.js.map → pyraminx.sgs.json-6KZV2YF7.js.map} +0 -0
  47. package/dist/esm/scramble/index.js +4 -4
  48. package/dist/esm/{scramble_444-F3YANDPO.js → scramble_444-WHAZBEON.js} +6 -5
  49. package/dist/esm/scramble_444-WHAZBEON.js.map +7 -0
  50. package/dist/esm/search/index.js +4 -4
  51. package/dist/esm/{skewb.sgs.json-T6CO36WU.js → skewb.sgs.json-QVGBEYZV.js} +4 -4
  52. package/dist/esm/{pyraminx.sgs.json-R3J3JHMV.js.map → skewb.sgs.json-QVGBEYZV.js.map} +0 -0
  53. package/dist/esm/{sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js → sq1-hyperorbit.kpuzzle.json-4XS5YACO.js} +3 -3
  54. package/dist/esm/sq1-hyperorbit.kpuzzle.json-4XS5YACO.js.map +7 -0
  55. package/dist/esm/twisty/index.js +267 -139
  56. package/dist/esm/twisty/index.js.map +3 -3
  57. package/dist/esm/{worker-inside-generated-string-6YDSDSRJ.js → worker-inside-generated-string-K4NE6VX5.js} +24 -24
  58. package/dist/esm/worker-inside-generated-string-K4NE6VX5.js.map +7 -0
  59. package/dist/types/kpuzzle/KPuzzle.d.ts +5 -0
  60. package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +1 -1
  61. package/dist/types/kpuzzle/KState.d.ts +2 -0
  62. package/dist/types/kpuzzle/KTransformation.d.ts +3 -0
  63. package/dist/types/kpuzzle/calculate.d.ts +1 -1
  64. package/dist/types/kpuzzle/index.d.ts +2 -2
  65. package/dist/types/notation/CountMoves.d.ts +1 -0
  66. package/dist/types/notation/index.d.ts +2 -2
  67. package/dist/types/puzzles/PuzzleLoader.d.ts +1 -0
  68. package/dist/types/puzzles/async/async-pg3d.d.ts +23 -6
  69. package/dist/types/puzzles/async/lazy-cached.d.ts +1 -0
  70. package/dist/types/puzzles/implementations/fto/index.d.ts +11 -2
  71. package/dist/types/puzzles/implementations/megaminx/index.d.ts +11 -2
  72. package/dist/types/puzzles/implementations/pyraminx/index.d.ts +7 -2
  73. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  74. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -1
  75. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d.d.ts → 3d-dynamic-inside.d.ts} +0 -0
  76. package/dist/types/twisty/index.d.ts +1 -2
  77. package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +1 -0
  78. package/dist/types/twisty/views/3D/Twisty3DScene.d.ts +6 -5
  79. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +2 -2
  80. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +2 -2
  81. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +1 -0
  82. package/dist/types/twisty/views/TwistyPlayer.d.ts +2 -1
  83. package/dist/types/twisty/views/twizzle/TwizzleLink.css.d.ts +2 -0
  84. package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +9 -0
  85. package/dist/types/twisty/views/twizzle/url-params.d.ts +18 -0
  86. package/package.json +2 -1
  87. package/dist/esm/2x2x2.kpuzzle.json-U5KOZCMU.js.map +0 -7
  88. package/dist/esm/3d-NFF7OGTI.js +0 -21
  89. package/dist/esm/chunk-4IUYLRHT.js.map +0 -7
  90. package/dist/esm/chunk-J2U2GRS4.js.map +0 -7
  91. package/dist/esm/chunk-REMJV2GO.js.map +0 -7
  92. package/dist/esm/chunk-TB4D4E2W.js.map +0 -7
  93. package/dist/esm/chunk-TNRZDNGH.js.map +0 -7
  94. package/dist/esm/chunk-ZLIK3DZT.js.map +0 -7
  95. package/dist/esm/clock.kpuzzle.json-J3YBOI3G.js.map +0 -7
  96. package/dist/esm/entry-PHAJAE4E.js.map +0 -7
  97. package/dist/esm/scramble_444-F3YANDPO.js.map +0 -7
  98. package/dist/esm/skewb.sgs.json-T6CO36WU.js.map +0 -7
  99. package/dist/esm/sq1-hyperorbit.kpuzzle.json-AWDGN4ZW.js.map +0 -7
  100. package/dist/esm/worker-inside-generated-string-6YDSDSRJ.js.map +0 -7
  101. package/dist/types/.DS_Store +0 -0
  102. package/dist/types/puzzles/async/lazy-cached-kpuzzle.d.ts +0 -2
@@ -4,7 +4,7 @@ import "./chunk-WO2AXYFE.js";
4
4
  var cube2x2x2KPuzzleDefinition = {
5
5
  name: "2x2x2",
6
6
  orbits: {
7
- CORNERS: { numPieces: 8, orientations: 3 }
7
+ CORNERS: { numPieces: 8, numOrientations: 3 }
8
8
  },
9
9
  startStateData: {
10
10
  CORNERS: {
@@ -93,4 +93,4 @@ cube2x2x2KPuzzleDefinition.moves["Bv"] = {
93
93
  export {
94
94
  cube2x2x2KPuzzleDefinition
95
95
  };
96
- //# sourceMappingURL=2x2x2.kpuzzle.json-U5KOZCMU.js.map
96
+ //# sourceMappingURL=2x2x2.kpuzzle.json-RUB44MJV.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.ts"],
4
+ "sourcesContent": ["import type { KPuzzleDefinition } from \"../../../kpuzzle\";\n\nexport const cube2x2x2KPuzzleDefinition: KPuzzleDefinition = {\n name: \"2x2x2\",\n orbits: {\n CORNERS: { numPieces: 8, numOrientations: 3 },\n },\n startStateData: {\n CORNERS: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n moves: {\n U: {\n CORNERS: {\n permutation: [1, 2, 3, 0, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n y: {\n CORNERS: {\n permutation: [1, 2, 3, 0, 7, 4, 5, 6],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n x: {\n CORNERS: {\n permutation: [4, 0, 3, 5, 7, 6, 2, 1],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n },\n L: {\n CORNERS: {\n permutation: [0, 1, 6, 2, 4, 3, 5, 7],\n orientation: [0, 0, 2, 1, 0, 2, 1, 0],\n },\n },\n F: {\n CORNERS: {\n permutation: [3, 1, 2, 5, 0, 4, 6, 7],\n orientation: [1, 0, 0, 2, 2, 1, 0, 0],\n },\n },\n R: {\n CORNERS: {\n permutation: [4, 0, 2, 3, 7, 5, 6, 1],\n orientation: [2, 1, 0, 0, 1, 0, 0, 2],\n },\n },\n B: {\n CORNERS: {\n permutation: [0, 7, 1, 3, 4, 5, 2, 6],\n orientation: [0, 2, 1, 0, 0, 0, 2, 1],\n },\n },\n D: {\n CORNERS: {\n permutation: [0, 1, 2, 3, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n z: {\n CORNERS: {\n permutation: [3, 2, 6, 5, 0, 4, 7, 1],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n },\n },\n};\n\ncube2x2x2KPuzzleDefinition.moves[\"Rv\"] = cube2x2x2KPuzzleDefinition.moves[\"x\"];\ncube2x2x2KPuzzleDefinition.moves[\"Uv\"] = cube2x2x2KPuzzleDefinition.moves[\"y\"];\ncube2x2x2KPuzzleDefinition.moves[\"Fv\"] = cube2x2x2KPuzzleDefinition.moves[\"z\"];\ncube2x2x2KPuzzleDefinition.moves[\"Lv\"] = {\n CORNERS: {\n permutation: [1, 7, 6, 2, 0, 3, 5, 4],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n};\ncube2x2x2KPuzzleDefinition.moves[\"Dv\"] = {\n CORNERS: {\n permutation: [3, 0, 1, 2, 5, 6, 7, 4],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n};\ncube2x2x2KPuzzleDefinition.moves[\"Bv\"] = {\n CORNERS: {\n permutation: [4, 7, 1, 0, 5, 3, 2, 6],\n orientation: [1, 2, 1, 2, 2, 1, 2, 1],\n },\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-27KJGD3S.js";
4
4
  import {
5
5
  cube2x2x2
6
- } from "./chunk-ZLIK3DZT.js";
7
- import "./chunk-TNRZDNGH.js";
6
+ } from "./chunk-54HT7B4M.js";
7
+ import "./chunk-B27E6KTE.js";
8
8
  import "./chunk-EWRBHQFX.js";
9
9
  import "./chunk-WO2AXYFE.js";
10
10
 
@@ -119,4 +119,4 @@ export {
119
119
  cachedData222,
120
120
  data222
121
121
  };
122
- //# sourceMappingURL=2x2x2.sgs.json-UAYPCQVL.js.map
122
+ //# sourceMappingURL=2x2x2.sgs.json-TASFAQNY.js.map
@@ -1,8 +1,15 @@
1
+ import {
2
+ TAU,
3
+ THREEJS,
4
+ experimentalStickerings,
5
+ hintFaceletStyles
6
+ } from "./chunk-27MCV5LC.js";
1
7
  import {
2
8
  cube3x3x3,
3
9
  getFaceletAppearance,
4
10
  puzzles
5
- } from "./chunk-ZLIK3DZT.js";
11
+ } from "./chunk-54HT7B4M.js";
12
+ import "./chunk-B27E6KTE.js";
6
13
  import {
7
14
  Move
8
15
  } from "./chunk-EWRBHQFX.js";
@@ -10,8 +17,7 @@ import {
10
17
  __privateAdd,
11
18
  __privateGet,
12
19
  __privateMethod,
13
- __privateSet,
14
- __privateWrapper
20
+ __privateSet
15
21
  } from "./chunk-WO2AXYFE.js";
16
22
 
17
23
  // src/cubing/twisty/views/3D/puzzles/Cube3D.ts
@@ -38,397 +44,6 @@ function smootherStep(x) {
38
44
  return x * x * x * (10 - x * (15 - 6 * x));
39
45
  }
40
46
 
41
- // src/cubing/vendor/p-lazy/p-lazy.ts
42
- var PLazy = class extends Promise {
43
- constructor(executor) {
44
- super((resolve) => {
45
- resolve();
46
- });
47
- this._executor = executor;
48
- }
49
- static from(function_) {
50
- return new PLazy((resolve) => {
51
- resolve(function_());
52
- });
53
- }
54
- static resolve(value) {
55
- return new PLazy((resolve) => {
56
- resolve(value);
57
- });
58
- }
59
- static reject(error) {
60
- return new PLazy((_resolve, reject) => {
61
- reject(error);
62
- });
63
- }
64
- then(onFulfilled, onRejected) {
65
- this._promise = this._promise || new Promise(this._executor);
66
- return this._promise.then(onFulfilled, onRejected);
67
- }
68
- catch(onRejected) {
69
- this._promise = this._promise || new Promise(this._executor);
70
- return this._promise.catch(onRejected);
71
- }
72
- };
73
- function from(function_) {
74
- return new PLazy((resolve) => {
75
- resolve(function_());
76
- });
77
- }
78
-
79
- // src/cubing/twisty/model/PromiseFreshener.ts
80
- var _latestAssignedIdx, _latestResolvedIdx;
81
- var PromiseFreshener = class {
82
- constructor() {
83
- __privateAdd(this, _latestAssignedIdx, 0);
84
- __privateAdd(this, _latestResolvedIdx, 0);
85
- }
86
- async queue(p) {
87
- const idx = ++__privateWrapper(this, _latestAssignedIdx)._;
88
- const result = await p;
89
- if (idx > __privateGet(this, _latestResolvedIdx)) {
90
- __privateSet(this, _latestResolvedIdx, idx);
91
- return {
92
- fresh: true,
93
- result
94
- };
95
- } else {
96
- return { fresh: false };
97
- }
98
- }
99
- };
100
- _latestAssignedIdx = new WeakMap();
101
- _latestResolvedIdx = new WeakMap();
102
- var _latestAssignedIdx2, _latestResolvedIdx2;
103
- var StaleDropper = class {
104
- constructor() {
105
- __privateAdd(this, _latestAssignedIdx2, 0);
106
- __privateAdd(this, _latestResolvedIdx2, 0);
107
- }
108
- queue(p) {
109
- return new Promise(async (resolve, reject) => {
110
- try {
111
- const idx = ++__privateWrapper(this, _latestAssignedIdx2)._;
112
- const result = await p;
113
- if (idx > __privateGet(this, _latestResolvedIdx2)) {
114
- __privateSet(this, _latestResolvedIdx2, idx);
115
- resolve(result);
116
- }
117
- } catch (e) {
118
- reject(e);
119
- }
120
- });
121
- }
122
- };
123
- _latestAssignedIdx2 = new WeakMap();
124
- _latestResolvedIdx2 = new WeakMap();
125
-
126
- // src/cubing/twisty/model/props/TwistyProp.ts
127
- var globalSourceGeneration = 0;
128
- var _children, _rawListeners, _scheduleRawDispatch, scheduleRawDispatch_fn, _rawDispatchPending, _dispatchRawListeners, dispatchRawListeners_fn, _freshListeners;
129
- var TwistyPropParent = class {
130
- constructor() {
131
- __privateAdd(this, _scheduleRawDispatch);
132
- __privateAdd(this, _dispatchRawListeners);
133
- __privateAdd(this, _children, new Set());
134
- this.lastSourceGeneration = 0;
135
- __privateAdd(this, _rawListeners, new Set());
136
- __privateAdd(this, _rawDispatchPending, false);
137
- __privateAdd(this, _freshListeners, new Map());
138
- }
139
- canReuse(v1, v2) {
140
- return v1 === v2 || this.canReuseValue(v1, v2);
141
- }
142
- canReuseValue(_v1, _v2) {
143
- return false;
144
- }
145
- debugGetChildren() {
146
- return Array.from(__privateGet(this, _children).values());
147
- }
148
- addChild(child) {
149
- __privateGet(this, _children).add(child);
150
- }
151
- removeChild(child) {
152
- __privateGet(this, _children).delete(child);
153
- }
154
- markStale(sourceEvent) {
155
- if (sourceEvent.detail.generation !== globalSourceGeneration) {
156
- throw new Error("A TwistyProp was marked stale too late!");
157
- }
158
- if (this.lastSourceGeneration === sourceEvent.detail.generation) {
159
- return;
160
- }
161
- this.lastSourceGeneration = sourceEvent.detail.generation;
162
- for (const child of __privateGet(this, _children)) {
163
- child.markStale(sourceEvent);
164
- }
165
- __privateMethod(this, _scheduleRawDispatch, scheduleRawDispatch_fn).call(this);
166
- }
167
- addRawListener(listener, options) {
168
- __privateGet(this, _rawListeners).add(listener);
169
- if (options?.initial) {
170
- listener();
171
- }
172
- }
173
- removeRawListener(listener) {
174
- __privateGet(this, _rawListeners).delete(listener);
175
- }
176
- addFreshListener(listener) {
177
- const staleDropper = new StaleDropper();
178
- let lastResult = null;
179
- const callback = async () => {
180
- const result = await staleDropper.queue(this.get());
181
- if (lastResult !== null && this.canReuse(lastResult, result)) {
182
- return;
183
- }
184
- lastResult = result;
185
- listener(result);
186
- };
187
- __privateGet(this, _freshListeners).set(listener, callback);
188
- this.addRawListener(callback, { initial: true });
189
- }
190
- removeFreshListener(listener) {
191
- this.removeRawListener(__privateGet(this, _freshListeners).get(listener));
192
- __privateGet(this, _freshListeners).delete(listener);
193
- }
194
- };
195
- _children = new WeakMap();
196
- _rawListeners = new WeakMap();
197
- _scheduleRawDispatch = new WeakSet();
198
- scheduleRawDispatch_fn = function() {
199
- if (!__privateGet(this, _rawDispatchPending)) {
200
- __privateSet(this, _rawDispatchPending, true);
201
- setTimeout(() => __privateMethod(this, _dispatchRawListeners, dispatchRawListeners_fn).call(this), 0);
202
- }
203
- };
204
- _rawDispatchPending = new WeakMap();
205
- _dispatchRawListeners = new WeakSet();
206
- dispatchRawListeners_fn = function() {
207
- if (!__privateGet(this, _rawDispatchPending)) {
208
- throw new Error("Invalid dispatch state!");
209
- }
210
- for (const listener of __privateGet(this, _rawListeners)) {
211
- listener();
212
- }
213
- __privateSet(this, _rawDispatchPending, false);
214
- };
215
- _freshListeners = new WeakMap();
216
- var _value;
217
- var TwistyPropSource = class extends TwistyPropParent {
218
- constructor(initialValue) {
219
- super();
220
- __privateAdd(this, _value, void 0);
221
- __privateSet(this, _value, from(() => this.getDefaultValue()));
222
- if (initialValue) {
223
- __privateSet(this, _value, this.deriveFromPromiseOrValue(initialValue, __privateGet(this, _value)));
224
- }
225
- }
226
- set(input) {
227
- __privateSet(this, _value, this.deriveFromPromiseOrValue(input, __privateGet(this, _value)));
228
- const sourceEventDetail = {
229
- sourceProp: this,
230
- value: __privateGet(this, _value),
231
- generation: ++globalSourceGeneration
232
- };
233
- this.markStale(new CustomEvent("stale", {
234
- detail: sourceEventDetail
235
- }));
236
- }
237
- async get() {
238
- return __privateGet(this, _value);
239
- }
240
- async deriveFromPromiseOrValue(input, oldValuePromise) {
241
- return this.derive(await input, oldValuePromise);
242
- }
243
- };
244
- _value = new WeakMap();
245
- var SimpleTwistyPropSource = class extends TwistyPropSource {
246
- derive(input) {
247
- return input;
248
- }
249
- };
250
- var NO_VALUE = Symbol("no value");
251
- var _parents, _cachedLastSuccessfulCalculation, _cachedLatestGenerationCalculation, _getParents, getParents_fn, _cacheDerive, cacheDerive_fn;
252
- var TwistyPropDerived = class extends TwistyPropParent {
253
- constructor(parents, userVisibleErrorTracker) {
254
- super();
255
- this.userVisibleErrorTracker = userVisibleErrorTracker;
256
- __privateAdd(this, _getParents);
257
- __privateAdd(this, _cacheDerive);
258
- __privateAdd(this, _parents, void 0);
259
- __privateAdd(this, _cachedLastSuccessfulCalculation, null);
260
- __privateAdd(this, _cachedLatestGenerationCalculation, null);
261
- __privateSet(this, _parents, parents);
262
- for (const parent of Object.values(parents)) {
263
- parent.addChild(this);
264
- }
265
- }
266
- async get() {
267
- const generation = this.lastSourceGeneration;
268
- if (__privateGet(this, _cachedLatestGenerationCalculation)?.generation === generation) {
269
- return __privateGet(this, _cachedLatestGenerationCalculation).output;
270
- }
271
- const latestGenerationCalculation = {
272
- generation,
273
- output: __privateMethod(this, _cacheDerive, cacheDerive_fn).call(this, __privateMethod(this, _getParents, getParents_fn).call(this), generation, __privateGet(this, _cachedLastSuccessfulCalculation))
274
- };
275
- __privateSet(this, _cachedLatestGenerationCalculation, latestGenerationCalculation);
276
- this.userVisibleErrorTracker?.reset();
277
- return latestGenerationCalculation.output;
278
- }
279
- };
280
- _parents = new WeakMap();
281
- _cachedLastSuccessfulCalculation = new WeakMap();
282
- _cachedLatestGenerationCalculation = new WeakMap();
283
- _getParents = new WeakSet();
284
- getParents_fn = async function() {
285
- const inputValuePromises = {};
286
- for (const [key, parent] of Object.entries(__privateGet(this, _parents))) {
287
- inputValuePromises[key] = parent.get();
288
- }
289
- const inputs = {};
290
- for (const key in __privateGet(this, _parents)) {
291
- inputs[key] = await inputValuePromises[key];
292
- }
293
- return inputs;
294
- };
295
- _cacheDerive = new WeakSet();
296
- cacheDerive_fn = async function(inputsPromise, generation, cachedLatestGenerationCalculation = null) {
297
- const inputs = await inputsPromise;
298
- const cache = (output) => {
299
- __privateSet(this, _cachedLastSuccessfulCalculation, {
300
- inputs,
301
- output: Promise.resolve(output),
302
- generation
303
- });
304
- return output;
305
- };
306
- if (!cachedLatestGenerationCalculation) {
307
- return cache(await this.derive(inputs));
308
- }
309
- const cachedInputs = cachedLatestGenerationCalculation.inputs;
310
- for (const key in __privateGet(this, _parents)) {
311
- const parent = __privateGet(this, _parents)[key];
312
- if (!parent.canReuse(inputs[key], cachedInputs[key])) {
313
- return cache(await this.derive(inputs));
314
- }
315
- }
316
- return cachedLatestGenerationCalculation.output;
317
- };
318
- var _disconnectionFunctions;
319
- var FreshListenerManager = class {
320
- constructor() {
321
- __privateAdd(this, _disconnectionFunctions, []);
322
- }
323
- addListener(prop, listener) {
324
- let disconnected = false;
325
- const wrappedListener = (value) => {
326
- if (disconnected) {
327
- return;
328
- }
329
- listener(value);
330
- };
331
- prop.addFreshListener(wrappedListener);
332
- __privateGet(this, _disconnectionFunctions).push(() => {
333
- prop.removeFreshListener(wrappedListener);
334
- disconnected = true;
335
- });
336
- }
337
- addMultiListener(props, listener) {
338
- let disconnected = false;
339
- const wrappedListener = async (_) => {
340
- if (disconnected) {
341
- return;
342
- }
343
- const promises = props.map((prop) => prop.get());
344
- const values = await Promise.all(promises);
345
- listener(values);
346
- };
347
- for (const prop of props) {
348
- prop.addFreshListener(wrappedListener);
349
- }
350
- __privateGet(this, _disconnectionFunctions).push(() => {
351
- for (const prop of props) {
352
- prop.removeFreshListener(wrappedListener);
353
- }
354
- disconnected = true;
355
- });
356
- }
357
- disconnect() {
358
- for (const disconnectionFunction of __privateGet(this, _disconnectionFunctions)) {
359
- disconnectionFunction();
360
- }
361
- }
362
- };
363
- _disconnectionFunctions = new WeakMap();
364
-
365
- // src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts
366
- var hintFaceletStyles = {
367
- floating: true,
368
- none: true
369
- };
370
- var HintFaceletProp = class extends SimpleTwistyPropSource {
371
- getDefaultValue() {
372
- return "auto";
373
- }
374
- };
375
-
376
- // src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts
377
- var experimentalStickerings = {
378
- "full": true,
379
- "centers-only": true,
380
- "PLL": true,
381
- "CLS": true,
382
- "OLL": true,
383
- "COLL": true,
384
- "OCLL": true,
385
- "CLL": true,
386
- "ELL": true,
387
- "ELS": true,
388
- "LL": true,
389
- "F2L": true,
390
- "ZBLL": true,
391
- "ZBLS": true,
392
- "WVLS": true,
393
- "VLS": true,
394
- "LS": true,
395
- "EO": true,
396
- "EOline": true,
397
- "EOcross": true,
398
- "CMLL": true,
399
- "L6E": true,
400
- "L6EO": true,
401
- "Daisy": true,
402
- "Cross": true,
403
- "2x2x2": true,
404
- "2x2x3": true,
405
- "Void Cube": true,
406
- "invisible": true,
407
- "picture": true,
408
- "experimental-centers-U": true,
409
- "experimental-centers-U-D": true,
410
- "experimental-centers-U-L-D": true,
411
- "experimental-centers-U-L-B-D": true,
412
- "experimental-centers": true,
413
- "experimental-fto-fc": true,
414
- "experimental-fto-f2t": true,
415
- "experimental-fto-sc": true,
416
- "experimental-fto-l2c": true,
417
- "experimental-fto-lbt": true,
418
- "experimental-fto-l3t": true,
419
- "experimental-global-custom-1": true,
420
- "experimental-global-custom-2": true
421
- };
422
- var StickeringProp = class extends SimpleTwistyPropSource {
423
- getDefaultValue() {
424
- return "full";
425
- }
426
- };
427
-
428
- // src/cubing/twisty/views/3D/TAU.ts
429
- var TAU = Math.PI * 2;
430
- var DEGREES_PER_RADIAN = 360 / TAU;
431
-
432
47
  // src/cubing/twisty/views/3D/puzzles/Cube3D.ts
433
48
  var svgLoader = new TextureLoader();
434
49
  var ignoredMaterial = new MeshBasicMaterial({
@@ -1548,7 +1163,7 @@ var PG3D = class extends Object3D2 {
1548
1163
  experimentalSetAppearance(appearance) {
1549
1164
  this.params.appearance = appearance;
1550
1165
  for (const orbitName in this.kpuzzle.definition.orbits) {
1551
- const { numPieces, orientations } = this.kpuzzle.definition.orbits[orbitName];
1166
+ const { numPieces, numOrientations: orientations } = this.kpuzzle.definition.orbits[orbitName];
1552
1167
  for (let pieceIdx = 0; pieceIdx < numPieces; pieceIdx++) {
1553
1168
  for (let faceletIdx = 0; faceletIdx < orientations; faceletIdx++) {
1554
1169
  const faceletAppearance = getFaceletAppearance(appearance, orbitName, pieceIdx, faceletIdx, false);
@@ -1827,16 +1442,15 @@ isValidMove_fn = function(move) {
1827
1442
  }
1828
1443
  };
1829
1444
 
1830
- // src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts
1445
+ // src/cubing/twisty/heavy-code-imports/dynamic-entries/3d-dynamic-inside.ts
1831
1446
  import * as T3I from "three";
1832
1447
 
1833
1448
  // src/cubing/twisty/views/3D/Twisty3DScene.ts
1834
- import { Scene as ThreeScene } from "three";
1835
- var Twisty3DScene = class extends ThreeScene {
1449
+ var Twisty3DScene = class {
1836
1450
  constructor() {
1837
- super();
1838
1451
  this.renderTargets = new Set();
1839
1452
  this.twisty3Ds = new Set();
1453
+ this.threeJSScene = (async () => new (await THREEJS).Scene())();
1840
1454
  }
1841
1455
  addRenderTarget(renderTarget) {
1842
1456
  this.renderTargets.add(renderTarget);
@@ -1846,23 +1460,23 @@ var Twisty3DScene = class extends ThreeScene {
1846
1460
  renderTarget.scheduleRender();
1847
1461
  }
1848
1462
  }
1849
- addTwisty3DPuzzle(twisty3DPuzzle) {
1463
+ async addTwisty3DPuzzle(twisty3DPuzzle) {
1850
1464
  this.twisty3Ds.add(twisty3DPuzzle);
1851
- this.add(twisty3DPuzzle);
1465
+ (await this.threeJSScene).add(twisty3DPuzzle);
1852
1466
  }
1853
- removeTwisty3DPuzzle(twisty3DPuzzle) {
1467
+ async removeTwisty3DPuzzle(twisty3DPuzzle) {
1854
1468
  this.twisty3Ds.delete(twisty3DPuzzle);
1855
- this.remove(twisty3DPuzzle);
1469
+ (await this.threeJSScene).remove(twisty3DPuzzle);
1856
1470
  }
1857
- clearPuzzles() {
1471
+ async clearPuzzles() {
1858
1472
  for (const puz of this.twisty3Ds) {
1859
- this.remove(puz);
1473
+ (await this.threeJSScene).remove(puz);
1860
1474
  }
1861
1475
  this.twisty3Ds.clear();
1862
1476
  }
1863
1477
  };
1864
1478
 
1865
- // src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts
1479
+ // src/cubing/twisty/heavy-code-imports/dynamic-entries/3d-dynamic-inside.ts
1866
1480
  async function cube3DShim(options) {
1867
1481
  const renderCallbackShim = () => {
1868
1482
  };
@@ -1873,23 +1487,12 @@ async function pg3dShim(puzzleLoader, hintFacelets) {
1873
1487
  };
1874
1488
  return new PG3D(renderCallbackShim, await puzzleLoader.kpuzzle(), (await puzzleLoader.pg()).get3d(), true, hintFacelets === "floating");
1875
1489
  }
1876
-
1877
1490
  export {
1878
- StaleDropper,
1879
- from,
1880
- TwistyPropSource,
1881
- SimpleTwistyPropSource,
1882
- NO_VALUE,
1883
- TwistyPropDerived,
1884
- FreshListenerManager,
1885
- HintFaceletProp,
1886
- StickeringProp,
1887
- DEGREES_PER_RADIAN,
1888
1491
  Cube3D,
1889
1492
  PG3D,
1493
+ T3I,
1890
1494
  Twisty3DScene,
1891
1495
  cube3DShim,
1892
- pg3dShim,
1893
- T3I
1496
+ pg3dShim
1894
1497
  };
1895
- //# sourceMappingURL=chunk-REMJV2GO.js.map
1498
+ //# sourceMappingURL=3d-dynamic-inside-RSDMFS4G.js.map