@patterkit/core 0.12.2 → 0.13.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
@@ -627,9 +627,9 @@ function validateProjectFile(project, issues) {
627
627
  if (pad !== void 0 && (typeof pad !== "number" || !Number.isFinite(pad) || pad < import_model.PAD_AFTER_MIN || pad > import_model.PAD_AFTER_MAX)) {
628
628
  issues.push({ code: "invalid-pad", message: `the project default pause '${String(pad)}' must be a number of seconds from ${import_model.PAD_AFTER_MIN} to ${import_model.PAD_AFTER_MAX}` });
629
629
  }
630
- const rate = project.estimateSyllablesPerSecond;
631
- if (rate !== void 0 && (typeof rate !== "number" || !Number.isFinite(rate) || rate < import_model.ESTIMATE_SYLLABLES_PER_SECOND_MIN || rate > import_model.ESTIMATE_SYLLABLES_PER_SECOND_MAX)) {
632
- issues.push({ code: "invalid-estimate-rate", message: `the timing for lines without audio '${String(rate)}' must be a number of syllables a second from ${import_model.ESTIMATE_SYLLABLES_PER_SECOND_MIN} to ${import_model.ESTIMATE_SYLLABLES_PER_SECOND_MAX}` });
630
+ const speed = project.estimateSpeed;
631
+ if (speed !== void 0 && (typeof speed !== "number" || !Number.isFinite(speed) || speed < import_model.ESTIMATE_SPEED_MIN || speed > import_model.ESTIMATE_SPEED_MAX)) {
632
+ issues.push({ code: "invalid-estimate-speed", message: `the timing for lines without audio '${String(speed)}' must be a speed from ${import_model.ESTIMATE_SPEED_MIN} to ${import_model.ESTIMATE_SPEED_MAX}` });
633
633
  }
634
634
  const seenQualifiers = /* @__PURE__ */ new Set();
635
635
  const qualifiers = project.qualifiers;
package/dist/index.d.cts CHANGED
@@ -26,7 +26,7 @@ interface StringifyOptions {
26
26
  declare function canonicalStringify(value: unknown, opts?: StringifyOptions): string;
27
27
 
28
28
  interface ValidationIssue {
29
- code: "duplicate-id" | "missing-id" | "malformed-node" | "missing-name" | "empty-scene" | "empty-snippet" | "empty-container" | "dangling-jump" | "jump-into-non-addressable" | "invalid-gameid" | "duplicate-gameid" | "unknown-character" | "unknown-qualifier" | "invalid-qualifier" | "invalid-pad" | "invalid-estimate-rate" | "pad-overlaps-seam" | "prompt-pad-without-beat" | "qualifier-without-speaker" | "invalid-speaker-label" | "unused-speaker-label" | "invalid-temporary" | "invalid-declaration" | "invalid-status-ladder" | "invalid-locales" | "invalid-captions" | "missing-prompt" | "invalid-prompt" | "multiple-fallbacks" | "choice-can-empty" | "choice-ends-dry" | "invalid-status-value" | "unknown-doc-class" | "invalid-tag" | "invalid-gamedata-field" | "invalid-gamedata-value" | "jump-cycle" | "unreachable-after-jump" | "no-start" | "dangling-start";
29
+ code: "duplicate-id" | "missing-id" | "malformed-node" | "missing-name" | "empty-scene" | "empty-snippet" | "empty-container" | "dangling-jump" | "jump-into-non-addressable" | "invalid-gameid" | "duplicate-gameid" | "unknown-character" | "unknown-qualifier" | "invalid-qualifier" | "invalid-pad" | "invalid-estimate-speed" | "pad-overlaps-seam" | "prompt-pad-without-beat" | "qualifier-without-speaker" | "invalid-speaker-label" | "unused-speaker-label" | "invalid-temporary" | "invalid-declaration" | "invalid-status-ladder" | "invalid-locales" | "invalid-captions" | "missing-prompt" | "invalid-prompt" | "multiple-fallbacks" | "choice-can-empty" | "choice-ends-dry" | "invalid-status-value" | "unknown-doc-class" | "invalid-tag" | "invalid-gamedata-field" | "invalid-gamedata-value" | "jump-cycle" | "unreachable-after-jump" | "no-start" | "dangling-start";
30
30
  message: string;
31
31
  /** Id of the offending node/beat, where applicable. */
32
32
  id?: string;
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@ interface StringifyOptions {
26
26
  declare function canonicalStringify(value: unknown, opts?: StringifyOptions): string;
27
27
 
28
28
  interface ValidationIssue {
29
- code: "duplicate-id" | "missing-id" | "malformed-node" | "missing-name" | "empty-scene" | "empty-snippet" | "empty-container" | "dangling-jump" | "jump-into-non-addressable" | "invalid-gameid" | "duplicate-gameid" | "unknown-character" | "unknown-qualifier" | "invalid-qualifier" | "invalid-pad" | "invalid-estimate-rate" | "pad-overlaps-seam" | "prompt-pad-without-beat" | "qualifier-without-speaker" | "invalid-speaker-label" | "unused-speaker-label" | "invalid-temporary" | "invalid-declaration" | "invalid-status-ladder" | "invalid-locales" | "invalid-captions" | "missing-prompt" | "invalid-prompt" | "multiple-fallbacks" | "choice-can-empty" | "choice-ends-dry" | "invalid-status-value" | "unknown-doc-class" | "invalid-tag" | "invalid-gamedata-field" | "invalid-gamedata-value" | "jump-cycle" | "unreachable-after-jump" | "no-start" | "dangling-start";
29
+ code: "duplicate-id" | "missing-id" | "malformed-node" | "missing-name" | "empty-scene" | "empty-snippet" | "empty-container" | "dangling-jump" | "jump-into-non-addressable" | "invalid-gameid" | "duplicate-gameid" | "unknown-character" | "unknown-qualifier" | "invalid-qualifier" | "invalid-pad" | "invalid-estimate-speed" | "pad-overlaps-seam" | "prompt-pad-without-beat" | "qualifier-without-speaker" | "invalid-speaker-label" | "unused-speaker-label" | "invalid-temporary" | "invalid-declaration" | "invalid-status-ladder" | "invalid-locales" | "invalid-captions" | "missing-prompt" | "invalid-prompt" | "multiple-fallbacks" | "choice-can-empty" | "choice-ends-dry" | "invalid-status-value" | "unknown-doc-class" | "invalid-tag" | "invalid-gamedata-field" | "invalid-gamedata-value" | "jump-cycle" | "unreachable-after-jump" | "no-start" | "dangling-start";
30
30
  message: string;
31
31
  /** Id of the offending node/beat, where applicable. */
32
32
  id?: string;
package/dist/index.js CHANGED
@@ -55,7 +55,7 @@ ${indent}}`;
55
55
  }
56
56
 
57
57
  // src/validate.ts
58
- import { walkNodes, DEFAULT_WRITING_STATUSES, DEFAULT_RECORDING_STATUSES, DEFAULT_DOCUMENTATION_CLASSES, projectQualifiers, usedSpeakerPairs, PAD_AFTER_MIN, PAD_AFTER_MAX, ESTIMATE_SYLLABLES_PER_SECOND_MIN, ESTIMATE_SYLLABLES_PER_SECOND_MAX } from "@patterkit/model";
58
+ import { walkNodes, DEFAULT_WRITING_STATUSES, DEFAULT_RECORDING_STATUSES, DEFAULT_DOCUMENTATION_CLASSES, projectQualifiers, usedSpeakerPairs, PAD_AFTER_MIN, PAD_AFTER_MAX, ESTIMATE_SPEED_MIN, ESTIMATE_SPEED_MAX } from "@patterkit/model";
59
59
  import { isValidGameId, effectiveGameId } from "@patterkit/model";
60
60
  import { isValidPropertyName, propertyNameify, RESERVED_PROPERTY_NAMES } from "@patterkit/model";
61
61
  import { qualityDeclarationProblems, stagesEitherSide, valueFits } from "@wildwinter/expr";
@@ -588,9 +588,9 @@ function validateProjectFile(project, issues) {
588
588
  if (pad !== void 0 && (typeof pad !== "number" || !Number.isFinite(pad) || pad < PAD_AFTER_MIN || pad > PAD_AFTER_MAX)) {
589
589
  issues.push({ code: "invalid-pad", message: `the project default pause '${String(pad)}' must be a number of seconds from ${PAD_AFTER_MIN} to ${PAD_AFTER_MAX}` });
590
590
  }
591
- const rate = project.estimateSyllablesPerSecond;
592
- if (rate !== void 0 && (typeof rate !== "number" || !Number.isFinite(rate) || rate < ESTIMATE_SYLLABLES_PER_SECOND_MIN || rate > ESTIMATE_SYLLABLES_PER_SECOND_MAX)) {
593
- issues.push({ code: "invalid-estimate-rate", message: `the timing for lines without audio '${String(rate)}' must be a number of syllables a second from ${ESTIMATE_SYLLABLES_PER_SECOND_MIN} to ${ESTIMATE_SYLLABLES_PER_SECOND_MAX}` });
591
+ const speed = project.estimateSpeed;
592
+ if (speed !== void 0 && (typeof speed !== "number" || !Number.isFinite(speed) || speed < ESTIMATE_SPEED_MIN || speed > ESTIMATE_SPEED_MAX)) {
593
+ issues.push({ code: "invalid-estimate-speed", message: `the timing for lines without audio '${String(speed)}' must be a speed from ${ESTIMATE_SPEED_MIN} to ${ESTIMATE_SPEED_MAX}` });
594
594
  }
595
595
  const seenQualifiers = /* @__PURE__ */ new Set();
596
596
  const qualifiers = project.qualifiers;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patterkit/core",
3
- "version": "0.12.2",
3
+ "version": "0.13.1",
4
4
  "description": "Patter core: stable id generation, readable-handle computation, canonical (de)serialisation, and the structural validator.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "build": "tsup src/index.ts --format esm,cjs --dts --clean"
35
35
  },
36
36
  "dependencies": {
37
- "@patterkit/model": "0.26.0",
37
+ "@patterkit/model": "0.27.1",
38
38
  "@wildwinter/expr": "^0.6.0",
39
39
  "@wildwinter/toolkit": "^0.4.0",
40
40
  "json5": "^2.2.3"