New module coming to rack0: converse
Allows you to create, modify, analyze, and learn modular synth patches and techniques.
Built with @vercel AI Gateway and @aisdk.
Apparently it is "foundational UI engineering" to call the browser's `measureText` API?
The library is literally just calling the canvas `measureText` API that has been there since 2009, or alternatively using a wasm build of Harfbuzz. Obviously there's some extra work to handle all the edge cases and make them line up with what the browser will eventually render, but essentially this is just exposing Harfbuzz one way or another.
@shuding@samko_cx Calling them server and client components is what I think confused most people, since client components can still be server rendered. I’ve found calling RSCs ‘unhydrated’ components helps intuition sometimes.
@adamdotdev I fear for a future where the most trivial things aren’t extremely difficult and tedious and limited to a few people toiling in obscurity for years to produce something kinda neat.
@mrcrp96@nicoalbanese10@aisdk iirc it doesn’t provide the gateway cost and provider-specific breakdown, would have to check again. It may differ when using the provider instead of gateway.
Appreciate the thoughtful reply. It doesn't have to push behaviors. I just see it as a simple way to abstract class name composition into components with the convenience of things like cva. Write your css here or write it over there. It can be as complicated or as simple as you prefer. I agree Button with asChild. around a <label/> is weird, but just make a Label component that has shared variants?