Testing Your Campaign

Mock Data Reference

These values will replace placeholders in preview:

Location Placeholders (flavor text only)
{nearestBurg}Millbrook
{randomBurg}Thornfield
{randomBurg:maxPopulation=300}Riverside
{randomBurg:minPopulation=1000}Grandport
{capitalCity}Valdoria
{targetBurg}Eastwatch
{nearestDungeon}Shadowfell Caverns
{randomDungeon}The Sunken Crypt
{randomDungeon:type=Cave}Echoing Grotto
{randomDungeon:difficulty=hard}Dread Fortress
{targetDungeon}Ironhold Depths
{dungeon:id} - a real, playable dungeon
{dungeon:example-dungeon}"πŸ—ΊοΈ Open Dungeon: The Sunken Crypt" button
NPC Placeholders (real generated NPCs in the app - name only, here)
{nobleNPC}Lord Aldric Vane
{nobleNPC_2}Lady Miriel Ashworth (a different person)
{merchantNPC}Greta Coinsworth
{cultistNPC}Malric the Veiled
{priestNPC}Brother Coram
Monster Placeholders
{monster:Goblin}Stat block from compendium
{monster:Shadow|count=3}3Γ— stat blocks
{monster:Orc|variant=elite}With variant tag

sameState/withinRange are accepted by the real app but not currently functional - see Parameter Syntax - so they're not shown here as if they changed anything. Any other numbered NPC tag ({merchantNPC_2}, {priestNPC_3}, ...) works the same way - see Placeholders Overview.


Campaign JSON


Campaign Cookbook Preview

No scene loaded
πŸ“–

No Campaign Loaded

Paste your campaign JSON above and click "Activate" to see it rendered here.

Or select an example in the "Load Example" dropdown to try a sample campaign.

πŸ“Š PROGRESS

Episode: -/-
Scene: -/-

πŸ“‹ SCENE INFO

Load a campaign to see scene information

βœ… VALIDATION

Click "Validate" to check your JSON

Validate also runs a light graph walk in your browser: it follows every choice from the start scene, flagging scenes nothing ever leads to, quest actions that are accepted but never resolved (or vice versa), and unrecognized {placeholder} text - all without launching the real app. It can't catch a real rendering crash the way npm run validate-campaigns -- --deep can, but it's instant and needs nothing installed.