# F2L Trainer Interest Check

## Do you like this idea

• ### No

• Total voters
40

#### Thomas Henrissat

##### Member
Hello everyone !

I have recently been looking for a F2L trainer to help me improve my efficiency, but haven’t been able to find exactly what I was looking for. So I thought, if it doesn’t exist, why don’t you make it?

Before throwing myself head first into this, I wanted to ask you fellow cubers if you would be interested by this idea. Here are the main goal and the features I had in mind:

Main Goal
Help speedcubers to practice F2L cases efficiently, without having to do whole solves. The trainer gives you a scramble for a random case, you solve it and go on to the next one.

Main features
- Scramble to get to a random case from a solved cube
- Cube representation of the case
- Optimal solution(s)
- Timer

Settings
- Choose subset(s) to practice (Ex: Corner down, edge on top)
- Hide solution(s)
- Disable timer
- Dark theme (for your 2am sessions)

Other ideas
- Training by levels (from basic cases to most complex)
- Algorithm preferences (no cube rotation, no F or B moves, no wide moves)

Tell me what you think! If you have any recommendations feel free to tell me, it’s still just an idea.

Thank’s for time

#### AMCuber

##### Member
I would use it without hesitation.

#### Thomas Henrissat

##### Member
Hi, thank you for your answers. As of right now twelve people voted that it's a good idea, it's enough for me. I'm going to start working on it today and will keep you updated. I have no idea how long it's going to take but I hope to have a working demo pretty fast.

#### Lux

##### Member
It seems to be quite a great idea!

#### Thomas Henrissat

##### Member
It seems to be quite a great idea!
Thank you ! I'm currently working on the cube representation, I'm trying to make it display a cube state from a scramble, not easy.

Lux

#### pglewis

##### Member
There are a number of open source utilities out there for creating random state scrambles, rendering a cube representation, etc. Check out Lucas Garron's Github stuff: https://github.com/lgarron as one place to start.

#### Thomas Henrissat

##### Member
Oh of course I'm aware it has been done before, but I like the challenge
Thank you for the link, I really like alg.cubing.net, but unlike it I'm going for a 2D representation not 3D.
I'm already close to being done, it should be good for tomorrow, then I'll move on to the rest of the app.

#### Thomas Henrissat

##### Member
Here is my progress so far:

At first I was planning to create just a 3 sided representation of the cube for the cases, changing manually the color of each piece that differed from the default state of the cube. But I quickly realized it would be a pain to write down the state of the cube for every single case. So I came to the conclusion that I needed of complete 3x3 model, that could output a full cube state from a scramble.

I started by creating a data structure representing the cube, then looked at how every single move was affecting my real cube and finally, I created functions to manipulate my data accordingly.
My trusty duct taped cube fixed a lot of mistakes I made at first !

One and a half days later it's fully functional, I can input an algorithm and apply it to the cube. It can take every legal move and it's variants (even full cube rotations) and ignores parentheses. The hole thing is coded in Javascript and you can see it in action here:

The good thing is, because the model covers the whole cube, I'll be able to use it for the F2L Trainer, and if I want, even for a future OLL or PLL Trainer.

Now I'm going to refactor the code and then I'll move on to creating the actual app.

#### Cubetastic5

##### Member
Here is my progress so far:

At first I was planning to create just a 3 sided representation of the cube for the cases, changing manually the color of each piece that differed from the default state of the cube. But I quickly realized it would be a pain to write down the state of the cube for every single case. So I came to the conclusion that I needed of complete 3x3 model, that could output a full cube state from a scramble.

I started by creating a data structure representing the cube, then looked at how every single move was affecting my real cube and finally, I created functions to manipulate my data accordingly.
My trusty duct taped cube fixed a lot of mistakes I made at first !

One and a half days later it's fully functional, I can input an algorithm and apply it to the cube. It can take every legal move and it's variants (even full cube rotations) and ignores parentheses. The hole thing is coded in Javascript and you can see it in action here:

The good thing is, because the model covers the whole cube, I'll be able to use it for the F2L Trainer, and if I want, even for a future OLL or PLL Trainer.

Now I'm going to refactor the code and then I'll move on to creating the actual app.
Wow! This is awesome. Are you going to make it an app using node js, or are you going to make it a website? Or are you going to use electron? This is pretty cool .

#### Thomas Henrissat

##### Member
Wow! This is awesome. Are you going to make it an app using node js, or are you going to make it a website? Or are you going to use electron? This is pretty cool .
Thank you!

I'm actually making a Next.js web app with Node.js and React, so that you can use it on any device (phone, tablet, laptop etc), Electron is great though!

I'm making good progress and building everything to be expendable, that way I'll be able to make trainers for OLL, PLL, other methods than CFOP and even other puzzles if I want to later. It's a lot of work but I'm confident I'll have a beta soon!

#### Thomas Henrissat

##### Member
I don't know if anyone is still following this thread, but here are the news:

We are now two developers working on the app, and we have made huge progress.
The scale of the project is way bigger than what it was when I talked about it here, and we are really looking forward to what's next.

If you are still interested in the app, keep an eye on the /r/Cubers subreddit, we will communicate there when we are ready.

#### AvGalen

I didn't comment before because you seemed to have all the basics and extras covered. I would be most interested in "optimal" and "restricted (aka fingertrickfriendly)"

#### Thomas Henrissat

##### Member
I didn't comment before because you seemed to have all the basics and extras covered. I would be most interested in "optimal" and "restricted (aka fingertrickfriendly)"
We are doing something similar, we pay a lot of attention to the solutions we choose and provide alternatives when we find it necessary.
We will also be open to suggestions for particular cases, and will add them if needed.

#### Robert Alden

##### Member
Can I just ask if it is going to be on a website or will it be a digital app for someone to download on a phone? And how long will it be before it comes out.

#### Thomas Henrissat

##### Member
Can I just ask if it is going to be on a website or will it be a digital app for someone to download on a phone? And how long will it be before it comes out.
Of course, it is going to be web application, so you'll be able to access it on any device.
I can't give you a precise date for an official release, we are still in development. But you should ear more from us in the next months, we work as hard as we can but we don't want to rush anything.

#### Thomas Henrissat

##### Member
I'm happy to announce that we are going to start our first testing phase soon, if you are interested take a look at our reddit post here.