Skip to content

Inline Temporal Marks

MythTapestry provides two ways to reference dates inside your prose text. Each serves a different purpose and appears differently in the editor.

A date mention is an inline chip — a small, non-editable block that displays a formatted date from your calendar. It replaces a section of text with a styled date badge.

Type [[ in the editor to open the date picker popover. From there you can:

  1. Date tab — pick a date using the temporal scale picker for your world’s calendar
  2. Entity tab — reference a date from an entity’s temporal fields
  3. Events tab — insert the date of a world event or holiday
  4. Patterns tab — reference a recurring pattern’s next occurrence

You can also use the shortcut syntax [[date:429]] to insert a date mention for absolute day 429 directly.

AttributeDescription
Reference typeHow the date is specified: absolute, entity_field, named_date, or recurring_pattern
Absolute dayThe resolved day on the universal timeline
Time of dayOptional fractional time (0.0 to <1.0)
CalendarWhich calendar system to use for display
FormatWhich date format string to use for rendering
PrecisionTemporal scale name indicating how precise the date is
Display labelThe formatted text shown in the chip

A date link is an inline mark that wraps existing text with datetime metadata — similar to how entity mentions wrap text like “the ancient city” with a link to a Location entity. The original text is preserved and remains editable.

Date links are ideal when your prose uses natural temporal language:

  • tomorrow” → link to absolute day 430
  • during the Great War” → link to day range 15000–15800
  • three days later” → link to absolute day 433
  • the spring equinox” → link to absolute day 91

The text stays exactly as written, but the system knows precisely what date each phrase refers to.

  1. Select text in the editor that refers to a time or date
  2. Right-click and choose “Assign Date/Time…” from the context menu
  3. Use the date picker to select the precise date, time range, calendar, and precision
  4. The selected text is now annotated with the datetime metadata

Date links appear as subtly styled text with visual indicators:

  • A coloured underline or background tint (depending on the current theme)
  • A hover tooltip showing the resolved calendar date in the selected format
  • Ctrl+Click (or Cmd+Click) navigates to the date in calendar context

The styling intensity can vary — from a minimal underline to a more prominent highlight — based on the precision level.

AttributeDescription
Start / End dayRange of absolute days this text refers to
Time of dayOptional start/end fractional times
CalendarCalendar system for this mark (overrides content unit default)
FormatDate format for the hover tooltip
PrecisionTemporal scale name (e.g. “Day”, “Month”, “Year”, “Season”)
Display labelFormatted date shown on hover

Each date link inherits its calendar and precision from the content unit’s narrative time context, which in turn inherits from the world’s default calendar. You can override any of these at the mark level:

World default calendar + precision
└── Content unit override
└── Date link override (per-mark)

If a date link doesn’t specify a calendar, it uses whatever the content unit specifies. If the content unit doesn’t override, the world default is used.

FeatureDate mention (chip)Date link (mark)
TextReplaced with formatted dateOriginal text preserved
EditableNo (atomic block)Yes (text stays editable)
AppearanceStyled chip/badgeSubtle underline/highlight
Best forExplicit dates (“15th of Frostmoon, Year 42”)Natural language (“tomorrow”, “during the war”)
Trigger[[ keyboard shortcutSelect text → right-click → assign
Reference typesAbsolute, entity field, named date, recurring patternAbsolute (with calendar + precision)

Both date mentions and date links are synchronised to the database when you save a content unit. The backend extracts temporal marks from the TipTap JSON and creates DateTimeReference records, similar to how entity mentions create EntityMention records. This means temporal references are stored and indexed alongside your content, ready for use by other features.

The following capabilities are planned but not yet available:

  • Cross-world temporal queries — search for all content that references a specific date or time period
  • Timeline integration with prose — the timeline view will surface prose passages that reference specific time periods, not just entity events
  • Calendar cascade re-resolution — when you change a calendar’s structure (rename a month, adjust intercalation), display labels on existing date links will automatically update to reflect the new formatting
  • Prose-based chatbot search — the chatbot will be able to find content units by the dates mentioned in their prose text (currently it can find entities and relationships at a given time point via the knowledge graph)