klembot / twinejs

Twine, a tool for telling interactive, nonlinear stories
https://twinery.org
GNU General Public License v3.0
2k stars 296 forks source link

[2.6] Slightly increase time before removing empty passages #1363

Open hituro opened 1 year ago

hituro commented 1 year ago

Is your feature request related to a problem? Please describe.

Recently I was mapping out the rough structure of a Twine story by creating passages with placeholder links, like [[start a fight]], or [[kitchen]]. I then arranged those passages into rough blocks on the story map, so that I could go back and fill them in later.

However, when actually editing the passages, the placeholders were very hard to work with, because of the speed with which the empty passages are removed when editing the links. Just cutting and pasting them to a different part of the passage, or adding some link text, would delete the previously-arranged blank passages as I was typing.

In fact, the only safe way to work with the links was to first add a | or arrow (e.g. [[|kitchen]]) before typing the link text, and to duplicate, rather than move the placeholder links so that the passages didn't get deleted.

Describe the solution you'd like.

An obvious solution seems to be to increase slightly the time before the empty passages are deleted, to give time to cut/paste links, or add link text. If this seems like it might interfere with the way new passages are added to the map, perhaps the increased delay could just be for passages that are being subsequently edited?

Describe alternatives you've considered.

An alternative is to add "having a non-default position" to the list of things that makes a passages not ephemeral (along with content, tags, etc.) but this might make passages "sticky" when not intended.

Additional context on this suggestion.

No response

Presubmission checklist

klembot commented 1 year ago

The scenario here makes sense and it sounds annoying indeed, but it's hard to define "increase slightly". Inevitably, what we decide on will be too short for someone. So I'll ponder some alternate solutions. Going by movement in the passages is hard too because it's not something that persists across sessions, so behavior would change depending on if you re-launched the app, which feels potentially confusing to me.