# TrainBLD - NEW web timer that reconstructs your 3BLD solves



## rotobld (Sep 27, 2021)

Hi!
Quick reminder, I have been working on making 3BLD training more efficient. 
So after this, this and this I realized that the software isn't accessible enough,
*So I decided to develop a web timer that will implement my software *(and learn a lot of JS on the way )

*Very happy to introduce:*_ TrainBLD.com_

TL;DR





Main features:

Reconstruct 3bld solves : commutator seperation, move count, letter pair, execution time, memo time, *fluidness *(execution time without pauses between algs), *solve description* (12'/8''), *timer per alg.* (If you have more ideas for analysis features, I'll be glad for suggestions)
Fully coustomizable : buffers, letter scheme
Support 3Style, M2, Old-pochmann, Orozco
Link to CubeDB or TXT format
Works best with Rubiks-connected/Go-cube --> Gan356i (I think specific my cube has problems) --> Giiker (didn't managed to implement it good enough)
Export stats : all solves are saved, mo3, ao5, ao12, mean all
Execution mistake recognition
only on *Chrome *(because of the support for bluetooth API)
Example solve


Spoiler



CubeDB
14/9 35.97(0.44,35.53) 51.51%

F2 L2 U B2 U' F2 U L' D' B R F' R U' F2 R' B' R B D' R2 U B //scramble


//edges
R' U' R2 S R2 S' U R // JA 8/8 1.74
U' R E' R' U R R' R E R' // BH 10/18 1.08
L F L' E L F' L' E' // PL 8/26 0.88
L F' E R2 E' R2 F L' // NU 8/34 1.23
S L' F' L S' L' F L // VG 8/42 1.89
U2 R' E R U R' E' R U // FD 9/51 0.75
L F' L' S' L F L' S // EB 8/59 1.48


//corners
U R' D R U' R D' R' U' R D R' U R' D' R // VB 16/75 1.39
F' U R' D' R U2 R' D R U F // LN 11/86 1.92
U' R' U' R' D' R U R' D R2 U // DR 11/97 1.52
R U R U R' D2 U' U R U' R' D2 U' R' // TX 14/111 2.11


//parity
R2 D R' U2 R D' R' U' R' F' R U R' U' R' F R2 U' R' U' // CB CI 20/131 2.31


I know that this not the most elegant timer, but I thought that after people will use and see the potential, more timers will implement this feature. 
*My goal is to make more people enjoy practicing 3BLD and I know it can be very frustrating to try to learn from your DNF's.*

The website itself doesn't analyze the solves, but a HTTP server I developed,
I put a lot of effort so that every web-timer could analyze 3bld solves as easy as possible. 
*If you are a web-timer developer (that supports smart cubes), checkout this to see how to implement this feature into your website, it is very easy!!
If you need help feel free to contact.*


Last thing, Tanks a lot to CSTIMER (bluetooth API to smart cubes), cubing.js and Gil (CubeDB), great software that helped a lot.
For more information: TrainBLD, HTTP_server, Post, Post, Post, Youtube


----------



## CubeRed (Sep 28, 2021)

Heeeeeeey, this could be something. Nice effort!


----------



## DuckubingCuber347 (Sep 30, 2021)

CubeRed said:


> this could be something.


Isn't it already something?
_____

This looks like a really nice BLDtrainer. If I ever got into BLD seriously I would %100 use this. Thanks for doing this!


----------



## abunickabhi (Oct 1, 2021)

rotobld said:


> Hi!
> Quick reminder, I have been working on making 3BLD training more efficient.
> So after this, this and this I realized that the software isn't accessible enough,
> *So I decided to develop a web timer that will implement my software *(and learn a lot of JS on the way )
> ...


Wow nice effort. I am quite happy to follow your BLD coding projects and your updates.


----------



## Greycube (Oct 8, 2021)

Excellent work. Looking forward to the future of this program


----------



## rotobld (Oct 10, 2021)

Thanks a lot!!
And of course if you find bugs be sure to tell me about them


----------



## Greycube (Oct 11, 2021)

Please excuse my horrible attempt of a solve; following along to memo generator

https://www.cubedb.net/solve/347

I use *wide u* moves for edges. But the parser shows *D* instead of *u'* and when doing either *L *or *R* in the alg it shows a *B* move
For example for the edge *N* (*RB*) I use the alg *u R u' M2 u R' u'* but it's parsed as *D B D' M2 D B' D'*

Is there any way around this?


----------



## rotobld (Oct 13, 2021)

This is a good question that I have thought a lot about.
The main problem is that if i would change it to support wide moves then someone would say the opposite
that he did *D B D' M2 D B' D' *but the parser showed *u R u' M2 u R' u'.*
It is a hard to write a software that "guesses" if you did *D* or *u*, practically it makes the same changes on the cube (ignoring the rotations)

So there are 2 solutions:
1. 100% right - relying on cube gyro. from my experience it is more difficult both because of gyro reliability and software implementation.
2. probably 85% right - I think that it is more common that you would do *u R *than *D B* in 3BLD, so creating a set of rules should do most of the job. 

This is one of the features I'll work on adding


----------



## kubesolver (Oct 13, 2021)

3. Give user an option "I did this with wide moves actually" and remember user preferences


----------



## Greycube (Oct 15, 2021)

kubesolver said:


> 3. Give user an option "I did this with wide moves actually" and remember user preferences


Rotobld could this work? Maybe in settings after letter scheme a place where you could choose your preferred algs? I only know M2 so I don't know how much of a headache this would cause for you with other styles like 3style. With M2 I know of *B*, wide and *x* moves ie for *(LF)* I know 3 algs but use the wide..
*F (LF)*
*- x' U L2' U' (M2) U L2' U' x
- L2 u' L' u M2 u' L u L2
- B L2 B' M2 B L2 B'*

edit: TBH the wide algs are only small and easy to copy/paste from my alg spreadsheet to the parsed cubedb page. lol I am probably just being lazy as I am sure there are more important features to get going first. Still great app mate. I am all aboard the trainbld bandwagon Choo! Choo!


----------



## rotobld (Oct 16, 2021)

Greycube said:


> Rotobld could this work? Maybe in settings after letter scheme a place where you could choose your preferred algs? I only know M2 so I don't know how much of a headache this would cause for you with other styles like 3style. With M2 I know of *B*, wide and *x* moves ie for *(LF)* I know 3 algs but use the wide..
> *F (LF)*
> *- x' U L2' U' (M2) U L2' U' x
> - L2 u' L' u M2 u' L u L2
> ...


I think this could work, it may cause the data size sent to the server increase dramatically.
but if it will be for specific algs it should be fine.
Hope to make an update in the next couple of weeks


----------



## rotobld (Jan 29, 2022)

I had been busy in the last couple of months with other projects 
(mostly documenting old projects like this LEGO Rubik's cube scrambler)
I decided to add some important features to trainbld.com before moving (almost) completely to other projects.

features added:
*mobile support - *mainly changed the layout so it will look nicer. currently only works on android phones with the Chrome app (ios doesn't support web BLE)
*Moyu AI support - *this cube is amazing, the best smart cube I tried. this is the kind of cube I imagined when started developing the timer three years ago. I think this cube solves the smart cubes hardware issue and would make more people start using smart cubes to train 3bld. The last drawback is the price, hope it will get cheaper in a year or two.
*wide moves instead of D B moves - *as you suggested, I converted D B D moves to wide moves. I have done it by applying these rules (if you have more rules that should be added, send me). 
D B D' => u R u'
D B2 D' => u R2 u'
D B' D' => u R' u'
D' B' D => u' L' u
D' B D => u' L u
D' B2 D => u' L2 u
*customizable cube orientations - *a very important feature I didn't support. *
If you used the website before, you need to click "Save Settings" so the cube orientation will be updated.*

with these features implemented, I feel that the main idea of the timer is accomplished.
I would probably not develop more features for the next 4~5 months, but send me ideas for features for the next development session.
If there are bugs, send me and I would try to fix them in a week or two.


----------



## Greycube (Jan 30, 2022)

Awesome work Roto!


----------



## rotobld (Feb 2, 2022)

Added another feature,
*corners/edges only scramble.*
can be selected within the settings 

used torjusti nice package to implement it


----------



## Greycube (Feb 4, 2022)

Hey Roto. Any way of moving the the text done for scrambling down a bit from the main scramble? The scramble (highlighted in yellow) gets over lapped by the movement text when scrambling. Maybe be a problem my end, as TrainBLD never wants to fill the whole screen when I use it. Using Chrome btw


----------



## rotobld (Feb 4, 2022)

fixed it


----------



## Greycube (Feb 4, 2022)

rotobld said:


> fixed it


Yes, yes you did  Thanks for being a legend. Awesome work on the lego cube machine too btw. Looking forward to your future endeavors


----------



## Greycube (Dec 11, 2022)

Is TrainBLD down for maintenance at the moment, or broken?


----------

