2023-04-25 07:29:32 +08:00
|
|
|
[package]
|
|
|
|
name = "xilem_core"
|
|
|
|
version = "0.1.0"
|
2023-07-31 02:14:59 +08:00
|
|
|
description = "Common core of the Xilem Rust UI framework."
|
|
|
|
keywords = ["xilem", "ui", "reactive", "performance"]
|
|
|
|
categories = ["gui"]
|
|
|
|
edition.workspace = true
|
2024-05-04 04:07:12 +08:00
|
|
|
license.workspace = true
|
2023-07-31 02:14:59 +08:00
|
|
|
repository.workspace = true
|
2024-07-19 22:42:27 +08:00
|
|
|
rust-version.workspace = true
|
2023-04-25 07:29:32 +08:00
|
|
|
|
Move `xilem` onto a new `xilem_core`, which uses a generic View trait (#310)
This:
1) Renames the current/old `xilem_core` to `xilem_web_core` and moves it
to the `xilem_web/xilem_web_core` folder
2) Creates a new `xilem_core`, which does not use (non-tuple) macros and
instead contains a `View` trait which is generic over the `Context` type
3) Ports `xilem` to this `xilem_core`, but with some functionality
missing (namely a few of the extra views; I expect these to
straightforward to port)
4) Ports the `mason` and `mason_android` examples to this new `xilem`,
with less functionality.
This continues ideas first explored in #235
The advantages of this new View trait are:
1) Improved support for ad-hoc views, such as views with additional
attributes.
This will be very useful for layout algorithms, and will also enable
native *good* multi-window (and potentially menus?)
2) A lack of macros, to better enable using go-to-definition and other
IDE features on the traits
Possible disadvantages:
1) There are a few more traits to enable the flexibility
2) It can be less clear what `Self::Element::Mut` is in the `rebuild`
function, because of how the resolution works
3) When implementing `View`, you need to specify the context (i.e.
`impl<State, Action> View<State, Action, [new] ViewCtx> for
Button<State, Action>`.
---------
Co-authored-by: Philipp Mildenberger <philipp@mildenberger.me>
2024-06-06 23:16:36 +08:00
|
|
|
publish = false # We'll publish this alongside Xilem 0.2
|
|
|
|
|
2024-07-18 15:38:28 +08:00
|
|
|
[features]
|
|
|
|
kurbo = ["dep:kurbo"]
|
|
|
|
|
|
|
|
|
Move `xilem` onto a new `xilem_core`, which uses a generic View trait (#310)
This:
1) Renames the current/old `xilem_core` to `xilem_web_core` and moves it
to the `xilem_web/xilem_web_core` folder
2) Creates a new `xilem_core`, which does not use (non-tuple) macros and
instead contains a `View` trait which is generic over the `Context` type
3) Ports `xilem` to this `xilem_core`, but with some functionality
missing (namely a few of the extra views; I expect these to
straightforward to port)
4) Ports the `mason` and `mason_android` examples to this new `xilem`,
with less functionality.
This continues ideas first explored in #235
The advantages of this new View trait are:
1) Improved support for ad-hoc views, such as views with additional
attributes.
This will be very useful for layout algorithms, and will also enable
native *good* multi-window (and potentially menus?)
2) A lack of macros, to better enable using go-to-definition and other
IDE features on the traits
Possible disadvantages:
1) There are a few more traits to enable the flexibility
2) It can be less clear what `Self::Element::Mut` is in the `rebuild`
function, because of how the resolution works
3) When implementing `View`, you need to specify the context (i.e.
`impl<State, Action> View<State, Action, [new] ViewCtx> for
Button<State, Action>`.
---------
Co-authored-by: Philipp Mildenberger <philipp@mildenberger.me>
2024-06-06 23:16:36 +08:00
|
|
|
[dependencies]
|
|
|
|
tracing.workspace = true
|
2024-06-25 02:14:00 +08:00
|
|
|
kurbo = { optional = true, workspace = true }
|
2023-09-12 22:50:50 +08:00
|
|
|
|
2024-03-10 00:26:02 +08:00
|
|
|
[lints]
|
|
|
|
workspace = true
|
|
|
|
|
Move `xilem` onto a new `xilem_core`, which uses a generic View trait (#310)
This:
1) Renames the current/old `xilem_core` to `xilem_web_core` and moves it
to the `xilem_web/xilem_web_core` folder
2) Creates a new `xilem_core`, which does not use (non-tuple) macros and
instead contains a `View` trait which is generic over the `Context` type
3) Ports `xilem` to this `xilem_core`, but with some functionality
missing (namely a few of the extra views; I expect these to
straightforward to port)
4) Ports the `mason` and `mason_android` examples to this new `xilem`,
with less functionality.
This continues ideas first explored in #235
The advantages of this new View trait are:
1) Improved support for ad-hoc views, such as views with additional
attributes.
This will be very useful for layout algorithms, and will also enable
native *good* multi-window (and potentially menus?)
2) A lack of macros, to better enable using go-to-definition and other
IDE features on the traits
Possible disadvantages:
1) There are a few more traits to enable the flexibility
2) It can be less clear what `Self::Element::Mut` is in the `rebuild`
function, because of how the resolution works
3) When implementing `View`, you need to specify the context (i.e.
`impl<State, Action> View<State, Action, [new] ViewCtx> for
Button<State, Action>`.
---------
Co-authored-by: Philipp Mildenberger <philipp@mildenberger.me>
2024-06-06 23:16:36 +08:00
|
|
|
[package.metadata.docs.rs]
|
|
|
|
default-target = "x86_64-unknown-linux-gnu"
|
|
|
|
# xilem_core is entirely platform-agnostic, so only display docs for one platform
|
|
|
|
targets = []
|
2024-07-18 15:38:28 +08:00
|
|
|
features = ["kurbo"]
|