The future of Drafft
The future of Drafft
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.
About 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!
Main new features.
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
Tailwind
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.
Tabs
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.
Embrace the markdown
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.
Image/Attachment support
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
Pick Anything
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.
Favorites
Any doc can be added to a “favorites” list for quick access.
Misc
- No more autosave. A manual save/undo button is provided.
- Locking an item no longer force a save. User will be prompted if unsaved content is found.
- Last used tabs appears in the picker by default.
Future updates
This is what we have on the wishlist for this release.
- Document metadata: Each document should have a “metadata” drawer with useful info as well as user defined properties.
- Revision Viewer. PouchDB supports revisions and conflict resolution (in case several users push changes on the same doc at the same time, for some reason) this will allow to review the history of changes done to a doc and restore a past version.
- Using the doc picker could bring some advantages by exposing document relationships, so each doc could have “related” documents that could be used somehow (maps, suggested reads)
- update old dependencies of dialog editor.
- revisit kanban board.
- storyboard generator
Feedback wanted!
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.
Get drafft
drafft
Plan your game.
Status | In development |
Category | Tool |
Author | baj |
Genre | Visual Novel |
Tags | cms, dialogue, dialogue-editor, Game Design, gamedev, game-planner, project-management, quest-editor, writing |
More posts
- Drafft 2 - Image embed and document references.Apr 03, 2024
- Drafft 1.4.3 - Fix "Can't add or detect actors bug" in WindowsMar 24, 2024
- Drafft 1.4.2 - BugfixesAug 31, 2023
- Bugfix updateAug 28, 2023
- Drafft 1.4 REST api for getting contentAug 19, 2023
- Drafft 1.3.2Aug 10, 2023
- Drafft 1.3.0 - Big maintenance plus a few features.Aug 03, 2023
- Drafft 1.2.2 - GML language supportApr 02, 2023
- Drafft v1.2.1 - Minor FixesFeb 14, 2023
Comments
Log in with itch.io to leave a comment.
I have a question and a suggestion. :)
Question:
Will there be an import process to get projects into the v2 state, or will we have to move all our data over manually?
Suggestion:
Working on multiple machines has always been a bit of a pain point, if there was some sort of “portable project” option that allowed us to - for instance - keep the DB data in a Git repo that would be spectacular. Right now I just export the DB as a backup and reimport the data when needed, buts its pretty tedious and sometimes error prone.
Hello bojjenclon,
For the import process, so far most of the data works. The main idea on not “supporting” V1 is not to worry about backwards compatibility when adding more features. But I guess we will need some sort of “migration plan”. Unfortunately life got in the way so V2 is taking some time…
About the portable project, this is something I’ve been thinking for some time. The main problem with this is that the current database lives in the browser and we would have to “dump” it to have it in a file. I have A few ideas but not quite solid as a solution. Maybe… the db gets ‘dumped’ to a file by default on project/app close. And a special flag on each project like “auto import from dump” would do this reimport thing automatically on load. Git operations like pull/push/merge would be responsabily of the user outside of the scope of the app . This would make a project also work on a file share or Dropbox-like app. Thanks for the feedback!
Sounds great! Looking forward to the new version!
Near like…3 months? Sooner? Or ‘near’ like 7-8 months?
Hello, Hard to say really! My idea is to release on mid 2024, but I cannot commit to a date.