• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

aCube frontend v3.4 release! (beta)

StachuK1992

statue
Joined
Jul 24, 2008
Messages
3,812
Location
West Chester, PA
WCA
2008KORI02
YouTube
Visit Channel
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:
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. :)
 
Last edited:

riffz

Member
Joined
Oct 3, 2008
Messages
2,068
Location
Toronto (Canada)
WCA
2009HOLT01
YouTube
Visit Channel
  • Wide-turn support.
  • M' vs M move restrictions, and restrictions likewise.
  • Everything will be on github.
  • It will be faster. Significantly.
  • Pre-pruned tables will be an option. This means not waiting 15+ s in order to have the program actually look for a solution. :)
  • Less memory (RAM) usage.
  • GUI. We'll support both GUI and command ACube4, but GUI will likely be more supported than not.
  • If the pre-pruned tables work out nicely, I could host a server-side ACube. Yeah, that's kind of awesome.

YAY
 

whauk

Member
Joined
Sep 28, 2008
Messages
464
Location
Germany
WCA
2008KARL02
YouTube
Visit Channel
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)
 

cuBerBruce

Member
Joined
Oct 8, 2006
Messages
914
Location
Malden, MA, USA
WCA
2006NORS01
YouTube
Visit Channel
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

statue
Joined
Jul 24, 2008
Messages
3,812
Location
West Chester, PA
WCA
2008KORI02
YouTube
Visit Channel
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?
 
Last edited:

Erzz

Premium Member
Joined
Sep 9, 2010
Messages
676
Location
Canada
YouTube
Visit Channel
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.
 

qqwref

Member
Joined
Dec 18, 2007
Messages
7,834
Location
a <script> tag near you
WCA
2006GOTT01
YouTube
Visit Channel
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 :D
 

cuBerBruce

Member
Joined
Oct 8, 2006
Messages
914
Location
Malden, MA, USA
WCA
2006NORS01
YouTube
Visit Channel
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.
 
Last edited:

masterofthebass

Premium Member
Joined
May 13, 2007
Messages
3,923
Location
Denver, CO
WCA
2007COHE01
YouTube
Visit Channel
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 :D Here's a screenshot:

0Vqm1.png
 
Last edited:

cuBerBruce

Member
Joined
Oct 8, 2006
Messages
914
Location
Malden, MA, USA
WCA
2006NORS01
YouTube
Visit Channel
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.
 

Attachments

  • CubeApp.jpg
    CubeApp.jpg
    39 KB · Views: 21

StachuK1992

statue
Joined
Jul 24, 2008
Messages
3,812
Location
West Chester, PA
WCA
2008KORI02
YouTube
Visit Channel
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? :)
 

StachuK1992

statue
Joined
Jul 24, 2008
Messages
3,812
Location
West Chester, PA
WCA
2008KORI02
YouTube
Visit Channel
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.
 
Top