@heroiclands/package-build 22.28.0 → 23.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/README.md +1 -1
- package/bin/content-commands.mjs +1 -1
- package/ci/content-format-reference.mjs +46 -0
- package/docs/api.md +125 -142
- package/docs/authoring/assets.md +1 -1
- package/docs/authoring/dates-and-calendars.md +12 -6
- package/docs/authoring/first-note.md +1 -1
- package/docs/authoring/frontmatter.md +2 -2
- package/docs/authoring/links-and-markup.md +145 -29
- package/docs/commands.md +8 -10
- package/docs/configuration.md +13 -11
- package/docs/content-format.md +3 -3
- package/docs/guides/book.md +59 -4
- package/docs/guides/icons.md +4 -5
- package/docs/guides/packs.md +6 -0
- package/docs/guides/reference-pages.md +21 -1
- package/docs/guides/release-and-deploy.md +17 -1
- package/docs/guides/site.md +17 -18
- package/docs/reference/format-details.md +904 -275
- package/docs/reference/note-types.md +282 -91
- package/docs/reference/theme-pages.md +58 -66
- package/engine/address-values.mjs +124 -4
- package/engine/address.mjs +44 -3
- package/engine/anchors.mjs +103 -3
- package/engine/art-slots.mjs +2 -9
- package/engine/base-compiler.mjs +25 -6
- package/engine/calendar-artifacts.mjs +4 -1
- package/engine/calendar-notes.mjs +166 -102
- package/engine/content-format-check.mjs +2 -3
- package/engine/content-format.mjs +44 -1
- package/engine/content-format.yaml +84 -16
- package/engine/content-images.mjs +10 -1
- package/engine/content-index.mjs +37 -9
- package/engine/content-links.mjs +24 -5
- package/engine/content-tables.mjs +24 -3
- package/engine/data-keys.mjs +347 -0
- package/engine/derived-sections.mjs +322 -0
- package/engine/diagnostics.mjs +28 -0
- package/engine/event-fields.mjs +187 -0
- package/engine/event-rows.mjs +126 -0
- package/engine/event-views.mjs +305 -0
- package/engine/exported-scene.mjs +29 -53
- package/engine/frontmatter-lint.mjs +103 -77
- package/engine/frontmatter.mjs +7 -2
- package/engine/generate.mjs +53 -0
- package/engine/generated-sections.mjs +223 -0
- package/engine/heading-attributes.mjs +4 -2
- package/engine/helpers.mjs +12 -1
- package/engine/holdings.mjs +12 -33
- package/engine/ids.mjs +17 -11
- package/engine/index.mjs +4 -4
- package/engine/infobox-render.mjs +21 -6
- package/engine/infobox.mjs +217 -99
- package/engine/journals.mjs +104 -47
- package/engine/literature-notes.mjs +136 -0
- package/engine/literature-works.mjs +161 -0
- package/engine/map-graphviz.mjs +4 -18
- package/engine/markdown-expressions.mjs +116 -11
- package/engine/metadata-index.mjs +34 -0
- package/engine/near-miss.mjs +90 -0
- package/engine/note-addresses.mjs +75 -19
- package/engine/note-dates.mjs +5 -3
- package/engine/note-event-terms.mjs +364 -0
- package/engine/note-events.mjs +823 -0
- package/engine/note-vocabulary.mjs +195 -92
- package/engine/office-holders.mjs +20 -54
- package/engine/packagebuild-index.mjs +16 -1
- package/engine/pdf-build.mjs +97 -60
- package/engine/pdf-index.mjs +263 -0
- package/engine/pdf-render.mjs +47 -5
- package/engine/place-relation-terms.mjs +174 -0
- package/engine/place-relations.mjs +72 -160
- package/engine/rank-ladder.mjs +14 -41
- package/engine/reckoning-markers.mjs +2 -0
- package/engine/region-events.mjs +6 -12
- package/engine/scenes.mjs +73 -468
- package/engine/site-build.mjs +74 -85
- package/engine/site-index.mjs +3 -1
- package/engine/site-maps.mjs +43 -29
- package/engine/site-preview.mjs +40 -31
- package/engine/social-ties.mjs +2 -1
- package/engine/sql-tables.mjs +212 -9
- package/engine/standing-terms.mjs +145 -6
- package/engine/standings.mjs +37 -49
- package/engine/stub-lint.mjs +6 -0
- package/engine/web-wikilinks.mjs +21 -1
- package/engine/wikilink-syntax.mjs +34 -4
- package/engine/wikilinks.mjs +27 -2
- package/hugo-theme/layouts/partials/infobox/entry.html +4 -1
- package/hugo-theme/layouts/partials/page-body.html +0 -2
- package/hugo-theme/static/css/style.css +25 -55
- package/package.json +1 -2
- package/packagebuild-metadata.jsonl +13 -13
- package/sohl/default-item-art.mjs +6 -6
- package/sohl/note-schemas.mjs +8 -73
- package/types/engine/address-values.d.mts +50 -3
- package/types/engine/address.d.mts +21 -0
- package/types/engine/anchors.d.mts +49 -2
- package/types/engine/art-slots.d.mts +1 -1
- package/types/engine/base-compiler.d.mts +13 -4
- package/types/engine/calendar-notes.d.mts +7 -0
- package/types/engine/content-format.d.mts +52 -0
- package/types/engine/content-images.d.mts +5 -1
- package/types/engine/content-tables.d.mts +9 -1
- package/types/engine/data-keys.d.mts +145 -0
- package/types/engine/derived-sections.d.mts +73 -0
- package/types/engine/diagnostics.d.mts +15 -0
- package/types/engine/event-fields.d.mts +99 -0
- package/types/engine/event-rows.d.mts +12 -0
- package/types/engine/event-views.d.mts +67 -0
- package/types/engine/exported-scene.d.mts +5 -2
- package/types/engine/frontmatter-lint.d.mts +3 -3
- package/types/engine/generated-sections.d.mts +143 -0
- package/types/engine/holdings.d.mts +6 -20
- package/types/engine/ids.d.mts +15 -12
- package/types/engine/index.d.mts +1 -1
- package/types/engine/infobox.d.mts +13 -3
- package/types/engine/journals.d.mts +24 -11
- package/types/engine/literature-notes.d.mts +29 -0
- package/types/engine/literature-works.d.mts +67 -0
- package/types/engine/map-graphviz.d.mts +2 -10
- package/types/engine/markdown-expressions.d.mts +12 -3
- package/types/engine/near-miss.d.mts +42 -0
- package/types/engine/note-addresses.d.mts +7 -1
- package/types/engine/note-event-terms.d.mts +68 -0
- package/types/engine/note-events.d.mts +71 -0
- package/types/engine/note-vocabulary.d.mts +37 -8
- package/types/engine/office-holders.d.mts +3 -0
- package/types/engine/pdf-index.d.mts +35 -0
- package/types/engine/pdf-render.d.mts +8 -2
- package/types/engine/place-relation-terms.d.mts +83 -0
- package/types/engine/place-relations.d.mts +11 -66
- package/types/engine/rank-ladder.d.mts +2 -0
- package/types/engine/region-events.d.mts +6 -12
- package/types/engine/scenes.d.mts +6 -32
- package/types/engine/site-build.d.mts +8 -22
- package/types/engine/site-maps.d.mts +15 -7
- package/types/engine/sql-tables.d.mts +77 -2
- package/types/engine/standing-terms.d.mts +37 -4
- package/types/engine/standings.d.mts +14 -9
- package/types/engine/wikilink-syntax.d.mts +20 -0
- package/types/engine/wikilinks.d.mts +3 -2
- package/docs/guides/government-migration.md +0 -52
- package/engine/itinerary-scenes.mjs +0 -166
- package/engine/lore-events.mjs +0 -197
- package/engine/map-notes.mjs +0 -1309
- package/engine/map-raster.mjs +0 -51
- package/hugo-theme/layouts/partials/holdings/entry.html +0 -21
- package/hugo-theme/layouts/partials/holdings/kind-groups.html +0 -71
- package/hugo-theme/layouts/partials/holdings.html +0 -61
- package/hugo-theme/layouts/partials/place-map.html +0 -9
- package/types/engine/itinerary-scenes.d.mts +0 -29
- package/types/engine/lore-events.d.mts +0 -14
- package/types/engine/map-notes.d.mts +0 -297
- package/types/engine/map-raster.d.mts +0 -8
|
@@ -37,10 +37,17 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
37
37
|
| `data.id` | string | A fixed document identity when the derived identity is unsuitable. |
|
|
38
38
|
| `data.pack` | string | The shared compendium route, with a system block overriding it. |
|
|
39
39
|
| `data.packFolder` | an Address, or a map of Addresses keyed by pack | The shared compendium folder Address, with a system block overriding it. |
|
|
40
|
-
| `data.harnworld` |
|
|
40
|
+
| `data.harnworld` | `{ realm?, ritual? }` | HârnWorld source details shared by every system — `realm` and `ritual`. |
|
|
41
41
|
| `data.icon` | an Address | The document's profile art — an `icon` address, resolved into `img`. |
|
|
42
42
|
| `data.banner` | an Address | The page's hero image — an `image` address, cut to 1792×768. Reaches no compiled document. |
|
|
43
43
|
|
|
44
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
45
|
+
|
|
46
|
+
| Key | Shape | Required | Meaning |
|
|
47
|
+
| ----------------------- | --------------- | -------- | --------------------------------------------- |
|
|
48
|
+
| `data.harnworld.realm` | a string | no | The HârnWorld realm the subject belongs to. |
|
|
49
|
+
| `data.harnworld.ritual` | list of strings | no | The HârnWorld religions the subject observes. |
|
|
50
|
+
|
|
44
51
|
## Type-specific fields
|
|
45
52
|
|
|
46
53
|
### being
|
|
@@ -49,10 +56,9 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
49
56
|
|
|
50
57
|
| Field | Shape | Meaning |
|
|
51
58
|
| -------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
-
| `data.social` | map | The being's social profile. |
|
|
53
59
|
| `data.tokenIcon` | an Address | What a token on the canvas wears — an `icon` address; unset, it follows `icon`. |
|
|
54
60
|
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
55
|
-
| `data.archetypes` | list
|
|
61
|
+
| `data.archetypes` | list of strings | Archetypal behaviours the being fits. |
|
|
56
62
|
| `data.occupation` | string | What the being does for a living. |
|
|
57
63
|
| `data.stations` | list of Addresses | Stations the being holds. |
|
|
58
64
|
| `data.lore` | list of Addresses | Lore concerning this being — the law it lives under, the customs it is subject to, the traditions it was raised in. |
|
|
@@ -74,7 +80,14 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
74
80
|
| `data.appearance.hair_color` | string | Hair colour. |
|
|
75
81
|
| `data.appearance.skin_color` | string | Skin colour. |
|
|
76
82
|
| `data.appearance.complexion` | string or list | The skin's condition — one value, or several, because a face carries more than one at once. A single value means a list of one. |
|
|
77
|
-
| `data.appearance.extra_features` | list
|
|
83
|
+
| `data.appearance.extra_features` | list of strings | Anything else a stranger would notice. |
|
|
84
|
+
|
|
85
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
86
|
+
|
|
87
|
+
| Key | Shape | Required | Meaning |
|
|
88
|
+
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------- |
|
|
89
|
+
| `data.affiliations.<Address>.rank` | the level on that body's own ladder, as a whole number — an ordinary member is `1`, and `0` is the rung for someone cast out | yes | The level on the body's own `governance.ranks` ladder. |
|
|
90
|
+
| `data.affiliations.<Address>.office` | a post from that body's `governance.offices` | no | A post the body names in its `governance.offices`, where one is held. |
|
|
78
91
|
|
|
79
92
|
**System mappings**
|
|
80
93
|
|
|
@@ -104,22 +117,76 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
104
117
|
|
|
105
118
|
**Subtypes:** `guild`, `order`, `polity`, `faithtradition`, `arcanetradition`, `spirittradition`, `lineage`, `venture`, `criminal`, `governmental`, `fellowship`.
|
|
106
119
|
|
|
107
|
-
| Field | Shape
|
|
108
|
-
| ------------------------- |
|
|
109
|
-
| `data.templatePriority` | number
|
|
110
|
-
| `data.
|
|
111
|
-
| `data.
|
|
112
|
-
| `data.
|
|
113
|
-
| `data.
|
|
114
|
-
| `data.governance.
|
|
115
|
-
| `data.governance.
|
|
116
|
-
| `data.governance.
|
|
117
|
-
| `data.
|
|
118
|
-
| `data.
|
|
119
|
-
| `data.
|
|
120
|
-
| `data.
|
|
121
|
-
| `data.
|
|
122
|
-
| `data.
|
|
120
|
+
| Field | Shape | Meaning |
|
|
121
|
+
| ------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
122
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
123
|
+
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
124
|
+
| `data.demonym` | string | What one member is called — a Vylarian. |
|
|
125
|
+
| `data.epithet` | string | The by-name it is known by — a god's, an order's, a company's. |
|
|
126
|
+
| `data.symbol` | string | Its emblem in words: a feather atop a golden scale, a chisel carving a star. |
|
|
127
|
+
| `data.governance.model` | string | How the affiliation is governed, where it is. |
|
|
128
|
+
| `data.governance.summary` | string | A sentence on how the governance actually works. |
|
|
129
|
+
| `data.governance.ranks` | list of `{ level, title, description, lore? }` | The ladder of ranks the body confers — level, title, description. |
|
|
130
|
+
| `data.governance.offices` | a map of named offices | Named offices, each with a description and optional dated holders. |
|
|
131
|
+
| `data.seat` | an Address | Where the affiliation's authority sits. |
|
|
132
|
+
| `data.population` | number | How many people it counts. |
|
|
133
|
+
| `data.economy` | list of Addresses | What its economic life runs on — currencies, banking bodies, goods. |
|
|
134
|
+
| `data.lore` | list of Addresses | Lore concerning it — the peoples it draws on, the god a faith venerates, its law, its calendar. |
|
|
135
|
+
| `data.parents` | list of Addresses | Affiliations it is subordinate to. |
|
|
136
|
+
| `data.relations` | a map keyed by Address | Standing with other affiliations — aligned, unaligned, rival, nemesis. |
|
|
137
|
+
|
|
138
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
139
|
+
|
|
140
|
+
| Key | Shape | Required | Meaning |
|
|
141
|
+
| ---------------------------------------------------- | ------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------- |
|
|
142
|
+
| `data.events[].id` | an address segment | no | The event's name within its note — lowercase letters and digits. |
|
|
143
|
+
| `data.events[].kind` | one `eventKind` value | no | What sort of thing happened. |
|
|
144
|
+
| `data.events[].depth` | one `depth` value | no | How far the event's history reaches. |
|
|
145
|
+
| `data.events[].when` | a date, or `"0.<day>"` | yes | When it happened, or the anchor and first instance of an event that recurs. |
|
|
146
|
+
| `data.events[].until` | a date | no | When a continuous event ended, or where a recurring series stopped. |
|
|
147
|
+
| `data.events[].recurs` | `{ every }` or `{ on }` | no | How further occurrences are found; absent for an event that happened once. |
|
|
148
|
+
| `data.events[].recurs.every` | a whole number of years, 1 or more | no | A period counted on the canonical axis from `when`. |
|
|
149
|
+
| `data.events[].recurs.on` | a list of dates, strictly increasing, each later than `when` | no | Recorded occurrences beyond the first, in place of a period. |
|
|
150
|
+
| `data.events[].summary` | a string | yes | What happened, stated plainly. |
|
|
151
|
+
| `data.events[].standing` | one `standing` value | no | What the world's evidence supports. |
|
|
152
|
+
| `data.events[].names` | `{ name, by, gloss? }[]` | no | The event's names in the world, each with who uses it. |
|
|
153
|
+
| `data.events[].names[].name` | a string | yes | One name the event goes by in the world. |
|
|
154
|
+
| `data.events[].names[].by` | an Address naming an `affiliation`, `lore`, `place`, `being` or `skill` note | yes | Who uses that name — a people, a polity, a faith, a place, a tongue. |
|
|
155
|
+
| `data.events[].names[].gloss` | a string | no | What the name means, or how it is used. |
|
|
156
|
+
| `data.events[].where` | `{ locus?, reach? }` | no | Where it happened, and where it was felt. |
|
|
157
|
+
| `data.events[].where.locus` | a list of Addresses, each defaulting to `place` | no | Where the event physically happened; each resolves to a place. |
|
|
158
|
+
| `data.events[].where.reach` | `{ place, how, knowledge, attributedTo? }[]` | no | Where the event was felt, and whether each place knows why. |
|
|
159
|
+
| `data.events[].where.reach[].place` | an Address, defaulting to `place` | yes | A place where the event was felt. |
|
|
160
|
+
| `data.events[].where.reach[].how` | a string | yes | One clause: a consequence someone in that place could notice. |
|
|
161
|
+
| `data.events[].where.reach[].knowledge` | one `knowledge` value | yes | Whether that place connects what it felt to this event. |
|
|
162
|
+
| `data.events[].where.reach[].attributedTo` | an Address, defaulting to `lore`, naming an event or a `lore` note | no | Only beside `knowledge: misattributed` — the cause that place names instead. |
|
|
163
|
+
| `data.events[].who` | `{ ref, role }[]` | no | Who took part, and as what. |
|
|
164
|
+
| `data.events[].who[].ref` | an Address naming a `being`, `affiliation` or `lore` note | yes | A participant — a being, a people, an affiliation. |
|
|
165
|
+
| `data.events[].who[].role` | one `role` value | yes | What the participant was to the event. |
|
|
166
|
+
| `data.events[].follows` | `{ event, how, note? }[]` | no | The earlier events this one follows from. |
|
|
167
|
+
| `data.events[].follows[].event` | an Address, defaulting to `lore`, anchored to an `event` where its note holds several | yes | The earlier event; it resolves to exactly one event. |
|
|
168
|
+
| `data.events[].follows[].how` | one `followsHow` value | yes | How this event follows from it. |
|
|
169
|
+
| `data.events[].follows[].note` | a string | no | One clause saying what connects the two. |
|
|
170
|
+
| `data.events[].accounts` | `{ by, says, agrees, withholds? }[]` | no | What each people, polity, faith or place says about it. |
|
|
171
|
+
| `data.events[].accounts[].by` | an Address naming an `affiliation`, `lore`, `place` or `being` note | yes | Who holds the account. |
|
|
172
|
+
| `data.events[].accounts[].says` | a string | yes | What they say happened, in their terms. |
|
|
173
|
+
| `data.events[].accounts[].agrees` | one `agrees` value | yes | How far their account agrees with `summary`. |
|
|
174
|
+
| `data.events[].accounts[].withholds` | a string | no | What they decline to say. |
|
|
175
|
+
| `data.events[].unresolved` | a list of strings | no | What the world itself has not settled. |
|
|
176
|
+
| `data.events[].sources` | a list of Addresses | no | The notes that state or support the event; each resolves. |
|
|
177
|
+
| `data.events[].stated` | `{ calendar, text }` | no | The date as one tradition writes it in its own reckoning. |
|
|
178
|
+
| `data.events[].stated.calendar` | an Address, or a lore shortcode | yes | The calendar that tradition reckons in — a `lore` note with `subType: calendar`. |
|
|
179
|
+
| `data.events[].stated.text` | a string | yes | The date as that tradition writes it. |
|
|
180
|
+
| `data.governance.ranks[].level` | a whole number — the rung's position on this body's own ladder | yes | The rung's position on the ladder; a member's `rank` names it. |
|
|
181
|
+
| `data.governance.ranks[].title` | what the standing is called | yes | What the standing is called. |
|
|
182
|
+
| `data.governance.ranks[].description` | what the standing is | yes | What the standing is. |
|
|
183
|
+
| `data.governance.ranks[].lore` | a lore Address | no | Lore saying more about the standing than a description holds. |
|
|
184
|
+
| `data.governance.offices.<name>.description` | a string | yes | What the office is. |
|
|
185
|
+
| `data.governance.offices.<name>.holders` | a list of `{ being, start?, end?, contested? }` | yes | Who has held it, each with the dates of the term. |
|
|
186
|
+
| `data.governance.offices.<name>.holders[].being` | a being Address | yes | Who held the office. |
|
|
187
|
+
| `data.governance.offices.<name>.holders[].start` | a date | no | When the term began; unstated, it began before anything recorded. |
|
|
188
|
+
| `data.governance.offices.<name>.holders[].end` | a date | no | When the term ended; unstated, the being holds the office now. |
|
|
189
|
+
| `data.governance.offices.<name>.holders[].contested` | `true` or `false` | no | The term may overlap another holder's. |
|
|
123
190
|
|
|
124
191
|
**System mappings**
|
|
125
192
|
|
|
@@ -168,13 +235,15 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
168
235
|
|
|
169
236
|
**Subtypes:** None.
|
|
170
237
|
|
|
171
|
-
| Field | Shape
|
|
172
|
-
| ----------------------- |
|
|
173
|
-
| `data.templatePriority` | number
|
|
174
|
-
| `data.weight` | number
|
|
175
|
-
| `data.value` | number
|
|
176
|
-
| `data.quality` | number
|
|
177
|
-
| `data.durability` | number
|
|
238
|
+
| Field | Shape | Meaning |
|
|
239
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
240
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
241
|
+
| `data.weight` | number | What the thing weighs. |
|
|
242
|
+
| `data.value` | number | What the thing is worth. |
|
|
243
|
+
| `data.quality` | number | How well it is made. |
|
|
244
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
245
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
246
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
178
247
|
|
|
179
248
|
**System mappings**
|
|
180
249
|
|
|
@@ -207,16 +276,18 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
207
276
|
|
|
208
277
|
**Subtypes:** `mundane`, `exotic`, `elixir`.
|
|
209
278
|
|
|
210
|
-
| Field | Shape
|
|
211
|
-
| ----------------------- |
|
|
212
|
-
| `data.templatePriority` | number
|
|
213
|
-
| `data.weight` | number
|
|
214
|
-
| `data.value` | number
|
|
215
|
-
| `data.quality` | number
|
|
216
|
-
| `data.durability` | number
|
|
217
|
-
| `data.
|
|
218
|
-
| `data.
|
|
219
|
-
| `data.
|
|
279
|
+
| Field | Shape | Meaning |
|
|
280
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
281
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
282
|
+
| `data.weight` | number | What the thing weighs. |
|
|
283
|
+
| `data.value` | number | What the thing is worth. |
|
|
284
|
+
| `data.quality` | number | How well it is made. |
|
|
285
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
286
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
287
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
288
|
+
| `data.quantity` | number | How many of the thing there are; one when unstated. |
|
|
289
|
+
| `data.potency` | string | Potency — `na`, `mild`, `strong` or `great`. |
|
|
290
|
+
| `data.strength` | number | Strength; the higher, the stronger. |
|
|
220
291
|
|
|
221
292
|
**System mappings**
|
|
222
293
|
|
|
@@ -232,14 +303,16 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
232
303
|
|
|
233
304
|
**Subtypes:** None.
|
|
234
305
|
|
|
235
|
-
| Field | Shape
|
|
236
|
-
| ----------------------- |
|
|
237
|
-
| `data.templatePriority` | number
|
|
238
|
-
| `data.weight` | number
|
|
239
|
-
| `data.value` | number
|
|
240
|
-
| `data.quality` | number
|
|
241
|
-
| `data.durability` | number
|
|
242
|
-
| `data.
|
|
306
|
+
| Field | Shape | Meaning |
|
|
307
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
308
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
309
|
+
| `data.weight` | number | What the thing weighs. |
|
|
310
|
+
| `data.value` | number | What the thing is worth. |
|
|
311
|
+
| `data.quality` | number | How well it is made. |
|
|
312
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
313
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
314
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
315
|
+
| `data.capacity` | number | How much it holds. |
|
|
243
316
|
|
|
244
317
|
**System mappings**
|
|
245
318
|
|
|
@@ -257,14 +330,16 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
257
330
|
|
|
258
331
|
**Subtypes:** None.
|
|
259
332
|
|
|
260
|
-
| Field | Shape
|
|
261
|
-
| ----------------------- |
|
|
262
|
-
| `data.templatePriority` | number
|
|
263
|
-
| `data.weight` | number
|
|
264
|
-
| `data.value` | number
|
|
265
|
-
| `data.quality` | number
|
|
266
|
-
| `data.durability` | number
|
|
267
|
-
| `data.
|
|
333
|
+
| Field | Shape | Meaning |
|
|
334
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
335
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
336
|
+
| `data.weight` | number | What the thing weighs. |
|
|
337
|
+
| `data.value` | number | What the thing is worth. |
|
|
338
|
+
| `data.quality` | number | How well it is made. |
|
|
339
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
340
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
341
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
342
|
+
| `data.quantity` | number | How many of the thing there are; one when unstated. |
|
|
268
343
|
|
|
269
344
|
**System mappings**
|
|
270
345
|
|
|
@@ -327,14 +402,16 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
327
402
|
|
|
328
403
|
**Subtypes:** `none`, `arrow`, `bolt`, `bullet`, `dart`, `other`.
|
|
329
404
|
|
|
330
|
-
| Field | Shape
|
|
331
|
-
| ----------------------- |
|
|
332
|
-
| `data.templatePriority` | number
|
|
333
|
-
| `data.weight` | number
|
|
334
|
-
| `data.value` | number
|
|
335
|
-
| `data.quality` | number
|
|
336
|
-
| `data.durability` | number
|
|
337
|
-
| `data.
|
|
405
|
+
| Field | Shape | Meaning |
|
|
406
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
407
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
408
|
+
| `data.weight` | number | What the thing weighs. |
|
|
409
|
+
| `data.value` | number | What the thing is worth. |
|
|
410
|
+
| `data.quality` | number | How well it is made. |
|
|
411
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
412
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
413
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
414
|
+
| `data.quantity` | number | How many of the thing there are; one when unstated. |
|
|
338
415
|
|
|
339
416
|
**System mappings**
|
|
340
417
|
|
|
@@ -396,13 +473,15 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
396
473
|
|
|
397
474
|
**Subtypes:** None.
|
|
398
475
|
|
|
399
|
-
| Field | Shape
|
|
400
|
-
| ----------------------- |
|
|
401
|
-
| `data.templatePriority` | number
|
|
402
|
-
| `data.weight` | number
|
|
403
|
-
| `data.value` | number
|
|
404
|
-
| `data.quality` | number
|
|
405
|
-
| `data.durability` | number
|
|
476
|
+
| Field | Shape | Meaning |
|
|
477
|
+
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
478
|
+
| `data.templatePriority` | number | Template priority; unset means the note is not a template. |
|
|
479
|
+
| `data.weight` | number | What the thing weighs. |
|
|
480
|
+
| `data.value` | number | What the thing is worth. |
|
|
481
|
+
| `data.quality` | number | How well it is made. |
|
|
482
|
+
| `data.durability` | number | How much wear it takes before it fails. |
|
|
483
|
+
| `data.made` | an Address of one event | The event in which the thing was made — `lore-forging`, or one event of a note as `place-ironfells#raising`. |
|
|
484
|
+
| `data.lost` | an Address of one event | The event in which the thing was lost — `lore-flood`, or one event of a note as `place-ironfells#sack`. |
|
|
406
485
|
|
|
407
486
|
**System mappings**
|
|
408
487
|
|
|
@@ -417,7 +496,7 @@ These fields are accepted by every note type. A field's value can still be irrel
|
|
|
417
496
|
|
|
418
497
|
### lore
|
|
419
498
|
|
|
420
|
-
**Subtypes:** `cosmology`, `deity`, `theology`, `arcana`, `spirit`, `economy`, `law`, `calendar`, `history`, `material`, `folk`, `culture`, `custom`, `bestiary`, `gathering`.
|
|
499
|
+
**Subtypes:** `cosmology`, `deity`, `theology`, `arcana`, `spirit`, `economy`, `law`, `calendar`, `history`, `material`, `folk`, `culture`, `custom`, `bestiary`, `gathering`, `literature`.
|
|
421
500
|
|
|
422
501
|
Lore records in-world knowledge. A `culture` describes a people; a `custom` describes how they practice a rite, observance, or usage. A `material` describes a physical constituent and its qualities, which may vary by region. See the [lore subtype definitions](format-details.md#type-lore) for the complete vocabulary.
|
|
423
502
|
|
|
@@ -430,32 +509,92 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
430
509
|
| `data.namedDays` | list of `{ name, abbreviation?, day }` | Names assigned to particular days of the year. |
|
|
431
510
|
| `data.eras` | list of `{ shortcode, name, marker?, abbreviation?, proclaimedBy?, start, label? }` | The year-counts kept in this calendar. A marker names one era and uses these months. |
|
|
432
511
|
| `data.formats` | map of named Calendaria format strings | Named patterns for reading and writing this calendar's dates. |
|
|
433
|
-
| `data.
|
|
512
|
+
| `data.culture` | an Address | The people whose work this is, as a culture lore note. |
|
|
513
|
+
| `data.form` | string | The kind of work in its people's own terms — an epic, a saga, a praise-song, an elegy. Free text. |
|
|
514
|
+
| `data.subjects` | list of Addresses | The beings, places, gods and other notes the work concerns, and each event it concerns, named as `place-ironfells#sack`. |
|
|
515
|
+
| `data.language` | an Address | The tongue the work is composed in, as a language skill note. |
|
|
516
|
+
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
517
|
+
|
|
518
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
519
|
+
|
|
520
|
+
| Key | Shape | Required | Meaning |
|
|
521
|
+
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------- |
|
|
522
|
+
| `data.months[].name` | a string | yes | What it is called. |
|
|
523
|
+
| `data.months[].abbreviation` | a string | no | Its short form, for a compact date. |
|
|
524
|
+
| `data.months[].days` | a whole number of days | yes | How many days the month holds. |
|
|
525
|
+
| `data.weekdays[].name` | a string | yes | What it is called. |
|
|
526
|
+
| `data.weekdays[].abbreviation` | a string | no | Its short form, for a compact date. |
|
|
527
|
+
| `data.seasons[].name` | a string | yes | What it is called. |
|
|
528
|
+
| `data.seasons[].abbreviation` | a string | no | Its short form, for a compact date. |
|
|
529
|
+
| `data.seasons[].start` | a one-based day of the year, as a whole number | yes | The day of the year the season begins. |
|
|
530
|
+
| `data.namedDays[].name` | a string | yes | What it is called. |
|
|
531
|
+
| `data.namedDays[].abbreviation` | a string | no | Its short form, for a compact date. |
|
|
532
|
+
| `data.namedDays[].day` | a one-based day of the year, as a whole number | yes | The day of the year it names. |
|
|
533
|
+
| `data.eras[].shortcode` | the era's own shortcode, unique within the calendar — an era is addressed `<calendar shortcode>.<era shortcode>` | yes | The era's own segment of `<calendar>.<era>`. |
|
|
534
|
+
| `data.eras[].name` | a string | yes | What it is called. |
|
|
535
|
+
| `data.eras[].marker` | uppercase letters and digits, beginning with a letter | no | The marker an authored date names the era by, unique across the corpus. |
|
|
536
|
+
| `data.eras[].abbreviation` | a string | no | Its short form, for a compact date. |
|
|
537
|
+
| `data.eras[].proclaimedBy` | an Address | no | The body that began the reckoning. |
|
|
538
|
+
| `data.eras[].start` | `null`, or the calendar year the era begins, as a whole number | yes | The calendar year the era begins; `null` for the era before year 1. |
|
|
539
|
+
| `data.eras[].label` | a string, or an `{ after, before }` map | no | How a date in the era reads, around one `{date}` slot. |
|
|
540
|
+
| `data.eras[].label.after` | a string with one `{date}` slot | no | How a date in the era reads. |
|
|
541
|
+
| `data.eras[].label.before` | a string with one `{date}` slot | no | How a date before the era's start reads. |
|
|
542
|
+
| `data.events[].id` | an address segment | no | The event's name within its note — lowercase letters and digits. |
|
|
543
|
+
| `data.events[].kind` | one `eventKind` value | no | What sort of thing happened. |
|
|
544
|
+
| `data.events[].depth` | one `depth` value | no | How far the event's history reaches. |
|
|
545
|
+
| `data.events[].when` | a date, or `"0.<day>"` | yes | When it happened, or the anchor and first instance of an event that recurs. |
|
|
546
|
+
| `data.events[].until` | a date | no | When a continuous event ended, or where a recurring series stopped. |
|
|
547
|
+
| `data.events[].recurs` | `{ every }` or `{ on }` | no | How further occurrences are found; absent for an event that happened once. |
|
|
548
|
+
| `data.events[].recurs.every` | a whole number of years, 1 or more | no | A period counted on the canonical axis from `when`. |
|
|
549
|
+
| `data.events[].recurs.on` | a list of dates, strictly increasing, each later than `when` | no | Recorded occurrences beyond the first, in place of a period. |
|
|
550
|
+
| `data.events[].summary` | a string | yes | What happened, stated plainly. |
|
|
551
|
+
| `data.events[].standing` | one `standing` value | no | What the world's evidence supports. |
|
|
552
|
+
| `data.events[].names` | `{ name, by, gloss? }[]` | no | The event's names in the world, each with who uses it. |
|
|
553
|
+
| `data.events[].names[].name` | a string | yes | One name the event goes by in the world. |
|
|
554
|
+
| `data.events[].names[].by` | an Address naming an `affiliation`, `lore`, `place`, `being` or `skill` note | yes | Who uses that name — a people, a polity, a faith, a place, a tongue. |
|
|
555
|
+
| `data.events[].names[].gloss` | a string | no | What the name means, or how it is used. |
|
|
556
|
+
| `data.events[].where` | `{ locus?, reach? }` | no | Where it happened, and where it was felt. |
|
|
557
|
+
| `data.events[].where.locus` | a list of Addresses, each defaulting to `place` | no | Where the event physically happened; each resolves to a place. |
|
|
558
|
+
| `data.events[].where.reach` | `{ place, how, knowledge, attributedTo? }[]` | no | Where the event was felt, and whether each place knows why. |
|
|
559
|
+
| `data.events[].where.reach[].place` | an Address, defaulting to `place` | yes | A place where the event was felt. |
|
|
560
|
+
| `data.events[].where.reach[].how` | a string | yes | One clause: a consequence someone in that place could notice. |
|
|
561
|
+
| `data.events[].where.reach[].knowledge` | one `knowledge` value | yes | Whether that place connects what it felt to this event. |
|
|
562
|
+
| `data.events[].where.reach[].attributedTo` | an Address, defaulting to `lore`, naming an event or a `lore` note | no | Only beside `knowledge: misattributed` — the cause that place names instead. |
|
|
563
|
+
| `data.events[].who` | `{ ref, role }[]` | no | Who took part, and as what. |
|
|
564
|
+
| `data.events[].who[].ref` | an Address naming a `being`, `affiliation` or `lore` note | yes | A participant — a being, a people, an affiliation. |
|
|
565
|
+
| `data.events[].who[].role` | one `role` value | yes | What the participant was to the event. |
|
|
566
|
+
| `data.events[].follows` | `{ event, how, note? }[]` | no | The earlier events this one follows from. |
|
|
567
|
+
| `data.events[].follows[].event` | an Address, defaulting to `lore`, anchored to an `event` where its note holds several | yes | The earlier event; it resolves to exactly one event. |
|
|
568
|
+
| `data.events[].follows[].how` | one `followsHow` value | yes | How this event follows from it. |
|
|
569
|
+
| `data.events[].follows[].note` | a string | no | One clause saying what connects the two. |
|
|
570
|
+
| `data.events[].accounts` | `{ by, says, agrees, withholds? }[]` | no | What each people, polity, faith or place says about it. |
|
|
571
|
+
| `data.events[].accounts[].by` | an Address naming an `affiliation`, `lore`, `place` or `being` note | yes | Who holds the account. |
|
|
572
|
+
| `data.events[].accounts[].says` | a string | yes | What they say happened, in their terms. |
|
|
573
|
+
| `data.events[].accounts[].agrees` | one `agrees` value | yes | How far their account agrees with `summary`. |
|
|
574
|
+
| `data.events[].accounts[].withholds` | a string | no | What they decline to say. |
|
|
575
|
+
| `data.events[].unresolved` | a list of strings | no | What the world itself has not settled. |
|
|
576
|
+
| `data.events[].sources` | a list of Addresses | no | The notes that state or support the event; each resolves. |
|
|
577
|
+
| `data.events[].stated` | `{ calendar, text }` | no | The date as one tradition writes it in its own reckoning. |
|
|
578
|
+
| `data.events[].stated.calendar` | an Address, or a lore shortcode | yes | The calendar that tradition reckons in — a `lore` note with `subType: calendar`. |
|
|
579
|
+
| `data.events[].stated.text` | a string | yes | The date as that tradition writes it. |
|
|
434
580
|
|
|
435
581
|
### map
|
|
436
582
|
|
|
437
583
|
**Subtypes:** `battlemap`, `localmap`, `regionalmap`, `totm`.
|
|
438
584
|
|
|
439
|
-
| Field
|
|
440
|
-
|
|
|
441
|
-
| `data.scene`
|
|
442
|
-
| `data.fixup`
|
|
443
|
-
| `data.
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
|
448
|
-
|
|
|
449
|
-
| `data.
|
|
450
|
-
| `data.
|
|
451
|
-
| `data.
|
|
452
|
-
| `data.doors` | as authored | Doors. |
|
|
453
|
-
| `data.lights` | as authored | Light sources. |
|
|
454
|
-
| `data.tiles` | as authored | Tiles. |
|
|
455
|
-
| `data.sounds` | as authored | Ambient sounds. |
|
|
456
|
-
| `data.regions` | as authored | Regions and their behaviours. |
|
|
457
|
-
| `data.notes` | as authored | Map pins, each a grid location and an anchor in this note's own body. |
|
|
458
|
-
| `data.place` | an Address | The place this map depicts. Named here and not on the place, because a place has several maps and a map depicts one place. |
|
|
585
|
+
| Field | Shape | Meaning |
|
|
586
|
+
| ------------ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
587
|
+
| `data.scene` | an object — a Foundry Scene document as exported | The Foundry Scene as exported, passed through unchanged apart from `data.fixup` and its pins marked `#anchor`. Nothing inside it is checked; the book prints its levels' background images. |
|
|
588
|
+
| `data.fixup` | list of `{ path, type, value }` | Asset address replacements in an exported Scene. |
|
|
589
|
+
| `data.place` | an Address | The place this map depicts. Named here and not on the place, because a place has several maps and a map depicts one place. |
|
|
590
|
+
|
|
591
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
592
|
+
|
|
593
|
+
| Key | Shape | Required | Meaning |
|
|
594
|
+
| -------------------- | --------------------------------- | -------- | ------------------------------------------------------- |
|
|
595
|
+
| `data.fixup[].path` | a property path into `data.scene` | yes | The exported field to replace, from `data.scene`. |
|
|
596
|
+
| `data.fixup[].type` | `address` | yes | What `value` is: `address`. |
|
|
597
|
+
| `data.fixup[].value` | an asset Address | yes | The asset Address whose path replaces the exported one. |
|
|
459
598
|
|
|
460
599
|
### place
|
|
461
600
|
|
|
@@ -463,6 +602,7 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
463
602
|
|
|
464
603
|
| Field | Shape | Meaning |
|
|
465
604
|
| -------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
605
|
+
| `data.events` | list of event entries | What happened to or at this subject — each entry one dated, attributed event: a founding, a war, a fall, or an occasion that recurs. |
|
|
466
606
|
| `data.calendar` | an Address | Calendar used to display this place's dates. |
|
|
467
607
|
| `data.demonym` | string | What a person from this place is called — a Vylarian. |
|
|
468
608
|
| `data.purpose` | string | The reason this settlement, site, or structure exists, selected from its placeCharacter tags. |
|
|
@@ -489,6 +629,57 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
489
629
|
| `data.moon.newOn` | a day-precision date | A day the body was new, written in the reference calendar. |
|
|
490
630
|
| `data.moon.eclipses` | string | How often the body eclipses or is eclipsed — `never`, `rare`, `occasional` or `frequent`. |
|
|
491
631
|
|
|
632
|
+
**Inner keys** — a key a field's value does not declare is an error at its own line and column.
|
|
633
|
+
|
|
634
|
+
| Key | Shape | Required | Meaning |
|
|
635
|
+
| ------------------------------------------ | ------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------- |
|
|
636
|
+
| `data.events[].id` | an address segment | no | The event's name within its note — lowercase letters and digits. |
|
|
637
|
+
| `data.events[].kind` | one `eventKind` value | no | What sort of thing happened. |
|
|
638
|
+
| `data.events[].depth` | one `depth` value | no | How far the event's history reaches. |
|
|
639
|
+
| `data.events[].when` | a date, or `"0.<day>"` | yes | When it happened, or the anchor and first instance of an event that recurs. |
|
|
640
|
+
| `data.events[].until` | a date | no | When a continuous event ended, or where a recurring series stopped. |
|
|
641
|
+
| `data.events[].recurs` | `{ every }` or `{ on }` | no | How further occurrences are found; absent for an event that happened once. |
|
|
642
|
+
| `data.events[].recurs.every` | a whole number of years, 1 or more | no | A period counted on the canonical axis from `when`. |
|
|
643
|
+
| `data.events[].recurs.on` | a list of dates, strictly increasing, each later than `when` | no | Recorded occurrences beyond the first, in place of a period. |
|
|
644
|
+
| `data.events[].summary` | a string | yes | What happened, stated plainly. |
|
|
645
|
+
| `data.events[].standing` | one `standing` value | no | What the world's evidence supports. |
|
|
646
|
+
| `data.events[].names` | `{ name, by, gloss? }[]` | no | The event's names in the world, each with who uses it. |
|
|
647
|
+
| `data.events[].names[].name` | a string | yes | One name the event goes by in the world. |
|
|
648
|
+
| `data.events[].names[].by` | an Address naming an `affiliation`, `lore`, `place`, `being` or `skill` note | yes | Who uses that name — a people, a polity, a faith, a place, a tongue. |
|
|
649
|
+
| `data.events[].names[].gloss` | a string | no | What the name means, or how it is used. |
|
|
650
|
+
| `data.events[].where` | `{ locus?, reach? }` | no | Where it happened, and where it was felt. |
|
|
651
|
+
| `data.events[].where.locus` | a list of Addresses, each defaulting to `place` | no | Where the event physically happened; each resolves to a place. |
|
|
652
|
+
| `data.events[].where.reach` | `{ place, how, knowledge, attributedTo? }[]` | no | Where the event was felt, and whether each place knows why. |
|
|
653
|
+
| `data.events[].where.reach[].place` | an Address, defaulting to `place` | yes | A place where the event was felt. |
|
|
654
|
+
| `data.events[].where.reach[].how` | a string | yes | One clause: a consequence someone in that place could notice. |
|
|
655
|
+
| `data.events[].where.reach[].knowledge` | one `knowledge` value | yes | Whether that place connects what it felt to this event. |
|
|
656
|
+
| `data.events[].where.reach[].attributedTo` | an Address, defaulting to `lore`, naming an event or a `lore` note | no | Only beside `knowledge: misattributed` — the cause that place names instead. |
|
|
657
|
+
| `data.events[].who` | `{ ref, role }[]` | no | Who took part, and as what. |
|
|
658
|
+
| `data.events[].who[].ref` | an Address naming a `being`, `affiliation` or `lore` note | yes | A participant — a being, a people, an affiliation. |
|
|
659
|
+
| `data.events[].who[].role` | one `role` value | yes | What the participant was to the event. |
|
|
660
|
+
| `data.events[].follows` | `{ event, how, note? }[]` | no | The earlier events this one follows from. |
|
|
661
|
+
| `data.events[].follows[].event` | an Address, defaulting to `lore`, anchored to an `event` where its note holds several | yes | The earlier event; it resolves to exactly one event. |
|
|
662
|
+
| `data.events[].follows[].how` | one `followsHow` value | yes | How this event follows from it. |
|
|
663
|
+
| `data.events[].follows[].note` | a string | no | One clause saying what connects the two. |
|
|
664
|
+
| `data.events[].accounts` | `{ by, says, agrees, withholds? }[]` | no | What each people, polity, faith or place says about it. |
|
|
665
|
+
| `data.events[].accounts[].by` | an Address naming an `affiliation`, `lore`, `place` or `being` note | yes | Who holds the account. |
|
|
666
|
+
| `data.events[].accounts[].says` | a string | yes | What they say happened, in their terms. |
|
|
667
|
+
| `data.events[].accounts[].agrees` | one `agrees` value | yes | How far their account agrees with `summary`. |
|
|
668
|
+
| `data.events[].accounts[].withholds` | a string | no | What they decline to say. |
|
|
669
|
+
| `data.events[].unresolved` | a list of strings | no | What the world itself has not settled. |
|
|
670
|
+
| `data.events[].sources` | a list of Addresses | no | The notes that state or support the event; each resolves. |
|
|
671
|
+
| `data.events[].stated` | `{ calendar, text }` | no | The date as one tradition writes it in its own reckoning. |
|
|
672
|
+
| `data.events[].stated.calendar` | an Address, or a lore shortcode | yes | The calendar that tradition reckons in — a `lore` note with `subType: calendar`. |
|
|
673
|
+
| `data.events[].stated.text` | a string | yes | The date as that tradition writes it. |
|
|
674
|
+
| `data.borders[].to` | the other place — its shortcode, or its Address | yes | The other place, by Address; the type defaults to `place`. |
|
|
675
|
+
| `data.borders[].bearing` | one of N, NE, E, SE, S, SW, W, NW | yes | Where the other place lies from here. |
|
|
676
|
+
| `data.routes[].to` | the other place — its shortcode, or its Address | yes | The other place, by Address; the type defaults to `place`. |
|
|
677
|
+
| `data.routes[].bearing` | one of N, NE, E, SE, S, SW, W, NW | yes | Where the other place lies from here. |
|
|
678
|
+
| `data.routes[].mode` | one of land, boat, ship | yes | How the journey is travelled. |
|
|
679
|
+
| `data.routes[].days` | one of 1, 2, 3, 5, 10, 20, 30, 45, 60, 90, 180, 360 | yes | About how many days the journey takes, under normal conditions. |
|
|
680
|
+
| `data.routes[].terrain` | a list of terrains in travel order | no | The terrains crossed, in travel order, each crossable by the mode. |
|
|
681
|
+
| `data.routes[].leagues` | a distance in leagues | no | The distance, in leagues. |
|
|
682
|
+
|
|
492
683
|
### scenario
|
|
493
684
|
|
|
494
685
|
**Subtypes:** `campaign`, `adventure`, `encounter`.
|
|
@@ -502,7 +693,7 @@ Lore records in-world knowledge. A `culture` describes a people; a `custom` desc
|
|
|
502
693
|
| `data.follows` | list of Addresses | Scenarios that should be played before this one. |
|
|
503
694
|
| `data.status` | string | `draft`, `playtested` or `published`. |
|
|
504
695
|
| `data.party.size` | string | `solo`, `small`, `standard`, `large` or `host`. |
|
|
505
|
-
| `data.party.archetypes` | list
|
|
696
|
+
| `data.party.archetypes` | list of strings | Archetypes the scenario is written for. |
|
|
506
697
|
|
|
507
698
|
### doc
|
|
508
699
|
|