zachfara41 downloadsA clickable character screen for your own body or your tabletop characters: states, notes and history per region, party views, and an optional inventory with armor drawn on the figure.
A character screen for your notes. Track your own body like a game's health screen, or keep a whole tabletop party at a glance, with armor drawn right on the figure.

Click a part of the figure to see how it is doing, what you are doing about it, what to do next, and its history. Everything lives in plain Markdown notes, so search, links, Bases, Dataview and sync all keep working. Nothing leaves your vault.
That inserts a block like this. You can also type it yourself:
```character-info
profile: Thorn
template: character
```
A block with only profile: Thorn shows a profile defined elsewhere. If the name does not exist yet, the block offers buttons to create it, so a typo never makes a profile on its own.

review: 14, turn it off for one profile with review: 0, or switch it off everywhere in settings.
The character template has a head, torso, two arms and two legs, with Healthy, Bruised, Wounded, Severe and Lost.

```character-party
title: The Company
Thorn
Mira
Kestrel
```
Each member gets a tile with a small figure, their worst wound and a count of each problem. Click a tile to open that character in full, edit them, and press Back. Write all instead of names to show every profile, including new ones. New party in the command palette inserts one.

Turn on Settings, Character Info, Inventory. Each profile then gets an inventory of weapons, armor and gear, with quantities, notes, and where each piece is worn or held.

Every line after profile: is optional. Lines that start with # are comments. New profile, full template in the command palette writes all of them out for you.
```character-info
profile: Thorn
template: character # body, character or blank
add: Tail, Wings # extra regions
remove: Torso # hide regions
rename: Left arm = Sword arm # separate several with ;
states: Healthy, Bruised, Wounded, Severe, Lost
default: Healthy # the first state unless you say otherwise
map: humanoid # body, humanoid, none, or an SVG file
review: 30 # days before a changed region asks to be reviewed
```
add: line for you.Bruised=#e5c13b sets one.| Template | Figure | States |
|---|---|---|
| body | 23 areas, 16 drawn | Dialed in, Maintaining, Needs work, Injured, Untracked |
| character | head, torso, two arms, two legs | Healthy, Bruised, Wounded, Severe, Lost |
| blank | no figure, a list of chips | Working, Worn, Failing, Broken, Unchecked |
Each profile keeps its data in one note, Character Info/<Profile>.md by default:
---
character-info-profile: Me
regions:
hips:
status: hurt
note: Sore after a long run.
fix: [Rest a week]
history:
- { date: 2026-11-06, from: unknown, to: hurt }
---
To keep them somewhere else, such as a hidden folder, set Settings, Character Info, Data folder and press Move. The data notes in the old folder move with it, and links to them are updated. You can also move or rename a single data note yourself, and its profile follows it.
The plugin never connects to the internet and stores nothing outside your vault.
Draw any figure in an SVG editor, such as a character with wings or a tail, or something that is not a person at all, like a ship. Give each part an id, save it in your vault, and point a block at it:
```character-info
profile: Sea Wolf
map: Maps/ship.svg
states: Sound, Worn, Damaged, Broken
```
Every shape or group with an id becomes a region, named from a data-name attribute, a <title>, or the id. Edit the SVG and the figure reloads. Only plain shapes are kept from the file, so scripts, styles and links are dropped. Armor view works on the built-in figures only.
make setup # install and enable the git hooks
make check # format, lint, types, dead code, boundaries, layout, tests, build
scripts/deploy.sh /path/to/vault
Contributors should read AGENTS.md first. The design is in DESIGN.md and current work is in PROGRESS.md.
MIT licensed.