2023-04-25 07:29:32 +08:00
|
|
|
[workspace]
|
2024-05-08 17:09:49 +08:00
|
|
|
resolver = "2"
|
2023-04-25 07:29:32 +08:00
|
|
|
members = [
|
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
|
|
|
"xilem",
|
2024-05-12 05:59:03 +08:00
|
|
|
"xilem_core",
|
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
|
|
|
"masonry",
|
|
|
|
|
2024-05-12 05:59:03 +08:00
|
|
|
"xilem_web",
|
|
|
|
"xilem_web/web_examples/counter",
|
|
|
|
"xilem_web/web_examples/counter_custom_element",
|
2024-07-12 19:39:37 +08:00
|
|
|
"xilem_web/web_examples/elm",
|
2024-05-12 05:59:03 +08:00
|
|
|
"xilem_web/web_examples/todomvc",
|
|
|
|
"xilem_web/web_examples/mathml_svg",
|
|
|
|
"xilem_web/web_examples/svgtoy",
|
2023-04-25 07:29:32 +08:00
|
|
|
]
|
|
|
|
|
2023-07-31 02:14:59 +08:00
|
|
|
[workspace.package]
|
|
|
|
edition = "2021"
|
2024-06-28 21:02:54 +08:00
|
|
|
# Keep in sync with RUST_MIN_VER in .github/workflows/ci.yml, with the relevant README.md files.
|
2024-07-18 15:38:28 +08:00
|
|
|
rust-version = "1.79"
|
2023-07-31 02:14:59 +08:00
|
|
|
license = "Apache-2.0"
|
2024-05-04 04:07:12 +08:00
|
|
|
repository = "https://github.com/linebender/xilem"
|
|
|
|
homepage = "https://xilem.dev/"
|
|
|
|
|
|
|
|
[workspace.lints]
|
|
|
|
clippy.semicolon_if_nothing_returned = "warn"
|
2024-06-03 22:35:03 +08:00
|
|
|
# Remove assigning_clones once it's allowed by default in stable Rust
|
|
|
|
# https://github.com/rust-lang/rust-clippy/pull/12779
|
2024-06-03 22:21:41 +08:00
|
|
|
clippy.assigning_clones = "allow"
|
2024-06-15 00:40:26 +08:00
|
|
|
rust.unexpected_cfgs = { level = "warn", check-cfg = [
|
|
|
|
'cfg(FALSE)',
|
|
|
|
'cfg(tarpaulin_include)',
|
|
|
|
] }
|
2024-07-02 21:19:39 +08:00
|
|
|
# unsafe code is not allowed in Xilem or Masonry
|
|
|
|
# We would like to set this to `forbid`, but we have to use `deny` because `android_activity`
|
|
|
|
# requires us to use the unsafe `#[no_mangle]` attribute
|
|
|
|
# (And cargo doesn't let us have platform specific lints here)
|
|
|
|
rust.unsafe_code = "deny"
|
2023-07-31 02:14:59 +08:00
|
|
|
|
|
|
|
[workspace.dependencies]
|
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
|
|
|
xilem_web_core = { version = "0.1.0", path = "xilem_web/xilem_web_core" }
|
2024-05-12 05:59:03 +08:00
|
|
|
masonry = { version = "0.2.0", path = "masonry" }
|
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
|
|
|
xilem_core = { version = "0.1.0", path = "xilem_core" }
|
2024-07-17 15:42:20 +08:00
|
|
|
vello = "0.2.1"
|
|
|
|
wgpu = "0.20.1"
|
2024-02-15 07:29:46 +08:00
|
|
|
kurbo = "0.11.0"
|
2024-05-01 23:52:42 +08:00
|
|
|
parley = "0.1.0"
|
2024-06-10 16:29:53 +08:00
|
|
|
peniko = "0.1.1"
|
2024-06-16 15:14:04 +08:00
|
|
|
winit = "0.30.2"
|
2024-06-15 00:40:26 +08:00
|
|
|
tracing = { version = "0.1.40", default-features = false }
|
2024-05-04 04:07:12 +08:00
|
|
|
smallvec = "1.13.2"
|
2024-05-29 15:52:04 +08:00
|
|
|
dpi = "0.1.1"
|
2024-05-04 04:07:12 +08:00
|
|
|
fnv = "1.0.7"
|
2024-05-07 20:57:55 +08:00
|
|
|
image = { version = "0.25.1", default-features = false }
|
2024-06-03 19:30:55 +08:00
|
|
|
web-time = "1.1.0"
|
2024-05-08 03:38:40 +08:00
|
|
|
bitflags = "2.5.0"
|
2024-07-16 16:18:51 +08:00
|
|
|
accesskit = "0.16.0"
|
|
|
|
accesskit_winit = "0.22.0"
|