[package]
edition = "2024"
name = "formation-chess-web"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rules engine and text notation for Formation Chess (阵棋), a strategy board game where piece formations reshape nearby abilities"
readme = "README.md"
keywords = [
"board-game",
"abstract-game",
"chess",
"xiangqi",
"strategy",
]
categories = ["games"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/LambdaAlpha/formation-chess"
[[bin]]
name = "formation-chess-web"
path = "src/main.rs"
[dependencies.axum]
version = "0.8"
[dependencies.formation-chess-core]
version = "0.2"
[dependencies.rust-embed]
version = "8"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.webbrowser]
version = "1"
[lints.clippy]
as_pointer_underscore = "warn"
as_underscore = "warn"
assertions_on_result_states = "warn"
assigning_clones = "warn"
branches_sharing_code = "warn"
clone_on_ref_ptr = "warn"
cognitive_complexity = "warn"
collapsible_else_if = "allow"
collection_is_never_read = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
decimal_literal_representation = "warn"
error_impl_error = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
format_collect = "warn"
format_push_string = "warn"
ignored_unit_patterns = "warn"
implicit_clone = "warn"
inefficient_to_string = "warn"
infinite_loop = "warn"
items_after_statements = "warn"
manual_is_variant_and = "warn"
manual_let_else = "warn"
map_unwrap_or = "warn"
match_wildcard_for_single_variants = "warn"
missing_assert_message = "warn"
mod_module_files = "warn"
multiple_inherent_impl = "warn"
multiple_unsafe_ops_per_block = "warn"
mut_mut = "warn"
mutable_key_type = "allow"
needless_bitwise_bool = "warn"
needless_continue = "warn"
needless_raw_strings = "warn"
nonstandard_macro_braces = "warn"
partial_pub_fields = "warn"
pub_underscore_fields = "warn"
range_minus_one = "warn"
range_plus_one = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
redundant_else = "warn"
ref_binding_to_reference = "warn"
rest_pat_in_fully_bound_structs = "warn"
return_and_then = "warn"
semicolon_if_nothing_returned = "warn"
semicolon_inside_block = "warn"
significant_drop_in_scrutinee = "warn"
significant_drop_tightening = "warn"
single_match_else = "warn"
stable_sort_primitive = "warn"
todo = "warn"
trait_duplication_in_bounds = "warn"
trivially_copy_pass_by_ref = "warn"
try_err = "warn"
type_repetition_in_bounds = "warn"
undocumented_unsafe_blocks = "warn"
unimplemented = "warn"
unnecessary_self_imports = "warn"
unnecessary_semicolon = "warn"
unnecessary_struct_initialization = "warn"
unneeded_field_pattern = "warn"
unnested_or_patterns = "warn"
unused_peekable = "warn"
unused_result_ok = "warn"
used_underscore_binding = "warn"
used_underscore_items = "warn"
useless_let_if_seq = "warn"
zero_sized_map_values = "warn"
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.rust]
ambiguous_negative_literals = "warn"
non_ascii_idents = "deny"
redundant_imports = "warn"
redundant_lifetimes = "warn"
unconditional_recursion = "warn"
unit_bindings = "warn"
unstable_features = "deny"
unused_lifetimes = "warn"
unused_qualifications = "warn"
while_true = "warn"
[lints.rust.bad_style]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = -1