Skip to content

Content Containers & Units

MythTapestry organises your writing into a unified container hierarchy. Containers hold child containers or content units, forming a flexible tree structure.

The system uses a single unified Container model with behaviour controlled by container type definitions. Three system types are provided:

Traditional narrative containers for your world’s stories.

  • A book (root container) contains chapters (child containers)
  • Chapters contain content units — individual scenes or sections
  • Chapters are ordered by sequence number within the book

For tabletop RPG or game-oriented worlds.

  • A campaign (root container) contains sessions (child containers)
  • Sessions contain content units — session notes, recaps, and narratives
  • Campaigns support a participants feature for tracking players

For reference-style knowledge.

  • A domain (root container) contains content units directly as articles
  • Domains don’t have child containers — articles sit directly inside
  • Useful for topics like “Geography”, “History”, “Magic”

Containers have both system fields and optional custom fields:

FieldDescription
TitleContainer name
DescriptionText description
Sequence numberOrder within parent
System fieldsType-specific fields (defined by the container type definition)
Custom fieldsUser-defined metadata (defined per type)

A content unit is an individual piece of writing within a container. This is where your actual narrative, notes, or articles live.

FieldDescription
TitleUnit title
Prose contentRich text content (TipTap JSON format)
SummaryAI-generated or manual summary
Narrative importancemajor, minor, or background — helps prioritise content for AI features
Temporal specificationCalendar-aware positioning using your world’s calendar
Narrative time contextCalendar override, time range, and precision for this unit (see below)
Custom fieldsType-specific metadata defined by content type definitions

The importance field helps the system prioritise content:

  • Major — key scenes, pivotal events, important articles
  • Minor — supporting content, secondary details
  • Background — flavour text, ambient details, background lore

The chatbot and AI features use this to decide how much weight to give each piece of content when answering questions.

Each content unit can override the world’s default calendar settings. This creates an inheritance chain:

World defaults → Content Unit override → Inline date mark override

The narrative time context panel in the editor sidebar lets you set:

FieldDescription
CalendarWhich calendar system to use (defaults to the world’s primary calendar)
Start / EndA time range in absolute days — when this content unit takes place
PrecisionWhich temporal scale the time range is precise to (e.g. “Year”, “Month”, “Season”)

The precision field lists temporal scales from the selected calendar. Setting precision to “Year” means the start/end days are only accurate to the year — the exact month and day are approximate. Leaving it as “Exact (to the day)” means the dates are precise.

Content units use a full-featured TipTap rich text editor with:

  • Text formatting (headings, bold, italic, lists, blockquotes, etc.)
  • Entity mentions — type @ to search and link entities inline
  • Date mentions — type [[ to insert a formatted date chip from your calendar
  • Inline date links — select any text and assign a precise datetime to it (see Inline Temporal Marks)
  • AI entity detection — the system highlights potential entity references in your text
  • Autosave — your work is saved automatically as you type

Content units are stored in two places:

  • PostgreSQL — full content, metadata, timestamps, and all fields
  • Neo4j — entity graph nodes with relationships and references

This dual storage means your writing is fully searchable in the database while also being part of the knowledge graph for relationship queries and graph visualisation.

  1. Navigate to a container (book, campaign, or domain) in the sidebar
  2. Click Create Chapter/Session (for books/campaigns) or create an article directly (for domains)
  3. Click into the new content unit to open the editor
  4. Start writing — your work autosaves