Replies: 2 comments 5 replies
|
Okay, my review so far: First of all, I am impressed. Especially by your windowing. I know I'm nobody special, and my opinion shouldn't matter to you anyways, but, nevertheless, I wanted to say: This is really good. I tend to use as few resources that I didn't make myself as possible, so, the frameworks that I do use I get very well acquainted with. It is not easy to convince a person to start over with all of their experience in one framework for another, potentially better framework, no matter how good it is. But I think what you are working on here is really really important. I've made ICED work for me, but it's without a doubt one of the more difficult frameworks to learn. And it's a hard sell, you have to learn something that's deliberately not meant to be easy. Not that they TRY to make it hard, but they state clearly in their own docs to basically beat it if you're new to Rust: they don't have time for you. Which is fair, to be able to do what ICED does, they lean on all of the most advanced rust capabilities for their framework. Which makes it really strong in ways I have never experienced before, and is what made me fall in love with Rust and ICED all at once. There's beauty in a really complicated thing that resolves to something quite simple, as I feel are what make Rust and ICED special, especially specific parts like the cosmic-text glyph rasterizing buffer - that one blew my mind when I took it apart during the design of a text editor I made (which I actually use every day, it is my primary text editor now). My point being, ICED is a great idea - conceptually, it is beautiful and a wonderful showcase of why to choose Rust if you are really into programming and computer science. But it's not gonna work, it's too hard to learn, and worse - it's not perfect even when you do. Ply reminds me of ICED in spirit - in its elegance and unusually sensibility. When I read about it, I thought, "Oh, of course. That's the way it should be." and it's clear how much time went into considering everything that matters for a GUI framework. The reason I'm interested in Ply is that I feel like it could solve the biggest problem (imo) that Rust has at the moment. I recently met with an old friend of mine, and we caught up, and talked about computer science and programming etc, he just graduated college and got a bachelors, major comp sci and minor in math, so we had some nerdy things to say ;D We were talking about what languages and frameworks we use for various things, and when I mentioned that I used Rust for just about everything these days, his first question was, "Is Rust actually usable for GUIs now?" I think ICED is just fine, and I can work with it easily enough now, but, it's not an unfair question. I'm not sure ICED is ever gonna be a convincing sell to answer it with either. Ply though? Ply really could be. It could be how Rust becomes considered a viable choice for GUIs finally. That's why I've decided to give it my full attention. Because I want more Rust in the world. Which means we need to have a good GUI framework. Good is hard to define, but I feel like Ply speaks for itself. Good is definitely what Ply is. It make sense, it doesn't suck, and its learning curve is reasonable. I don't think you can really ever say a GUI framework is easy to learn - not if it's powerful enough to really do things with. But the balance is well struck with Ply. It's no more difficult or weird than it needs to be. I hope you feel proud of this, you have earned it. I'll do what I can to push Ply forward, I think it's worth my time. Recently, I had an App Store submission get rejected due to a winit bug: I fixed the bug in winit and submitted a PR... So naturally, the first thing I did after building vcode* was go hunting for the same kind of flagged private calls in a Ply build. I diffed the whole symbol table against the public macOS SDK and came up with zero private CGS calls, fantastic. But the reason I am so impressed is because miniquad does its own minimal windowing in AppKit and metal, so it never will call for the CGS window-server APIs that get rejected. Now THAT is how you do it! I used Ply for the GUI of * A 3D printer tool - It is a Here is what vcode looks like:
Oh, and ignore the preview image, it's not entirely accurate, here is what the resulting gcode actually looks like in bambu studio:
It may not look like it's anything special. But the thing is, unlike if you try to generate the gcode for a PCB stencil made from an STL in bambu, this one will actually look identical to what you see in bambu because it doesn't make a mess at every pad with a retraction. it makes as few retractions as possible, and never anywhere near the pads. It works great. I'll upload a photo of the actual print too. Here's the scan from my HP Envy printer, which really doesn't do the DFN footprint justice.
And here it is pressed against the text of this comment so you can see the light through the tiniest pads are really there ;D
I'm thrilled with how Sorry, I didn't mean to make this post entirely about my project lol. But I reckon there's no better way to showcase a GUI framework than by showcasing a project made with said framework, so ;D Oh, I also took the opportunity to try the wasm - it looks GREAT. So I will also link the wasm version for people to try out which I've hosted on my webserver. Oh, instructions: in KiCad, go to Fabrication Outputs➞Gerbers then change the format to svg. All you need is the paste layer. Drag it onto the page, that's pretty much it!
|
|
@pszsh Sorry for the late reply, I am coming back from my senior trip to Berlin. Ply is being a little neglected recently, I have a nice job and a boyfriend now, so life is quite good but also a little busy with drivers license, the game project, finals, other projects on the side and then uni coming up too. Ply is of course open-source and basically-public-domain and will be as such forever, that is my mission. So there are issues for others to work on and you can contribute too, in fact you already did: Your comment on padding made me realize that a text input with non-floating children makes no sense, and it shouldn't be a regular element but making I have been working on IME #75 for quite a while now that's why Ply is stuck currently basically stuck inbetween a huge under-the-hood change. So that currently has the highest priority to me and I don't even have a Mac to test everything on. But again, things have been busy and I have other urgent deadlines to tend to and things I've been pushing around. I love that someone is motivated to do something with my usable engine, although still in its infancy. And your project seems awesome. By the way, I checked out the repository for vcode and noticed your custom license note. I totally get what you are trying to do with keeping corporations away, but without explicit legal text, even hobbyists and individuals can't legally copy or use your software. Also, because there is no standard disclaimer of liability, you are holding yourself responsible for warranties or damages. If your goal is to let individuals use it freely while keeping corporations out, you might want to consider using something like my Ply Noncommercial License 1 (https://plyx.iz.rs/noncommercial-license/1/). It's still a great app nonetheless. You seem to really be enjoying Ply, would you say you are enjoying it enough for me to set up sponsoring? The problem with me is that with so much going on I'd feel like I'm disappointing any donators. |




Uh oh!
There was an error while loading. Please reload this page.
I love Rust and ICED. I do complex GUI stuff. I've been working on a 3D Magneto-Statics, Electrical Circuit, and Mechanical Motion Multi-Physics engine called Sitter over the last few months. It's a BEM + FMM-LU fast direct solver under the hood with an emphasis on being able to run very complicated simulations you could not begin to script in other engines.
I'm not gonna be switching GUI backends for that project, but to give you an idea of what kind of work I do.
I hand't been looking for an ICED alternative, I love ICED, I've grown used to its shortcomings. But when I read your blog post, I was moved. Compelled to agree with you.
Over the next few weeks, I'll share the work I do in Ply.
Thanks for making this, I've got high hopes for this being the start of a really good thing.
If you're looking for specific feedback on any one particular area, please let me know and I'll be sure to explore it.
All reactions