Skip to content

Entity Detection

The Legendry is full of characters, locations, factions, and items. Your manuscript is full of mentions of those same things. The gap between the two is the problem Entity Detection solves. When you write a scene with Kent Musa in it, Entity Detection recognizes the mention, checks it against your Legendry, and links the prose reference back to the canonical entry. When you write about a new character who doesn’t have a Legendry entry yet, Entity Detection surfaces the undeclared name so you can decide whether to add it. When you want to know where in your manuscript a specific character actually appears, Entity Detection is what feeds the cross-document occurrence tracker that answers the question. And because everything goes through entity detection, every downstream feature that cares about “what entities appear in this prose” — the Lorekeeper, the Outline’s Matrix View, the Knowledge tracking system, the Plot Studio’s entity tagging — gets its data from the same source.

This page walks through how detection works, how to manage the entities it finds, and how to use the relationship graph that comes with it.

Click Detect in the Entity Panel and the system scans the current document through two extraction strategies in sequence:

  1. Pattern-based extraction. Recognizes entity markers — “King X,” “the city of Y,” “the Realm of Z,” “House Solaris,” “Captain Nubia.” These patterns are the most reliable signal because the context around the name makes the entity type obvious.
  2. Proper noun extraction. Identifies capitalized multi-word sequences and single proper nouns, then classifies each by type based on context, usage, and any known entities. Less precise than pattern matching but catches entities that don’t follow a fixed pattern.

Both strategies run on the full document text. Results appear in the Entity Panel grouped by type, with confidence scores for each detected entity.

Every detected entity carries a confidence value from 0 to 100%. The score is based on:

  • Exact match against an existing entity in the Legendry — highest confidence.
  • Alias match — lower than exact match but still high. If “Kent” is a registered alias of “Kent Musa,” a detection of “Kent” becomes a high-confidence match to Kent Musa.
  • Fuzzy match — moderate confidence. Close but not exact string matches.
  • Novel entity — lower confidence. The system detected something that looks like a proper noun but doesn’t match any known entity.

Low-confidence detections are the ones worth reviewing carefully. High-confidence detections you can mostly trust.

If a detected name matches a registered alias on a Legendry entry, the detection adopts the canonical entity name and type. This is what prevents “Kent” and “Kent Musa” from appearing as two separate entities when they’re the same character — you register “Kent” as an alias on the Kent Musa entry, and every future detection of either name resolves to the same entity.

Aliases are managed from the Legendry entry’s detail panel. Add them proactively for characters whose names get shortened, nicknamed, or referenced by title rather than by name.

When your project has a Timeline set up, era labels from the timeline improve temporal entity recognition. References to “the Third Age” or “the Reign of Queen Silvara” get resolved against known eras instead of being treated as generic proper nouns.

Twelve categories, each with a unique icon and color in the entity panel:

Character · Location · Organization / Faction · Item · Concept · Event · Species · Religion · Language · Legends · Temporal · Custom

These are the same types used by the Legendry itself. A detected entity can be added to the Legendry as an entry of the matching type directly from the Entity Panel — one click to convert a detection into canonical lore.

Once entities are detected, the panel gives you the operations you need to curate them:

  • Confirm. Confirmed entities persist at full confidence and survive re-detection. Use this for the entities you’re sure about and don’t want to keep re-confirming every time you run a scan.
  • Deny. Denied entities are hidden and won’t reappear on future detections. Use this for false positives — “Will” as a helping verb, “May” as a month, anything that looks proper-noun-shaped but isn’t actually an entity.
  • Edit. Change an entity’s name, type, or description. Changes propagate across all documents.
  • Merge. Combine a duplicate entity into a target. All references across all documents get rewritten to point at the merged target. This is the fix for when you accidentally created two entries for the same thing — or when the system detected a character twice under slightly different names and you want to consolidate.
  • Delete. Remove an entity entirely. Optionally remove references from all documents at the same time.
  • Ban word. Add words to a project-wide blocklist so they’re never detected as entities in the future. Use for generic terms that keep getting false-positive flagged.
  • Copy name. Copy the entity’s canonical name to your clipboard from the context menu.

The Entity Panel and the Legendry are tightly integrated. Unlinked entities (detections that don’t match any Legendry entry) show a ”+” icon next to them. Right-click and choose Add to Legendry to create a new lore entry with the entity’s name, type, and description pre-filled. Pick a category before creating and the new entry lands in your Legendry ready to edit.

Linked entities (detections that match an existing Legendry entry) show a book icon instead. Right-click and choose Open in Legendry to jump directly to the canonical lore entry for editing or review.

Entity Detection includes an interactive relationship graph that visualizes how entities connect to each other. The graph is a force-directed network where:

  • Nodes are entities, colored by type.
  • Edges are relationships between entities, colored by relationship category (family, organization, allies, hostile, possession).
  • Depth is configurable — when you center the graph on a specific entity, you can see relationships up to 2 hops away by default.
  • Centered view. Click a specific entity and the graph re-centers on it, showing its direct relationships and anything connected at depth 2. Good for exploring “who is Kent connected to, and who are those people connected to?”
  • All-entities view. Open the graph without selecting an entity to see the full relationship network across your whole Legendry. Good for identifying isolated clusters, dense hubs, and structural gaps in your world.
  • Interactive navigation. Click any node to re-center the graph on it. Pan and zoom supported.

The graph recognizes a substantial set of relationship types out of the box: parent, child, sibling, spouse, member, leader, allies, enemies, destroyed, located in, owns, owned by, and more. The full set is defined in the Legendry’s relationship system — the graph just visualizes what you’ve declared.

Right-click any entity and choose Find in Documents to search every document in your project for mentions of that entity. Results show:

  • Document title.
  • A context snippet with the entity name highlighted.
  • Optional line number within the document.

Click any occurrence to open the containing document and scroll to the match. Summary stats at the top show total occurrence count and the number of distinct documents the entity appears in.

This is the answer to “which chapters actually feature this character?” A protagonist who shows up in only six of twelve chapters might be underserved; a minor character who mysteriously appears in every scene is doing more work than you meant.

A dedicated search box at the top of the Entity Panel searches entities across the entire project. Results show as suggestion chips with type icons and confidence scores. Click a suggestion to open the relationship graph centered on that entity.

Use the search when you know an entity exists but you don’t want to scroll through the full list to find it.

A toggle in the Entity Panel (and in the Editor) enables inline entity highlighting — detected entities get marked directly in the document text as you write. Hover over a highlight to see the entity’s summary; click to jump to its Legendry entry.

Auto-link highlighting is ephemeral — it’s a visual overlay, not part of the document’s saved content. Toggle it on while drafting to see entity coverage at a glance; toggle it off when the highlights become visual noise.

  1. Open a document in the editor.
  2. Open the Entity Panel from the sidebar.
  3. Click Detect. The system scans the document and returns results grouped by type.
  4. Review high-confidence detections — these are almost always correct. Confirm them.
  5. Review low-confidence detections — these might be real entities, might be false positives. Confirm the real ones, deny the false positives.
  6. Add unlinked entities to the Legendry individually or in batch.
  7. Use the relationship graph to explore how the detected entities connect to the rest of your world.
  8. Use Find in Documents to see where specific entities appear across your manuscript.

Run detection after each major writing session. The cumulative effect of running it regularly is that your Legendry stays complete and your Lorekeeper has accurate data to work with.