mirror of
https://github.com/bevyengine/bevy
synced 2025-01-10 04:08:55 +00:00
a304fd9a99
# Objective - Hierarchy tools are not just used for `Transform`: they are also used for scenes. - In the future there's interest in using them for other features, such as visiibility inheritance. - The fact that these tools are found in `bevy_transform` causes a great deal of user and developer confusion - Fixes #2758. ## Solution - Split `bevy_transform` into two! - Make everything work again. Note that this is a very tightly scoped PR: I *know* there are code quality and docs issues that existed in bevy_transform that I've just moved around. We should fix those in a seperate PR and try to merge this ASAP to reduce the bitrot involved in splitting an entire crate. ## Frustrations The API around `GlobalTransform` is a mess: we have massive code and docs duplication, no link between the two types and no clear way to extend this to other forms of inheritance. In the medium-term, I feel pretty strongly that `GlobalTransform` should be replaced by something like `Inherited<Transform>`, which lives in `bevy_hierarchy`: - avoids code duplication - makes the inheritance pattern extensible - links the types at the type-level - allows us to remove all references to inheritance from `bevy_transform`, making it more useful as a standalone crate and cleaning up its docs ## Additional context - double-blessed by @cart in https://github.com/bevyengine/bevy/issues/4141#issuecomment-1063592414 and https://github.com/bevyengine/bevy/issues/2758#issuecomment-913810963 - preparation for more advanced / cleaner hierarchy tools: go read https://github.com/bevyengine/rfcs/pull/53 ! - originally attempted by @finegeometer in #2789. It was a great idea, just needed more discussion! Co-authored-by: Carter Anderson <mcanders1@gmail.com>
35 lines
1.5 KiB
TOML
35 lines
1.5 KiB
TOML
[package]
|
|
name = "bevy_ui"
|
|
version = "0.6.0"
|
|
edition = "2021"
|
|
description = "A custom ECS-driven UI framework built specifically for Bevy Engine"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_app = { path = "../bevy_app", version = "0.6.0" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.6.0" }
|
|
bevy_core = { path = "../bevy_core", version = "0.6.0" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.6.0" }
|
|
bevy_derive = { path = "../bevy_derive", version = "0.6.0" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.6.0" }
|
|
bevy_hierarchy = { path = "../bevy_hierarchy", version = "0.6.0" }
|
|
bevy_input = { path = "../bevy_input", version = "0.6.0" }
|
|
bevy_log = { path = "../bevy_log", version = "0.6.0" }
|
|
bevy_math = { path = "../bevy_math", version = "0.6.0" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.6.0", features = ["bevy"] }
|
|
bevy_render = { path = "../bevy_render", version = "0.6.0" }
|
|
bevy_sprite = { path = "../bevy_sprite", version = "0.6.0" }
|
|
bevy_text = { path = "../bevy_text", version = "0.6.0" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.6.0" }
|
|
bevy_window = { path = "../bevy_window", version = "0.6.0" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.6.0" }
|
|
|
|
# other
|
|
stretch = "0.3.2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
smallvec = { version = "1.6", features = ["union", "const_generics"] }
|
|
bytemuck = { version = "1.5", features = ["derive"] }
|