To me they are totally different things.
Ansible is a way to “package and execute” commands (playbooks) in a comprehensive and idempotent way, on a large environment.
TF is IAC, creating your infra with providers. While it can be abused, like using it as a deployment tool, it wasn’t meant for it and comes with a lot of drawbacks.
Having Ansible playbook to run TF to create the infra, then use another playbook to deploy some apps would work. In my world, I don’t see TF taking over ansible or the other way around.
Actually, GitOps, and tools like pulumi and crossplane are taking over Ansible and TF 🙂