opentui_rust 0.2.1

High-performance terminal UI rendering engine with alpha blending and diffed buffers
Documentation
# 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"
rust-version = "1.85"
name = "opentui_rust"
version = "0.2.1"
build = false
exclude = [
    "*.png",
    "*.webp",
    "beads_import.md",
    "claude-upgrade-progress.json",
    "AGENTS.md",
    "IMPLEMENTATION_REPORT.md",
    "UPGRADE_LOG.md",
    "PLAN_TO_PORT_OPENTUI_TO_RUST.md",
    "EXISTING_OPENTUI_STRUCTURE.md",
    "PROPOSED_RUST_ARCHITECTURE.md",
    ".beads/",
    "target-sagebeacon/",
    "scripts/",
    "a.out",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance terminal UI rendering engine with alpha blending and diffed buffers"
homepage = "https://github.com/Dicklesworthstone/opentui_rust"
documentation = "https://docs.rs/opentui_rust"
readme = "README.md"
keywords = [
    "tui",
    "terminal",
    "ui",
    "cli",
]
categories = [
    "command-line-interface",
    "rendering",
]
license = "MIT"
repository = "https://github.com/Dicklesworthstone/opentui_rust"

[features]
default = []
pty-tests = []

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

[[bin]]
name = "demo_showcase"
path = "src/bin/demo_showcase.rs"

[[example]]
name = "01_hello_terminal"
path = "examples/01_hello_terminal.rs"

[[example]]
name = "02_colors"
path = "examples/02_colors.rs"

[[example]]
name = "03_styles"
path = "examples/03_styles.rs"

[[example]]
name = "04_drawing"
path = "examples/04_drawing.rs"

[[example]]
name = "05_scissor"
path = "examples/05_scissor.rs"

[[example]]
name = "06_opacity"
path = "examples/06_opacity.rs"

[[example]]
name = "07_input"
path = "examples/07_input.rs"

[[example]]
name = "08_animation"
path = "examples/08_animation.rs"

[[example]]
name = "09_text_buffer"
path = "examples/09_text_buffer.rs"

[[example]]
name = "11_highlighting"
path = "examples/11_highlighting.rs"

[[example]]
name = "15_dashboard"
path = "examples/15_dashboard.rs"

[[example]]
name = "editor"
path = "examples/editor.rs"

[[example]]
name = "hello"
path = "examples/hello.rs"

[[example]]
name = "threaded"
path = "examples/threaded.rs"

[[test]]
name = "benchmark_comparison"
path = "tests/benchmark_comparison.rs"

[[test]]
name = "benchmarks_validate"
path = "tests/benchmarks_validate.rs"

[[test]]
name = "buffer_edge_cases"
path = "tests/buffer_edge_cases.rs"

[[test]]
name = "cell_tests"
path = "tests/cell_tests.rs"

[[test]]
name = "conformance"
path = "tests/conformance.rs"

[[test]]
name = "demo_showcase_snapshots"
path = "tests/demo_showcase_snapshots.rs"

[[test]]
name = "e2e_input_flow"
path = "tests/e2e_input_flow.rs"

[[test]]
name = "e2e_input_output"
path = "tests/e2e_input_output.rs"

[[test]]
name = "e2e_perf"
path = "tests/e2e_perf.rs"

[[test]]
name = "e2e_render_cycle"
path = "tests/e2e_render_cycle.rs"

[[test]]
name = "e2e_unicode"
path = "tests/e2e_unicode.rs"

[[test]]
name = "e2e_workflows"
path = "tests/e2e_workflows.rs"

[[test]]
name = "examples_compile"
path = "tests/examples_compile.rs"

[[test]]
name = "fixtures_test"
path = "tests/fixtures_test.rs"

[[test]]
name = "golden_rendering"
path = "tests/golden_rendering.rs"

[[test]]
name = "highlight_e2e"
path = "tests/highlight_e2e.rs"

[[test]]
name = "memory_safety_regression"
path = "tests/memory_safety_regression.rs"

[[test]]
name = "proptest_buffer_diff"
path = "tests/proptest_buffer_diff.rs"

[[test]]
name = "proptest_color_ops"
path = "tests/proptest_color_ops.rs"

[[test]]
name = "proptest_text_unicode"
path = "tests/proptest_text_unicode.rs"

[[test]]
name = "pty_e2e"
path = "tests/pty_e2e.rs"

[[test]]
name = "repro_issue_diff_panic"
path = "tests/repro_issue_diff_panic.rs"

[[test]]
name = "repro_issue_text_drawing"
path = "tests/repro_issue_text_drawing.rs"

[[test]]
name = "repro_issues"
path = "tests/repro_issues.rs"

[[test]]
name = "security_regression"
path = "tests/security_regression.rs"

[[test]]
name = "visual_pty_test"
path = "tests/visual_pty_test.rs"

[[bench]]
name = "buffer"
path = "benches/buffer.rs"
harness = false

[[bench]]
name = "color"
path = "benches/color.rs"
harness = false

[[bench]]
name = "highlight"
path = "benches/highlight.rs"
harness = false

[[bench]]
name = "input"
path = "benches/input.rs"
harness = false

[[bench]]
name = "renderer"
path = "benches/renderer.rs"
harness = false

[[bench]]
name = "text"
path = "benches/text.rs"
harness = false

[[bench]]
name = "unicode"
path = "benches/unicode.rs"
harness = false

[[bench]]
name = "workloads"
path = "benches/workloads.rs"
harness = false

[dependencies.bitflags]
version = "2.10"

[dependencies.libc]
version = "0.2.180"

[dependencies.ropey]
version = "1.6"

[dependencies.unicode-bidi]
version = "0.3.18"

[dependencies.unicode-normalization]
version = "0.1.25"

[dependencies.unicode-segmentation]
version = "1.12"

[dependencies.unicode-width]
version = "0.2"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.insta]
version = "1.46"
features = ["json"]

[dev-dependencies.portable-pty]
version = "0.8"

[dev-dependencies.proptest]
version = "1.9"

[dev-dependencies.serde]
version = "1"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1"

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

[dev-dependencies.tracing]
version = "0.1.44"

[dev-dependencies.tracing-subscriber]
version = "0.3.22"

[dev-dependencies.vt100]
version = "0.15"

[lints.clippy]
all = "warn"
nursery = "warn"
pedantic = "warn"

[lints.rust]
unsafe_code = "warn"

[profile.dev]
opt-level = 1

[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true