@patterkit/model 0.16.0 → 0.17.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/dist/index.d.cts CHANGED
@@ -667,8 +667,9 @@ interface ProjectFile {
667
667
  * The Patter extensions this project takes, by id (ruled 2026-10-18: the project opts in), each pinned to a
668
668
  * version, with its settings (the host fields its claims present, by setting name). The manifest itself
669
669
  * sits in `extensions/<id>.extension.json`, and the data in `.patterextension` shards. Authoring config:
670
- * the bundle carries each one's compiled declarations and values, never this block. An extension named
671
- * here whose manifest is missing is a warning, and its data is left untouched.
670
+ * the bundle carries each one's compiled declarations, values, and resolved settings
671
+ * (`BundleExtension.settings`), never this block itself. An extension named here whose manifest is missing
672
+ * is a warning, and its data is left untouched.
672
673
  */
673
674
  extensions?: Record<string, ProjectExtension>;
674
675
  /** Ordered writing-status ladder (not-done -> done); default `DEFAULT_WRITING_STATUSES`. */
@@ -1072,9 +1073,9 @@ interface Bundle {
1072
1073
  gameDataFields?: GameDataFields;
1073
1074
  /**
1074
1075
  * The extensions the project takes, by id: each one's version and its compiled declarations by node kind,
1075
- * every default resolved (what `extensionDecls` reads), and the project node's own values. A node's values
1076
- * sit on the node, under `extensions`. Absent when the project takes none, so a bundle without them is
1077
- * byte for byte what it was.
1076
+ * every default resolved (what `extensionDecls` reads), the project node's own values, and its settings,
1077
+ * resolved (what `extensionSettings` reads). A node's values sit on the node, under `extensions`. Absent
1078
+ * when the project takes none, so a bundle without them is byte for byte what it was.
1078
1079
  */
1079
1080
  extensions?: Record<string, BundleExtension>;
1080
1081
  scenes: Record<string, CompiledScene>;
@@ -1325,6 +1326,13 @@ interface BundleExtension {
1325
1326
  fields: Record<string, ExtensionFieldDecl[]>;
1326
1327
  /** The project node's values, raw, when it has any. */
1327
1328
  project?: Record<string, unknown>;
1329
+ /**
1330
+ * Every setting the manifest declares, by setting name, keys sorted: the project's value (`ProjectExtension.
1331
+ * settings`), or else the setting's default (`@wildwinter/toolkit/extensions`' `settingValues`). A setting
1332
+ * names a host field, so a game reads here which gameData field holds what the extension claims. Present
1333
+ * only when the manifest declares settings.
1334
+ */
1335
+ settings?: Record<string, string>;
1328
1336
  }
1329
1337
  /**
1330
1338
  * A compiled extension field declaration (`@wildwinter/toolkit/extensions`' FieldDecl, less the editor's
package/dist/index.d.ts CHANGED
@@ -667,8 +667,9 @@ interface ProjectFile {
667
667
  * The Patter extensions this project takes, by id (ruled 2026-10-18: the project opts in), each pinned to a
668
668
  * version, with its settings (the host fields its claims present, by setting name). The manifest itself
669
669
  * sits in `extensions/<id>.extension.json`, and the data in `.patterextension` shards. Authoring config:
670
- * the bundle carries each one's compiled declarations and values, never this block. An extension named
671
- * here whose manifest is missing is a warning, and its data is left untouched.
670
+ * the bundle carries each one's compiled declarations, values, and resolved settings
671
+ * (`BundleExtension.settings`), never this block itself. An extension named here whose manifest is missing
672
+ * is a warning, and its data is left untouched.
672
673
  */
673
674
  extensions?: Record<string, ProjectExtension>;
674
675
  /** Ordered writing-status ladder (not-done -> done); default `DEFAULT_WRITING_STATUSES`. */
@@ -1072,9 +1073,9 @@ interface Bundle {
1072
1073
  gameDataFields?: GameDataFields;
1073
1074
  /**
1074
1075
  * The extensions the project takes, by id: each one's version and its compiled declarations by node kind,
1075
- * every default resolved (what `extensionDecls` reads), and the project node's own values. A node's values
1076
- * sit on the node, under `extensions`. Absent when the project takes none, so a bundle without them is
1077
- * byte for byte what it was.
1076
+ * every default resolved (what `extensionDecls` reads), the project node's own values, and its settings,
1077
+ * resolved (what `extensionSettings` reads). A node's values sit on the node, under `extensions`. Absent
1078
+ * when the project takes none, so a bundle without them is byte for byte what it was.
1078
1079
  */
1079
1080
  extensions?: Record<string, BundleExtension>;
1080
1081
  scenes: Record<string, CompiledScene>;
@@ -1325,6 +1326,13 @@ interface BundleExtension {
1325
1326
  fields: Record<string, ExtensionFieldDecl[]>;
1326
1327
  /** The project node's values, raw, when it has any. */
1327
1328
  project?: Record<string, unknown>;
1329
+ /**
1330
+ * Every setting the manifest declares, by setting name, keys sorted: the project's value (`ProjectExtension.
1331
+ * settings`), or else the setting's default (`@wildwinter/toolkit/extensions`' `settingValues`). A setting
1332
+ * names a host field, so a game reads here which gameData field holds what the extension claims. Present
1333
+ * only when the manifest declares settings.
1334
+ */
1335
+ settings?: Record<string, string>;
1328
1336
  }
1329
1337
  /**
1330
1338
  * A compiled extension field declaration (`@wildwinter/toolkit/extensions`' FieldDecl, less the editor's
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patterkit/model",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Patter data-model types: source (scene/block/group/snippet/beat/jump), project, locale, authoring. The shape source-of-truth.",
5
5
  "type": "module",
6
6
  "license": "MIT",