Poof v1.3.0 has arrived. In addition to dozens of small changes and improvements, the big news here is passage references and an updated Twee encoder.
A passage reference is, as you may imagine, when one of your passages references another passage through a link, include/display, or goto. Poof will parse SugarCube and Harlowe stories for a certain subset of common macros used to transition passages as well as for markup links (e.g.,
[[links like this]]). The macros parsed are not exhaustive–for example, SugarCube’s
<<link 'Next' 'some passage'>><</link>> will work, but
<<link 'Next' $somePassage>><</link>> will not.
Here’s a list of things poof will try to parse for valid passage references in each format:
- Markup links of any kind, including arrow markup links (
- Setter links. Even though these are only supported by default by SugarCube, poof will try to parse setter links when it sees them regardless of the format.
Poof will display passage references to and from each passage as links you can click to zoom to those passages, allowing you to essentially play along with your game while editing. This is my solution to requests for a “play order” sorting method.
Note that parsing for passage references is somewhat slow. You cna shut this feature off if you’d prefer faster load times to having it via
The second change here is the Twee encoder. Poof now exports to classic Twee, the Twee2 version of Twee (previously unsupported) and the new Twee3 spec. This last spec is still a draft and is widely unsupported, so the default is still set to Twee classic for now. You can change the Twee encoder in the
poof.config special passage.
The smaller changes included in this update are:
- a starting passage tool to quickly zoom you to the starting passage,
- updates to SugarCube globals for the linter,
- a bunch of other internal and code-side improvements.
Eventually Twee3 will be the default Twee encoder. SugarCube is also undergoing fairly major changes in v2.29.0, so I’ll be updating poof’s SugarCube support a lot. This will mostly be maintenance though.
Twine v2.3.2 currently has a bug in how it handles proofing formats, see this issue. This means if you want to use poof, you need to use an older version of Twine 2 until this gets sorted out.