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.
`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`
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()`)
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.
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.
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.
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.