Dev Log: Stat Blocks That Live in Your Prose
By Rob Chipman
Last week I wrote about the spreadsheet problem — how LitRPG authors track stats across hundreds of chapters, and why every approach eventually breaks down. This week I want to show you what the other side of that problem looks like. What happens when the stats live inside your manuscript instead of in a separate tool.
Stat block views are working in AxiomWeaver. Here's what that means.
What's a stat block view?
A stat block view is a named composition of properties that renders inline in your prose. You pick which property groups or individual properties to include — combat stats, ability scores, basic info, whatever your system needs — and give it a name. That view then appears in your manuscript as a formatted block, right where you want it.
Not a screenshot. Not a copy-pasted table from a spreadsheet. A live view of the character's state at that point in the story.

Three ways to see the numbers
This is the part I'm most excited about. Every stat block view has three display modes:
Calculated stats. The straightforward view — here's what every stat is right now, at this point in the narrative. Kira has 1,200 HP, 42 STR, Level 7. These values are projected from the full event history up to the scene where the block appears.
Stats with deltas. Same stats, but each one shows how it changed since the last stat block. HP: 1,200 (+350). STR: 42 (+2). You can see at a glance what happened between stat blocks. This is the mode readers love — it's the "level up" reveal, the post-battle summary, the equipment upgrade moment.
Filtered to deltas only. Only shows stats that actually changed. Everything that stayed the same is hidden. This is for the moments when you don't want to dump a full character sheet — just the things that matter right now. Kira drank a mana potion? Show MP and nothing else.

The delta modes are what make this different from just pasting a table. The engine knows what changed because it tracks every event. It's not comparing two snapshots — it's computing the difference from the event ledger.
What's not done yet
I want to be upfront: stat block views work, but they're not finished.
Right now, you compose views from property groups and individual properties using a structured picker. It works, but it's rigid. You get the properties you selected, in the order you selected them, with the engine's default formatting.
What I'm building next is a markdown editor for stat block views. You'll be able to write something like:
# {entity.name} — Level {level}
**HP:** {hp} / {hp_max}
**MP:** {mp} / {mp_max}
### Equipment
{equipment_grid}
Full control over layout, formatting, and which properties appear where. Want a compact one-line summary for mid-combat? Write it. Want a full-page character sheet for the end of a chapter? Write that too. The same entity data, formatted however you want.
That's coming in the next couple of weeks.
Why this matters for Royal Road authors
If you publish on Royal Road, you know the stat block dance. Write the scene. Open the spreadsheet. Copy the stats. Format them as a table or code block. Paste into Royal Road's editor. Pray you didn't get a number wrong.
With stat block views, the plan is: write the scene, insert a stat block view, and the numbers are already there — computed from the events you've logged throughout the story. When the markdown editor lands, you'll be able to format those blocks however you want and copy the rendered output straight to Royal Road's HTML editor.
No spreadsheet. No copy-paste errors. No "wait, what was her HP again?"
Try it / shape it
Stat block views are in the current build. If you're in the Discord, you've probably seen me posting screenshots as I work through the edge cases. If you're not — come join. This is the kind of feature where author feedback directly changes what ships.
What display modes matter to you? What does your ideal stat block look like? I'm building this for the authors who are currently formatting tables by hand. Tell me what you need.
If you missed it, last week's post on tracking character stats covers the broader problem this feature is solving.