Skip to content

Graph View

The graph view renders your knowledge graph as an interactive network visualisation. You can explore connections between entities, filter by type and time period, and save custom views.

Graph view of a world with 318 nodes and 145 edges in force-directed layout: entity-type filter pills along the top toolbar, layout selector, time-filter dropdown, and a network of colour-coded entity nodes connected by relationship edges
  • World graph: Shows all entities and relationships in the world. Access via Graph in the world sidebar.
  • Entity graph: Centres on a single entity and shows its neighbourhood. Access from an entity’s detail page.

Four layout options are available in the toolbar:

LayoutBest forDescription
Force-directedExploring complex networksPhysics simulation with attraction/repulsion. Default for all graphs.
HierarchicalShowing parent-child or rank structuresDAG-based with top-down or left-right flow. Minimises edge crossing.
CircularEqual emphasis on all nodesNodes arranged in concentric rings.
ConcentricEntity-focused explorationCentre entity in the middle, surrounding rings by graph distance.

In entity-centred graphs, the depth control sets how many hops from the centre entity to display (1–5). At depth 1, you see only directly connected entities. At depth 5, you see entities up to 5 relationships away.

The temporal bar lets you filter the graph by time period using your world’s calendar:

Shows entities and relationships that were active at a specific moment. Useful for answering “what did the world look like on this date?”

Shows entities and relationships active during a time span. Useful for seeing everything that was relevant during a war, a reign, or a season.

The temporal bar includes playback controls that step through time:

  • Play/Pause — auto-advance through time
  • Speed — 0.5x, 1x, 2x, 4x
  • Step forward/backward — move by calendar divisions (day, month, year)
  • Timeline scrubber — drag to jump to a specific point

Toggle which entity types are visible in the graph. Each type shows as a checkbox — uncheck types you want to hide. When you filter entity types, the available relationship type filters update automatically to show only types that connect the visible entity types.

Toggle which relationship types are visible. Filtered by the currently selected entity types — only types that can connect visible entities are shown.

The Reverse toggle in the toolbar (icon: ↔) controls how asymmetric relationships render.

For an asymmetric relationship like A is a member of B, MythTapestry stores two edges in the graph database:

  • A primary edge from A to B with the type MEMBER_OF
  • An auto-created reverse edge from B to A with the type HAS_MEMBER

This lets each side describe the relationship in its own language (“I’m a member of B” vs “I have A as a member”) without you having to author both directions.

Off (default): Typically only the primary edge renders, so you see one arrow per logical relationship and the graph’s edge count agrees with the entity’s relationships list. (Legacy edges authored before the dual-edge architecture pre-date the is_primary flag and remain visible — if your world predates this change, you may still see both directions for some relationships.)

On: Both edges render. You’ll see two arrows between the connected entities — one labeled with the forward name (Member of) and one with the reverse name (Has member). Useful when you want both perspectives visible at the same time, or when debugging unexpected results.

The same toggle exists on the entity detail → Relationships tab (button labeled “Reverse edges”). It controls the relationship list and the embedded graph view together. Both views agree within whichever mode you’ve selected.

Symmetric relationships (e.g., Allied with, Married to) only ever have one edge; the toggle has no visible effect on them.

For advanced filtering, add field constraints that filter entities or relationships by their property values. Field constraints appear as a chip bar below the main controls — click a chip to edit its operator or value.

  1. Click the + button on an entity or relationship type chip to open the constraint editor.
  2. Choose a field from the dropdown (e.g. name, status, a custom attribute).
  3. Choose an operator (see table below).
  4. Enter a value in the text input and press Enter to confirm.
OperatorApplies toExample
equalsText, numbersstatus equals “active”
not equals (≠)Text, numbersstatus ≠ “inactive”
containsTextname contains “council”
not containsTextname not contains “draft”
starts withTextname starts with “the”
ends withTexttitle ends with “lord”
regexTextname regex “^Lord\s”
= / ≠Numbersage = 25
> / ≥Numbersage > 100
< / ≤Numberslevel < 5
betweenNumberslevel between 1 and 10
inEnum / select fieldsclass in “warrior; mage; rogue”
not inEnum / select fieldsclass not in “civilian”
related toReference fieldsmentor related to “Seraphine”
not related toReference fieldsfaction not related to “Empire”
is empty / is not emptyAll typesdescription is not empty
is true / is falseBoolean fieldsis_active is true

Text operators (contains, equals, starts with, ends with, and their negations) are case-insensitive by default. Typing v will match “Valentina”, “village”, and “VAULT”.

OR alternatives within a filter (semicolons)

Section titled “OR alternatives within a filter (semicolons)”

To show entities matching any one of several values, enter your terms separated by semicolons in the same value field:

  • Type valentina; grand inquisitor in a name contains constraint → matches entities whose name contains “valentina” or “grand inquisitor”.
  • Press Enter, Tab, or type a semicolon to commit each term as a separate chip inside the input.
  • Click the × on any chip to remove that term.
  • Each term is independently case-insensitive.

When a type filter has more than one field constraint, the field logic setting (AND / OR, shown in the toolbar) controls how they are combined:

  • AND (default) — an entity must satisfy all constraints to appear.
  • OR — an entity appears if it satisfies any constraint.

This combines with the semicolon OR within a single constraint: name contains "valentina; grand inq" is an OR within that one constraint, applied regardless of the global AND/OR setting.

Visual rules let you dynamically style nodes based on field values:

Map a numeric field to node size. For example, make characters with more relationships appear as larger nodes.

  • Property: size
  • Entity type: which type this rule applies to
  • Field: which numeric field drives the size
  • Min/Max pixels: size range
  • Scale type: linear, logarithmic, or square root
  • Null behaviour: default size, minimum, or maximum for entities missing the field

Map a field to node transparency. For example, fade out archived entities.

  • Same configuration as size rules, but controls opacity (0–1)

Active visual rules appear as badges in the toolbar so you can see what styling is applied.

Save your current graph configuration — filters, depth, layout, temporal mode — as a named view that you can restore later.

  • Create: Save current state with a name and optional description
  • Apply: Restore all settings from a saved view
  • Update: Overwrite a saved view with current settings
  • Set as default: Automatically load this view when opening the graph
  • Delete / Rename: Manage saved views

Saved views are stored per world, so different worlds can have different default views.

Toggle compact mode to reduce the toolbar to a single condensed line. This gives more screen space to the graph while keeping all controls accessible via dropdowns. Compact mode is enabled by default.

ActionEffect
Click nodeSelect node and open details sidebar
Click edgeSelect edge and show relationship details
Double-click nodeCentre and zoom in on that node
Ctrl/Cmd + click nodeNavigate directly to entity detail page
Right-clickContext menu (create entity, create relationship, focus, delete)
Drag nodeReposition it in the layout
Box selectClick and drag on empty space to select multiple nodes
Scroll wheelZoom in/out
Click + drag backgroundPan the view
ShortcutAction
Ctrl/Cmd + EToggle edge actions mode (hover nodes to see quick-create actions)
Ctrl/Cmd + Shift + EOpen bulk entity creation modal

When edge actions are enabled (via the toolbar toggle or Ctrl+E), hovering over a node reveals action buttons on its edges. Click these to quickly create relationships between entities without opening a separate dialog.