Solo TTRPG Notation
pendingby Roberto Bisceglie
A plugin for recording and tracking solo tabletop RPG sessions using a standardized notation system.
Solo TTRPG Notation
A plugin for recording and tracking solo tabletop RPG sessions using a standardized notation system.
What is Solo TTRPG Notation?
Solo TTRPG Notation is a lightweight text-based system for documenting your solo TTRPG sessions. It lets you:
- Record actions, oracle questions, and dice rolls in a consistent format
- Tag NPCs, locations, and story threads as they appear
- Track progress with clocks, tracks, and timers
- Review your campaign history with powerful browsing tools
All notation lives in code blocks within your markdown files, keeping your narrative text clean and readable.
Features
📊 Six Interactive Views
Access all views from the left sidebar ribbon icons or the command palette:
- Campaign Dashboard (🎲) - Overview of all campaigns with statistics
- Tag Browser (🏷️) - Browse NPCs, Locations, Threads, and References
- Progress Tracker (🕐) - Visual clocks, tracks, and timers
- All Elements Reference (🗄️) - Complete searchable reference
- Random Events (🎲🎲) - All table lookups and generator results
- Meta Notes (📝) - Out-of-character notes organized by category
⌨️ Quick Commands
- Insert Campaign Template - Start a new campaign file
- Insert Session Template - Add a new session
- Insert Scene Template - Add a new scene
- Reindex Current Campaign - Refresh the current file's data
- Reindex All Campaigns - Refresh all campaign data
🔍 Automatic Indexing
The plugin automatically tracks:
- NPCs and their mentions
- Locations visited
- Story threads (open/closed/abandoned)
- Progress trackers (clocks, tracks, timers, events)
- Table lookups and generator results
- Meta notes and reflections
Getting Started
1. Create Your First Campaign
Use the command palette (Ctrl/Cmd + P) and select "Insert Campaign Template". This creates:
---
type: solo_campaign
ruleset: Your System
genre: Fantasy
created: 2025-12-31
last_update: 2025-12-31
---
# Campaign Title
Campaign description...
## Session 1
*Date: 2025-12-31 | Duration: 2h*
### S1 *Opening scene*
Your adventure begins...
2. Write Your First Scene
All notation goes inside code blocks (triple backticks). Outside the code blocks, write your narrative:
### S1 *Dark alley, midnight*
```
> Sneak past the guards
d: Stealth d6=4 vs TN 5 => Fail
=> My foot kicks a barrel. [E:AlertClock 1/6]
? Do they see me?
-> No, but... (d6=3)
=> They're suspicious. [N:Guard|watchful]
```
The guard's torch sweeps across the alley. I press myself against the wall.
```
> Wait for them to pass
tbl: d100=42 => "A distant scream distracts them"
=> Perfect timing. [Thread:Investigation|Open]
```
3. Open the Views
Click the dice icon (🎲) in the left sidebar to open the Campaign Dashboard, or use the command palette to open any view.
Notation Reference
Core Symbols
| Symbol | Meaning | Example |
|---|---|---|
> | Player action | > Attack the orc |
? | Oracle question | ? Is the door locked? |
d: | Mechanics/dice roll | d: Attack d20=15 vs AC 14 => Hit |
-> | Oracle result | -> Yes, and... (d6=6) |
=> | Consequence/outcome | => The door splinters open |
Tags & Trackers
NPCs & Locations
[N:Name] - First mention of an NPC
[N:Name|tags] - NPC with descriptive tags
[#N:Name] - Reference existing NPC
[#N:Name|tag] - Reference with additional context
[L:Place] - First mention of a location
[L:Place|tags] - Location with tags
[#L:Place] - Reference existing location
[#L:Place|tag] - Reference with context
Story Threads
[Thread:Name|Open] - New/active thread
[Thread:Name|Closed] - Resolved thread
[Thread:Name|Abandoned] - Dropped thread
Progress Trackers
[Clock:Name X/Y] - Danger/pressure (fills up = bad)
[Track:Name X/Y] - Progress (fills up = goal reached)
[Timer:Name X] - Countdown (reaches 0 = trigger)
[E:Name X/Y] - Event countdown
Player Characters
[PC:Name] - Simple PC mention
[PC:Name|warrior|hero] - PC with tags
[PC:Name|HP:12|Armor:3] - PC with stat-like tags
[PC:Name|warrior|HP:12] - PC with mixed tags
Random Generation
Table Lookups
tbl: d100=42 => "A merchant arrives"
tbl: Weather=Rain => "Heavy downpour begins"
Generators
gen: Mythic => "Gratify Fears"
gen: MUNE => "And also... (Positive)"
Meta Notes
Meta notes are out-of-character observations that don't appear in References:
(note: Remember the shopkeeper's hint)
(reflection: This scene dragged, need more action)
(house rule: Using advantage on group checks)
(reminder: Follow up on the missing sword)
(question: Did I mark XP for this session?)
Views Guide
Campaign Dashboard
Shows all campaigns with:
- Session and scene counts
- NPC, location, and thread statistics
- Active vs closed threads
- Progress tracker counts
- Click any campaign to open its file
Tag Browser
Four tabs for browsing game elements:
NPCs Tab
- All characters encountered
- Tags and descriptive labels
- Mention count and last appearance
- Click to jump to first mention
Locations Tab
- All places visited
- Geographic tags
- Visit history
- Click to navigate to location
Threads Tab
- Story threads by status (Open/Closed/Abandoned)
- Color-coded badges
- Timeline of mentions
- Click to jump to thread origin
References Tab
- All uses of
[#N:Name]and[#L:Name] - Shows reference type (NPC/Location)
- Mention count and context
- Click to jump to reference
Progress Tracker
Visual representation of all progress elements:
Clocks - Fill as danger increases (e.g., Alert Clock, Enemy Reinforcements) Tracks - Fill as progress is made (e.g., Quest Progress, Relationship Building) Timers - Count down to zero (e.g., Time Until Dawn, Potion Duration) Events - Special countdown trackers
Filter by type, search by name, and click any tracker to jump to its latest mention.
All Elements Reference
Complete searchable database of everything in your campaigns:
- All NPCs, locations, threads, and trackers in one view
- Type filters (NPC, Location, Thread, Clock, Track, Timer)
- Full-text search
- Sort and browse by campaign
Random Events
Chronological view of all randomization:
- Table lookups (
tbl:) - Generator results (
gen:) - Filter by type (Tables/Generators)
- Search by content
- Review your oracle consultation history
Meta Notes
Your out-of-character notes organized by category:
- Notes - General observations
- Reflections - Session reviews
- House Rules - Custom mechanics
- Reminders - Things to follow up
- Questions - Unresolved queries
Filter by category and search across all notes.
Configuration
Open Settings → Solo TTRPG Notation to configure:
General
- Enable/disable automatic indexing
- Control when files are parsed
Templates
- Use default templates or specify custom template files
- Customize campaign, session, and scene templates
Display
- Choose progress bar style (bars, circles, or segments)
- Set theme (auto, light, or dark)
Advanced
- Enable debug mode for troubleshooting
- View index statistics
- Force reindex all campaigns
Tips & Best practices
Organization
One campaign per file - Each campaign file should contain all sessions for that campaign.
Consistent session numbering - Use ## Session 1, ## Session 2, etc. (the plugin looks for this format).
Scene IDs - Use ### S1, ### S2, etc. for simple scenes, or ### S1a, ### T2-S3 for more complex tracking.
Notation
Code blocks are required - All notation MUST be inside triple backtick code blocks. Narrative text goes outside.
First mention vs references - Use [N:Name] when first introducing an NPC, then [#N:Name] for later mentions.
Tags are optional - [N:Bob] and [N:Bob|merchant|friendly] both work. Tags help you remember context.
Update trackers - When a clock advances, write a new line: [Clock:Alert 2/6]. The plugin tracks the latest value.
Workflow
- Start each session with the session template (date and duration)
- Write notation in code blocks as you play
- Add narrative outside code blocks after the scene
- Review the dashboard to see campaign statistics
- Use the Tag Browser to remember NPCs and locations
- Check Progress Tracker to see active clocks and tracks
Troubleshooting
Elements not appearing in views?
- Make sure notation is inside code blocks (```)
- Check that session headers use
## Session Nformat - Use Reindex Current Campaign command to refresh
- Enable debug mode in settings to see parsing errors
Views not updating?
- The plugin parses files on load and when modified
- Use the refresh button (↻) in any view
- Try Reindex All Campaigns from command palette
Performance issues with large vaults?
- Disable automatic indexing in settings
- Manually index campaigns when needed
- Use the file explorer to isolate campaign files
Support
- Issues & Bugs: GitHub Issues
- Notation Spec: See Solo TTRPG Notation
- Examples: Check the
examples/folder for sample campaigns
Credits
This plugin implements the Solo TTRPG Notation system (v2.0).
The notation system is inspired by the Sigil Standard.
License
MIT License - Free to use and modify.
Happy solo gaming! 🎲
For developer documentation, see CONTRIBUTING.md in the GitHub repository.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.