Skip to main content

Prompt Object Types

Lis Novel injects rich objects into your prompt context. When you place them directly in a template, they render as XML. Use this page to understand what each object represents and how to force explicit XML output when you need it.

Scene objects

  • PromptScene values such as {scene}, {scene.previous}, and {scene.next} render as a <scene> XML tag with beat-free text.
  • PromptSceneList values from helpers like {scene.hasLabel("Draft")} render as newline-separated <scene> XML.

Chapter and act objects

  • PromptChapter values ({chapter}, {chapter.previous}, {chapter.next}) render as <chapter> XML in acts + chapters and chapters + scenes modes. When the novel structure omits chapters, they render an empty string.
  • PromptAct values ({act}, {act.previous}, {act.next}) render as <act> XML in acts + chapters mode. When the novel structure omits acts, they render an empty string.

Novel object

  • {novel} renders a <novel> tag with key metadata.

Lore objects

  • PromptLoreEntry renders to the entry XML tag (for example, <character .../>).
  • PromptLoreList renders entry XML tags. {lore.context} is newline-separated, while {scene.references()} is comma-separated.

Point of view

  • {pov} renders a <pointOfView> XML tag with POV attributes.

Type fields at a glance

These objects are lightweight snapshots intended for templating, not full database records. They expose the fields you typically need while prompting.

  • PromptScene: id, title, fullTitle, number, subtitle, plainText.
  • PromptSceneList: an array of PromptScene values.
  • PromptChapter: id, title, name, number.
  • PromptAct: id, title, name, number.
  • PromptNovel: id, title, author, tense, language, hasSeries, outline, outlineStats, fullText.
  • PromptLoreEntry: id, name, type, aliases, fields.
  • PromptLoreList: an array of PromptLoreEntry values.
  • PromptPov: type, character, isFirstPerson, isSecondPerson, isThirdPerson, isLimited, isOmniscient.

toXml() behavior

Many prompt objects expose toXml() when you need explicit XML conversion before passing a value into another helper.

{scene}
{scene.toXml()}

Use toXml() when you need a plain XML string for concatenation, custom wrappers, or debugging.

tip

Prompt objects are snapshots captured at render time, so they reflect the manuscript as it existed when the prompt ran.