UrdTrace · Worked example
Find an untested ending in a SugarCube playtest round
A tester's comment becomes easier to act on when you can see the passage and the route that came before it. Use one small playtest round to decide what needs revision and what to test next.
By Perunlight · AI-assisted. Original fictional story and scripted tester runs; counts checked against the downloadable example files. Published .
Begin with one unchanged story build
The Ferry at Low Water is an original SugarCube 2.37.3 story with 21 passages. One, StoryInit, is code; the coverage count therefore includes 20 passages. Four passages are tagged as endings. Three fictional testers—ana, bo and cy—supply four scripted runs with 30 passage displays and six notes.
To inspect the result for free, download and extract the example pack below and open example-results/round-report.html. It includes the original story, transcripts and full illustrated manual. In the paid app, choose Load example to explore and edit the same round.
Total story passages: 21
Code passages: 1 (excluded)
Passages counted: 20
Visited passages: 17 / 20
Reached endings: 3 / 4
Transcript files: 3
Recorded runs: 4
Passage displays: 30
Notes: 6
Connect a note to what happened before it
Open Notes and read each comment with its passage and preceding route. A complaint about the ferryman can mean something different after finding the lantern than after choosing the bridge. Repeated visits remain separate recorded steps.
- Select a note and inspect the passage and route context.
- Decide whether the observation needs a story change, another test or no action.
- Adjust the note's kind or status as you work. The tester's original text remains unchanged.

A route records displayed passages. It does not reconstruct every variable, condition, save state or dynamic choice. Read ambiguous feedback in the story itself before deciding the cause.
Find the ending absent from this round
Open Passages and select Not reached. The example lists Sinking, TideTable and EndingTide. That is a concrete gap in these imported recordings: none of the four runs reached EndingTide.
Inspect EndingTide and its next-round suggestion. UrdTrace builds hints from parsed static links, so the suggested path may cross a condition that the tester has not satisfied. Check it against the playable story and then give the next tester a clear task.

Coverage alone cannot tell you that an ending is broken. It tells you where this round lacks recorded evidence. A matching transition between two passages also does not prove which of several dynamic choices was clicked.
Repeat the workflow with your own story
- Publish your SugarCube 2.37.3 story from Twine and retain that exact HTML file.
- Open it in UrdTrace, name the round and download a separate tester copy. Keep the relative folders for any external assets the story needs.
- Ask testers to enter an alias, choose Start recording, play and add passage notes. They must choose Download transcript and return the file themselves.
- Import matching transcripts into the saved round, review routes and notes, and decide what should be revised or tested again.
The recorder does not upload transcripts automatically. Your own story may still contain network code or remote assets. If local saving is unavailable, download before closing or reloading. Keep private backups of the original HTML, returned files and saved round.
Republishing changes the build fingerprint. Start a new round after a republish; transcripts from different original HTML bytes or rounds are refused. UrdTrace 1.0.0 is verified in desktop Chrome on Linux with SugarCube 2.37.3, not other story formats or mobile platforms.
Check the exported result
Choose Download round ZIP in Export. Open round-report.html to read the result, or import worklist-spreadsheet-safe.csv into a spreadsheet. Keep the editable saved round if you want to return to the classifications later.
- The untouched example still has four runs, 30 displays and six notes.
- Passage coverage is 17 of 20; the three absent passages are Sinking, TideTable and EndingTide.
- Ending coverage is three of four until you deliberately change ending flags.
- Of 27 parsed static links, 21 have matching recorded transitions. This is separate from passage coverage.
- The report and CSV retain the notes and the decisions you made about them.
The useful output is a bounded next action: review the six observations and plan a test that reaches EndingTide, after checking its conditions in the story.
The free pack contains readable outputs and the illustrated manual. The paid ZIP adds the local author app, source and recorder-copy workflow for your own compatible stories. It does not automate playtesting or solve branches.
Perunlight product
Review your own SugarCube playtest round
Collect deliberately returned transcripts, read notes beside recorded routes and export a revision worklist.
UrdTrace · $7.99 onceRead the illustrated guide
Published SugarCube 2.37.3 HTML only. Static-link hints need human review; no automatic gameplay or transcript upload.