Proposal: Alternatives to the new link syntax
I read with interest, and some alarm, the proposed changes to links and the sequence hook syntax on the Harlowe 4 roadmap.
While I understand the impulse to make the basic link syntax do more, if you abandon the [[]] delimiters I foresee endless "Why don't my links make boxes/arrows" in Twine questions. Similarly, since [[text|passage]]
is also valid Twine link syntax, the sequence hook syntax would similarly break those links, and could cause the Twine app to try and draw arrows and make passages out of sequences. The link-destination suggestions dropdown would also break.
When helping new users on the Twine Discord one of the most common issues surround (link:) not making link arrows. Users are reluctant to switch away from the [[]] syntax for just that reason, or, when they do swap, are upset that they don't get arrows.
So my suggestion would be to find some other way to distinguish the [[]] syntax from hooks, if that's needed, and to keep the [[]] delimiters for links.
Alternative link/hook syntax
Maybe the answer is to stop interpreting [[...]] as an anonymous hook inside a hook, and always interpret is a link first? Or indeed as both a hook and a link, in the right context? Lots of new users write:
(if: X)[[link to->passage]]
or
(if: X)[[[link to->passage]]]
And then get confused when that doesn't work.
Another possibility is to change the hook delimiter, but that seems a step too far.
Alternative sequence hook syntax
It's hard to find an alternative to | as the sequence delimiter. I tried a lot of single characters, but you might be better off with a 2-character sequence, so that people could actually use | in normal text. <>
is one possibility.