@paged-media/plugin-sdk 0.2.54-canary.0 → 0.2.56-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +532 -15
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -393,6 +393,28 @@ async function planCoreDelete(a, swatchId, pageId, protocol) {
393
393
  }
394
394
  }
395
395
 
396
+ // src/document-change.ts
397
+ function documentChangeOf(msg) {
398
+ switch (msg.kind) {
399
+ case "mutationApplied": {
400
+ const reflow = msg.payload.reflow;
401
+ return {
402
+ kind: msg.kind,
403
+ pageIds: [...msg.payload.pageIds ?? []],
404
+ ...reflow ? { reflow: { frameId: reflow.frameId, contentBox: reflow.contentBox } } : {}
405
+ };
406
+ }
407
+ case "undoApplied":
408
+ case "redoApplied":
409
+ case "gestureCommitted":
410
+ return { kind: msg.kind, pageIds: [...msg.payload.pageIds ?? []] };
411
+ case "scriptResult":
412
+ return { kind: msg.kind, pageIds: [], pagesUnknown: true };
413
+ default:
414
+ return null;
415
+ }
416
+ }
417
+
396
418
  // ../plugin-api/src/catalog.json
397
419
  var pathAliases = [
398
420
  {
@@ -4522,7 +4544,14 @@ var propertySchemas = [
4522
4544
  },
4523
4545
  default: 100,
4524
4546
  access: "readWrite",
4525
- bindable: true
4547
+ bindable: true,
4548
+ idml: [
4549
+ {
4550
+ element: "Cell",
4551
+ attribute: "FillTint",
4552
+ kind: "attr"
4553
+ }
4554
+ ]
4526
4555
  },
4527
4556
  {
4528
4557
  addressKind: "cell",
@@ -5468,6 +5497,25 @@ var propertySchemas = [
5468
5497
  }
5469
5498
  ]
5470
5499
  },
5500
+ {
5501
+ addressKind: "storyRange",
5502
+ path: "characterNoBreak",
5503
+ type: {
5504
+ kind: "bool"
5505
+ },
5506
+ wire: "bool",
5507
+ nullable: false,
5508
+ default: false,
5509
+ access: "readWrite",
5510
+ bindable: true,
5511
+ idml: [
5512
+ {
5513
+ element: "CharacterStyleRange",
5514
+ attribute: "NoBreak",
5515
+ kind: "attr"
5516
+ }
5517
+ ]
5518
+ },
5471
5519
  {
5472
5520
  addressKind: "storyRange",
5473
5521
  path: "characterLigatures",
@@ -6085,6 +6133,49 @@ var propertySchemas = [
6085
6133
  }
6086
6134
  ]
6087
6135
  },
6136
+ {
6137
+ addressKind: "storyRange",
6138
+ path: "paragraphNumberingLevel",
6139
+ type: {
6140
+ kind: "number",
6141
+ unit: "count"
6142
+ },
6143
+ wire: "length",
6144
+ nullable: true,
6145
+ range: {
6146
+ min: 1,
6147
+ max: 9
6148
+ },
6149
+ default: 1,
6150
+ access: "readWrite",
6151
+ bindable: true,
6152
+ idml: [
6153
+ {
6154
+ element: "ParagraphStyleRange",
6155
+ attribute: "NumberingLevel",
6156
+ kind: "attr"
6157
+ }
6158
+ ]
6159
+ },
6160
+ {
6161
+ addressKind: "storyRange",
6162
+ path: "paragraphNumberingApplyRestartPolicy",
6163
+ type: {
6164
+ kind: "bool"
6165
+ },
6166
+ wire: "bool",
6167
+ nullable: true,
6168
+ default: true,
6169
+ access: "readWrite",
6170
+ bindable: true,
6171
+ idml: [
6172
+ {
6173
+ element: "ParagraphStyleRange",
6174
+ attribute: "NumberingApplyRestartPolicy",
6175
+ kind: "attr"
6176
+ }
6177
+ ]
6178
+ },
6088
6179
  {
6089
6180
  addressKind: "storyRange",
6090
6181
  path: "paragraphBulletsCharacterStyle",
@@ -6191,6 +6282,100 @@ var propertySchemas = [
6191
6282
  }
6192
6283
  ]
6193
6284
  },
6285
+ {
6286
+ addressKind: "storyRange",
6287
+ path: "paragraphAutoLeading",
6288
+ type: {
6289
+ kind: "number",
6290
+ unit: "percent"
6291
+ },
6292
+ wire: "length",
6293
+ nullable: true,
6294
+ range: {
6295
+ min: 0,
6296
+ max: 500
6297
+ },
6298
+ default: 120,
6299
+ access: "readWrite",
6300
+ bindable: true,
6301
+ idml: [
6302
+ {
6303
+ element: "ParagraphStyleRange",
6304
+ attribute: "AutoLeading",
6305
+ kind: "attr"
6306
+ }
6307
+ ]
6308
+ },
6309
+ {
6310
+ addressKind: "storyRange",
6311
+ path: "paragraphSingleWordJustification",
6312
+ type: {
6313
+ kind: "enum",
6314
+ members: [
6315
+ "FullyJustified",
6316
+ "LeftAlign",
6317
+ "CenterAlign",
6318
+ "RightAlign"
6319
+ ]
6320
+ },
6321
+ wire: "text",
6322
+ nullable: true,
6323
+ default: "FullyJustified",
6324
+ access: "readWrite",
6325
+ bindable: true,
6326
+ idml: [
6327
+ {
6328
+ element: "ParagraphStyleRange",
6329
+ attribute: "SingleWordJustification",
6330
+ kind: "attr"
6331
+ }
6332
+ ]
6333
+ },
6334
+ {
6335
+ addressKind: "storyRange",
6336
+ path: "paragraphLastLineIndent",
6337
+ type: {
6338
+ kind: "length",
6339
+ unit: "pt"
6340
+ },
6341
+ wire: "length",
6342
+ nullable: true,
6343
+ default: 0,
6344
+ access: "readWrite",
6345
+ bindable: true,
6346
+ idml: [
6347
+ {
6348
+ element: "ParagraphStyleRange",
6349
+ attribute: "LastLineIndent",
6350
+ kind: "attr"
6351
+ }
6352
+ ]
6353
+ },
6354
+ {
6355
+ addressKind: "storyRange",
6356
+ path: "paragraphBalanceRaggedLines",
6357
+ type: {
6358
+ kind: "enum",
6359
+ members: [
6360
+ "NoBalancing",
6361
+ "FullyBalanced",
6362
+ "PyramidShape",
6363
+ "VeeShape"
6364
+ ]
6365
+ },
6366
+ wire: "text",
6367
+ nullable: true,
6368
+ default: "NoBalancing",
6369
+ access: "readWrite",
6370
+ bindable: true,
6371
+ idml: [
6372
+ {
6373
+ element: "ParagraphStyleRange",
6374
+ attribute: "BalanceRaggedLines",
6375
+ kind: "properties-child"
6376
+ }
6377
+ ]
6378
+ },
6194
6379
  {
6195
6380
  addressKind: "layer",
6196
6381
  path: "layerVisible",
@@ -7974,6 +8159,63 @@ var propertySchemas = [
7974
8159
  }
7975
8160
  ]
7976
8161
  },
