Hacker Newsnew | past | comments | ask | show | jobs | submit | poiru's commentslogin

+1 from another Figma engineer who happened to work on the text engine back in the day.

I think that Evan generally wrote code that was as simple as possible — there was no unnecessary complexity. In this case there indeed is some inherent, unavoidable complexity due to the math involved and the performance requirements, but otherwise I found our text rendering pipeline very understandable.

Evan actually wrote about it if you're curious to learn more: https://medium.com/@evanwallace/easy-scalable-text-rendering...


It’s a clever trick. But can it render a textured text? Transparent text, gradient fills? Maybe it can, I dont know. But why not just triangulate the glyph shapes, and represent each glyph as a set of triangles. This triangulation can be done offline, making rendering very lightweight.

The linked post was about Evan's side project, but within Figma, all of that is indeed possible. The glyphs are transformed into vector networks[0], which has a fill pipeline that supports transparency, gradients, images, blending, masking, etc.

[0]: https://www.figma.com/blog/introducing-vector-networks/


Skew is open source, but no longer maintained: https://github.com/evanw/skew


You can also use about:profiles, which is a little nicer than the profile manager.


So that seems broken as well, when you click "Launch profile in new browser" it doesn't actually appear to be creating a browser tied to that profile, as I just setup my personal sync account it caused all the open browsers (across 3 profiles I setup) to all sign into that account.


So if this exists, why don't they do some minor adjustments to make it usable and call it good? This works rather well (except not telling you which browser is loaded with which profile)


Check out about:profiles! While not nearly as nice as the Chrome UI, it is definitely more approachable than using a terminal.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: