From a4a6a8dc0f90ce953decda8cc917f7e3681605a5 Mon Sep 17 00:00:00 2001 From: marc2332 Date: Thu, 3 Aug 2023 22:41:41 +0200 Subject: [PATCH] release: Prepare v0.1 --- README.md | 41 +++++++++++++---------------- book/src/differences_with_dioxus.md | 17 +++++++----- book/src/guides/getting_started.md | 2 +- book/src/what_is_freya.md | 19 +++++++------ common/Cargo.toml | 6 ++--- components/Cargo.toml | 6 ++--- components/src/button.rs | 2 +- core/Cargo.toml | 6 ++--- devtools/Cargo.toml | 5 ++-- dom/Cargo.toml | 7 ++--- elements/Cargo.toml | 6 ++--- freya/Cargo.toml | 6 ++--- hooks/Cargo.toml | 6 ++--- layout/Cargo.toml | 6 ++--- renderer/Cargo.toml | 6 ++--- state/Cargo.toml | 6 ++--- testing/Cargo.toml | 6 ++--- torin/Cargo.toml | 6 ++--- torin/readme.md | 3 --- 19 files changed, 81 insertions(+), 81 deletions(-) delete mode 100644 torin/readme.md diff --git a/README.md b/README.md index 8426ec831..040137358 100644 --- a/README.md +++ b/README.md @@ -68,38 +68,33 @@ cargo run --example counter You can also try [`freya-template`](https://github.com/marc2332/freya-template) ### Usage 📜 -Add Freya as a dependency via git (it's not published on [crates.io](https://crates.io/) yet) in your `Cargo.toml`: +Add Freya and Dioxus as dependencies: ```toml -freya = { git = "https://github.com/marc2332/freya" } +freya = "0.1" dioxus = { version = "0.4", features = ["macro", "hooks"] } ``` ### Features ✨ -- Support for Windows, Linux and MacOS -- Text, containers, images, svg, etc -- Headless testing -- Hot reload -- Optional DevTools panel -- Easy multiline text editing -- Components crate (with theming support) - - Scroll views - - Virtualized scroll views - - Button - - Slider - - Switch - - Dropdown - - and a few more -- Keyboard and Mouse events -- Hooks crate for text editing, animating, theming.. +- ⛏️ Built-in **components** (button, scroll views, switch and more) +- 🚇 Built-in **hooks** library (animations, text editing and more) +- 🔍 Built-in **devtools** panel +- 🧰 Built-in **headless testing** runner for components +- 🎨 **Theming** support (not extensible yet ⚠️) +- 🛩️ Cross-platform (Windows, Linux, MacOS) +- 🖼️ SKSL **Shaders** support +- 🔄️ Dioxus **Hot-reload** support +- 📒 Multi-line **text editing** (experimental ⚠️) +- 🦾 Basic **Accessibility** Support (experimental ⚠️) +- 🧩Compatible with dioxus-std and other Dioxus renderer-agnostic libraries ### Goals 😁 - Performant and low memory usage -- Good developer experience -- Cross-platform -- Provide accessibility APIs -- Provide testing APIs -- Provide useful built-in components and hooks +- Ggood developer experience +- Cross-platform support +- Decent Accessibility support +- Useful testing APIs +- Useful and extensible components and hooks ## Status ⌚ diff --git a/book/src/differences_with_dioxus.md b/book/src/differences_with_dioxus.md index 4285442c9..952c6500f 100644 --- a/book/src/differences_with_dioxus.md +++ b/book/src/differences_with_dioxus.md @@ -2,10 +2,13 @@ **Freya** uses most of the core packages of Dioxus, but not all them. -These are the main differences: -- Freya has it's own elements, attributes and events, instead of `HTML`. -- Freya uses it's own UI layout library called [`torin`](https://github.com/marc2332/freya/tree/main/torin), instead of [`taffy`](https://github.com/DioxusLabs/taffy). -- Freya uses Skia, instead of webview or other graphics libraries used by Dioxus. -- Freya comes with it's own set of components and hooks, on the other hand Dioxus web/desktop can take advantage of existing CSS libraries and HTML elements. -- Freya has an integrated devtools panel, dioxus web/desktop already have the browser/webview devtools. -- Freya comes with a headless testing runner. +These are the main differences between Freya and the different Dioxus renderers for Desktop (webview and Blitz): + +| Category | Freya | Dioxus | +|--------------------------------------|------------------|---------------------------------| +| **Elements, attributes and events** | Custom | HTML | +| **Layout** | Custom ([`torin`](https://github.com/marc2332/freya/tree/main/torin)) | Browser and [`taffy`](https://github.com/DioxusLabs/taffy) | +| **Renderer** | Skia | WebView or WGPU | +| **Components library** | Custom | None, but can use CSS libraries | +| **Devtools** | Custom | Webviews already ship them | +| **Headless testing runner** | Custom | None | diff --git a/book/src/guides/getting_started.md b/book/src/guides/getting_started.md index d82533484..d7bb508aa 100644 --- a/book/src/guides/getting_started.md +++ b/book/src/guides/getting_started.md @@ -23,7 +23,7 @@ version = "0.1.0" edition = "2021" [dependencies] -freya = { git = "https://github.com/marc2332/freya" } +freya = "0.1" dioxus = { version = "0.4", features = ["macro", "hooks"] } ``` diff --git a/book/src/what_is_freya.md b/book/src/what_is_freya.md index c4f63d8f0..3079f597a 100644 --- a/book/src/what_is_freya.md +++ b/book/src/what_is_freya.md @@ -1,16 +1,19 @@ # What is Freya? -**Freya** is native **GUI** library built on top of 🧬 [Dioxus](https://dioxuslabs.com)'s core, it also uses 🎨 [Skia](https://skia.org/) as a graphics library, for 🦀 Rust. +**Freya** is native **GUI** library for Rust🦀, built on top of 🧬 [Dioxus](https://dioxuslabs.com)'s core and powered by 🎨 [Skia](https://skia.org/) as a graphics library. ### Features -- ⛏️ Built-in components and hooks library -- 🔍 Integrated devtools -- 🧰 Built-in testing runner for components. +- ⛏️ Built-in **components** (button, scroll views, switch and more) +- 🚇 Built-in **hooks** library (animations, text editing and more) +- 🔍 Built-in **devtools** panel +- 🧰 Built-in **headless testing** runner for components +- 🎨 **Theming** support (not extensible yet ⚠️) - 🛩️ Cross-platform (Windows, Linux, MacOS) -- 🥸 Easy to use -- 🖼️ Shaders support -- 🔄️ Hot-reload -- 📒 Multi line text editing +- 🖼️ SKSL **Shaders** support +- 🔄️ Dioxus **Hot-reload** support +- 📒 Multi-line **text editing** (experimental ⚠️) +- 🦾 Basic **Accessibility** Support (experimental ⚠️) +- 🧩Compatible with dioxus-std and other Dioxus renderer-agnostic libraries ### Why 🧬 Dioxus? diff --git a/common/Cargo.toml b/common/Cargo.toml index 3f00b94ed..3f2dbba56 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-common" -description = "Cross-platform GUI Library." +description = "Internal common utilities for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/components/Cargo.toml b/components/Cargo.toml index 076ff3da5..fb209956d 100644 --- a/components/Cargo.toml +++ b/components/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-components" -description = "Cross-platform GUI Library." +description = "Components library desgined for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/components/src/button.rs b/components/src/button.rs index 1046a77a6..cef514f0c 100644 --- a/components/src/button.rs +++ b/components/src/button.rs @@ -90,7 +90,7 @@ pub fn Button<'a>(cx: Scope<'a, ButtonProps<'a>>) -> Element { height: "auto", direction: "both", color: "{color}", - shadow: "0 5 20 0 rgb(0, 0, 0, 100)", + shadow: "0 2 10 1 rgb(0, 0, 0, 45)", corner_radius: "5", padding: "8", background: "{background}", diff --git a/core/Cargo.toml b/core/Cargo.toml index e05dfa0ee..bf8c2049d 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-core" -description = "Cross-platform GUI Library." +description = "Internal core funcionatilies for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [features] diff --git a/devtools/Cargo.toml b/devtools/Cargo.toml index 6581cb25a..f3f41da23 100644 --- a/devtools/Cargo.toml +++ b/devtools/Cargo.toml @@ -1,13 +1,14 @@ [package] name = "freya-devtools" +description = "Devtools panel integration for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/dom/Cargo.toml b/dom/Cargo.toml index 5abfb5629..9523657e3 100644 --- a/dom/Cargo.toml +++ b/dom/Cargo.toml @@ -1,13 +1,14 @@ [package] name = "freya-dom" +description = "Internal DOM abstractions for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [features] @@ -26,6 +27,6 @@ dioxus-core = { workspace = true } skia-safe = { workspace = true } -uuid = { version = "1.2.2", features = ["v4"]} +uuid = { workspace = true } rustc-hash = { workspace = true } tracing = { workspace = true } diff --git a/elements/Cargo.toml b/elements/Cargo.toml index c8ae8ce04..8e63fdf4f 100644 --- a/elements/Cargo.toml +++ b/elements/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-elements" -description = "Cross-platform GUI Library." +description = "Internal elements, attributes and events designed for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/freya/Cargo.toml b/freya/Cargo.toml index 899a6a122..cb7a38bc7 100644 --- a/freya/Cargo.toml +++ b/freya/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya" -description = "Cross-platform GUI Library." +description = "Cross-platform GUI Library powered by Dioxus and Skia." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [features] diff --git a/hooks/Cargo.toml b/hooks/Cargo.toml index 3cef183c5..9e9b9e6fe 100644 --- a/hooks/Cargo.toml +++ b/hooks/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-hooks" -description = "Cross-platform GUI Library." +description = "Hooks library designed for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [features] diff --git a/layout/Cargo.toml b/layout/Cargo.toml index 749b3c3ec..39af2fb50 100644 --- a/layout/Cargo.toml +++ b/layout/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-layout" -description = "Cross-platform GUI Library." +description = "Internal layout and layers management for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [target."cfg(target_os = \"linux\")".dependencies.skia-safe] diff --git a/renderer/Cargo.toml b/renderer/Cargo.toml index df9e7f787..82b370c36 100644 --- a/renderer/Cargo.toml +++ b/renderer/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-renderer" -description = "Cross-platform GUI Library." +description = "Internal renderer powered by Skia for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [target."cfg(target_os = \"linux\")".dependencies.skia-safe] diff --git a/state/Cargo.toml b/state/Cargo.toml index 22791834c..fd1c7fe52 100644 --- a/state/Cargo.toml +++ b/state/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-node-state" -description = "Cross-platform GUI Library." +description = "Internal Node states for Dioxus RealDOM elements used in Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/testing/Cargo.toml b/testing/Cargo.toml index 0a8564948..c8c702e32 100644 --- a/testing/Cargo.toml +++ b/testing/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "freya-testing" -description = "Cross-platform GUI Library." +description = "Headless test runner for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [dependencies] diff --git a/torin/Cargo.toml b/torin/Cargo.toml index 60035862b..b7e59c6a5 100644 --- a/torin/Cargo.toml +++ b/torin/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "torin" -description = "Cross-platform GUI Library." +description = "UI layout Library designed for Freya." version = "0.1.0" edition = "2021" license = "MIT" authors = ["Marc Espín "] readme = "../readme.md" -homepage = "https://github.com/marc2332/freya" +homepage = "https://freyaui.dev/" repository = "https://github.com/marc2332/freya" -keywords = ["gui", "ui", "cross-platform", "dioxus", "skia", "graphics"] +keywords = ["gui", "ui", "desktop", "skia", "dioxus"] categories = ["GUI"] [features] diff --git a/torin/readme.md b/torin/readme.md deleted file mode 100644 index 7c74853c5..000000000 --- a/torin/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# torin - -UI layout Library designed for Freya. \ No newline at end of file