[
  {
    "id": "type:aqqzdn:contentblock",
    "kind": "type",
    "fileId": "file:1rikffk:viewmodels-cs",
    "path": "NexusReader.Application/Queries/Reader/ViewModels.cs",
    "line": 7,
    "canonicalName": "ContentBlock",
    "shortLabel": "ContentBlock",
    "longLabel": "ContentBlock (model)",
    "purpose": "Abstract base record for polymorphic content blocks carrying an Id."
  },
  {
    "id": "type:15iy4fl:textsegmentblock",
    "kind": "type",
    "fileId": "file:1rikffk:viewmodels-cs",
    "path": "NexusReader.Application/Queries/Reader/ViewModels.cs",
    "line": 8,
    "canonicalName": "TextSegmentBlock",
    "shortLabel": "TextSegmentBlock",
    "longLabel": "TextSegmentBlock (model)",
    "purpose": "Represents a text segment block containing textual content."
  },
  {
    "id": "type:1jbz88m:aiactiontriggerblock",
    "kind": "type",
    "fileId": "file:1rikffk:viewmodels-cs",
    "path": "NexusReader.Application/Queries/Reader/ViewModels.cs",
    "line": 9,
    "canonicalName": "AiActionTriggerBlock",
    "shortLabel": "AiActionTriggerBlock",
    "longLabel": "AiActionTriggerBlock (model)",
    "purpose": "Represents an actionable AI-trigger block with dialogue and selectable action options."
  },
  {
    "id": "type:6l0ozw:readerpageviewmodel",
    "kind": "type",
    "fileId": "file:1rikffk:viewmodels-cs",
    "path": "NexusReader.Application/Queries/Reader/ViewModels.cs",
    "line": 11,
    "canonicalName": "ReaderPageViewModel",
    "shortLabel": "ReaderPageViewModel",
    "longLabel": "ReaderPageViewModel (view-model)",
    "purpose": "Aggregates content blocks and chapter/ebook metadata for rendering a reader page."
  }
]