[badges.maintenance]
status = "experimental"
[dependencies.crossterm]
optional = true
version = ">=0.28.0, <0.30.0"
[dependencies.embedded-graphics]
optional = true
version = "^0.8"
[dependencies.embedded-graphics-core]
optional = true
version = "^0.4"
[dependencies.embedded-graphics-simulator]
default-features = false
features = ["with-sdl"]
optional = true
version = "0.8.0"
[dependencies.embedded-touch]
version = "^0.3.0"
[dependencies.fixed]
version = "^1.29"
[dependencies.fixed-macro]
version = "^1.2.0"
[dependencies.heapless]
version = "^0.9.1"
[dependencies.paste]
version = "1.0.15"
[dependencies.u8g2-fonts]
features = ["embedded_graphics_textstyle"]
optional = true
version = "0.7.2"
[dev-dependencies.tinytga]
version = "^0.5"
[[example]]
name = "crossterm"
path = "examples/crossterm.rs"
required-features = ["crossterm"]
[[example]]
name = "espresso"
path = "examples/espresso.rs"
required-features = ["embedded-graphics", "embedded-graphics-simulator"]
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
required-features = ["embedded-graphics", "embedded-graphics-simulator"]
[features]
crossterm = ["dep:crossterm", "std"]
default = ["embedded-graphics"]
embedded-graphics = ["dep:embedded-graphics", "dep:embedded-graphics-core", "dep:u8g2-fonts"]
embedded-graphics-simulator = ["embedded-graphics", "dep:embedded-graphics-simulator"]
std = []
[lib]
name = "buoyant"
path = "src/lib.rs"
[lints.clippy]
absolute_paths = "allow"
as_conversions = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_sign_loss = "allow"
derive_partial_eq_without_eq = "deny"
field_scoped_visibility_modifiers = "allow"
float_arithmetic = "allow"
indexing_slicing = "allow"
missing_const_for_fn = "allow"
missing_panics_doc = "warn"
needless_pass_by_ref_mut = "deny"
option_if_let_else = "deny"
ref_patterns = "allow"
renamed_function_params = "allow"
shadow_unrelated = "allow"
string_slice = "allow"
too_long_first_doc_paragraph = "warn"
type_repetition_in_bounds = "deny"
use_self = "deny"
useless_let_if_seq = "warn"
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.rust]
missing_debug_implementations = "deny"
unsafe_code = "forbid"
[package]
authors = ["Riley Williams"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["gui", "graphics", "no-std", "embedded"]
description = "SwiftUI-like UIs in Rust for embedded devices"
edition = "2024"
exclude = [".github", ".markdownlint.yml"]
keywords = ["ui", "gui", "graphics", "no-std", "embedded"]
license = "MIT OR Apache-2.0"
name = "buoyant"
readme = "README.md"
repository = "https://github.com/riley-williams/buoyant"
version = "0.6.1"
[package.metadata.typos.default]
extend-ignore-re = ['''
(?m)^\s*// @typos-ignore$
.*''']
[profile.release]
debug = 2
[[test]]
name = "animation"
path = "tests/animation.rs"
[[test]]
name = "aspect_ratio"
path = "tests/aspect_ratio.rs"
[[test]]
name = "background"
path = "tests/background.rs"
[[test]]
name = "button"
path = "tests/button.rs"
[[test]]
name = "conditional_view"
path = "tests/conditional_view.rs"
[[test]]
name = "divider"
path = "tests/divider.rs"
[[test]]
name = "fixed_frame"
path = "tests/fixed_frame.rs"
[[test]]
name = "flex_frame"
path = "tests/flex_frame.rs"
[[test]]
name = "foreach"
path = "tests/foreach.rs"
[[test]]
name = "geometry_group"
path = "tests/geometry_group.rs"
[[test]]
name = "geometry_reader"
path = "tests/geometry_reader.rs"
[[test]]
name = "hidden"
path = "tests/hidden.rs"
[[test]]
name = "hstack"
path = "tests/hstack.rs"
[[test]]
name = "match_view"
path = "tests/match_view.rs"
[[test]]
name = "mod"
path = "tests/mod.rs"
[[test]]
name = "offset"
path = "tests/offset.rs"
[[test]]
name = "opacity"
path = "tests/opacity.rs"
[[test]]
name = "overlay"
path = "tests/overlay.rs"
[[test]]
name = "padding"
path = "tests/padding.rs"
[[test]]
name = "priority"
path = "tests/priority.rs"
[[test]]
name = "render_inset_shapes"
path = "tests/render_inset_shapes.rs"
[[test]]
name = "spacer"
path = "tests/spacer.rs"
[[test]]
name = "text"
path = "tests/text.rs"
[[test]]
name = "view_that_fits"
path = "tests/view_that_fits.rs"
[[test]]
name = "vstack"
path = "tests/vstack.rs"
[[test]]
name = "zstack"
path = "tests/zstack.rs"