New blog post: A Decade of Slug
This talks about the evolution of the Slug font rendering algorithm, and it includes an exciting announcement: The patent has been dedicated to the public domain.
https://t.co/xWEz0q2c4N
@dluzar@harfbuzz Yeah, it looks more polished, but it also looks like an evolution rather than a revolution. And the hype is almost like someone would, from scratch, reinvent text shaping + layouting + rendering ...👋👋 hey!
I don't understand the hype about pretext, it still relies on browser doing the layout (hence no server-side usage possibilities), it implements custom wrapping and adds smart caching — this has been in
@excalidraw for years.
https://t.co/kNYLwIxKOH
My dear front-end developers (and anyone who’s interested in the future of interfaces):
I have crawled through depths of hell to bring you, for the foreseeable years, one of the more important foundational pieces of UI engineering (if not in implementation then certainly at least in concept):
Fast, accurate and comprehensive userland text measurement algorithm in pure TypeScript, usable for laying out entire web pages without CSS, bypassing DOM measurements and reflow
Still great to see it packaged and open-sourced for others to build on top of it, but IMO the ultimate path forward is ditching DOM APIs completely and relying on @harfbuzz WASM for shaping instead.
It also does not seem to solve the most expensive operation, which is changing the text size while doing the resize, though that's highly specific to whiteboards.
Actors by @rivet_dev (Durable Objects OSS alternative) + Durable Streams by @ElectricSQL => super exciting times for real-time sync engines!
Cherry on top? All presented in @excalidraw+.
Can’t be more my cup of tea 💆♂️🫖
🧪 Hacking with Durable Streams + Rivet Actors
Actors → the brains & memory
Durable Streams → the pipes
@ElectricSQL team → the 🐐
This is VERY experimental – demo code & slides below
Introducing lasso selection!
A more freeform selection method when you need the extra precision, or the versatility.
Pick from the toolbar, or use Option/Alt+Drag.
Added by @_ryan_di 💜
@IncognitoPrince@excalidraw Hi! I’ve seen the libraries, but since they contain only one item, they don’t satisfy are guidelines (available in excalidraw-libraries readme). Try to group them under one library, and add at least one more item.
We're now supporting manual elbow arrow editing!
If the default auto-routing algorithm doesn't work for your diagram, you can create new segments and position them where you want.
Implemented by @mtolmacs 💜
Small improvements to frames!
First, deleting a frame from now on doesn't delete its children. This way it's easier to remove content from a frame.
The children are selected upon frame deletion, so if you want to remove both you can just hit Delete twice.
You can now link canvas elements together, or share a link to specific content with others!
You can link elements from the hyperlink popup. To copy a link instead, use the context menu or the command palette.
Implemented by @_ryan_di 💜