The Entity Database

Fourteen typed categories, each a real database: sortable tables, curated columns, inline editing, custom fields, and views that fit each type.

Grimoire stores your world as typed records, not documents. An NPC knows it has motivations and a faction; a quest knows it has objectives and stakes. That structure is why you can sort every NPC by faction, filter quests by status, and get graphs without drawing them. This page covers how the database behaves, then what each of the fourteen categories is for.

How the database works

Open any category from the sidebar and you get its records in the view that fits the type best. Most categories offer several:

  • Gallery: portrait cards, the default for NPCs and locations
  • Table: a sortable, filterable spreadsheet view
  • Kanban: quests grouped by status, drag to move
  • Relationship web: the category's records and their connections on a canvas
  • Timeline and tree: for dated and nested types
  • Document: a codex-style reader with previous and next navigation

The table view

The table is not a dump of every field. Each category opens with a curated set of columns (NPCs show 8 of their 23 fields by default) and you tailor it from there:

  • Columns picker: show, hide, and reorder any field, including your custom ones. Your layout is remembered per category. Reset Layout puts it back.
  • Inline editing: click a cell to change text, status, or a relation without opening the record.
  • Filters and sortable headers for slicing by any field.
  • Bulk select: check multiple rows to act on them together.

Each row also carries a visibility chip (some views still label the GM tier "dm secret"; these docs call it GM Secret, and it is the same tier everywhere).

Custom fields

If the built-in fields are not enough, add your own under Settings → General → Custom Fields: text, long text, number, yes/no, date, or select. Custom fields appear in the edit form, the table (via the Columns picker), and search. Custom fields are a paid feature.

Your genre renames things

Categories take their names from your campaign's genre. A fantasy campaign has a Pantheon; a post-apocalyptic one might call the same category Old Powers. Setting dimensions can also switch whole categories off: no vehicles in your world means no Vehicles category in your sidebar. This page uses the default fantasy names.

The fourteen categories

World

CategoryWhat it holdsFeeds the graphs with
LocationsPlaces, from continents to tavernsParent Location builds the Geography tree
FactionsGroups with goals worth fighting overAllies, Rivals, and member NPCs draw the Political Web
PantheonGods, spirits, cosmic forcesDomains and relationships among the divine
LoreHistory, legends, propheciesEra and date place entries on the Timeline
World RulesHow your world works, mundane and magicalReferenced by AI context as canon

People

CategoryWhat it holdsFeeds the graphs with
NPCsEveryone the party meetsFaction membership and relationships edge the Political Web
Player CharactersThe partyAppears in graphs and session records
CreaturesMonsters and beastsHabitat ties to locations

Story

CategoryWhat it holdsFeeds the graphs with
QuestsAdventures and arcs, with status and stakesDates place them on the Timeline
SessionsWhat actually happened at the tableReveals entities to players, populates the Timeline and dashboard
Session PrepYour plan for next timeNothing player-facing, ever: prep is always GM-only

Things and rules

CategoryWhat it holdsFeeds the graphs with
ItemsLoot, artifacts, equipmentOwnership ties to characters
VehiclesShips, mounts, rigs: half item, half locationOwnership and capacity
MechanicsHouse rules and custom abilitiesCross-references to related rules

Working habits that pay off

  1. Names and one sentence first. A record with a name and a want is usable at the table; you can deepen it later.
  2. Connect as you create. Set the faction, the parent location, the owner. Every connection you skip is a graph edge that does not exist.
  3. Let visibility do the secrecy. Write the secret in the record and mark it GM Secret, instead of keeping a second set of notes.
  4. Update after each session, not before. The session log is the natural moment to touch records that changed.
  5. Do not over-prepare. Create enough to run the next session. The database rewards accumulation, not upfront completeness.