The game result is persisted in SGF using the RE game info property.
Current state:
RE property is written to SGF only when the game ends by resignation. Win-on-time and forfeit are supported by SgfUtilities, method gameResultForGoGameHasEndedReason, but at the moment the app does not support these things.
When the user performs scoring, the app does not write the result of the scoring into the RE property.
Furthermore when the user leaves scoring mode the app forgets about the score
Desired state
The app remembers scoring result even when the user leaves scoring mode
The app writes the scoring result to the RE property
What complicates matters is the support for game variations. Currently when the user changes from game variation A, where a game result exists, to game variation B, the app forgets about the game result in variation A. Examples:
Game state = Ended with Resigned => User changes to a different game variation => The app forgets about the Ended with Resigned state.
Game State = Ended with Score => User changes to a different game variation => The app forgets about the Ended with Score state
While the app could be made to remember the ended states for each game variation, this information would be lost when writing to SGF. Reason: SGF allows to store only one game result for the entire game, because the RE property is a game info property that must be written to a game info node, and there can only be one game info node per game.
The game result is persisted in SGF using the RE game info property.
Current state:
SgfUtilities
, methodgameResultForGoGameHasEndedReason
, but at the moment the app does not support these things.Desired state
What complicates matters is the support for game variations. Currently when the user changes from game variation A, where a game result exists, to game variation B, the app forgets about the game result in variation A. Examples:
While the app could be made to remember the ended states for each game variation, this information would be lost when writing to SGF. Reason: SGF allows to store only one game result for the entire game, because the RE property is a game info property that must be written to a game info node, and there can only be one game info node per game.