Cursor is for programmers. Ultimately, you decide what the code should be.
v0/lovable/a0 will replace drag-and-drop "no-code" tools for non-programmers who don't care about code and only decide what the product should do. The tool will likely also manage hosting, either directly or through service providers, to ensure a seamless e2e experience, automatically fix runtime issues etc.
The question remains, will there be a need for Cursor and programmers in the future at all.
Notably, SendGrid went through the Techstars accelerator instead. One of their mentors from the Techstars program [1], Jim Franklin, later became SendGrid's CEO and helped the technical founders grow the company towards the success they eventually achieved.
Actually, the compiled JS is `React.createElement('mesh', { ref: mesh } )`. JSX compiler converts all lower-case names to strings. Only upper-case name (and composites like `rn.View`) are converted to variables.
The reason r3f uses lower-case names for built-in components is to distinguish them from your own components; from the documentation: "It merely expresses Three.js in JSX: <mesh /> becomes new THREE.Mesh(), and that happens dynamically." So whenever you see <mesh /> or anything else lower-case it is just an JSX alias for a Three.js core component. Note that they're not HTML tags in the resulting output; since they're rendered inside <Canvas />, they're transformed to Three.js automatically.