No visual links between passages

Twine Version:
Sugarcube Version: 2.36.1

When I first started, Harlowe was active and had arrows between the passages indicating the flow of the narrative.

However, after discovering that I could do more of what I wanted with Sugarcube, I switched. However, there are now no longer any arrows between passages. While I can keep them organized now, I imagine that the longer I go, the more difficult it will be without some visual assistance.

At first, I assumed Sugarcube didn’t have arrows, but I’ve seen them on other examples using Sugarcube.

Do I need to start over with a fresh project or is there something that I just haven’t found yet that I could turn on those arrows.

You should have arrows with SugarCube. Are you doing your links with the [[passage name]] syntax? If you’re using <<link "text" "passage>> you won’t get arrows. But I can’t think of anything else off the top of my head that makes the arrows go away…

As has already been implied, by default only Passage Transitioning link-types that the Twine 2.x application generates Passage Connection Arrows for are…

[[Link Label is the same as the Target Passage Name]]
[[Link Label->Target Passage Name]]
[[Link Label|Target Passage Name]]
[[Target Passage Name<-Link Label]]

…the above four variations of the Markup based Link syntax, and no Marco based Link will cause a Connection Arrow to be generated.

The only exception to this behaviour is Chapbook, because it’s Developer has implemented an addition Connection Array type for that Story Format.

By default Twine 2 only looks for double square bracketed sequences when creating its story map connection arrows.

Examples of the DSB link markup variants:

/* "Home" is both the passage name and link text. */

/* "Home" is the passage name, "Go home" is the link text. */
[[Go home|Home]]
[[Go home->Home]]
[[Home<-Go home]]

You didn’t mention how you’re actually creating links, but we can assume you aren’t using any DSB links, or look-a-likes, since connection arrows aren’t being generated for your project.

Let’s assume you’re doing something like the following:

<<link "Go home" "Home">> … <</link>>

That won’t cause Twine 2 to generate connection arrows by default because there aren’t any DSB sequences there.

All is not lost, however, as many of SugarCube’s macros that accept passage names, for whatever reason, also accept a syntax that’s exactly the same as the DSB link markup. For example, the previous <<link>><</link>>> can also be written as:

<<link [[Go home|Home]]>> … <</link>>

That DSB sequence will be seen by Twine 2’s default link identifier and a connection arrow will be generated.

Alternatively. If you don’t want to adjust your links to use DSB sequences, then you could add comments with DSB sequence in them. For example, the following also generates connection arrows:

/* [[Go home|Home]] */
<<link "Go home" "Home">> … <</link>>

The reason that works is because Twine 2 doesn’t actually understand what it’s seeing, it simply looks for DSB sequences. The sequences could be:

  • actual DSB link markup,
  • the DSB syntax accepted as an argument to macros,
  • a completely nonfunctional comment,
  • or even, erroneously, a nested array literal—e.g., [[2, 4, 8]].

Twine 2 can’t differentiate, so they all get collected and connection arrows generated—maybe even passages created.

PS: I’m serious about the last sequence example above, if you ever need to nest arrays put spaces between the square brackets so that they don’t form a DSB sequence—e.g., [ [2, 4, 8] ]—or you’ll be fighting Twine 2 over creating a passage based on it.

Unless they’re using the macro argument DSB syntax of course.

Of course. As will placing such a DSB (Markup based) Link inside a Block Comment.

<!-- [[Library]] This comment will cause a Connection Arrow to be generated -->

But both work-arounds only “work” because the Twine 2.x application ignores everything besides the DSB (Markup based) Link itself. So in reality the Twine 2.x application isn’t supporting links that are generated by Macros… :slight_smile:

By default Twine 2 doesn’t actually support anything aside from the DSB character sequence itself, as I explain in some detail in my above post, so by that logic it doesn’t truly support the DSB link markup either.

Please, let’s not start quibbling this to death.