8162
+ {
8163
+ addressKind: "style",
8164
+ appliesTo: [
8165
+ "paragraph"
8166
+ ],
8167
+ path: "paragraphNumberingLevel",
8168
+ type: {
8169
+ kind: "number",
8170
+ unit: "count"
8171
+ },
8172
+ wire: "length",
8173
+ nullable: true,
8174
+ range: {
8175
+ min: 1,
8176
+ max: 9
8177
+ },
8178
+ default: 1,
8179
+ access: "readWrite",
8180
+ virtual: {
8181
+ op: "setStyleProperty",
8182
+ field: "value"
8183
+ },
8184
+ bindable: true,
8185
+ idml: [
8186
+ {
8187
+ element: "ParagraphStyle",
8188
+ attribute: "NumberingLevel",
8189
+ kind: "attr"
8190
+ }
8191
+ ]
8192
+ },
8193
+ {
8194
+ addressKind: "style",
8195
+ appliesTo: [
8196
+ "paragraph"
8197
+ ],
8198
+ path: "paragraphNumberingApplyRestartPolicy",
8199
+ type: {
8200
+ kind: "bool"
8201
+ },
8202
+ wire: "bool",
8203
+ nullable: true,
8204
+ default: true,
8205
+ access: "readWrite",
8206
+ virtual: {
8207
+ op: "setStyleProperty",
8208
+ field: "value"
8209
+ },
8210
+ bindable: true,
8211
+ idml: [
8212
+ {
8213
+ element: "ParagraphStyle",
8214
+ attribute: "NumberingApplyRestartPolicy",
8215
+ kind: "attr"
8216
+ }
8217
+ ]
8218
+ },
7977
8219
  {
7978
8220
  addressKind: "style",
7979
8221
  appliesTo: [
@@ -8273,6 +8515,128 @@ var propertySchemas = [
8273
8515
  },
8274
8516
  bindable: true
8275
8517
  },
8518
+ {
8519
+ addressKind: "style",
8520
+ appliesTo: [
8521
+ "paragraph"
8522
+ ],
8523
+ path: "paragraphAutoLeading",
8524
+ type: {
8525
+ kind: "number",
8526
+ unit: "percent"
8527
+ },
8528
+ wire: "length",
8529
+ nullable: true,
8530
+ range: {
8531
+ min: 0,
8532
+ max: 500
8533
+ },
8534
+ default: 120,
8535
+ access: "readWrite",
8536
+ virtual: {
8537
+ op: "setStyleProperty",
8538
+ field: "value"
8539
+ },
8540
+ bindable: true,
8541
+ idml: [
8542
+ {
8543
+ element: "ParagraphStyle",
8544
+ attribute: "AutoLeading",
8545
+ kind: "attr"
8546
+ }
8547
+ ]
8548
+ },
8549
+ {
8550
+ addressKind: "style",
8551
+ appliesTo: [
8552
+ "paragraph"
8553
+ ],
8554
+ path: "paragraphSingleWordJustification",
8555
+ type: {
8556
+ kind: "enum",
8557
+ members: [
8558
+ "FullyJustified",
8559
+ "LeftAlign",
8560
+ "CenterAlign",
8561
+ "RightAlign"
8562
+ ]
8563
+ },
8564
+ wire: "text",
8565
+ nullable: true,
8566
+ default: "FullyJustified",
8567
+ access: "readWrite",
8568
+ virtual: {
8569
+ op: "setStyleProperty",
8570
+ field: "value"
8571
+ },
8572
+ bindable: true,
8573
+ idml: [
8574
+ {
8575
+ element: "ParagraphStyle",
8576
+ attribute: "SingleWordJustification",
8577
+ kind: "attr"
8578
+ }
8579
+ ]
8580
+ },
8581
+ {
8582
+ addressKind: "style",
8583
+ appliesTo: [
8584
+ "paragraph"
8585
+ ],
8586
+ path: "paragraphLastLineIndent",
8587
+ type: {
8588
+ kind: "length",
8589
+ unit: "pt"
8590
+ },
8591
+ wire: "length",
8592
+ nullable: true,
8593
+ default: 0,
8594
+ access: "readWrite",
8595
+ virtual: {
8596
+ op: "setStyleProperty",
8597
+ field: "value"
8598
+ },
8599
+ bindable: true,
8600
+ idml: [
8601
+ {
8602
+ element: "ParagraphStyle",
8603
+ attribute: "LastLineIndent",
8604
+ kind: "attr"
8605
+ }
8606
+ ]
8607
+ },
8608
+ {
8609
+ addressKind: "style",
8610
+ appliesTo: [
8611
+ "paragraph"
8612
+ ],
8613
+ path: "paragraphBalanceRaggedLines",
8614
+ type: {
8615
+ kind: "enum",
8616
+ members: [
8617
+ "NoBalancing",
8618
+ "FullyBalanced",
8619
+ "PyramidShape",
8620
+ "VeeShape"
8621
+ ]
8622
+ },
8623
+ wire: "text",
8624
+ nullable: true,
8625
+ default: "NoBalancing",
8626
+ access: "readWrite",
8627
+ virtual: {
8628
+ op: "setStyleProperty",
8629
+ field: "value"
8630
+ },
8631
+ bindable: true,
8632
+ idml: [
8633
+ {
8634
+ element: "ParagraphStyle",
8635
+ attribute: "BalanceRaggedLines",
8636
+ kind: "properties-child"
8637
+ }
8638
+ ]
8639
+ },
8276
8640
  {
8277
8641
  addressKind: "style",
8278
8642
  appliesTo: [
@@ -8656,6 +9020,32 @@ var propertySchemas = [
8656
9020
  }
8657
9021
  ]
8658
9022
  },
9023
+ {
9024
+ addressKind: "style",
9025
+ appliesTo: [
9026
+ "character"
9027
+ ],
9028
+ path: "characterNoBreak",
9029
+ type: {
9030
+ kind: "bool"
9031
+ },
9032
+ wire: "bool",
9033
+ nullable: false,
9034
+ default: false,
9035
+ access: "readWrite",
9036
+ virtual: {
9037
+ op: "setStyleProperty",
9038
+ field: "value"
9039
+ },
9040
+ bindable: true,
9041
+ idml: [
9042
+ {
9043
+ element: "CharacterStyle",
9044
+ attribute: "NoBreak",
9045
+ kind: "attr"
9046
+ }
9047
+ ]
9048
+ },
8659
9049
  {
8660
9050
  addressKind: "style",
8661
9051
  appliesTo: [
@@ -8888,6 +9278,37 @@ var propertySchemas = [
8888
9278
  }
8889
9279
  ]
8890
9280
  },
9281
+ {
9282
+ addressKind: "style",
9283
+ appliesTo: [
9284
+ "cell"
9285
+ ],
9286
+ path: "cellFillTint",
9287
+ type: {
9288
+ kind: "number",
9289
+ unit: "percent"
9290
+ },
9291
+ wire: "length",
9292
+ nullable: true,
9293
+ range: {
9294
+ min: 0,
9295
+ max: 100
9296
+ },
9297
+ default: 100,
9298
+ access: "readWrite",
9299
+ virtual: {
9300
+ op: "setStyleProperty",
9301
+ field: "value"
9302
+ },
9303
+ bindable: true,
9304
+ idml: [
9305
+ {
9306
+ element: "CellStyle",
9307
+ attribute: "FillTint",
9308
+ kind: "attr"
9309
+ }
9310
+ ]
9311
+ },
8891
9312
  {
8892
9313
  addressKind: "style",
8893
9314
  appliesTo: [
@@ -10657,11 +11078,19 @@ var propertySchemas = [
10657
11078
  type: {
10658
11079
  kind: "enum",
10659
11080
  members: [
10660
- "Arabic",
10661
11081
  "UpperRoman",
10662
11082
  "LowerRoman",
10663
11083
  "UpperLetters",
10664
- "LowerLetters"
11084
+ "LowerLetters",
11085
+ "Arabic",
11086
+ "Kanji",
11087
+ "ArabicAlifBaTah",
11088
+ "ArabicAbjad",
11089
+ "HebrewBiblical",
11090
+ "HebrewNonStandard",
11091
+ "SingleLeadingZeros",
11092
+ "DoubleLeadingZeros",
11093
+ "TripleLeadingZeros"
10665
11094
  ],
10666
11095
  open: true
10667
11096
  },
@@ -11190,6 +11619,7 @@ var CORE_PATHS = {
11190
11619
  characterUnderline: { scope: "story", wire: "bool", type: { kind: "bool" } },
11191
11620
  characterStrikethru: { scope: "story", wire: "bool", type: { kind: "bool" } },
11192
11621
  characterLigatures: { scope: "story", wire: "bool", type: { kind: "bool" } },
11622
+ characterNoBreak: { scope: "story", wire: "bool", type: { kind: "bool" } },
11193
11623
  characterOtfFeatures: { scope: "story", wire: "text", type: { kind: "text" } },
11194
11624
  paragraphLeftIndent: { scope: "story", wire: "length", type: { kind: "length" } },
11195
11625
  paragraphRightIndent: { scope: "story", wire: "length", type: { kind: "length" } },
@@ -11222,6 +11652,15 @@ var CORE_PATHS = {
11222
11652
  paragraphBulletsCharacterStyle: { scope: "story", wire: "text", type: { kind: "ref", to: "style:character" } },
11223
11653
  paragraphNumberingCharacterStyle: { scope: "story", wire: "text", type: { kind: "ref", to: "style:character" } },
11224
11654
  paragraphComposer: { scope: "story", wire: "text", type: { kind: "text" } },
11655
+ // core ADR 153 — a paragraph's line setting.
11656
+ paragraphAutoLeading: { scope: "story", wire: "length", type: PCT },
11657
+ paragraphSingleWordJustification: { scope: "story", wire: "text", type: { kind: "text" } },
11658
+ paragraphLastLineIndent: { scope: "story", wire: "length", type: { kind: "length" } },
11659
+ paragraphBalanceRaggedLines: { scope: "story", wire: "text", type: { kind: "text" } },
11660
+ // core ADR 158 — a paragraph's level in a multi-level list; the restart
11661
+ // flag is tristate like NumberingContinue (Text("") clears).
11662
+ paragraphNumberingLevel: { scope: "story", wire: "length", type: { kind: "number", integer: true } },
11663
+ paragraphNumberingApplyRestartPolicy: { scope: "story", wire: "text", type: { kind: "text" } },
11225
11664
  textFrameColumnCount: { scope: "frame", wire: "length", type: { kind: "number", integer: true } },
11226
11665
  textFrameColumnGutter: { scope: "frame", wire: "length", type: { kind: "length" } },
11227
11666
  textFrameColumnBalance: { scope: "frame", wire: "bool", type: { kind: "bool" } },
@@ -11663,7 +12102,7 @@ function createCoreObjectsV70(getEditor) {
11663
12102
  subscribed = true;
11664
12103
  try {
11665
12104
  unsubscribe = client().subscribe((msg) => {
11666
- if (msg.kind === "mutationApplied" || msg.kind === "undoApplied" || msg.kind === "redoApplied" || msg.kind === "documentLoaded") {
12105
+ if (documentChangeOf(msg) !== null || msg.kind === "documentLoaded") {
11667
12106
  generation++;
11668
12107
  for (const l of listeners) l();
11669
12108
  }
@@ -12934,7 +13373,7 @@ var CORE_WIRE_OPS = {
12934
13373
  "layerMove": { args: { "kind": "struct", "fields": { "layerId": { "kind": "ref", "to": "layer" }, "newIndex": { "kind": "number" } } }, nullFill: [] },
12935
13374
  "layerInsert": { args: { "kind": "struct", "fields": { "position": { "kind": "number" }, "name": { "kind": "text" } } }, nullFill: [] },
12936
13375
  "layerRemove": { args: { "kind": "struct", "fields": { "layerId": { "kind": "ref", "to": "layer" } } }, nullFill: [] },
12937
- "setElementProperty": { args: { "kind": "struct", "fields": { "elementId": { "kind": "ref", "to": "item" }, "path": { "kind": "enum", "members": ["frameBounds", "frameFillColor", "frameStrokeColor", "frameStrokeWeight", "frameOpacity", "frameTransform", "imageContentTransform", "framePathPoint", "pathPointInsert", "pathPointRemove", "pathPointCurveType", "layerVisible", "layerLocked", "layerPrintable", "layerName", "characterFontSize", "characterLeading", "characterTracking", "characterFillColor", "paragraphSpaceBefore", "paragraphSpaceAfter", "paragraphFirstLineIndent", "appliedParagraphStyle", "appliedCharacterStyle", "appliedObjectStyle", "itemLayer", "appliedCellStyle", "appliedTableStyle", "framePath", "frameNonprinting", "frameFillTint", "frameGradientFillAngle", "frameGradientFillLength", "frameGradientStrokeAngle", "frameGradientStrokeLength", "pathOpenAt", "outlineStroke", "outlineStrokeVariable", "offsetPath", "simplifyPath", "closePath", "frameGradientFeather", "pageBounds", "frameDropShadowMode", "frameDropShadowXOffset", "frameDropShadowYOffset", "frameDropShadowSize", "frameDropShadowOpacity", "frameDropShadowColor", "frameDropShadow", "frameFittingCrops", "frameFittingType", "frameTextWrapMode", "frameTextWrapOffsets", "frameTextWrapContourType", "frameTextWrapContourIncludeInside", "paragraphJustification", "paragraphStyleNextStyle", "paragraphAppliedNumberingList", "frameStrokeEndCap", "frameInsetSpacing", "appliedConditions", "characterFontFamily", "characterFontStyle", "characterKerningMethod", "characterCase", "characterPosition", "characterLanguage", "characterBaselineShift", "characterHorizontalScale", "characterVerticalScale", "characterSkew", "characterUnderline", "characterStrikethru", "characterLigatures", "characterOtfFeatures", "paragraphLeftIndent", "paragraphRightIndent", "paragraphDropCapCharacters", "paragraphDropCapLines", "paragraphHyphenation", "paragraphHyphenationZone", "paragraphKeepLinesTogether", "paragraphKeepWithNext", "paragraphKeepAllLinesTogether", "paragraphKeepFirstLines", "paragraphKeepLastLines", "paragraphStartParagraph", "paragraphSpanColumnType", "paragraphSpanSplitColumnCount", "paragraphSpanColumnMinSpaceBefore", "paragraphSpanColumnMinSpaceAfter", "paragraphSplitColumnInsideGutter", "paragraphSplitColumnOutsideGutter", "paragraphRuleAbove", "paragraphRuleBelow", "paragraphTabStops", "paragraphListType", "paragraphBulletCharacter", "paragraphNumberingFormat", "paragraphBulletsTextAfter", "paragraphNumberingExpression", "paragraphNumberingStartAt", "paragraphNumberingContinue", "paragraphBulletsCharacterStyle", "paragraphNumberingCharacterStyle", "paragraphComposer", "textFrameColumnCount", "textFrameColumnGutter", "textFrameColumnBalance", "textFrameVerticalJustification", "textFrameAutoSizing", "textFrameFirstBaseline", "textWrapInvert", "frameFittingReferencePoint", "frameAutoFit", "frameStrokeType", "frameStrokeJoin", "frameStrokeMiterLimit", "frameStrokeAlignment", "frameStrokeGapColor", "frameStrokeGapTint", "frameStrokeDashArray", "frameCornerOptionTopLeft", "frameCornerOptionTopRight", "frameCornerOptionBottomLeft", "frameCornerOptionBottomRight", "frameCornerRadiusTopLeft", "frameCornerRadiusTopRight", "frameCornerRadiusBottomLeft", "frameCornerRadiusBottomRight", "frameRotationAngle", "frameScaleX", "frameScaleY", "frameFlipH", "frameFlipV", "frameOverprintFill", "frameOverprintStroke", "frameInnerShadowEnabled", "frameInnerShadowBlendMode", "frameInnerShadowColor", "frameInnerShadowOpacity", "frameInnerShadowAngle", "frameInnerShadowDistance", "frameInnerShadowSize", "frameInnerShadowChoke", "frameInnerShadowNoise", "frameOuterGlowEnabled", "frameOuterGlowBlendMode", "frameOuterGlowColor", "frameOuterGlowOpacity", "frameOuterGlowSpread", "frameOuterGlowSize", "frameOuterGlowNoise", "frameInnerGlowEnabled", "frameInnerGlowBlendMode", "frameInnerGlowColor", "frameInnerGlowOpacity", "frameInnerGlowChoke", "frameInnerGlowSize", "frameInnerGlowSource", "frameInnerGlowNoise", "frameBevelEnabled", "frameBevelStyle", "frameBevelTechnique", "frameBevelDepth", "frameBevelDirection", "frameBevelSize", "frameBevelSoften", "frameBevelAngle", "frameBevelAltitude", "frameBevelHighlightColor", "frameBevelShadowColor", "frameBevelHighlightOpacity", "frameBevelShadowOpacity", "frameSatinEnabled", "frameSatinBlendMode", "frameSatinColor", "frameSatinOpacity", "frameSatinAngle", "frameSatinDistance", "frameSatinSize", "frameSatinInvert", "frameFeatherEnabled", "frameFeatherWidth", "frameFeatherCornerType", "frameFeatherNoise", "frameFeatherChoke", "frameDirectionalFeatherEnabled", "frameDirectionalFeatherLeftWidth", "frameDirectionalFeatherRightWidth", "frameDirectionalFeatherTopWidth", "frameDirectionalFeatherBottomWidth", "frameDirectionalFeatherAngle", "frameDirectionalFeatherNoise", "frameDirectionalFeatherChoke", "frameBlendMode", "nextTextFrame", "previousTextFrame", "cellFillColor", "cellFillTint", "cellInsetTop", "cellInsetLeft", "cellInsetBottom", "cellInsetRight", "cellVerticalJustification", "cellTopEdgeStrokeColor", "cellTopEdgeStrokeWeight", "cellTopEdgeStrokeTint", "cellBottomEdgeStrokeColor", "cellBottomEdgeStrokeWeight", "cellBottomEdgeStrokeTint", "cellLeftEdgeStrokeColor", "cellLeftEdgeStrokeWeight", "cellLeftEdgeStrokeTint", "cellRightEdgeStrokeColor", "cellRightEdgeStrokeWeight", "cellRightEdgeStrokeTint", "tableRowCount", "tableColumnCount", "pluginMetadata", "anchoredPosition", "anchorPoint", "anchoredXOffset", "anchoredYOffset", "anchoredHorizontalReference", "anchoredVerticalReference", "anchoredHorizontalAlignment", "anchoredVerticalAlignment", "anchoredSpineRelative", "anchoredLockPosition", "elementVisible", "elementLocked", "frameStrokeStartArrowhead", "frameStrokeEndArrowhead", "pageMarginTop", "pageMarginBottom", "pageMarginLeft", "pageMarginRight", "pageColumnCount", "pageColumnGutter", "documentBleedTop", "documentBleedBottom", "documentBleedInsideOrLeft", "documentBleedOutsideOrRight", "documentSlugTop", "documentSlugBottom", "documentSlugInsideOrLeft", "documentSlugRightOrOutside", "textVariableName", "textVariableType", "textVariableContents", "textVariableTextBefore", "textVariableTextAfter", "textVariableDateFormat", "objectStyleStrokeTint", "objectStyleCornerRadius", "objectStyleCornerOption", "cellStyleRotationAngle", "tableStyleHeaderRegionCellStyle", "tableStyleBodyRegionCellStyle", "tableStyleFooterRegionCellStyle", "tableStyleLeftColumnRegionCellStyle", "tableStyleRightColumnRegionCellStyle", "tableStyleTopBorderStrokeColor", "tableStyleTopBorderStrokeWeight", "tableStyleBottomBorderStrokeColor", "tableStyleBottomBorderStrokeWeight", "tableStyleLeftBorderStrokeColor", "tableStyleLeftBorderStrokeWeight", "tableStyleRightBorderStrokeColor", "tableStyleRightBorderStrokeWeight", "tableStyleAlternatingFills", "tableStyleStartRowFillColor", "tableStyleStartRowFillCount", "tableStyleStartRowFillTint", "tableStyleEndRowFillColor", "tableStyleEndRowFillCount", "tableStyleEndRowFillTint", "itemName", "frameFillOpacity", "frameFillBlendMode", "frameStrokeOpacity", "frameStrokeBlendMode", "frameContentOpacity", "frameContentBlendMode", "groupIsolateBlending", "groupKnockout", "frameDropShadowBlendMode", "frameDropShadowSpread", "frameDropShadowNoise", "frameDropShadowKnockedOut", "frameDropShadowUseGlobalLight", "documentGlobalLightAngle", "documentGlobalLightAltitude"] }, "value": { "kind": "struct", "fields": {}, "open": true, "shape": "Value" } } }, nullFill: [] },
13376
+ "setElementProperty": { args: { "kind": "struct", "fields": { "elementId": { "kind": "ref", "to": "item" }, "path": { "kind": "enum", "members": ["frameBounds", "frameFillColor", "frameStrokeColor", "frameStrokeWeight", "frameOpacity", "frameTransform", "imageContentTransform", "framePathPoint", "pathPointInsert", "pathPointRemove", "pathPointCurveType", "layerVisible", "layerLocked", "layerPrintable", "layerName", "characterFontSize", "characterLeading", "characterTracking", "characterFillColor", "paragraphSpaceBefore", "paragraphSpaceAfter", "paragraphFirstLineIndent", "appliedParagraphStyle", "appliedCharacterStyle", "appliedObjectStyle", "itemLayer", "appliedCellStyle", "appliedTableStyle", "framePath", "frameNonprinting", "frameFillTint", "frameGradientFillAngle", "frameGradientFillLength", "frameGradientStrokeAngle", "frameGradientStrokeLength", "pathOpenAt", "outlineStroke", "outlineStrokeVariable", "offsetPath", "simplifyPath", "closePath", "frameGradientFeather", "pageBounds", "frameDropShadowMode", "frameDropShadowXOffset", "frameDropShadowYOffset", "frameDropShadowSize", "frameDropShadowOpacity", "frameDropShadowColor", "frameDropShadow", "frameFittingCrops", "frameFittingType", "frameTextWrapMode", "frameTextWrapOffsets", "frameTextWrapContourType", "frameTextWrapContourIncludeInside", "paragraphJustification", "paragraphStyleNextStyle", "paragraphAppliedNumberingList", "frameStrokeEndCap", "frameInsetSpacing", "appliedConditions", "characterFontFamily", "characterFontStyle", "characterKerningMethod", "characterCase", "characterPosition", "characterLanguage", "characterBaselineShift", "characterHorizontalScale", "characterVerticalScale", "characterSkew", "characterUnderline", "characterStrikethru", "characterNoBreak", "characterLigatures", "characterOtfFeatures", "paragraphLeftIndent", "paragraphRightIndent", "paragraphDropCapCharacters", "paragraphDropCapLines", "paragraphHyphenation", "paragraphHyphenationZone", "paragraphKeepLinesTogether", "paragraphKeepWithNext", "paragraphKeepAllLinesTogether", "paragraphKeepFirstLines", "paragraphKeepLastLines", "paragraphStartParagraph", "paragraphSpanColumnType", "paragraphSpanSplitColumnCount", "paragraphSpanColumnMinSpaceBefore", "paragraphSpanColumnMinSpaceAfter", "paragraphSplitColumnInsideGutter", "paragraphSplitColumnOutsideGutter", "paragraphRuleAbove", "paragraphRuleBelow", "paragraphTabStops", "paragraphListType", "paragraphBulletCharacter", "paragraphNumberingFormat", "paragraphBulletsTextAfter", "paragraphNumberingExpression", "paragraphNumberingStartAt", "paragraphNumberingContinue", "paragraphNumberingLevel", "paragraphNumberingApplyRestartPolicy", "paragraphBulletsCharacterStyle", "paragraphNumberingCharacterStyle", "paragraphComposer", "paragraphAutoLeading", "paragraphSingleWordJustification", "paragraphLastLineIndent", "paragraphBalanceRaggedLines", "textFrameColumnCount", "textFrameColumnGutter", "textFrameColumnBalance", "textFrameVerticalJustification", "textFrameAutoSizing", "textFrameFirstBaseline", "textWrapInvert", "frameFittingReferencePoint", "frameAutoFit", "frameStrokeType", "frameStrokeJoin", "frameStrokeMiterLimit", "frameStrokeAlignment", "frameStrokeGapColor", "frameStrokeGapTint", "frameStrokeDashArray", "frameCornerOptionTopLeft", "frameCornerOptionTopRight", "frameCornerOptionBottomLeft", "frameCornerOptionBottomRight", "frameCornerRadiusTopLeft", "frameCornerRadiusTopRight", "frameCornerRadiusBottomLeft", "frameCornerRadiusBottomRight", "frameRotationAngle", "frameScaleX", "frameScaleY", "frameFlipH", "frameFlipV", "frameOverprintFill", "frameOverprintStroke", "frameInnerShadowEnabled", "frameInnerShadowBlendMode", "frameInnerShadowColor", "frameInnerShadowOpacity", "frameInnerShadowAngle", "frameInnerShadowDistance", "frameInnerShadowSize", "frameInnerShadowChoke", "frameInnerShadowNoise", "frameOuterGlowEnabled", "frameOuterGlowBlendMode", "frameOuterGlowColor", "frameOuterGlowOpacity", "frameOuterGlowSpread", "frameOuterGlowSize", "frameOuterGlowNoise", "frameInnerGlowEnabled", "frameInnerGlowBlendMode", "frameInnerGlowColor", "frameInnerGlowOpacity", "frameInnerGlowChoke", "frameInnerGlowSize", "frameInnerGlowSource", "frameInnerGlowNoise", "frameBevelEnabled", "frameBevelStyle", "frameBevelTechnique", "frameBevelDepth", "frameBevelDirection", "frameBevelSize", "frameBevelSoften", "frameBevelAngle", "frameBevelAltitude", "frameBevelHighlightColor", "frameBevelShadowColor", "frameBevelHighlightOpacity", "frameBevelShadowOpacity", "frameSatinEnabled", "frameSatinBlendMode", "frameSatinColor", "frameSatinOpacity", "frameSatinAngle", "frameSatinDistance", "frameSatinSize", "frameSatinInvert", "frameFeatherEnabled", "frameFeatherWidth", "frameFeatherCornerType", "frameFeatherNoise", "frameFeatherChoke", "frameDirectionalFeatherEnabled", "frameDirectionalFeatherLeftWidth", "frameDirectionalFeatherRightWidth", "frameDirectionalFeatherTopWidth", "frameDirectionalFeatherBottomWidth", "frameDirectionalFeatherAngle", "frameDirectionalFeatherNoise", "frameDirectionalFeatherChoke", "frameBlendMode", "nextTextFrame", "previousTextFrame", "cellFillColor", "cellFillTint", "cellInsetTop", "cellInsetLeft", "cellInsetBottom", "cellInsetRight", "cellVerticalJustification", "cellTopEdgeStrokeColor", "cellTopEdgeStrokeWeight", "cellTopEdgeStrokeTint", "cellBottomEdgeStrokeColor", "cellBottomEdgeStrokeWeight", "cellBottomEdgeStrokeTint", "cellLeftEdgeStrokeColor", "cellLeftEdgeStrokeWeight", "cellLeftEdgeStrokeTint", "cellRightEdgeStrokeColor", "cellRightEdgeStrokeWeight", "cellRightEdgeStrokeTint", "tableRowCount", "tableColumnCount", "pluginMetadata", "anchoredPosition", "anchorPoint", "anchoredXOffset", "anchoredYOffset", "anchoredHorizontalReference", "anchoredVerticalReference", "anchoredHorizontalAlignment", "anchoredVerticalAlignment", "anchoredSpineRelative", "anchoredLockPosition", "elementVisible", "elementLocked", "frameStrokeStartArrowhead", "frameStrokeEndArrowhead", "pageMarginTop", "pageMarginBottom", "pageMarginLeft", "pageMarginRight", "pageColumnCount", "pageColumnGutter", "documentBleedTop", "documentBleedBottom", "documentBleedInsideOrLeft", "documentBleedOutsideOrRight", "documentSlugTop", "documentSlugBottom", "documentSlugInsideOrLeft", "documentSlugRightOrOutside", "textVariableName", "textVariableType", "textVariableContents", "textVariableTextBefore", "textVariableTextAfter", "textVariableDateFormat", "objectStyleStrokeTint", "objectStyleCornerRadius", "objectStyleCornerOption", "cellStyleRotationAngle", "tableStyleHeaderRegionCellStyle", "tableStyleBodyRegionCellStyle", "tableStyleFooterRegionCellStyle", "tableStyleLeftColumnRegionCellStyle", "tableStyleRightColumnRegionCellStyle", "tableStyleTopBorderStrokeColor", "tableStyleTopBorderStrokeWeight", "tableStyleBottomBorderStrokeColor", "tableStyleBottomBorderStrokeWeight", "tableStyleLeftBorderStrokeColor", "tableStyleLeftBorderStrokeWeight", "tableStyleRightBorderStrokeColor", "tableStyleRightBorderStrokeWeight", "tableStyleAlternatingFills", "tableStyleStartRowFillColor", "tableStyleStartRowFillCount", "tableStyleStartRowFillTint", "tableStyleEndRowFillColor", "tableStyleEndRowFillCount", "tableStyleEndRowFillTint", "itemName", "frameFillOpacity", "frameFillBlendMode", "frameStrokeOpacity", "frameStrokeBlendMode", "frameContentOpacity", "frameContentBlendMode", "groupIsolateBlending", "groupKnockout", "frameDropShadowBlendMode", "frameDropShadowSpread", "frameDropShadowNoise", "frameDropShadowKnockedOut", "frameDropShadowUseGlobalLight", "documentGlobalLightAngle", "documentGlobalLightAltitude"] }, "value": { "kind": "struct", "fields": {}, "open": true, "shape": "Value" } } }, nullFill: [] },
12938
13377
  "set": { args: { "kind": "struct", "fields": { "address": { "kind": "text" }, "path": { "kind": "text" }, "value": { "kind": "struct", "fields": {}, "open": true, "shape": "Value" } } }, nullFill: [] },
12939
13378
  "pathfinderBoolean": { args: { "kind": "struct", "fields": { "kept": { "kind": "ref", "to": "item" }, "others": { "kind": "list", "of": { "kind": "ref", "to": "item" } }, "kind": { "kind": "enum", "members": ["union", "intersect", "subtract", "exclude"] } } }, nullFill: [] },
12940
13379
  "pathfinderDivide": { args: { "kind": "struct", "fields": { "elementIds": { "kind": "list", "of": { "kind": "ref", "to": "item" } } } }, nullFill: [] },
@@ -12971,7 +13410,7 @@ var CORE_WIRE_OPS = {
12971
13410
  "createTableStyle": { args: { "kind": "struct", "fields": { "selfId": { "kind": "text", "optional": true }, "name": { "kind": "text", "optional": true }, "basedOn": { "kind": "text", "optional": true } } }, nullFill: [] },
12972
13411
  "renameTableStyle": { args: { "kind": "struct", "fields": { "styleId": { "kind": "ref", "to": "style" }, "name": { "kind": "text" } } }, nullFill: [] },
12973
13412
  "deleteTableStyle": { args: { "kind": "struct", "fields": { "styleId": { "kind": "ref", "to": "style" } } }, nullFill: [] },
12974
- "setStyleProperty": { args: { "kind": "struct", "fields": { "collection": { "kind": "enum", "members": ["paragraph", "character", "object", "cell", "table"] }, "styleId": { "kind": "ref", "to": "style" }, "path": { "kind": "enum", "members": ["frameBounds", "frameFillColor", "frameStrokeColor", "frameStrokeWeight", "frameOpacity", "frameTransform", "imageContentTransform", "framePathPoint", "pathPointInsert", "pathPointRemove", "pathPointCurveType", "layerVisible", "layerLocked", "layerPrintable", "layerName", "characterFontSize", "characterLeading", "characterTracking", "characterFillColor", "paragraphSpaceBefore", "paragraphSpaceAfter", "paragraphFirstLineIndent", "appliedParagraphStyle", "appliedCharacterStyle", "appliedObjectStyle", "itemLayer", "appliedCellStyle", "appliedTableStyle", "framePath", "frameNonprinting", "frameFillTint", "frameGradientFillAngle", "frameGradientFillLength", "frameGradientStrokeAngle", "frameGradientStrokeLength", "pathOpenAt", "outlineStroke", "outlineStrokeVariable", "offsetPath", "simplifyPath", "closePath", "frameGradientFeather", "pageBounds", "frameDropShadowMode", "frameDropShadowXOffset", "frameDropShadowYOffset", "frameDropShadowSize", "frameDropShadowOpacity", "frameDropShadowColor", "frameDropShadow", "frameFittingCrops", "frameFittingType", "frameTextWrapMode", "frameTextWrapOffsets", "frameTextWrapContourType", "frameTextWrapContourIncludeInside", "paragraphJustification", "paragraphStyleNextStyle", "paragraphAppliedNumberingList", "frameStrokeEndCap", "frameInsetSpacing", "appliedConditions", "characterFontFamily", "characterFontStyle", "characterKerningMethod", "characterCase", "characterPosition", "characterLanguage", "characterBaselineShift", "characterHorizontalScale", "characterVerticalScale", "characterSkew", "characterUnderline", "characterStrikethru", "characterLigatures", "characterOtfFeatures", "paragraphLeftIndent", "paragraphRightIndent", "paragraphDropCapCharacters", "paragraphDropCapLines", "paragraphHyphenation", "paragraphHyphenationZone", "paragraphKeepLinesTogether", "paragraphKeepWithNext", "paragraphKeepAllLinesTogether", "paragraphKeepFirstLines", "paragraphKeepLastLines", "paragraphStartParagraph", "paragraphSpanColumnType", "paragraphSpanSplitColumnCount", "paragraphSpanColumnMinSpaceBefore", "paragraphSpanColumnMinSpaceAfter", "paragraphSplitColumnInsideGutter", "paragraphSplitColumnOutsideGutter", "paragraphRuleAbove", "paragraphRuleBelow", "paragraphTabStops", "paragraphListType", "paragraphBulletCharacter", "paragraphNumberingFormat", "paragraphBulletsTextAfter", "paragraphNumberingExpression", "paragraphNumberingStartAt", "paragraphNumberingContinue", "paragraphBulletsCharacterStyle", "paragraphNumberingCharacterStyle", "paragraphComposer", "textFrameColumnCount", "textFrameColumnGutter", "textFrameColumnBalance", "textFrameVerticalJustification", "textFrameAutoSizing", "textFrameFirstBaseline", "textWrapInvert", "frameFittingReferencePoint", "frameAutoFit", "frameStrokeType", "frameStrokeJoin", "frameStrokeMiterLimit", "frameStrokeAlignment", "frameStrokeGapColor", "frameStrokeGapTint", "frameStrokeDashArray", "frameCornerOptionTopLeft", "frameCornerOptionTopRight", "frameCornerOptionBottomLeft", "frameCornerOptionBottomRight", "frameCornerRadiusTopLeft", "frameCornerRadiusTopRight", "frameCornerRadiusBottomLeft", "frameCornerRadiusBottomRight", "frameRotationAngle", "frameScaleX", "frameScaleY", "frameFlipH", "frameFlipV", "frameOverprintFill", "frameOverprintStroke", "frameInnerShadowEnabled", "frameInnerShadowBlendMode", "frameInnerShadowColor", "frameInnerShadowOpacity", "frameInnerShadowAngle", "frameInnerShadowDistance", "frameInnerShadowSize", "frameInnerShadowChoke", "frameInnerShadowNoise", "frameOuterGlowEnabled", "frameOuterGlowBlendMode", "frameOuterGlowColor", "frameOuterGlowOpacity", "frameOuterGlowSpread", "frameOuterGlowSize", "frameOuterGlowNoise", "frameInnerGlowEnabled", "frameInnerGlowBlendMode", "frameInnerGlowColor", "frameInnerGlowOpacity", "frameInnerGlowChoke", "frameInnerGlowSize", "frameInnerGlowSource", "frameInnerGlowNoise", "frameBevelEnabled", "frameBevelStyle", "frameBevelTechnique", "frameBevelDepth", "frameBevelDirection", "frameBevelSize", "frameBevelSoften", "frameBevelAngle", "frameBevelAltitude", "frameBevelHighlightColor", "frameBevelShadowColor", "frameBevelHighlightOpacity", "frameBevelShadowOpacity", "frameSatinEnabled", "frameSatinBlendMode", "frameSatinColor", "frameSatinOpacity", "frameSatinAngle", "frameSatinDistance", "frameSatinSize", "frameSatinInvert", "frameFeatherEnabled", "frameFeatherWidth", "frameFeatherCornerType", "frameFeatherNoise", "frameFeatherChoke", "frameDirectionalFeatherEnabled", "frameDirectionalFeatherLeftWidth", "frameDirectionalFeatherRightWidth", "frameDirectionalFeatherTopWidth", "frameDirectionalFeatherBottomWidth", "frameDirectionalFeatherAngle", "frameDirectionalFeatherNoise", "frameDirectionalFeatherChoke", "frameBlendMode", "nextTextFrame", "previousTextFrame", "cellFillColor", "cellFillTint", "cellInsetTop", "cellInsetLeft", "cellInsetBottom", "cellInsetRight", "cellVerticalJustification", "cellTopEdgeStrokeColor", "cellTopEdgeStrokeWeight", "cellTopEdgeStrokeTint", "cellBottomEdgeStrokeColor", "cellBottomEdgeStrokeWeight", "cellBottomEdgeStrokeTint", "cellLeftEdgeStrokeColor", "cellLeftEdgeStrokeWeight", "cellLeftEdgeStrokeTint", "cellRightEdgeStrokeColor", "cellRightEdgeStrokeWeight", "cellRightEdgeStrokeTint", "tableRowCount", "tableColumnCount", "pluginMetadata", "anchoredPosition", "anchorPoint", "anchoredXOffset", "anchoredYOffset", "anchoredHorizontalReference", "anchoredVerticalReference", "anchoredHorizontalAlignment", "anchoredVerticalAlignment", "anchoredSpineRelative", "anchoredLockPosition", "elementVisible", "elementLocked", "frameStrokeStartArrowhead", "frameStrokeEndArrowhead", "pageMarginTop", "pageMarginBottom", "pageMarginLeft", "pageMarginRight", "pageColumnCount", "pageColumnGutter", "documentBleedTop", "documentBleedBottom", "documentBleedInsideOrLeft", "documentBleedOutsideOrRight", "documentSlugTop", "documentSlugBottom", "documentSlugInsideOrLeft", "documentSlugRightOrOutside", "textVariableName", "textVariableType", "textVariableContents", "textVariableTextBefore", "textVariableTextAfter", "textVariableDateFormat", "objectStyleStrokeTint", "objectStyleCornerRadius", "objectStyleCornerOption", "cellStyleRotationAngle", "tableStyleHeaderRegionCellStyle", "tableStyleBodyRegionCellStyle", "tableStyleFooterRegionCellStyle", "tableStyleLeftColumnRegionCellStyle", "tableStyleRightColumnRegionCellStyle", "tableStyleTopBorderStrokeColor", "tableStyleTopBorderStrokeWeight", "tableStyleBottomBorderStrokeColor", "tableStyleBottomBorderStrokeWeight", "tableStyleLeftBorderStrokeColor", "tableStyleLeftBorderStrokeWeight", "tableStyleRightBorderStrokeColor", "tableStyleRightBorderStrokeWeight", "tableStyleAlternatingFills", "tableStyleStartRowFillColor", "tableStyleStartRowFillCount", "tableStyleStartRowFillTint", "tableStyleEndRowFillColor", "tableStyleEndRowFillCount", "tableStyleEndRowFillTint", "itemName", "frameFillOpacity", "frameFillBlendMode", "frameStrokeOpacity", "frameStrokeBlendMode", "frameContentOpacity", "frameContentBlendMode", "groupIsolateBlending", "groupKnockout", "frameDropShadowBlendMode", "frameDropShadowSpread", "frameDropShadowNoise", "frameDropShadowKnockedOut", "frameDropShadowUseGlobalLight", "documentGlobalLightAngle", "documentGlobalLightAltitude"] }, "value": { "kind": "struct", "fields": {}, "open": true, "shape": "Value" } } }, nullFill: [] },
13413
+ "setStyleProperty": { args: { "kind": "struct", "fields": { "collection": { "kind": "enum", "members": ["paragraph", "character", "object", "cell", "table"] }, "styleId": { "kind": "ref", "to": "style" }, "path": { "kind": "enum", "members": ["frameBounds", "frameFillColor", "frameStrokeColor", "frameStrokeWeight", "frameOpacity", "frameTransform", "imageContentTransform", "framePathPoint", "pathPointInsert", "pathPointRemove", "pathPointCurveType", "layerVisible", "layerLocked", "layerPrintable", "layerName", "characterFontSize", "characterLeading", "characterTracking", "characterFillColor", "paragraphSpaceBefore", "paragraphSpaceAfter", "paragraphFirstLineIndent", "appliedParagraphStyle", "appliedCharacterStyle", "appliedObjectStyle", "itemLayer", "appliedCellStyle", "appliedTableStyle", "framePath", "frameNonprinting", "frameFillTint", "frameGradientFillAngle", "frameGradientFillLength", "frameGradientStrokeAngle", "frameGradientStrokeLength", "pathOpenAt", "outlineStroke", "outlineStrokeVariable", "offsetPath", "simplifyPath", "closePath", "frameGradientFeather", "pageBounds", "frameDropShadowMode", "frameDropShadowXOffset", "frameDropShadowYOffset", "frameDropShadowSize", "frameDropShadowOpacity", "frameDropShadowColor", "frameDropShadow", "frameFittingCrops", "frameFittingType", "frameTextWrapMode", "frameTextWrapOffsets", "frameTextWrapContourType", "frameTextWrapContourIncludeInside", "paragraphJustification", "paragraphStyleNextStyle", "paragraphAppliedNumberingList", "frameStrokeEndCap", "frameInsetSpacing", "appliedConditions", "characterFontFamily", "characterFontStyle", "characterKerningMethod", "characterCase", "characterPosition", "characterLanguage", "characterBaselineShift", "characterHorizontalScale", "characterVerticalScale", "characterSkew", "characterUnderline", "characterStrikethru", "characterNoBreak", "characterLigatures", "characterOtfFeatures", "paragraphLeftIndent", "paragraphRightIndent", "paragraphDropCapCharacters", "paragraphDropCapLines", "paragraphHyphenation", "paragraphHyphenationZone", "paragraphKeepLinesTogether", "paragraphKeepWithNext", "paragraphKeepAllLinesTogether", "paragraphKeepFirstLines", "paragraphKeepLastLines", "paragraphStartParagraph", "paragraphSpanColumnType", "paragraphSpanSplitColumnCount", "paragraphSpanColumnMinSpaceBefore", "paragraphSpanColumnMinSpaceAfter", "paragraphSplitColumnInsideGutter", "paragraphSplitColumnOutsideGutter", "paragraphRuleAbove", "paragraphRuleBelow", "paragraphTabStops", "paragraphListType", "paragraphBulletCharacter", "paragraphNumberingFormat", "paragraphBulletsTextAfter", "paragraphNumberingExpression", "paragraphNumberingStartAt", "paragraphNumberingContinue", "paragraphNumberingLevel", "paragraphNumberingApplyRestartPolicy", "paragraphBulletsCharacterStyle", "paragraphNumberingCharacterStyle", "paragraphComposer", "paragraphAutoLeading", "paragraphSingleWordJustification", "paragraphLastLineIndent", "paragraphBalanceRaggedLines", "textFrameColumnCount", "textFrameColumnGutter", "textFrameColumnBalance", "textFrameVerticalJustification", "textFrameAutoSizing", "textFrameFirstBaseline", "textWrapInvert", "frameFittingReferencePoint", "frameAutoFit", "frameStrokeType", "frameStrokeJoin", "frameStrokeMiterLimit", "frameStrokeAlignment", "frameStrokeGapColor", "frameStrokeGapTint", "frameStrokeDashArray", "frameCornerOptionTopLeft", "frameCornerOptionTopRight", "frameCornerOptionBottomLeft", "frameCornerOptionBottomRight", "frameCornerRadiusTopLeft", "frameCornerRadiusTopRight", "frameCornerRadiusBottomLeft", "frameCornerRadiusBottomRight", "frameRotationAngle", "frameScaleX", "frameScaleY", "frameFlipH", "frameFlipV", "frameOverprintFill", "frameOverprintStroke", "frameInnerShadowEnabled", "frameInnerShadowBlendMode", "frameInnerShadowColor", "frameInnerShadowOpacity", "frameInnerShadowAngle", "frameInnerShadowDistance", "frameInnerShadowSize", "frameInnerShadowChoke", "frameInnerShadowNoise", "frameOuterGlowEnabled", "frameOuterGlowBlendMode", "frameOuterGlowColor", "frameOuterGlowOpacity", "frameOuterGlowSpread", "frameOuterGlowSize", "frameOuterGlowNoise", "frameInnerGlowEnabled", "frameInnerGlowBlendMode", "frameInnerGlowColor", "frameInnerGlowOpacity", "frameInnerGlowChoke", "frameInnerGlowSize", "frameInnerGlowSource", "frameInnerGlowNoise", "frameBevelEnabled", "frameBevelStyle", "frameBevelTechnique", "frameBevelDepth", "frameBevelDirection", "frameBevelSize", "frameBevelSoften", "frameBevelAngle", "frameBevelAltitude", "frameBevelHighlightColor", "frameBevelShadowColor", "frameBevelHighlightOpacity", "frameBevelShadowOpacity", "frameSatinEnabled", "frameSatinBlendMode", "frameSatinColor", "frameSatinOpacity", "frameSatinAngle", "frameSatinDistance", "frameSatinSize", "frameSatinInvert", "frameFeatherEnabled", "frameFeatherWidth", "frameFeatherCornerType", "frameFeatherNoise", "frameFeatherChoke", "frameDirectionalFeatherEnabled", "frameDirectionalFeatherLeftWidth", "frameDirectionalFeatherRightWidth", "frameDirectionalFeatherTopWidth", "frameDirectionalFeatherBottomWidth", "frameDirectionalFeatherAngle", "frameDirectionalFeatherNoise", "frameDirectionalFeatherChoke", "frameBlendMode", "nextTextFrame", "previousTextFrame", "cellFillColor", "cellFillTint", "cellInsetTop", "cellInsetLeft", "cellInsetBottom", "cellInsetRight", "cellVerticalJustification", "cellTopEdgeStrokeColor", "cellTopEdgeStrokeWeight", "cellTopEdgeStrokeTint", "cellBottomEdgeStrokeColor", "cellBottomEdgeStrokeWeight", "cellBottomEdgeStrokeTint", "cellLeftEdgeStrokeColor", "cellLeftEdgeStrokeWeight", "cellLeftEdgeStrokeTint", "cellRightEdgeStrokeColor", "cellRightEdgeStrokeWeight", "cellRightEdgeStrokeTint", "tableRowCount", "tableColumnCount", "pluginMetadata", "anchoredPosition", "anchorPoint", "anchoredXOffset", "anchoredYOffset", "anchoredHorizontalReference", "anchoredVerticalReference", "anchoredHorizontalAlignment", "anchoredVerticalAlignment", "anchoredSpineRelative", "anchoredLockPosition", "elementVisible", "elementLocked", "frameStrokeStartArrowhead", "frameStrokeEndArrowhead", "pageMarginTop", "pageMarginBottom", "pageMarginLeft", "pageMarginRight", "pageColumnCount", "pageColumnGutter", "documentBleedTop", "documentBleedBottom", "documentBleedInsideOrLeft", "documentBleedOutsideOrRight", "documentSlugTop", "documentSlugBottom", "documentSlugInsideOrLeft", "documentSlugRightOrOutside", "textVariableName", "textVariableType", "textVariableContents", "textVariableTextBefore", "textVariableTextAfter", "textVariableDateFormat", "objectStyleStrokeTint", "objectStyleCornerRadius", "objectStyleCornerOption", "cellStyleRotationAngle", "tableStyleHeaderRegionCellStyle", "tableStyleBodyRegionCellStyle", "tableStyleFooterRegionCellStyle", "tableStyleLeftColumnRegionCellStyle", "tableStyleRightColumnRegionCellStyle", "tableStyleTopBorderStrokeColor", "tableStyleTopBorderStrokeWeight", "tableStyleBottomBorderStrokeColor", "tableStyleBottomBorderStrokeWeight", "tableStyleLeftBorderStrokeColor", "tableStyleLeftBorderStrokeWeight", "tableStyleRightBorderStrokeColor", "tableStyleRightBorderStrokeWeight", "tableStyleAlternatingFills", "tableStyleStartRowFillColor", "tableStyleStartRowFillCount", "tableStyleStartRowFillTint", "tableStyleEndRowFillColor", "tableStyleEndRowFillCount", "tableStyleEndRowFillTint", "itemName", "frameFillOpacity", "frameFillBlendMode", "frameStrokeOpacity", "frameStrokeBlendMode", "frameContentOpacity", "frameContentBlendMode", "groupIsolateBlending", "groupKnockout", "frameDropShadowBlendMode", "frameDropShadowSpread", "frameDropShadowNoise", "frameDropShadowKnockedOut", "frameDropShadowUseGlobalLight", "documentGlobalLightAngle", "documentGlobalLightAltitude"] }, "value": { "kind": "struct", "fields": {}, "open": true, "shape": "Value" } } }, nullFill: [] },
12975
13414
  "insertOval": { args: { "kind": "struct", "fields": { "pageId": { "kind": "ref", "to": "page" }, "bounds": { "kind": "bounds" } } }, nullFill: [] },
12976
13415
  "insertGuide": { args: { "kind": "struct", "fields": { "spreadId": { "kind": "ref", "to": "spread" }, "orientation": { "kind": "enum", "members": ["vertical", "horizontal"] }, "position": { "kind": "number" }, "pageIndex": { "kind": "number", "optional": true } } }, nullFill: [] },
12977
13416
  "moveGuide": { args: { "kind": "struct", "fields": { "guideId": { "kind": "ref", "to": "guide" }, "position": { "kind": "number" } } }, nullFill: [] },
@@ -14165,6 +14604,12 @@ var HOST_FEATURES = [
14165
14604
  // needed — DESIGN.md §4.3d).
14166
14605
  "document.parentOf@1",
14167
14606
  "document.onDidChange@1",
14607
+ // ADR 327 — `onDidChange` reports EVERY committed change: a canvas
14608
+ // gesture's commit (`gestureCommitted`) and a script run (`scriptResult`,
14609
+ // `pagesUnknown`) as well as mutations, undos and redos. STATIC: the
14610
+ // editor's client hands every reply to its subscribers, and the headless
14611
+ // harness does the same for these.
14612
+ "document.onDidChange@2",
14168
14613
  // W-22 — the document-opened event. STATIC: it is the client's
14169
14614
  // `documentLoaded` broadcast filtered, and every host posts that on
14170
14615
  // every load (File ▸ Open, File ▸ New, a native-document open).
@@ -14188,6 +14633,11 @@ var HOST_FEATURES = [
14188
14633
  // like the channel's own `overlay.toolPreview@1`. The headless harness
14189
14634
  // records the shape verbatim.
14190
14635
  "overlay.text@1",
14636
+ // ADR 328 — the document-face door. STATIC like `assets.images@1`: the
14637
+ // engine's document registry answers it (protocol 70's `scope`), no
14638
+ // injected source is involved, and the worker handshake refuses an engine
14639
+ // older than the pin. Fill-only; a refusal comes back as an outcome.
14640
+ "assets.documentFont@1",
14191
14641
  // C-5 / I-04 (core v42): the placed-image bytes read is engine-served
14192
14642
  // through the wire (no injected source), so it is unconditionally
14193
14643
  // implemented at the pinned canvas-wasm — unlike assets.fonts@1, which
@@ -14287,6 +14737,16 @@ function sceneFaceLedger(provider) {
14287
14737
  }
14288
14738
  return ledger;
14289
14739
  }
14740
+ var documentFaceQueues = /* @__PURE__ */ new WeakMap();
14741
+ function faceContainer(bytes) {
14742
+ if (bytes.byteLength < 4) return null;
14743
+ const magic = String.fromCharCode(bytes[0], bytes[1], bytes[2], bytes[3]);
14744
+ if (magic === "\0\0\0" || magic === "true" || magic === "OTTO" || magic === "ttcf") {
14745
+ return "sfnt";
14746
+ }
14747
+ if (magic === "wOFF" || magic === "wOF2") return "woff";
14748
+ return null;
14749
+ }
14290
14750
  var BLOB_BUDGETS = {
14291
14751
  /** Default per-plugin blob ceiling, in bytes (64 MiB). */
14292
14752
  defaultQuotaBytes: 64 * 1024 * 1024
@@ -15333,7 +15793,7 @@ function createBundleHost(getEditor, manifest, options) {
15333
15793
  if (!parentIndexWired) {
15334
15794
  parentIndexWired = true;
15335
15795
  const off = getEditor().client.subscribe((msg) => {
15336
- if (msg.kind === "mutationApplied" || msg.kind === "undoApplied" || msg.kind === "redoApplied" || // A newly opened document invalidates everything; the kind
15796
+ if (documentChangeOf(msg) !== null || // A newly opened document invalidates everything; the kind
15337
15797
  // is matched defensively (not every host posts it).
15338
15798
  msg.kind === "documentLoaded") {
15339
15799
  parentIndex = null;
@@ -15425,14 +15885,8 @@ function createBundleHost(getEditor, manifest, options) {
15425
15885
  onDidChange(listener) {
15426
15886
  requireDocRead("document.onDidChange");
15427
15887
  const off = getEditor().client.subscribe((msg) => {
15428
- if (msg.kind === "mutationApplied" || msg.kind === "undoApplied" || msg.kind === "redoApplied") {
15429
- const reflow = msg.kind === "mutationApplied" ? msg.payload.reflow : void 0;
15430
- listener({
15431
- kind: msg.kind,
15432
- pageIds: msg.payload.pageIds,
15433
- ...reflow ? { reflow: { frameId: reflow.frameId, contentBox: reflow.contentBox } } : {}
15434
- });
15435
- }
15888
+ const change = documentChangeOf(msg);
15889
+ if (change) listener(change);
15436
15890
  });
15437
15891
  return store.add(toDisposable(off));
15438
15892
  },
@@ -16028,6 +16482,68 @@ function createBundleHost(getEditor, manifest, options) {
16028
16482
  })
16029
16483
  );
16030
16484
  },
16485
+ // ADR 328 — a face for the DOCUMENT where it holds none. Engine-served
16486
+ // like `getPlacedImage` (no injected provider): the document registry
16487
+ // is the engine's. Fill-only — the engine is asked first whether it
16488
+ // holds the face, and a held face is never sent again — so a bundle
16489
+ // cannot change how text that already resolves is drawn.
16490
+ async registerDocumentFont(bytes, family, style) {
16491
+ requireDeclared(
16492
+ hasAsset("fonts"),
16493
+ "assets.registerDocumentFont",
16494
+ 'capabilities.assets must include "fonts"'
16495
+ );
16496
+ const label = `assets.registerDocumentFont("${family}"${style ? `, "${style}"` : ""})`;
16497
+ const refuse3 = (reason) => {
16498
+ log.warn(`${label} refused: ${reason}`);
16499
+ return { status: "refused", reason };
16500
+ };
16501
+ const denied = denyWrite(hasDoc("write"), "assets.registerDocumentFont", "capabilities.document.write");
16502
+ if (denied !== null) return refuse3(denied);
16503
+ if (family.trim() === "") return refuse3("the family is empty");
16504
+ if (bytes.byteLength > ASSET_BUDGETS.maxFontFaceBytes) {
16505
+ return refuse3(
16506
+ `${bytes.byteLength} bytes is over the ${ASSET_BUDGETS.maxFontFaceBytes}-byte per-face cap`
16507
+ );
16508
+ }
16509
+ const container = faceContainer(bytes);
16510
+ if (container !== "sfnt") {
16511
+ return refuse3(
16512
+ container === "woff" ? "a WOFF or WOFF2 face \u2014 the canvas reads TrueType and OpenType only" : "the bytes are not a TrueType or OpenType face"
16513
+ );
16514
+ }
16515
+ const face = Array.from(bytes);
16516
+ let client;
16517
+ try {
16518
+ client = getEditor().client;
16519
+ } catch (err) {
16520
+ return refuse3(`no engine to give the face to (${String(err)})`);
16521
+ }
16522
+ const run = async () => {
16523
+ try {
16524
+ const held = await client.send({
16525
+ kind: "requestFontFaceBytes",
16526
+ payload: { family, style: style ?? null }
16527
+ });
16528
+ if (held.kind === "fontFaceBytes" && held.payload.found && (style === void 0 || held.payload.style === style)) {
16529
+ return { status: "held" };
16530
+ }
16531
+ const reply = await client.send({
16532
+ kind: "registerFont",
16533
+ payload: { family, style: style ?? null, bytes: face, scope: "document" }
16534
+ });
16535
+ if (reply.kind !== "fontRegistered") {
16536
+ return refuse3(`the engine answered ${reply.kind}`);
16537
+ }
16538
+ return { status: "registered", pageIds: [...reply.payload.pageIds ?? []] };
16539
+ } catch (err) {
16540
+ return refuse3(`the engine could not be reached (${String(err)})`);
16541
+ }
16542
+ };
16543
+ const queued = (documentFaceQueues.get(client) ?? Promise.resolve()).then(run, run);
16544
+ documentFaceQueues.set(client, queued);
16545
+ return queued;
16546
+ },
16031
16547
  // C-5 / I-04 (core v42): a placed DOCUMENT image's ORIGINAL bytes,
16032
16548
  // straight from the engine's resolver/parse cache through the
16033
16549
  // `requestPlacedAssetBytes` wire query — no injected source needed
@@ -17227,6 +17743,7 @@ function makeEngineEditor(worker, recorder, onToolPreview, onToolPreviews, overl
17227
17743
  async send(message) {
17228
17744
  const m = message;
17229
17745
  const reply = dispatch(m.kind, m.payload);
17746
+ if (documentChangeOf(reply) !== null) fanOut(reply);
17230
17747
  return reply;
17231
17748
  },
17232
17749
  subscribe(listener) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paged-media/plugin-sdk",
3
- "version": "0.2.54-canary.0",
3
+ "version": "0.2.56-canary.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@paged-media/plugin-api": "0.2.54-canary.0"
14
+ "@paged-media/plugin-api": "0.2.56-canary.0"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": "^18.3.0"
@@ -22,7 +22,7 @@
22
22
  }
23
23
  },
24
24
  "devDependencies": {
25
- "@paged-media/canvas-wasm": "0.71.8",
25
+ "@paged-media/canvas-wasm": "0.71.12",
26
26
  "@types/node": "20.19.39",
27
27
  "@types/react": "^18.3.31",
28
28
  "fast-check": "^4.10.2",