# aCube frontend v3.4 release! (beta)



## StachuK1992 (Jul 15, 2011)

After lots of postponing, I finally have a 'working' GUI front-end for ACube3.
I'd like to consider this ACube3.1, for all intensive purposes, and I'll rename as I get better releases.
THIS *MOSTLY* SUPPORTS AMBIGUOUSLY DEFINED CUBES
Here it is:
aCube 3.4
Screenshot
Expect PLLs to take like 20s on an average computer? Especially if hte "show all" option is on and the "show optimal" isn't.
Features:


Spoiler



Current features:
-<U,R,L,D,B,F,M,S,E> move support
-show all/optimal algs
-QTM, FTM, STM metric support
-incomplete cubes (nearly there)
-input on BOY color scheme
-leading/trailing ignore moves
-decent output

Possible features:
-sortable output (gripper, change metric sort)
-limit solutions to having only n of a certain move (2 F moves, F and F')
-support for other color schemes
-support for wide-turns (<r,u,d,f,b,l>)
-support for stricter move restriction (M' vs M)
-output algs AS you find them
-everything on github
-improved speed
-Pre-pruned tables will be an option. This means not waiting 15+ s in order to have the program actually look for a solution. 
-If the pre-pruned tables work out nicely, I could host a server-side ACube. Yeah, that's kind of awesome.

GUI-side needed functionalities:
-Move buttons (perform an alg on the cube)
-swapping cubies (like Heise)
-twisting corners, flipping edges



I'm working with Josef to make the above happen. It'll only be considered aCube4 once we've implemented most of the above.


----------



## danthecuber (Jul 15, 2011)

YAY!


----------



## Godmil (Jul 15, 2011)

Awesome, thanks


----------



## riffz (Jul 15, 2011)

StachuK1992 said:


> *Wide-turn support.*
> *M' vs M move restrictions, and restrictions likewise.*
> Everything will be on github.
> It will be faster. Significantly.
> ...


 
YAY


----------



## whauk (Jul 15, 2011)

may i suggest sth?

i am currently learning some ZBLL algos for OH and many algs can be created using only <RUL> but often <RUF> (or <RUFL>) is shorter. however i usually do not want more than 2 Fs to be in such an algorithm... is there some way to limit the number of F-moves in such an algorithm?

a "solved cube" button would also be very nice. (like in CE)


----------



## StachuK1992 (Jul 15, 2011)

Those seem like appropriate suggestions to me, although the first of them will have to wait for a little while.

Thanks!


----------



## Selkie (Jul 15, 2011)

Simply awesome, many thanks


----------



## cuBerBruce (Jul 15, 2011)

I would like to see both the features of Cube Explorer Facelet Editor and Heise's ACube front end, particularly...
Cube Explorer:
- Move buttons
- Apply maneuver in text box.
- direct painting of facelets (already has this, of course, except for graying facelets)
Heise:
- swapping cubies (but unlike Heise, do it "correctly," at least if completely colored cubies are swapped)
- twisting corners, flipping edges
- ignore position/orientation (would be an inherent part of ambiguous cubie support, I presume)

One thing I note lacking in ACube is direct support for "separation" steps. That is, you want the "solver" to place a piece into its correct layer, without caring about exact position. (I am guessing this will continue to be a wish list item.)


----------



## StachuK1992 (Jul 15, 2011)

Bruce - 
Move buttons and alg-execution will both of course be implemented.

Yes, I need to work on the graying of facelets, that will come with incomplete cubes

Hrm, I'll think about how to approach twisting/flipping cubies.

yes yes, those will be in the 'ambiguous cubes' update whenever that will be.

I'll talk to Jelinek about it and see what we can do, regarding that last request.
Edit:
"it will not be difficult (it is ready for that more or less), but the input is tricky"
Suggestions for input, Bruce?


----------



## Erzz (Jul 15, 2011)

StachuK1992 said:


> Hrm, I'll think about how to approach twisting/flipping cubies.


 
Surely you've seen this, maybe you can take ideas from that script, if you have it. (The only problems I have with that site is you can't un-gray pieces, or un-ignore them).

Wide-turn support is going to be awesome.


----------



## masterofthebass (Jul 15, 2011)

Stachu knows what needs to go into a functional GUI, as he's used mine plenty  He just wanted to release it before it was done so he could get some feedback on what IS done.


----------



## qqwref (Jul 15, 2011)

whauk said:


> i am currently learning some ZBLL algos for OH and many algs can be created using only <RUL> but often <RUF> (or <RUFL>) is shorter. however i usually do not want more than 2 Fs to be in such an algorithm... is there some way to limit the number of F-moves in such an algorithm?


Yeah, this is a good idea. All ZBLLs can be done with at most 2 F moves (or at most 2 L moves, or at most 2 D moves) so it would be really cool to be able to search for stuff like that.

The proposed improvements in ACube 4 sound amazing - I can't wait


----------



## cuBerBruce (Jul 15, 2011)

The "ambiguous states" supported by ACube do not seem to merely correspond to cubies with some facelets grayed. I'm not sure if masterofthebass's GUI is an ACube front end or not, but the Heise one certainly is designed to be just that, and has support for the exact same type of ambiguous states that ACube (the old version) supports. It also seems Stachu hadn't explicitly been planning on supporting swapping and twisting/flipping cubies. His response to me doesn't seem to say anything about if swapping will be supported. (By the way, Heise only supported swapping without any orientation change, regardless of which facelets were selected for the swap. That's what I considered "incorrect" about his implementation of swapping.) 

As for the input format for "separation" support, I didn't have anything particular in mind, either for GUI or command operation. For command operation, perhaps "UX" for an edge or "UXX" for a corner (actual X letters, or could be a punctuation character like ^ or something) to indicate a cubie that must go into the U layer, with the assumption of possibly being combined with orientation info (@,+,-). As for GUI interface I don't even know what Stachu has in mind for displaying the existing ambiguous cubie types. Will it be like Heise, or something different? Until I know more I think it's premature to suggest something for separation support.


----------



## masterofthebass (Jul 16, 2011)

My GUI is a frontend written in Python that interacts with the ACube jar. Unfortunately, my method of interaction was tied into a python library that isn't very well supported, and it only works to an extent in linux environments. It uses PyGTK and Twisted, and does everything you would need from ACube (full cubestate definitions, full access to turn restrictions). It was inspired a lot by Ryan's frontend, but provided more integration and some minor improvements. If you'd like the source, I can give it, but don't expect it to be very polished 

--edit--

With a little bit of fiddling, I got it to run on OS X  Here's a screenshot:


----------



## cuBerBruce (Jul 16, 2011)

masterofthebass said:


> My GUI is a frontend written in Python that interacts with the ACube jar. Unfortunately, my method of interaction was tied into a python library that isn't very well supported, and it only works to an extent in linux environments. It uses PyGTK and Twisted, and does everything you would need from ACube (full cubestate definitions, full access to turn restrictions). It was inspired a lot by Ryan's frontend, but provided more integration and some minor improvements. If you'd like the source, I can give it, but don't expect it to be very polished



So indeed you seemed to support the ACube ambiguous states in basically the same manner as the Heise front end. And even the same cube manipulation commands as Heise. I don't think I really care for a Python/Linux app, though.

Actually, I was using ACube the other day and was thinking of converting my own C# CubeApp program to be a front end for ACube, given the awkwardness of using the Heise front end. That was before I noticed what Stachu was working on. Now I'll probably wait until ACube4 and/or Stachu's program.

Anyway, here's what my CubeApp looks like. I guess I don't have support for "swap cubies" yet.


----------



## StachuK1992 (Jul 16, 2011)

I plan to implement all features of acube, both current version and all future ones. I also plan to implemnt *all* of the features provided in Heise's GUI, as well as the features in CubeExplorer. With this, serious work will have to be donr to make sure the GUI isn't too crowded and noisy. Does this answer all questions?


----------



## Jorghi (Jul 17, 2011)

Make it fool proof.


----------



## ben1996123 (Jul 22, 2011)

hao 2 fix?


----------



## StachuK1992 (Jul 22, 2011)

ben1996123 said:


> hao 2 fix?


 


StachuK1992 said:


> *THIS DOES NOT YET SUPPORT AMBIGUOUSLY DEFINED CUBES*


 As for this and more,
I'm on vacation (ending tomorrow) so I haven't made any progress.
However, I'll be working on this again starting Monday.

Cheers,
statue


----------



## StachuK1992 (Jul 25, 2011)

Some small updates:
-cube starts off with colors filled in rather than blank.
-secret functionalities regarding incomplete cubes finally under way
-fixed a bunch of minor bugs, and reworked code

Next:
-incomplete cube and piece-swapping functionalities.

Again, let me know your thoughts.


----------



## StachuK1992 (Jul 26, 2011)

How does this look:




?

Edit:
bug found! I'll dummy-proof this by making two of hte same move (two Rs) not mess things up!


----------



## StachuK1992 (Aug 1, 2011)

aCube 3.3
Update:
Entirely not caring about a piece is supported. Individual support for orientation/permutation not yet working, so don't even try to hope that it works!

This is where this actually starts becoming useful. 


I'm going to go get some CLL.


EDIT: JUST GRAY OUT THE WHOLE PIECE IF YOU DON'T CARE ABOUT IT.


----------



## Erzz (Aug 1, 2011)

So... you can make it not care about a piece entirely. And you can make it not care about the orientation of some pieces, or the permutation of some pieces, but not both?
Also, nice restrictions in that picture.


----------



## StachuK1992 (Aug 1, 2011)

Erzz said:


> So... you can make it not care about a piece entirely. And you can make it not care about the orientation of some pieces, or the permutation of some pieces, but not both?
> Also, nice restrictions in that picture.


 
Right now you can make it totally disregard (@?) a cubie.

You cannot not care about orientation or permutation itself..

Basically: you care about a piece or you don't. That's it.


----------



## Godmil (Aug 1, 2011)

getting better all the time, Thanks for the hard work Stachu


----------



## Erdos (Aug 4, 2011)

Thanks for the update! Just used this and Cube Explorer for the first time, and I'd have to say this was definitely more user-friendly. I could easily find all the speed-optimal algs for a case.


----------



## StachuK1992 (Aug 4, 2011)

Heehee.


----------



## uberCuber (Aug 4, 2011)

yesyesyesyesyesyesyesyesyesyesyes

you make me so happy


----------



## StachuK1992 (Aug 4, 2011)

I'll provide docs later or something.
I still have to add things (+?, -?) somehow...
Anyway, aCube 3.4

Let me know of any success.


----------



## vcuber13 (Aug 4, 2011)

link says LOLNO


----------



## StachuK1992 (Aug 4, 2011)

Oops, fixed.


----------



## waffle=ijm (Aug 4, 2011)

o goodie.


----------



## StachuK1992 (Aug 4, 2011)

I know I have to fix the look/feel of the incomplete cubes.
In addition, I plan to fix up the organization.


----------



## ardi4nto (Aug 5, 2011)

StachuK1992 said:


> I'll provide docs later or something.
> I still have to add things (+?, -?) somehow...
> Anyway, aCube 3.4
> 
> Let me know of any success.


I just downloaded this, but could not run it..
My computer just sounded "ding" and nothing happened


----------



## Jorghi (Aug 5, 2011)

ardi4nto said:


> I just downloaded this, but could not run it..
> My computer just sounded "ding" and nothing happened


 
Try this http://stachu.cubing.net/undestined/aCube3_3.jar That other one shows corrupted to me.


----------



## nascarjon (Aug 5, 2011)

Jorghi said:


> Try this http://stachu.cubing.net/undestined/aCube3_3.jar That other one shows corrupted to me.



Is that 3.3 or 3.4? looks like 3.3.


----------



## StachuK1992 (Aug 5, 2011)

That's 3.3.
Let me crank out a working 3.4 really quickly.

Try the link now.


----------



## Erzz (Aug 5, 2011)

When I double click the "run.bat" file, a black window comes up and then immediately disappears. Nothing else happens.


----------



## StachuK1992 (Aug 5, 2011)

What run.bat file?

Edit:
I think you're doing this wrong.
You should just open the .jar


----------



## Erzz (Aug 5, 2011)

Oh wait. Winrar auto-opened the aCube3_4.jar file, so I thought it was a zip. Maybe I shouldn't have done that.

Nevermind, it works now when opened with java.


----------



## StachuK1992 (Aug 5, 2011)

.jar is basically a .zip, so I understand why it might do that.


Got rid of the internal source - once done anything will be on github anyway, and I'd like to keep this just between Josef and I for now.


Also, it's only 90k now.


----------



## Erzz (Aug 6, 2011)

There is a minor bug I found. It only says "Working!" when I do something wrong. If I put in an H perm for example, the "Solve Cube" button gets pressed in and stays like that until the algorithms are generated. If I put a single opposite swap, an error will pop up and the button text changes to "Working!". Not sure why.


----------



## StachuK1992 (Aug 8, 2011)

Front-end 3.5!!!
Everything should be supported at this point.
Just to show everything, I set up a super-messy case:






And for a simpler case, an OLL:






Note: you *must* use your U-face color to define those orientation-only things...
I'll fix that for future versions.





Edit, oops I missed something..


----------



## Jorghi (Aug 12, 2011)

Is there a way to set up the cube to a specific generator instead of changing the colors?


----------



## cubeflip (Aug 12, 2011)

@Stachu (or anyone that knows)
I have a Mac... and it seems that CubeExplorer and aCube are meant for Windows/PC. Is there a way I could get a program similar or the same as CubeExplorer or aCube that works for Mac? Is there something additional I can download so that they will open on a Mac? Please let me know. Thanks a bunch.


----------



## riffz (Aug 12, 2011)

lolol virtualbox?


----------



## iEnjoyCubing (Aug 12, 2011)

Wow, can't believe I didn't notice this before  been playing around with it and it's pretty nice!


----------



## Jorghi (Aug 12, 2011)

When I set move restrictions it wont let me use double slices like r, f, u??


----------



## 5BLD (Aug 12, 2011)

cubeflip said:


> @Stachu (or anyone that knows)
> I have a Mac... and it seems that CubeExplorer and aCube are meant for Windows/PC. Is there a way I could get a program similar or the same as CubeExplorer or aCube that works for Mac? Is there something additional I can download so that they will open on a Mac? Please let me know. Thanks a bunch.


 
I had this problem too. Well actually I HAVE this problem.
Stachu was kind enough to assist me with it, but I think it either doesn't work because of the .bat files within, or that java 6 doesn't run on my mac.

He says he's working on an online version though, so let's hope 



riffz said:


> lolol virtualbox?


 
doesn't work on my ancient mac 
but that could be a solution for you, cubeflip.


----------



## uberCuber (Aug 12, 2011)

Jorghi said:


> When I set move restrictions it wont let me use double slices like r, f, u??


 
Look at the OP.

Current features:
-<U,R,L,D,B,F,M,S,E> move support


----------



## Jorghi (Aug 12, 2011)

So annoying having to replace E/U with u......


----------



## uberCuber (Aug 12, 2011)

E U doesn't equal u. E' U = u


----------



## Jorghi (Aug 12, 2011)

uberCuber said:


> E U doesn't equal u. E' U = u


 
Lol I feel like you set me up for that.


----------



## StachuK1992 (Aug 29, 2011)

aCube4 Beta is 'done.'
still need to work out bugs and port new text input to GUI.

Just a heads up.


----------

