[package] name = "tf-demo-parser" description = "parser for tf2 demo files" version = "0.7.0" authors = ["Robin Appelman "] edition = "2021" license = "MIT OR Apache-2.0" repository = "https://codeberg.org/demostf/parser" exclude = ["tests/fuzz", "test_data"] default-run = "parse_demo" rust-version = "1.75.0" [lib] name = "tf_demo_parser" path = "src/lib.rs" [[bin]] name = "parse_demo" path = "src/bin/main.rs" [[bin]] name = "reencode_demo" path = "src/bin/reencode.rs" required-features = ["write"] [[bin]] name = "gamestate" path = "src/bin/gamestate.rs" [[bin]] name = "schema" path = "src/bin/schema.rs" required-features = ["schema"] [[bin]] name = "codegen" path = "src/bin/codegen.rs" required-features = ["codegen"] [[bin]] name = "strings" path = "src/bin/strings.rs" [[bin]] name = "direct_hits" path = "src/bin/direct_hits.rs" [dependencies] bitbuffer = { version = "0.11.3", features = ["serde"] } num_enum = "0.7.2" num-traits = "0.2.19" enumflags2 = { version = "0.7.10", features = ["serde"] } snap = "1.1.1" serde = { version = "1.0.203", features = ["derive", "rc"] } serde_json = "1.0.117" serde_repr = "0.1.19" thiserror = "2.0.4" parse-display = "0.9.1" main_error = "0.1.2" jemallocator = { version = "0.5.4", optional = true } better-panic = { version = "0.3.0", optional = true } fnv = "1.0.7" tracing = { version = "0.1.40", optional = true } tracing-subscriber = { version = "0.3.18", features = ["env-filter"], optional = true } itertools = "0.14.0" const-fnv1a-hash = "1.1.0" # schema schemars = { version = "1.0.4", optional = true } # codegen quote = { version = "1", optional = true } syn = { version = "2", features = ["full"], optional = true } Inflector = { version = "0.11", default-features = false, optional = true } proc-macro2 = { version = "1", optional = true } tempfile = { version = "3", optional = true } lazy_static = { version = "1", optional = true } prettyplease = { version = "0.2", optional = true } log = { version = "0.4.21", features = [] } [features] schema = ["schemars", "bitbuffer/schemars_1"] trace = ["tracing", "tracing-subscriber"] codegen = ["better-panic", "quote", "syn", "Inflector", "proc-macro2", "tempfile", "lazy_static", "prettyplease"] write = [] [dev-dependencies] pretty_assertions = "1.4.0" test-case = "3.3.1" iai-callgrind = "0.15.2" insta = { version = "1.39.0", features = ["json"] } [profile.release] lto = "thin" [profile.bench] debug = true [profile.dev] opt-level = 2 [[bench]] name = "parse" harness = false