> I built
> a backend-style based completion table based on
> voidtools everything (https://www.voidtools.com/downloads/
> <https://www.voidtools.com/downloads/>)
> with regexp completion.  It's pretty fast.

That's Windows-only, right?

Yes. That's what I'm using there.

> I had hoped to plug it in project.el but I couldn't find a way, so
> I rebound C-x p f to it.

Should be easy enough: you create your own backend (rather than reusing
'transient') and override the generic 'project-files'. Then add it to
project-find-functions.

iiuc project-files should return a list of files, or can it return a completion table as well? If not the latter, then i think it won't work...

Anyway, this is the problem with the popular recommendation: just add a
thing to 'project-find-functions'. It degrades performance and changes
how project commands work too.

I don't see the relation. If anything this reduces the amount of files to search (but it's still a lot).