# Programmers wanted



## bcube (May 7, 2015)

Hi,

as you may know, java applets of the Rubik´s cube 3x3x3 used to be great on webpages but are not nowadays.

There is a wonderful JS-based applet but unfortunetely the author of it currently does not have a time to finish it so that it could work as the old java applets. 

What is missing for 3x3x3 cube:
- parsers for cube notations and cube scripts
- player for cube scripts 

Would any of you programmers be willing to help programming that JS-based applet in order to release an equivalent for java-based applet that could be put on the webpage?


P.S. for various reasons, I do not find this applet and this applet as good as java applets used to be...


----------



## StachuK1992 (May 7, 2015)

Expand up "for various reasons."


----------



## Michiel van der Blonk (May 7, 2015)

I think I understand your various reasons, but let me state my own for thinking exactly the same thing.
1. alg.garron.us is nice for his website, but not for embedding (it doesn't offer tools for embedding)
2. Roofpig by Lars Petrus is awesome, but the cube doesn't look as good as the applet by Werner Randelshofer (now defunct java applet). Configuration is so powerful it's a bit too much, not simple enough.

There is a WebGL applet by Randelshofer as well that looks great, but I couldn't get it to work. :-(
I have started working on my own, based on an old project of a 3D model by Tiffany Wang (not a speedcuber, it was a graphics assignment for her course). 

https://github.com/blonkm/rubiks-cube

Check the development branch. I think it looks nice, but I am having trouble implementing the graphics part and the algorithm part (esp. slice moves). I don't have a demo online yet.

Update: I have a demo online at http://rubikscubealgorithms.com/scripts/. Slice moves are working, as are algorithms. Warning: beta, you may encounter bugs. I am hoping to get testers.


----------



## Lucas Garron (May 7, 2015)

Any reason you couldn't help out with any of the existing efforts to make it meet your needs?
I've found that asking for people to do it won't work. You need to go and make it happen.

I have this functionality planned for twisty.js (which powers alg.cubing.net), but currently I don't have time to work on it.


----------



## molarmanful (May 8, 2015)

I started working on my own cube visualizer API a while back. The Github is here: https://github.com/molarmanful/gCube

Naturally, the API started turning up errors. As of the time of this post, the OLL stages do not work properly 

Perhaps some ideas can be gleaned from my API? It is powered by ThreeJS, jQuery, and Google Chrome Cube Lab code. It is supported in all browsers except IE (but who cares? IE's going away soon!)

Oh yeah, and yes, I'd be interested in helping code the aforementioned applet.


----------



## bcube (May 8, 2015)

> Expand up "for various reasons."



Generally inability for me as a non-programmer to modify it so that it could meet my needs (see my numbered list below).



> There is a WebGL applet by Randelshofer as well that looks great, but I couldn't get it to work. :-(



Could you be more specific why you could not get it to work? Perharps other programmers would help you to get it to work if they knew where your trouble is.



> Any reason you couldn't help out with any of the existing efforts to make it meet your needs?



One and only: I am not able to make a piece of programm in any language. In the past I was fiddling only with pascal and matlab (but successfully forgot most of it). Of course you can respond "time to learn it!" and can still be right. 



> I've found that asking for people to do it won't work. You need to go and make it happen.



Agreed, that would be best for me. But even if you have driving licence, prooving that you can drive a car and having some theoretical skills for how to repair some broken parts, in case of broken engine you would probably look for an expert to fix it (i.e. you would not do it by yourself). Of course this example is absurd, but I think you get my point.



> but currently I don't have time to work on it.



Not to mention, it is not a priority for you.



> I started working on my own cube visualizer API a while back.



It is nice to see other programmers are trying to make JS applet. My initial intention was "to help" Werner with his wonderful applet. Since I can not make a programm, asking programmers for help is the best I can do :-(. Since Werner has the plans to make not only a 3x3x3 cube but also other puzzles like 5x5x5 or Octagon etc., and I can imagine after writing parsers for cube notations and cube scripts + player for cube scripts it will be much easier for him to continue creating such puzzles, I am begging all of you to get his 3x3x3 applet finished first. After all, you can always implement some parts of the code into your applet afterwards. 

-----------------------------------------------------

If I could pick, these features would be ideal for me (related to Josef´s java applet):

1.) no border around the applet (white or tranpared border are ok)

2.) adjustable size of applet - would it be possible to enter only one value (e.g. height) and the other would be automatically calculated, meaning that height/width ratio would be always optimal? 

3.) bgcolor parameter - white or transparent

