@rednaxela101/cubing 0.63.7 → 0.63.9
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 +17 -11
- package/dist/bin/chunks/{chunk-6YZ4AUWL.js → chunk-F63RAIBR.js} +2 -2
- package/dist/bin/order.js +1 -1
- package/dist/bin/puzzle-geometry-bin.js +1 -1
- package/dist/bin/scramble.js +1 -1
- package/dist/bin/svg.js +1 -1
- package/dist/lib/cubing/chunks/{chunk-GP66KY36.js → chunk-F765ZFNM.js} +2 -2
- package/dist/lib/cubing/chunks/{twisty-dynamic-3d-XQOH6E2O.js → twisty-dynamic-3d-MF76FSDA.js} +2010 -266
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-MF76FSDA.js.map +7 -0
- package/dist/lib/cubing/twisty/index.js +3 -2
- package/dist/lib/cubing/twisty/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/lib/cubing/chunks/twisty-dynamic-3d-XQOH6E2O.js.map +0 -7
- /package/dist/bin/chunks/{chunk-6YZ4AUWL.js.map → chunk-F63RAIBR.js.map} +0 -0
- /package/dist/lib/cubing/chunks/{chunk-GP66KY36.js.map → chunk-F765ZFNM.js.map} +0 -0
package/README.md
CHANGED
|
@@ -47,19 +47,25 @@ Every WCA event is supported (`222`, `333`, `444`, `555`, `666`, `777`, `333bf`,
|
|
|
47
47
|
|
|
48
48
|
## What this fork adds
|
|
49
49
|
|
|
50
|
-
- **
|
|
50
|
+
- **Stickerless 3D models.** Every 3D puzzle is drawn as solid pieces of colored plastic. Upstream draws flat stickers on a black body.
|
|
51
|
+
- New 3×3×3 pieces: beveled cubies with flat facelets and rounded outlines.
|
|
52
|
+
- 2×2×2 and 4×4×4 through 7×7×7 use the same pieces, cut to size.
|
|
53
|
+
- Square-1, Skewb, Megaminx, Pyraminx and FTO are solid pieces too, with a thin groove between them and a hairline bevel. Their pieces are cut from the puzzle's own faces and turning axes.
|
|
54
|
+
- No puzzle this fork ships is drawn with upstream's `PG3D` any more. It stays as the fallback for anything the piece geometry can't be recovered for.
|
|
55
|
+
- **Square-1 in 3D.** New `Square1_3D` visualization strategy, the default for `puzzle="square1"`. Upstream renders Square-1 flat.
|
|
51
56
|
- **Square-1 2D last-layer diagrams.** `visualization="experimental-2D-LL"` on `square1`, with `OLL` and `PLL` stickerings.
|
|
52
|
-
- **
|
|
53
|
-
- **5×5×5 2D last-layer diagrams.** `visualization="experimental-2D-LL"` on `5x5x5
|
|
54
|
-
- **
|
|
55
|
-
- **
|
|
56
|
-
- **
|
|
57
|
-
- **
|
|
57
|
+
- **Piece separators in the 2D renderer.** Outlines between two halves of a piece hide and reappear as pieces join and split, for Square-1.
|
|
58
|
+
- **5×5×5 2D last-layer diagrams.** `visualization="experimental-2D-LL"` on `5x5x5`.
|
|
59
|
+
- **Megaminx 2D last-layer diagrams.** `visualization="experimental-2D-LL"` on `megaminx`. Upstream has no last-layer view for Megaminx.
|
|
60
|
+
- **Four more Megaminx last-layer stickerings.** `OLL-EO` (last-layer center and edges), `OLL-CO` (last-layer center and corners), `PLL-EO` (side stickers of the last-layer edges), `PLL-CP` (side stickers of the last-layer corners).
|
|
61
|
+
- **Megaminx `PLL` read off the side stickers.** The last-layer face is blanked out. Upstream dims it to a near-white grey.
|
|
62
|
+
- **A face-color border for 2D last-layer diagrams.** A ring outside the puzzle outline, colored with the face each side belongs to. Controlled by `experimental-face-color-border` / `experimentalFaceColorBorder` (`auto` by default, `none` to hide). Drawn by the Megaminx last-layer SVG; any 2D SVG can opt in.
|
|
63
|
+
- **Palette-agnostic dimming in the 2D renderer.** Colors outside upstream's per-face table are darkened programmatically instead of dimming to `undefined`, which painted the facelet black.
|
|
58
64
|
- **`L2E` stickering.** Last two edges, for `4x4x4`, `5x5x5` and `6x6x6`, under the Reduction group.
|
|
59
65
|
|
|
60
66
|
## Rendering performance (caching)
|
|
61
67
|
|
|
62
|
-
Several per-frame code paths in `cubing/twisty` were doing work that could be skipped. Measured on Chromium as the cost of one `onPositionChange(…)` call with a move in progress (minimum of 7 rounds of 3000 calls), 2026-08-27.
|
|
68
|
+
Several per-frame code paths in `cubing/twisty` were doing work that could be skipped. Measured on Chromium as the cost of one `onPositionChange(…)` call with a move in progress (minimum of 7 rounds of 3000 calls), 2026-08-27, before the stickerless renderers landed. The renderer column is what each side ran at the time.
|
|
63
69
|
|
|
64
70
|
| Puzzle | Renderer | Upstream | This fork | Change |
|
|
65
71
|
| --- | --- | --- | --- | --- |
|
|
@@ -70,7 +76,7 @@ Several per-frame code paths in `cubing/twisty` were doing work that could be sk
|
|
|
70
76
|
| FTO | `PG3D` | 1.93 µs | **1.70 µs** | -12% |
|
|
71
77
|
| 2×2×2 | `PG3D` | 1.40 µs | **1.27 µs** | -9% |
|
|
72
78
|
|
|
73
|
-
|
|
79
|
+
A 3×3×3 player drops from roughly 0.67 ms to 0.23 ms of main-thread time per second of animation.
|
|
74
80
|
|
|
75
81
|
## Size improvements
|
|
76
82
|
|
|
@@ -85,11 +91,11 @@ A snapshot, not a live claim: each entry point bundled with `esbuild` (minified,
|
|
|
85
91
|
|
|
86
92
|
### Re-chunking
|
|
87
93
|
|
|
88
|
-
Upstream bundles several puzzles into
|
|
94
|
+
Upstream bundles several puzzles into one lazily-loaded chunk, so displaying a 2×2×2 in 2D also downloads the Clock and Square-1 artwork. This fork splits those chunks one-per-puzzle.
|
|
89
95
|
|
|
90
96
|
### Everything is lazily loaded
|
|
91
97
|
|
|
92
|
-
|
|
98
|
+
Per scenario, gzipped, `three.js` excluded:
|
|
93
99
|
|
|
94
100
|
| Scenario | Download |
|
|
95
101
|
| --- | --- |
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
var packageVersion = (
|
|
5
5
|
// biome-ignore lint/suspicious/noTsIgnore: This comment is stil present in the compiled file, where an error is *not* expected.
|
|
6
6
|
/** @ts-ignore Populated by `esbuild` at compile time. */
|
|
7
|
-
"0.63.
|
|
7
|
+
"0.63.9"
|
|
8
8
|
);
|
|
9
9
|
|
|
10
10
|
export {
|
|
11
11
|
packageVersion
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-F63RAIBR.js.map
|
package/dist/bin/order.js
CHANGED
package/dist/bin/scramble.js
CHANGED
package/dist/bin/svg.js
CHANGED
|
@@ -531,7 +531,7 @@ var StatsPanel = class {
|
|
|
531
531
|
|
|
532
532
|
// src/cubing/twisty/heavy-code-imports/3d.ts
|
|
533
533
|
var bulk3DCode = new LazyPromise(
|
|
534
|
-
() => import("./twisty-dynamic-3d-
|
|
534
|
+
() => import("./twisty-dynamic-3d-MF76FSDA.js")
|
|
535
535
|
);
|
|
536
536
|
|
|
537
537
|
// src/cubing/twisty/views/canvas.ts
|
|
@@ -1192,4 +1192,4 @@ export {
|
|
|
1192
1192
|
Twisty3DVantage,
|
|
1193
1193
|
bulk3DCode
|
|
1194
1194
|
};
|
|
1195
|
-
//# sourceMappingURL=chunk-
|
|
1195
|
+
//# sourceMappingURL=chunk-F765ZFNM.js.map
|