It's not that complex once you have formulas for computing square roots. I've recently implemented it in TypeScript using bigints for browsers & nodejs. Quite readable & performant. See index.ts file here: https://github.com/paulmillr/noble-ed25519
Wish ristretto folks added the library to their website though.
Wish ristretto folks added the library to their website though.