- Change
"superko"
as a ko setting to"positional-superko"
to be explicit. - Support situational and natural situational superko variants. (#31)
- Two consecutive passes will now always end the game under equivalence scoring. Previously, the requirement that white "pass" last was implemented as a game-ending requirement. Now, the game will always end after 2 passes, with the score handling the extra white pass stone to represent a "pass" move. (#30)
playAt
now returnsfalse
for a move which is illegal on the basis of ko. Previously it incorrectly returnednull
.playAt
andintersectionAt
will now throw an error if given intersection values are not on the board.Game
creation will throw an error for option keys which are valid, but where the value is given as null or undefined. This is to prevent defaults from unknowingly being used.- Calling
setup()
on aGame
is removed. Setup should now happen in the constructor, e.g.,new Game({ element: el, boardSize: 13 })
. Similarly forClient
. - Dead stone marking is now faster in cases where there are many groups.
playAt
,pass
andtoggleDeadAt
now accept{ render: false }
as an argument, which skips board rendering. This allows, e.g., playing N moves without rendering the board, then manually rendering once each has been played.- Some general improvements to board rendering.
- Dead stone marking now happens in bulk based on regions.
- Board and stone colors have been lightened.
.tenuki-board-textured
is now the default. To use flat stone styling with no gradients or shadows, set.tenuki-board-flat
as the class name.- Allow the SVG renderer to function properly when the URL has a URI fragment / hash. (#38, maackle)
Full changes: v0.2.2...v0.3.1