Skip to content

How Weave is organized

A Weave project is a graph:

  • Nodes are things in the world: characters, places, factions, items, ideas.
  • Edges are directed relationships between two nodes.
  • Types describe what kind of node or edge something is.
  • Properties add structured values such as a title, population, allegiance, or date.

Tables, Query, Timeline, detail pages, and layouts all read from this same graph. Editing a property in a detail page changes the value everywhere it is shown.

A layout chooses which graph items to show and where to show them.

  • A relational layout arranges nodes and connectors freely.
  • A spatial layout belongs to an owner node and adds map-like geometry, images, styling, layers, and links.

Removing a node placement from a relational layout does not delete the node from the graph. Deleting a selected relationship from that canvas does delete the graph edge. See Relational layouts before using the Delete key.

Node and edge types can share reusable property definitions. A Character type, for example, might attach the same Occupation and Born properties to every character. Custom data types can describe structured or enumerated values.

Structure is optional at first. You can create a type by name while creating a node or relationship, then add properties later in Types.

Project time is either All time or a particular tick formatted through a calendar. Time-aware nodes and relationships have validity intervals. Changing the viewed time can affect tables, queries, timelines, layout availability, mentions, and what is shown on a canvas.

A layout also has a temporal mode:

  • All time ignores the project’s viewed moment.
  • Follow project projects the layout at the current viewed time.

Read Project time before adding lifecycle dates.