4.) speed parameter - Werner´s java applets allow to adjust this parameter by the end user but I like Josef´s solution (i.e. adjustable be me) slightly better

5.) buttonbar parameter - useful for me/the end user are values 0 and 1

6.) edit parameter - for my purposes (making a web tutorial) is necessary only value zero (default in Lucas´ applet, not default in Werner´s JS applet)

7.) movetext parameter - VERY IMPORTANT feature for the end user, needed value 0 - through additional text I can describe what is really happening on the applet in the moves no. 64 - 72 for example (this was the main reason I chose Josef´s java applet for 3x3x3 instead of Werner´s one back in 2004)

8.) move parameter - please make standard notation, Lars´ is awful for me to define

9.) facelets parameter - please make something standard (see Josef´s or Werner´s java applet), Lars´ is awful for me to define

10.) control buttons should be large enough for mobile users

11.) to rotate the cube, a solution shown by Josef´s java applet would be best for the end user - the cube can be rotated as the user wants it to be (in conjunction with no. 6, no "space around the cube" is needed for making a rotation - the rotation could be made by clicking on the cube and moving the mouse or tapping and moving the finger in case of mobile users)


----------



## irontwig (May 8, 2015)

Also, when did anti-aliasing stop being a thing?


----------



## Michiel van der Blonk (May 10, 2015)

Why don't you go on my github page and make all these new issues, so we can think about them. I would love to have you as a beta tester, even though my cube program is not nearly as far developed as others. I think visually it's the best I've seen around, unless anybody has a better one. Randelshofer has a perfect one, sublime I have to say as far as looks go, but it's more complicated. I don't have the stamina to work on his codebase. My own codebase is fairly small. I would like it if other WebGL able-programmers would look at it. I am working with the original programmer now and she has done a great job modeling the cube in Maya.

http://rubikscubealgorithms.com/scripts/


----------



## bcube (May 11, 2015)

> Michiel van der Blonk



First off, very nice job!



> Why don't you go on my github page and make all these new issues, so we can think about them.



Honestly, I do not understand that page. Every time I try to look for something (wca regulations for instance), I do not find it easily there. Maybe it is caused by the fact that if possible, I try to avoid github at general, so I do not have enough experience with that page. Nevertheless, I am more than willing to write my observations here in this thread.



> Randelshofer has a perfect one, sublime I have to say as far as looks go, but it's more complicated. I don't have the stamina to work on his codebase.


I see. Well, let´s hope other brilliant programmers/coders will look at it (Josef, I am looking at you, even though I believe you do not have a time right now) sometimes later. Except for molarmanful, I already know about one more experienced programmer who is interested in it (and he managed to get it work as well  ).


At the first sight, the model looks very nice. It does not appear on mobile phone, though. The cube is over-lubricated, meaning that left click and drag is not kind of controllable (for me it does not matter, because my purposes are different than playing with it). Someone could expect (me, for example) that when one layer is selected, such selected layer will always be rotated when moving a mouse. Right click and drag works better, even though it rotates rather quickly for me (but I think I could get used to it). I have a feeling that it rotates somehow different than I wanted to rotate, therefore second "alignment" is often necessary (on the other hand, it can get better after some "playing time"). The view at the cube is little bit odd - by that view, it is not clear what is R, L or F for beginners...

The buttons "R", "L" and others at the end of the page do not work properly after the cube is scrambled.. But since I will not use that, it does not bother me ;-) 

If I may ask, when do you plan to add buttons like "one move forward", "play", "stop", "skip to the end of sequence" etc.?


----------



## Michiel van der Blonk (May 11, 2015)

@bcube

I'm sorry you're having a hard time with GitHub, I can understand why, it's quite technical. But I purposely made a link for you to follow, so you could instantly click on 'new issue' and report issues. Perhaps you missed it. I assure you this is easier for me, than making my own issues. 

Here it is again: https://github.com/blonkm/rubiks-cube/issues

I think it's interesting for you to watch the progress, and see what is being done. The buttons problem is solved btw.

After the basics are done I will start looking at embedding first, then at algorithms and controls. Right now I am working on a more practical way of doing double layer moves and cube rotations. I am not even doing those, I am combining e.g. E' with U to form u. I am not sure if I will implement WCA notation. I am quite fond of Harris' notation, which really stood the test of time, but was impractical for large cubes. For a regular 3x3 an algorithm like y R2 u R' U R' U' R u' R2 F' U F is really nice and short.

I am testing in several browsers and on slow and fast computers. Right now I am sitting at an old PC with IE at work, and the cube works fine. I don't want it to be too slow on older computers or browsers, so perhaps it looks too fast on faster machines. An adjustable speed would help.

I notice anti-aliasing is a problem in WebGL, so I wonder how Randelshofer was able to make such good graphics. Keep looking at the page, I upload new versions almost daily now.

I agree the rolling during drag with right mouse is annoying, and unnatural.


----------



## Michiel van der Blonk (May 11, 2015)

irontwig said:


> Also, when did anti-aliasing stop being a thing?



It seems antialias is off by default, and it's decided by the browser whether to use it or not. Even enabling it in WebGL is only a hint to the browser and no guarantee. I tried enabling and got no visible better effect on Chrome and IE. The only solution is to do your own antialias by resizing the image. It's a technique I used on my ImageCube implementation (an adaptation of Josef's ICube), and there it worked really good.


----------



## Michiel van der Blonk (May 11, 2015)

*Implement some parts of the code*



bcube said:


> After all, you can always implement some parts of the code into your applet afterwards.



Unfortunately this is not usually how code works. It's like saying 'you can use my kitchen design in your house'. It takes a lot of adaptation to make something fit, especially such a big program as the applets by Randelshofer. Writing from scratch is our best bet right now. We can take ideas off of each other's tools though.

The starting point is important. I wanted to start with Google's cube, but at first I couldn't find the code. I think that cube has some downsides as well in terms of usability. I liked this one I took best, even though it was an abandoned project.


----------



## Michiel van der Blonk (May 11, 2015)

bcube said:


> Could you be more specific why you could not get it to work? Perharps other programmers would help you to get it to work if they knew where your trouble is.



The problem I think is http://stackoverflow.com/questions/27237696/webgl-detach-and-delete-shaders-after-linking

I will continue to research if I can solve it. Maybe Werner Randelshofer was testing on other browsers or OS, or WebGL has changed over time.

On e.g. http://bbprojx.net/cube/ Randelshofer WebGL cubes are used, but they don't work on my browser either. (BBcube is not you, right?)


----------



## molarmanful (May 12, 2015)

Michiel van der Blonk said:


> I wanted to start with Google's cube, but at first I couldn't find the code. I think that cube has some downsides as well in terms of usability.



gCube is built upon Google Chrome Cube Lab. It can be found here if you need it.

In my personal opinion, the Google Cube library is actually perfect for this kind of stuff, partly because almost every function you need is packed into the library. Also, the cube is rendered with CSS instead of WebGL, which makes the cube easier to modify (for me at least). The library's quite versatile and extendable, and it's easy to learn.


----------



## Michiel van der Blonk (May 12, 2015)

molarmanful said:


> gCube is built upon Google Chrome Cube Lab. It can be found here if you need it.



I know, as I said: at first. Later, when I had already started my project I found it. I've downloaded it and still need to look at it more thoroughly.



> In my personal opinion, the Google Cube library is actually perfect for this kind of stuff, partly because almost every function you need is packed into the library. Also, the cube is rendered with CSS instead of WebGL, which makes the cube easier to modify (for me at least). The library's quite versatile and extendable, and it's easy to learn.



I like it, sure. I have seen what you have done with it, and it's quite powerful. Still I am looking for more and nicer looking. I don't know if we can wait for Werner Randelshofer (it's been quite some time).

But, the good news is: I was able to get his WebGL version working, it was a case of missing files, so much easier than I thought. If it's legally possible (it's CC, not GPL) I will make a GitHub project of his code as well.

Here's a demo: http://rubikscubealgorithms.com/scripts/rubikplayer/. It gets slow with a lot of cubes on the page, but with a couple it's really fine, and the graphics are awesome.

I figured out how to make it play custom algorithms, but I need to work on stickers as well. (don't click the play button though, it doesn't work yet).


----------



## bcube (May 12, 2015)

> I'm sorry you're having a hard time with GitHub



Do not be, it is not even your fault!



> Perhaps you missed it. I assure you this is easier for me



I did indeed. Thank you for giving that link one more time. I will give it a shot then.



> I think it's interesting for you to watch the progress



You have no idea how exciting your development is 



> I am quite fond of Harris' notation, which really stood the test of time, but was impractical for large cubes



So you say you are thinking about making also larger cubes? For my purposes I will use only 2x2x2 - 5x5x5 and on 4x4x4 and 5x5x5 you can always use wca notation instead of Harris-ENG, but it is not even necessary - you can perfectly use lower cases (without addition of some numbers before a lower case) up to 5x5x5 cube using SiGN. I agree that for 3x3x3 are lower cases advantage.



> Unfortunately this is not usually how code works.



Ah. That sucks :-(



> We can take ideas off of each other's tools though.



Yay, that is awesome 



> Maybe Werner Randelshofer was testing on other browsers or OS, or WebGL has changed over time.
> On e.g. http://bbprojx.net/cube/ Randelshofer WebGL cubes are used, but they don't work on my browser either. (BBcube is not you, right?)



Werner is aware of this thread, so maybe he will explain it himself. On that linked page the applets do not appear in firefox but interestingly they work on Android. And you got it right, I am not BBcube.



> I was able to get his WebGL version working



Congratulations! Very exciting stuff!



> The buttons problem is solved btw.



No it is not yet. By "scrambled cube" I meant hand-made scramble, not clicking on scramble button. Regardless of cube orientation, hitting R or L or U or D button makes (sometimes) a slice move. The same effect can be observed if you click on reset button and then to R,L,U or D button again (also it happens sometimes).


----------



## Michiel van der Blonk (May 16, 2015)

BTW for other people reading this thread, a demo of my own WebGL version is here

http://rubikscubealgorithms.com/scripts/


----------



## Lucas Garron (May 16, 2015)

Michiel van der Blonk said:


> BTW for other people reading this thread, a demo of my own WebGL version is here
> 
> http://rubikscubealgorithms.com/scripts/



Request: move easing


----------



## molarmanful (May 16, 2015)

Lucas Garron said:


> Request: move easing



I second that notion. The dragging is a bit uncontrollable.


----------



## bcube (Jun 5, 2015)

For those who didn't know, Michiel is doing excellent job.

As he is working on his project, several issues show up. The one I have in mind is that when viewing his site on android (galaxy ace 3), the cubes are not visible.

Could you please test it on your mobiles/tablets and post the results here or to his github mentioned earlier? Any help would be appreciated.

If any of you, by any chance, knows why the cube is not shown on android (or even how to fix this bug), please do not hesitate to tell it.

Thank you in advance.


----------



## AlexMaass (Jun 5, 2015)

Why does it just sometimes move uncontrollably when you only hover your mouse over the cube?


----------



## bcube (Jun 5, 2015)

AlexMaass said:


> Why does it just sometimes move uncontrollably when you only hover your mouse over the cube?



Do you mean this? If not, please specify / describe it more.


----------



## AlexMaass (Jun 5, 2015)

https://www.youtube.com/watch?v=FKIdNJ9HSMk&feature=youtu.be
At 0:21 the cube moves even though I am not clicking at all.


----------



## StachuK1992 (Jun 5, 2015)

Your mouse button is probably stuck in or something.

One time, my computer restarted uncontrollably on startup. I spent quite some time trying to figure out what was wrong.
An hour later, I realized the escape key was being held down by a large textbook.


----------



## bcube (Jun 6, 2015)

AlexMaass said:


> https://www.youtube.com/watch?v=FKIdNJ9HSMk&feature=youtu.be
> At 0:21 the cube moves even though I am not clicking at all.



From what I see in your video, it seems to be related to the bug which was linked at in my previous post. When left-clicked inside the border and dragged outside the border, then moves are made by themselves consequently (after dragging back to the border). It seems to me that you left the border while the simulator was still making a move, so I can imagine this is similar to the situation I just wrote about. 

It has been reported, nevertheless, thank you for pointing it out.


----------



## bcube (Jun 13, 2015)

AlexMaass said:


> Why does it just sometimes move uncontrollably when you only hover your mouse over the cube?



Should be fixed now. Can you confirm it?



bcube said:


> As he is working on his project, several issues show up. The one I have in mind is that when viewing his site on android (galaxy ace 3), the cubes are not visible.
> 
> Could you please test it on your mobiles/tablets and post the results here or to his github mentioned earlier? Any help would be appreciated.



No feedback at all? :-(
If you are viewing it on mobile device, do you see black artifacts on stickers?


----------



## bcube (Jun 27, 2015)

While browsing Ryan Heise's page on my mobile phone, I noticed the 3x3x3 simulators are working. Could this be helpful in any way?

Till the time Werner or Michiel will finish their work with adjustable WebGL simulator, could anyone describe me the way how to use Josef's java-based applets in a JS form (i.e. how it can be seen on Ryan's page)?


----------



## molarmanful (Jun 27, 2015)

bcube said:


> While browsing Ryan Heise's page on my mobile phone, I noticed the 3x3x3 simulators are working. Could this be helpful in any way?
> 
> Till the time Werner or Michiel will finish their work with adjustable WebGL simulator, could anyone describe me the way how to use Josef's java-based applets in a JS form (i.e. how it can be seen on Ryan's page)?



Ryan is using his own simulator, called AnimCube. Example here. Haven't looked into it much, but Ryan displays the cube using an iframe tag.


----------



## bcube (Jun 27, 2015)

molarmanful said:


> Ryan is using his own simulator, called AnimCube. Example here. Haven't looked into it much, but Ryan displays the cube using an iframe tag.



AnimCube is originally widely used java-based applet made by Josef (see e.g. my post from 8. 5. in this thread), if I am not mistaken. 

I am asking because I use Josef's java applets a lot currently...


----------



## molarmanful (Jun 27, 2015)

bcube said:


> AnimCube is originally widely used java-based applet made by Josef (see e.g. my post from 8. 5. in this thread), if I am not mistaken.
> 
> I am asking because I use Josef's java applets a lot currently...



Oh.

Hmm... I was looking at the source code, and the Javascript seems like it was compiled from Java using GWT. Not too sure because I haven't seen the original AnimCube Java source code, but it seems to be the case here. That's why the cube displays on mobile.


----------



## bcube (Jun 27, 2015)

molarmanful said:


> Hmm... I was looking at the source code, and the Javascript seems like it was compiled from Java using GWT. Not too sure because I haven't seen the original AnimCube Java source code, but it seems to be the case here. That's why the cube displays on mobile.



Thank you for an explanation, but let me re-formulate my initial question: what do I need to do in order to display Josef's applets on my/any website? Please answer explicitly (in steps for instance), not generally ;-)

I believe java source code is open to look. In case you are interested, all you need to do is download it from Josef's page


----------



## bcube (Jun 29, 2015)

I googled a little bit and found this documentation by Michael Feather. Would it be now possible for you to give some tutorial how can I run it on my/any site?


----------



## molarmanful (Jun 29, 2015)

bcube said:


> I googled a little bit and found this documentation by Michael Feather. Would it be now possible for you to give some tutorial how can I run it on my/any site?


No problem! I'll play around with it and report back.


----------



## Michiel van der Blonk (Jun 29, 2015)

It looks better here than on Ryan's site, I like it. I am not sure I will even be able to compete with this. However, I like the fact that my version is fully readable javascript, and I can change it to my liking. Still, nice job!


----------



## molarmanful (Jun 30, 2015)

Okay, I figured out how to get the AnimCube JS port to work. The demo is here, and the source code is linked in the demo.

I gotta say, I am really surprised. It is super-customizable, and works as well, if not better than, the original Java applet.


----------



## Lars Petrus (Jul 8, 2015)

bcube said:


> 7.) movetext parameter - VERY IMPORTANT feature for the end user, needed value 0 - through additional text I can describe what is really happening on the applet in the moves no. 64 - 72 for example (this was the main reason I chose Josef´s java applet for 3x3x3 instead of Werner´s one back in 2004)
> 
> 8.) move parameter - please make standard notation, Lars´ is awful for me to define
> 
> 9.) facelets parameter - please make something standard (see Josef´s or Werner´s java applet), Lars´ is awful for me to define



_( I assume I am the "Lars" here )_

7. If you're talking about displaying some text like "Here we orient the corners" during move 24-32, perhaps with arrows pointing at them, I really want to do that. Not sure how it should work.

8. As far as I know my move notation is standard. What are you missing?

9. My old java applet used that, but I thought it was a *huge* pain to work with. Can you tell me more?


----------



## Lars Petrus (Jul 8, 2015)

Michiel van der Blonk said:


> I think I understand your various reasons, but let me state my own for thinking exactly the same thing.
> 2. Roofpig by Lars Petrus is awesome, but the cube doesn't look as good as the applet by Werner Randelshofer (now defunct java applet). Configuration is so powerful it's a bit too much, not simple enough.



Hi Michiel!

I guess we're kinda competitors now, but I am interested in what you think is too ugly or complicated?


----------



## bcube (Jul 8, 2015)

Lars Petrus said:


> _( I assume I am the "Lars" here )_
> 
> 7. If you're talking about displaying some text like "Here we orient the corners" during move 24-32, perhaps with arrows pointing at them, I really want to do that. Not sure how it should work.
> 
> ...



There is a chance I meant Lars Vandenbergh but no, your assumption was correct. You are Lars . 

7 - no no, nothing like that. My point is about making a move counter, because it serves as a great reference point (and I think sometimes it is also useful to show the performed algorithm inside the simulator too). By additional text I meant something written on a webpage itself. Your suggestion might work as well for a short text ( which I don't use for an explanation of moves in a simulator ).

8 - I tried to explain a move R ( from solved initial position to the position where cube is one move away its solved position ). I wanted initial position as follows : white on top, green in front. After I finally achieved the required orientation ( it was rather a trial-error experiment because the rotations didn't work as expected ), the intended move ( R in this case ) was not done - instead it was performed another move like U or even M. I can't imagine to actually solve a scrambled cube using my orientation, because when orientation is changed, the standard moves don't correspond. 

9 - sometimes it is required to choose given stickers, while others can be ignored ( OLL for example ). I don't show unnecessary stickers to the end user because of better orientation on the cube. I don't remember now where I got stucked but I didn't manage to display them as needed. 

P.S. let me quibble a bit : your tech support could be better because you didn't answer to my mail sent to you some time ago ;-).

I also couldn't find all adjustable parameters in one place ( could be because of github which i don't like ) so I rather made trial-error and saw what happened.

P.S.2: now I remember where I got stucked trying to show only some stickers. It was too difficult for me to define them. Your almost mathematical description is not simpy enough (I admit I gave it up after like four tries, considering the troubles I already mentioned above).


----------



## molarmanful (Jul 8, 2015)

Personally, I think Roofpig is great, but if you need a tutorial, I can write one up. Or you could stick with the AnimCube JS port.


----------



## bcube (Jul 9, 2015)

molarmanful said:


> Personally, I think Roofpig is great, but if you need a tutorial, I can write one up. Or you could stick with the AnimCube JS port.



Thank you but it is not neccessary for me. As I was saying on your github, I will temporarily use Michael's simulator (AnimCube JS port) and then I change to something else (probably WebGL version by either Michiel or Werner). I don't plan to use Lars' simulator (Roofpig) in the future.


----------



## Lars Petrus (Jul 9, 2015)

7. OK

8. The parameters are all explained in one place on https://github.com/larspetrus/Roofpig#roofpig. Not sure why you dislike github, but it's a regular web page with many live and editable examples.

9. Do you mean like the OLL example here http://jsfiddle.net/Lar5/tE83s/ ?

Cubexps have similar benefits and problems as regexps. Simple and powerful once you know them. Bizarre and maddening when you don't. The learning curve for cubexps is much smaller, but it's asking a lot of a random cuber to "get" it.

Still, it's hard to believe that defining each sticker manually in a 54 character string is the fun and simple solution.

I should probably predefine some common scenarios. Perhaps borrowing the VisualCube _stage_ parameter (fl, f2l, ll, cll, ell, oll, coll, ocell, etc) would be good.



bcube said:


> P.S. let me quibble a bit : your tech support could be better because you didn't answer to my mail sent to you some time ago ;-).



Yeah, my email setup was stupid... Sorry about that. It's fixed now.


----------



## bcube (Jul 9, 2015)

. Do you mean like the OLL example herehttp://jsfiddle.net/Lar5/tE83s/*?"

Perharps, but it was not verified because requestAnimationFrame is not defined. But I remember those examples from the days it was working on mobile phone...


"Still, it's hard to believe that defining each sticker manually in a 54 character string is the fun and simple solution."

Functionality is way more important for me (by that I don't say, of course, that your way is not functional). It is not fun to spend several hours by stickering one edge and at the end find out that either nothing happened or you stickered some other part of the cube.


To sum up, I believe you will find fans of your simulator. I just won't be among them :-(


----------

