linebender / druid

A data-first Rust-native UI design toolkit.
https://linebender.org/druid/
Apache License 2.0
9.58k stars 566 forks source link

Project Showcase #1360

Open justinmoon opened 4 years ago

justinmoon commented 4 years ago

Let's make a collection of Druid projects. Here's a few nice ones I've seen:

Leave a comment to share your project!

kud1ing commented 4 years ago

There are also:

tirix commented 3 years ago

I have not tried those out, so I don't know their actual state, but at lease some of them might be interesting:

timothyhollabaugh commented 3 years ago

I've been working on a computer-aided-manufacuring (CAM) tool that generated toolpaths for milling out circuit boards and SVGs on a CNC mill or router.

https://gitlab.com/timothyhollabaugh/cam

Will way that I'm pretty happy using druid here. There are a number of custom widgets, lenses, list iters, and an AppDelegate to talk to a computation thread. Patiently waiting for 3d support though :smile: .

RyanMeulenkamp commented 3 years ago

Hi, I got hinted to submit my little druid app here. It's called Solplan, and it maps solar panels onto a roof.

tirix commented 3 years ago

To be added to the showcase:

kud1ing commented 3 years ago

People at https://old.reddit.com/r/rust/comments/ksgtk7/druid_v070/ expressed a desire for screenshots.

Not sure whether this issue here or another place is best to collect some. Our friends at Iced put them in the issue: https://github.com/hecrj/iced/issues/355

chanble commented 3 years ago

druid-huarongdao - fifteen move puzzle

Maikel1963 commented 3 years ago

I don't know if this issue is already known, but I didn't find it. Trying to compile some of the projects in this showcase I nearly always get this error message

editable_text.rs:200:19 200 if !range.is_empty() !new.is_empty() { ------^^^^^^^^--
multiple is_empty found
help: disambiguate the associated function for candidate #2: std::iter::ExactSizeIterator::is_empty(&range)
= note: candidate #1 is defined in an impl for the type `std::ops::Range<Idx>`
= note: candidate #2 is defined in an impl of the trait `std::iter::ExactSizeIterator` for the type `std::ops::Range<usize>`

editable_text.rs belongs to druid and has been changed completly after version 0.5. As I am an absolute newbie to rust I do not know how to overcome this error. Could somebody please put this issue where it belongs and/or tell me if I can do something about it. I am running rust on a win10 machine with nvidia grafics Quadro M2000M if this of some concern.

SecondFlight commented 3 years ago

Sounds like it might be an issue with how you're setting up the code. Try this:

  1. Clone Runebender
  2. cd into the root folder of the cloned repo
  3. Run cargo run

Do you get the same error when you do this?

lisael commented 3 years ago

Here's my take: https://gitlab.com/lisael/rebor, an editor project. The editor is far from being usable, but the editor widget is interesting enough.

Kethku commented 3 years ago

https://github.com/Kethku/Pando I made a tree based task tracker

image

Maikel1963 commented 3 years ago

Hello Joshua

Thanks for your reply.

Unfortunately I had ben forced to skip my work with rust for a long time. But now I am back for another try and followed your advice. I just did what you wrote

Just a few minutes ago I copied the complete repo from "runebender" to

d:\Projekte\SW Entwicklung\RUST_DEV\runebender-master\

then opened the terminal with "cmd" in ....\runebender-master and enterered

cargo run

after a lot of compiling I got this:

 

Compiling spline v0.3.0 (https://github.com/linebender/spline.git?rev=229f7e7#229f7e72)

error[E0658]: use of unstable library feature 'tau_constant'  --> C:\Users\michael.heisler.cargo\git\checkouts\spline-cd4e0fb76c2d08a6\229f7e7\src\util.rs:4:9   | 4 |     x - std::f64::consts::TAU (x (1.0 / std::f64::consts::TAU)).round()   |         ^^^^^^^^^^^^^^^^^^^^^   |   = note: see issue #66770 https://github.com/rust-lang/rust/issues/66770 for more information

error[E0658]: use of unstable library feature 'tau_constant'  --> C:\Users\michael.heisler.cargo\git\checkouts\spline-cd4e0fb76c2d08a6\229f7e7\src\util.rs:4:45   | 4 |     x - std::f64::consts::TAU (x (1.0 / std::f64::consts::TAU)).round()   |                                             ^^^^^^^^^^^^^^^^^^^^^   |   = note: see issue #66770 https://github.com/rust-lang/rust/issues/66770 for more information

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0658. error: could not compile spline.

To learn more, run the command again with --verbose. warning: build failed, waiting for other jobs to finish... error: build failed

 

If this works on your computer how can I come to an environment which behaves as yours?

 

Best regards

Michael

   

Gesendet: Mittwoch, 12. Mai 2021 um 23:44 Uhr Von: "Joshua Wade" @.> An: "linebender/druid" @.> Cc: "Michael" @.>, "Comment" @.> Betreff: Re: [linebender/druid] Project Showcase (#1360)

 

Sounds like something odd with your setup. Try this:

Clone Runebender
cd into the root folder of the cloned repo
Run cargo run

Do you get the same error when you do this?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

ratmice commented 2 years ago

I made a little project for controlling a bluetooth light, It is going to be a pretty blank screen if you don't have the specific device that it is for though https://github.com/ratmice/neewerctl

It uses druid and druid-widget-nursery for prisms and some controls, and is a moderately complex program using tokio, and the async bluetooth communications library btleplug, communication then goes both from druid to the bluetooth device, and the other way around.

It definitely works, but some parts are less elegant than others

pepone42 commented 2 years ago

Looks like text editor made with druid are trendy. Here is my own humble little notepad like editor nonepad

markijohn commented 2 years ago

I made druid ui prototype maker using rune script.

atlanticaccent commented 2 years ago

For the past year(?)+ I've been working in my free time on a mod manager for an indie game called Starsector. It started out built in C++/wxWidgets, then Iced, and, for a while now, Druid.

image

If it wasn't already obvious, I'm terrible at UI/UX design, but I've learned a lot. The vast majority of MOSS is managing file I/O operations, moving and deleting folders. But it also deals in (de)compression, networking (for voluntary update checking), concurrency, and system webviews (it fork into and communicate with a wry managed system webview allowing me to intercept downloads as users browse and automatically begin mod installations).

Will-Banksy commented 1 year ago

I've been working on a D&D character manager tool with druid https://github.com/Will-Banksy/druid_5e_manager

Techno3d commented 1 year ago

For a few months now I have been making a now-playing widget for my desktop https://github.com/Techno3d/now-playing

FunnyScreenshot

markijohn commented 1 year ago

I made a druid ui static code generator using HTML syntax. It's been a few months since I started doing this, and I recently added an experiment with CSS transitions for animation.

image

liias commented 1 year ago

I've made a browser picker

https://github.com/Browsers-software/browsers

kodmanyagha commented 1 month ago

This is my app: Fast Diary.

Code: https://github.com/kodmanyagha/fast-diary

Video: https://www.youtube.com/watch?v=pxwxHojGlec