From fdc99e5bf619daf46b9f3508827a79e329b0da9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Tue, 19 Nov 2019 11:39:49 +0100 Subject: [PATCH] Update `README` and `ROADMAP` and add `ECOSYSTEM` --- ECOSYSTEM.md | 88 +++++++++++++++++ README.md | 96 ++++++++++++------- ROADMAP.md | 193 +++----------------------------------- docs/crates_graph.dot | 12 --- docs/crates_graph.png | Bin 40251 -> 0 bytes docs/graphs/core.dot | 13 +++ docs/graphs/core.png | Bin 0 -> 16123 bytes docs/graphs/ecosystem.dot | 59 ++++++++++++ docs/graphs/ecosystem.png | Bin 0 -> 51911 bytes docs/graphs/iced.dot | 47 ++++++++++ docs/graphs/iced.png | Bin 0 -> 32794 bytes docs/graphs/native.dot | 42 +++++++++ docs/graphs/native.png | Bin 0 -> 27637 bytes docs/graphs/web.dot | 12 +++ docs/graphs/web.png | Bin 0 -> 13023 bytes docs/graphs/wgpu.dot | 33 +++++++ docs/graphs/wgpu.png | Bin 0 -> 20091 bytes docs/graphs/winit.dot | 33 +++++++ docs/graphs/winit.png | Bin 0 -> 17051 bytes 19 files changed, 404 insertions(+), 224 deletions(-) create mode 100644 ECOSYSTEM.md delete mode 100644 docs/crates_graph.dot delete mode 100644 docs/crates_graph.png create mode 100644 docs/graphs/core.dot create mode 100644 docs/graphs/core.png create mode 100644 docs/graphs/ecosystem.dot create mode 100644 docs/graphs/ecosystem.png create mode 100644 docs/graphs/iced.dot create mode 100644 docs/graphs/iced.png create mode 100644 docs/graphs/native.dot create mode 100644 docs/graphs/native.png create mode 100644 docs/graphs/web.dot create mode 100644 docs/graphs/web.png create mode 100644 docs/graphs/wgpu.dot create mode 100644 docs/graphs/wgpu.png create mode 100644 docs/graphs/winit.dot create mode 100644 docs/graphs/winit.png diff --git a/ECOSYSTEM.md b/ECOSYSTEM.md new file mode 100644 index 00000000..177b8709 --- /dev/null +++ b/ECOSYSTEM.md @@ -0,0 +1,88 @@ +# Ecosystem +This document describes the Iced ecosystem. + +It quickly lists the different audiences of the library and explains how the different crates relate to each other. + +## Users + +Iced is meant to be used by 2 different types of users: + +- __End-users__. They should be able to: + - get started quickly, + - have many widgets available, + - keep things simple, + - and build applications that are __maintainable__ and __performant__. +- __GUI toolkit developers / Ecosystem contributors__. They should be able to: + - build new kinds of widgets, + - implement custom runtimes, + - integrate existing runtimes in their own system (like game engines), + - and create their own custom renderers. + +## Crates +Iced consists of different crates which offer different layers of abstractions for our users. This modular architecture helps us keep implementation details hidden and decoupled, which should allow us to rewrite or change strategies in the future. + +![Ecosystem graph](docs/graphs/ecosystem.png) + +### [`iced_core`] + +[`iced_core`] holds basic reusable types of the public API. For instance, basic data types like `Point`, `Rectangle`, `Length`, etc. + +This crate is meant to be a starting point for an Iced runtime. + +### [`iced_native`] +[`iced_native`] takes [`iced_core`] and builds a native runtime on top of it, featuring: +- A custom layout engine, greatly inspired by [`druid`] +- Event handling for all the built-in widgets +- A renderer-agnostic API + +To achieve this, it introduces a bunch of reusable interfaces: +- A `Widget` trait, which is used to implement new widgets: from layout requirements to event and drawing logic. +- A bunch of `Renderer` traits, meant to keep the crate renderer-agnostic. +- A `Windowed` trait, leveraging [`raw-window-handle`], which can be implemented by graphical renderers that target _windows_. Window-based shells (like [`iced_winit`]) can use this trait to stay renderer-agnostic. + +[`druid`]: https://github.com/xi-editor/druid +[`raw-window-handle`]: https://github.com/rust-windowing/raw-window-handle + +### [`iced_web`] +[`iced_web`] takes [`iced_core`] and builds a WebAssembly runtime on top. It achieves this by introducing a `Widget` trait that can be used to produce VDOM nodes. + +The crate is currently a simple abstraction layer over [`dodrio`]. + +[`dodrio`]: https://github.com/fitzgen/dodrio + +### [`iced_wgpu`] +[`iced_wgpu`] is a [`wgpu`] renderer for [`iced_native`]. For now, it is the default renderer of Iced in native platforms. + +[`wgpu`] supports most modern graphics backends: Vulkan, Metal, DX11, and DX12 (OpenGL and WebGL are still WIP). Additionally, it will support the incoming [WebGPU API]. + +Currently, [`iced_wgpu`] supports the following primitives: +- Text, which is rendered using [`wgpu_glyph`]. No shaping at all. +- Quads or rectangles, with rounded borders and a solid background color. +- Images, lazily loaded from the filesystem. +- Clip areas, useful to implement scrollables or hide overflowing content. + +[`wgpu`]: https://github.com/gfx-rs/wgpu-rs +[WebGPU API]: https://gpuweb.github.io/gpuweb/ +[`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph + +### [`iced_winit`] +[`iced_winit`] offers some convenient abstractions on top of [`iced_native`] to quickstart development when using [`winit`]. + +It exposes a renderer-agnostic `Application` trait that can be implemented and then run with a simple call. The use of this trait is optional. A `conversion` module is provided for users that decide to implement a custom event loop. + +[`winit`]: https://github.com/rust-windowing/winit + +### [`iced`] +Finally, [`iced`] unifies everything into a simple abstraction to create cross-platform applications: + +- On native, it uses [`iced_winit`] and [`iced_wgpu`]. +- On the web, it uses [`iced_web`]. + +This is the crate meant to be used by __end-users__. + +[`iced_core`]: core +[`iced_native`]: native +[`iced_web`]: web +[`iced_wgpu`]: wgpu +[`iced_winit`]: winit +[`iced`]: .. diff --git a/README.md b/README.md index 0aac9bc8..7e243871 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,9 @@ [![Documentation](https://docs.rs/iced/badge.svg)][documentation] [![Crates.io](https://img.shields.io/crates/v/iced.svg)](https://crates.io/crates/iced) [![License](https://img.shields.io/crates/l/iced.svg)](https://github.com/hecrj/iced/blob/master/LICENSE) +[![project chat](https://img.shields.io/badge/chat-on_zulip-brightgreen.svg)](https://iced.zulipchat.com) -A renderer-agnostic GUI library for Rust focused on simplicity and type-safety. +A cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by [Elm]. [![Tour - Iced][gui_gif]][gui_gfycat] @@ -17,15 +18,31 @@ Inspired by [Elm]. [coffee_gui_gfycat]: https://gfycat.com/gloomyweakhammerheadshark ## Features - * Simple, easy-to-use, renderer-agnostic API - * Responsive, flexbox-based layouting + * Simple, easy-to-use, batteries-included API * Type-safe, reactive programming model - * Built-in widgets - * Custom widget support + * Cross-platform support (Windows, macOS, Linux, and the Web) + * Responsive layout + * Built-in widgets (including [text inputs], [scrollables], and more!) + * Custom widget support (create your own!) + * [Debug overlay with performance metrics] + * First-class support for async actions (use futures!) + * [Modular ecosystem] split into reusable parts: + * A [default renderer] supporting Vulkan, Metal, DX11, and DX12 + * A [renderer-agnostic native runtime] enabling integration with existing systems + * A [web runtime] leveraging the DOM -__Iced is in a experimental stage.__ [Take a look at the roadmap], -[check out the issues], and [feel free to contribute!]. +__Iced is currently experimental software.__ [Take a look at the roadmap], +[check out the issues], and [feel free to contribute!] +[text inputs]: https://gfycat.com/alertcalmcrow-rust-gui +[scrollables]: https://gfycat.com/perkybaggybaboon-rust-gui +[Debug overlay with performance metrics]: https://gfycat.com/artisticdiligenthorseshoebat-rust-gui +[Modular ecosystem]: https://github.com/hecrj/iced/blob/master/ECOSYSTEM.md +[renderer-agnostic native runtime]: https://github.com/hecrj/iced/tree/master/native +[`wgpu`]: https://github.com/gfx-rs/wgpu-rs +[Default renderer]: https://github.com/hecrj/iced/tree/master/wgpu +[`dodrio`]: https://github.com/fitzgen/dodrio +[web runtime]: https://github.com/hecrj/iced/tree/master/web [Take a look at the roadmap]: https://github.com/hecrj/iced/blob/master/ROADMAP.md [check out the issues]: https://github.com/hecrj/iced/issues [feel free to contribute!]: #contributing--feedback @@ -139,7 +156,7 @@ to: 1. Take the result of our __view logic__ and layout its widgets. 1. Process events from our system and produce __messages__ for our __update logic__. - 1. Draw the resulting user interface using our chosen __renderer__. + 1. Draw the resulting user interface. Browse the [documentation] and the [examples] to learn more! @@ -147,40 +164,51 @@ Browse the [documentation] and the [examples] to learn more! Iced was originally born as an attempt at bringing the simplicity of [Elm] and [The Elm Architecture] into [Coffee], a 2D game engine I am working on. -The core of the library was implemented during May in [this pull request], using -[`stretch`] for flexbox-based layouting. It was later released as the main -feature of [Coffee 0.3.0]. +The core of the library was implemented during May in [this pull request]. +[The first alpha version] was eventually released as +[a renderer-agnostic GUI library]. The library did not provide a renderer and +implemented the current [tour example] on top of [`ggez`], a game library. -After release, different folks suggested me to split the new [`ui` module] into -its own standalone crate, as it could potentially benefit other engines and -applications. I thought it was a great idea, and after a bit of work... Iced is -here! +Since then, the focus has shifted towards providing a batteries-included, +end-user-oriented GUI library, while keeping [the ecosystem] modular. -Iced consists of different crates which offer different layers of abstractions -for our users. This modular architecture helps us keep implementation details -hidden and decoupled, which should allow us to rewrite or change strategies in -the future. +Currently, Iced is a cross-platform GUI library built on top of smaller crates: -![Iced ecosystem](https://github.com/hecrj/iced/raw/master/docs/crates_graph.png) + - [`iced_core`], a bunch of basic types that can be reused in different runtimes. + - [`iced_native`], a renderer-agnostic native runtime implementing widget + logic and a layout engine inspired by [`druid`]. + - [`iced_web`], an experimental web runtime that targets the DOM thanks to + [`dodrio`]. + - [`iced_wgpu`], a renderer leveraging [`wgpu`], [`wgpu_glyph`], and + [`font-kit`]. + - [`iced_winit`], a windowing shell on top of [`winit`]. -Read [the roadmap] if you want to learn more! +[![Iced ecosystem](docs/graphs/ecosystem.png)](https://github.com/hecrj/iced/blob/master/ECOSYSTEM.md) [this pull request]: https://github.com/hecrj/coffee/pull/35 -[`stretch`]: https://github.com/vislyhq/stretch -[Coffee 0.3.0]: https://github.com/hecrj/coffee/releases/tag/0.3.0 -[`ui` module]: https://docs.rs/coffee/0.3.2/coffee/ui/index.html -[the roadmap]: https://github.com/hecrj/iced/blob/master/ROADMAP.md +[The first alpha version]: https://github.com/hecrj/iced/tree/0.1.0-alpha +[a renderer-agnostic GUI library]: https://www.reddit.com/r/rust/comments/czzjnv/iced_a_rendereragnostic_gui_library_focused_on/ +[tour example]: https://github.com/hecrj/iced/blob/master/examples/tour.rs +[`ggez`]: https://github.com/ggez/ggez +[the ecosystem]: https://github.com/hecrj/iced/blob/master/ECOSYSTEM.md +[`iced_core`]: https://github.com/hecrj/iced/tree/master/core +[`iced_native`]: https://github.com/hecrj/iced/tree/master/native +[`iced_web`]: https://github.com/hecrj/iced/tree/master/web +[`iced_wgpu`]: https://github.com/hecrj/iced/tree/master/wgpu +[`iced_winit`]: https://github.com/hecrj/iced/tree/master/winit +[`druid`]: https://github.com/xi-editor/druid +[`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph +[`font-kit`]: https://github.com/servo/font-kit +[`winit`]: https://github.com/rust-windowing/winit ## Contributing / Feedback -If you want to contribute, you are more than welcome to be a part of the -project! Check out [the roadmap] and [the current issues] if you want to find -something to work on. Try to share you thoughts first! Feel free to open a new -issue if you want to discuss new ideas. +Contributions are greatly appreciated! If you want to contribute, please +read our [contributing guidelines] for more details. -Any kind of feedback is welcome! You can open an issue or, if you want to talk, -you can find me (and a bunch of awesome folks) over the `#games-and-graphics` -and `#gui-and-ui` channels in the [Rust Community Discord]. I go by -`@lone_scientist` there. +Feedback is also welcome! You can open an issue or, if you want to talk, +come chat to our [Zulip server]. Moreover, you can find me (and a bunch of +awesome folks) over the `#games-and-graphics` and `#gui-and-ui` channels in +the [Rust Community Discord]. I go by `lone_scientist#9554` there. [documentation]: https://docs.rs/iced [examples]: https://github.com/hecrj/iced/tree/master/examples @@ -188,4 +216,6 @@ and `#gui-and-ui` channels in the [Rust Community Discord]. I go by [Elm]: https://elm-lang.org/ [The Elm Architecture]: https://guide.elm-lang.org/architecture/ [the current issues]: https://github.com/hecrj/iced/issues +[contributing guidelines]: https://github.com/hecrj/iced/blob/master/CONTRIBUTING.md +[Zulip server]: https://iced.zulipchat.com/ [Rust Community Discord]: https://bit.ly/rust-community diff --git a/ROADMAP.md b/ROADMAP.md index 8a6c7869..75b7c707 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,149 +1,21 @@ # Roadmap -This document describes the current state of Iced and some of the most important next steps we should take before it can become a production-ready GUI library. - -## Context -Before we get into the actual roadmap, let's quickly review what is the current state of the library. - -### Users - -Iced is meant to be used by 2 different types of users: - -- __End-users__. They should be able to: - - get started quickly, - - have many widgets available, - - keep things simple, - - and build applications that are __maintainable__ and __performant__. -- __GUI toolkit developers / Ecosystem contributors__. They should be able to: - - build new kinds of widgets, - - implement custom runtimes, - - integrate existing runtimes in their own system (like game engines), - - and create their own custom renderers. - -### Current state -Iced consists of different crates which offer different layers of abstractions for our users. This modular architecture helps us keep implementation details hidden and decoupled, which should allow us to rewrite or change strategies in the future. - -![Crates graph](docs/crates_graph.png) - -#### `iced_core` - -`iced_core` holds most of the reusable types of the public API. For instance, common widgets (like `Column`, `Row`, `Button`...) and basic data types (`Point`, `Rectangle`, `Length`...). - -This crate is meant to be a starting point for an Iced runtime. - -#### `iced_native` -`iced_native` takes `iced_core` and builds a native runtime on top of it, featuring: -- A flexbox-based layout engine, powered by [`stretch`] -- Event handling for all the built-in widgets -- A renderer-agnostic API - -To achieve this, it introduces a bunch of reusable interfaces: -- A `Widget` trait, which is used to implement new widgets: from layout requirements to event and drawing logic. -- A bunch of `Renderer` traits, meant to keep the crate renderer-agnostic. -- A `Windowed` trait, which can be implemented by graphical renderers that target _windows_. Window-based runtimes can use this trait to stay renderer-agnostic. - -[`stretch`]: https://github.com/vislyhq/stretch - -#### `iced_web` -`iced_web` takes `iced_core` and builds a WebAssembly runtime on top. It achieves this by introducing a `Widget` trait that can be used to produce VDOM nodes. - -The crate is a quite simple abstraction layer over [`dodrio`]. - -[`dodrio`]: https://github.com/fitzgen/dodrio - -#### `iced_wgpu` -`iced_wgpu` is a [`wgpu`] renderer for `iced_native`. It is meant to become the default renderer of Iced in native platforms. - -[`wgpu`] supports most modern graphics backends: Vulkan, Metal, DX11, and DX12 (OpenGL and WebGL are still WIP). Additionally, it will support the incoming [WebGPU API]. - -Currently, `iced_wgpu` only supports a couple of primitives: -- Text, which is rendered using [`wgpu_glyph`]. -- Quads or rectangles, with rounded borders and a solid background color. - -[`wgpu`]: https://github.com/gfx-rs/wgpu-rs -[WebGPU API]: https://gpuweb.github.io/gpuweb/ -[`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph - -#### `iced_winit` -`iced_winit` offers some convenient abstractions on top of `iced_native` to quickstart development when using [`winit`]. - -It exposes a renderer-agnostic `Application` trait that can be implemented and then run with a simple call. The use of this trait is optional. A `conversion` module is provided for users that decide to implement a custom event loop. - -[`winit`]: https://github.com/rust-windowing/winit - -#### `iced` -Finally, `iced` unifies everything into a simple abstraction to create cross-platform applications: - -- On native, it uses `iced_winit` and `iced_wgpu`. -- On the web, it uses `iced_web`. - -This is the crate meant to be used by __end-users__. - +This document describes the current state of Iced and some of the most important next steps we should take before it can become a production-ready GUI library. This list keeps the short term new features in sight in order to coordinate work. Therefore, it is not meant to be exhaustive. ## Next steps -This section describes some important features that should be implemented before Iced can be considered production-ready (before a 1.0 release). - Most of the work related to these features needs to happen in the `iced_native` path of the ecosystem, as the web already supports many of them. -### Scrollables / Clippables ([#24]) -Content that can take a (practically) infinite amount of space and can be viewed using a scrollbar. This is a very basic feature. +Once a step is completed, it is collapsed and added to this list: -The end-user API could look like this: - -```rust -Column::new() - .push(content) - .scroll(&mut self.scroll_state); -``` - -The challenge here is __composability__. Nested scrollables should work as expected. - -When it comes to `iced_native`, we may need to add the concept of _event propagation_, so mouse wheel events can be captured by the inner-most scrollable and stop propagation. - -When it comes to `iced_wgpu`, we should be able to use scissoring and transformations. [`wgpu`] has a [`RenderPass::set_scissor_rect`] that should work nicely. - -The main issue here will be [`wgpu_glyph`], which is used currently to render text primitives. [`wgpu_glyph`] is powered by [`glyph-brush`], which caches glyphs to render text very fast. However, the current cache model does not seem to be composable (i.e. once you issue a draw call the cache is purged). We will need to change it (and potentially contribute) to accommodate for this use case. + * [x] Scrollables / Clippables ([#24]) + * [x] Text input widget ([#25]) + * [x] TodoMVC example ([#26]) + * [x] Async actions ([#27]) + * [x] Custom layout engine [#24]: https://github.com/hecrj/iced/issues/24 -[`RenderPass::set_scissor_rect`]: https://docs.rs/wgpu/0.3.0/src/wgpu/lib.rs.html#1246-1248 -[`glyph-brush`]: https://github.com/alexheretic/glyph-brush - -### Text input widget ([#25]) -A widget where the user can type raw text and passwords. - -This widget will have a quite complex event logic, potentially coupled with text rendering. Some examples are: -- Text cursor positioning based on a mouse click -- Text selection -- Clipboard interaction (copy & paste) -- Text editing shortcuts (go to start, go to end, etc.) - -It also needs scrollable / clippable text support, as the introduced text may not fit the input and scrolling based on the text cursor will need to be implemented. - -Additionally, the text cursor should blink at a regular interval, which can be considered an _animation_. - -I think we should start simple here, and build a text widget with the most basic functionality: click to focus and type to fill. We can improve the implementation with time as the library matures. - -The end-user API could look like this: - -```rust -pub enum Message { - TextChanged(String), -} - -let text_input = text_input::State::new(); -let text = "Hello"; - -TextInput::new(&mut text_input, &text, Message::TextChanged); -``` - [#25]: https://github.com/hecrj/iced/issues/25 - -### TodoMVC example ([#26]) -Once we have scrollables support and a text widget, we could build a [TodoMVC] example. It seems to be a very simple example and could showcase the API quite well. - -We could also consider releasing a `0.1.0` version at this point and share it as a milestone on different social platforms. - [#26]: https://github.com/hecrj/iced/issues/26 -[TodoMVC]: http://todomvc.com/ +[#28]: https://github.com/hecrj/iced/issues/28 ### Multi-window support ([#27]) Open and control multiple windows at runtime. @@ -154,46 +26,6 @@ This approach should also allow us to perform custom optimizations for this part [#27]: https://github.com/hecrj/iced/issues/27 -### Async actions ([#28]) -Most applications need to perform work in the background, without freezing the UI while they work. The current architecture can be easily extended to achieve this. - -We can let users return an asynchronous action (i.e. a future) producing a `Message` in `Application::update`. The runtime will spawn each returned action in a thread pool and, once it finishes, feed the produced message back to `update`. This is also how [Elm] does it. - -When it comes to implementing this, [`winit`] already supports user-specific events that can be sent from another thread. Accommodating `iced_winit` for this functionality should not be too complicated. - -[Elm]: https://elm-lang.org/ - -Here is an example of how the end-user API could look: - -```rust -impl Application for WeatherReport { - fn update(&mut self, message: Message) -> Command { - match message { - Message::Refresh => { - self.state = State::Loading; - - Command::from_future( - Weather::request(self.location), - Message::ReportReceived, - ) - } - Message::ReportReceived(Ok(report)) => { - self.state = State::Show(report); - - Command::none() - }, - Message::ReportReceived(Err(error)) => { - self.state = State::Error(error); - - Command::none() - } - } - } -} -``` - -[#28]: https://github.com/hecrj/iced/issues/28 - ### Event subscriptions ([#29]) Besides performing async actions on demand, most applications also need to listen to events passively. An example of this could be a WebSocket connection, where messages can come in at any time. @@ -233,7 +65,7 @@ In the long run, we could expose a renderer-agnostic abstraction to perform the [#32]: https://github.com/hecrj/iced/issues/32 ### Text shaping and font fallback ([#33]) -[`wgpu_glyph`] uses [`glyph-brush`], which in turn uses [`rusttype`]. While the current implementation is able to layout text quite nicely, it does not perform any [text shaping]. +[`wgpu_glyph`] uses [`glyph_brush`], which in turn uses [`rusttype`]. While the current implementation is able to layout text quite nicely, it does not perform any [text shaping]. [Text shaping] with font fallback is a necessary feature for any serious GUI toolkit. It unlocks support to truly localize your application, supporting many different scripts. @@ -303,5 +135,8 @@ This could be very useful to build very performant user interfaces with a lot of [Elm does it very well!](https://guide.elm-lang.org/optimization/lazy.html) -### Build a custom layout engine -It may be possible to build an optimized layout engine only for `iced_native` if it turns out that there are some flexbox features we end up not using. +[Elm]: https://elm-lang.org/ +[`winit`]: https://github.com/rust-windowing/winit +[`wgpu`]: https://github.com/gfx-rs/wgpu-rs +[`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph +[`glyph_brush`]: https://github.com/alexheretic/glyph-brush diff --git a/docs/crates_graph.dot b/docs/crates_graph.dot deleted file mode 100644 index 85e375d0..00000000 --- a/docs/crates_graph.dot +++ /dev/null @@ -1,12 +0,0 @@ -digraph G { - "iced_core" -> "iced_native" - "iced_core" -> "iced_web" - "iced_native" -> "iced_wgpu" - "iced_native" -> "iced_winit" - "iced_web" -> "iced" - "iced_wgpu" -> "iced" - "iced_winit" -> "iced" - - node[shape=box]; - "iced" -> "cross-platform application" -} diff --git a/docs/crates_graph.png b/docs/crates_graph.png deleted file mode 100644 index d598c1dd15a6801adb50e48b8f1a957210a91680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40251 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 AK>z>% diff --git a/docs/graphs/core.dot b/docs/graphs/core.dot new file mode 100644 index 00000000..a52dfbb9 --- /dev/null +++ b/docs/graphs/core.dot @@ -0,0 +1,13 @@ +digraph G { + fontname = "Roboto"; + newrank=true; + node[fontname = "Roboto", style=filled, fontcolor=white, color="#474973"]; + + { rank = same; iced_native iced_web } + + iced_core -> iced_native [style=dashed]; + iced_core -> iced_web [style=dashed]; + + iced_core [style=dashed, fontcolor=black]; + +} diff --git a/docs/graphs/core.png b/docs/graphs/core.png new file mode 100644 index 0000000000000000000000000000000000000000..a5002c9b2d678037d88fa43f2d545a5df3672f83 GIT binary patch literal 16123 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 V=Xw!T%fP_E;OXk;vd$@?2>|6UCK&(# literal 0 HcmV?d00001 diff --git a/docs/graphs/ecosystem.dot b/docs/graphs/ecosystem.dot new file mode 100644 index 00000000..e6c1af94 --- /dev/null +++ b/docs/graphs/ecosystem.dot @@ -0,0 +1,59 @@ +digraph G { + fontname = "Roboto"; + newrank=true; + node[fontname = "Roboto", style=filled, fontcolor=white, color="#474973"]; + + subgraph cluster_1 { + label = "renderers "; + labelloc = "b"; + labeljust = "r"; + fontcolor = "#ffffff"; + color="#8797AF"; + bgcolor="#8797AF"; + style=rounded; + node [fillcolor=white, color=white, fontcolor=black]; + + etc_1 [label="...", style=empty, shape=none, fontcolor=white]; + iced_wgpu; + } + + subgraph cluster_2 { + label = "shells "; + labelloc = "b"; + labeljust = "r"; + fontcolor = "#ffffff"; + color="#8797AF"; + bgcolor="#8797AF"; + style=rounded; + node [fillcolor=white, color=white, fontcolor=black]; + + etc_2 [label="...", style=empty, shape=none, fontcolor=white]; + iced_winit; + } + + subgraph cluster_3 { + style=invis; + margin=20; + iced; + } + + { rank = same; iced_native iced_web } + { rank = same; iced_wgpu iced_winit etc_1 etc_2 } + + iced_core -> iced_native [style=dashed]; + iced_core -> iced_web [style=dashed]; + iced_native -> iced_wgpu; + iced_native -> iced_winit; + + iced_winit -> iced; + iced_wgpu -> iced; + iced_web -> iced; + + iced -> "cross-platform application"; + + iced_core [style=dashed, fontcolor=black]; + iced [width=1, height=0.6, style="filled", fontcolor=white, color="#474973"]; + + + "cross-platform application" [shape=box3d, style="solid", width=2.8, height=0.6, fontcolor="#474973"]; +} diff --git a/docs/graphs/ecosystem.png b/docs/graphs/ecosystem.png new file mode 100644 index 0000000000000000000000000000000000000000..647c22ab142dfa33d86d35471a05041f8310e2c2 GIT binary patch literal 51911 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 l7#I{ iced; + iced_wgpu -> iced; + iced_web -> iced; + + iced [width=1, height=0.6, style="filled", fontcolor=white, color="#474973"]; +} diff --git a/docs/graphs/iced.png b/docs/graphs/iced.png new file mode 100644 index 0000000000000000000000000000000000000000..dcdd9cd3adb94eeecd221f16f318a74ea73e5542 GIT binary patch literal 32794 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 E0DQWEU;qFB literal 0 HcmV?d00001 diff --git a/docs/graphs/native.dot b/docs/graphs/native.dot new file mode 100644 index 00000000..3bc654a5 --- /dev/null +++ b/docs/graphs/native.dot @@ -0,0 +1,42 @@ +digraph G { + fontname = "Roboto"; + newrank=true; + node[fontname = "Roboto", style=filled, fontcolor=white, color="#474973"]; + + subgraph cluster_1 { + label = "renderers "; + labelloc = "b"; + labeljust = "r"; + fontcolor = "#ffffff"; + color="#8797AF"; + bgcolor="#8797AF"; + style=rounded; + node [fillcolor=white, color=white, fontcolor=black]; + + etc_1 [label="...", style=empty, shape=none, fontcolor=white]; + iced_wgpu; + } + + subgraph cluster_2 { + label = "shells "; + labelloc = "b"; + labeljust = "r"; + fontcolor = "#ffffff"; + color="#8797AF"; + bgcolor="#8797AF"; + style=rounded; + node [fillcolor=white, color=white, fontcolor=black]; + + etc_2 [label="...", style=empty, shape=none, fontcolor=white]; + iced_winit; + } + + + { rank = same; iced_wgpu iced_winit etc_1 etc_2 } + + iced_core -> iced_native [style=dashed]; + iced_native -> iced_wgpu; + iced_native -> iced_winit; + + iced_core [style=dashed, fontcolor=black]; +} diff --git a/docs/graphs/native.png b/docs/graphs/native.png new file mode 100644 index 0000000000000000000000000000000000000000..fbcad808967c609f95e9c57a4389a3876b58e8b4 GIT binary patch literal 27637 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 qX`z1>45?=YHQ}k iced_web [style=dashed]; + + iced_web -> iced; + + iced_core [style=dashed, fontcolor=black]; + iced [width=1, height=0.6, style="filled", fontcolor=white, color="#474973"]; +} diff --git a/docs/graphs/web.png b/docs/graphs/web.png new file mode 100644 index 0000000000000000000000000000000000000000..6db04087a6b57ff741df86288f5d0d7284cc20ea GIT binary patch literal 13023 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 iced_wgpu; + + iced_wgpu -> iced; + + iced [width=1, height=0.6, style="filled", fontcolor=white, color="#474973"]; +} diff --git a/docs/graphs/wgpu.png b/docs/graphs/wgpu.png new file mode 100644 index 0000000000000000000000000000000000000000..00ae76cecac52535b704bd486e8c9fe52e3d1752 GIT binary patch literal 20091 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 literal 0 HcmV?d00001 diff --git a/docs/graphs/winit.dot b/docs/graphs/winit.dot new file mode 100644 index 00000000..c31f869b --- /dev/null +++ b/docs/graphs/winit.dot @@ -0,0 +1,33 @@ +digraph G { + fontname = "Roboto"; + newrank=true; + node[fontname = "Roboto", style=filled, fontcolor=white, color="#474973"]; + + subgraph cluster_2 { + label = "shells "; + labelloc = "b"; + labeljust = "r"; + fontcolor = "#ffffff"; + color="#8797AF"; + bgcolor="#8797AF"; + style=rounded; + node [fillcolor=white, color=white, fontcolor=black]; + + etc_2 [label="...", style=empty, shape=none, fontcolor=white]; + iced_winit; + } + + subgraph cluster_3 { + style=invis; + margin=20; + iced; + } + + { rank = same; iced_winit etc_2 } + + iced_native -> iced_winit; + + iced_winit -> iced; + + iced [width=1, height=0.6, style="filled", fontcolor=white, color="#474973"]; +} diff --git a/docs/graphs/winit.png b/docs/graphs/winit.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8b98dc77dc5e1dc689ad4811eaa2b3b275985a GIT binary patch literal 17051 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