Another tool is yWriter.
This isn’t a tool for everyone, because it is research-first focused.
What I mean by that is that it’s a little clunky because background/research data is meant to go into it first, and then you are supposed to lean on that content to write your book second.
So for a non-fiction book, you would add all the data and facts and references, for a fiction book you would put in all of the important characters and plot points and things that the characters interact with.
This is so you always have a body of references to work off of so you don’t introduce inconsistencies.
Some people might find this software useful because assembling and fleshing out the underlying data is loads of fun and/or how they prep. Others might need this feature just to keep track of everything that goes into their book, as they might not be able to keep track of things like character quirks very easily in their head.
YMMV.
What I find incredible is just how slow-moving and cruft-filled it has become.
For example, DotNet has had string interpolation since C# 6, back in 2015. That’s a decade, already.
Java recently yoinked their implementation because they just couldn’t make it work.
That’s damning.
Right now - ignoring the wider ecosystem and looking purely at the core language - I am seeing the very latest LTR version of Java as being on-par with C# pre-2010 in terms of continual material improvements and ease of use.
Yikes.
I still use Java, but… yikes.