[ggo-discussion] Re: tree demo

  • From: Peter Strempel <pstrempel@xxxxxx>
  • To: ggo-discussion@xxxxxxxxxxxxx
  • Date: Thu, 29 Jan 2004 10:17:44 +0100

On Wed, Jan 28, 2004 at 06:56:04PM -0500, Nazif, Zaher A. wrote:

> Thanks for incorporating comments.

It would be quite senseless if I first asked for comments and then ignored
them. :*)

> Unfortunately I could not get the load button that you mentioned (I put a
> foo.sgf in the directory!). However, I got a good feel by clicking away at
> the board. 

No idea, worked for me on both Linux and Windows. Board must have the focus,
else the "l" key wont be caught. I wont bother about this, not relevant.

> Both displays:
> - There is no way to insert a move within a branch without causing another
> branch to be created. This may be controlled by a configurable parameter or
> a create variation mouse click (little ugly).

This is more customizable in the both gGo and glGo editors, where you can
"edit" stones, as opposed to "play" stones. "Playing" will always create a
new branch, the demo only supports playing, no editing.

> - There seems to be no way to enter a no-op node or a pass or more than one
> node of the same color. 

Right, not in the demo. But possible in the glGo editor where you can pass
and switch the turn color to force two black moves in a row for example. The
demo has a pretty dumb black-white-black-etc. logic, I just copied the
essential parts over without the extra features.
no-op does not exist in gGo/glGo because some SGF editors choke on that. A
node is either a real move or a move which includes edited stones (SGF
AB/AW/AE properties) or a pass. Empty nodes are legal by SGF definitions,
but those files dont load right in some other editors (what is the turn
color after a no-op move?), and then people say my editor saves corrupt
files. So creating no-op is intentionally not implemented. Though, in real
life pass or no-op makes no difference, it's merely just a way how a "move
without stone" is saved to SGF.

> - The move numbers are getting messed up, such as move 29 followed by 177 :)

Fixed, stupid mistake.

> - The variations are created inline, therefore interrupting the main flow.
> Is there a way to put them outside?
> - It seems that the variations can be folded but not the main flow (from a
> point in the middle). This can be done if at the point of a branch, the rest
> of the nodes are treated as a branch to with the +/- signs; i.e. the main
> flow becomes a branch too starting at that point.

Good point.
The display didnt work anymore when there were more than one branch. I
changed the whole concept now, so when there is a branch it will list all
brothers of the current main node with the subtree of each branch folded.
Difficult to explain, try test-5, probably available later today.

I looked long at SmartGo and MultiGo trying to come up with something in the
middle of both. The fundamental difference of SmartGo is, it prints the tree
in horizontal order, folding each move, while MultiGo shows moves vertical
and folds branches. I like the second better, the first is too much clicking
for navigation.

>  - Can probably make the circles and fonts smaller.

Maybe customizable, I personally wouldnt want it much smaller. Not everyone
out there with perfect eyesight (includes myself).

> - The circles can be smaller to allow more vertical distance when nothing is
> displayed. This becomes necessary when a branch is folded and there is a
> vertical line left but also a node under it from a separate branch.

Slightly changed, the small vertical line shows up again more significantly.

The state of tree-demo-4 is now implemented in glGo. I am changing the above
things in the prototype now, so I will probably make a new glGo release with
then state of demo-5 (though that doesnt mean it's the final decision how it

Node names are shown in the treelist, quite useful for Kogo. Idea is to make
node names editable by clicking on the tree item, but that's not too
important now.

I look a bit at the Java classes for adding it to gGo. Unfortunately a 1:1
port doesnt seem possible, to the gGo implementation will take some time.


Other related posts: