sashite-pnn 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +430 -231
- data/lib/sashite/pnn/piece.rb +339 -132
- data/lib/sashite/pnn.rb +38 -29
- data/lib/sashite-pnn.rb +9 -16
- metadata +13 -11
data/lib/sashite-pnn.rb
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "sashite/pnn"
|
|
4
|
+
|
|
3
5
|
# Sashité namespace for board game notation libraries
|
|
6
|
+
#
|
|
7
|
+
# Sashité provides a collection of libraries for representing and manipulating
|
|
8
|
+
# board game concepts according to the Game Protocol specifications.
|
|
9
|
+
#
|
|
10
|
+
# @see https://sashite.dev/game-protocol/ Game Protocol Foundation
|
|
11
|
+
# @see https://sashite.dev/specs/ Sashité Specifications
|
|
12
|
+
# @author Sashité
|
|
4
13
|
module Sashite
|
|
5
|
-
# Piece Name Notation (PNN) implementation for Ruby
|
|
6
|
-
#
|
|
7
|
-
# PNN extends PIN (Piece Identifier Notation) to provide style-aware piece
|
|
8
|
-
# representation in abstract strategy board games. PNN adds a derivation marker
|
|
9
|
-
# that distinguishes pieces by their style origin, enabling cross-style game
|
|
10
|
-
# scenarios and piece origin tracking.
|
|
11
|
-
#
|
|
12
|
-
# Format: <pin>[<suffix>]
|
|
13
|
-
# - PIN component: [<state>]<letter> (from PIN specification)
|
|
14
|
-
# - Suffix: "'" for foreign style, none for native style
|
|
15
|
-
#
|
|
16
|
-
# @see https://sashite.dev/specs/pnn/1.0.0/ PNN Specification v1.0.0
|
|
17
|
-
# @see https://sashite.dev/specs/pin/1.0.0/ PIN Specification v1.0.0
|
|
18
|
-
# @author Sashité
|
|
19
14
|
end
|
|
20
|
-
|
|
21
|
-
require_relative "sashite/pnn"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sashite-pnn
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cyril Kato
|
|
@@ -15,20 +15,22 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 2.0.2
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
26
|
-
description:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
version: 2.0.2
|
|
26
|
+
description: |
|
|
27
|
+
PNN (Piece Name Notation) extends PIN to provide style-aware piece representation
|
|
28
|
+
in abstract strategy board games. This gem implements the PNN Specification v1.0.0 with
|
|
29
|
+
a modern Ruby interface featuring immutable piece objects and functional programming
|
|
30
|
+
principles. PNN adds derivation markers to PIN that distinguish pieces by their style
|
|
31
|
+
origin, enabling cross-style game scenarios and piece origin tracking. Represents all
|
|
32
|
+
four Game Protocol piece attributes with full PIN backward compatibility. Perfect for
|
|
33
|
+
game engines, cross-tradition tournaments, and hybrid board game environments.
|
|
32
34
|
email: contact@cyril.email
|
|
33
35
|
executables: []
|
|
34
36
|
extensions: []
|
|
@@ -65,6 +67,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
65
67
|
requirements: []
|
|
66
68
|
rubygems_version: 3.6.9
|
|
67
69
|
specification_version: 4
|
|
68
|
-
summary:
|
|
69
|
-
|
|
70
|
+
summary: PNN (Piece Name Notation) implementation for Ruby extending PIN with style
|
|
71
|
+
derivation markers
|
|
70
72
|
test_files: []
|