[package]
edition = "2024"
rust-version = "1.95"
name = "rsshogi"
version = "1.0.2"
build = "build.rs"
exclude = ["src/bin/**"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable Rust shogi primitives for board state, move generation, legality, and record parsing."
readme = "README.md"
keywords = ["shogi"]
categories = ["games"]
license = "MIT"
repository = "https://github.com/nyoki-mtl/rsshogi"
resolver = "2"
[features]
book = [
"initial-positions",
"position-serialization",
]
default = []
hash-128 = []
initial-positions = []
policy-labels = []
position-serialization = []
python-data = [
"book",
"records",
"position-serialization",
"svg",
"validation",
]
records = [
"position-serialization",
"initial-positions",
"policy-labels",
"dep:encoding_rs",
"dep:serde",
"dep:serde_json",
"dep:ordered-float",
]
svg = []
validation = []
[lib]
name = "rsshogi"
path = "src/lib.rs"
[[example]]
name = "sazpack_measure"
path = "examples/sazpack_measure.rs"
required-features = ["records"]
[[example]]
name = "sbinpack_size_breakdown"
path = "examples/sbinpack_size_breakdown.rs"
required-features = ["records"]
[[test]]
name = "hash_primitives"
path = "tests/hash_primitives.rs"
[[test]]
name = "movegen_integration"
path = "tests/movegen_integration.rs"
[[test]]
name = "movegen_pinned_pieces"
path = "tests/movegen_pinned_pieces.rs"
[[test]]
name = "perft"
path = "tests/perft.rs"
[[test]]
name = "property_apply_move"
path = "tests/property_apply_move.rs"
[[test]]
name = "yaneu_compatibility"
path = "tests/yaneu_compatibility.rs"
[[bench]]
name = "apply_undo"
path = "benches/apply_undo.rs"
harness = false
[[bench]]
name = "movegen"
path = "benches/movegen.rs"
harness = false
[dependencies.encoding_rs]
version = "0.8"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.ordered-float]
version = "4.6"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.proptest]
version = "1.4"
features = ["std"]
default-features = false
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.shogi_core]
version = "0.1.5"