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

Neat! I don't often see text-rendering algorithms I didn't try myself. I implemented several at my startup. This wouldn't have saved me because I needed resolution independence, and anti-aliasing. Also it might not generalize to all bezier curve font files. Converting curves to pixels can be hard, especially when glyphs cross over themselves. In general, it feels like standard text rendering is solved, and non-standard use-cases are brutal to attempt.

This actually seems conceptually similar to my favorite method by Will Dobbie (but much simpler). Both take raw font data and use it directly on a shader. The difference being, this method takes pixel data and stores it in arrays. Will takes svg path data and stores them as a "vector texture"

He made a cool demo, if anyone is curious: https://wdobbie.com/warandpeace/


I went to a state school, dropped out, applied with no traction, no AI, and got into YC.


We've thought about this. Site has an "early startup" vibe (because it is an early startup). It's hard to know exactly how to reach the next level. Maybe just building more content? We're definitely not just dabbling with the idea or pulling the plug.


Yes, just make the content. Inspire others how they can use your product.

How do you imagine the customer journey goes? For me I would not consider to use Figma as a starting point to design a website, and not knowing the market too well I am wondering how common is Figma for marketing websites (that seems the main target audience I assume). But nevertheless, it seems to make sense to follow your vision on this.


We made a playground for HN if you want to try it without an account. It's linked in the post. https://app.repaint.com/playground


We're not sure. WebGPU seemed too early to us. But as I got deeper into WebGL, the ability to do more arbitrary computation sounded more and more appealing. I wouldn't be surprised if migrated down the road.


We've only focused on latin script so far. We'll expand over time.

You actually just found a bug in our text editing. Cut/copy/paste is supposed to work. We've always tested with hotkeys instead of right clicking. So thanks for the bug report :)


Thanks! Yeah, text rendering nearly killed me. And all I did was latin script. I even punted on ligatures for now. I'm insanely impressed by the people who made full text support.

And maybe it sounds silly, but we don't personally feel pure love for technology. We're obsessed with a vision. And we've decided to conquer any technical challenge to make it real.


We already do lots of rendering to cached images. It's not a panacea. It saves you from unnecessary recomputing. But many actions update the rendered state per-frame. Zooming is a great example. You can't cache it at every resolution.

Maybe there's a way and we didn't find it? We looked at every example we could find. There's a lot of canvas apps without WebGL. But they're all orders of magnitude behind the Figma benchmark. Everything not using WebGL felt noticeably less smooth.

And in our user testing, our texting editing is already past the valley :)


> You can't cache it at every resolution

True, but you don't need everything at max resolution simultaneously, so you can update your caches according to the current zoom level and thus get infinite zooming if you want.

At a large zoom level, few things get into the viewport, so it shouldn't cause troubles. My guess is that the troublesome scenario is when you zoom out (so that lots of pages can get rendered simultaneously), not when you zoom in?


Do you have any plans to open source / license the core rendering engine. Seems very useful for rendering in other contexts like textures for animations.


We weren't planning on it. It's not very clean or transferrable. We really hacked it together. We'd have to do a ton of work to make it useful for anyone.


Fixed. Thanks for the note!


There's a playground in the post if you want to try it without making an account :)


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

Search: