@patterkit/compiler 0.1.2 → 0.2.1

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.cjs CHANGED
@@ -345,8 +345,17 @@ function exportBundle(input) {
345
345
  },
346
346
  voiced: project.voiced ?? false,
347
347
  locales: { default: project.locales.default, included: Object.keys(strings) },
348
- cast: project.cast?.map(({ notes, ...c }) => c),
349
- // strip authoring-only notes from the runtime
348
+ // The cast is copied field by field, on purpose. Most of a CastMember is authoring context that must
349
+ // never reach players: `notes` are production chatter, `gender` is translator context (it rides the
350
+ // localisation formats), and `actor` is a real person's name (it belongs in the VO script). Listing
351
+ // what ships, rather than subtracting what doesn't, means a field added to CastMember tomorrow stays
352
+ // out of the bundle until someone deliberately adds it here.
353
+ cast: project.cast?.map((c) => {
354
+ const m = { name: c.name };
355
+ if (c.displayName !== void 0) m.displayName = c.displayName;
356
+ if (c.gameData !== void 0) m.gameData = c.gameData;
357
+ return m;
358
+ }),
350
359
  properties: project.properties,
351
360
  scopeRegistry: project.scopeRegistry,
352
361
  gameDataFields: project.gameDataFields,
package/dist/index.js CHANGED
@@ -315,8 +315,17 @@ function exportBundle(input) {
315
315
  },
316
316
  voiced: project.voiced ?? false,
317
317
  locales: { default: project.locales.default, included: Object.keys(strings) },
318
- cast: project.cast?.map(({ notes, ...c }) => c),
319
- // strip authoring-only notes from the runtime
318
+ // The cast is copied field by field, on purpose. Most of a CastMember is authoring context that must
319
+ // never reach players: `notes` are production chatter, `gender` is translator context (it rides the
320
+ // localisation formats), and `actor` is a real person's name (it belongs in the VO script). Listing
321
+ // what ships, rather than subtracting what doesn't, means a field added to CastMember tomorrow stays
322
+ // out of the bundle until someone deliberately adds it here.
323
+ cast: project.cast?.map((c) => {
324
+ const m = { name: c.name };
325
+ if (c.displayName !== void 0) m.displayName = c.displayName;
326
+ if (c.gameData !== void 0) m.gameData = c.gameData;
327
+ return m;
328
+ }),
320
329
  properties: project.properties,
321
330
  scopeRegistry: project.scopeRegistry,
322
331
  gameDataFields: project.gameDataFields,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patterkit/compiler",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Patter compiler: compile condition/effect expressions, validate them, and export source to the runtime bundle.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -34,9 +34,9 @@
34
34
  "build": "tsup src/index.ts --format esm,cjs --dts --clean"
35
35
  },
36
36
  "dependencies": {
37
- "@patterkit/model": "0.1.2",
38
- "@patterkit/core": "0.1.2",
39
- "@patterkit/dialect": "0.1.2",
37
+ "@patterkit/model": "0.2.0",
38
+ "@patterkit/core": "0.1.4",
39
+ "@patterkit/dialect": "0.1.3",
40
40
  "@wildwinter/expr": "^0.3.0",
41
41
  "@wildwinter/scoperegistry": "^0.1.0"
42
42
  }