Release v0.1.3
Journey Builder — Validation & Save Update
This update is focused on making the journey editor reliable for large, complex
journeys. If you've ever hit "Save Cancelled" with no idea why, lost work to a
mid-save failure, or wanted more freedom in how you name things — this is for
you.
Highlights
- Save errors now tell you exactly what went wrong, where, and how to fix it.
- Pre-save validation catches every issue at once instead of one-at-a-time.
- Name restrictions relaxed — any character is fine in round and fork-path names.
- Saves are now fully rolled back on failure or cancel; your existing journey is never corrupted.
- Long / deeply-forked journeys no longer hit Windows path-length limits.
- Crash recovery: leftover saves from a previous session can now be cleaned up in one click.
Better save error reporting
The vague "Save Cancelled. Journey not saved." message is gone. When a save
fails or is cancelled, you now get a detailed modal that tells you:
- Which item failed — e.g. "Fork 1 → Path 'Adventure' → Round 3 'Boss Final'".
- What went wrong — source file moved, destination unwritable, ffmpeg crashed, you clicked cancel, etc.
- What to do about it — a one-line remediation hint for each kind of failure.
- A Copy Details button to dump everything to clipboard so you can paste it into a bug report.
No more guessing.
Pre-save validation catches everything at once
Before any file is touched, the editor now walks your entire journey — top level
plus every fork path, recursively — and lists every problem it finds in one
shot:
- Source files (videos, funscripts, images) that have been moved or deleted since you dragged them in.
- Empty round or fork-path names.
- Forks with fewer than 2 paths.
- Fork paths with no rounds.
- Journey-name collisions (prevents accidentally overwriting another journey when you rename).
- Videos that need transcoding when ffmpeg isn't available.
You see all of it in one modal, fix it all in one editing pass, and save once.
No more fix-one-thing-then-save-again-to-discover-the-next.
Name restrictions relaxed
You used to be blocked from using / \ : * ? " < > | in round names or
fork-path names because they ended up in folder paths. Not anymore. Names are
now purely display strings, so the following are all valid:
"What's Next?""Yes / No""Boss: The Final Showdown""<chapter 4>""Round 1.5"
Only empty names are still flagged, since you still need something to
identify each round and path.
The journey title itself still gets sanitized into a folder name on save
(spaces become underscores, forbidden characters are stripped) — but this
happens automatically and you never see it.
Saves are now properly rolled back on failure
Previously, the save process overwrote your existing journey folder as it went.
If a video copy was cancelled, the disk filled up mid-save, or a source file
got moved — you could end up with a half-corrupt journey that was hard to
recover.
Now saves write to a hidden staging folder first, and only atomically swap
it into place once everything has succeeded. The consequences:
- Cancel a save → your existing journey is untouched. Same for any I/O failure mid-save.
- Even a crash, force-quit, or power loss during the save leaves the original journey on disk and intact.
- The staging folder gets cleaned up automatically on a successful save.
Long and complex journeys now save reliably
Windows has a 260-character path limit that used to silently bite on journeys
with long names, many rounds, or videos with long filenames. The save system
now uses short, fixed-length internal folder and file names: