now that I am building a client where you can use a mouse, I can design some fun realtime hover interactions.

https://cdn.jb55.com/s/notedeck-hover-2.mp4


:omgclap:


Hover to preview notes on a relay 👀


Sure why not!


Is this nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955 for desktop!?!


yup! 😁


Also, will this be Mac only?


Works on linux, macos, android, windows (soon)


Super excited for this! Keep up the great work!


rock on!

rock on!


YOOOO hell yeah this is dope, is it publicly available atm?


yup:

https://github.com/damus-io/notedeck


It compiles on wsl but doesn't run. Just dies after start


hmm good to know, I haven’t tried that yet


Rust compile times feels like a hot girlfriend who cheats on you


Onward 🫡

Onward 🫡


Compile is fast but for some reason it takes like 10 seconds to link. Need to figure out what is up


You gotta take your time.


Speaking of threesomes. This one is hot!


nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s & a demon! Mmm… ☔


Don’t put me in another video today Will. I know you like to.


Stellar ✨

Stellar ✨


I just built on a linux box and same thing, have you ran on linux before?


hmm yeah I mainly dev on my linux box. what does RUST_LOG=debug say? Are you on intel graphics? I sometimes run into an issue with that where I have to remove the wgpu feature from egui.


Using wgpu renderer. How do I remove?


make desktop apps great again


excited for post-web. nostr is giving us this opportunity. hope to see more nostr builders building native apps.


I build native apps with JavaScript frameworks 😂


working on a tauri app right now, hoping to find a good medium


Native apps are the way. This looks awesome Will.


Isn’t tauri just the web


Web frontend, run rust code behind the scenes.

Background tasks, data fetching, databases, etc in rust.

Only have to use the web for displaying it. UIs are sexier and easier to work on.


dayumus


It just takes time in general 🤣


Onward 🫡

Onward 🫡


easier because you're a lazy bun unwilling to learn anything new and sexier because you're an effeminate soyboy that grew up surrounded by gay designers


Cue hover hate…


You're retarded lmao


now that I am building a client where you can use a mouse, I can design some fun realtime hover interactions.

https://cdn.jb55.com/s/notedeck-hover-2.mp4


nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955 for desktop is coming soon
nostr:nevent1qqs2qm02zcl77pex8naqudrng5k9pnkaj0tphtd7d4hqdp3jfxpnr5qpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzqvhpsfmr23gwhv795lgjc8uw0v44z3pe4sg2vlh08k0an3wx3cj9qvzqqqqqqye6v44y


How's layouts? Positioning, etc.


I'll probably give it a shot, I'm at the point in my current project where I have a base but no actual features yet.


people always ask me this like they heard its a concern or something. To me it seems pretty intuitive. each widget can ask how much available space it has and can render inside that or less without any knowledge of its container. Containers set the available space.

In my timelines I use a strip layout, just 1/n of the screen with a minimum size and a horizontal scrollbar if it doesn’t fit.

Then I just render notes inside those strips. I like that each thing on the UI is a self contained struct or function, everything composes together very nicely just by immediate-mode render commands. Its 1000x less bs than the dom and virtual dom nonsense.


Good thing I don't use react.

https://image.nostr.build/b78f9040671db796fe993c996d1f7cee06a46230ab9f847b7a4b421e8b15be44.jpg


I really don’t understand this criticism. egui supports many layout options and its as simple as wrapping the surrounding widgets with a call to what layout you want to use. I don’t spend much time thinking about layout at all. It’s pretty much the same as swiftui: oh you want horizontal? Wrap it in an HStack (ui.horzontal), vertical? VStack (ui.vertical). It even supports wrapping text if it hits the right end of the container.


That actually sounds better than

flex flex-col gap-3


css is dogshit in comparison. Its a hack on a hack on a hack


Wait, you use egui for the desktop client?


CSS is my least favorite part of web, followed by html.


Tailwind is the only thing that makes it bearable


Yeah android too, its the same client just rendered different on mobile


I refuse to front end without tailwind.


Holy shit, I should seriously give egui another investigation. I tried it last year but was punched in the face by Rust.


definitely helps to not be new to rust. I found myself getting frustrated awhile back but then I realized what I needed was lifetime annotations and I just never knew how to use them to get around borrow checker issues.


using them I was able to make the rust nostrdb bindings zero copy, which is a big deal when you are rendering at 144fps+ and hundreds of queries are being executed every frame. nostrdb is really this fast and its bonkers.


Have you published the nostrdb binding as a rust crate yet?


Yes its just the nostrdb crate


**cries in typescript**


Onward 🫡

Onward 🫡


Concur.