There can't really be, and the nature of parity gives us a good idea of why.
If you look at all but two pieces of an orbit (e.g. just edges, or just corners), the last two could be swapped either way depending on parity. The only way to know what the remaining parity is would be to know...
If you want to write babyface algs, that's up to you. 😛
But to actually answer the question: It's not intentional, but it's been in `twisty.js` since the original code from a hackathon in 2011. It happens for exactly the reason you would think, which is that e.g. the stickers on the L face are...
I'm personally a fan of anti-slice moves to get there:
https://alpha.twizzle.net/edit/?alg=%28%28L+R%29+y%293%0A%28%28L%27+R%27%29+y%27%293
But this made me curious what I used for the actual header image.
Apparently it was: R L B F R L B' F' R' L' B' F' (with a partial R' move after)...
Do you have more information on this?
It seems you've vendored csTimer code for scrambling (which does generate proper scrambles), but this example in the README encourages / makes it look easy to get bad scrambles:
const scrambles = getScrambles([
{ scrambler: "333", length: 20 },
{...
This is a good time to talk about this, as we're in the process of working on replacing TNoodle.
I think rejection sampling based on some sort of entropy measure has been a bit too taboo for too long, and that it could be quite reasonably effective — assuming the scrambles are conducive of good...
An old classic. 😌
https://uncletyson.wordpress.com/2010/12/25/the-stryker-z/
https://alpha.twizzle.net/edit/?alg=U2%27+R+U+R+U%27+R+U2+R+U%27+R%27+U%27+R+U+R%27+U%27+R%27+U+R+U%27+R+U%27+R+U+R+U%27+R%27+U%27+R%27+U%27+R+U%27+R&setup-anchor=end&stickering=PLL&title=Stryker+Z
Probably the one that puts videos about the new season of Wednesday on my YouTube feed.
But actually, the pi alg always feels super cool, and I'm still not *entirely* sure I know why it works:
https://alpha.twizzle.net/edit/?alg=R%27+F+R2+U%27+R2%27+F+R&puzzle=2x2x2&stickering=OBL&setup-anchor=end
For what it's worth, if anyone wants to pick up the torch: here are my best notes so far.
Edge algs that void 2-swap U ↔ F centers:
M' u' M' u M' u M' u2' M' u M' u M' u'UF ↔ BD"The Sprinkler", easy to remember if you track U corners
M' (u' M' u2' M' u2' M' u') M2' (u' M' u2' M' u2' M'...
Yeah, in my mind it's this or bust. The options for edge algs are so good on modern cubes that they're a no-brainer. If we could find a compatible corner alg even half as good, then we can eliminate the need for beginners to learn parity.
My working alg for this case is:
https://alpha.twizzle.net/edit/?alg=M%27+u%27%0AM%27+u+M%27+u%0AM%27+u2%27%0AM%27+u+M%27+u%0AM%27+u%27&stickering=Void+Cube
It's very nice to remember and execute.
I've been trying to find a good compatible corner alg for over two years, but haven't found a...
You might be interested in:
https://www.speedsolving.com/threads/a-rubiks-cube-methods-and-states-map.46753/
https://www.stefan-pochmann.info/hume/
We're also quite close to traversing the method graph automatically in twsearch, where we do fly quite close to category theory in some ways.
You might be interested in Sortega algs:
https://mzrg.com/rubik/methods/sortega/
https://cube.garron.us/sortega/
https://cube.garron.us/sortega/files/sortega_1_2.pdf
This. The `cubing.js` code base tends to use "vertex" when referring to polyhedra. Both are fine, of course.
"CTO" also has another very common meaning in tech, so I tend to avoid it as a puzzle name.