{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Something that happens in the story's world, placed in story order on the project's timeline — or an epoch grouping such events. Events are the timeline facts are anchored to; epochs are sets of events (books, years, eras) that facts can be anchored to as a whole. Timeline order is story order (when it happens), not telling order (when the reader learns of it).",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Markdown.",
            "maxGraphemes": 50000,
            "maxLength": 200000,
            "type": "string"
          },
          "epochs": {
            "description": "The epochs this event (or epoch) belongs to — any number, along any axis: Year 412 and Book One at once. Epochs can belong to epochs (Year 412 in the Second Era); membership is transitive.",
            "items": {
              "ref": "#membership",
              "type": "ref"
            },
            "maxLength": 50,
            "type": "array"
          },
          "importance": {
            "knownValues": [
              "major",
              "minor"
            ],
            "maxLength": 640,
            "type": "string"
          },
          "kind": {
            "description": "`event` (absent means event) is a moment on the timeline; `epoch` is a grouping of events — Book Two, Year 412, the war. Groupings needn't be contiguous: a book told out of order holds events from many years, and one year's events can be split across books. Facts can hold `during` an epoch, or start/stop at it.",
            "knownValues": [
              "event",
              "epoch"
            ],
            "maxLength": 640,
            "type": "string"
          },
          "location": {
            "description": "The place entity where it happens.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "participants": {
            "description": "The entities (characters, mostly) involved.",
            "items": {
              "ref": "page.cavu.forge.defs#ref",
              "type": "ref"
            },
            "maxLength": 100,
            "type": "array"
          },
          "position": {
            "description": "Where an event sits in story order — when it happens, not when it's told: a fractional index (base-62 digits compared as strings), so one can be dropped between two others without renumbering the rest. Required for events; epochs take their place from their members.",
            "maxLength": 128,
            "type": "string"
          },
          "summary": {
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "tags": {
            "description": "Free labels for filtering (\"POV\", \"act 2\", \"cut?\").",
            "items": {
              "maxGraphemes": 64,
              "maxLength": 640,
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "title": {
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "when": {
            "description": "The story's own time, as the writer says it: \"Day 3, dusk\", \"Spring 1887\", \"twelve years earlier\".",
            "maxGraphemes": 128,
            "maxLength": 1280,
            "type": "string"
          }
        },
        "required": [
          "title",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "membership": {
      "properties": {
        "epoch": {
          "description": "An event record of kind epoch.",
          "ref": "page.cavu.forge.defs#ref",
          "type": "ref"
        },
        "position": {
          "description": "Order within that epoch, when it differs from story order — the telling order of a book. Same fractional-index form as the timeline position.",
          "maxLength": 128,
          "type": "string"
        }
      },
      "required": [
        "epoch"
      ],
      "type": "object"
    }
  },
  "id": "page.cavu.forge.event",
  "lexicon": 1
}
