[Twizzle issue] Caret NISS playback incorrect
Steps to reproduce the issue
When I go to a point in the solution after the caret NISS, it should have applied the premove to the scramble already. Also, nagivating within the caret NISS, it should go to the inverse after applying the inverse solution up to that point.
https://alpha.twizzle.net/edit/?alg=R+F2+U%27+F+U+F%27+R%27+F+%2F%2F+X-Cross+on+U-BR+%288%2F8%29%0AF%27+R%27+D%27+L%27+D2+R+F+L+%2F%2F+psuedo+F2L+on+U+%288-3%2F13%29%0A%5E%28F%27%29+%2F%2F+pre-move+%281%2F1%29%0AL%27+F%27+D%27+F+D+L+%2F%2F+OLL+%2B+PLL-skip+%286-4%2F16%29%0AD2+%2F%2F+AUF+%281%2F17%29&puzzle=3x3x3&setup-alg=R%27+U%27+F+D+B+R%27+F+B+R+L%27+D+R+D2+F2+R2+D2+R2+L%27+D2+R%27+F2+U2+D2+R%27+U%27+F#
Observed behaviour
It just takes all the caret NISS parts and applies them at the end of the solution regardless of where it currently is during playback.
🖼 Screenshots
In this image it should still have D2 remaining AND should have already applied the premove.
Expected behaviour
It should apply premoves to the scramble after the point in the solution where it is given.
Browser & operating system
Chrome 132.0.6834.111 on Windows 10 Pro
Additional info
No response
When I go to a point in the solution after the caret NISS, it should have applied the premove to the scramble already. Also, nagivating within the caret NISS, it should go to the inverse after applying the inverse solution up to that point.
I've thought a bunch about this, and I think this is best done in a dedicated FMC UI. I'm normally against modal behaviour that influences semantics, but I think in this case it can be more like a "futuristic space alg X-Ray cyber visualization mode" than a semantic change.
After all, the actual "physical" alg specified works like you write:
It just takes all the caret NISS parts and applies them at the end of the solution regardless of where it currently is during playback.
It's important that cubing.js maintains this abstraction by default, so that algs with NISS moves can work in all sorts of applications without special treatment.
I'm normally against modal behaviour that influences semantics, but I think in this case it can be more like a "futuristic space alg X-Ray cyber visualization mode" than a semantic change.
Just to be clear: some semantic changes are unavoidable. For example, this would affect the how move indexer assigns timestamps.
But we do have some precedent for alternative indexing, such as transparent simultaneous move indexing. (And therefore we don't have any strong stability guarantees about how indexing works.) So I think it's possible without too much pain.
But what about what I'm showing in the screenshot? Clicking around inside the Moves box, it's behind by one move after the caret NISS part. Trying to reach the state where all that is remaining is D2 or D2 F but only way I found is to put the cursor before the last L (and after the space) or after the last D (and before the space), which doesn't make sense.
Also, if I click around inside the Moves box immediately after opening a Twizzle Editor link, no changes are shown in the image. It's not obvious why user first has to hit a button (Play, Step forward, or Skip to End) before seeking thru a solution works.
Now that I notice a move is being highlighted and it is the expected move before the caret NISS part but incorrect move after the caret NISS, there does appear to be an off-by-one error in the indexing. Please confirm this is indeed a bug.
Ah, yeah, there are a lot of subtle issues with indexing due to some technical challenges. The off-by-one for NISS might be easy to fix, but I'm not sure how long the rest will take.