[[bench]]
harness = false
name = "animation"
path = "benches/animation.rs"
[[bench]]
name = "braille_mapping"
path = "benches/braille_mapping.rs"
[[bench]]
harness = false
name = "color_apply"
path = "benches/color_apply.rs"
[[bench]]
harness = false
name = "color_conversion"
path = "benches/color_conversion.rs"
[[bench]]
name = "color_rendering"
path = "benches/color_rendering.rs"
[[bench]]
harness = false
name = "color_schemes"
path = "benches/color_schemes.rs"
[[bench]]
harness = false
name = "core_rendering"
path = "benches/core_rendering.rs"
[[bench]]
name = "density"
path = "benches/density.rs"
[[bench]]
name = "dithering"
path = "benches/dithering.rs"
[[bench]]
harness = false
name = "extreme_image_pipeline"
path = "benches/extreme_image_pipeline.rs"
[[bench]]
name = "image_conversion"
path = "benches/image_conversion.rs"
[[bench]]
harness = false
name = "image_processing"
path = "benches/image_processing.rs"
required-features = ["image"]
[[bench]]
name = "image_resize"
path = "benches/image_resize.rs"
[[bench]]
name = "primitives"
path = "benches/primitives.rs"
[[bench]]
harness = false
name = "quick"
path = "benches/quick.rs"
[[bench]]
harness = false
name = "rendering"
path = "benches/rendering.rs"
[[bench]]
name = "svg_rendering"
path = "benches/svg_rendering.rs"
[dependencies.crossterm]
version = "0.29"
[dependencies.image]
optional = true
version = "0.25"
[dependencies.imageproc]
optional = true
version = "0.24"
[dependencies.ratatui]
version = "0.29"
[dependencies.resvg]
optional = true
version = "0.38"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.usvg]
optional = true
version = "0.38"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.7"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.10"
[dev-dependencies.tracing-subscriber]
version = "0.3"
[[example]]
name = "animation_buffer"
path = "examples/animation_buffer.rs"
[[example]]
name = "bouncing_ball"
path = "examples/animations/bouncing_ball.rs"
[[example]]
name = "braille_mapping_demo"
path = "examples/braille_mapping_demo.rs"
required-features = ["image"]
[[example]]
name = "circles_demo"
path = "examples/circles_demo.rs"
[[example]]
name = "circles_demo_simple"
path = "examples/circles_demo_simple.rs"
[[example]]
name = "clock"
path = "examples/animations/clock.rs"
[[example]]
name = "color_conversion_demo"
path = "examples/color_conversion_demo.rs"
[[example]]
name = "color_demo"
path = "examples/color_demo.rs"
[[example]]
name = "color_detection"
path = "examples/color_detection.rs"
[[example]]
name = "color_image"
path = "examples/color_image.rs"
required-features = ["image"]
[[example]]
name = "color_schemes_demo"
path = "examples/color_schemes_demo.rs"
[[example]]
name = "colored_shapes"
path = "examples/colored_shapes.rs"
[[example]]
name = "colored_shapes_simple"
path = "examples/colored_shapes_simple.rs"
[[example]]
name = "compare_all_sizes"
path = "examples/compare_all_sizes.rs"
required-features = ["image"]
[[example]]
name = "compare_resize_filters"
path = "examples/compare_resize_filters.rs"
required-features = ["image"]
[[example]]
name = "custom_image"
path = "examples/custom_image.rs"
required-features = ["image"]
[[example]]
name = "custom_scheme"
path = "examples/custom_scheme.rs"
[[example]]
name = "density_demo"
path = "examples/density_demo.rs"
[[example]]
name = "differential_demo"
path = "examples/differential_demo.rs"
[[example]]
name = "dither_comparison"
path = "examples/dither_comparison.rs"
required-features = ["image"]
[[example]]
name = "fireworks"
path = "examples/animations/fireworks.rs"
[[example]]
name = "fps_control"
path = "examples/fps_control.rs"
[[example]]
name = "generate_extreme_test_images"
path = "examples/generate_extreme_test_images.rs"
required-features = ["image"]
[[example]]
name = "heatmap"
path = "examples/heatmap.rs"
[[example]]
name = "hello_braille"
path = "examples/hello_braille.rs"
[[example]]
name = "image_browser"
path = "examples/image_browser.rs"
required-features = ["image", "svg"]
[[example]]
name = "lines_demo"
path = "examples/lines_demo.rs"
[[example]]
name = "load_image"
path = "examples/load_image.rs"
required-features = ["image"]
[[example]]
name = "loading_spinner"
path = "examples/animations/loading_spinner.rs"
[[example]]
name = "logging_demo"
path = "examples/logging_demo.rs"
[[example]]
name = "measure_extreme_baseline"
path = "examples/measure_extreme_baseline.rs"
required-features = ["image"]
[[example]]
name = "prerendered_demo"
path = "examples/prerendered_demo.rs"
[[example]]
name = "quick_demo"
path = "examples/quick_demo.rs"
[[example]]
name = "resize_image"
path = "examples/resize_image.rs"
required-features = ["image"]
[[example]]
name = "save_svg_raster"
path = "examples/save_svg_raster.rs"
required-features = ["image", "svg"]
[[example]]
name = "shapes_demo"
path = "examples/shapes_demo.rs"
[[example]]
name = "shapes_demo_simple"
path = "examples/shapes_demo_simple.rs"
[[example]]
name = "simple_animation"
path = "examples/simple_animation.rs"
[[example]]
name = "simple_image"
path = "examples/simple_image.rs"
required-features = ["image"]
[[example]]
name = "svg_demo"
path = "examples/svg_demo.rs"
required-features = ["image", "svg"]
[[example]]
name = "svg_font_quality"
path = "examples/svg_font_quality.rs"
required-features = ["image", "svg"]
[[example]]
name = "svg_font_visual_demo"
path = "examples/svg_font_visual_demo.rs"
required-features = ["image", "svg"]
[[example]]
name = "terminal_debug"
path = "examples/terminal_debug.rs"
[[example]]
name = "test_adaptive_resize_performance"
path = "examples/test_adaptive_resize_performance.rs"
required-features = ["image"]
[[example]]
name = "test_svg_background_fix"
path = "examples/test_svg_background_fix.rs"
required-features = ["image", "svg"]
[[example]]
name = "test_svg_loading"
path = "examples/test_svg_loading.rs"
required-features = ["image", "svg"]
[[example]]
name = "test_svg_manual"
path = "examples/test_svg_manual.rs"
required-features = ["image", "svg"]
[[example]]
name = "threshold_demo"
path = "examples/threshold_demo.rs"
required-features = ["image"]
[[example]]
name = "view_image"
path = "examples/view_image.rs"
required-features = ["image"]
[[example]]
name = "waveform"
path = "examples/animations/waveform.rs"
[features]
default = []
image = ["dep:image", "dep:imageproc"]
svg = ["dep:resvg", "dep:usvg"]
[lib]
name = "dotmax"
path = "src/lib.rs"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
doc_markdown = "allow"
imprecise_flops = "allow"
needless_pass_by_value = "allow"
too_many_lines = "allow"
uninlined_format_args = "allow"
unnecessary_cast = "allow"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[package]
authors = ["Frosty"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-interface", "graphics", "rendering"]
description = "High-performance terminal braille rendering for images, animations, and graphics"
documentation = "https://docs.rs/dotmax"
edition = "2021"
exclude = [".github/", ".bmad/", ".claude/", ".augment/", ".gemini/", "docs/sprint-artifacts/", "docs/profiling/", "docs/adr/", "docs/*.yaml", "docs/bmm-*", "docs/*-2025-*.md", "docs/PRD.md", "docs/epics.md", "docs/research-*.md", "docs/implementation-*.md", "docs/sprint-*.md", "tests/visual/", "tests/assets/", "tests/fixtures/", "tests/test_assets/", "*.context.xml", "BRAILLE_GRAPHICS_MASTER_PLAN.md"]
homepage = "https://github.com/frosty40/dotmax"
keywords = ["terminal", "braille", "graphics", "cli", "visualization"]
license = "MIT OR Apache-2.0"
name = "dotmax"
readme = "README.md"
repository = "https://github.com/frosty40/dotmax"
rust-version = "1.70"
version = "0.1.2"
[[test]]
name = "density_integration_tests"
path = "tests/density_integration_tests.rs"
[[test]]
name = "image_loading_tests"
path = "tests/image_loading_tests.rs"
[[test]]
name = "image_rendering_tests"
path = "tests/image_rendering_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[test]]
name = "visual_regression"
path = "tests/visual_regression.rs"