Skip to content

Release v0.1.3

Choose a tag to compare

@SaekoM SaekoM released this 29 May 14:16
· 47 commits to main since this release

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: