@paged-media/introspect-wasm 0.62.0 → 0.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog.json +428 -4
- package/package.json +1 -1
- package/paged_introspect_wasm.d.ts +101 -12
- package/paged_introspect_wasm_bg.wasm +0 -0
package/catalog.json
CHANGED
|
@@ -756,12 +756,257 @@
|
|
|
756
756
|
"kind": "write",
|
|
757
757
|
"summary": "Set or clear the text caret/range."
|
|
758
758
|
},
|
|
759
|
+
{
|
|
760
|
+
"name": "paged.reorderElement",
|
|
761
|
+
"params": "(id, target)",
|
|
762
|
+
"returns": "bool",
|
|
763
|
+
"kind": "author",
|
|
764
|
+
"summary": "Raise or lower an element in its parent's z-order. target = front | back | forward | backward | {index: n} (n = the final slot, 0 = backmost)."
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"name": "paged.pasteInto",
|
|
768
|
+
"params": "(containerId, childId)",
|
|
769
|
+
"returns": "bool",
|
|
770
|
+
"kind": "author",
|
|
771
|
+
"summary": "Nest an existing item inside a container frame."
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"name": "paged.releaseFrom",
|
|
775
|
+
"params": "(childId)",
|
|
776
|
+
"returns": "bool",
|
|
777
|
+
"kind": "author",
|
|
778
|
+
"summary": "Lift a nested item back out of its container (inverse of pasteInto)."
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"name": "paged.closePath",
|
|
782
|
+
"params": "(id, subpath?)",
|
|
783
|
+
"returns": "bool",
|
|
784
|
+
"kind": "author",
|
|
785
|
+
"summary": "Close an open contour; subpath defaults to the whole path."
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"name": "paged.joinPaths",
|
|
789
|
+
"params": "(id, otherId)",
|
|
790
|
+
"returns": "bool",
|
|
791
|
+
"kind": "author",
|
|
792
|
+
"summary": "Weld two open paths into one."
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "paged.pathfinderDivide",
|
|
796
|
+
"params": "([id, ...])",
|
|
797
|
+
"returns": "bool",
|
|
798
|
+
"kind": "author",
|
|
799
|
+
"summary": "Divide the selection into its planar regions."
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"name": "paged.pathfinderTrim",
|
|
803
|
+
"params": "([id, ...])",
|
|
804
|
+
"returns": "bool",
|
|
805
|
+
"kind": "author",
|
|
806
|
+
"summary": "Trim hidden parts of the lower shapes away."
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"name": "paged.pathfinderMerge",
|
|
810
|
+
"params": "([id, ...])",
|
|
811
|
+
"returns": "bool",
|
|
812
|
+
"kind": "author",
|
|
813
|
+
"summary": "Merge adjacent same-paint regions of the selection."
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "paged.pathfinderCrop",
|
|
817
|
+
"params": "([id, ...])",
|
|
818
|
+
"returns": "bool",
|
|
819
|
+
"kind": "author",
|
|
820
|
+
"summary": "Crop the selection to the topmost shape."
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"name": "paged.pathfinderOutline",
|
|
824
|
+
"params": "([id, ...])",
|
|
825
|
+
"returns": "bool",
|
|
826
|
+
"kind": "author",
|
|
827
|
+
"summary": "Reduce the selection to its outlined edges."
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"name": "paged.pathfinderMinusBack",
|
|
831
|
+
"params": "([id, ...])",
|
|
832
|
+
"returns": "bool",
|
|
833
|
+
"kind": "author",
|
|
834
|
+
"summary": "Subtract the shapes behind from the frontmost one."
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"name": "paged.pathfinderFaces",
|
|
838
|
+
"params": "([id, ...], [faceId, ...], mode)",
|
|
839
|
+
"returns": "bool",
|
|
840
|
+
"kind": "author",
|
|
841
|
+
"summary": "Keep or drop named faces of the planar arrangement; mode = keep | remove. Face ids come from paged.planarRegions."
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"name": "paged.planarRegions",
|
|
845
|
+
"params": "([id, ...], [x, y]?)",
|
|
846
|
+
"returns": "PlanarRegionsResult JSON",
|
|
847
|
+
"kind": "read",
|
|
848
|
+
"summary": "The planar arrangement of the named paths: found, faces (each with an id), inputCount, complete, reason. With a point, only the face under it. This is how a script names a face for pathfinderFaces."
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"name": "paged.applyOpacityMask",
|
|
852
|
+
"params": "(targetId, maskId, {maskType?, invert?}?)",
|
|
853
|
+
"returns": "bool",
|
|
854
|
+
"kind": "author",
|
|
855
|
+
"summary": "Mask one element with another."
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"name": "paged.releaseOpacityMask",
|
|
859
|
+
"params": "(targetId)",
|
|
860
|
+
"returns": "bool",
|
|
861
|
+
"kind": "author",
|
|
862
|
+
"summary": "Remove an element's opacity mask."
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"name": "paged.attachTextToPath",
|
|
866
|
+
"params": "(id, storyId, {pathTypeAlignment?, flipPathEffect?, startBracket?, endBracket?}?)",
|
|
867
|
+
"returns": "bool",
|
|
868
|
+
"kind": "author",
|
|
869
|
+
"summary": "Run a story along a path."
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"name": "paged.detachTextFromPath",
|
|
873
|
+
"params": "(id)",
|
|
874
|
+
"returns": "bool",
|
|
875
|
+
"kind": "author",
|
|
876
|
+
"summary": "Take a story back off its path."
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "paged.insertAnchoredFrame",
|
|
880
|
+
"params": "(storyId, offset, width, height, imageUri?)",
|
|
881
|
+
"returns": "bool",
|
|
882
|
+
"kind": "author",
|
|
883
|
+
"summary": "Anchor a frame in the text at a story offset; with imageUri the frame is created holding that image."
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"name": "paged.insertHyperlink",
|
|
887
|
+
"params": "(storyId, start, end, url)",
|
|
888
|
+
"returns": "bool",
|
|
889
|
+
"kind": "author",
|
|
890
|
+
"summary": "Make a character range a clickable link. Read the result with paged.collection(\"hyperlinks\") — paged.links() is the placed-asset list, not this."
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"name": "paged.layerSetVisible",
|
|
894
|
+
"params": "(layerId, visible)",
|
|
895
|
+
"returns": "bool",
|
|
896
|
+
"kind": "write",
|
|
897
|
+
"summary": "Show or hide a layer."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "paged.layerSetLocked",
|
|
901
|
+
"params": "(layerId, locked)",
|
|
902
|
+
"returns": "bool",
|
|
903
|
+
"kind": "write",
|
|
904
|
+
"summary": "Lock or unlock a layer."
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"name": "paged.layerSetPrintable",
|
|
908
|
+
"params": "(layerId, printable)",
|
|
909
|
+
"returns": "bool",
|
|
910
|
+
"kind": "write",
|
|
911
|
+
"summary": "Include a layer in output, or hold it back."
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"name": "paged.layerSetName",
|
|
915
|
+
"params": "(layerId, name)",
|
|
916
|
+
"returns": "bool",
|
|
917
|
+
"kind": "write",
|
|
918
|
+
"summary": "Rename a layer."
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"name": "paged.createSwatch",
|
|
922
|
+
"params": "(spec)",
|
|
923
|
+
"returns": "string (created id) | null",
|
|
924
|
+
"kind": "author",
|
|
925
|
+
"summary": "Create a swatch from a SwatchSpec ({space, value: [...], name?, model?, tint?}); returns its selfId."
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"name": "paged.editSwatch",
|
|
929
|
+
"params": "(swatchId, spec)",
|
|
930
|
+
"returns": "bool",
|
|
931
|
+
"kind": "author",
|
|
932
|
+
"summary": "Replace a swatch's definition."
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"name": "paged.deleteSwatch",
|
|
936
|
+
"params": "(swatchId)",
|
|
937
|
+
"returns": "bool",
|
|
938
|
+
"kind": "author",
|
|
939
|
+
"summary": "Delete a swatch."
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"name": "paged.createGradient",
|
|
943
|
+
"params": "(spec)",
|
|
944
|
+
"returns": "string (created id) | null",
|
|
945
|
+
"kind": "author",
|
|
946
|
+
"summary": "Create a gradient from a GradientSpec ({kind: \"Linear\"|\"Radial\", stops: [...], name?}); returns its selfId."
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"name": "paged.editGradient",
|
|
950
|
+
"params": "(gradientId, spec)",
|
|
951
|
+
"returns": "bool",
|
|
952
|
+
"kind": "author",
|
|
953
|
+
"summary": "Replace a gradient's definition."
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"name": "paged.deleteGradient",
|
|
957
|
+
"params": "(gradientId)",
|
|
958
|
+
"returns": "bool",
|
|
959
|
+
"kind": "author",
|
|
960
|
+
"summary": "Delete a gradient."
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"name": "paged.createColorGroup",
|
|
964
|
+
"params": "(spec)",
|
|
965
|
+
"returns": "string (created id) | null",
|
|
966
|
+
"kind": "author",
|
|
967
|
+
"summary": "Create a colour group from a ColorGroupSpec; returns its selfId."
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
"name": "paged.editColorGroup",
|
|
971
|
+
"params": "(groupId, spec)",
|
|
972
|
+
"returns": "bool",
|
|
973
|
+
"kind": "author",
|
|
974
|
+
"summary": "Replace a colour group's definition."
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"name": "paged.deleteColorGroup",
|
|
978
|
+
"params": "(groupId)",
|
|
979
|
+
"returns": "bool",
|
|
980
|
+
"kind": "author",
|
|
981
|
+
"summary": "Delete a colour group."
|
|
982
|
+
},
|
|
759
983
|
{
|
|
760
984
|
"name": "console.log",
|
|
761
985
|
"params": "(...)",
|
|
762
986
|
"returns": "undefined",
|
|
763
987
|
"kind": "console",
|
|
764
|
-
"summary": "Append a line to the captured output log
|
|
988
|
+
"summary": "Append a line to the captured output log."
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"name": "console.warn",
|
|
992
|
+
"params": "(...)",
|
|
993
|
+
"returns": "undefined",
|
|
994
|
+
"kind": "console",
|
|
995
|
+
"summary": "Append a warn-level line to the captured output log."
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"name": "console.error",
|
|
999
|
+
"params": "(...)",
|
|
1000
|
+
"returns": "undefined",
|
|
1001
|
+
"kind": "console",
|
|
1002
|
+
"summary": "Append an error-level line to the captured output log."
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "console.info",
|
|
1006
|
+
"params": "(...)",
|
|
1007
|
+
"returns": "undefined",
|
|
1008
|
+
"kind": "console",
|
|
1009
|
+
"summary": "Append an info-level line to the captured output log."
|
|
765
1010
|
}
|
|
766
1011
|
],
|
|
767
1012
|
"idGrammar": [
|
|
@@ -924,6 +1169,7 @@
|
|
|
924
1169
|
"frameDirectionalFeatherNoise",
|
|
925
1170
|
"frameDirectionalFeatherChoke",
|
|
926
1171
|
"frameBlendMode",
|
|
1172
|
+
"frameGradientFeather",
|
|
927
1173
|
"cellFillColor",
|
|
928
1174
|
"cellFillTint",
|
|
929
1175
|
"cellInsetTop",
|
|
@@ -943,8 +1189,6 @@
|
|
|
943
1189
|
"cellRightEdgeStrokeColor",
|
|
944
1190
|
"cellRightEdgeStrokeWeight",
|
|
945
1191
|
"cellRightEdgeStrokeTint",
|
|
946
|
-
"tableRowCount",
|
|
947
|
-
"tableColumnCount",
|
|
948
1192
|
"pluginMetadata",
|
|
949
1193
|
"anchoredPosition",
|
|
950
1194
|
"anchorPoint",
|
|
@@ -957,7 +1201,34 @@
|
|
|
957
1201
|
"anchoredSpineRelative",
|
|
958
1202
|
"anchoredLockPosition",
|
|
959
1203
|
"elementVisible",
|
|
960
|
-
"elementLocked"
|
|
1204
|
+
"elementLocked",
|
|
1205
|
+
"characterFontFamily",
|
|
1206
|
+
"characterFontStyle",
|
|
1207
|
+
"characterKerningMethod",
|
|
1208
|
+
"characterCase",
|
|
1209
|
+
"characterPosition",
|
|
1210
|
+
"characterLanguage",
|
|
1211
|
+
"characterBaselineShift",
|
|
1212
|
+
"characterHorizontalScale",
|
|
1213
|
+
"characterVerticalScale",
|
|
1214
|
+
"characterSkew",
|
|
1215
|
+
"characterUnderline",
|
|
1216
|
+
"characterStrikethru",
|
|
1217
|
+
"characterLigatures",
|
|
1218
|
+
"characterOtfFeatures",
|
|
1219
|
+
"paragraphLeftIndent",
|
|
1220
|
+
"paragraphRightIndent",
|
|
1221
|
+
"paragraphDropCapCharacters",
|
|
1222
|
+
"paragraphDropCapLines",
|
|
1223
|
+
"paragraphHyphenation",
|
|
1224
|
+
"paragraphKeepLinesTogether",
|
|
1225
|
+
"paragraphKeepWithNext",
|
|
1226
|
+
"paragraphRuleAbove",
|
|
1227
|
+
"paragraphRuleBelow",
|
|
1228
|
+
"paragraphTabStops",
|
|
1229
|
+
"paragraphListType",
|
|
1230
|
+
"paragraphBulletCharacter",
|
|
1231
|
+
"paragraphNumberingFormat"
|
|
961
1232
|
],
|
|
962
1233
|
"constraints": [
|
|
963
1234
|
"Scripts run in Boa (pure ECMAScript), NOT Node: no require/import, fetch, fs, setTimeout, or network. Use only paged.* and console.*.",
|
|
@@ -968,6 +1239,125 @@
|
|
|
968
1239
|
"insertFrame/insertTextFrame return the new element's kind:id address (and auto-select it); insertPage returns the new page's selfId. Pass the returned id straight to paged.set / placeImage / insertText (use paged.pages() for a page id, paged.stories() for the minted story).",
|
|
969
1240
|
"Bounds are page-local points in [top, left, bottom, right] order. The document works in points (1/72 inch)."
|
|
970
1241
|
],
|
|
1242
|
+
"operations": [
|
|
1243
|
+
"insertText",
|
|
1244
|
+
"deleteRange",
|
|
1245
|
+
"applyStyle",
|
|
1246
|
+
"insertField",
|
|
1247
|
+
"insertAnchoredFrame",
|
|
1248
|
+
"insertHyperlink",
|
|
1249
|
+
"setFieldValue",
|
|
1250
|
+
"placeImage",
|
|
1251
|
+
"replaceImageBytes",
|
|
1252
|
+
"moveFrame",
|
|
1253
|
+
"resizeFrame",
|
|
1254
|
+
"linkFrames",
|
|
1255
|
+
"unlinkFrames",
|
|
1256
|
+
"insertPage",
|
|
1257
|
+
"deletePage",
|
|
1258
|
+
"resizePage",
|
|
1259
|
+
"insertFrame",
|
|
1260
|
+
"insertTextFrame",
|
|
1261
|
+
"deleteFrame",
|
|
1262
|
+
"insertLine",
|
|
1263
|
+
"insertPath",
|
|
1264
|
+
"setDocumentDefaults",
|
|
1265
|
+
"setColorSettings",
|
|
1266
|
+
"setProofSetup",
|
|
1267
|
+
"importSwatchLibrary",
|
|
1268
|
+
"setInkSetting",
|
|
1269
|
+
"setUseStandardLabForSpots",
|
|
1270
|
+
"pathPointInsert",
|
|
1271
|
+
"pathPointRemove",
|
|
1272
|
+
"pathOpenAt",
|
|
1273
|
+
"outlineStroke",
|
|
1274
|
+
"offsetPath",
|
|
1275
|
+
"simplifyPath",
|
|
1276
|
+
"closePath",
|
|
1277
|
+
"joinPaths",
|
|
1278
|
+
"pasteInto",
|
|
1279
|
+
"releaseFrom",
|
|
1280
|
+
"reorderElement",
|
|
1281
|
+
"applyOpacityMask",
|
|
1282
|
+
"releaseOpacityMask",
|
|
1283
|
+
"attachTextToPath",
|
|
1284
|
+
"detachTextFromPath",
|
|
1285
|
+
"createGroup",
|
|
1286
|
+
"dissolveGroup",
|
|
1287
|
+
"setGroupTransform",
|
|
1288
|
+
"setPluginMetadata",
|
|
1289
|
+
"pathPointCurveType",
|
|
1290
|
+
"pathPointSet",
|
|
1291
|
+
"batch",
|
|
1292
|
+
"bindCreated",
|
|
1293
|
+
"layerSetVisible",
|
|
1294
|
+
"layerSetLocked",
|
|
1295
|
+
"layerSetPrintable",
|
|
1296
|
+
"layerSetName",
|
|
1297
|
+
"layerMove",
|
|
1298
|
+
"layerInsert",
|
|
1299
|
+
"layerRemove",
|
|
1300
|
+
"setElementProperty",
|
|
1301
|
+
"pathfinderBoolean",
|
|
1302
|
+
"pathfinderDivide",
|
|
1303
|
+
"pathfinderTrim",
|
|
1304
|
+
"pathfinderMerge",
|
|
1305
|
+
"pathfinderCrop",
|
|
1306
|
+
"pathfinderOutline",
|
|
1307
|
+
"pathfinderMinusBack",
|
|
1308
|
+
"pathfinderFaces",
|
|
1309
|
+
"createSwatch",
|
|
1310
|
+
"editSwatch",
|
|
1311
|
+
"deleteSwatch",
|
|
1312
|
+
"createGradient",
|
|
1313
|
+
"editGradient",
|
|
1314
|
+
"deleteGradient",
|
|
1315
|
+
"createColorGroup",
|
|
1316
|
+
"editColorGroup",
|
|
1317
|
+
"deleteColorGroup",
|
|
1318
|
+
"createNumberingList",
|
|
1319
|
+
"editNumberingList",
|
|
1320
|
+
"deleteNumberingList",
|
|
1321
|
+
"createParagraphStyle",
|
|
1322
|
+
"renameParagraphStyle",
|
|
1323
|
+
"deleteParagraphStyle",
|
|
1324
|
+
"createCharacterStyle",
|
|
1325
|
+
"renameCharacterStyle",
|
|
1326
|
+
"deleteCharacterStyle",
|
|
1327
|
+
"createObjectStyle",
|
|
1328
|
+
"renameObjectStyle",
|
|
1329
|
+
"deleteObjectStyle",
|
|
1330
|
+
"createCellStyle",
|
|
1331
|
+
"renameCellStyle",
|
|
1332
|
+
"deleteCellStyle",
|
|
1333
|
+
"createTableStyle",
|
|
1334
|
+
"renameTableStyle",
|
|
1335
|
+
"deleteTableStyle",
|
|
1336
|
+
"setStyleProperty",
|
|
1337
|
+
"insertOval",
|
|
1338
|
+
"insertGuide",
|
|
1339
|
+
"moveGuide",
|
|
1340
|
+
"deleteGuide",
|
|
1341
|
+
"setConditionVisible",
|
|
1342
|
+
"activateConditionSet",
|
|
1343
|
+
"applyMasterToPage",
|
|
1344
|
+
"duplicatePage",
|
|
1345
|
+
"insertSection",
|
|
1346
|
+
"editSection",
|
|
1347
|
+
"deleteSection",
|
|
1348
|
+
"setRowHeight",
|
|
1349
|
+
"setColumnWidth",
|
|
1350
|
+
"insertTableRow",
|
|
1351
|
+
"deleteTableRow",
|
|
1352
|
+
"insertTableColumn",
|
|
1353
|
+
"deleteTableColumn",
|
|
1354
|
+
"insertHeaderRow",
|
|
1355
|
+
"removeHeaderRow",
|
|
1356
|
+
"insertFooterRow",
|
|
1357
|
+
"removeFooterRow",
|
|
1358
|
+
"setCellSpan",
|
|
1359
|
+
"insertTable"
|
|
1360
|
+
],
|
|
971
1361
|
"elements": [
|
|
972
1362
|
{
|
|
973
1363
|
"name": "TextFrame",
|
|
@@ -1329,5 +1719,39 @@
|
|
|
1329
1719
|
}
|
|
1330
1720
|
]
|
|
1331
1721
|
}
|
|
1722
|
+
],
|
|
1723
|
+
"pathAliases": [
|
|
1724
|
+
{
|
|
1725
|
+
"name": "frameTextWrapInvert",
|
|
1726
|
+
"wire": "textWrapInvert"
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
"name": "frameInnerShadow",
|
|
1730
|
+
"wire": "frameInnerShadowEnabled"
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"name": "frameOuterGlow",
|
|
1734
|
+
"wire": "frameOuterGlowEnabled"
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
"name": "frameInnerGlow",
|
|
1738
|
+
"wire": "frameInnerGlowEnabled"
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"name": "frameBevel",
|
|
1742
|
+
"wire": "frameBevelEnabled"
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"name": "frameSatin",
|
|
1746
|
+
"wire": "frameSatinEnabled"
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"name": "frameFeather",
|
|
1750
|
+
"wire": "frameFeatherEnabled"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"name": "frameDirectionalFeather",
|
|
1754
|
+
"wire": "frameDirectionalFeatherEnabled"
|
|
1755
|
+
}
|
|
1332
1756
|
]
|
|
1333
1757
|
}
|
package/package.json
CHANGED
|
@@ -5,6 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type ScenePathSeg = { op: "moveTo"; x: number; y: number } | { op: "lineTo"; x: number; y: number } | { op: "cubicTo"; cx1: number; cy1: number; cx2: number; cy2: number; x: number; y: number } | { op: "close" };
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* A byte buffer that crosses the message channel. Wraps `Vec<u8>`
|
|
10
|
+
* so transferable-via-`postMessage` semantics are explicit at call
|
|
11
|
+
* sites; the wasm crate decides whether to clone or transfer based
|
|
12
|
+
* on whether the value is the JS-side `Uint8Array` or a Rust-side
|
|
13
|
+
* `Vec`. The wire form is whatever serde produces for `Vec<u8>` —
|
|
14
|
+
* JSON renders an array of numbers; future binary protocols (CBOR
|
|
15
|
+
* / messagepack) render a real bytes blob without code change.
|
|
16
|
+
*/
|
|
17
|
+
export type ByteBuf = number[];
|
|
18
|
+
|
|
8
19
|
/**
|
|
9
20
|
* A compositing blend mode for [`SceneItem::FillPathBlend`] (C-1.4).
|
|
10
21
|
* Mirrors the CSS-relevant subset of the display list\'s
|
|
@@ -15,6 +26,17 @@ export type ScenePathSeg = { op: "moveTo"; x: number; y: number } | { op: "lineT
|
|
|
15
26
|
*/
|
|
16
27
|
export type SceneBlendMode = "multiply" | "screen" | "overlay" | "darken" | "lighten" | "colorDodge" | "colorBurn" | "hardLight" | "softLight" | "difference" | "exclusion" | "hue" | "saturation" | "color" | "luminosity";
|
|
17
28
|
|
|
29
|
+
/**
|
|
30
|
+
* A content-space mutation. Phase 1 carries the *envelope* only —
|
|
31
|
+
* the worker rejects each variant with `WorkerError::NotImplemented`.
|
|
32
|
+
* Phase 3 lights these up incrementally.
|
|
33
|
+
*
|
|
34
|
+
* Behind the default `mutations` feature: its payload types come from
|
|
35
|
+
* `paged-mutate`, and the read-only viewer SDK must not link that.
|
|
36
|
+
* See the crate docs.
|
|
37
|
+
*/
|
|
38
|
+
export type Mutation = { op: "insertText"; args: { storyId: string; offset: number; text: string; cell?: TextCellAddr | null } } | { op: "deleteRange"; args: { storyId: string; start: number; end: number; cell?: TextCellAddr | null } } | { op: "applyStyle"; args: { storyId: string; start: number; end: number; style: string; scope: StyleScope; cell?: TextCellAddr | null } } | { op: "insertField"; args: { storyId: string; offset: number; field: FieldKind } } | { op: "insertAnchoredFrame"; args: { storyId: string; offset: number; width: number; height: number; imageUri?: string | null } } | { op: "insertHyperlink"; args: { storyId: string; start: number; end: number; url: string } } | { op: "setFieldValue"; args: { storyId: string; offset: number; value?: string | null } } | { op: "placeImage"; args: { elementId: string; uri: string; fit?: string | null } } | { op: "replaceImageBytes"; args: { elementId: string; bytes?: number[] | null } } | { op: "moveFrame"; args: { frameId: string; transform: [number, number, number, number, number, number] } } | { op: "resizeFrame"; args: { frameId: string; bounds: [number, number, number, number] } } | { op: "linkFrames"; args: { from: string; to: string } } | { op: "unlinkFrames"; args: { frame: string } } | { op: "insertPage"; args: { afterPageId: PageId | null; masterId: string | null } } | { op: "deletePage"; args: { pageId: PageId } } | { op: "resizePage"; args: { pageId: PageId; bounds: [number, number, number, number] } } | { op: "insertFrame"; args: { pageId: PageId; bounds: [number, number, number, number] } } | { op: "insertTextFrame"; args: { pageId: PageId; bounds: [number, number, number, number] } } | { op: "deleteFrame"; args: { frameId: string } } | { op: "insertLine"; args: { pageId: PageId; start: [number, number]; end: [number, number] } } | { op: "insertPath"; args: { pageId: PageId; anchors: PathAnchorSpec[]; open: boolean; smooth?: boolean } } | { op: "setDocumentDefaults"; args: { fillColor: string | null; strokeColor: string | null; strokeWeight: number | null } } | { op: "setColorSettings"; args: { cmykProfileName: string | null; rgbPolicy: string | null; intent: string | null; bpc: boolean | null } } | { op: "setProofSetup"; args: { profileName: string | null; simulatePaperWhite?: boolean; intent: string | null } } | { op: "importSwatchLibrary"; args: { bytes: number[]; groupName?: string | null } } | { op: "setInkSetting"; args: { spotId: string; convertToProcess?: boolean; aliasTo?: string | null } } | { op: "setUseStandardLabForSpots"; args: { enabled: boolean } } | { op: "pathPointInsert"; args: { elementId: ElementId; index: number; anchor: PathAnchorSpec; prevSubpathStarts?: number[] | null } } | { op: "pathPointRemove"; args: { elementId: ElementId; index: number } } | { op: "pathOpenAt"; args: { elementId: ElementId; index: number } } | { op: "outlineStroke"; args: { elementId: ElementId; width: number; cap: string; join: string; miterLimit: number } } | { op: "offsetPath"; args: { elementId: ElementId; delta: number; join: string; miterLimit: number } } | { op: "simplifyPath"; args: { elementId: ElementId; tolerance: number } } | { op: "closePath"; args: { elementId: ElementId; subpath?: number | null } } | { op: "joinPaths"; args: { elementId: ElementId; otherId: ElementId } } | { op: "pasteInto"; args: { containerId: ElementId; childId: ElementId } } | { op: "releaseFrom"; args: { childId: ElementId } } | { op: "reorderElement"; args: { elementId: ElementId; to: ZOrderTarget } } | { op: "applyOpacityMask"; args: { targetId: ElementId; maskId: ElementId; maskType?: string | null; invert?: boolean | null } } | { op: "releaseOpacityMask"; args: { targetId: ElementId } } | { op: "attachTextToPath"; args: { elementId: ElementId; storyId: string; pathTypeAlignment?: string | null; flipPathEffect?: string | null; startBracket?: number | null; endBracket?: number | null } } | { op: "detachTextFromPath"; args: { elementId: ElementId } } | { op: "createGroup"; args: { memberIds: ElementId[] } } | { op: "dissolveGroup"; args: { groupId: string } } | { op: "setGroupTransform"; args: { groupId: string; transform?: [number, number, number, number, number, number] | null } } | { op: "setPluginMetadata"; args: { elementId: ElementId; key: string; value?: string | null; caller?: string | null } } | { op: "pathPointCurveType"; args: { elementId: ElementId; index: number; smooth: boolean } } | { op: "pathPointSet"; args: { elementId: ElementId; index: number; role: PathPointRole; position: [number, number] } } | { op: "batch"; args: { ops: Mutation[] } } | { op: "bindCreated"; args: { handle: string } } | { op: "layerSetVisible"; args: { layerId: string; visible: boolean } } | { op: "layerSetLocked"; args: { layerId: string; locked: boolean } } | { op: "layerSetPrintable"; args: { layerId: string; printable: boolean } } | { op: "layerSetName"; args: { layerId: string; name: string } } | { op: "layerMove"; args: { layerId: string; newIndex: number } } | { op: "layerInsert"; args: { position: number; name: string } } | { op: "layerRemove"; args: { layerId: string } } | { op: "setElementProperty"; args: { elementId: ElementId; path: PropertyPath; value: Value } } | { op: "pathfinderBoolean"; args: { kept: ElementId; others: ElementId[]; kind: PathfinderKind } } | { op: "pathfinderDivide"; args: { elementIds: ElementId[] } } | { op: "pathfinderTrim"; args: { elementIds: ElementId[] } } | { op: "pathfinderMerge"; args: { elementIds: ElementId[] } } | { op: "pathfinderCrop"; args: { elementIds: ElementId[] } } | { op: "pathfinderOutline"; args: { elementIds: ElementId[] } } | { op: "pathfinderMinusBack"; args: { elementIds: ElementId[] } } | { op: "pathfinderFaces"; args: { elementIds: ElementId[]; faces: string[]; mode: FaceSelectMode } } | { op: "createSwatch"; args: { spec: SwatchSpec } } | { op: "editSwatch"; args: { swatchId: string; spec: SwatchSpec } } | { op: "deleteSwatch"; args: { swatchId: string } } | { op: "createGradient"; args: { spec: GradientSpec } } | { op: "editGradient"; args: { gradientId: string; spec: GradientSpec } } | { op: "deleteGradient"; args: { gradientId: string } } | { op: "createColorGroup"; args: { spec: ColorGroupSpec } } | { op: "editColorGroup"; args: { groupId: string; spec: ColorGroupSpec } } | { op: "deleteColorGroup"; args: { groupId: string } } | { op: "createNumberingList"; args: { spec: NumberingListSpec } } | { op: "editNumberingList"; args: { listId: string; spec: NumberingListSpec } } | { op: "deleteNumberingList"; args: { listId: string } } | { op: "createParagraphStyle"; args: { selfId?: string | null; name?: string | null; basedOn?: string | null } } | { op: "renameParagraphStyle"; args: { styleId: string; name: string } } | { op: "deleteParagraphStyle"; args: { styleId: string } } | { op: "createCharacterStyle"; args: { selfId?: string | null; name?: string | null; basedOn?: string | null } } | { op: "renameCharacterStyle"; args: { styleId: string; name: string } } | { op: "deleteCharacterStyle"; args: { styleId: string } } | { op: "createObjectStyle"; args: { selfId?: string | null; name?: string | null; basedOn?: string | null } } | { op: "renameObjectStyle"; args: { styleId: string; name: string } } | { op: "deleteObjectStyle"; args: { styleId: string } } | { op: "createCellStyle"; args: { selfId?: string | null; name?: string | null; basedOn?: string | null } } | { op: "renameCellStyle"; args: { styleId: string; name: string } } | { op: "deleteCellStyle"; args: { styleId: string } } | { op: "createTableStyle"; args: { selfId?: string | null; name?: string | null; basedOn?: string | null } } | { op: "renameTableStyle"; args: { styleId: string; name: string } } | { op: "deleteTableStyle"; args: { styleId: string } } | { op: "setStyleProperty"; args: { collection: StyleCollection; styleId: string; path: PropertyPath; value: Value } } | { op: "insertOval"; args: { pageId: PageId; bounds: [number, number, number, number] } } | { op: "insertGuide"; args: { spreadId: string; orientation: GuideOrientationSpec; position: number; pageIndex?: number } } | { op: "moveGuide"; args: { guideId: string; position: number } } | { op: "deleteGuide"; args: { guideId: string } } | { op: "setConditionVisible"; args: { condition: string; visible: boolean } } | { op: "activateConditionSet"; args: { set: string } } | { op: "applyMasterToPage"; args: { page: PageId; master?: string | null } } | { op: "duplicatePage"; args: { page: PageId } } | { op: "insertSection"; args: { atPage: PageId; prefix?: string | null; numberingStyle?: string | null; startAt?: number | null } } | { op: "editSection"; args: { sectionId: string; prefix?: string | null | null; numberingStyle?: string | null; startAt?: number | null | null } } | { op: "deleteSection"; args: { sectionId: string } } | { op: "setRowHeight"; args: { storyId: string; tableId: string; row: number; height?: number | null } } | { op: "setColumnWidth"; args: { storyId: string; tableId: string; col: number; width?: number | null } } | { op: "insertTableRow"; args: { storyId: string; tableId: string; at: number } } | { op: "deleteTableRow"; args: { storyId: string; tableId: string; at: number } } | { op: "insertTableColumn"; args: { storyId: string; tableId: string; at: number } } | { op: "deleteTableColumn"; args: { storyId: string; tableId: string; at: number } } | { op: "insertHeaderRow"; args: { storyId: string; tableId: string } } | { op: "removeHeaderRow"; args: { storyId: string; tableId: string } } | { op: "insertFooterRow"; args: { storyId: string; tableId: string } } | { op: "removeFooterRow"; args: { storyId: string; tableId: string } } | { op: "setCellSpan"; args: { storyId: string; tableId: string; row: number; col: number; rowSpan: number; columnSpan: number } } | { op: "insertTable"; args: { storyId: string; rows: number; cols: number; headerRows?: number; footerRows?: number; columnWidths?: number[]; rowHeights?: number[] } };
|
|
39
|
+
|
|
18
40
|
/**
|
|
19
41
|
* A plugin gradient paint for [`SceneItem::FillPathGradient`] (C-1.3).
|
|
20
42
|
* Coordinates are frame-content points (mapped by the frame transform
|
|
@@ -222,6 +244,19 @@ export interface GradientFeatherStopSpec {
|
|
|
222
244
|
midpointPct?: number;
|
|
223
245
|
}
|
|
224
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Element address the user can select OR a `SetElementProperty`
|
|
249
|
+
* mutation can target. The first six variants are page items
|
|
250
|
+
* (selection state holds these); `StoryRange` is the half-open
|
|
251
|
+
* character range that character / paragraph property writes
|
|
252
|
+
* address. Selection state today never holds `StoryRange` (the
|
|
253
|
+
* text-side caret + range live in `ContentSelection`); the
|
|
254
|
+
* variant exists so the apply layer can be reached via the
|
|
255
|
+
* existing `Mutation::SetElementProperty` wire shape — see
|
|
256
|
+
* `docs/paged/sdk-implementation-plan.md` §3c.1 ADR.
|
|
257
|
+
*/
|
|
258
|
+
export type ElementId = { kind: "textFrame"; id: string } | { kind: "rectangle"; id: string } | { kind: "oval"; id: string } | { kind: "polygon"; id: string } | { kind: "graphicLine"; id: string } | { kind: "group"; id: string } | { kind: "storyRange"; id: { story_id: string; start: number; end: number } } | { kind: "table"; id: { story_id: string; table_id: string } } | { kind: "tableCell"; id: { story_id: string; table_id: string; row: number; col: number } };
|
|
259
|
+
|
|
225
260
|
/**
|
|
226
261
|
* Hint to downstream caches about what the apply touched. Lists
|
|
227
262
|
* instead of a single enum so a Batch aggregates by union without
|
|
@@ -239,6 +274,16 @@ export interface InvalidationHint {
|
|
|
239
274
|
structural: boolean;
|
|
240
275
|
}
|
|
241
276
|
|
|
277
|
+
/**
|
|
278
|
+
* How a `SetElementSelection` request combines with the current set.
|
|
279
|
+
* Mirrors the canonical macOS / industry convention:
|
|
280
|
+
* - `Replace` — plain click; selection becomes the request.
|
|
281
|
+
* - `Add` — Shift-click; union (already-selected ids stay).
|
|
282
|
+
* - `Toggle` — Cmd/Ctrl-click; ids already in the set are removed,
|
|
283
|
+
* ids not in the set are added.
|
|
284
|
+
*/
|
|
285
|
+
export type SelectionMode = "replace" | "add" | "toggle";
|
|
286
|
+
|
|
242
287
|
/**
|
|
243
288
|
* One RGBA8 tile of a [`PixelLayer`]. `rgba` is tightly packed
|
|
244
289
|
* (`width*height*4`, row-major); the tile is placed at the `(x, y)`
|
|
@@ -341,18 +386,6 @@ export type PathfinderKind = "union" | "intersect" | "subtract" | "exclude";
|
|
|
341
386
|
*/
|
|
342
387
|
export type NodeId = { kind: "TextFrame"; id: string } | { kind: "Rectangle"; id: string } | { kind: "Oval"; id: string } | { kind: "Polygon"; id: string } | { kind: "GraphicLine"; id: string } | { kind: "Group"; id: string } | { kind: "Spread"; id: string } | { kind: "Page"; id: string } | { kind: "Story"; id: string } | { kind: "Layer"; id: string } | { kind: "StoryRange"; id: { story_id: string; start: number; end: number } } | { kind: "Table"; id: { story_id: string; table_id: string } } | { kind: "TableCell"; id: { story_id: string; table_id: string; row: number; col: number } };
|
|
343
388
|
|
|
344
|
-
/**
|
|
345
|
-
* Stable page identity, independent of position in the page vector.
|
|
346
|
-
*
|
|
347
|
-
* Derived from the IDML `<Page Self=\"...\">` attribute where present;
|
|
348
|
-
* synthesised as `\"page-<spread_idx>-<local_idx>\"` when missing
|
|
349
|
-
* (older / synthetic fixtures without `Self`). The canvas keys
|
|
350
|
-
* display-list caches and LOD tiles by `PageId`, so the value must
|
|
351
|
-
* stay stable across re-layouts — only document-structural edits
|
|
352
|
-
* (insert/delete page) should ever change the set of `PageId`s.
|
|
353
|
-
*/
|
|
354
|
-
export type PageId = string;
|
|
355
|
-
|
|
356
389
|
/**
|
|
357
390
|
* The canonical mutation primitive. A closed set, extended only with
|
|
358
391
|
* deliberation. Collection mutations (swatches, styles) operate on the
|
|
@@ -441,6 +474,60 @@ export type FieldKind = "pageNumber" | "nextPageNumber" | { placeholder: { plugi
|
|
|
441
474
|
*/
|
|
442
475
|
export type GuideOrientationSpec = "vertical" | "horizontal";
|
|
443
476
|
|
|
477
|
+
/**
|
|
478
|
+
* W1.13 — cell qualifier for a content address that points INTO a
|
|
479
|
+
* table cell rather than the story\'s main paragraph flow.
|
|
480
|
+
*
|
|
481
|
+
* ## The two-stream addressing model
|
|
482
|
+
*
|
|
483
|
+
* Table-cell text is stored out of band on `Table.cells[].paragraphs`
|
|
484
|
+
* (see `idml_import`), disjoint from `Story.paragraphs`. So a content
|
|
485
|
+
* address needs to say *which* paragraph stream its byte offsets index:
|
|
486
|
+
*
|
|
487
|
+
* - `ContentSelection.cell == None` — offsets are story-local bytes
|
|
488
|
+
* over `story.paragraphs` (the body flow). Unchanged from before.
|
|
489
|
+
* - `ContentSelection.cell == Some(addr)` — offsets are CELL-LOCAL
|
|
490
|
+
* bytes over `cell.paragraphs`, under the same story-offset contract
|
|
491
|
+
* (run bytes + one synthetic `\\n` per inter-paragraph boundary,
|
|
492
|
+
* counted within the cell). The owning story is still `story_id`;
|
|
493
|
+
* `addr` picks the cell within that story\'s table.
|
|
494
|
+
*
|
|
495
|
+
* `table_id` / `row` / `col` are the SAME identifiers the hit-test
|
|
496
|
+
* surface emits (`HitResult.table_context` / `TableHitContext`) and
|
|
497
|
+
* that the renderer stamps onto cell `LineLayout`s
|
|
498
|
+
* (`paged_renderer::CellAddr`), so a hit that lands in a cell hands
|
|
499
|
+
* back exactly the qualifier the caret/edit address needs — no second
|
|
500
|
+
* query.
|
|
501
|
+
*
|
|
502
|
+
* ## Why a qualifier and not a re-numbered flat offset
|
|
503
|
+
*
|
|
504
|
+
* The alternative — fold cells into one flat story-offset space via a
|
|
505
|
+
* reserved high-bit/region scheme — was rejected: it makes
|
|
506
|
+
* `shift_for_insert`/`shift_for_delete`, undo inverse offsets, and the
|
|
507
|
+
* existing body-only consumers (BreakRecord, the A/B harness, every
|
|
508
|
+
* `RequestWordBounds`/`RequestLineBounds` caller) all have to learn the
|
|
509
|
+
* encoding, and a single arithmetic slip silently routes an edit into
|
|
510
|
+
* the wrong cell. The qualifier keeps body addressing byte-identical
|
|
511
|
+
* (the field defaults to `None` and is `#[serde(default)]`, so it
|
|
512
|
+
* rides v35 additively — old senders omit it) and makes \"which stream\
|
|
513
|
+
* an explicit, type-checked decision. Undo is trivially correct
|
|
514
|
+
* because the inverse op carries the same `cell` qualifier.
|
|
515
|
+
*/
|
|
516
|
+
export interface TextCellAddr {
|
|
517
|
+
/**
|
|
518
|
+
* `<Table Self=\"...\">` id within `story_id`.
|
|
519
|
+
*/
|
|
520
|
+
tableId: string;
|
|
521
|
+
/**
|
|
522
|
+
* Template row (0-based); span-origin row for spanned cells.
|
|
523
|
+
*/
|
|
524
|
+
row: number;
|
|
525
|
+
/**
|
|
526
|
+
* Column (0-based); span-origin column for spanned cells.
|
|
527
|
+
*/
|
|
528
|
+
col: number;
|
|
529
|
+
}
|
|
530
|
+
|
|
444
531
|
/**
|
|
445
532
|
* W1.20 — `(parent_group_id, index_within_parent_members)` carried by
|
|
446
533
|
* a `GroupSpec` when a group must be (re)created nested inside another
|
|
@@ -567,6 +654,8 @@ export type StyleScope = "paragraph" | "character";
|
|
|
567
654
|
*/
|
|
568
655
|
export type ZOrderTarget = "front" | "back" | "forward" | "backward" | { index: number };
|
|
569
656
|
|
|
657
|
+
export type PageId = string;
|
|
658
|
+
|
|
570
659
|
|
|
571
660
|
export class Inspector {
|
|
572
661
|
free(): void;
|
|
Binary file
|