Module: Sashite
- Defined in:
- lib/sashite-ggn.rb,
lib/sashite/ggn.rb,
lib/sashite/ggn/schema.rb,
lib/sashite/ggn/ruleset.rb,
lib/sashite/ggn/move_validator.rb,
lib/sashite/ggn/ruleset/source.rb,
lib/sashite/ggn/validation_error.rb,
lib/sashite/ggn/ruleset/source/destination.rb,
lib/sashite/ggn/ruleset/source/destination/engine.rb,
lib/sashite/ggn/ruleset/source/destination/engine/transition.rb
Overview
Sashité - Abstract Strategy Board Games Notation Library
This library provides a comprehensive implementation of the General Gameplay Notation (GGN) specification, which is a rule-agnostic, JSON-based format for describing pseudo-legal moves in abstract strategy board games.
GGN focuses exclusively on board-to-board transformations: pieces moving, capturing, or transforming on the game board. Hand management, drops, and captures-to-hand are outside the scope of this specification.
GGN works alongside other Sashité specifications:
-
GAN (General Actor Notation): Unique piece identifiers
-
FEEN (Forsyth-Edwards Enhanced Notation): Board position representation
-
PMN (Portable Move Notation): Move sequence representation
Defined Under Namespace
Modules: Ggn