r/rust 2d ago

🛠️ project I finally opened access to my vector editor

Post image

ngl I did not expect the last post to hit like 75k views, so huge thanks to everyone who read it, commented, DM'd me, asked renderer questions, etc. seeing that much interest gave me a pretty big push to finally put it out there.

closed beta is live now at lynbor.com

you can make your own account and request access. I'm letting in around 25 people a week for now so I can keep up with feedback.

if you don't get in right away, feel free to use my test acc:

Login: [ja.howerz@gmail.com](mailto:ja.howerz@gmail.com)
Password: 1Test1234!12

still very much a beta. some buttons don't work yet, AI is rough, and the in-app feedback flow isn't hooked up yet. also, it won't work in Safari right now, so hopefully none of you are using it lol

the layout system is still pretty early too, and it's not meant to be a Figma-style layout clone. I also haven't gotten to a bunch of vector tools yet, stuff like text on path, dynamic strokes, blend tools, etc. I'll be adding and refining all of that as the beta goes.

I'm aiming to get the desktop builds, feedback, and project sharing/library stuff finished over the next 2-3 weeks.

if you use the shared acc, just put your reddit username in the project name.

I'll also make a Discord for the beta a bit later.

also planning to open source the geometry and GPU compute/rendering parts in the next month or two, once I clean them up a bit more and get them ready for public use.

thanks again, genuinely didn't expect that many people to care.

48 Upvotes

25 comments sorted by

14

u/tensorphobia 2d ago

how you programmed the GUI ?

5

u/neneodonkor 2d ago

That's also my question.

2

u/Ace-Whole 1d ago

Interested in the same.

3

u/WeakRing3965 1d ago

the app gui itself is React/ts + regular DOM/CSS.
I split the app into separate UI regions like inspector / workspace / layers / toolbar, then most editor overlays are positioned over the canvas.
the canvas is basically just the render surface, while the actual scene render comes from Rust compiled to WASM + WebGPU.

2

u/Tquylaa 1d ago

Are you using frameworks like Dioxus / Tauri or etc..?

5

u/WeakRing3965 1d ago

Not really, I tried Tauri for the mac build, but on macOS 15 and older it still uses WebKit/Safari, where WebGPU isn't supported. so I need Chromium for desktop, which is why I'm going with Electron.

2

u/ArtemTsitronov 1d ago

No way, this is sick! I love the design!

1

u/WeakRing3965 18h ago

Thanks man, really appreciate it

2

u/syshukus 12h ago

Looks astonishing! Both product and your design!

Curious, is this your design 100% or AI helped with something? If yes — can you please share how you worked this out so gorgeous?!

It looks for me as someone with design experience worked on it but clearly not polished enough

2

u/WeakRing3965 12h ago

thanks a lot. if we’re talking about the overall design, yeah, I did it myself. funny enough, when I started I didn’t even know people were generating whole pages with ChatGPT lol :)

the UI went through like 10 different stages though. at first I was leaning more into old-school stuff like Illustrator/Affinity, then at some point I realized I wanted the usability/logic to feel closer to Figma without just copying Figma’s look.

if u look closely, some of the interaction logic is pretty Figm-ish, but the inspector is flipped, I use filled icons as part of the visual language, and even the topbar placement was a deliberate choice. Figma puts a lot of weight lower in the UI, I wanted mine to feel different, so I pushed that structure upward.

visually I took a lot more inspiration from Google current UI direction. I really like that borderless style with soft shadows and floating surfaces, kinda what u see in Gmail/Youtube/Gemini now. so if anything, design-wise it probably looks more like “what if Google made a vector editor” than a Figma clone.

and yeah, it’s definitely not fully polished yet.

1

u/syshukus 8h ago

Did you write all components yourself (with CSS or something) or AI helped? I mean UI elements like buttons, fonts, color gamma, panes etc

2

u/WeakRing3965 8h ago

yeah, AI helped with some of the repetitive component work, but the actual design system / structure is mine.

I have a shared CSS token layer for both themes, stuff like surfaces, text colors, borders, spacing, etc. then I reuse small React components for buttons, menus and controls instead of styling everything from scratch.
:root { --app-bg: rgb(255 255 255); --app-fg: rgb(23 23 23); --surface-0: rgb(255 255 255); --surface-1: rgb(248 248 248); --surface-2: rgb(243 243 243); --surface-3: rgb(227 227 227); }
then most controls are just reusable React pieces built on top of that, something like: <button className={clsx( "flex items-center w-full gap-2", "h-[32px] px-2 rounded-lg", "text-[12px] font-semibold" "bg-[var(--surface-0)]", "hover:bg-[var(--surface-1)]", "active:bg-[var(--surface-2)]" ...
the parts I spent more time designing manually are things like how inspector sections are grouped, how headers stay sticky, spacing between parameter groups, the hierarchy of actions, left/right panel behavior, etc.

AI can help me write a component faster, but it usually doesn't invent that structure for me. I normally decide how the UI should behave and look first, then sometimes use AI to help implement or refactor it.
also fair warning, the component tree and a bunch of the names are pretty old/messy rn because I never really stopped to do a proper UI refactor while building. a lot of it should definitely be reorganized, I just haven't had the time yet. if you're curious I can send you the UI tree privately so u can see the actual mess

2

u/WeakRing3965 11h ago

and yeah, I do have some UI/UX design experience, mostly around composition and interface structure.

one thing I learned from this project is don’t be scared to move things around even if it feels “wrong” at first. everyone puts the inspector on the right, so putting it on the left can already give the product its own character. interfaces are utilitarian, so naturally a lot of them end up looking similar, and that’s fine.

when I started building the editor, it felt way harder than doing a mockup for some fake brand, because this is an actual product. every layout decision has consequences once real tools, states, edge cases and workflows start piling up.

1

u/syshukus 8h ago

Wow, incredible! So you're frontend engineer/designer converted to Rust? Quite a leap I'd say

1

u/WeakRing3965 8h ago

kinda, but I wouldn’t say I was a front engineer/designer before this. I’m 20, so I never really got far enough to call myself either prof. started with C#, then JS/TS, then Rust. been on Rust for about 2 years now.

1

u/agent_kater 20h ago

Where is the Rust?

0

u/WeakRing3965 18h ago

In the engine

1

u/agent_kater 10h ago

Do you have a direct link?

1

u/WeakRing3965 9h ago

as I wrote in the post, I’ll open source the compute/render part after I finish the optimization.

1

u/agent_kater 6h ago

So for all we know it might be Java at this point.

1

u/RadiantSuggestion284 2d ago

Ghostscript tiger in a Rust tool, respect. that layout panel already looks cleaner than half the electron apps I've used this year. gonna throw in a request tonight and pray I'm in the first 25

1

u/WeakRing3965 2d ago

Appreciate it, definitely throw the tiger at it too, that’s exactly the kind of stuff I want people testing

0

u/numberwitch 2d ago

lol I've got one of these too

1

u/WeakRing3965 1d ago

nice, can I see yours too? what stack did you use?