# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "blaze-vt"
version = "0.1.0"
authors = ["Matt Mastracci <matthew@mastracci.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A VT420 terminal emulator"
readme = "README.md"
license = "AGPL-3.0"
repository = "https://github.com/mmastrac/blaze"
resolver = "2"

[features]
default = [
    "graphics",
    "tui",
    "pty",
    "demo",
    "vram-dump",
]
demo = [
    "dep:vt-push-parser",
    "dep:ratatui",
]
embed-rom = []
graphics = [
    "dep:pixels",
    "dep:winit",
    "dep:winit_input_helper",
    "dep:pollster",
]
pc-trace = []
pty = ["ssu/pty"]
run-wasm = ["dep:cargo-run-wasm"]
serial = ["ssu/serial"]
tui = [
    "dep:ratatui",
    "ratatui/crossterm",
    "dep:i8051-debug-tui",
]
vram-dump = ["dep:png"]
wasm = [
    "graphics",
    "embed-rom",
    "ssu/wasm",
    "dep:web-time",
]

[lib]
name = "blaze_vt"
path = "src/lib.rs"

[[bin]]
name = "blaze-vt"
path = "src/main.rs"

[[example]]
name = "char-square"
path = "examples/char-square.rs"

[[example]]
name = "disassemble-rom"
path = "examples/disassemble-rom.rs"

[[example]]
name = "run-wasm"
path = "examples/run-wasm.rs"
required-features = ["run-wasm"]

[[example]]
name = "soft-font"
path = "examples/soft-font.rs"

[[example]]
name = "wasm-examples"
path = "examples/wasm-examples.rs"
required-features = ["run-wasm"]

[dependencies.bytemuck]
version = "1.24"
features = ["derive"]

[dependencies.cargo-run-wasm]
version = "0.4.0"
optional = true

[dependencies.clap]
version = "4.6"
features = ["derive"]

[dependencies.game-loop]
version = "=1.3.0"
features = ["winit"]
optional = true

[dependencies.hex-literal]
version = "1.1"

[dependencies.i8051]
version = "0.22.0"

[dependencies.i8051-debug-tui]
version = "0.22.0"
optional = true

[dependencies.i8051-disassembler]
version = "0.22.0"

[dependencies.lk201]
version = "0.1.1"

[dependencies.paste]
version = "1"

[dependencies.pixels]
version = "0.17.1"
features = []
optional = true

[dependencies.png]
version = "0.18"
optional = true

[dependencies.pollster]
version = "0.4.0"
optional = true

[dependencies.ratatui]
version = "0.30.0-beta.0"
optional = true
default-features = false

[dependencies.ssu]
version = "0.1.1"
features = ["session-config"]
default-features = false

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-subscriber]
version = "0.3.20"

[dependencies.type-mapper]
version = "0.1.2"

[dependencies.vt-push-parser]
version = "0.13.1"
optional = true

[dependencies.web-time]
version = "1.1.0"
optional = true

[dependencies.winit]
version = "0.30.13"
optional = true

[dependencies.winit_input_helper]
version = "=0.17.0"
optional = true

[dev-dependencies.axum]
version = "0.8.7"

[dev-dependencies.rstest]
version = "0.26"

[dev-dependencies.tempfile]
version = "3.23"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[dev-dependencies.tower-http]
version = "0.7.0"
features = ["fs"]

[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"

[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.82"
features = []

[target.'cfg(target_arch = "wasm32")'.dependencies.tracing-wasm]
version = "0.2.1"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.105"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.46"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.82"
features = [
    "GpuTextureFormat",
    "Window",
    "Document",
    "Element",
    "HtmlElement",
    "HtmlCanvasElement",
    "Event",
    "CssStyleDeclaration",
    "Navigator",
    "Gpu",
    "Location",
]

[profile.release]
debug = 2
