Yes, I could generate them on the fly but for large limits that could be pretty slow at scale without some caching.
I think extending NIP-50 for this would make sense. I know there are a lot of strong feelings about that NIP already so perhaps a refining of it could expand the flexibility and options.