
# Objective Tab navigation can fail in all manner of ways. The current API recognizes this, but merely logs a warning and returns `None`. We should supply the actual reason for failure to the caller, so they can handle it in whatever fashion they please (including logging a warning!). Swapping to a Result-oriented pattern is also a bit more idiomatic and makes the code's control flow easier to follow. ## Solution - Refactor the `tab_navigation` module to return a `Result` rather than an `Option` from its key APIs. - Move the logging to the provided prebuilt observer. This leaves the default behavior largely unchanged, but allows for better user control. - Make the case where no tab group was found for the currently focused entity an error branch, but provide enough information that we can still recover from it. ## Testing The `tab_navigation` example continues to function as intended.
31 lines
1.0 KiB
TOML
31 lines
1.0 KiB
TOML
[package]
|
|
name = "bevy_input_focus"
|
|
version = "0.15.0-dev"
|
|
edition = "2021"
|
|
description = "Keyboard focus management"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
rust-version = "1.83.0"
|
|
|
|
[dependencies]
|
|
bevy_app = { path = "../bevy_app", version = "0.15.0-dev", default-features = false }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.15.0-dev", default-features = false }
|
|
bevy_input = { path = "../bevy_input", version = "0.15.0-dev", default-features = false }
|
|
bevy_hierarchy = { path = "../bevy_hierarchy", version = "0.15.0-dev", default-features = false }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.15.0-dev", default-features = false }
|
|
bevy_window = { path = "../bevy_window", version = "0.15.0-dev", default-features = false }
|
|
|
|
thiserror = { version = "2", default-features = false }
|
|
|
|
[dev-dependencies]
|
|
smol_str = "0.2"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
|
|
all-features = true
|