Posted March 13, 2024 by baj
#drafft #gdd #writing #game design #tool #organization
Hello there, a major update is coming to Drafft in near future, this entry will try to summarize what I’ve been working on.
A bit of history first, I started writing this app 4 years ago without much knowledge of web development and since then it grew in complexity and size quite a bit. Maintenance started to get complicated and some bugs are very difficult to debug. On top of that, some legacy dependencies started creeping in and there are some questionable design decisions.
Luckily I’ve learnt a lot all these years, and I feel confident to make some big updates, unfortunately trying to maintain backward compatibility has been a challenge, that’s why I decided to start working on Drafft 2.
Drafft 2 is a continuation of Drafft 1 but without backwards compatibility with v1. Meaning v1 projects won’t work on v2, and vice versa. Besides that, everything will be more or less the same, there won’t be another license neither meaning drafft v1 license will work on v2. Moreover Drafft will remain free to try without any limited functionality.
Nevertheless if you would like to support development there is a spring sale discount at the itch.io store starting today!
This release will focus on stability and QoL features and it will be ultimately easier to maintain. Users shouldn’t expect much change in the core functionality of the app. So far here is the list of new features that are implemented
Goodbye antd , hello tailwind, the amount of time I’ve spent trying to override CSS classes is embarrassing. Now creating custom styles and layouts will be much easier and faster. The app should also be more consistent in styling. This however is proving to be really time consuming but im confident it will be worth it.
We were limited to only one edit one document at a time. Now it is possible to have multiple tabs with multiple documents for faster editing. We also have the concept of “Diff” so changes will be “undo-able” before saving.
I will drop support for rich text and favor only markdown. For this to work, the editor must be user friendly and as close as “WYSIWYG” as possible, while providing a human readable markdown content. Drafft now uses the wonderful mdxeditor library which has been great so far and provide an awesome set of features, like tables, image resize, sandpack, diff/preview/source mode, mdx support, and more.
In the past, image/attachment support was… rudimentary. Images were serialized as base64 inline in the gdd content. This would create a really cumbersome output.
Pouchdb, the database that Drafft uses, has a great support for attachments, so it makes sense to create a proper image library, which will allow to reuse assets and link them in different documents without the need of duplicating the assets. How would the user pick and link an image and insert it into a document then? enter, the mighty picker
The picker, is… well, a picker, the idea is that basically any type of document can be searched, “picked” and/or “linked” inside a document. For example on a gdd document, we could insert a link to a script and have a tab open when the user click on that link. Similarly we could pick an image from the media library.
Another great use of the picker is for navigation, just press ctrl+p and search for a document by name/collection/id to find it and navigate. Moreover, Drafft can now navigate to any document via a custom protocol url, a link like drafft://gdd/unique-id-of-the-document will trigger drafft to open that document in a new tab and focus it. Very useful for custom links, sharing to other users, or linking to images.
Any doc can be added to a “favorites” list for quick access.
This is what we have on the wishlist for this release.
If you are a user of the app, feel free to drop some feedback, wishlist, pain points etc that could be addressed in this release.