TRWedit is a novel-writing software that I’m writing to help me develop the worlds that will make my stories worth reading in the future. Development of the project started in December 2018 and it continues to this day, albeit more slowly than before.

It’s been a year since I last posted an article outline the application’s development. Since then, I’ve done the following:

  • Added several features that I’ve since scrapped
  • Added experimental data storage methods that I’ve since scrapped
  • Completely rewrote the application using the Qt framework and QML.

Some of these changes are more extreme than others. The biggest is, obviously, the application rewrite. The main reason I did that was because I wanted to have the ability to jot down ideas on my phone and have them saved so I could open them up on my computer later. I also wanted to gain experience in a UI framework that I had little familiarity with, because that knowledge could be useful in the future.

The natural consequence of this is that several features of the C#/WPF edition of TRWedit were scrapped or not implemented in the new version. The biggest benefit is that I migrated my data storage over to SQLite, which makes many parts of the application easier to understand and reason with. I’ll document those benefits in a future article.

TRWedit Change Log: Year 2

December, 2019:

  • Added ability to search for text in specific books
  • Added ability to generate CSV data that could be used in a stacked bar chart plot (sadly, I do not have an example plot at the moment)
  • Attempted, but failed, to automatically generate manuscripts in DOCX format.

January, 2020:

  • Improved the UI layout of the documents editor and added color tags to help with organizing concepts
  • Only load documents when actually needed (saves a lot of time loading a universe because a lot of data that probably won’t be needed is skipped)
  • Added the ability to create plot outlines. This is a feature that I immediately stopped using and developing because free-form text is much easier to work with. Although it was a fun little UI project, it was ultimately not helpful for my writing.

April, 2020:

  • Added the Disposition System, which is a way of describing how people are biased towards other people in a structured way. It was another fun idea that I, once again, found to be too structured to be useful.
  • Added the ability to save all my documents in a Git repository, with changes being saved as commits. It was one of those experiments that I would never try in a project where I was actually being paid in some way, but it was substantially better than my old versioning system. Interestingly enough, the knowledge I learned about using Git programmatically turned out to be useful in a machine learning project I did for work.

June, 2020:

  • Added the ability to view all revisions of a document at the press of a button. This ended up being an incredibly useful feature that convinced me to migrate over to SQLite.

August, 2020:

  • Began develoment of the Qt/C++ version of TRWedit. There was a big learning curve to overcome, but I had many key features of the editor working by the end of August.
  • Added document storage using SQLite.
  • Added the ability to navigate stories, chapters, and scenes
  • Added a rudimentary document editor

September, 2020:

  • Wrote all the code to migrate my universe data from the C#/WPF application to the C++/QtQuick application.
  • Added Android support to the QtQuick application. It is capable of opening universe files and editing them just like in the desktop application.

October, 2020:

  • Added the ability to migrate Reference Concepts and edit them in the new application.

November, 2020:

  • Implemented autosaving of documents using the SQLite backend.
  • Added a dedicated launcher page for the desktop application. The Android app gets a different one that’s more suitable for navigation on it.

Planned Features

Features Promised From 2020

Did I keep to the plans that I made the previous year?

  • Finish implementing auto save for all types of documents. Completed as a part of implementing the Qt app
  • Add global text replace functionality to complement global search. Not implemented yet and probably won’t be implemented for a while.
  • More universe queries so I can make fancier charts to post online. A few queries were implemented, but the Qt version doesn’t have any right now. I do want this feature, and having SQLite as the backend should make this much easier.

New Features and Goals

  • Add the ability to associate multiple planning documents with a concept instead of having only one per concept. I find it easier to split up documentation that way.
  • Add support in the Android version for the stricter permissions system that got introduced in recent Android versions.
  • Add support for opening files directly from Google Drive
  • Don’t change back to a C#/WPF implementation even though I’m really tempted to do so.

Categories: Uncategorized


Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *