Commit Graph

31 Commits

Author SHA1 Message Date
Chad Brokaw 2f9f5b6a48
Bump vello (and wgpu versions) (#122)
Updates xilem to the latest vello. Also bumps wgpu to 0.17.0.

This should enable CFF/CFF2 support.
2023-08-07 10:03:01 -04:00
Kaur Kuut 1ecaafe33c
Fill out and clean up all the `Cargo.toml` files. (#117) 2023-07-30 21:14:59 +03:00
Kaur Kuut 4a77511587
Convert the main binary target into an example. (#116) 2023-07-30 00:09:30 +03:00
Bruce Mitchener 8f10d3f539 Remove `gtk` feature.
Since this is going away in the underlying glazier, we can remove
it now to make sure that everyone is aware. The default is `x11`,
so this should have little impact.
2023-07-19 11:37:42 +07:00
Bruce Mitchener a2e0089f6f deps: Update bitflags from 1.x to most recent 2.x. 2023-07-14 00:26:58 +07:00
Bruce Mitchener d244f1a6c3 deps: Remove unused, move 2 to dev-dependencies.
`test-log` and `env_logger` are dev dependencies, so should be marked
as such.

Other dependencies weren't used directly and have been removed from
being direct dependencies of `xilem`:

* `bytemuck`
* `png`
* `rand`
* `raw-window-handle`
* `roxmltree`
2023-07-13 15:13:28 +07:00
Bruce Mitchener 15a981bf55 xilem, xilem_core: State the license in Cargo.toml. 2023-07-12 23:58:33 +07:00
Raph Levien 1fd1ce7885 Add wasm DOM implementation for xilem.
I'm doing all the work in a single commit so it's easier to rebase.

Below is a list of the individual changes I did

 - Squash prev commits
 - Remove top-level action handler (use Adapt instead).
 - Type events in the same way as elements (could also do attributes the
   same)
 - Allow users to avoid compiling the typed html/attributes/events
 - Use more specific types for mouse events from web_sys
 - change "click" from PointerEvent to MouseEvent (PointerEvent caused a
   panic on `dyn_into().unwrap()`)
2023-06-25 19:42:02 +01:00
Raph Levien 4b403d3f53
Merge pull request #61 from linebender/macro_core
Macro based implementation of xilem_core
2023-05-15 09:09:17 -07:00
Chad Brokaw d2e409c284 remove unused swash dependency 2023-05-11 12:14:23 -04:00
Chad Brokaw 420918879f Update vello to latest
Updates dependencies so we're on the latest version of vello.
2023-05-10 14:04:51 -04:00
Raph Levien d729039f13 Macro based implementation of xilem_core
Experimenting with macros to make the View traits more generic.
2023-04-24 21:43:50 -07:00
Christoph 7d2a90c5df
Merge pull request #40 from xarvic/sequence
Draft for a simple container view
2023-03-01 19:32:39 +00:00
Chad Brokaw ed1565d471 Update parley
Parley now pulls in @jneem's version of fount so the patch is no longer needed.
2023-02-28 16:46:05 -05:00
xarvic 7aae58ecf2 implemented LifeCycle::TreeUpdate
added hot state logic in ViewContextChanged
added RequestFlags::TREE
2023-02-24 08:04:36 +01:00
Kaur Kuut 89f487ed1f
Update `glazier`, `vello`, `wgpu`, and `accesskit`. (#43) 2023-02-22 19:11:17 +02:00
Chad Brokaw b9ce8053b2 fix gradients and pin vello 2023-01-18 12:06:42 -05:00
Raph Levien 47785e609a Enable AccessKit and update dependencies
Turn on the AccessKit dependency and also update to more recent glazier and Vello versions.

Also follow new policy of pinning git dependencies to avoid future breakage.
2023-01-13 20:59:48 -08:00
Chad Brokaw ab8d959b80 change repo name for vello git dependency 2022-12-13 13:20:07 -05:00
Chad Brokaw ecfc08efea Update for the piet-wgsl -> vello name change
Removes the `piet-scene` dependency and adds `vello`. Updates all imports for the new crate name. This leaves the git reference as linebender/piet-gpu for now. We can change that to vello in this PR (after the repo is renamed) or in a subsequent one.
2022-12-12 17:21:45 -05:00
Chad Brokaw b008364c85 add crates.io patch for naga 2022-11-26 17:18:13 -05:00
Chad Brokaw d72b94fed4 Move to piet-wgsl for rendering
Removes the piet-gpu and piet-gpu-hal dependencies and updates the rendering code to use piet-wgsl.
2022-11-26 16:53:40 -05:00
Chad Brokaw d5dae068bb update for piet-scene changes 2022-11-23 14:08:25 -05:00
Jonas Platte 4ca16251d0
Allow selecting the glazier backend on Linux 2022-11-22 10:12:37 +01:00
Raph Levien c0c450c0e7 Clickable button
This is a mostly working button implementation, but the background (a gradient) isn't rendering yet. When it is, I'll likely merge the PR.
2022-11-20 22:03:59 -08:00
Raph Levien 2280e9efd7 Work in progress xilem prototype
This is a snapshot of the current state of the xilem prototype built on new infrastructure: glazier for window creation, piet-gpu for drawing, and parley for text.

As of this snapshot, only the text widget has been ported, and there are a number of rough edges. It should be considered a proof of concept. That said, it should be possible to build more from here.
2022-11-16 17:06:45 -05:00
Daniel McNab d62cfc4e66 Create gitignore and use valid dependency 2022-11-16 21:59:20 +00:00
Raph Levien 6058189104 Re-establish tokio
"unconstrained" seems to be the answer to the previous problem, but performance is not great here.
2022-05-25 13:10:26 -07:00
Raph Levien 963af1a598 Switch to smol
We were running into tokio's cooperative scheduling, see this bug:

https://github.com/tokio-rs/tokio/issues/2418

I'm sure there's some way to make that work, but in the meantime just switching to smol lets us make progress.

This is the demo I showed at the SF Rust meetup 2022-05-24.
2022-05-25 11:01:12 -07:00
Raph Levien b1e57b02d2 Async experimentation
This commit imports some of the infrastructure from the idiopath_async branch. It should still be considered experimental.
2022-05-24 16:12:01 -07:00
Raph Levien 26432cebf8 Rename to xilem
I've decided on the name "xilem" rather than "idiopath," and this also matches the blog post (now linked from the README, though that is a bit stale).
2022-05-19 09:01:39 -07:00