Relationships and Graphs
A relation is a directed score from one tracked entity to another. Reputation is a separate track that measures how an actor or faction stands with the party. You set relations from an entity’s detail view. A graph draws them as links.
Relation types
Section titled “Relation types”Each of the six relation types runs from a source to a target.
- Individual relations run actor to actor.
- Faction relations run faction to actor.
- Actor-faction relations run actor to faction.
- Faction-to-faction relations run faction to faction.
- Faction-to-location relations run faction to location.
- Actor-to-location relations run actor to location.
A relation is one number toward one target. The relation from A to B is independent of the relation from B to A.
A faction or actor with a positive relation toward a location counts as a controller of that location, ranked by relation strength. See locations and control.
The two location types have no relation rows. You set them from the controller list on the location’s detail view, where adding a controller writes the relation.
Setting a relation
Section titled “Setting a relation”Each relation heading has a plus button that opens a picker of eligible targets. The picker leaves out the entity itself and every target that already has a stored relation. A relation you add starts at zero. A player who owns an actor gets the plus button on that actor’s relations toward other actors. Every other plus button is GM-only.
An actor’s faction relations also list a row for every faction the actor belongs to. Those rows read as zero until you set them.
In an actor’s or faction’s detail view, a relation appears as a row with the target’s name and a tier pip. The row is read-only until you turn on Edit Mode from the viewer header, which adds a slider, a number field, and the row actions. The value is clamped to the configured range. The tier pip recolors to the tier the value falls into. Set the range and the tiers on the settings page.
Changing a relation records a change-log entry on the source faction or actor and shows a notification. Location relations skip the change log. Whether a chat message posts depends on the chat-notification setting.
A player who owns an actor can edit that actor’s relations toward other actors and toward factions. Every other relation is GM-only, including any relation that starts at a faction. A refused write warns the player and leaves the value unchanged. A relation set to unknown does not appear in a player’s detail view. On a row a player does see, the value reads as a number, or as the tier name while reputation numbers are hidden from players. See visibility and players.
Mirror relations
Section titled “Mirror relations”Faction-to-faction rows have a mirror toggle. Linking a pair copies the source faction’s current value into the opposite direction. While the pair is linked, editing either direction writes the same value to the other. A faction with a different range receives the value rescaled to its own range. Click the toggle again to unlink the pair.
Derived faction relations
Section titled “Derived faction relations”A faction-to-faction relation with no stored value derives from the factions’ children. Bondsmith averages the relation across the pairs of leaf descendants of the two factions. It skips any pair whose two leaves share a parent. A pair with no stored relation counts as zero. The row derives only when at least one pair has a stored relation. A row between two factions that both have no children never derives. A value from a faction with a different range is rescaled to the source faction’s range.
A derived row shows a hierarchy icon. Editing a derived row pins the new value in place of the derived one. On a pinned row that could still derive, the remove button reverts the relation to the derived value.
Graphs
Section titled “Graphs”A graph is a saved view of nodes and links. Bondsmith has four graph types.
- Force-Directed lays out actors, factions, and locations as a draggable network.
- Genealogy Tree arranges actors hierarchically with parent, partner, and sibling links.
- Geographic Map pins actors, factions, and locations onto a background image and marks territory with drawn shapes.
- Timeline plots change-log events over time.
Each graph stores its own nodes, links, settings, and permissions independently of the live reputation data.
The dashboard
Section titled “The dashboard”Open the dashboard from the graph button in the Bondsmith sidebar footer, or from the Bondsmith entry in the module settings. It lists the graphs you can view. A player sees only the graphs shared with them and gets no create form. To create a graph, pick a type, optionally enter a name, and create it. An unnamed graph takes a generated name from its type. Each entry shows its type and the time since it last changed. Opening an entry launches the viewer. Deleting a graph asks you to confirm first.
The viewer
Section titled “The viewer”The viewer’s controls sit in the window header. Which controls appear depends on the graph type and on whether you can edit.
- Populate from Data replaces the graph’s nodes and links with a fresh set built from tracked entities and their relations. Hand-placed nodes, drawn links, and the current layout are discarded. Drawn shapes are kept. When there is nothing to build from, it warns and leaves the graph untouched.
- Save Graph writes the current layout and edits.
- Export PNG saves the current view as an image. Anyone who can open the graph can use it.
- Set Map Image picks a background image on map graphs.
- Link Creation Mode draws a link between two nodes on force, map, and genealogy graphs.
- Show Links and Hide Links toggle link visibility.
- Cycle Link Label Mode rotates link labels through default, hidden, on hover, and always visible on force and map graphs. The default mode follows the per-link-type label defaults on the settings page.
A graph with no nodes and no map image shows a hint and a second Populate from Data button on its canvas.
A timeline graph uses an in-world axis when Calendaria is active and the timeline setting is on. On that axis, each event sits at the in-world stamp stored on its change-log entry. Dragging an event writes a new stamp onto that entry. A header control jumps the view to an in-world date you enter as a year, a month, and a day. Otherwise, an event sits at the real-world time its entry was recorded, and dragging rewrites that time.
Force, genealogy, and map graphs have zoom in, zoom out, and reset buttons on the canvas. A map graph adds a drawing toolbar with polygon, polyline, rectangle, circle, and freehand tools, plus a select tool for editing vertices. Only you get that toolbar, even on a map graph a player can edit.
Click to place each point of a polygon or polyline. Double-click or press Enter to finish the shape, or click a polygon’s first vertex to close it. Escape abandons the shape. Drag to draw a rectangle, circle, or freehand region. The select tool puts a handle on every vertex of the shape you click. Drag a handle to move that vertex, or double-click a segment to insert one. A shape assigned to a faction takes its fill and stroke from that faction’s current reputation tier. A fill or stroke you set by hand overrides the faction color.
On a map graph, Ctrl-drag across the canvas to select several nodes, then drag any selected node to move them together. Escape clears the selection.
A map graph draws an actor only while that actor is a resident of some location. An actor assigned nowhere is left off the map along with its links. Residents and factions placed at a location ring around that location’s node. A node you drag or drop keeps the position you give it. Membership, residency, and faction placement lines are not drawn on a map.
Dropping an actor, a faction, a location, or a journal entry onto the canvas adds it as a node. Except on a genealogy graph, Bondsmith then draws a link from the new node to every node already on the graph that it shares an actor-to-actor relation, a faction-to-faction relation, a membership, a residency, or a faction placement with. Dropping an entity that already has a node changes nothing.
On force, genealogy, and map graphs, right-clicking a node or a link opens an edit menu. On a map graph, right-clicking a shape opens one as well. Timeline graphs have no right-click menu. The menu opens only for a user who can edit the graph.
From a node you can open the underlying actor, faction, location, or journal entry, start a link from it, change its label, recolor it, or remove it. The label dialog has a Use Label as Player-Facing Mask checkbox. With it ticked, the label you type becomes the label players see on that node. From a link you can edit its label, color, and width, override its label-visibility mode, or remove it. From a shape you can edit its label, fill, and stroke, assign it to a faction, or delete it. Genealogy graphs add menu items for editing connections, deleting a node together with its descendants, and resetting the family-tree layout.
In link creation mode, click the source node, then the target node. Linking two actor or faction nodes opens a dialog with a slider and a number field, then writes the relation. A player who starts from a faction node, or from an actor they do not own, is warned that only outgoing relations from owned actors can be edited, and no link is drawn.
Linking a location node to an actor node makes that actor a resident of the location. Linking a location node to a faction node places that faction there. Deleting one of those links also removes the residency or the placement from the location. Linking any other pair of nodes draws a plain link that writes no data.
On force and map graphs each link has a handle at either end. Drag a handle onto another node to move that end of the link. The node under the cursor outlines green while the move is allowed and red while it is not. A move that would duplicate a link already joining those two nodes is refused. Rewiring changes the drawing only. The stored relation stays where it was.
On a genealogy graph, linking two actors asks for the family relationship instead. The dialog names both actors and states each option as the relation the actor you clicked first holds to the one you clicked second. Choosing parent draws the link from the parent down to the child.
A genealogy graph accepts actors only and warns on anything else. Dropping an actor already on the graph does nothing. Dropping one next to an existing person asks how the two are related. Hold Shift to make them partners, or Alt to make them siblings, without the prompt.
Dragging one person onto another opens a connection editor, and the dragged node returns to where it started. Ctrl-clicking two people, or the link between them, opens the same editor. The editor uses checkboxes, and a pair can hold more than one connection. Clearing a box deletes that link.
When a faction, location, or tracked actor is deleted, or a backing membership or control link is removed, the matching nodes and links drop out of the graph.
Permissions and sharing
Section titled “Permissions and sharing”Graphs are GM-only until you share them. Open Graph Permissions from the viewer to list every non-GM player with a View and an Edit checkbox. View lets a player open the graph from the dashboard. Edit unlocks the graph’s editing controls for that player. The checkboxes take effect when you save, and the window then closes. Only you can store graph contents. A player with Edit can move nodes, draw links, and use the editing controls in their own window. Those changes are not stored.
A header badge shows the graph’s sharing state and reads as shared when any player has View. Players do not see the badge. Click the badge to open the permissions window. An open dashboard updates when permissions change.