I'd like to introduce a convention for writing "inverse scramble" moves: caret NISS notation. It looks like the lines starting with ^ in this FMC solution, which the Twizzle Editor now supports out of the box:
This resembles the parentheses some FMC folks have been using for inverse scramble moves in unofficial solve explanations, but with a caret symbol (^) to distinguish such moves from "forward" moves. These moves are "unfolded" in reverse order at the end of the solve, and if there are multiple caret NISS groupings then you also go through them in reverse order. In effect:
you first read through all the "forward" moves, then
you go in reverse through all moves that are in caret NISS groupings.
So: A ^(E) B ^(D) C = A B C D'E'
Code:
└─┰────────┰────────┰──┐
1 2 3 │
↓ ↓ ↓ │
A ^(E) B ^(D) C │
↑ ↑ │
5' 4' │
┖────────┸──────┘
Or: A ^(I H) B C ^(G F E) D = A B C D (E' F' G')(H' I')
Code:
└─┰───────────┰──┰──────────────┰──┐
1 2 3 4 │
↓ ↓ ↓ ↓ │
A ^(I H) B C ^(G F E) D │
↑ ↑ ↑ ↑ ↑ │
9' 8' 7' 6' 5' │
┖──┸───────────┸──┸──┸──────┘
And the FMC solution from above unfolds into this:
Caret NISS Notation
Example Solution (Unfolded)
R B U L' U' B U2 D2 F D R L D B2 L2 D' F2 D2 L2 D
D' B' U B2 R2 // Nice continuation
(U2 R' U2 R' D' L F2 L' D R2)' // LL
(R B R' U R' U2 R B)' //F2L
(B L' U F2)' // Nice start on inverse scramble
// From https://fmcsolves.cubing.net/fmc_tutorial_ENG.pdf
As another example, here's the best solve from Cale Schoon's FMC WR mean:
Cale Schoon
North Star Cubing Challenge 2020
3x3x3 Fewest Moves, Solve #2
R' U' F U2 B D2 B F2 R2 F D2 B D' B U F2 D' R' F2 U2 R' F' R' U' F
F D' // 2x2 Square
^(F' D B F2 L') // 2x2x3
B U' B // EO
^(U' B2) // 2x2 Square
^(L U L' U B2 U) // Finish
This notation has several benefits, such as:
Flexibility for various FMC techniques, such as simple pre-moves and full NISS.
Being reasonably straightforward for software to implement.
In particular, cubing.js is able to support this notation in a way that most web apps 1) can support it without any special code (they will just see the unfolded moves at the end), but 2) can add FMC-specific functionality if they want.
Being compatible and unambiguous when combined with normal notation, where people use parentheses to simply group moves.
Using the same caret symbol used for footnotes in certain other conventions like Markdown, evocative of an arrow pointing from the end of a solution to the beginning.
On that final point, I'd also like to add Twizzle support for insertions, ideally also similar to Markdown footnotes, but this will take more time and I want to talk to more FMC folks before implementing that.