@viritura/score-engine 0.1.1-next.10 → 0.1.1-next.12

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.js CHANGED
@@ -1989,9 +1989,9 @@ function interpolateBeatAnchors(bounds, beat, endX) {
1989
1989
 
1990
1990
  // packages/score-engine/src/buildInfo.ts
1991
1991
  init_define_import_meta_env();
1992
- var PACKAGE_VERSION = "0.1.1-next.10", BUNDLE_WORKER_FILE = "score-engine.worker.js";
1992
+ var PACKAGE_VERSION = "0.1.1-next.12", BUNDLE_WORKER_FILE = "score-engine.worker.js";
1993
1993
  function buildCommit() {
1994
- return "aa63a9e8d6544c1a283228299a578fd58713dd97";
1994
+ return "3498e9da0e7fe0c429b7c5347a118c9f4d08960b";
1995
1995
  }
1996
1996
  function bundledAssetBase() {
1997
1997
  let moduleUrl = import.meta.url;
@@ -8887,9 +8887,254 @@ function validate357(data, { instancePath = "", parentData, parentDataProperty,
8887
8887
  return validate357.errors = vErrors, errors === 0;
8888
8888
  }
8889
8889
  validate357.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
8890
- var schema340 = { type: "object", description: "A gradual tempo change (ritardando / accelerando) playback curve. MNX has no gradual-tempo field, so Viritura models the playback ramp as a vendor extension on the global measure where it begins. The tempo ramps linearly in BPM from the tempo active at `position` (or `startBpm` if given) to `endBpm` at `end`. This is playback data only; the printed 'rit.'/'accel.' text is an ordinary text-expression.", required: ["position", "end", "endBpm"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Start position within this measure." }, end: { $ref: "#/$defs/measure-rhythmic-position", description: "End position (may reference a later measure)." }, endBpm: { type: "number", exclusiveMinimum: 0, description: "Quarter-note BPM reached at the end of the ramp." }, startBpm: { type: "number", exclusiveMinimum: 0, description: "Optional start BPM (quarter-note). Defaults to the tempo active at `position`." }, kind: { type: "string", enum: ["rit", "accel"], description: "Optional classification. Cosmetic only; the BPM direction determines the audible behavior." } }, additionalProperties: !1 };
8891
- function validate366(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
8892
- let vErrors = null, errors = 0, evaluated0 = validate366.evaluated;
8890
+ var schema341 = { type: "object", description: "Optional shared frame presentation on staff text. No width means natural width; a staff-space width enables word wrapping. Height is automatic.", properties: { width: { type: "object", required: ["unit", "value"], properties: { unit: { const: "staffSpaces" }, value: { type: "number", exclusiveMinimum: 0 } }, additionalProperties: !1 }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"] }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"] }, padding: { type: "number", minimum: 0 }, border: { type: "string", enum: ["none", "solid"] }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." } }, additionalProperties: !1 }, schema343 = { type: "string", enum: ["below", "above"], description: "Placement of a text expression relative to the staff. Default: 'below'." };
8891
+ function validate365(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
8892
+ let vErrors = null, errors = 0, evaluated0 = validate365.evaluated;
8893
+ if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
8894
+ if (data.id === void 0) {
8895
+ let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
8896
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
8897
+ }
8898
+ if (data.text === void 0) {
8899
+ let err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "text" }, message: "must have required property 'text'" };
8900
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
8901
+ }
8902
+ if (data.position === void 0) {
8903
+ let err2 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
8904
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
8905
+ }
8906
+ for (let key0 in data)
8907
+ if (!(key0 === "id" || key0 === "text" || key0 === "frame" || key0 === "position" || key0 === "placement" || key0 === "manualOffset" || key0 === "avoidCollisions")) {
8908
+ let err3 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
8909
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
8910
+ }
8911
+ if (data.id !== void 0) {
8912
+ let data0 = data.id;
8913
+ if (typeof data0 == "string") {
8914
+ if (func5(data0) < 1) {
8915
+ let err4 = { instancePath: instancePath + "/id", schemaPath: "#/properties/id/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" };
8916
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
8917
+ }
8918
+ } else {
8919
+ let err5 = { instancePath: instancePath + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" };
8920
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
8921
+ }
8922
+ }
8923
+ if (data.text !== void 0 && (validate346(data.text, { instancePath: instancePath + "/text", parentData: data, parentDataProperty: "text", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate346.errors : vErrors.concat(validate346.errors), errors = vErrors.length)), data.frame !== void 0) {
8924
+ let data2 = data.frame;
8925
+ if (data2 && typeof data2 == "object" && !Array.isArray(data2)) {
8926
+ for (let key1 in data2)
8927
+ if (!(key1 === "width" || key1 === "horizontalAlignment" || key1 === "paragraphJustification" || key1 === "padding" || key1 === "border" || key1 === "eraseBackground")) {
8928
+ let err6 = { instancePath: instancePath + "/frame", schemaPath: "#/$defs/staff-text-frame-presentation/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
8929
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
8930
+ }
8931
+ if (data2.width !== void 0) {
8932
+ let data3 = data2.width;
8933
+ if (data3 && typeof data3 == "object" && !Array.isArray(data3)) {
8934
+ if (data3.unit === void 0) {
8935
+ let err7 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/required", keyword: "required", params: { missingProperty: "unit" }, message: "must have required property 'unit'" };
8936
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
8937
+ }
8938
+ if (data3.value === void 0) {
8939
+ let err8 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/required", keyword: "required", params: { missingProperty: "value" }, message: "must have required property 'value'" };
8940
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
8941
+ }
8942
+ for (let key2 in data3)
8943
+ if (!(key2 === "unit" || key2 === "value")) {
8944
+ let err9 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" };
8945
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
8946
+ }
8947
+ if (data3.unit !== void 0 && data3.unit !== "staffSpaces") {
8948
+ let err10 = { instancePath: instancePath + "/frame/width/unit", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/unit/const", keyword: "const", params: { allowedValue: "staffSpaces" }, message: "must be equal to constant" };
8949
+ vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
8950
+ }
8951
+ if (data3.value !== void 0) {
8952
+ let data5 = data3.value;
8953
+ if (typeof data5 == "number") {
8954
+ if (data5 <= 0 || isNaN(data5)) {
8955
+ let err11 = { instancePath: instancePath + "/frame/width/value", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/value/exclusiveMinimum", keyword: "exclusiveMinimum", params: { comparison: ">", limit: 0 }, message: "must be > 0" };
8956
+ vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
8957
+ }
8958
+ } else {
8959
+ let err12 = { instancePath: instancePath + "/frame/width/value", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/value/type", keyword: "type", params: { type: "number" }, message: "must be number" };
8960
+ vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
8961
+ }
8962
+ }
8963
+ } else {
8964
+ let err13 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/type", keyword: "type", params: { type: "object" }, message: "must be object" };
8965
+ vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
8966
+ }
8967
+ }
8968
+ if (data2.horizontalAlignment !== void 0) {
8969
+ let data6 = data2.horizontalAlignment;
8970
+ if (typeof data6 != "string") {
8971
+ let err14 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/type", keyword: "type", params: { type: "string" }, message: "must be string" };
8972
+ vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
8973
+ }
8974
+ if (!(data6 === "left" || data6 === "center" || data6 === "right")) {
8975
+ let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema341.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
8976
+ vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
8977
+ }
8978
+ }
8979
+ if (data2.paragraphJustification !== void 0) {
8980
+ let data7 = data2.paragraphJustification;
8981
+ if (typeof data7 != "string") {
8982
+ let err16 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/type", keyword: "type", params: { type: "string" }, message: "must be string" };
8983
+ vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
8984
+ }
8985
+ if (!(data7 === "left" || data7 === "center" || data7 === "right" || data7 === "justify")) {
8986
+ let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema341.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
8987
+ vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
8988
+ }
8989
+ }
8990
+ if (data2.padding !== void 0) {
8991
+ let data8 = data2.padding;
8992
+ if (typeof data8 == "number") {
8993
+ if (data8 < 0 || isNaN(data8)) {
8994
+ let err18 = { instancePath: instancePath + "/frame/padding", schemaPath: "#/$defs/staff-text-frame-presentation/properties/padding/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
8995
+ vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
8996
+ }
8997
+ } else {
8998
+ let err19 = { instancePath: instancePath + "/frame/padding", schemaPath: "#/$defs/staff-text-frame-presentation/properties/padding/type", keyword: "type", params: { type: "number" }, message: "must be number" };
8999
+ vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
9000
+ }
9001
+ }
9002
+ if (data2.border !== void 0) {
9003
+ let data9 = data2.border;
9004
+ if (typeof data9 != "string") {
9005
+ let err20 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9006
+ vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
9007
+ }
9008
+ if (!(data9 === "none" || data9 === "solid")) {
9009
+ let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema341.properties.border.enum }, message: "must be equal to one of the allowed values" };
9010
+ vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
9011
+ }
9012
+ }
9013
+ if (data2.eraseBackground !== void 0 && typeof data2.eraseBackground != "boolean") {
9014
+ let err22 = { instancePath: instancePath + "/frame/eraseBackground", schemaPath: "#/$defs/staff-text-frame-presentation/properties/eraseBackground/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
9015
+ vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
9016
+ }
9017
+ } else {
9018
+ let err23 = { instancePath: instancePath + "/frame", schemaPath: "#/$defs/staff-text-frame-presentation/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9019
+ vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
9020
+ }
9021
+ }
9022
+ if (data.position !== void 0) {
9023
+ let data11 = data.position;
9024
+ if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
9025
+ if (data11.fraction === void 0) {
9026
+ let err24 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/required", keyword: "required", params: { missingProperty: "fraction" }, message: "must have required property 'fraction'" };
9027
+ vErrors === null ? vErrors = [err24] : vErrors.push(err24), errors++;
9028
+ }
9029
+ for (let key3 in data11)
9030
+ if (key3 !== "fraction") {
9031
+ let err25 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" };
9032
+ vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
9033
+ }
9034
+ if (data11.fraction !== void 0) {
9035
+ let data12 = data11.fraction;
9036
+ if (Array.isArray(data12)) {
9037
+ if (data12.length > 2) {
9038
+ let err26 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
9039
+ vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
9040
+ }
9041
+ if (data12.length < 2) {
9042
+ let err27 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
9043
+ vErrors === null ? vErrors = [err27] : vErrors.push(err27), errors++;
9044
+ }
9045
+ let len0 = data12.length;
9046
+ for (let i0 = 0; i0 < len0; i0++) {
9047
+ let data13 = data12[i0];
9048
+ if (!(typeof data13 == "number" && !(data13 % 1) && !isNaN(data13))) {
9049
+ let err28 = { instancePath: instancePath + "/position/fraction/" + i0, schemaPath: "#/$defs/rhythmic-position/properties/fraction/items/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9050
+ vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
9051
+ }
9052
+ }
9053
+ } else {
9054
+ let err29 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9055
+ vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
9056
+ }
9057
+ }
9058
+ } else {
9059
+ let err30 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9060
+ vErrors === null ? vErrors = [err30] : vErrors.push(err30), errors++;
9061
+ }
9062
+ if (data11 && typeof data11 == "object" && !Array.isArray(data11) && data11.fraction !== void 0) {
9063
+ let data14 = data11.fraction;
9064
+ if (Array.isArray(data14)) {
9065
+ let len1 = data14.length;
9066
+ if (len1 > 0) {
9067
+ let data15 = data14[0];
9068
+ if (!(typeof data15 == "number" && !(data15 % 1) && !isNaN(data15))) {
9069
+ let err31 = { instancePath: instancePath + "/position/fraction/0", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/0/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9070
+ vErrors === null ? vErrors = [err31] : vErrors.push(err31), errors++;
9071
+ }
9072
+ if (typeof data15 == "number" && (data15 < 0 || isNaN(data15))) {
9073
+ let err32 = { instancePath: instancePath + "/position/fraction/0", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/0/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
9074
+ vErrors === null ? vErrors = [err32] : vErrors.push(err32), errors++;
9075
+ }
9076
+ }
9077
+ if (len1 > 1) {
9078
+ let data16 = data14[1];
9079
+ if (!(typeof data16 == "number" && !(data16 % 1) && !isNaN(data16))) {
9080
+ let err33 = { instancePath: instancePath + "/position/fraction/1", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9081
+ vErrors === null ? vErrors = [err33] : vErrors.push(err33), errors++;
9082
+ }
9083
+ if (typeof data16 == "number" && (data16 < 1 || isNaN(data16))) {
9084
+ let err34 = { instancePath: instancePath + "/position/fraction/1", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/1/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
9085
+ vErrors === null ? vErrors = [err34] : vErrors.push(err34), errors++;
9086
+ }
9087
+ }
9088
+ }
9089
+ }
9090
+ }
9091
+ if (data.placement !== void 0) {
9092
+ let data17 = data.placement;
9093
+ if (typeof data17 != "string") {
9094
+ let err35 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9095
+ vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
9096
+ }
9097
+ if (!(data17 === "below" || data17 === "above")) {
9098
+ let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema343.enum }, message: "must be equal to one of the allowed values" };
9099
+ vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
9100
+ }
9101
+ }
9102
+ if (data.manualOffset !== void 0) {
9103
+ let data18 = data.manualOffset;
9104
+ if (Array.isArray(data18)) {
9105
+ if (data18.length > 2) {
9106
+ let err37 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
9107
+ vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
9108
+ }
9109
+ if (data18.length < 2) {
9110
+ let err38 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
9111
+ vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
9112
+ }
9113
+ let len2 = data18.length;
9114
+ for (let i1 = 0; i1 < len2; i1++)
9115
+ if (typeof data18[i1] != "number") {
9116
+ let err39 = { instancePath: instancePath + "/manualOffset/" + i1, schemaPath: "#/$defs/sp-delta/items/type", keyword: "type", params: { type: "number" }, message: "must be number" };
9117
+ vErrors === null ? vErrors = [err39] : vErrors.push(err39), errors++;
9118
+ }
9119
+ } else {
9120
+ let err40 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9121
+ vErrors === null ? vErrors = [err40] : vErrors.push(err40), errors++;
9122
+ }
9123
+ }
9124
+ if (data.avoidCollisions !== void 0 && typeof data.avoidCollisions != "boolean") {
9125
+ let err41 = { instancePath: instancePath + "/avoidCollisions", schemaPath: "#/properties/avoidCollisions/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
9126
+ vErrors === null ? vErrors = [err41] : vErrors.push(err41), errors++;
9127
+ }
9128
+ } else {
9129
+ let err42 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9130
+ vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
9131
+ }
9132
+ return validate365.errors = vErrors, errors === 0;
9133
+ }
9134
+ validate365.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9135
+ var schema345 = { type: "object", description: "A gradual tempo change (ritardando / accelerando) playback curve. MNX has no gradual-tempo field, so Viritura models the playback ramp as a vendor extension on the global measure where it begins. The tempo ramps linearly in BPM from the tempo active at `position` (or `startBpm` if given) to `endBpm` at `end`. This is playback data only; the printed 'rit.'/'accel.' text is an ordinary text-expression.", required: ["position", "end", "endBpm"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Start position within this measure." }, end: { $ref: "#/$defs/measure-rhythmic-position", description: "End position (may reference a later measure)." }, endBpm: { type: "number", exclusiveMinimum: 0, description: "Quarter-note BPM reached at the end of the ramp." }, startBpm: { type: "number", exclusiveMinimum: 0, description: "Optional start BPM (quarter-note). Defaults to the tempo active at `position`." }, kind: { type: "string", enum: ["rit", "accel"], description: "Optional classification. Cosmetic only; the BPM direction determines the audible behavior." } }, additionalProperties: !1 };
9136
+ function validate369(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9137
+ let vErrors = null, errors = 0, evaluated0 = validate369.evaluated;
8893
9138
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
8894
9139
  if (data.measure === void 0) {
8895
9140
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "measure" }, message: "must have required property 'measure'" };
@@ -8953,11 +9198,11 @@ function validate366(data, { instancePath = "", parentData, parentDataProperty,
8953
9198
  let err11 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
8954
9199
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
8955
9200
  }
8956
- return validate366.errors = vErrors, errors === 0;
9201
+ return validate369.errors = vErrors, errors === 0;
8957
9202
  }
8958
- validate366.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
8959
- function validate365(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
8960
- let vErrors = null, errors = 0, evaluated0 = validate365.evaluated;
9203
+ validate369.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9204
+ function validate368(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9205
+ let vErrors = null, errors = 0, evaluated0 = validate368.evaluated;
8961
9206
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
8962
9207
  if (data.position === void 0) {
8963
9208
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
@@ -9017,7 +9262,7 @@ function validate365(data, { instancePath = "", parentData, parentDataProperty,
9017
9262
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
9018
9263
  }
9019
9264
  }
9020
- if (data.end !== void 0 && (validate366(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate366.errors : vErrors.concat(validate366.errors), errors = vErrors.length)), data.endBpm !== void 0) {
9265
+ if (data.end !== void 0 && (validate369(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate369.errors : vErrors.concat(validate369.errors), errors = vErrors.length)), data.endBpm !== void 0) {
9021
9266
  let data4 = data.endBpm;
9022
9267
  if (typeof data4 == "number") {
9023
9268
  if (data4 <= 0 || isNaN(data4)) {
@@ -9048,7 +9293,7 @@ function validate365(data, { instancePath = "", parentData, parentDataProperty,
9048
9293
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
9049
9294
  }
9050
9295
  if (!(data6 === "rit" || data6 === "accel")) {
9051
- let err16 = { instancePath: instancePath + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: schema340.properties.kind.enum }, message: "must be equal to one of the allowed values" };
9296
+ let err16 = { instancePath: instancePath + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: schema345.properties.kind.enum }, message: "must be equal to one of the allowed values" };
9052
9297
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9053
9298
  }
9054
9299
  }
@@ -9056,12 +9301,12 @@ function validate365(data, { instancePath = "", parentData, parentDataProperty,
9056
9301
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9057
9302
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
9058
9303
  }
9059
- return validate365.errors = vErrors, errors === 0;
9304
+ return validate368.errors = vErrors, errors === 0;
9060
9305
  }
9061
- validate365.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9062
- var schema344 = { type: "object", description: "A score-wide harmony event on a global measure. Either a structured root or authored rawText is required; rawText may preserve malformed or unrecognized symbols and no-chord (NC) declarations without inventing a root.", $comment: "The parser enforces root or rawText. The code generators cannot represent the anyOf required-property constraint while preserving both fields.", required: ["position"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, root: { $ref: "#/$defs/chord-root", description: "Structured root note, optional for raw authored symbols and no-chord declarations. When present, it must agree semantically with rawText." }, rawText: { type: "string", description: "Original authored chord text, preserved verbatim even when structured fields are available. Rootless text preserves malformed or unrecognized symbols and NC. The semantic resolver checks agreement with any structured fields." }, quality: { $ref: "#/$defs/chord-quality" }, kindText: { type: "string", description: "Authored quality spelling retained alongside the normalized quality." }, bass: { $ref: "#/$defs/chord-root", description: "Bass note for slash chords (e.g. the 'E' in 'C/E')." }, extension: { type: "integer", enum: [6, 7, 9, 11, 13], description: "Chord extension (6th, 7th, 9th, 11th, 13th)." }, textOverride: { type: "string", description: "Visual override of the computed display text, not a semantic replacement. The semantic resolver rejects parseable contradictions or unsupported non-equivalent overrides." } }, additionalProperties: !1 }, schema346 = { type: "object", description: "Root or bass note of a chord symbol.", required: ["step"], properties: { step: { type: "string", enum: ["A", "B", "C", "D", "E", "F", "G"], description: "Note letter name." }, alter: { type: "integer", description: "Chromatic alteration in semitones (-1 = flat, 1 = sharp)." } }, additionalProperties: !1 }, schema347 = { type: "string", enum: ["major", "minor", "dominant", "diminished", "augmented", "half-diminished", "minor-major", "power", "suspended2", "suspended4", "other"], description: "Harmonic quality of a chord symbol." };
9063
- function validate369(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9064
- let vErrors = null, errors = 0, evaluated0 = validate369.evaluated;
9306
+ validate368.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9307
+ var schema349 = { type: "object", description: "A score-wide harmony event on a global measure. Either a structured root or authored rawText is required; rawText may preserve malformed or unrecognized symbols and no-chord (NC) declarations without inventing a root.", $comment: "The parser enforces root or rawText. The code generators cannot represent the anyOf required-property constraint while preserving both fields.", required: ["position"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, root: { $ref: "#/$defs/chord-root", description: "Structured root note, optional for raw authored symbols and no-chord declarations. When present, it must agree semantically with rawText." }, rawText: { type: "string", description: "Original authored chord text, preserved verbatim even when structured fields are available. Rootless text preserves malformed or unrecognized symbols and NC. The semantic resolver checks agreement with any structured fields." }, quality: { $ref: "#/$defs/chord-quality" }, kindText: { type: "string", description: "Authored quality spelling retained alongside the normalized quality." }, bass: { $ref: "#/$defs/chord-root", description: "Bass note for slash chords (e.g. the 'E' in 'C/E')." }, extension: { type: "integer", enum: [6, 7, 9, 11, 13], description: "Chord extension (6th, 7th, 9th, 11th, 13th)." }, textOverride: { type: "string", description: "Visual override of the computed display text, not a semantic replacement. The semantic resolver rejects parseable contradictions or unsupported non-equivalent overrides." } }, additionalProperties: !1 }, schema351 = { type: "object", description: "Root or bass note of a chord symbol.", required: ["step"], properties: { step: { type: "string", enum: ["A", "B", "C", "D", "E", "F", "G"], description: "Note letter name." }, alter: { type: "integer", description: "Chromatic alteration in semitones (-1 = flat, 1 = sharp)." } }, additionalProperties: !1 }, schema352 = { type: "string", enum: ["major", "minor", "dominant", "diminished", "augmented", "half-diminished", "minor-major", "power", "suspended2", "suspended4", "other"], description: "Harmonic quality of a chord symbol." };
9308
+ function validate372(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9309
+ let vErrors = null, errors = 0, evaluated0 = validate372.evaluated;
9065
9310
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9066
9311
  if (data.position === void 0) {
9067
9312
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
@@ -9132,7 +9377,7 @@ function validate369(data, { instancePath = "", parentData, parentDataProperty,
9132
9377
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
9133
9378
  }
9134
9379
  if (!(data4 === "A" || data4 === "B" || data4 === "C" || data4 === "D" || data4 === "E" || data4 === "F" || data4 === "G")) {
9135
- let err12 = { instancePath: instancePath + "/root/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema346.properties.step.enum }, message: "must be equal to one of the allowed values" };
9380
+ let err12 = { instancePath: instancePath + "/root/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema351.properties.step.enum }, message: "must be equal to one of the allowed values" };
9136
9381
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
9137
9382
  }
9138
9383
  }
@@ -9159,7 +9404,7 @@ function validate369(data, { instancePath = "", parentData, parentDataProperty,
9159
9404
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9160
9405
  }
9161
9406
  if (!(data7 === "major" || data7 === "minor" || data7 === "dominant" || data7 === "diminished" || data7 === "augmented" || data7 === "half-diminished" || data7 === "minor-major" || data7 === "power" || data7 === "suspended2" || data7 === "suspended4" || data7 === "other")) {
9162
- let err17 = { instancePath: instancePath + "/quality", schemaPath: "#/$defs/chord-quality/enum", keyword: "enum", params: { allowedValues: schema347.enum }, message: "must be equal to one of the allowed values" };
9407
+ let err17 = { instancePath: instancePath + "/quality", schemaPath: "#/$defs/chord-quality/enum", keyword: "enum", params: { allowedValues: schema352.enum }, message: "must be equal to one of the allowed values" };
9163
9408
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
9164
9409
  }
9165
9410
  }
@@ -9186,7 +9431,7 @@ function validate369(data, { instancePath = "", parentData, parentDataProperty,
9186
9431
  vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
9187
9432
  }
9188
9433
  if (!(data10 === "A" || data10 === "B" || data10 === "C" || data10 === "D" || data10 === "E" || data10 === "F" || data10 === "G")) {
9189
- let err22 = { instancePath: instancePath + "/bass/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema346.properties.step.enum }, message: "must be equal to one of the allowed values" };
9434
+ let err22 = { instancePath: instancePath + "/bass/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema351.properties.step.enum }, message: "must be equal to one of the allowed values" };
9190
9435
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
9191
9436
  }
9192
9437
  }
@@ -9209,7 +9454,7 @@ function validate369(data, { instancePath = "", parentData, parentDataProperty,
9209
9454
  vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
9210
9455
  }
9211
9456
  if (!(data12 === 6 || data12 === 7 || data12 === 9 || data12 === 11 || data12 === 13)) {
9212
- let err26 = { instancePath: instancePath + "/extension", schemaPath: "#/properties/extension/enum", keyword: "enum", params: { allowedValues: schema344.properties.extension.enum }, message: "must be equal to one of the allowed values" };
9457
+ let err26 = { instancePath: instancePath + "/extension", schemaPath: "#/properties/extension/enum", keyword: "enum", params: { allowedValues: schema349.properties.extension.enum }, message: "must be equal to one of the allowed values" };
9213
9458
  vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
9214
9459
  }
9215
9460
  }
@@ -9221,48 +9466,59 @@ function validate369(data, { instancePath = "", parentData, parentDataProperty,
9221
9466
  let err28 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9222
9467
  vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
9223
9468
  }
9224
- return validate369.errors = vErrors, errors === 0;
9469
+ return validate372.errors = vErrors, errors === 0;
9225
9470
  }
9226
- validate369.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9471
+ validate372.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9227
9472
  function validate344(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9228
9473
  let vErrors = null, errors = 0, evaluated0 = validate344.evaluated;
9229
9474
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9230
9475
  for (let key0 in data)
9231
- if (!(key0 === "rehearsalMark" || key0 === "coda" || key0 === "jump" || key0 === "markerText" || key0 === "gradualTempo" || key0 === "chordSymbols" || key0 === "senzaMisura")) {
9476
+ if (!(key0 === "rehearsalMark" || key0 === "coda" || key0 === "jump" || key0 === "markerText" || key0 === "systemText" || key0 === "gradualTempo" || key0 === "chordSymbols" || key0 === "senzaMisura")) {
9232
9477
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
9233
9478
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
9234
9479
  }
9235
- if (data.rehearsalMark !== void 0 && (validate345(data.rehearsalMark, { instancePath: instancePath + "/rehearsalMark", parentData: data, parentDataProperty: "rehearsalMark", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate345.errors : vErrors.concat(validate345.errors), errors = vErrors.length)), data.coda !== void 0 && (validate353(data.coda, { instancePath: instancePath + "/coda", parentData: data, parentDataProperty: "coda", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate353.errors : vErrors.concat(validate353.errors), errors = vErrors.length)), data.jump !== void 0 && (validate355(data.jump, { instancePath: instancePath + "/jump", parentData: data, parentDataProperty: "jump", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate355.errors : vErrors.concat(validate355.errors), errors = vErrors.length)), data.markerText !== void 0 && (validate357(data.markerText, { instancePath: instancePath + "/markerText", parentData: data, parentDataProperty: "markerText", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate357.errors : vErrors.concat(validate357.errors), errors = vErrors.length)), data.gradualTempo !== void 0 && (validate365(data.gradualTempo, { instancePath: instancePath + "/gradualTempo", parentData: data, parentDataProperty: "gradualTempo", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate365.errors : vErrors.concat(validate365.errors), errors = vErrors.length)), data.chordSymbols !== void 0) {
9236
- let data5 = data.chordSymbols;
9237
- if (Array.isArray(data5)) {
9238
- let len0 = data5.length;
9480
+ if (data.rehearsalMark !== void 0 && (validate345(data.rehearsalMark, { instancePath: instancePath + "/rehearsalMark", parentData: data, parentDataProperty: "rehearsalMark", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate345.errors : vErrors.concat(validate345.errors), errors = vErrors.length)), data.coda !== void 0 && (validate353(data.coda, { instancePath: instancePath + "/coda", parentData: data, parentDataProperty: "coda", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate353.errors : vErrors.concat(validate353.errors), errors = vErrors.length)), data.jump !== void 0 && (validate355(data.jump, { instancePath: instancePath + "/jump", parentData: data, parentDataProperty: "jump", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate355.errors : vErrors.concat(validate355.errors), errors = vErrors.length)), data.markerText !== void 0 && (validate357(data.markerText, { instancePath: instancePath + "/markerText", parentData: data, parentDataProperty: "markerText", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate357.errors : vErrors.concat(validate357.errors), errors = vErrors.length)), data.systemText !== void 0) {
9481
+ let data4 = data.systemText;
9482
+ if (Array.isArray(data4)) {
9483
+ let len0 = data4.length;
9239
9484
  for (let i0 = 0; i0 < len0; i0++)
9240
- validate369(data5[i0], { instancePath: instancePath + "/chordSymbols/" + i0, parentData: data5, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate369.errors : vErrors.concat(validate369.errors), errors = vErrors.length);
9485
+ validate365(data4[i0], { instancePath: instancePath + "/systemText/" + i0, parentData: data4, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate365.errors : vErrors.concat(validate365.errors), errors = vErrors.length);
9241
9486
  } else {
9242
- let err1 = { instancePath: instancePath + "/chordSymbols", schemaPath: "#/properties/chordSymbols/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9487
+ let err1 = { instancePath: instancePath + "/systemText", schemaPath: "#/properties/systemText/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9243
9488
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
9244
9489
  }
9245
9490
  }
9246
- if (data.senzaMisura !== void 0) {
9247
- let data7 = data.senzaMisura;
9248
- if (typeof data7 != "boolean") {
9249
- let err2 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
9491
+ if (data.gradualTempo !== void 0 && (validate368(data.gradualTempo, { instancePath: instancePath + "/gradualTempo", parentData: data, parentDataProperty: "gradualTempo", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate368.errors : vErrors.concat(validate368.errors), errors = vErrors.length)), data.chordSymbols !== void 0) {
9492
+ let data7 = data.chordSymbols;
9493
+ if (Array.isArray(data7)) {
9494
+ let len1 = data7.length;
9495
+ for (let i1 = 0; i1 < len1; i1++)
9496
+ validate372(data7[i1], { instancePath: instancePath + "/chordSymbols/" + i1, parentData: data7, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate372.errors : vErrors.concat(validate372.errors), errors = vErrors.length);
9497
+ } else {
9498
+ let err2 = { instancePath: instancePath + "/chordSymbols", schemaPath: "#/properties/chordSymbols/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9250
9499
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9251
9500
  }
9252
- if (data7 !== !0) {
9253
- let err3 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
9501
+ }
9502
+ if (data.senzaMisura !== void 0) {
9503
+ let data9 = data.senzaMisura;
9504
+ if (typeof data9 != "boolean") {
9505
+ let err3 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
9254
9506
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
9255
9507
  }
9508
+ if (data9 !== !0) {
9509
+ let err4 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
9510
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9511
+ }
9256
9512
  }
9257
9513
  } else {
9258
- let err4 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9259
- vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9514
+ let err5 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9515
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
9260
9516
  }
9261
9517
  return validate344.errors = vErrors, errors === 0;
9262
9518
  }
9263
9519
  validate344.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9264
- function validate371(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9265
- let vErrors = null, errors = 0, evaluated0 = validate371.evaluated;
9520
+ function validate374(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9521
+ let vErrors = null, errors = 0, evaluated0 = validate374.evaluated;
9266
9522
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9267
9523
  for (let key0 in data)
9268
9524
  if (!(key0 === "beatStructure" || key0 === "groupingDisplay" || key0 === "display")) {
@@ -9319,11 +9575,11 @@ function validate371(data, { instancePath = "", parentData, parentDataProperty,
9319
9575
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9320
9576
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
9321
9577
  }
9322
- return validate371.errors = vErrors, errors === 0;
9578
+ return validate374.errors = vErrors, errors === 0;
9323
9579
  }
9324
- validate371.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9325
- function validate372(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9326
- let vErrors = null, errors = 0, evaluated0 = validate372.evaluated;
9580
+ validate374.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9581
+ function validate375(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9582
+ let vErrors = null, errors = 0, evaluated0 = validate375.evaluated;
9327
9583
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9328
9584
  for (let key0 in data)
9329
9585
  if (key0 !== "atonal") {
@@ -9345,11 +9601,11 @@ function validate372(data, { instancePath = "", parentData, parentDataProperty,
9345
9601
  let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9346
9602
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
9347
9603
  }
9348
- return validate372.errors = vErrors, errors === 0;
9604
+ return validate375.errors = vErrors, errors === 0;
9349
9605
  }
9350
- validate372.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9351
- function validate373(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9352
- let vErrors = null, errors = 0, evaluated0 = validate373.evaluated;
9606
+ validate375.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9607
+ function validate376(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9608
+ let vErrors = null, errors = 0, evaluated0 = validate376.evaluated;
9353
9609
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9354
9610
  for (let key0 in data)
9355
9611
  if (!(key0 === "text" || key0 === "showMetronomeMark" || key0 === "showText" || key0 === "manualOffset" || key0 === "avoidCollisions")) {
@@ -9394,12 +9650,12 @@ function validate373(data, { instancePath = "", parentData, parentDataProperty,
9394
9650
  let err8 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9395
9651
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
9396
9652
  }
9397
- return validate373.errors = vErrors, errors === 0;
9653
+ return validate376.errors = vErrors, errors === 0;
9398
9654
  }
9399
- validate373.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9400
- var schema354 = { type: "object", description: "Viritura vendor extensions on an MNX part object (the `_x.viritura` dict on a part). Carries instrument identity so the editor and audio engine can resolve a part to a stable instrument without fuzzy name matching, plus its spatial-audio stage placement.", properties: { instrumentId: { type: "string", description: "MusicXML standard sound ID identifying the part's instrument (e.g. 'wind.flutes.flute', 'wind.reed.clarinet.bflat'). With `instruments`, this is the initial instrument's ID." }, instruments: { type: "object", description: "Provisional: instruments this part can switch between, keyed by a document-local key referenced by `initialInstrument` and part-measure `instrumentChanges`.", minProperties: 1, additionalProperties: { $ref: "#/$defs/instrument-definition" } }, initialInstrument: { type: "string", minLength: 1, description: "Key into `instruments` for the instrument active at the start of the part. Required when `instruments` is present." }, midiProgram: { type: "integer", minimum: 0, maximum: 127, description: "General-MIDI program (0..127). Used directly by the audio engine." }, family: { type: "string", description: "Instrument family for spatial placement / catalog routing." }, spatial: { $ref: "#/$defs/stage-position", description: "Spatial-audio stage position in concert-hall meters, persisted from Play mode so a user's instrument arrangement survives reload." }, chordSymbolVisibility: { type: "string", enum: ["auto", "show", "hide"], description: "Source-part display policy for the score-wide harmony track. Unset or auto uses automatic placement; show or hide explicitly controls this part. This is not a layout-staff or per-chord switch." } }, additionalProperties: !1 };
9401
- function validate376(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9402
- let vErrors = null, errors = 0, evaluated0 = validate376.evaluated;
9655
+ validate376.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9656
+ var schema359 = { type: "object", description: "Viritura vendor extensions on an MNX part object (the `_x.viritura` dict on a part). Carries instrument identity so the editor and audio engine can resolve a part to a stable instrument without fuzzy name matching, plus its spatial-audio stage placement.", properties: { instrumentId: { type: "string", description: "MusicXML standard sound ID identifying the part's instrument (e.g. 'wind.flutes.flute', 'wind.reed.clarinet.bflat'). With `instruments`, this is the initial instrument's ID." }, instruments: { type: "object", description: "Provisional: instruments this part can switch between, keyed by a document-local key referenced by `initialInstrument` and part-measure `instrumentChanges`.", minProperties: 1, additionalProperties: { $ref: "#/$defs/instrument-definition" } }, initialInstrument: { type: "string", minLength: 1, description: "Key into `instruments` for the instrument active at the start of the part. Required when `instruments` is present." }, midiProgram: { type: "integer", minimum: 0, maximum: 127, description: "General-MIDI program (0..127). Used directly by the audio engine." }, family: { type: "string", description: "Instrument family for spatial placement / catalog routing." }, spatial: { $ref: "#/$defs/stage-position", description: "Spatial-audio stage position in concert-hall meters, persisted from Play mode so a user's instrument arrangement survives reload." }, chordSymbolVisibility: { type: "string", enum: ["auto", "show", "hide"], description: "Source-part display policy for the score-wide harmony track. Unset or auto uses automatic placement; show or hide explicitly controls this part. This is not a layout-staff or per-chord switch." } }, additionalProperties: !1 };
9657
+ function validate379(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9658
+ let vErrors = null, errors = 0, evaluated0 = validate379.evaluated;
9403
9659
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9404
9660
  if (data.instrumentId === void 0) {
9405
9661
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "instrumentId" }, message: "must have required property 'instrumentId'" };
@@ -9514,11 +9770,11 @@ function validate376(data, { instancePath = "", parentData, parentDataProperty,
9514
9770
  let err20 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9515
9771
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
9516
9772
  }
9517
- return validate376.errors = vErrors, errors === 0;
9773
+ return validate379.errors = vErrors, errors === 0;
9518
9774
  }
9519
- validate376.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9520
- function validate375(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9521
- let vErrors = null, errors = 0, evaluated0 = validate375.evaluated;
9775
+ validate379.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9776
+ function validate378(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9777
+ let vErrors = null, errors = 0, evaluated0 = validate378.evaluated;
9522
9778
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9523
9779
  for (let key0 in data)
9524
9780
  if (!(key0 === "instrumentId" || key0 === "instruments" || key0 === "initialInstrument" || key0 === "midiProgram" || key0 === "family" || key0 === "spatial" || key0 === "chordSymbolVisibility")) {
@@ -9537,7 +9793,7 @@ function validate375(data, { instancePath = "", parentData, parentDataProperty,
9537
9793
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9538
9794
  }
9539
9795
  for (let key1 in data1)
9540
- validate376(data1[key1], { instancePath: instancePath + "/instruments/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data1, parentDataProperty: key1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate376.errors : vErrors.concat(validate376.errors), errors = vErrors.length);
9796
+ validate379(data1[key1], { instancePath: instancePath + "/instruments/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data1, parentDataProperty: key1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate379.errors : vErrors.concat(validate379.errors), errors = vErrors.length);
9541
9797
  } else {
9542
9798
  let err3 = { instancePath: instancePath + "/instruments", schemaPath: "#/properties/instruments/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9543
9799
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
@@ -9612,7 +9868,7 @@ function validate375(data, { instancePath = "", parentData, parentDataProperty,
9612
9868
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9613
9869
  }
9614
9870
  if (!(data9 === "auto" || data9 === "show" || data9 === "hide")) {
9615
- let err17 = { instancePath: instancePath + "/chordSymbolVisibility", schemaPath: "#/properties/chordSymbolVisibility/enum", keyword: "enum", params: { allowedValues: schema354.properties.chordSymbolVisibility.enum }, message: "must be equal to one of the allowed values" };
9871
+ let err17 = { instancePath: instancePath + "/chordSymbolVisibility", schemaPath: "#/properties/chordSymbolVisibility/enum", keyword: "enum", params: { allowedValues: schema359.properties.chordSymbolVisibility.enum }, message: "must be equal to one of the allowed values" };
9616
9872
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
9617
9873
  }
9618
9874
  }
@@ -9620,12 +9876,12 @@ function validate375(data, { instancePath = "", parentData, parentDataProperty,
9620
9876
  let err18 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9621
9877
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
9622
9878
  }
9623
- return validate375.errors = vErrors, errors === 0;
9879
+ return validate378.errors = vErrors, errors === 0;
9624
9880
  }
9625
- validate375.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9626
- var schema359 = { type: "string", enum: ["normal", "x", "circleX", "diamond", "slash", "triangleUp", "triangleDown"], description: "A notehead shape. MNX has no notehead field on note, kit-note or kit-component (W3C MNX issue #249); Viritura tracks it as a vendor extension on the kit-component (per-instrument) and optionally on a pitched note (per-note override)." };
9627
- function validate378(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9628
- let vErrors = null, errors = 0, evaluated0 = validate378.evaluated;
9881
+ validate378.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9882
+ var schema364 = { type: "string", enum: ["normal", "x", "circleX", "diamond", "slash", "triangleUp", "triangleDown"], description: "A notehead shape. MNX has no notehead field on note, kit-note or kit-component (W3C MNX issue #249); Viritura tracks it as a vendor extension on the kit-component (per-instrument) and optionally on a pitched note (per-note override)." };
9883
+ function validate381(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9884
+ let vErrors = null, errors = 0, evaluated0 = validate381.evaluated;
9629
9885
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9630
9886
  for (let key0 in data)
9631
9887
  if (!(key0 === "notehead" || key0 === "drumKit")) {
@@ -9639,7 +9895,7 @@ function validate378(data, { instancePath = "", parentData, parentDataProperty,
9639
9895
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
9640
9896
  }
9641
9897
  if (!(data0 === "normal" || data0 === "x" || data0 === "circleX" || data0 === "diamond" || data0 === "slash" || data0 === "triangleUp" || data0 === "triangleDown")) {
9642
- let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema359.enum }, message: "must be equal to one of the allowed values" };
9898
+ let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema364.enum }, message: "must be equal to one of the allowed values" };
9643
9899
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9644
9900
  }
9645
9901
  }
@@ -9664,13 +9920,13 @@ function validate378(data, { instancePath = "", parentData, parentDataProperty,
9664
9920
  let err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9665
9921
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
9666
9922
  }
9667
- return validate378.errors = vErrors, errors === 0;
9923
+ return validate381.errors = vErrors, errors === 0;
9668
9924
  }
9669
- validate378.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9670
- var schema360 = { type: "object", description: "Viritura vendor extensions on a part measure object.", properties: { pedals: { type: "array", items: { $ref: "#/$defs/pedal" }, description: "Piano pedal markings." }, expressions: { type: "array", items: { $ref: "#/$defs/text-expression" }, description: "Text expressions and performance directions." }, condensingOverride: { type: "string", enum: ["unison", "solo1", "solo2", "amalgamate", "divisi"], description: "User-specified condensing mode override for this measure." }, groupingDisplayOverrides: { type: "array", items: { $ref: "#/$defs/staff-grouping-display-override" }, description: "Per-staff grouping-display occurrence overrides, presentation-only and taking precedence over the time signature's own occurrence override and the document house style." }, staffMeters: { type: "array", items: { $ref: "#/$defs/staff-meter-change" }, description: "Per-staff synchronous local meter changes/resets, effective from this measure onward until changed or reset. Each staff either follows the global meter (the default, no entry needed) or a declared staff-local meter that still shares the global barline grid (`sharedDuration` or `fitMeasure` synchronization). Non-aligning/independent polymeter is out of scope." }, instrumentChanges: { type: "array", items: { $ref: "#/$defs/instrument-change" }, description: "Provisional mid-part instrument and/or transposition changes, effective from their position onward until the next change. Positions within one measure must be unique." } }, additionalProperties: !1 };
9671
- var schema362 = { type: "string", enum: ["sustain", "sostenuto", "una-corda"], description: "Piano pedal type." }, schema364 = { type: "string", enum: ["text", "bracket"], description: "Pedal marking display style. 'text' shows Ped/*, 'bracket' shows a horizontal line with hooks." };
9672
- function validate380(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9673
- let vErrors = null, errors = 0, evaluated0 = validate380.evaluated;
9925
+ validate381.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9926
+ var schema365 = { type: "object", description: "Viritura vendor extensions on a part measure object.", properties: { pedals: { type: "array", items: { $ref: "#/$defs/pedal" }, description: "Piano pedal markings." }, expressions: { type: "array", items: { $ref: "#/$defs/text-expression" }, description: "Text expressions and performance directions." }, condensingOverride: { type: "string", enum: ["unison", "solo1", "solo2", "amalgamate", "divisi"], description: "User-specified condensing mode override for this measure." }, groupingDisplayOverrides: { type: "array", items: { $ref: "#/$defs/staff-grouping-display-override" }, description: "Per-staff grouping-display occurrence overrides, presentation-only and taking precedence over the time signature's own occurrence override and the document house style." }, staffMeters: { type: "array", items: { $ref: "#/$defs/staff-meter-change" }, description: "Per-staff synchronous local meter changes/resets, effective from this measure onward until changed or reset. Each staff either follows the global meter (the default, no entry needed) or a declared staff-local meter that still shares the global barline grid (`sharedDuration` or `fitMeasure` synchronization). Non-aligning/independent polymeter is out of scope." }, instrumentChanges: { type: "array", items: { $ref: "#/$defs/instrument-change" }, description: "Provisional mid-part instrument and/or transposition changes, effective from their position onward until the next change. Positions within one measure must be unique." } }, additionalProperties: !1 };
9927
+ var schema367 = { type: "string", enum: ["sustain", "sostenuto", "una-corda"], description: "Piano pedal type." }, schema369 = { type: "string", enum: ["text", "bracket"], description: "Pedal marking display style. 'text' shows Ped/*, 'bracket' shows a horizontal line with hooks." };
9928
+ function validate383(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9929
+ let vErrors = null, errors = 0, evaluated0 = validate383.evaluated;
9674
9930
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9675
9931
  if (data.type === void 0) {
9676
9932
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "type" }, message: "must have required property 'type'" };
@@ -9696,7 +9952,7 @@ function validate380(data, { instancePath = "", parentData, parentDataProperty,
9696
9952
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9697
9953
  }
9698
9954
  if (!(data0 === "sustain" || data0 === "sostenuto" || data0 === "una-corda")) {
9699
- let err5 = { instancePath: instancePath + "/type", schemaPath: "#/$defs/pedal-type/enum", keyword: "enum", params: { allowedValues: schema362.enum }, message: "must be equal to one of the allowed values" };
9955
+ let err5 = { instancePath: instancePath + "/type", schemaPath: "#/$defs/pedal-type/enum", keyword: "enum", params: { allowedValues: schema367.enum }, message: "must be equal to one of the allowed values" };
9700
9956
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
9701
9957
  }
9702
9958
  }
@@ -9741,14 +9997,14 @@ function validate380(data, { instancePath = "", parentData, parentDataProperty,
9741
9997
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
9742
9998
  }
9743
9999
  }
9744
- if (data.end !== void 0 && (validate366(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate366.errors : vErrors.concat(validate366.errors), errors = vErrors.length)), data.style !== void 0) {
10000
+ if (data.end !== void 0 && (validate369(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate369.errors : vErrors.concat(validate369.errors), errors = vErrors.length)), data.style !== void 0) {
9745
10001
  let data5 = data.style;
9746
10002
  if (typeof data5 != "string") {
9747
10003
  let err13 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9748
10004
  vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
9749
10005
  }
9750
10006
  if (!(data5 === "text" || data5 === "bracket")) {
9751
- let err14 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/enum", keyword: "enum", params: { allowedValues: schema364.enum }, message: "must be equal to one of the allowed values" };
10007
+ let err14 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/enum", keyword: "enum", params: { allowedValues: schema369.enum }, message: "must be equal to one of the allowed values" };
9752
10008
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
9753
10009
  }
9754
10010
  }
@@ -9771,13 +10027,13 @@ function validate380(data, { instancePath = "", parentData, parentDataProperty,
9771
10027
  let err18 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9772
10028
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
9773
10029
  }
9774
- return validate380.errors = vErrors, errors === 0;
10030
+ return validate383.errors = vErrors, errors === 0;
9775
10031
  }
9776
- validate380.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9777
- var schema365 = { type: "object", description: "A text expression or direction at a rhythmic position (e.g. 'dolce', 'rit.', 'a tempo'). Rendered in italic serif font.", required: ["text", "position"], properties: { text: { $ref: "#/$defs/text-content" }, frame: { $ref: "#/$defs/staff-text-frame-presentation" }, pagePosition: { $ref: "#/$defs/text-frame-page-position" }, position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, placement: { $ref: "#/$defs/expression-placement" }, staff: { type: "integer", minimum: 1, description: "Staff number (1-based)." }, voice: { type: "string", description: "Voice name." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp), applied after automatic placement." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this expression outward to clear other directions. Default (and when unset): true. Set false when the user manually places the expression (e.g. by dragging) so it stays exactly where put and others flow around it." } }, additionalProperties: !1 }, schema366 = { type: "object", description: "Optional shared frame presentation on staff text. No width means natural width; a staff-space width enables word wrapping. Height is automatic.", properties: { width: { type: "object", required: ["unit", "value"], properties: { unit: { const: "staffSpaces" }, value: { type: "number", exclusiveMinimum: 0 } }, additionalProperties: !1 }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"] }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"] }, padding: { type: "number", minimum: 0 }, border: { type: "string", enum: ["none", "solid"] }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." } }, additionalProperties: !1 }, schema373 = { type: "string", enum: ["below", "above"], description: "Placement of a text expression relative to the staff. Default: 'below'." };
9778
- var schema369 = { type: "object", required: ["anchor", "offset"], properties: { anchor: { type: "string", enum: ["top", "right", "bottom", "left", "top-left", "top-right", "bottom-right", "bottom-left"] }, offset: { type: "object", required: ["x", "y"], properties: { x: { type: "number", description: "Horizontal offset in staff spaces; positive moves right." }, y: { type: "number", description: "Vertical offset in staff spaces; positive moves down." } }, additionalProperties: !1 } }, additionalProperties: !1 };
9779
- function validate385(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9780
- let vErrors = null, errors = 0, evaluated0 = validate385.evaluated;
10032
+ validate383.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10033
+ var schema370 = { type: "object", description: "A text expression or direction at a rhythmic position (e.g. 'dolce', 'rit.', 'a tempo'). Rendered in italic serif font.", required: ["text", "position"], properties: { text: { $ref: "#/$defs/text-content" }, frame: { $ref: "#/$defs/staff-text-frame-presentation" }, pagePosition: { $ref: "#/$defs/text-frame-page-position" }, position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, placement: { $ref: "#/$defs/expression-placement" }, staff: { type: "integer", minimum: 1, description: "Staff number (1-based)." }, voice: { type: "string", description: "Voice name." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp), applied after automatic placement." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this expression outward to clear other directions. Default (and when unset): true. Set false when the user manually places the expression (e.g. by dragging) so it stays exactly where put and others flow around it." } }, additionalProperties: !1 };
10034
+ var schema374 = { type: "object", required: ["anchor", "offset"], properties: { anchor: { type: "string", enum: ["top", "right", "bottom", "left", "top-left", "top-right", "bottom-right", "bottom-left"] }, offset: { type: "object", required: ["x", "y"], properties: { x: { type: "number", description: "Horizontal offset in staff spaces; positive moves right." }, y: { type: "number", description: "Vertical offset in staff spaces; positive moves down." } }, additionalProperties: !1 } }, additionalProperties: !1 };
10035
+ function validate388(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10036
+ let vErrors = null, errors = 0, evaluated0 = validate388.evaluated;
9781
10037
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9782
10038
  if (data.id === void 0) {
9783
10039
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -9987,7 +10243,7 @@ function validate385(data, { instancePath = "", parentData, parentDataProperty,
9987
10243
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
9988
10244
  }
9989
10245
  if (!(data11 === "top" || data11 === "right" || data11 === "bottom" || data11 === "left" || data11 === "top-left" || data11 === "top-right" || data11 === "bottom-right" || data11 === "bottom-left")) {
9990
- let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema369.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
10246
+ let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema374.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
9991
10247
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
9992
10248
  }
9993
10249
  }
@@ -10158,11 +10414,11 @@ function validate385(data, { instancePath = "", parentData, parentDataProperty,
10158
10414
  let err69 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10159
10415
  vErrors === null ? vErrors = [err69] : vErrors.push(err69), errors++;
10160
10416
  }
10161
- return validate385.errors = vErrors, errors === 0;
10417
+ return validate388.errors = vErrors, errors === 0;
10162
10418
  }
10163
- validate385.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10164
- function validate383(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10165
- let vErrors = null, errors = 0, evaluated0 = validate383.evaluated;
10419
+ validate388.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10420
+ function validate386(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10421
+ let vErrors = null, errors = 0, evaluated0 = validate386.evaluated;
10166
10422
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10167
10423
  if (data.text === void 0) {
10168
10424
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "text" }, message: "must have required property 'text'" };
@@ -10173,7 +10429,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10173
10429
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10174
10430
  }
10175
10431
  for (let key0 in data)
10176
- if (!func1.call(schema365.properties, key0)) {
10432
+ if (!func1.call(schema370.properties, key0)) {
10177
10433
  let err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10178
10434
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10179
10435
  }
@@ -10229,7 +10485,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10229
10485
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
10230
10486
  }
10231
10487
  if (!(data5 === "left" || data5 === "center" || data5 === "right")) {
10232
- let err12 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema366.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
10488
+ let err12 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema341.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
10233
10489
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
10234
10490
  }
10235
10491
  }
@@ -10240,7 +10496,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10240
10496
  vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
10241
10497
  }
10242
10498
  if (!(data6 === "left" || data6 === "center" || data6 === "right" || data6 === "justify")) {
10243
- let err14 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema366.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
10499
+ let err14 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema341.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
10244
10500
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
10245
10501
  }
10246
10502
  }
@@ -10263,7 +10519,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10263
10519
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
10264
10520
  }
10265
10521
  if (!(data8 === "none" || data8 === "solid")) {
10266
- let err18 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema366.properties.border.enum }, message: "must be equal to one of the allowed values" };
10522
+ let err18 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema341.properties.border.enum }, message: "must be equal to one of the allowed values" };
10267
10523
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
10268
10524
  }
10269
10525
  }
@@ -10276,7 +10532,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10276
10532
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
10277
10533
  }
10278
10534
  }
10279
- if (data.pagePosition !== void 0 && (validate385(data.pagePosition, { instancePath: instancePath + "/pagePosition", parentData: data, parentDataProperty: "pagePosition", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate385.errors : vErrors.concat(validate385.errors), errors = vErrors.length)), data.position !== void 0) {
10535
+ if (data.pagePosition !== void 0 && (validate388(data.pagePosition, { instancePath: instancePath + "/pagePosition", parentData: data, parentDataProperty: "pagePosition", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate388.errors : vErrors.concat(validate388.errors), errors = vErrors.length)), data.position !== void 0) {
10280
10536
  let data11 = data.position;
10281
10537
  if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
10282
10538
  if (data11.fraction === void 0) {
@@ -10324,7 +10580,7 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10324
10580
  vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
10325
10581
  }
10326
10582
  if (!(data14 === "below" || data14 === "above")) {
10327
- let err29 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema373.enum }, message: "must be equal to one of the allowed values" };
10583
+ let err29 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema343.enum }, message: "must be equal to one of the allowed values" };
10328
10584
  vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
10329
10585
  }
10330
10586
  }
@@ -10373,11 +10629,11 @@ function validate383(data, { instancePath = "", parentData, parentDataProperty,
10373
10629
  let err38 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10374
10630
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
10375
10631
  }
10376
- return validate383.errors = vErrors, errors === 0;
10632
+ return validate386.errors = vErrors, errors === 0;
10377
10633
  }
10378
- validate383.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10379
- function validate388(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10380
- let vErrors = null, errors = 0, evaluated0 = validate388.evaluated;
10634
+ validate386.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10635
+ function validate391(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10636
+ let vErrors = null, errors = 0, evaluated0 = validate391.evaluated;
10381
10637
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10382
10638
  if (data.staff === void 0) {
10383
10639
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "staff" }, message: "must have required property 'staff'" };
@@ -10418,12 +10674,12 @@ function validate388(data, { instancePath = "", parentData, parentDataProperty,
10418
10674
  let err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10419
10675
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10420
10676
  }
10421
- return validate388.errors = vErrors, errors === 0;
10677
+ return validate391.errors = vErrors, errors === 0;
10422
10678
  }
10423
- validate388.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10424
- var schema379 = { type: "object", description: "A staff-local meter distinct from the global (`global.measures[].time`) meter. Semantically identical in shape to a time signature, but never engraved on other staves and never establishes the score's barline duration by itself.", required: ["count", "unit"], properties: { count: { type: "integer", minimum: 1, description: "Numerator (beats per measure) of the staff-local meter." }, unit: { type: "integer", enum: [1, 2, 4, 8, 16, 32, 64, 128], description: "Denominator (beat unit) of the staff-local meter." }, beatStructure: { type: "array", items: { type: "integer", minimum: 1 }, minItems: 1, description: "Ordered beat-group lengths in units of the staff-local meter's denominator. Values must sum to count. When omitted, Viritura resolves the conventional default structure for this count/unit, same as a global time signature." } }, additionalProperties: !1 }, schema380 = { type: "string", enum: ["sharedDuration", "fitMeasure"], description: "How a staff-local meter's measure duration relates to the global measure it shares a barline with. `sharedDuration` requires the staff-local meter's measure duration to equal the global measure's duration exactly, so ordinary written note durations already line up \u2014 no scaling. `fitMeasure` maps one complete staff-local measure onto one complete global measure by a derived exact ratio (e.g. a local 6/8 measure of two dotted-quarter pulses onto a global 2/4 measure of two quarter-note pulses), so the staff's written durations are proportionally scaled for spacing and playback while the notated meter keeps its own conventional note values." };
10425
- function validate391(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10426
- let vErrors = null, errors = 0, evaluated0 = validate391.evaluated;
10679
+ validate391.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10680
+ var schema384 = { type: "object", description: "A staff-local meter distinct from the global (`global.measures[].time`) meter. Semantically identical in shape to a time signature, but never engraved on other staves and never establishes the score's barline duration by itself.", required: ["count", "unit"], properties: { count: { type: "integer", minimum: 1, description: "Numerator (beats per measure) of the staff-local meter." }, unit: { type: "integer", enum: [1, 2, 4, 8, 16, 32, 64, 128], description: "Denominator (beat unit) of the staff-local meter." }, beatStructure: { type: "array", items: { type: "integer", minimum: 1 }, minItems: 1, description: "Ordered beat-group lengths in units of the staff-local meter's denominator. Values must sum to count. When omitted, Viritura resolves the conventional default structure for this count/unit, same as a global time signature." } }, additionalProperties: !1 }, schema385 = { type: "string", enum: ["sharedDuration", "fitMeasure"], description: "How a staff-local meter's measure duration relates to the global measure it shares a barline with. `sharedDuration` requires the staff-local meter's measure duration to equal the global measure's duration exactly, so ordinary written note durations already line up \u2014 no scaling. `fitMeasure` maps one complete staff-local measure onto one complete global measure by a derived exact ratio (e.g. a local 6/8 measure of two dotted-quarter pulses onto a global 2/4 measure of two quarter-note pulses), so the staff's written durations are proportionally scaled for spacing and playback while the notated meter keeps its own conventional note values." };
10681
+ function validate394(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10682
+ let vErrors = null, errors = 0, evaluated0 = validate394.evaluated;
10427
10683
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10428
10684
  if (data.staff === void 0) {
10429
10685
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "staff" }, message: "must have required property 'staff'" };
@@ -10487,7 +10743,7 @@ function validate391(data, { instancePath = "", parentData, parentDataProperty,
10487
10743
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
10488
10744
  }
10489
10745
  if (!(data3 === 1 || data3 === 2 || data3 === 4 || data3 === 8 || data3 === 16 || data3 === 32 || data3 === 64 || data3 === 128)) {
10490
- let err12 = { instancePath: instancePath + "/meter/unit", schemaPath: "#/$defs/staff-meter/properties/unit/enum", keyword: "enum", params: { allowedValues: schema379.properties.unit.enum }, message: "must be equal to one of the allowed values" };
10746
+ let err12 = { instancePath: instancePath + "/meter/unit", schemaPath: "#/$defs/staff-meter/properties/unit/enum", keyword: "enum", params: { allowedValues: schema384.properties.unit.enum }, message: "must be equal to one of the allowed values" };
10491
10747
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
10492
10748
  }
10493
10749
  }
@@ -10527,7 +10783,7 @@ function validate391(data, { instancePath = "", parentData, parentDataProperty,
10527
10783
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
10528
10784
  }
10529
10785
  if (!(data6 === "sharedDuration" || data6 === "fitMeasure")) {
10530
- let err19 = { instancePath: instancePath + "/synchronization", schemaPath: "#/$defs/staff-meter-synchronization/enum", keyword: "enum", params: { allowedValues: schema380.enum }, message: "must be equal to one of the allowed values" };
10786
+ let err19 = { instancePath: instancePath + "/synchronization", schemaPath: "#/$defs/staff-meter-synchronization/enum", keyword: "enum", params: { allowedValues: schema385.enum }, message: "must be equal to one of the allowed values" };
10531
10787
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
10532
10788
  }
10533
10789
  }
@@ -10535,14 +10791,14 @@ function validate391(data, { instancePath = "", parentData, parentDataProperty,
10535
10791
  let err20 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10536
10792
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
10537
10793
  }
10538
- return validate391.errors = vErrors, errors === 0;
10794
+ return validate394.errors = vErrors, errors === 0;
10539
10795
  }
10540
- validate391.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10541
- function validate390(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10542
- let vErrors = null, errors = 0, evaluated0 = validate390.evaluated;
10796
+ validate394.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10797
+ function validate393(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10798
+ let vErrors = null, errors = 0, evaluated0 = validate393.evaluated;
10543
10799
  evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0);
10544
10800
  let _errs0 = errors, valid0 = !1, passing0 = null, _errs1 = errors;
10545
- validate391(data, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate391.errors : vErrors.concat(validate391.errors), errors = vErrors.length);
10801
+ validate394(data, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate394.errors : vErrors.concat(validate394.errors), errors = vErrors.length);
10546
10802
  var _valid0 = _errs1 === errors;
10547
10803
  if (_valid0) {
10548
10804
  valid0 = !0, passing0 = 0;
@@ -10596,11 +10852,11 @@ function validate390(data, { instancePath = "", parentData, parentDataProperty,
10596
10852
  let err8 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
10597
10853
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
10598
10854
  }
10599
- return validate390.errors = vErrors, evaluated0.props = props0, errors === 0;
10855
+ return validate393.errors = vErrors, evaluated0.props = props0, errors === 0;
10600
10856
  }
10601
- validate390.evaluated = { dynamicProps: !0, dynamicItems: !1 };
10602
- function validate394(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10603
- let vErrors = null, errors = 0, evaluated0 = validate394.evaluated;
10857
+ validate393.evaluated = { dynamicProps: !0, dynamicItems: !1 };
10858
+ function validate397(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10859
+ let vErrors = null, errors = 0, evaluated0 = validate397.evaluated;
10604
10860
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10605
10861
  for (let key0 in data)
10606
10862
  if (!(key0 === "position" || key0 === "instrument" || key0 === "transposition" || key0 === "instruction" || key0 === "reminder")) {
@@ -10769,11 +11025,11 @@ function validate394(data, { instancePath = "", parentData, parentDataProperty,
10769
11025
  let err29 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10770
11026
  vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
10771
11027
  }
10772
- return validate394.errors = vErrors, errors === 0;
11028
+ return validate397.errors = vErrors, errors === 0;
10773
11029
  }
10774
- validate394.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10775
- function validate379(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10776
- let vErrors = null, errors = 0, evaluated0 = validate379.evaluated;
11030
+ validate397.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11031
+ function validate382(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11032
+ let vErrors = null, errors = 0, evaluated0 = validate382.evaluated;
10777
11033
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10778
11034
  for (let key0 in data)
10779
11035
  if (!(key0 === "pedals" || key0 === "expressions" || key0 === "condensingOverride" || key0 === "groupingDisplayOverrides" || key0 === "staffMeters" || key0 === "instrumentChanges")) {
@@ -10785,7 +11041,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10785
11041
  if (Array.isArray(data0)) {
10786
11042
  let len0 = data0.length;
10787
11043
  for (let i0 = 0; i0 < len0; i0++)
10788
- validate380(data0[i0], { instancePath: instancePath + "/pedals/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate380.errors : vErrors.concat(validate380.errors), errors = vErrors.length);
11044
+ validate383(data0[i0], { instancePath: instancePath + "/pedals/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate383.errors : vErrors.concat(validate383.errors), errors = vErrors.length);
10789
11045
  } else {
10790
11046
  let err1 = { instancePath: instancePath + "/pedals", schemaPath: "#/properties/pedals/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10791
11047
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -10796,7 +11052,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10796
11052
  if (Array.isArray(data2)) {
10797
11053
  let len1 = data2.length;
10798
11054
  for (let i1 = 0; i1 < len1; i1++)
10799
- validate383(data2[i1], { instancePath: instancePath + "/expressions/" + i1, parentData: data2, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate383.errors : vErrors.concat(validate383.errors), errors = vErrors.length);
11055
+ validate386(data2[i1], { instancePath: instancePath + "/expressions/" + i1, parentData: data2, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate386.errors : vErrors.concat(validate386.errors), errors = vErrors.length);
10800
11056
  } else {
10801
11057
  let err2 = { instancePath: instancePath + "/expressions", schemaPath: "#/properties/expressions/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10802
11058
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
@@ -10809,7 +11065,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10809
11065
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10810
11066
  }
10811
11067
  if (!(data4 === "unison" || data4 === "solo1" || data4 === "solo2" || data4 === "amalgamate" || data4 === "divisi")) {
10812
- let err4 = { instancePath: instancePath + "/condensingOverride", schemaPath: "#/properties/condensingOverride/enum", keyword: "enum", params: { allowedValues: schema360.properties.condensingOverride.enum }, message: "must be equal to one of the allowed values" };
11068
+ let err4 = { instancePath: instancePath + "/condensingOverride", schemaPath: "#/properties/condensingOverride/enum", keyword: "enum", params: { allowedValues: schema365.properties.condensingOverride.enum }, message: "must be equal to one of the allowed values" };
10813
11069
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10814
11070
  }
10815
11071
  }
@@ -10818,7 +11074,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10818
11074
  if (Array.isArray(data5)) {
10819
11075
  let len2 = data5.length;
10820
11076
  for (let i2 = 0; i2 < len2; i2++)
10821
- validate388(data5[i2], { instancePath: instancePath + "/groupingDisplayOverrides/" + i2, parentData: data5, parentDataProperty: i2, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate388.errors : vErrors.concat(validate388.errors), errors = vErrors.length);
11077
+ validate391(data5[i2], { instancePath: instancePath + "/groupingDisplayOverrides/" + i2, parentData: data5, parentDataProperty: i2, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate391.errors : vErrors.concat(validate391.errors), errors = vErrors.length);
10822
11078
  } else {
10823
11079
  let err5 = { instancePath: instancePath + "/groupingDisplayOverrides", schemaPath: "#/properties/groupingDisplayOverrides/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10824
11080
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
@@ -10829,7 +11085,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10829
11085
  if (Array.isArray(data7)) {
10830
11086
  let len3 = data7.length;
10831
11087
  for (let i3 = 0; i3 < len3; i3++)
10832
- validate390(data7[i3], { instancePath: instancePath + "/staffMeters/" + i3, parentData: data7, parentDataProperty: i3, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate390.errors : vErrors.concat(validate390.errors), errors = vErrors.length);
11088
+ validate393(data7[i3], { instancePath: instancePath + "/staffMeters/" + i3, parentData: data7, parentDataProperty: i3, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate393.errors : vErrors.concat(validate393.errors), errors = vErrors.length);
10833
11089
  } else {
10834
11090
  let err6 = { instancePath: instancePath + "/staffMeters", schemaPath: "#/properties/staffMeters/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10835
11091
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
@@ -10840,7 +11096,7 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10840
11096
  if (Array.isArray(data9)) {
10841
11097
  let len4 = data9.length;
10842
11098
  for (let i4 = 0; i4 < len4; i4++)
10843
- validate394(data9[i4], { instancePath: instancePath + "/instrumentChanges/" + i4, parentData: data9, parentDataProperty: i4, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate394.errors : vErrors.concat(validate394.errors), errors = vErrors.length);
11099
+ validate397(data9[i4], { instancePath: instancePath + "/instrumentChanges/" + i4, parentData: data9, parentDataProperty: i4, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate397.errors : vErrors.concat(validate397.errors), errors = vErrors.length);
10844
11100
  } else {
10845
11101
  let err7 = { instancePath: instancePath + "/instrumentChanges", schemaPath: "#/properties/instrumentChanges/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10846
11102
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
@@ -10850,12 +11106,12 @@ function validate379(data, { instancePath = "", parentData, parentDataProperty,
10850
11106
  let err8 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10851
11107
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
10852
11108
  }
10853
- return validate379.errors = vErrors, errors === 0;
11109
+ return validate382.errors = vErrors, errors === 0;
10854
11110
  }
10855
- validate379.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10856
- var schema388 = { type: "object", description: "Links measure-local tuplet fragments into one logical tuplet spanning barlines. The same id and ratio must be used by contiguous fragments.", required: ["id", "type"], properties: { id: { type: "string", minLength: 1, description: "Stable identity shared by every fragment of the logical tuplet." }, type: { type: "string", enum: ["start", "continue", "stop"], description: "The fragment's position within the logical tuplet." } }, additionalProperties: !1 };
10857
- function validate396(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10858
- let vErrors = null, errors = 0, evaluated0 = validate396.evaluated;
11111
+ validate382.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11112
+ var schema393 = { type: "object", description: "Links measure-local tuplet fragments into one logical tuplet spanning barlines. The same id and ratio must be used by contiguous fragments.", required: ["id", "type"], properties: { id: { type: "string", minLength: 1, description: "Stable identity shared by every fragment of the logical tuplet." }, type: { type: "string", enum: ["start", "continue", "stop"], description: "The fragment's position within the logical tuplet." } }, additionalProperties: !1 };
11113
+ function validate399(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11114
+ let vErrors = null, errors = 0, evaluated0 = validate399.evaluated;
10859
11115
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10860
11116
  for (let key0 in data)
10861
11117
  if (key0 !== "span") {
@@ -10897,7 +11153,7 @@ function validate396(data, { instancePath = "", parentData, parentDataProperty,
10897
11153
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10898
11154
  }
10899
11155
  if (!(data2 === "start" || data2 === "continue" || data2 === "stop")) {
10900
- let err7 = { instancePath: instancePath + "/span/type", schemaPath: "#/$defs/tuplet-span/properties/type/enum", keyword: "enum", params: { allowedValues: schema388.properties.type.enum }, message: "must be equal to one of the allowed values" };
11156
+ let err7 = { instancePath: instancePath + "/span/type", schemaPath: "#/$defs/tuplet-span/properties/type/enum", keyword: "enum", params: { allowedValues: schema393.properties.type.enum }, message: "must be equal to one of the allowed values" };
10901
11157
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10902
11158
  }
10903
11159
  }
@@ -10910,11 +11166,11 @@ function validate396(data, { instancePath = "", parentData, parentDataProperty,
10910
11166
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10911
11167
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
10912
11168
  }
10913
- return validate396.errors = vErrors, errors === 0;
11169
+ return validate399.errors = vErrors, errors === 0;
10914
11170
  }
10915
- validate396.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10916
- function validate397(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10917
- let vErrors = null, errors = 0, evaluated0 = validate397.evaluated;
11171
+ validate399.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11172
+ function validate400(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11173
+ let vErrors = null, errors = 0, evaluated0 = validate400.evaluated;
10918
11174
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10919
11175
  for (let key0 in data)
10920
11176
  if (key0 !== "staffLineRangeRestore") {
@@ -10929,11 +11185,11 @@ function validate397(data, { instancePath = "", parentData, parentDataProperty,
10929
11185
  let err2 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10930
11186
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10931
11187
  }
10932
- return validate397.errors = vErrors, errors === 0;
11188
+ return validate400.errors = vErrors, errors === 0;
10933
11189
  }
10934
- validate397.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10935
- function validate398(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10936
- let vErrors = null, errors = 0, evaluated0 = validate398.evaluated;
11190
+ validate400.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11191
+ function validate401(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11192
+ let vErrors = null, errors = 0, evaluated0 = validate401.evaluated;
10937
11193
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10938
11194
  for (let key0 in data)
10939
11195
  if (!(key0 === "manualOffset" || key0 === "avoidCollisions")) {
@@ -10970,12 +11226,12 @@ function validate398(data, { instancePath = "", parentData, parentDataProperty,
10970
11226
  let err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10971
11227
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10972
11228
  }
10973
- return validate398.errors = vErrors, errors === 0;
11229
+ return validate401.errors = vErrors, errors === 0;
10974
11230
  }
10975
- validate398.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10976
- var schema394 = { type: "string", enum: ["glissando", "portamento"], description: "Semantic kind of a glissando-family line." }, schema395 = { type: "string", enum: ["straight", "wavy"], description: "Glissando/portamento line style." };
10977
- function validate400(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10978
- let vErrors = null, errors = 0, evaluated0 = validate400.evaluated;
11231
+ validate401.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11232
+ var schema399 = { type: "string", enum: ["glissando", "portamento"], description: "Semantic kind of a glissando-family line." }, schema400 = { type: "string", enum: ["straight", "wavy"], description: "Glissando/portamento line style." };
11233
+ function validate403(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11234
+ let vErrors = null, errors = 0, evaluated0 = validate403.evaluated;
10979
11235
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10980
11236
  if (data.target === void 0) {
10981
11237
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "target" }, message: "must have required property 'target'" };
@@ -10997,7 +11253,7 @@ function validate400(data, { instancePath = "", parentData, parentDataProperty,
10997
11253
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10998
11254
  }
10999
11255
  if (!(data1 === "glissando" || data1 === "portamento")) {
11000
- let err4 = { instancePath: instancePath + "/kind", schemaPath: "#/$defs/glissando-kind/enum", keyword: "enum", params: { allowedValues: schema394.enum }, message: "must be equal to one of the allowed values" };
11256
+ let err4 = { instancePath: instancePath + "/kind", schemaPath: "#/$defs/glissando-kind/enum", keyword: "enum", params: { allowedValues: schema399.enum }, message: "must be equal to one of the allowed values" };
11001
11257
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
11002
11258
  }
11003
11259
  }
@@ -11008,7 +11264,7 @@ function validate400(data, { instancePath = "", parentData, parentDataProperty,
11008
11264
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11009
11265
  }
11010
11266
  if (!(data2 === "straight" || data2 === "wavy")) {
11011
- let err6 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/glissando-style/enum", keyword: "enum", params: { allowedValues: schema395.enum }, message: "must be equal to one of the allowed values" };
11267
+ let err6 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/glissando-style/enum", keyword: "enum", params: { allowedValues: schema400.enum }, message: "must be equal to one of the allowed values" };
11012
11268
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11013
11269
  }
11014
11270
  }
@@ -11024,11 +11280,11 @@ function validate400(data, { instancePath = "", parentData, parentDataProperty,
11024
11280
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11025
11281
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
11026
11282
  }
11027
- return validate400.errors = vErrors, errors === 0;
11283
+ return validate403.errors = vErrors, errors === 0;
11028
11284
  }
11029
- validate400.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11030
- function validate399(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11031
- let vErrors = null, errors = 0, evaluated0 = validate399.evaluated;
11285
+ validate403.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11286
+ function validate402(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11287
+ let vErrors = null, errors = 0, evaluated0 = validate402.evaluated;
11032
11288
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11033
11289
  for (let key0 in data)
11034
11290
  if (key0 !== "glissandos") {
@@ -11040,7 +11296,7 @@ function validate399(data, { instancePath = "", parentData, parentDataProperty,
11040
11296
  if (Array.isArray(data0)) {
11041
11297
  let len0 = data0.length;
11042
11298
  for (let i0 = 0; i0 < len0; i0++)
11043
- validate400(data0[i0], { instancePath: instancePath + "/glissandos/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate400.errors : vErrors.concat(validate400.errors), errors = vErrors.length);
11299
+ validate403(data0[i0], { instancePath: instancePath + "/glissandos/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate403.errors : vErrors.concat(validate403.errors), errors = vErrors.length);
11044
11300
  } else {
11045
11301
  let err1 = { instancePath: instancePath + "/glissandos", schemaPath: "#/properties/glissandos/type", keyword: "type", params: { type: "array" }, message: "must be array" };
11046
11302
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -11050,13 +11306,13 @@ function validate399(data, { instancePath = "", parentData, parentDataProperty,
11050
11306
  let err2 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11051
11307
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11052
11308
  }
11053
- return validate399.errors = vErrors, errors === 0;
11309
+ return validate402.errors = vErrors, errors === 0;
11054
11310
  }
11055
- validate399.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11056
- var schema396 = { type: "object", description: "Viritura vendor extensions on an event-markings object.", properties: { staccatissimoWedge: { type: "object", description: "Staccatissimo wedge articulation variant (SMuFL articStaccatissimoWedge).", properties: { placement: { type: "string", enum: ["above", "below", "auto"], description: "Vertical placement relative to the staff." } }, additionalProperties: !1 }, trill: { $ref: "#/$defs/trill" }, ornaments: { type: "array", items: { $ref: "#/$defs/ornament-type" }, description: "Ornament markings (turn, mordent, etc.)." }, fingerings: { type: "array", items: { $ref: "#/$defs/fingering" }, description: "Fingering annotations." }, arpeggio: { $ref: "#/$defs/arpeggio" } }, additionalProperties: !1 }, schema399 = { type: "string", enum: ["turn", "invertedTurn", "mordent", "invertedMordent", "shortTrill", "trillMordent", "delayedTurn", "schleifer"], description: "Ornament type. Each maps to a SMuFL ornament glyph." };
11057
- var schema401 = { type: "object", description: "A rolled-chord (arpeggio) indication on a chord event: a wavy vertical line to the left of the chord. Created on MusicXML `<arpeggiate>` import and authored natively.", properties: { direction: { type: "string", enum: ["up", "down", "auto"], description: "Roll direction. Omitted means the renderer's default (upward) arpeggio." } }, additionalProperties: !1 }, schema397 = { type: "object", description: "A trill marking on a note, optionally followed by a wavy extension line.", properties: { accidental: { type: "integer", enum: [-1, 0, 1], description: "Accidental on the auxiliary note: -1 = flat, 0 = natural, 1 = sharp." }, showSymbol: { type: "boolean", description: "Whether to display the initial trill symbol. Defaults to true; set false for an extension-only line." }, extension: { $ref: "#/$defs/trill-extension" } }, additionalProperties: !1 }, schema398 = { type: "object", description: "A wavy trill-extension line from this event to a target event.", required: ["target"], properties: { target: { type: "string", description: "ID of the event where the trill-extension line ends." }, targetEdge: { type: "string", enum: ["start", "end"], description: "Which rhythmic edge of the target event ends the line. Defaults to 'start'." } }, additionalProperties: !1 };
11058
- function validate403(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11059
- let vErrors = null, errors = 0, evaluated0 = validate403.evaluated;
11311
+ validate402.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11312
+ var schema401 = { type: "object", description: "Viritura vendor extensions on an event-markings object.", properties: { staccatissimoWedge: { type: "object", description: "Staccatissimo wedge articulation variant (SMuFL articStaccatissimoWedge).", properties: { placement: { type: "string", enum: ["above", "below", "auto"], description: "Vertical placement relative to the staff." } }, additionalProperties: !1 }, trill: { $ref: "#/$defs/trill" }, ornaments: { type: "array", items: { $ref: "#/$defs/ornament-type" }, description: "Ornament markings (turn, mordent, etc.)." }, fingerings: { type: "array", items: { $ref: "#/$defs/fingering" }, description: "Fingering annotations." }, arpeggio: { $ref: "#/$defs/arpeggio" } }, additionalProperties: !1 }, schema404 = { type: "string", enum: ["turn", "invertedTurn", "mordent", "invertedMordent", "shortTrill", "trillMordent", "delayedTurn", "schleifer"], description: "Ornament type. Each maps to a SMuFL ornament glyph." };
11313
+ var schema406 = { type: "object", description: "A rolled-chord (arpeggio) indication on a chord event: a wavy vertical line to the left of the chord. Created on MusicXML `<arpeggiate>` import and authored natively.", properties: { direction: { type: "string", enum: ["up", "down", "auto"], description: "Roll direction. Omitted means the renderer's default (upward) arpeggio." } }, additionalProperties: !1 }, schema402 = { type: "object", description: "A trill marking on a note, optionally followed by a wavy extension line.", properties: { accidental: { type: "integer", enum: [-1, 0, 1], description: "Accidental on the auxiliary note: -1 = flat, 0 = natural, 1 = sharp." }, showSymbol: { type: "boolean", description: "Whether to display the initial trill symbol. Defaults to true; set false for an extension-only line." }, extension: { $ref: "#/$defs/trill-extension" } }, additionalProperties: !1 }, schema403 = { type: "object", description: "A wavy trill-extension line from this event to a target event.", required: ["target"], properties: { target: { type: "string", description: "ID of the event where the trill-extension line ends." }, targetEdge: { type: "string", enum: ["start", "end"], description: "Which rhythmic edge of the target event ends the line. Defaults to 'start'." } }, additionalProperties: !1 };
11314
+ function validate406(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11315
+ let vErrors = null, errors = 0, evaluated0 = validate406.evaluated;
11060
11316
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11061
11317
  for (let key0 in data)
11062
11318
  if (!(key0 === "accidental" || key0 === "showSymbol" || key0 === "extension")) {
@@ -11070,7 +11326,7 @@ function validate403(data, { instancePath = "", parentData, parentDataProperty,
11070
11326
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11071
11327
  }
11072
11328
  if (!(data0 === -1 || data0 === 0 || data0 === 1)) {
11073
- let err2 = { instancePath: instancePath + "/accidental", schemaPath: "#/properties/accidental/enum", keyword: "enum", params: { allowedValues: schema397.properties.accidental.enum }, message: "must be equal to one of the allowed values" };
11329
+ let err2 = { instancePath: instancePath + "/accidental", schemaPath: "#/properties/accidental/enum", keyword: "enum", params: { allowedValues: schema402.properties.accidental.enum }, message: "must be equal to one of the allowed values" };
11074
11330
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11075
11331
  }
11076
11332
  }
@@ -11101,7 +11357,7 @@ function validate403(data, { instancePath = "", parentData, parentDataProperty,
11101
11357
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
11102
11358
  }
11103
11359
  if (!(data4 === "start" || data4 === "end")) {
11104
- let err8 = { instancePath: instancePath + "/extension/targetEdge", schemaPath: "#/$defs/trill-extension/properties/targetEdge/enum", keyword: "enum", params: { allowedValues: schema398.properties.targetEdge.enum }, message: "must be equal to one of the allowed values" };
11360
+ let err8 = { instancePath: instancePath + "/extension/targetEdge", schemaPath: "#/$defs/trill-extension/properties/targetEdge/enum", keyword: "enum", params: { allowedValues: schema403.properties.targetEdge.enum }, message: "must be equal to one of the allowed values" };
11105
11361
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
11106
11362
  }
11107
11363
  }
@@ -11114,11 +11370,11 @@ function validate403(data, { instancePath = "", parentData, parentDataProperty,
11114
11370
  let err10 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11115
11371
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
11116
11372
  }
11117
- return validate403.errors = vErrors, errors === 0;
11373
+ return validate406.errors = vErrors, errors === 0;
11118
11374
  }
11119
- validate403.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11120
- function validate402(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11121
- let vErrors = null, errors = 0, evaluated0 = validate402.evaluated;
11375
+ validate406.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11376
+ function validate405(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11377
+ let vErrors = null, errors = 0, evaluated0 = validate405.evaluated;
11122
11378
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11123
11379
  for (let key0 in data)
11124
11380
  if (!(key0 === "staccatissimoWedge" || key0 === "trill" || key0 === "ornaments" || key0 === "fingerings" || key0 === "arpeggio")) {
@@ -11140,7 +11396,7 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
11140
11396
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11141
11397
  }
11142
11398
  if (!(data1 === "above" || data1 === "below" || data1 === "auto")) {
11143
- let err3 = { instancePath: instancePath + "/staccatissimoWedge/placement", schemaPath: "#/properties/staccatissimoWedge/properties/placement/enum", keyword: "enum", params: { allowedValues: schema396.properties.staccatissimoWedge.properties.placement.enum }, message: "must be equal to one of the allowed values" };
11399
+ let err3 = { instancePath: instancePath + "/staccatissimoWedge/placement", schemaPath: "#/properties/staccatissimoWedge/properties/placement/enum", keyword: "enum", params: { allowedValues: schema401.properties.staccatissimoWedge.properties.placement.enum }, message: "must be equal to one of the allowed values" };
11144
11400
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11145
11401
  }
11146
11402
  }
@@ -11149,7 +11405,7 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
11149
11405
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
11150
11406
  }
11151
11407
  }
11152
- if (data.trill !== void 0 && (validate403(data.trill, { instancePath: instancePath + "/trill", parentData: data, parentDataProperty: "trill", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate403.errors : vErrors.concat(validate403.errors), errors = vErrors.length)), data.ornaments !== void 0) {
11408
+ if (data.trill !== void 0 && (validate406(data.trill, { instancePath: instancePath + "/trill", parentData: data, parentDataProperty: "trill", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate406.errors : vErrors.concat(validate406.errors), errors = vErrors.length)), data.ornaments !== void 0) {
11153
11409
  let data3 = data.ornaments;
11154
11410
  if (Array.isArray(data3)) {
11155
11411
  let len0 = data3.length;
@@ -11160,7 +11416,7 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
11160
11416
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11161
11417
  }
11162
11418
  if (!(data4 === "turn" || data4 === "invertedTurn" || data4 === "mordent" || data4 === "invertedMordent" || data4 === "shortTrill" || data4 === "trillMordent" || data4 === "delayedTurn" || data4 === "schleifer")) {
11163
- let err6 = { instancePath: instancePath + "/ornaments/" + i0, schemaPath: "#/$defs/ornament-type/enum", keyword: "enum", params: { allowedValues: schema399.enum }, message: "must be equal to one of the allowed values" };
11419
+ let err6 = { instancePath: instancePath + "/ornaments/" + i0, schemaPath: "#/$defs/ornament-type/enum", keyword: "enum", params: { allowedValues: schema404.enum }, message: "must be equal to one of the allowed values" };
11164
11420
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11165
11421
  }
11166
11422
  }
@@ -11227,7 +11483,7 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
11227
11483
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
11228
11484
  }
11229
11485
  if (!(data9 === "up" || data9 === "down" || data9 === "auto")) {
11230
- let err17 = { instancePath: instancePath + "/arpeggio/direction", schemaPath: "#/$defs/arpeggio/properties/direction/enum", keyword: "enum", params: { allowedValues: schema401.properties.direction.enum }, message: "must be equal to one of the allowed values" };
11486
+ let err17 = { instancePath: instancePath + "/arpeggio/direction", schemaPath: "#/$defs/arpeggio/properties/direction/enum", keyword: "enum", params: { allowedValues: schema406.properties.direction.enum }, message: "must be equal to one of the allowed values" };
11231
11487
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11232
11488
  }
11233
11489
  }
@@ -11240,11 +11496,11 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
11240
11496
  let err19 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11241
11497
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
11242
11498
  }
11243
- return validate402.errors = vErrors, errors === 0;
11499
+ return validate405.errors = vErrors, errors === 0;
11244
11500
  }
11245
- validate402.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11246
- function validate405(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11247
- let vErrors = null, errors = 0, evaluated0 = validate405.evaluated;
11501
+ validate405.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11502
+ function validate408(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11503
+ let vErrors = null, errors = 0, evaluated0 = validate408.evaluated;
11248
11504
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11249
11505
  for (let key0 in data)
11250
11506
  if (key0 !== "notehead") {
@@ -11258,7 +11514,7 @@ function validate405(data, { instancePath = "", parentData, parentDataProperty,
11258
11514
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11259
11515
  }
11260
11516
  if (!(data0 === "normal" || data0 === "x" || data0 === "circleX" || data0 === "diamond" || data0 === "slash" || data0 === "triangleUp" || data0 === "triangleDown")) {
11261
- let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema359.enum }, message: "must be equal to one of the allowed values" };
11517
+ let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema364.enum }, message: "must be equal to one of the allowed values" };
11262
11518
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11263
11519
  }
11264
11520
  }
@@ -11266,11 +11522,11 @@ function validate405(data, { instancePath = "", parentData, parentDataProperty,
11266
11522
  let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11267
11523
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11268
11524
  }
11269
- return validate405.errors = vErrors, errors === 0;
11525
+ return validate408.errors = vErrors, errors === 0;
11270
11526
  }
11271
- validate405.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11272
- function validate407(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11273
- let vErrors = null, errors = 0, evaluated0 = validate407.evaluated;
11527
+ validate408.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11528
+ function validate410(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11529
+ let vErrors = null, errors = 0, evaluated0 = validate410.evaluated;
11274
11530
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11275
11531
  for (let key0 in data)
11276
11532
  if (!(key0 === "p0" || key0 === "p1" || key0 === "p2" || key0 === "p3")) {
@@ -11369,27 +11625,27 @@ function validate407(data, { instancePath = "", parentData, parentDataProperty,
11369
11625
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11370
11626
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11371
11627
  }
11372
- return validate407.errors = vErrors, errors === 0;
11628
+ return validate410.errors = vErrors, errors === 0;
11373
11629
  }
11374
- validate407.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11375
- function validate406(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11376
- let vErrors = null, errors = 0, evaluated0 = validate406.evaluated;
11630
+ validate410.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11631
+ function validate409(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11632
+ let vErrors = null, errors = 0, evaluated0 = validate409.evaluated;
11377
11633
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11378
11634
  for (let key0 in data)
11379
11635
  if (key0 !== "shape") {
11380
11636
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
11381
11637
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
11382
11638
  }
11383
- data.shape !== void 0 && (validate407(data.shape, { instancePath: instancePath + "/shape", parentData: data, parentDataProperty: "shape", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate407.errors : vErrors.concat(validate407.errors), errors = vErrors.length));
11639
+ data.shape !== void 0 && (validate410(data.shape, { instancePath: instancePath + "/shape", parentData: data, parentDataProperty: "shape", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate410.errors : vErrors.concat(validate410.errors), errors = vErrors.length));
11384
11640
  } else {
11385
11641
  let err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11386
11642
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11387
11643
  }
11388
- return validate406.errors = vErrors, errors === 0;
11644
+ return validate409.errors = vErrors, errors === 0;
11389
11645
  }
11390
- validate406.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11391
- function validate409(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11392
- let vErrors = null, errors = 0, evaluated0 = validate409.evaluated;
11646
+ validate409.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11647
+ function validate412(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11648
+ let vErrors = null, errors = 0, evaluated0 = validate412.evaluated;
11393
11649
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11394
11650
  for (let key0 in data)
11395
11651
  if (key0 !== "derived") {
@@ -11411,11 +11667,11 @@ function validate409(data, { instancePath = "", parentData, parentDataProperty,
11411
11667
  let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11412
11668
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11413
11669
  }
11414
- return validate409.errors = vErrors, errors === 0;
11670
+ return validate412.errors = vErrors, errors === 0;
11415
11671
  }
11416
- validate409.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11417
- function validate410(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11418
- let vErrors = null, errors = 0, evaluated0 = validate410.evaluated;
11672
+ validate412.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11673
+ function validate413(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11674
+ let vErrors = null, errors = 0, evaluated0 = validate413.evaluated;
11419
11675
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data))
11420
11676
  for (let key0 in data) {
11421
11677
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
@@ -11425,20 +11681,20 @@ function validate410(data, { instancePath = "", parentData, parentDataProperty,
11425
11681
  let err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11426
11682
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11427
11683
  }
11428
- return validate410.errors = vErrors, errors === 0;
11684
+ return validate413.errors = vErrors, errors === 0;
11429
11685
  }
11430
- validate410.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11431
- var schema429 = { type: "object", description: "A forced system or page start within otherwise automatic score flow.", required: ["measure", "kind"], properties: { measure: { type: "string", minLength: 1 }, kind: { type: "string", enum: ["system", "page"] } }, additionalProperties: !1 }, schema413 = { type: "object", properties: { width: { type: "number", exclusiveMinimum: 0 }, height: { type: "number", exclusiveMinimum: 0 }, orientation: { type: "string", enum: ["portrait", "landscape"] }, margins: { $ref: "#/$defs/page-margins" }, spatiumMm: { type: "number", exclusiveMinimum: 0 }, pageTurns: { $ref: "#/$defs/page-turn-settings" } }, additionalProperties: !1 };
11432
- var schema415 = { type: "object", required: ["enabled"], properties: { enabled: { type: "boolean" }, preset: { type: "string", enum: ["relaxed", "professional"] }, comfortableSecs: { type: "number", minimum: 0 }, vsSecs: { type: "number", minimum: 0 }, minAcceptableSecs: { type: "number", minimum: 0 }, targetFillFraction: { type: "number", minimum: 0, maximum: 1 }, minFillFraction: { type: "number", minimum: 0, maximum: 1 }, verticalJustifyThreshold: { type: "number", minimum: 0, maximum: 1 }, allowPartialPages: { type: "boolean" }, allowIntentionalBlanks: { type: "boolean" }, titlePage: { type: "string", enum: ["auto", "always", "never"] }, firstPageRecto: { type: "boolean" }, emitVsMarks: { type: "boolean" }, defaultBpm: { type: "number", exclusiveMinimum: 0 }, weights: { $ref: "#/$defs/page-turn-weights" } }, additionalProperties: !1 };
11433
- function validate413(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11434
- let vErrors = null, errors = 0, evaluated0 = validate413.evaluated;
11686
+ validate413.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11687
+ var schema434 = { type: "object", description: "A forced system or page start within otherwise automatic score flow.", required: ["measure", "kind"], properties: { measure: { type: "string", minLength: 1 }, kind: { type: "string", enum: ["system", "page"] } }, additionalProperties: !1 }, schema418 = { type: "object", properties: { width: { type: "number", exclusiveMinimum: 0 }, height: { type: "number", exclusiveMinimum: 0 }, orientation: { type: "string", enum: ["portrait", "landscape"] }, margins: { $ref: "#/$defs/page-margins" }, spatiumMm: { type: "number", exclusiveMinimum: 0 }, pageTurns: { $ref: "#/$defs/page-turn-settings" } }, additionalProperties: !1 };
11688
+ var schema420 = { type: "object", required: ["enabled"], properties: { enabled: { type: "boolean" }, preset: { type: "string", enum: ["relaxed", "professional"] }, comfortableSecs: { type: "number", minimum: 0 }, vsSecs: { type: "number", minimum: 0 }, minAcceptableSecs: { type: "number", minimum: 0 }, targetFillFraction: { type: "number", minimum: 0, maximum: 1 }, minFillFraction: { type: "number", minimum: 0, maximum: 1 }, verticalJustifyThreshold: { type: "number", minimum: 0, maximum: 1 }, allowPartialPages: { type: "boolean" }, allowIntentionalBlanks: { type: "boolean" }, titlePage: { type: "string", enum: ["auto", "always", "never"] }, firstPageRecto: { type: "boolean" }, emitVsMarks: { type: "boolean" }, defaultBpm: { type: "number", exclusiveMinimum: 0 }, weights: { $ref: "#/$defs/page-turn-weights" } }, additionalProperties: !1 };
11689
+ function validate416(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11690
+ let vErrors = null, errors = 0, evaluated0 = validate416.evaluated;
11435
11691
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11436
11692
  if (data.enabled === void 0) {
11437
11693
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "enabled" }, message: "must have required property 'enabled'" };
11438
11694
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
11439
11695
  }
11440
11696
  for (let key0 in data)
11441
- if (!func1.call(schema415.properties, key0)) {
11697
+ if (!func1.call(schema420.properties, key0)) {
11442
11698
  let err1 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
11443
11699
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11444
11700
  }
@@ -11453,7 +11709,7 @@ function validate413(data, { instancePath = "", parentData, parentDataProperty,
11453
11709
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11454
11710
  }
11455
11711
  if (!(data1 === "relaxed" || data1 === "professional")) {
11456
- let err4 = { instancePath: instancePath + "/preset", schemaPath: "#/properties/preset/enum", keyword: "enum", params: { allowedValues: schema415.properties.preset.enum }, message: "must be equal to one of the allowed values" };
11712
+ let err4 = { instancePath: instancePath + "/preset", schemaPath: "#/properties/preset/enum", keyword: "enum", params: { allowedValues: schema420.properties.preset.enum }, message: "must be equal to one of the allowed values" };
11457
11713
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
11458
11714
  }
11459
11715
  }
@@ -11556,7 +11812,7 @@ function validate413(data, { instancePath = "", parentData, parentDataProperty,
11556
11812
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
11557
11813
  }
11558
11814
  if (!(data10 === "auto" || data10 === "always" || data10 === "never")) {
11559
- let err23 = { instancePath: instancePath + "/titlePage", schemaPath: "#/properties/titlePage/enum", keyword: "enum", params: { allowedValues: schema415.properties.titlePage.enum }, message: "must be equal to one of the allowed values" };
11815
+ let err23 = { instancePath: instancePath + "/titlePage", schemaPath: "#/properties/titlePage/enum", keyword: "enum", params: { allowedValues: schema420.properties.titlePage.enum }, message: "must be equal to one of the allowed values" };
11560
11816
  vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
11561
11817
  }
11562
11818
  }
@@ -11621,11 +11877,11 @@ function validate413(data, { instancePath = "", parentData, parentDataProperty,
11621
11877
  let err36 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11622
11878
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
11623
11879
  }
11624
- return validate413.errors = vErrors, errors === 0;
11880
+ return validate416.errors = vErrors, errors === 0;
11625
11881
  }
11626
- validate413.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11627
- function validate412(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11628
- let vErrors = null, errors = 0, evaluated0 = validate412.evaluated;
11882
+ validate416.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11883
+ function validate415(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11884
+ let vErrors = null, errors = 0, evaluated0 = validate415.evaluated;
11629
11885
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11630
11886
  for (let key0 in data)
11631
11887
  if (!(key0 === "width" || key0 === "height" || key0 === "orientation" || key0 === "margins" || key0 === "spatiumMm" || key0 === "pageTurns")) {
@@ -11663,7 +11919,7 @@ function validate412(data, { instancePath = "", parentData, parentDataProperty,
11663
11919
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11664
11920
  }
11665
11921
  if (!(data2 === "portrait" || data2 === "landscape")) {
11666
- let err6 = { instancePath: instancePath + "/orientation", schemaPath: "#/properties/orientation/enum", keyword: "enum", params: { allowedValues: schema413.properties.orientation.enum }, message: "must be equal to one of the allowed values" };
11922
+ let err6 = { instancePath: instancePath + "/orientation", schemaPath: "#/properties/orientation/enum", keyword: "enum", params: { allowedValues: schema418.properties.orientation.enum }, message: "must be equal to one of the allowed values" };
11667
11923
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11668
11924
  }
11669
11925
  }
@@ -11756,17 +12012,17 @@ function validate412(data, { instancePath = "", parentData, parentDataProperty,
11756
12012
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
11757
12013
  }
11758
12014
  }
11759
- data.pageTurns !== void 0 && (validate413(data.pageTurns, { instancePath: instancePath + "/pageTurns", parentData: data, parentDataProperty: "pageTurns", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate413.errors : vErrors.concat(validate413.errors), errors = vErrors.length));
12015
+ data.pageTurns !== void 0 && (validate416(data.pageTurns, { instancePath: instancePath + "/pageTurns", parentData: data, parentDataProperty: "pageTurns", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate416.errors : vErrors.concat(validate416.errors), errors = vErrors.length));
11760
12016
  } else {
11761
12017
  let err23 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11762
12018
  vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
11763
12019
  }
11764
- return validate412.errors = vErrors, errors === 0;
12020
+ return validate415.errors = vErrors, errors === 0;
11765
12021
  }
11766
- validate412.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11767
- var schema418 = { type: "string", enum: ["full", "short", "hidden"] };
11768
- function validate416(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11769
- let vErrors = null, errors = 0, evaluated0 = validate416.evaluated;
12022
+ validate415.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12023
+ var schema423 = { type: "string", enum: ["full", "short", "hidden"] };
12024
+ function validate419(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12025
+ let vErrors = null, errors = 0, evaluated0 = validate419.evaluated;
11770
12026
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11771
12027
  if (data.firstSystem === void 0) {
11772
12028
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "firstSystem" }, message: "must have required property 'firstSystem'" };
@@ -11788,7 +12044,7 @@ function validate416(data, { instancePath = "", parentData, parentDataProperty,
11788
12044
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11789
12045
  }
11790
12046
  if (!(data0 === "full" || data0 === "short" || data0 === "hidden")) {
11791
- let err4 = { instancePath: instancePath + "/firstSystem", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema418.enum }, message: "must be equal to one of the allowed values" };
12047
+ let err4 = { instancePath: instancePath + "/firstSystem", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema423.enum }, message: "must be equal to one of the allowed values" };
11792
12048
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
11793
12049
  }
11794
12050
  }
@@ -11799,7 +12055,7 @@ function validate416(data, { instancePath = "", parentData, parentDataProperty,
11799
12055
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11800
12056
  }
11801
12057
  if (!(data1 === "full" || data1 === "short" || data1 === "hidden")) {
11802
- let err6 = { instancePath: instancePath + "/subsequentSystems", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema418.enum }, message: "must be equal to one of the allowed values" };
12058
+ let err6 = { instancePath: instancePath + "/subsequentSystems", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema423.enum }, message: "must be equal to one of the allowed values" };
11803
12059
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11804
12060
  }
11805
12061
  }
@@ -11807,12 +12063,12 @@ function validate416(data, { instancePath = "", parentData, parentDataProperty,
11807
12063
  let err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11808
12064
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
11809
12065
  }
11810
- return validate416.errors = vErrors, errors === 0;
12066
+ return validate419.errors = vErrors, errors === 0;
11811
12067
  }
11812
- validate416.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11813
- var schema420 = { type: "object", required: ["id", "locator", "placement", "width", "content"], properties: { id: { type: "string", minLength: 1 }, locator: { $ref: "#/$defs/text-frame-locator" }, placement: { $ref: "#/$defs/text-frame-placement" }, width: { $ref: "#/$defs/text-frame-width" }, content: { $ref: "#/$defs/text-content" }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"], description: "Horizontal alignment of the frame at its page anchor, independent of paragraph justification." }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"], description: "Paragraph line justification within the frame, independent of frame alignment." }, padding: { type: "number", minimum: 0, description: "Optional inset on all sides in staff spaces." }, border: { type: "string", enum: ["none", "solid"], description: "Optional frame border style." }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." }, sourceReference: { $ref: "#/$defs/text-frame-source-reference" }, staffAttachment: { $ref: "#/$defs/text-frame-staff-attachment" } }, additionalProperties: !1 };
11814
- function validate420(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11815
- let vErrors = null, errors = 0, evaluated0 = validate420.evaluated;
12068
+ validate419.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12069
+ var schema425 = { type: "object", required: ["id", "locator", "placement", "width", "content"], properties: { id: { type: "string", minLength: 1 }, locator: { $ref: "#/$defs/text-frame-locator" }, placement: { $ref: "#/$defs/text-frame-placement" }, width: { $ref: "#/$defs/text-frame-width" }, content: { $ref: "#/$defs/text-content" }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"], description: "Horizontal alignment of the frame at its page anchor, independent of paragraph justification." }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"], description: "Paragraph line justification within the frame, independent of frame alignment." }, padding: { type: "number", minimum: 0, description: "Optional inset on all sides in staff spaces." }, border: { type: "string", enum: ["none", "solid"], description: "Optional frame border style." }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." }, sourceReference: { $ref: "#/$defs/text-frame-source-reference" }, staffAttachment: { $ref: "#/$defs/text-frame-staff-attachment" } }, additionalProperties: !1 };
12070
+ function validate423(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12071
+ let vErrors = null, errors = 0, evaluated0 = validate423.evaluated;
11816
12072
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11817
12073
  if (data.partId === void 0) {
11818
12074
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "partId" }, message: "must have required property 'partId'" };
@@ -11915,7 +12171,7 @@ function validate420(data, { instancePath = "", parentData, parentDataProperty,
11915
12171
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11916
12172
  }
11917
12173
  if (!(data6 === "below" || data6 === "above")) {
11918
- let err18 = { instancePath: instancePath + "/expression/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema373.enum }, message: "must be equal to one of the allowed values" };
12174
+ let err18 = { instancePath: instancePath + "/expression/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema343.enum }, message: "must be equal to one of the allowed values" };
11919
12175
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
11920
12176
  }
11921
12177
  }
@@ -12006,11 +12262,11 @@ function validate420(data, { instancePath = "", parentData, parentDataProperty,
12006
12262
  let err35 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12007
12263
  vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
12008
12264
  }
12009
- return validate420.errors = vErrors, errors === 0;
12265
+ return validate423.errors = vErrors, errors === 0;
12010
12266
  }
12011
- validate420.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12012
- function validate418(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12013
- let vErrors = null, errors = 0, evaluated0 = validate418.evaluated;
12267
+ validate423.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12268
+ function validate421(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12269
+ let vErrors = null, errors = 0, evaluated0 = validate421.evaluated;
12014
12270
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12015
12271
  if (data.id === void 0) {
12016
12272
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -12033,7 +12289,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12033
12289
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12034
12290
  }
12035
12291
  for (let key0 in data)
12036
- if (!func1.call(schema420.properties, key0)) {
12292
+ if (!func1.call(schema425.properties, key0)) {
12037
12293
  let err5 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
12038
12294
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
12039
12295
  }
@@ -12213,7 +12469,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12213
12469
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
12214
12470
  }
12215
12471
  if (!(data10 === "top" || data10 === "right" || data10 === "bottom" || data10 === "left" || data10 === "top-left" || data10 === "top-right" || data10 === "bottom-right" || data10 === "bottom-left")) {
12216
- let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema369.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
12472
+ let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema374.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
12217
12473
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
12218
12474
  }
12219
12475
  }
@@ -12346,7 +12602,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12346
12602
  vErrors === null ? vErrors = [err61] : vErrors.push(err61), errors++;
12347
12603
  }
12348
12604
  if (!(data20 === "left" || data20 === "center" || data20 === "right")) {
12349
- let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema420.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
12605
+ let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema425.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
12350
12606
  vErrors === null ? vErrors = [err62] : vErrors.push(err62), errors++;
12351
12607
  }
12352
12608
  }
@@ -12357,7 +12613,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12357
12613
  vErrors === null ? vErrors = [err63] : vErrors.push(err63), errors++;
12358
12614
  }
12359
12615
  if (!(data21 === "left" || data21 === "center" || data21 === "right" || data21 === "justify")) {
12360
- let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema420.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
12616
+ let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema425.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
12361
12617
  vErrors === null ? vErrors = [err64] : vErrors.push(err64), errors++;
12362
12618
  }
12363
12619
  }
@@ -12380,7 +12636,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12380
12636
  vErrors === null ? vErrors = [err67] : vErrors.push(err67), errors++;
12381
12637
  }
12382
12638
  if (!(data23 === "none" || data23 === "solid")) {
12383
- let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema420.properties.border.enum }, message: "must be equal to one of the allowed values" };
12639
+ let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema425.properties.border.enum }, message: "must be equal to one of the allowed values" };
12384
12640
  vErrors === null ? vErrors = [err68] : vErrors.push(err68), errors++;
12385
12641
  }
12386
12642
  }
@@ -12429,28 +12685,28 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
12429
12685
  vErrors === null ? vErrors = [err76] : vErrors.push(err76), errors++;
12430
12686
  }
12431
12687
  }
12432
- data.staffAttachment !== void 0 && (validate420(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate420.errors : vErrors.concat(validate420.errors), errors = vErrors.length));
12688
+ data.staffAttachment !== void 0 && (validate423(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate423.errors : vErrors.concat(validate423.errors), errors = vErrors.length));
12433
12689
  } else {
12434
12690
  let err77 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12435
12691
  vErrors === null ? vErrors = [err77] : vErrors.push(err77), errors++;
12436
12692
  }
12437
- return validate418.errors = vErrors, errors === 0;
12693
+ return validate421.errors = vErrors, errors === 0;
12438
12694
  }
12439
- validate418.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12440
- function validate411(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12441
- let vErrors = null, errors = 0, evaluated0 = validate411.evaluated;
12695
+ validate421.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12696
+ function validate414(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12697
+ let vErrors = null, errors = 0, evaluated0 = validate414.evaluated;
12442
12698
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12443
12699
  for (let key0 in data)
12444
12700
  if (!(key0 === "pageSetup" || key0 === "instrumentNameDisplay" || key0 === "textFrames" || key0 === "layoutBreaks")) {
12445
12701
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
12446
12702
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
12447
12703
  }
12448
- if (data.pageSetup !== void 0 && (validate412(data.pageSetup, { instancePath: instancePath + "/pageSetup", parentData: data, parentDataProperty: "pageSetup", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate412.errors : vErrors.concat(validate412.errors), errors = vErrors.length)), data.instrumentNameDisplay !== void 0 && (validate416(data.instrumentNameDisplay, { instancePath: instancePath + "/instrumentNameDisplay", parentData: data, parentDataProperty: "instrumentNameDisplay", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate416.errors : vErrors.concat(validate416.errors), errors = vErrors.length)), data.textFrames !== void 0) {
12704
+ if (data.pageSetup !== void 0 && (validate415(data.pageSetup, { instancePath: instancePath + "/pageSetup", parentData: data, parentDataProperty: "pageSetup", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate415.errors : vErrors.concat(validate415.errors), errors = vErrors.length)), data.instrumentNameDisplay !== void 0 && (validate419(data.instrumentNameDisplay, { instancePath: instancePath + "/instrumentNameDisplay", parentData: data, parentDataProperty: "instrumentNameDisplay", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate419.errors : vErrors.concat(validate419.errors), errors = vErrors.length)), data.textFrames !== void 0) {
12449
12705
  let data2 = data.textFrames;
12450
12706
  if (Array.isArray(data2)) {
12451
12707
  let len0 = data2.length;
12452
12708
  for (let i0 = 0; i0 < len0; i0++)
12453
- validate418(data2[i0], { instancePath: instancePath + "/textFrames/" + i0, parentData: data2, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate418.errors : vErrors.concat(validate418.errors), errors = vErrors.length);
12709
+ validate421(data2[i0], { instancePath: instancePath + "/textFrames/" + i0, parentData: data2, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate421.errors : vErrors.concat(validate421.errors), errors = vErrors.length);
12454
12710
  } else {
12455
12711
  let err1 = { instancePath: instancePath + "/textFrames", schemaPath: "#/properties/textFrames/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12456
12712
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -12495,7 +12751,7 @@ function validate411(data, { instancePath = "", parentData, parentDataProperty,
12495
12751
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
12496
12752
  }
12497
12753
  if (!(data7 === "system" || data7 === "page")) {
12498
- let err8 = { instancePath: instancePath + "/layoutBreaks/" + i1 + "/kind", schemaPath: "#/$defs/layout-break/properties/kind/enum", keyword: "enum", params: { allowedValues: schema429.properties.kind.enum }, message: "must be equal to one of the allowed values" };
12754
+ let err8 = { instancePath: instancePath + "/layoutBreaks/" + i1 + "/kind", schemaPath: "#/$defs/layout-break/properties/kind/enum", keyword: "enum", params: { allowedValues: schema434.properties.kind.enum }, message: "must be equal to one of the allowed values" };
12499
12755
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
12500
12756
  }
12501
12757
  }
@@ -12513,12 +12769,12 @@ function validate411(data, { instancePath = "", parentData, parentDataProperty,
12513
12769
  let err11 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12514
12770
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
12515
12771
  }
12516
- return validate411.errors = vErrors, errors === 0;
12772
+ return validate414.errors = vErrors, errors === 0;
12517
12773
  }
12518
- validate411.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12519
- var textFrame = validate423;
12520
- function validate423(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12521
- let vErrors = null, errors = 0, evaluated0 = validate423.evaluated;
12774
+ validate414.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12775
+ var textFrame = validate426;
12776
+ function validate426(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12777
+ let vErrors = null, errors = 0, evaluated0 = validate426.evaluated;
12522
12778
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12523
12779
  if (data.id === void 0) {
12524
12780
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -12541,7 +12797,7 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12541
12797
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12542
12798
  }
12543
12799
  for (let key0 in data)
12544
- if (!func1.call(schema420.properties, key0)) {
12800
+ if (!func1.call(schema425.properties, key0)) {
12545
12801
  let err5 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
12546
12802
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
12547
12803
  }
@@ -12721,7 +12977,7 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12721
12977
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
12722
12978
  }
12723
12979
  if (!(data10 === "top" || data10 === "right" || data10 === "bottom" || data10 === "left" || data10 === "top-left" || data10 === "top-right" || data10 === "bottom-right" || data10 === "bottom-left")) {
12724
- let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema369.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
12980
+ let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema374.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
12725
12981
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
12726
12982
  }
12727
12983
  }
@@ -12854,7 +13110,7 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12854
13110
  vErrors === null ? vErrors = [err61] : vErrors.push(err61), errors++;
12855
13111
  }
12856
13112
  if (!(data20 === "left" || data20 === "center" || data20 === "right")) {
12857
- let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema420.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
13113
+ let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema425.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
12858
13114
  vErrors === null ? vErrors = [err62] : vErrors.push(err62), errors++;
12859
13115
  }
12860
13116
  }
@@ -12865,7 +13121,7 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12865
13121
  vErrors === null ? vErrors = [err63] : vErrors.push(err63), errors++;
12866
13122
  }
12867
13123
  if (!(data21 === "left" || data21 === "center" || data21 === "right" || data21 === "justify")) {
12868
- let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema420.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
13124
+ let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema425.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
12869
13125
  vErrors === null ? vErrors = [err64] : vErrors.push(err64), errors++;
12870
13126
  }
12871
13127
  }
@@ -12888,7 +13144,7 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12888
13144
  vErrors === null ? vErrors = [err67] : vErrors.push(err67), errors++;
12889
13145
  }
12890
13146
  if (!(data23 === "none" || data23 === "solid")) {
12891
- let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema420.properties.border.enum }, message: "must be equal to one of the allowed values" };
13147
+ let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema425.properties.border.enum }, message: "must be equal to one of the allowed values" };
12892
13148
  vErrors === null ? vErrors = [err68] : vErrors.push(err68), errors++;
12893
13149
  }
12894
13150
  }
@@ -12937,17 +13193,262 @@ function validate423(data, { instancePath = "", parentData, parentDataProperty,
12937
13193
  vErrors === null ? vErrors = [err76] : vErrors.push(err76), errors++;
12938
13194
  }
12939
13195
  }
12940
- data.staffAttachment !== void 0 && (validate420(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate420.errors : vErrors.concat(validate420.errors), errors = vErrors.length));
13196
+ data.staffAttachment !== void 0 && (validate423(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate423.errors : vErrors.concat(validate423.errors), errors = vErrors.length));
12941
13197
  } else {
12942
13198
  let err77 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12943
13199
  vErrors === null ? vErrors = [err77] : vErrors.push(err77), errors++;
12944
13200
  }
12945
- return validate423.errors = vErrors, errors === 0;
13201
+ return validate426.errors = vErrors, errors === 0;
12946
13202
  }
12947
- validate423.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12948
- var staffTextFramePresentation = validate426;
12949
- function validate426(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12950
- let vErrors = null, errors = 0, evaluated0 = validate426.evaluated;
13203
+ validate426.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13204
+ var systemText = validate429;
13205
+ function validate429(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13206
+ let vErrors = null, errors = 0, evaluated0 = validate429.evaluated;
13207
+ if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13208
+ if (data.id === void 0) {
13209
+ let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
13210
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
13211
+ }
13212
+ if (data.text === void 0) {
13213
+ let err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "text" }, message: "must have required property 'text'" };
13214
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
13215
+ }
13216
+ if (data.position === void 0) {
13217
+ let err2 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
13218
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
13219
+ }
13220
+ for (let key0 in data)
13221
+ if (!(key0 === "id" || key0 === "text" || key0 === "frame" || key0 === "position" || key0 === "placement" || key0 === "manualOffset" || key0 === "avoidCollisions")) {
13222
+ let err3 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
13223
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
13224
+ }
13225
+ if (data.id !== void 0) {
13226
+ let data0 = data.id;
13227
+ if (typeof data0 == "string") {
13228
+ if (func5(data0) < 1) {
13229
+ let err4 = { instancePath: instancePath + "/id", schemaPath: "#/properties/id/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" };
13230
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
13231
+ }
13232
+ } else {
13233
+ let err5 = { instancePath: instancePath + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" };
13234
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
13235
+ }
13236
+ }
13237
+ if (data.text !== void 0 && (validate346(data.text, { instancePath: instancePath + "/text", parentData: data, parentDataProperty: "text", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate346.errors : vErrors.concat(validate346.errors), errors = vErrors.length)), data.frame !== void 0) {
13238
+ let data2 = data.frame;
13239
+ if (data2 && typeof data2 == "object" && !Array.isArray(data2)) {
13240
+ for (let key1 in data2)
13241
+ if (!(key1 === "width" || key1 === "horizontalAlignment" || key1 === "paragraphJustification" || key1 === "padding" || key1 === "border" || key1 === "eraseBackground")) {
13242
+ let err6 = { instancePath: instancePath + "/frame", schemaPath: "#/$defs/staff-text-frame-presentation/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
13243
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
13244
+ }
13245
+ if (data2.width !== void 0) {
13246
+ let data3 = data2.width;
13247
+ if (data3 && typeof data3 == "object" && !Array.isArray(data3)) {
13248
+ if (data3.unit === void 0) {
13249
+ let err7 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/required", keyword: "required", params: { missingProperty: "unit" }, message: "must have required property 'unit'" };
13250
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
13251
+ }
13252
+ if (data3.value === void 0) {
13253
+ let err8 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/required", keyword: "required", params: { missingProperty: "value" }, message: "must have required property 'value'" };
13254
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
13255
+ }
13256
+ for (let key2 in data3)
13257
+ if (!(key2 === "unit" || key2 === "value")) {
13258
+ let err9 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" };
13259
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
13260
+ }
13261
+ if (data3.unit !== void 0 && data3.unit !== "staffSpaces") {
13262
+ let err10 = { instancePath: instancePath + "/frame/width/unit", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/unit/const", keyword: "const", params: { allowedValue: "staffSpaces" }, message: "must be equal to constant" };
13263
+ vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
13264
+ }
13265
+ if (data3.value !== void 0) {
13266
+ let data5 = data3.value;
13267
+ if (typeof data5 == "number") {
13268
+ if (data5 <= 0 || isNaN(data5)) {
13269
+ let err11 = { instancePath: instancePath + "/frame/width/value", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/value/exclusiveMinimum", keyword: "exclusiveMinimum", params: { comparison: ">", limit: 0 }, message: "must be > 0" };
13270
+ vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
13271
+ }
13272
+ } else {
13273
+ let err12 = { instancePath: instancePath + "/frame/width/value", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/properties/value/type", keyword: "type", params: { type: "number" }, message: "must be number" };
13274
+ vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
13275
+ }
13276
+ }
13277
+ } else {
13278
+ let err13 = { instancePath: instancePath + "/frame/width", schemaPath: "#/$defs/staff-text-frame-presentation/properties/width/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13279
+ vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
13280
+ }
13281
+ }
13282
+ if (data2.horizontalAlignment !== void 0) {
13283
+ let data6 = data2.horizontalAlignment;
13284
+ if (typeof data6 != "string") {
13285
+ let err14 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/type", keyword: "type", params: { type: "string" }, message: "must be string" };
13286
+ vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
13287
+ }
13288
+ if (!(data6 === "left" || data6 === "center" || data6 === "right")) {
13289
+ let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema341.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
13290
+ vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
13291
+ }
13292
+ }
13293
+ if (data2.paragraphJustification !== void 0) {
13294
+ let data7 = data2.paragraphJustification;
13295
+ if (typeof data7 != "string") {
13296
+ let err16 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/type", keyword: "type", params: { type: "string" }, message: "must be string" };
13297
+ vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
13298
+ }
13299
+ if (!(data7 === "left" || data7 === "center" || data7 === "right" || data7 === "justify")) {
13300
+ let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema341.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
13301
+ vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
13302
+ }
13303
+ }
13304
+ if (data2.padding !== void 0) {
13305
+ let data8 = data2.padding;
13306
+ if (typeof data8 == "number") {
13307
+ if (data8 < 0 || isNaN(data8)) {
13308
+ let err18 = { instancePath: instancePath + "/frame/padding", schemaPath: "#/$defs/staff-text-frame-presentation/properties/padding/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
13309
+ vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
13310
+ }
13311
+ } else {
13312
+ let err19 = { instancePath: instancePath + "/frame/padding", schemaPath: "#/$defs/staff-text-frame-presentation/properties/padding/type", keyword: "type", params: { type: "number" }, message: "must be number" };
13313
+ vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
13314
+ }
13315
+ }
13316
+ if (data2.border !== void 0) {
13317
+ let data9 = data2.border;
13318
+ if (typeof data9 != "string") {
13319
+ let err20 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/type", keyword: "type", params: { type: "string" }, message: "must be string" };
13320
+ vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
13321
+ }
13322
+ if (!(data9 === "none" || data9 === "solid")) {
13323
+ let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema341.properties.border.enum }, message: "must be equal to one of the allowed values" };
13324
+ vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
13325
+ }
13326
+ }
13327
+ if (data2.eraseBackground !== void 0 && typeof data2.eraseBackground != "boolean") {
13328
+ let err22 = { instancePath: instancePath + "/frame/eraseBackground", schemaPath: "#/$defs/staff-text-frame-presentation/properties/eraseBackground/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
13329
+ vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
13330
+ }
13331
+ } else {
13332
+ let err23 = { instancePath: instancePath + "/frame", schemaPath: "#/$defs/staff-text-frame-presentation/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13333
+ vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
13334
+ }
13335
+ }
13336
+ if (data.position !== void 0) {
13337
+ let data11 = data.position;
13338
+ if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
13339
+ if (data11.fraction === void 0) {
13340
+ let err24 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/required", keyword: "required", params: { missingProperty: "fraction" }, message: "must have required property 'fraction'" };
13341
+ vErrors === null ? vErrors = [err24] : vErrors.push(err24), errors++;
13342
+ }
13343
+ for (let key3 in data11)
13344
+ if (key3 !== "fraction") {
13345
+ let err25 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" };
13346
+ vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
13347
+ }
13348
+ if (data11.fraction !== void 0) {
13349
+ let data12 = data11.fraction;
13350
+ if (Array.isArray(data12)) {
13351
+ if (data12.length > 2) {
13352
+ let err26 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
13353
+ vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
13354
+ }
13355
+ if (data12.length < 2) {
13356
+ let err27 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
13357
+ vErrors === null ? vErrors = [err27] : vErrors.push(err27), errors++;
13358
+ }
13359
+ let len0 = data12.length;
13360
+ for (let i0 = 0; i0 < len0; i0++) {
13361
+ let data13 = data12[i0];
13362
+ if (!(typeof data13 == "number" && !(data13 % 1) && !isNaN(data13))) {
13363
+ let err28 = { instancePath: instancePath + "/position/fraction/" + i0, schemaPath: "#/$defs/rhythmic-position/properties/fraction/items/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
13364
+ vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
13365
+ }
13366
+ }
13367
+ } else {
13368
+ let err29 = { instancePath: instancePath + "/position/fraction", schemaPath: "#/$defs/rhythmic-position/properties/fraction/type", keyword: "type", params: { type: "array" }, message: "must be array" };
13369
+ vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
13370
+ }
13371
+ }
13372
+ } else {
13373
+ let err30 = { instancePath: instancePath + "/position", schemaPath: "#/$defs/rhythmic-position/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13374
+ vErrors === null ? vErrors = [err30] : vErrors.push(err30), errors++;
13375
+ }
13376
+ if (data11 && typeof data11 == "object" && !Array.isArray(data11) && data11.fraction !== void 0) {
13377
+ let data14 = data11.fraction;
13378
+ if (Array.isArray(data14)) {
13379
+ let len1 = data14.length;
13380
+ if (len1 > 0) {
13381
+ let data15 = data14[0];
13382
+ if (!(typeof data15 == "number" && !(data15 % 1) && !isNaN(data15))) {
13383
+ let err31 = { instancePath: instancePath + "/position/fraction/0", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/0/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
13384
+ vErrors === null ? vErrors = [err31] : vErrors.push(err31), errors++;
13385
+ }
13386
+ if (typeof data15 == "number" && (data15 < 0 || isNaN(data15))) {
13387
+ let err32 = { instancePath: instancePath + "/position/fraction/0", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/0/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
13388
+ vErrors === null ? vErrors = [err32] : vErrors.push(err32), errors++;
13389
+ }
13390
+ }
13391
+ if (len1 > 1) {
13392
+ let data16 = data14[1];
13393
+ if (!(typeof data16 == "number" && !(data16 % 1) && !isNaN(data16))) {
13394
+ let err33 = { instancePath: instancePath + "/position/fraction/1", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
13395
+ vErrors === null ? vErrors = [err33] : vErrors.push(err33), errors++;
13396
+ }
13397
+ if (typeof data16 == "number" && (data16 < 1 || isNaN(data16))) {
13398
+ let err34 = { instancePath: instancePath + "/position/fraction/1", schemaPath: "#/properties/position/allOf/1/properties/fraction/prefixItems/1/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
13399
+ vErrors === null ? vErrors = [err34] : vErrors.push(err34), errors++;
13400
+ }
13401
+ }
13402
+ }
13403
+ }
13404
+ }
13405
+ if (data.placement !== void 0) {
13406
+ let data17 = data.placement;
13407
+ if (typeof data17 != "string") {
13408
+ let err35 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/type", keyword: "type", params: { type: "string" }, message: "must be string" };
13409
+ vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
13410
+ }
13411
+ if (!(data17 === "below" || data17 === "above")) {
13412
+ let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema343.enum }, message: "must be equal to one of the allowed values" };
13413
+ vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
13414
+ }
13415
+ }
13416
+ if (data.manualOffset !== void 0) {
13417
+ let data18 = data.manualOffset;
13418
+ if (Array.isArray(data18)) {
13419
+ if (data18.length > 2) {
13420
+ let err37 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
13421
+ vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
13422
+ }
13423
+ if (data18.length < 2) {
13424
+ let err38 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
13425
+ vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
13426
+ }
13427
+ let len2 = data18.length;
13428
+ for (let i1 = 0; i1 < len2; i1++)
13429
+ if (typeof data18[i1] != "number") {
13430
+ let err39 = { instancePath: instancePath + "/manualOffset/" + i1, schemaPath: "#/$defs/sp-delta/items/type", keyword: "type", params: { type: "number" }, message: "must be number" };
13431
+ vErrors === null ? vErrors = [err39] : vErrors.push(err39), errors++;
13432
+ }
13433
+ } else {
13434
+ let err40 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/type", keyword: "type", params: { type: "array" }, message: "must be array" };
13435
+ vErrors === null ? vErrors = [err40] : vErrors.push(err40), errors++;
13436
+ }
13437
+ }
13438
+ if (data.avoidCollisions !== void 0 && typeof data.avoidCollisions != "boolean") {
13439
+ let err41 = { instancePath: instancePath + "/avoidCollisions", schemaPath: "#/properties/avoidCollisions/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
13440
+ vErrors === null ? vErrors = [err41] : vErrors.push(err41), errors++;
13441
+ }
13442
+ } else {
13443
+ let err42 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13444
+ vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
13445
+ }
13446
+ return validate429.errors = vErrors, errors === 0;
13447
+ }
13448
+ validate429.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13449
+ var staffTextFramePresentation = validate431;
13450
+ function validate431(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13451
+ let vErrors = null, errors = 0, evaluated0 = validate431.evaluated;
12951
13452
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12952
13453
  for (let key0 in data)
12953
13454
  if (!(key0 === "width" || key0 === "horizontalAlignment" || key0 === "paragraphJustification" || key0 === "padding" || key0 === "border" || key0 === "eraseBackground")) {
@@ -12998,7 +13499,7 @@ function validate426(data, { instancePath = "", parentData, parentDataProperty,
12998
13499
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
12999
13500
  }
13000
13501
  if (!(data3 === "left" || data3 === "center" || data3 === "right")) {
13001
- let err9 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema366.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
13502
+ let err9 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema341.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
13002
13503
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
13003
13504
  }
13004
13505
  }
@@ -13009,7 +13510,7 @@ function validate426(data, { instancePath = "", parentData, parentDataProperty,
13009
13510
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
13010
13511
  }
13011
13512
  if (!(data4 === "left" || data4 === "center" || data4 === "right" || data4 === "justify")) {
13012
- let err11 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema366.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
13513
+ let err11 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema341.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
13013
13514
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
13014
13515
  }
13015
13516
  }
@@ -13032,7 +13533,7 @@ function validate426(data, { instancePath = "", parentData, parentDataProperty,
13032
13533
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
13033
13534
  }
13034
13535
  if (!(data6 === "none" || data6 === "solid")) {
13035
- let err15 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema366.properties.border.enum }, message: "must be equal to one of the allowed values" };
13536
+ let err15 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema341.properties.border.enum }, message: "must be equal to one of the allowed values" };
13036
13537
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
13037
13538
  }
13038
13539
  }
@@ -13044,12 +13545,12 @@ function validate426(data, { instancePath = "", parentData, parentDataProperty,
13044
13545
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13045
13546
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
13046
13547
  }
13047
- return validate426.errors = vErrors, errors === 0;
13548
+ return validate431.errors = vErrors, errors === 0;
13048
13549
  }
13049
- validate426.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13050
- var textFramePagePosition = validate427;
13051
- function validate427(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13052
- let vErrors = null, errors = 0, evaluated0 = validate427.evaluated;
13550
+ validate431.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13551
+ var textFramePagePosition = validate432;
13552
+ function validate432(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13553
+ let vErrors = null, errors = 0, evaluated0 = validate432.evaluated;
13053
13554
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13054
13555
  if (data.id === void 0) {
13055
13556
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -13259,7 +13760,7 @@ function validate427(data, { instancePath = "", parentData, parentDataProperty,
13259
13760
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
13260
13761
  }
13261
13762
  if (!(data11 === "top" || data11 === "right" || data11 === "bottom" || data11 === "left" || data11 === "top-left" || data11 === "top-right" || data11 === "bottom-right" || data11 === "bottom-left")) {
13262
- let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema369.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
13763
+ let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema374.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
13263
13764
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
13264
13765
  }
13265
13766
  }
@@ -13430,9 +13931,9 @@ function validate427(data, { instancePath = "", parentData, parentDataProperty,
13430
13931
  let err69 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13431
13932
  vErrors === null ? vErrors = [err69] : vErrors.push(err69), errors++;
13432
13933
  }
13433
- return validate427.errors = vErrors, errors === 0;
13934
+ return validate432.errors = vErrors, errors === 0;
13434
13935
  }
13435
- validate427.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13936
+ validate432.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13436
13937
 
13437
13938
  // packages/format/src/mnx/staffTextFrame.ts
13438
13939
  function parseTextFramePagePosition(raw) {
@@ -13450,6 +13951,35 @@ function parseStaffTextFramePresentation(raw) {
13450
13951
  return { ...frame, ...frame.width ? { width: { ...frame.width } } : {} };
13451
13952
  }
13452
13953
 
13954
+ // packages/format/src/mnx/systemText.ts
13955
+ init_define_import_meta_env();
13956
+ function parseSystemText(raw) {
13957
+ if (!Array.isArray(raw)) throw new Error("MNX: systemText must be an array.");
13958
+ let ids = /* @__PURE__ */ new Set();
13959
+ return raw.map((value, index) => {
13960
+ let error = (reason) => new Error(`MNX: systemText[${index}]: ${reason}`);
13961
+ if (!systemText(value)) throw error("invalid system text");
13962
+ let text = value;
13963
+ if (ids.has(text.id)) throw error(`duplicate id "${text.id}"`);
13964
+ if (ids.add(text.id), !text.position.fraction.every(Number.isFinite) || text.position.fraction[0] < 0 || text.position.fraction[1] <= 0 || text.manualOffset?.some((offset) => !Number.isFinite(offset)))
13965
+ throw error("invalid rhythmic position or offset");
13966
+ let content = parseTextContent(text.text);
13967
+ if (!content?.length) throw error("text content is empty");
13968
+ let frame = text.frame;
13969
+ if (frame !== void 0)
13970
+ try {
13971
+ frame = parseStaffTextFramePresentation(frame);
13972
+ } catch (cause) {
13973
+ throw error(`frame: ${cause instanceof Error ? cause.message : String(cause)}`);
13974
+ }
13975
+ return {
13976
+ ...text,
13977
+ text: content,
13978
+ ...frame === void 0 ? {} : { frame }
13979
+ };
13980
+ });
13981
+ }
13982
+
13453
13983
  // packages/format/src/mnx/parseGlobal.ts
13454
13984
  function parseGlobalSounds(raw) {
13455
13985
  let out = {};
@@ -13483,7 +14013,7 @@ function parseGlobalMeasure(raw) {
13483
14013
  let rm = viritura.rehearsalMark;
13484
14014
  measure.rehearsalMark = { text: parseTextContent(rm.text) ?? [] }, rm.style && (measure.rehearsalMark.style = rm.style), applyManualPlacement(measure.rehearsalMark, rm);
13485
14015
  }
13486
- viritura.coda && (measure.coda = parseCoda(viritura.coda)), viritura.jump && (measure.jump = parseJump(viritura.jump)), applyMarkerTextExtension(measure, viritura.markerText), viritura.gradualTempo && (measure.gradualTempo = parseGradualTempo(viritura.gradualTempo)), viritura.chordSymbols && (measure.chordSymbols = viritura.chordSymbols.map(parseChordSymbol));
14016
+ viritura.coda && (measure.coda = parseCoda(viritura.coda)), viritura.jump && (measure.jump = parseJump(viritura.jump)), applyMarkerTextExtension(measure, viritura.markerText), viritura.systemText !== void 0 && (measure.systemText = parseSystemText(viritura.systemText)), viritura.gradualTempo && (measure.gradualTempo = parseGradualTempo(viritura.gradualTempo)), viritura.chordSymbols && (measure.chordSymbols = viritura.chordSymbols.map(parseChordSymbol));
13487
14017
  }
13488
14018
  return measure;
13489
14019
  }