Loading ...
Sorry, an error occurred while loading the content.

Re: Question about printing annotated SGF

Expand Messages
  • Arno Hollosi
    ... You might put it that way, although it is not really what this is about. SGF standard always assumed that properties are only valid in the context of the
    Message 1 of 5 , Jul 23 2:12 AM
    • 0 Attachment
      > Ok, fair enough. In an interactive representation it's as if
      > there is an FG[] after every move, right?

      You might put it that way, although it is not really what this is about. SGF
      standard always assumed that properties are only valid in the context of the
      current node. FG[] is used to mark where figures begin and where they end.

      > Is CR a special markup, different from MA, or SQ for example?

      No. I was just implying that it only marks the current move and thus is not
      important. Markup holding special information would be e.g. TB, TW (territory
      markup).

      > However, the example I gave had one FG[] attached to the final
      > move, this was intentional. I was discussing the print to paper
      > containing various moves:

      Well, actually FG[] should be at the beginning because the spec clearly
      states:
      The figure property is used to divide a game into
      different figures for printing: a new figure starts at the
      node containing a figure property.

      See also: http://www.red-bean.com/sgf/examples/

      > Or could one argue that annotations are included in the diagram
      > unless they would obscure other information and are removed after
      > the FG[] has been processed (similar to interactive mode with FG
      > at each move)?

      The spec is vague at that point. I think up to (and including) FF4 printing
      was never a strong point of SGF, although FF4 made some progress in that
      direction (FG, PM, VW).

      For interactive representation it is clear: remove markup once you leave the
      node. Printing applications may have different needs that are currently not
      addressed in SGF. Here it is left to the application how to handle this.

      The problem is of course, how would your application handle something like
      this: (;FG[];LB[aa:1];LB[aa:2];LB[bb:1])

      Two problems: 'aa' holds two different markups in two different nodes and
      referring to '1' may be ambiguous too: is it 'aa' or 'bb'? In the context of
      "interactive displaying" there's no problem as at every node only one label
      is visible, thus no ambiguity. In the example files at red-bean I therefore
      moved all relevant markup to the last node of the figure.

      The real problem is: if you have an SGF file that was edited with printing at
      the back of your mind, it will avoid ambiguities. Thus showing all markup
      that occurs between two FG[] properties is straight-forward. One could argue
      that you could also move all markup to the last node like I did for the
      example files.

      However, if you have an SGF file that was edited for online representation
      (e.g. GTL reviews) you cannot assume that markup will not overlap. Printing
      in that case either produces "errors" or needs some kind of user interaction.

      My personal opinion is that printing should always involve some kind of dialog
      with the user where they can set various kinds of options. Showing "all
      markup" or just the "markup of the latest move" being one of those options.

      /Arno
    • MENON Jean-Francois
      ... I agree with that. I had to change my code only to handle KGS files, and I think it is not a good thing. jf -- _________________________________________ /
      Message 2 of 5 , Jul 24 11:59 PM
      • 0 Attachment
        Arno Hollosi wrote:

        >
        > > The SGF style given as an example is produced by KGS and
        > > the rationale as I was told was that while replaying the
        > > game with cgoban the last move would be indicated with a
        > > circle.
        >
        > I don't like KGS' CR properties - but that's my personal opinion. I believe
        > that it is up to the application to mark the last move, if the user likes to
        > have it that way. And I cannot think of one SGF editor prior to KGS that
        > didn't mark the last move.
        >

        I agree with that. I had to change my code only to handle KGS' files,
        and I think it is not a good thing.

        jf


        --
        _________________________________________
        / do you play Go? \
        |http://jeanfrancois.menon.free.fr/rubygo |
        \ /
        -----------------------------------------
        \ ^__^
        \ (oo)\_______
        (__)\ )\/\
        ||----w |
        || ||
      Your message has been successfully submitted and would be delivered to recipients shortly.