@heroiclands/package-build 22.14.1 → 22.14.2

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @heroiclands/package-build
2
2
 
3
+ ## 22.14.2
4
+
5
+ ### Patch Changes
6
+
7
+ Lore notes can carry structured event metadata for chronologies.
8
+
3
9
  ## 22.14.1
4
10
 
5
11
  ### Patch Changes
@@ -3453,6 +3453,13 @@ In-world information about people, places, or concepts.
3453
3453
  | `weekdays` | `{ name, abbreviation? }[]` | The days of the week it names, in order; a calendar with no week writes none |
3454
3454
  | `seasons` | `{ name, abbreviation?, monthStart?, monthEnd?, dayStart?, dayEnd? }[]` | The seasons it marks, bounded by month or by day of year |
3455
3455
  | `eras` | `{ shortcode, name, abbreviation?, proclaimedBy?, start, end? }[]` | The year-counts kept in it, each addressed `<calendar shortcode>.<era shortcode>` |
3456
+ | `event` | `Map<field, value>` | A dated occurrence, with its sources, locations, reach, and relationships |
3457
+
3458
+ `data.event` is available on every `lore` subType. It holds structured
3459
+ chronology metadata, including the event's kind, date, sources, and the places
3460
+ it affects. The shared format checks that it is a map; a content package may
3461
+ check the details and relationships within that map. It is metadata for
3462
+ chronology tools and does not appear as an infobox row.
3456
3463
 
3457
3464
  #### What a calendar note declares
3458
3465
 
@@ -274,6 +274,7 @@ export const NOTE_FIELD_PRESENTATION = Object.freeze({
274
274
  bgImage: Object.freeze({ withheld: "an image, which the box never carries" }),
275
275
  banner: Object.freeze({ withheld: "an image, which the box never carries" }),
276
276
  overlay: Object.freeze({ withheld: "an image, which the box never carries" }),
277
+ "lore.event": Object.freeze({ withheld: "chronology machinery, not a summary row" }),
277
278
 
278
279
  assocSkill: Object.freeze({ label: "Skill" }),
279
280
  assocAffiliation: Object.freeze({ label: "Affiliation" }),
@@ -1189,7 +1189,15 @@ export const NOTE_VOCABULARY = Object.freeze({
1189
1189
  // because `DataFieldSpec` declares the keys a type accepts and not the
1190
1190
  // subType that may write them.
1191
1191
  check: checkCalendarNote,
1192
- data: CALENDAR_FIELDS,
1192
+ data: Object.freeze([
1193
+ ...CALENDAR_FIELDS,
1194
+ {
1195
+ name: "event",
1196
+ kind: "map",
1197
+ shape: "event metadata map",
1198
+ describe: "A dated occurrence and its relationships to other events and places.",
1199
+ },
1200
+ ]),
1193
1201
  }),
1194
1202
 
1195
1203
  place: Object.freeze({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heroiclands/package-build",
3
- "version": "22.14.1",
3
+ "version": "22.14.2",
4
4
  "description": "Shared toolchain for building and shipping a HeroicLands Foundry VTT package — content compilation, manifest, localization, staging, bundle, release and deployment.",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "type": "module",