@paged-media/plugin-api 0.2.6-canary.0 → 0.2.9-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.
- package/dist/assets.d.ts +75 -0
- package/dist/contributions.d.ts +1 -1
- package/dist/editor.d.ts +152 -2
- package/dist/host.d.ts +464 -14
- package/dist/index.d.ts +5 -2
- package/dist/manifest.d.ts +137 -4
- package/dist/mutations.d.ts +1 -1
- package/dist/panel-schema.d.ts +92 -0
- package/dist/widgets.d.ts +48 -0
- package/dist/wire.d.ts +370 -27
- package/package.json +1 -1
- package/src/manifest.schema.json +104 -1
package/dist/wire.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
// GENERATED — do not edit. Vendored verbatim from the
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// when the sibling editor checkout is absent).
|
|
1
|
+
// GENERATED — do not edit. Vendored verbatim from the published
|
|
2
|
+
// @paged-media/canvas-wasm .d.ts (tsify output from paged-media/core,
|
|
3
|
+
// MPL-2.0 OR PMEL). Sync: node scripts/sync-wire.mjs · Check: --check.
|
|
4
|
+
// Synced from @paged-media/canvas-wasm@0.42.0
|
|
6
5
|
/* tslint:disable */
|
|
7
6
|
/* eslint-disable */
|
|
8
7
|
|
|
@@ -17,6 +16,11 @@ export type WorkerToMain = WorkerToMainKind & {
|
|
|
17
16
|
};
|
|
18
17
|
|
|
19
18
|
|
|
19
|
+
/**
|
|
20
|
+
* A bezier path segment in frame-content coordinates (points).
|
|
21
|
+
*/
|
|
22
|
+
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" };
|
|
23
|
+
|
|
20
24
|
/**
|
|
21
25
|
* A byte buffer that crosses the message channel. Wraps `Vec<u8>`
|
|
22
26
|
* so transferable-via-`postMessage` semantics are explicit at call
|
|
@@ -33,7 +37,55 @@ export type ByteBuf = number[];
|
|
|
33
37
|
* the worker rejects each variant with `WorkerError::NotImplemented`.
|
|
34
38
|
* Phase 3 lights these up incrementally.
|
|
35
39
|
*/
|
|
36
|
-
export type Mutation = { op: "insertText"; args: { storyId: string; offset: number; text: string } } | { op: "deleteRange"; args: { storyId: string; start: number; end: number } } | { op: "applyStyle"; args: { storyId: string; start: number; end: number; style: string; scope: StyleScope } } | { op: "insertField"; args: { storyId: string; offset: number; field: FieldKind } } | { 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: "createGroup"; args: { memberIds: ElementId[] } } | { op: "dissolveGroup"; args: { groupId: string } } | { op: "setPluginMetadata"; args: { elementId: ElementId; key: string; value?: 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: "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: "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: "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 } };
|
|
40
|
+
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 } } | { op: "insertField"; args: { storyId: string; offset: number; field: FieldKind } } | { 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: "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: "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: "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[] } };
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* A plugin-submitted vector layer in frame-content coordinates. Keyed
|
|
44
|
+
* (on the wire) by the host element id of the frame it renders into.
|
|
45
|
+
*/
|
|
46
|
+
export interface SceneLayer {
|
|
47
|
+
items: SceneItem[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A single-line text run in frame-content coordinates (C-1.1).
|
|
52
|
+
*/
|
|
53
|
+
export interface SceneTextItem {
|
|
54
|
+
/**
|
|
55
|
+
* Baseline origin x in frame-content points.
|
|
56
|
+
*/
|
|
57
|
+
x: number;
|
|
58
|
+
/**
|
|
59
|
+
* Baseline origin y in frame-content points (the text baseline).
|
|
60
|
+
*/
|
|
61
|
+
y: number;
|
|
62
|
+
/**
|
|
63
|
+
* The run\'s text (single line — newlines are not laid out).
|
|
64
|
+
*/
|
|
65
|
+
text: string;
|
|
66
|
+
/**
|
|
67
|
+
* Point size.
|
|
68
|
+
*/
|
|
69
|
+
size: number;
|
|
70
|
+
paint: ScenePaint;
|
|
71
|
+
/**
|
|
72
|
+
* Reserved face hints (v1 renders in the document default font).
|
|
73
|
+
*/
|
|
74
|
+
family?: string;
|
|
75
|
+
style?: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* A solid paint in **sRGB** (0..=1 per channel; alpha is linear). Core
|
|
80
|
+
* converts to the display list\'s linear-light [`Color`] so plugin
|
|
81
|
+
* colours composite identically to document colours.
|
|
82
|
+
*/
|
|
83
|
+
export interface ScenePaint {
|
|
84
|
+
r: number;
|
|
85
|
+
g: number;
|
|
86
|
+
b: number;
|
|
87
|
+
a: number;
|
|
88
|
+
}
|
|
37
89
|
|
|
38
90
|
/**
|
|
39
91
|
* Aftercare-A — `RequestWordBounds` reply payload. Story-local byte
|
|
@@ -60,16 +112,37 @@ export type SnapAxis = "x" | "y";
|
|
|
60
112
|
|
|
61
113
|
/**
|
|
62
114
|
* B-04 — creation spec for a page-item group. Members are NodeIds
|
|
63
|
-
* of
|
|
64
|
-
*
|
|
65
|
-
* current document order, and
|
|
66
|
-
* surgery so z-order is provably
|
|
67
|
-
*
|
|
68
|
-
*
|
|
115
|
+
* of page items: leaf shapes OR (v2 / W1.20) existing `Group`s, so
|
|
116
|
+
* `createGroup` can nest a group-of-groups. The apply layer resolves
|
|
117
|
+
* them to `FrameRef`s, orders them by current document order, and
|
|
118
|
+
* performs the `frames_in_order` surgery so z-order is provably
|
|
119
|
+
* unchanged (the new group takes the slot of its topmost member —
|
|
120
|
+
* the InDesign semantic, identical to the flat v1 rule). `self_id`
|
|
121
|
+
* follows the page-item `u<hex>` convention (minted when absent;
|
|
122
|
+
* echoed resolved in the applied op so the wire reports `createdId`).
|
|
69
123
|
*/
|
|
70
124
|
export interface GroupSpec {
|
|
71
125
|
selfId?: string | null;
|
|
72
126
|
members: NodeId[];
|
|
127
|
+
/**
|
|
128
|
+
* W1.20 inverse-only — when the group being (re)created is NESTED
|
|
129
|
+
* inside a parent group, this carries `(parent_group_id,
|
|
130
|
+
* index_in_parent_members)` so `apply_create_group` re-nests it
|
|
131
|
+
* into the parent\'s `members` at the exact slot (rather than the
|
|
132
|
+
* default top-level `frames_in_order` placement). Wire callers
|
|
133
|
+
* creating a fresh top-level group omit it; it is filled by the
|
|
134
|
+
* `DissolveGroup` inverse so undo of a nested ungroup restores the
|
|
135
|
+
* parent→child link bytewise. `members` is likewise the captured
|
|
136
|
+
* `Group`\'s own member NodeIds, so the group\'s transform + member
|
|
137
|
+
* order survive the round-trip.
|
|
138
|
+
*/
|
|
139
|
+
parent?: NestedParent | null;
|
|
140
|
+
/**
|
|
141
|
+
* W1.20 inverse-only — the group\'s own `ItemTransform` to restore
|
|
142
|
+
* on re-creation (a nested group carries its own transform, which
|
|
143
|
+
* a fresh top-level create never has). `None` ⇒ identity.
|
|
144
|
+
*/
|
|
145
|
+
itemTransform?: [number, number, number, number, number, number] | null;
|
|
73
146
|
}
|
|
74
147
|
|
|
75
148
|
/**
|
|
@@ -108,6 +181,13 @@ export interface ContentSelection {
|
|
|
108
181
|
* Downstream affinity bit. See module docs.
|
|
109
182
|
*/
|
|
110
183
|
affinity?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* W1.13 — cell qualifier. `None` (default) ⇒ `start`/`end` are
|
|
186
|
+
* story-local body offsets. `Some(addr)` ⇒ they are cell-local
|
|
187
|
+
* offsets into `addr`\'s cell. Rides v35 additively. See
|
|
188
|
+
* [`TextCellAddr`].
|
|
189
|
+
*/
|
|
190
|
+
cell?: TextCellAddr | null;
|
|
111
191
|
}
|
|
112
192
|
|
|
113
193
|
/**
|
|
@@ -246,7 +326,7 @@ export interface ExportPdfWireOptions {
|
|
|
246
326
|
* default on re-insertion; that residue of the Stage 1 limitation
|
|
247
327
|
* tightens in later stages.
|
|
248
328
|
*/
|
|
249
|
-
export type NodeSpec = { kind: "textFrame"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "rectangle"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "oval"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "graphicLine"; self_id: string; bounds: [number, number, number, number]; anchors?: PathAnchorSpec[]; subpath_starts?: number[]; subpath_open?: boolean[]; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "polygon"; self_id: string; bounds: [number, number, number, number]; anchors?: PathAnchorSpec[]; subpath_starts?: number[]; subpath_open?: boolean[]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "cloneTranslate"; self_id: string; source: NodeId; dx: number; dy: number; destination_spread_id?: string | null };
|
|
329
|
+
export type NodeSpec = { kind: "textFrame"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "rectangle"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "oval"; self_id: string; bounds: [number, number, number, number]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "graphicLine"; self_id: string; bounds: [number, number, number, number]; anchors?: PathAnchorSpec[]; subpath_starts?: number[]; subpath_open?: boolean[]; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "polygon"; self_id: string; bounds: [number, number, number, number]; anchors?: PathAnchorSpec[]; subpath_starts?: number[]; subpath_open?: boolean[]; fill_color?: string | null; stroke_color?: string | null; stroke_weight?: number | null; item_transform?: [number, number, number, number, number, number] | null } | { kind: "cloneTranslate"; self_id: string; source: NodeId; dx: number; dy: number; destination_spread_id?: string | null } | { kind: "table"; self_id: string; rows: number; cols: number; header_rows?: number; footer_rows?: number; column_widths?: number[]; row_heights?: number[] };
|
|
250
330
|
|
|
251
331
|
/**
|
|
252
332
|
* Direction for [`caret_nav`].
|
|
@@ -256,7 +336,7 @@ export type CaretDirection = "up" | "down";
|
|
|
256
336
|
/**
|
|
257
337
|
* Discriminated payload of a `WorkerToMain` message.
|
|
258
338
|
*/
|
|
259
|
-
export type WorkerToMainKind = { kind: "ready"; payload: { protocol: ProtocolVersion } } | { kind: "documentLoaded"; payload: DocumentHandle } | { kind: "loadFailed"; payload: { error: LoadError } } | { kind: "mutationFailed"; payload: { error: WorkerError } } | { kind: "displayListReady"; payload: { pageId: PageId; lod: LodTier; commands: number; layoutGeneration: number; numberingGeneration: number } } | { kind: "hitResult"; payload: HitResult } | { kind: "pagesDirty"; payload: { pageIds: PageId[] } } | { kind: "storyDirty"; payload: { storyId: string } } | { kind: "warning"; payload: { kind: string; details: string } } | { kind: "stats"; payload: DocumentStats } | { kind: "snapshotReady"; payload: SnapshotPng } | { kind: "snapshotFailed"; payload: { error: SnapshotError } } | { kind: "mutationApplied"; payload: { clientSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; createdId?: ElementId | null; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null } } | { kind: "selectionGeometry"; payload: { rects: SelectionRect[] } } | { kind: "caretGeometry"; payload: { caret: CaretGeometry | null } } | { kind: "caretNavResult"; payload: { offset?: number | null } } | { kind: "lineBoundsResult"; payload: { bounds?: LineBounds | null } } | { kind: "wordBoundsResult"; payload: { bounds?: WordBounds | null } } | { kind: "undoApplied"; payload: { undoneSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null } } | { kind: "redoApplied"; payload: { redoneSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null } } | { kind: "fontRegistered"; payload: { family: string } } | { kind: "fontRegistryCleared" } | { kind: "colorProfileRegistered"; payload: { name: string } } | { kind: "elementSelectionApplied"; payload: { ids: ElementId[] } } | { kind: "marqueeHits"; payload: { ids: ElementId[] } } | { kind: "elementGeometry"; payload: { items: ElementGeometryItem[] } } | { kind: "groupLeaves"; payload: { ids: ElementId[] } } | { kind: "pathAnchors"; payload: { result: PathAnchorsResult | null } } | { kind: "nearestPathPoint"; payload: { result: NearestPathPointResult | null } } | { kind: "layers"; payload: { items: LayerSummary[] } } | { kind: "collectionReply"; payload: { name: CollectionName; items: any } } | { kind: "documentMetaReply"; payload: { meta: DocumentMeta } } | { kind: "colorPreviewReply"; payload: { result: ColorPreview | null } } | { kind: "colorComputeReply"; payload: { rgbHex: string; cmyk: [number, number, number, number] | null; outOfGamut: boolean } } | { kind: "gradientDetailReply"; payload: { result: GradientDetail | null } } | { kind: "swatchLibraryExported"; payload: { aseBytes: number[] } } | { kind: "exportPdfBegun"; payload: { session: number; pageCount: number } } | { kind: "exportPdfProgress"; payload: { session: number; done: number; total: number } } | { kind: "pdfExported"; payload: { pdfBytes: number[]; diagnostics: string[]; findings?: PreflightFinding[] } } | { kind: "exportPdfCancelled"; payload: { session: number } } | { kind: "exportPdfFailed"; payload: { error: string } } | { kind: "idmlExported"; payload: { idmlBytes: number[] } } | { kind: "exportIdmlFailed"; payload: { error: string } } | { kind: "elementProperties"; payload: { result: ElementProperties | null } } | { kind: "sceneTree"; payload: { roots: SceneTreeNode[] } } | { kind: "scriptResult"; payload: { output: string[]; error: string | null } } | { kind: "gestureBegun"; payload: { handle: GestureHandle } } | { kind: "gestureUpdated"; payload: { handle: GestureHandle; pageIds: PageId[]; snapLines?: SnapLine[] } } | { kind: "gestureCommitted"; payload: { handle: GestureHandle; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats } } | { kind: "gestureCancelled"; payload: { handle: GestureHandle; pageIds: PageId[] } } | { kind: "gestureFailed"; payload: { error: GestureFailure } } | { kind: "attachReady"; payload: { gpuActive: boolean; sceneCacheBudget: number } } | { kind: "gestureSnapLines"; payload: { snapLines: SnapLine[] } } | { kind: "resolutionDone"; payload: ResolutionResult };
|
|
339
|
+
export type WorkerToMainKind = { kind: "ready"; payload: { protocol: ProtocolVersion } } | { kind: "documentLoaded"; payload: DocumentHandle } | { kind: "loadFailed"; payload: { error: LoadError } } | { kind: "mutationFailed"; payload: { error: WorkerError } } | { kind: "displayListReady"; payload: { pageId: PageId; lod: LodTier; commands: number; layoutGeneration: number; numberingGeneration: number } } | { kind: "hitResult"; payload: HitResult } | { kind: "pagesDirty"; payload: { pageIds: PageId[] } } | { kind: "storyDirty"; payload: { storyId: string } } | { kind: "warning"; payload: { kind: string; details: string } } | { kind: "stats"; payload: DocumentStats } | { kind: "snapshotReady"; payload: SnapshotPng } | { kind: "snapshotFailed"; payload: { error: SnapshotError } } | { kind: "mutationApplied"; payload: { clientSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; createdId?: ElementId | null; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null; reflow?: FrameReflowInfo | null } } | { kind: "selectionGeometry"; payload: { rects: SelectionRect[] } } | { kind: "caretGeometry"; payload: { caret: CaretGeometry | null } } | { kind: "caretNavResult"; payload: { offset?: number | null } } | { kind: "lineBoundsResult"; payload: { bounds?: LineBounds | null } } | { kind: "wordBoundsResult"; payload: { bounds?: WordBounds | null } } | { kind: "paragraphBoundsResult"; payload: { bounds?: ParagraphBounds | null } } | { kind: "undoApplied"; payload: { undoneSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null } } | { kind: "redoApplied"; payload: { redoneSeq: number; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats; pageStructureChanged?: boolean; pageSizesPt?: [number, number][] | null } } | { kind: "fontRegistered"; payload: { family: string } } | { kind: "fontRegistryCleared" } | { kind: "colorProfileRegistered"; payload: { name: string } } | { kind: "elementSelectionApplied"; payload: { ids: ElementId[] } } | { kind: "marqueeHits"; payload: { ids: ElementId[] } } | { kind: "elementGeometry"; payload: { items: ElementGeometryItem[] } } | { kind: "groupLeaves"; payload: { ids: ElementId[] } } | { kind: "pathAnchors"; payload: { result: PathAnchorsResult | null } } | { kind: "nearestPathPoint"; payload: { result: NearestPathPointResult | null } } | { kind: "layers"; payload: { items: LayerSummary[] } } | { kind: "collectionReply"; payload: { name: CollectionName; items: any } } | { kind: "frameChainResult"; payload: { links: FrameChainLink[] } } | { kind: "placedAssetBytes"; payload: { elementId: string; found: boolean; uri: string; width: number; height: number; encoded: number[] } } | { kind: "measureTextResult"; payload: { advance: number; ascender: number; descender: number } } | { kind: "sceneLayerApplied"; payload: { elementId: string; applied: boolean } } | { kind: "frameReflow"; payload: { frameId: string; contentBox: [number, number, number, number] } } | { kind: "documentMetaReply"; payload: { meta: DocumentMeta } } | { kind: "colorPreviewReply"; payload: { result: ColorPreview | null } } | { kind: "colorComputeReply"; payload: { rgbHex: string; cmyk: [number, number, number, number] | null; outOfGamut: boolean } } | { kind: "gradientDetailReply"; payload: { result: GradientDetail | null } } | { kind: "swatchLibraryExported"; payload: { aseBytes: number[] } } | { kind: "exportPdfBegun"; payload: { session: number; pageCount: number } } | { kind: "exportPdfProgress"; payload: { session: number; done: number; total: number } } | { kind: "pdfExported"; payload: { pdfBytes: number[]; diagnostics: string[]; findings?: PreflightFinding[] } } | { kind: "exportPdfCancelled"; payload: { session: number } } | { kind: "exportPdfFailed"; payload: { error: string } } | { kind: "idmlExported"; payload: { idmlBytes: number[] } } | { kind: "exportIdmlFailed"; payload: { error: string } } | { kind: "elementProperties"; payload: { result: ElementProperties | null } } | { kind: "sceneTree"; payload: { roots: SceneTreeNode[] } } | { kind: "scriptResult"; payload: { output: string[]; error: string | null; budgetKind?: ScriptBudgetKind } } | { kind: "gestureBegun"; payload: { handle: GestureHandle } } | { kind: "gestureUpdated"; payload: { handle: GestureHandle; pageIds: PageId[]; snapLines?: SnapLine[] } } | { kind: "gestureCommitted"; payload: { handle: GestureHandle; appliedSeq: number; pageIds: PageId[]; cacheStats: LayoutCacheStats } } | { kind: "gestureCancelled"; payload: { handle: GestureHandle; pageIds: PageId[] } } | { kind: "gestureFailed"; payload: { error: GestureFailure } } | { kind: "attachReady"; payload: { gpuActive: boolean; sceneCacheBudget: number } } | { kind: "gestureSnapLines"; payload: { snapLines: SnapLine[] } } | { kind: "resolutionDone"; payload: ResolutionResult };
|
|
260
340
|
|
|
261
341
|
/**
|
|
262
342
|
* Editor-ops — wire mirror of `paged_parse::GradientFeatherParams`.
|
|
@@ -506,6 +586,11 @@ export interface SnapLine {
|
|
|
506
586
|
pageId: PageId;
|
|
507
587
|
}
|
|
508
588
|
|
|
589
|
+
/**
|
|
590
|
+
* One drawable in a [`SceneLayer`]. Coordinates are frame-content points.
|
|
591
|
+
*/
|
|
592
|
+
export type SceneItem = { kind: "fillPath"; path: ScenePathSeg[]; paint: ScenePaint } | { kind: "strokePath"; path: ScenePathSeg[]; paint: ScenePaint; width: number } | ({ kind: "text" } & SceneTextItem) | { kind: "image"; rgba: number[]; width: number; height: number; x: number; y: number; w: number; h: number };
|
|
593
|
+
|
|
509
594
|
/**
|
|
510
595
|
* One entry in the field diff: a field whose resolved text
|
|
511
596
|
* changed between resolution iterations. The caller (Tier 3 →
|
|
@@ -646,6 +731,27 @@ export interface LayoutCacheStats {
|
|
|
646
731
|
* requires < 32 ms).
|
|
647
732
|
*/
|
|
648
733
|
rebuildMs: number;
|
|
734
|
+
/**
|
|
735
|
+
* Wall-clock of the scene edit that preceded the rebuild, ms.
|
|
736
|
+
*/
|
|
737
|
+
opApplyMs?: number;
|
|
738
|
+
/**
|
|
739
|
+
* Pages in the freshly built document.
|
|
740
|
+
*/
|
|
741
|
+
pages?: number;
|
|
742
|
+
/**
|
|
743
|
+
* Paragraphs laid out (relayout cost scales with this).
|
|
744
|
+
*/
|
|
745
|
+
paragraphs?: number;
|
|
746
|
+
/**
|
|
747
|
+
* Monotone rebuild counter (initial load = 1).
|
|
748
|
+
*/
|
|
749
|
+
rebuilds?: number;
|
|
750
|
+
/**
|
|
751
|
+
* Undo-log depth after this rebuild (B19 cap visible here — never
|
|
752
|
+
* exceeds `paged_canvas::MAX_APPLIED_LOG`).
|
|
753
|
+
*/
|
|
754
|
+
appliedLogLen?: number;
|
|
649
755
|
}
|
|
650
756
|
|
|
651
757
|
/**
|
|
@@ -756,6 +862,15 @@ export interface ParagraphStyleSummary {
|
|
|
756
862
|
selfId: string;
|
|
757
863
|
name: string;
|
|
758
864
|
basedOn: string | null;
|
|
865
|
+
/**
|
|
866
|
+
* styles.next-style (W1.22) — the style\'s `NextStyle` reference
|
|
867
|
+
* (the style applied to the following paragraph when the user
|
|
868
|
+
* presses Enter at this paragraph\'s end). `None` ⇒ no chain
|
|
869
|
+
* declared. Additive `#[serde(default)]` field — the editor
|
|
870
|
+
* reads it to implement the typing-time next-style flow; the
|
|
871
|
+
* renderer never acts on it. No protocol bump on its own.
|
|
872
|
+
*/
|
|
873
|
+
nextStyle?: string | null;
|
|
759
874
|
}
|
|
760
875
|
|
|
761
876
|
/**
|
|
@@ -826,7 +941,7 @@ export interface SwatchSummary {
|
|
|
826
941
|
* `serde_json::Value::Array` for unimplemented entries, surfacing
|
|
827
942
|
* a runtime warning rather than a panic.
|
|
828
943
|
*/
|
|
829
|
-
export type CollectionName = "swatches" | "gradients" | "colorGroups" | "paragraphStyles" | "characterStyles" | "objectStyles" | "cellStyles" | "tableStyles" | "layers" | "spreads" | "pages" | "masterPages" | "links" | "articles" | "hyperlinks" | "bookmarks" | "crossReferences" | "conditions" | "conditionSets" | "fonts" | "indexTopics" | "inks" | "sections" | "stories";
|
|
944
|
+
export type CollectionName = "swatches" | "gradients" | "colorGroups" | "paragraphStyles" | "characterStyles" | "objectStyles" | "cellStyles" | "tableStyles" | "layers" | "spreads" | "pages" | "masterPages" | "links" | "articles" | "hyperlinks" | "bookmarks" | "crossReferences" | "conditions" | "conditionSets" | "fonts" | "indexTopics" | "inks" | "sections" | "stories" | "numberingLists";
|
|
830
945
|
|
|
831
946
|
/**
|
|
832
947
|
* SDK Phase 5 (D1) — singleton document-level state. Per
|
|
@@ -901,6 +1016,30 @@ export interface DocumentMeta {
|
|
|
901
1016
|
* for Spots\" toggle.
|
|
902
1017
|
*/
|
|
903
1018
|
useStandardLabForSpots?: boolean | null;
|
|
1019
|
+
/**
|
|
1020
|
+
* W2.5 — document baseline-grid settings (read-only), parsed from
|
|
1021
|
+
* `<GridPreference>`. `None` when the document carried no
|
|
1022
|
+
* `<GridPreference>` element. The editor\'s baseline-grid panel
|
|
1023
|
+
* shows these real values and the canvas overlay seats its grid
|
|
1024
|
+
* lines on them. Snapping text to the grid is deferred (a
|
|
1025
|
+
* layout-engine task — see the parse note). `baseline_division`
|
|
1026
|
+
* drives the grid pitch; `baseline_start` its top offset; both in
|
|
1027
|
+
* points.
|
|
1028
|
+
*/
|
|
1029
|
+
baselineGridStart?: number | null;
|
|
1030
|
+
baselineGridDivision?: number | null;
|
|
1031
|
+
/**
|
|
1032
|
+
* Default-shown flag for the baseline grid (`BaselineGridShown`).
|
|
1033
|
+
*/
|
|
1034
|
+
baselineGridShown?: boolean | null;
|
|
1035
|
+
/**
|
|
1036
|
+
* `BaselineGridRelativeOption` — `\"TopOfPage\"` / `\"TopMargin\"`.
|
|
1037
|
+
*/
|
|
1038
|
+
baselineGridRelativeTo?: string | null;
|
|
1039
|
+
/**
|
|
1040
|
+
* `BaselineColor` — grid-line colour ref / named colour.
|
|
1041
|
+
*/
|
|
1042
|
+
baselineGridColor?: string | null;
|
|
904
1043
|
}
|
|
905
1044
|
|
|
906
1045
|
/**
|
|
@@ -1051,6 +1190,17 @@ export interface FontSummary {
|
|
|
1051
1190
|
* a fabricated `embedded` flag would mislead the panel.
|
|
1052
1191
|
*/
|
|
1053
1192
|
isMissing?: boolean;
|
|
1193
|
+
/**
|
|
1194
|
+
* W1.23 — the distinct style strings observed for this family,
|
|
1195
|
+
* sorted. Populated from the document\'s own `FontStyle` strings
|
|
1196
|
+
* (character runs + paragraph/character style defaults) unioned
|
|
1197
|
+
* with the styles registered for the family via `RegisterFont`.
|
|
1198
|
+
* The glyphs / fonts panel renders these as the per-family style
|
|
1199
|
+
* list. Additive field (rides v35) — `#[serde(default)]` keeps the
|
|
1200
|
+
* wire backward-compatible, so an older consumer that doesn\'t know
|
|
1201
|
+
* the field reads an empty list.
|
|
1202
|
+
*/
|
|
1203
|
+
styles?: string[];
|
|
1054
1204
|
}
|
|
1055
1205
|
|
|
1056
1206
|
/**
|
|
@@ -1080,8 +1230,8 @@ export interface ObjectStyleSummary {
|
|
|
1080
1230
|
|
|
1081
1231
|
/**
|
|
1082
1232
|
* SDK Phase 5 (v1 sweep) — one page summary. Backs
|
|
1083
|
-
* `documentCollection:pages`. Mirrors `DocumentHandle.page_ids`
|
|
1084
|
-
*
|
|
1233
|
+
* `documentCollection:pages`. Mirrors `DocumentHandle.page_ids` plus
|
|
1234
|
+
* `page_sizes_pt` so a Pages-as-collection panel can render a
|
|
1085
1235
|
* thumbnail/label list. The Navigator (existing legacy panel)
|
|
1086
1236
|
* uses the same data through a different surface.
|
|
1087
1237
|
*/
|
|
@@ -1260,7 +1410,7 @@ export type PathfinderKind = "union" | "intersect" | "subtract" | "exclude";
|
|
|
1260
1410
|
* the structural containers an `InsertNode`/`MoveNode` Op can target
|
|
1261
1411
|
* as a parent.
|
|
1262
1412
|
*/
|
|
1263
|
-
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: "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 } };
|
|
1413
|
+
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 } };
|
|
1264
1414
|
|
|
1265
1415
|
/**
|
|
1266
1416
|
* Stable page identity, independent of position in the page vector.
|
|
@@ -1346,7 +1496,7 @@ export interface DocumentStats {
|
|
|
1346
1496
|
* document\'s `BTreeMap` palettes/stylesheets rather than the scene
|
|
1347
1497
|
* tree, so they\'re top-level variants rather than `InsertNode`.
|
|
1348
1498
|
*/
|
|
1349
|
-
export type Operation = { kind: "SetProperty"; node: NodeId; path: PropertyPath; value: Value } | { kind: "InsertNode"; parent: NodeId; position: number; node: NodeSpec; z_slot?: number | null } | { kind: "RemoveNode"; node: NodeId } | { kind: "MoveNode"; node: NodeId; new_parent: NodeId; position: number } | { kind: "Batch"; ops: Operation[] } | { kind: "InsertPage"; after_page_id?: string | null; master_id?: string | null; spread_self_id?: string | null; page_self_id?: string | null; restore_spread_json?: string | null } | { kind: "RemovePage"; page_id: string } | { kind: "MoveLayer"; layer_id: string; new_index: number } | { kind: "InsertLayer"; position: number; name: string; self_id?: string | null } | { kind: "RemoveLayer"; layer_id: string } | { kind: "CreateSwatch"; spec: SwatchSpec } | { kind: "EditSwatch"; swatch_id: string; spec: SwatchSpec } | { kind: "DeleteSwatch"; swatch_id: string } | { kind: "CreateParagraphStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameParagraphStyle"; style_id: string; name: string } | { kind: "DeleteParagraphStyle"; style_id: string } | { kind: "CreateCharacterStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameCharacterStyle"; style_id: string; name: string } | { kind: "DeleteCharacterStyle"; style_id: string } | { kind: "CreateObjectStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameObjectStyle"; style_id: string; name: string } | { kind: "DeleteObjectStyle"; style_id: string } | { kind: "CreateCellStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameCellStyle"; style_id: string; name: string } | { kind: "DeleteCellStyle"; style_id: string } | { kind: "CreateTableStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameTableStyle"; style_id: string; name: string } | { kind: "DeleteTableStyle"; style_id: string } | { kind: "CreateGroup"; spec: GroupSpec } | { kind: "DissolveGroup"; group_id: string; restore_slots?: number[] | null } | { kind: "CreateGradient"; spec: GradientSpec } | { kind: "EditGradient"; gradient_id: string; spec: GradientSpec } | { kind: "DeleteGradient"; gradient_id: string } | { kind: "CreateColorGroup"; spec: ColorGroupSpec } | { kind: "EditColorGroup"; group_id: string; spec: ColorGroupSpec } | { kind: "DeleteColorGroup"; group_id: string } | { kind: "SetStyleProperty"; collection: StyleCollection; style_id: string; path: PropertyPath; value: Value } | { kind: "PathfinderBoolean"; kept: NodeId; others: NodeId[]; opKind: PathfinderKind } | { kind: "LinkFrames"; from: string; to: string } | { kind: "UnlinkFrames"; frame: string; prev_next?: string | null } | { kind: "ApplyStyle"; story_id: string; start: number; end: number; style: string; scope: StyleScope } | { kind: "InsertField"; story_id: string; offset: number; field: FieldKind } | { kind: "DeleteField"; story_id: string; offset: number; field: FieldKind } | { kind: "InsertGuide"; spread_id: string; orientation: GuideOrientationSpec; position: number; page_index?: number; guide_id?: string | null } | { kind: "MoveGuide"; guide_id: string; position: number } | { kind: "DeleteGuide"; guide_id: string } | { kind: "SetConditionVisible"; condition: string; visible: boolean } | { kind: "ActivateConditionSet"; set: string } | { kind: "RestoreConditionVisibility"; states: [string, boolean][] } | { kind: "ApplyMasterToPage"; page: string; master?: string | null } | { kind: "DuplicatePage"; page: string; clone_spread_json?: string | null } | { kind: "InsertSection"; at_page: string; prefix?: string | null; numbering_style?: string | null; start_at?: number | null; self_id?: string | null } | { kind: "EditSection"; section_id: string; prefix?: string | null | null; numbering_style?: string | null; start_at?: number | null | null } | { kind: "DeleteSection"; section_id: string } | { kind: "SetRowHeight"; story_id: string; table_id: string; row: number; height?: number | null } | { kind: "SetColumnWidth"; story_id: string; table_id: string; col: number; width?: number | null } | { kind: "InsertTableRow"; story_id: string; table_id: string; at: number; restore?: TableLineRestoreJson | null } | { kind: "DeleteTableRow"; story_id: string; table_id: string; at: number } | { kind: "InsertTableColumn"; story_id: string; table_id: string; at: number; restore?: TableLineRestoreJson | null } | { kind: "DeleteTableColumn"; story_id: string; table_id: string; at: number };
|
|
1499
|
+
export type Operation = { kind: "SetProperty"; node: NodeId; path: PropertyPath; value: Value } | { kind: "InsertNode"; parent: NodeId; position: number; node: NodeSpec; z_slot?: number | null } | { kind: "RemoveNode"; node: NodeId } | { kind: "MoveNode"; node: NodeId; new_parent: NodeId; position: number } | { kind: "Batch"; ops: Operation[] } | { kind: "InsertPage"; after_page_id?: string | null; master_id?: string | null; spread_self_id?: string | null; page_self_id?: string | null; restore_spread_json?: string | null } | { kind: "RemovePage"; page_id: string } | { kind: "MoveLayer"; layer_id: string; new_index: number } | { kind: "InsertLayer"; position: number; name: string; self_id?: string | null } | { kind: "RemoveLayer"; layer_id: string } | { kind: "CreateSwatch"; spec: SwatchSpec } | { kind: "EditSwatch"; swatch_id: string; spec: SwatchSpec } | { kind: "DeleteSwatch"; swatch_id: string } | { kind: "CreateParagraphStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameParagraphStyle"; style_id: string; name: string } | { kind: "DeleteParagraphStyle"; style_id: string } | { kind: "CreateCharacterStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameCharacterStyle"; style_id: string; name: string } | { kind: "DeleteCharacterStyle"; style_id: string } | { kind: "CreateObjectStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameObjectStyle"; style_id: string; name: string } | { kind: "DeleteObjectStyle"; style_id: string } | { kind: "CreateCellStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameCellStyle"; style_id: string; name: string } | { kind: "DeleteCellStyle"; style_id: string } | { kind: "CreateTableStyle"; self_id?: string | null; name?: string | null; based_on?: string | null; restore_json?: string | null } | { kind: "RenameTableStyle"; style_id: string; name: string } | { kind: "DeleteTableStyle"; style_id: string } | { kind: "CreateGroup"; spec: GroupSpec } | { kind: "DissolveGroup"; group_id: string; restore_slots?: number[] | null } | { kind: "SetGroupTransform"; group: string; transform?: [number, number, number, number, number, number] | null; prev?: [number, number, number, number, number, number] | null } | { kind: "CreateGradient"; spec: GradientSpec } | { kind: "EditGradient"; gradient_id: string; spec: GradientSpec } | { kind: "DeleteGradient"; gradient_id: string } | { kind: "CreateColorGroup"; spec: ColorGroupSpec } | { kind: "EditColorGroup"; group_id: string; spec: ColorGroupSpec } | { kind: "DeleteColorGroup"; group_id: string } | { kind: "CreateNumberingList"; spec: NumberingListSpec } | { kind: "EditNumberingList"; list_id: string; spec: NumberingListSpec } | { kind: "DeleteNumberingList"; list_id: string } | { kind: "SetStyleProperty"; collection: StyleCollection; style_id: string; path: PropertyPath; value: Value } | { kind: "PathfinderBoolean"; kept: NodeId; others: NodeId[]; opKind: PathfinderKind } | { kind: "LinkFrames"; from: string; to: string } | { kind: "UnlinkFrames"; frame: string; prev_next?: string | null } | { kind: "ApplyStyle"; story_id: string; start: number; end: number; style: string; scope: StyleScope } | { kind: "InsertField"; story_id: string; offset: number; field: FieldKind } | { kind: "DeleteField"; story_id: string; offset: number; field: FieldKind } | { kind: "InsertGuide"; spread_id: string; orientation: GuideOrientationSpec; position: number; page_index?: number; guide_id?: string | null } | { kind: "MoveGuide"; guide_id: string; position: number } | { kind: "DeleteGuide"; guide_id: string } | { kind: "SetConditionVisible"; condition: string; visible: boolean } | { kind: "ActivateConditionSet"; set: string } | { kind: "RestoreConditionVisibility"; states: [string, boolean][] } | { kind: "ApplyMasterToPage"; page: string; master?: string | null } | { kind: "DuplicatePage"; page: string; clone_spread_json?: string | null } | { kind: "InsertSection"; at_page: string; prefix?: string | null; numbering_style?: string | null; start_at?: number | null; self_id?: string | null } | { kind: "EditSection"; section_id: string; prefix?: string | null | null; numbering_style?: string | null; start_at?: number | null | null } | { kind: "DeleteSection"; section_id: string } | { kind: "SetRowHeight"; story_id: string; table_id: string; row: number; height?: number | null } | { kind: "SetColumnWidth"; story_id: string; table_id: string; col: number; width?: number | null } | { kind: "InsertTableRow"; story_id: string; table_id: string; at: number; restore?: TableLineRestoreJson | null } | { kind: "DeleteTableRow"; story_id: string; table_id: string; at: number } | { kind: "InsertTableColumn"; story_id: string; table_id: string; at: number; restore?: TableLineRestoreJson | null } | { kind: "DeleteTableColumn"; story_id: string; table_id: string; at: number } | { kind: "InsertHeaderRow"; story_id: string; table_id: string; restore?: TableLineRestoreJson | null } | { kind: "RemoveHeaderRow"; story_id: string; table_id: string } | { kind: "InsertFooterRow"; story_id: string; table_id: string; restore?: TableLineRestoreJson | null } | { kind: "RemoveFooterRow"; story_id: string; table_id: string } | { kind: "SetCellSpan"; story_id: string; table_id: string; row: number; col: number; row_span: number; column_span: number };
|
|
1350
1500
|
|
|
1351
1501
|
/**
|
|
1352
1502
|
* The discriminated payload of a `MainToWorker` message. Tagged so
|
|
@@ -1355,7 +1505,7 @@ export type Operation = { kind: "SetProperty"; node: NodeId; path: PropertyPath;
|
|
|
1355
1505
|
* variants so e.g. `cmyk_icc_profile` becomes `cmykIccProfile` on
|
|
1356
1506
|
* the wire — the TS protocol mirror locks the camelCase contract.
|
|
1357
1507
|
*/
|
|
1358
|
-
export type MainToWorkerKind = { kind: "hello" } | { kind: "loadDocument"; payload: { bytes: number[]; font?: number[] | null; cmykIccProfile?: number[] | null } } | { kind: "registerFont"; payload: { family: string; style?: string | null; bytes: number[] } } | { kind: "clearFontRegistry" } | { kind: "registerColorProfile"; payload: { name: string; bytes: number[] } } | { kind: "mutate"; payload: Mutation } | { kind: "requestPage"; payload: { pageId: PageId; lod: LodTier } } | { kind: "hitTest"; payload: { pageId: PageId; docPoint: [number, number]; filter: HitFilter } } | { kind: "requestSnapshot"; payload: { pageId: PageId; targetWidthPx: number; dpi?: number | null } } | { kind: "setSelection"; payload: { selection: ContentSelection | null } } | { kind: "requestSelectionGeometry"; payload: { selection: ContentSelection } } | { kind: "requestCaretGeometry"; payload: { selection: ContentSelection } } | { kind: "requestCaretNav"; payload: { storyId: string; offset: number; direction: CaretDirection } } | { kind: "requestLineBounds"; payload: { storyId: string; offset: number } } | { kind: "requestWordBounds"; payload: { storyId: string; offset: number } } | { kind: "undo" } | { kind: "redo" } | { kind: "setElementSelection"; payload: { ids: ElementId[]; mode: SelectionMode } } | { kind: "requestMarqueeHits"; payload: { pageId: PageId; rect: [number, number, number, number] } } | { kind: "requestElementGeometry"; payload: { ids: ElementId[] } } | { kind: "requestGroupLeaves"; payload: { groupId: string } } | { kind: "requestPathAnchors"; payload: { id: ElementId } } | { kind: "requestNearestPathPoint"; payload: { id: ElementId; point: [number, number] } } | { kind: "requestLayers" } | { kind: "requestCollection"; payload: { name: CollectionName } } | { kind: "requestDocumentMeta" } | { kind: "requestColorPreview"; payload: { swatchId: string } } | { kind: "requestColorCompute"; payload: { space: string; value: number[]; tint?: number | null; model?: string | null; alternateSpace?: string | null; alternateValue?: number[] | null } } | { kind: "requestGradientDetail"; payload: { gradientId: string } } | { kind: "exportSwatchLibrary"; payload: { groupId?: string | null } } | { kind: "executeScript"; payload: { source: string } } | { kind: "exportPdfBegin"; payload: { options: ExportPdfWireOptions } } | { kind: "exportPdfPage"; payload: { session: number } } | { kind: "exportPdfFinish"; payload: { session: number } } | { kind: "exportPdfCancel"; payload: { session: number } } | { kind: "exportIdml"; payload: {} } | { kind: "requestElementProperties"; payload: { id: ElementId } } | { kind: "requestSceneTree" } | { kind: "beginGesture"; payload: { nodes: ElementId[]; gesture: GestureType; anchor?: GestureAnchor | null; cameraScale?: number | null } } | { kind: "updateGesture"; payload: { handle: GestureHandle; delta: [number, number]; modifiers: GestureModifiers } } | { kind: "commitGesture"; payload: { handle: GestureHandle } } | { kind: "cancelGesture"; payload: { handle: GestureHandle } };
|
|
1508
|
+
export type MainToWorkerKind = { kind: "hello" } | { kind: "loadDocument"; payload: { bytes: number[]; font?: number[] | null; cmykIccProfile?: number[] | null } } | { kind: "registerFont"; payload: { family: string; style?: string | null; bytes: number[] } } | { kind: "clearFontRegistry" } | { kind: "registerColorProfile"; payload: { name: string; bytes: number[] } } | { kind: "mutate"; payload: Mutation } | { kind: "requestPage"; payload: { pageId: PageId; lod: LodTier } } | { kind: "hitTest"; payload: { pageId: PageId; docPoint: [number, number]; filter: HitFilter } } | { kind: "requestSnapshot"; payload: { pageId: PageId; targetWidthPx: number; dpi?: number | null } } | { kind: "setSelection"; payload: { selection: ContentSelection | null } } | { kind: "requestSelectionGeometry"; payload: { selection: ContentSelection } } | { kind: "requestCaretGeometry"; payload: { selection: ContentSelection } } | { kind: "requestCaretNav"; payload: { storyId: string; offset: number; direction: CaretDirection; cell?: TextCellAddr | null } } | { kind: "requestLineBounds"; payload: { storyId: string; offset: number; cell?: TextCellAddr | null } } | { kind: "requestWordBounds"; payload: { storyId: string; offset: number; cell?: TextCellAddr | null } } | { kind: "requestParagraphBounds"; payload: { storyId: string; offset: number; cell?: TextCellAddr | null } } | { kind: "undo" } | { kind: "redo" } | { kind: "setElementSelection"; payload: { ids: ElementId[]; mode: SelectionMode } } | { kind: "requestMarqueeHits"; payload: { pageId: PageId; rect: [number, number, number, number] } } | { kind: "requestElementGeometry"; payload: { ids: ElementId[] } } | { kind: "requestGroupLeaves"; payload: { groupId: string } } | { kind: "requestPathAnchors"; payload: { id: ElementId } } | { kind: "requestNearestPathPoint"; payload: { id: ElementId; point: [number, number] } } | { kind: "requestLayers" } | { kind: "requestCollection"; payload: { name: CollectionName } } | { kind: "requestFrameChain"; payload: { storyId: string } } | { kind: "requestPlacedAssetBytes"; payload: { elementId: string } } | { kind: "requestMeasureText"; payload: { family: string; style?: string | null; text: string; sizePt: number } } | { kind: "submitSceneLayer"; payload: { elementId: string; layer: SceneLayer } } | { kind: "clearSceneLayer"; payload: { elementId: string } } | { kind: "requestDocumentMeta" } | { kind: "requestColorPreview"; payload: { swatchId: string } } | { kind: "requestColorCompute"; payload: { space: string; value: number[]; tint?: number | null; model?: string | null; alternateSpace?: string | null; alternateValue?: number[] | null } } | { kind: "requestGradientDetail"; payload: { gradientId: string } } | { kind: "exportSwatchLibrary"; payload: { groupId?: string | null } } | { kind: "executeScript"; payload: { source: string } } | { kind: "exportPdfBegin"; payload: { options: ExportPdfWireOptions } } | { kind: "exportPdfPage"; payload: { session: number } } | { kind: "exportPdfFinish"; payload: { session: number } } | { kind: "exportPdfCancel"; payload: { session: number } } | { kind: "exportIdml"; payload: {} } | { kind: "requestElementProperties"; payload: { id: ElementId } } | { kind: "requestSceneTree" } | { kind: "beginGesture"; payload: { nodes: ElementId[]; gesture: GestureType; anchor?: GestureAnchor | null; cameraScale?: number | null } } | { kind: "updateGesture"; payload: { handle: GestureHandle; delta: [number, number]; modifiers: GestureModifiers } } | { kind: "commitGesture"; payload: { handle: GestureHandle } } | { kind: "cancelGesture"; payload: { handle: GestureHandle } };
|
|
1359
1509
|
|
|
1360
1510
|
/**
|
|
1361
1511
|
* Track J — wire-shape mirror of `paged_parse::PathAnchor`. The
|
|
@@ -1437,7 +1587,7 @@ export type LoadError = { kind: "parse"; message: string } | { kind: "scene"; me
|
|
|
1437
1587
|
* of a specific kind; the apply layer\'s `TypeMismatch` error fires if
|
|
1438
1588
|
* the variant doesn\'t match what the path expects.
|
|
1439
1589
|
*/
|
|
1440
|
-
export type Value = { type: "bounds"; value: [number, number, number, number] } | { type: "colorRef"; value: string | null } | { type: "length"; value: number | null } | { type: "transform"; value: [number, number, number, number, number, number] | null } | { type: "pathPoint"; value: { address: PathPointAddress; position: [number, number] } } | { type: "pathPointInsert"; value: { index: number; anchor: PathAnchorSpec; prevSubpathStarts?: number[] | null } } | { type: "pathPointRemove"; value: { index: number; prevSubpathStarts?: number[] | null } } | { type: "pathPointCurveType"; value: { index: number; smooth: boolean; prev?: PathAnchorSpec | null } } | { type: "pluginMetadata"; value: { key: string; value: string | null; prev?: string | null | null } } | { type: "bool"; value: boolean } | { type: "text"; value: string } | { type: "framePath"; value: { anchors: PathAnchorSpec[]; subpathStarts: number[] } } | { type: "pathOpenAt"; value: { index: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "outlineStroke"; value: { width: number; cap: string; join: string; miterLimit: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "offsetPath"; value: { delta: number; join: string; miterLimit: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "simplifyPath"; value: { tolerance: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "gradientFeather"; value: GradientFeatherSpec | null } | { type: "paragraphRule"; value: ParagraphRuleSpec | null } | { type: "tabStops"; value: TabStopSpec[] };
|
|
1590
|
+
export type Value = { type: "bounds"; value: [number, number, number, number] } | { type: "colorRef"; value: string | null } | { type: "length"; value: number | null } | { type: "transform"; value: [number, number, number, number, number, number] | null } | { type: "pathPoint"; value: { address: PathPointAddress; position: [number, number] } } | { type: "pathPointInsert"; value: { index: number; anchor: PathAnchorSpec; prevSubpathStarts?: number[] | null } } | { type: "pathPointRemove"; value: { index: number; prevSubpathStarts?: number[] | null } } | { type: "pathPointCurveType"; value: { index: number; smooth: boolean; prev?: PathAnchorSpec | null } } | { type: "pluginMetadata"; value: { key: string; value: string | null; caller?: string | null; prev?: string | null | null } } | { type: "bool"; value: boolean } | { type: "text"; value: string } | { type: "framePath"; value: { anchors: PathAnchorSpec[]; subpathStarts: number[] } } | { type: "pathOpenAt"; value: { index: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "outlineStroke"; value: { width: number; cap: string; join: string; miterLimit: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "outlineStrokeVariable"; value: { widths: number[]; cap: string; join: string; miterLimit: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "offsetPath"; value: { delta: number; join: string; miterLimit: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "simplifyPath"; value: { tolerance: number; prevAnchors?: PathAnchorSpec[] | null; prevSubpathStarts?: number[] | null; prevSubpathOpen?: boolean[] | null } } | { type: "gradientFeather"; value: GradientFeatherSpec | null } | { type: "paragraphRule"; value: ParagraphRuleSpec | null } | { type: "tabStops"; value: TabStopSpec[] } | { type: "lengths"; value: number[] };
|
|
1441
1591
|
|
|
1442
1592
|
/**
|
|
1443
1593
|
* Typed property path for `SetProperty` Ops. A closed enum (rather
|
|
@@ -1447,7 +1597,7 @@ export type Value = { type: "bounds"; value: [number, number, number, number] }
|
|
|
1447
1597
|
* (`\"fill.color\"`) — so JS callers don\'t need to learn the Rust
|
|
1448
1598
|
* enum shape.
|
|
1449
1599
|
*/
|
|
1450
|
-
export type PropertyPath = "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" | "appliedCellStyle" | "appliedTableStyle" | "framePath" | "frameNonprinting" | "frameFillTint" | "frameGradientFillAngle" | "frameGradientFillLength" | "frameGradientStrokeAngle" | "frameGradientStrokeLength" | "pathOpenAt" | "outlineStroke" | "offsetPath" | "simplifyPath" | "frameGradientFeather" | "pageBounds" | "frameDropShadowMode" | "frameDropShadowXOffset" | "frameDropShadowYOffset" | "frameDropShadowSize" | "frameDropShadowOpacity" | "frameDropShadowColor" | "frameDropShadow" | "frameFittingCrops" | "frameFittingType" | "frameTextWrapMode" | "frameTextWrapOffsets" | "paragraphJustification" | "frameStrokeEndCap" | "frameInsetSpacing" | "appliedConditions" | "characterFontFamily" | "characterFontStyle" | "characterKerningMethod" | "characterCase" | "characterPosition" | "characterLanguage" | "characterBaselineShift" | "characterHorizontalScale" | "characterVerticalScale" | "characterSkew" | "characterUnderline" | "characterStrikethru" | "characterLigatures" | "characterOtfFeatures" | "paragraphLeftIndent" | "paragraphRightIndent" | "paragraphDropCapCharacters" | "paragraphDropCapLines" | "paragraphHyphenation" | "paragraphKeepLinesTogether" | "paragraphKeepWithNext" | "paragraphRuleAbove" | "paragraphRuleBelow" | "paragraphTabStops" | "paragraphListType" | "paragraphBulletCharacter" | "paragraphNumberingFormat" | "textFrameColumnCount" | "textFrameColumnGutter" | "textFrameColumnBalance" | "textFrameVerticalJustification" | "textFrameAutoSizing" | "textFrameFirstBaseline" | "textWrapInvert" | "frameFittingReferencePoint" | "frameAutoFit" | "frameStrokeType" | "frameStrokeJoin" | "frameStrokeMiterLimit" | "frameStrokeAlignment" | "frameStrokeGapColor" | "frameStrokeGapTint" | "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" | "tableRowCount" | "tableColumnCount" | "pluginMetadata";
|
|
1600
|
+
export type PropertyPath = "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" | "appliedCellStyle" | "appliedTableStyle" | "framePath" | "frameNonprinting" | "frameFillTint" | "frameGradientFillAngle" | "frameGradientFillLength" | "frameGradientStrokeAngle" | "frameGradientStrokeLength" | "pathOpenAt" | "outlineStroke" | "outlineStrokeVariable" | "offsetPath" | "simplifyPath" | "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" | "paragraphKeepLinesTogether" | "paragraphKeepWithNext" | "paragraphRuleAbove" | "paragraphRuleBelow" | "paragraphTabStops" | "paragraphListType" | "paragraphBulletCharacter" | "paragraphNumberingFormat" | "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";
|
|
1451
1601
|
|
|
1452
1602
|
/**
|
|
1453
1603
|
* Typed worker-side error for non-load operations. Mutations,
|
|
@@ -1508,6 +1658,132 @@ export type FieldKind = "pageNumber" | "nextPageNumber";
|
|
|
1508
1658
|
*/
|
|
1509
1659
|
export type GuideOrientationSpec = "vertical" | "horizontal";
|
|
1510
1660
|
|
|
1661
|
+
/**
|
|
1662
|
+
* W1.13 — cell qualifier for a content address that points INTO a
|
|
1663
|
+
* table cell rather than the story\'s main paragraph flow.
|
|
1664
|
+
*
|
|
1665
|
+
* ## The two-stream addressing model
|
|
1666
|
+
*
|
|
1667
|
+
* Table-cell text is stored out of band on `Table.cells[].paragraphs`
|
|
1668
|
+
* (see `paged_parse`), disjoint from `Story.paragraphs`. So a content
|
|
1669
|
+
* address needs to say *which* paragraph stream its byte offsets index:
|
|
1670
|
+
*
|
|
1671
|
+
* - `ContentSelection.cell == None` — offsets are story-local bytes
|
|
1672
|
+
* over `story.paragraphs` (the body flow). Unchanged from before.
|
|
1673
|
+
* - `ContentSelection.cell == Some(addr)` — offsets are CELL-LOCAL
|
|
1674
|
+
* bytes over `cell.paragraphs`, under the same story-offset contract
|
|
1675
|
+
* (run bytes + one synthetic `\\n` per inter-paragraph boundary,
|
|
1676
|
+
* counted within the cell). The owning story is still `story_id`;
|
|
1677
|
+
* `addr` picks the cell within that story\'s table.
|
|
1678
|
+
*
|
|
1679
|
+
* `table_id` / `row` / `col` are the SAME identifiers the hit-test
|
|
1680
|
+
* surface emits (`HitResult.table_context` / `TableHitContext`) and
|
|
1681
|
+
* that the renderer stamps onto cell `LineLayout`s
|
|
1682
|
+
* (`paged_renderer::CellAddr`), so a hit that lands in a cell hands
|
|
1683
|
+
* back exactly the qualifier the caret/edit address needs — no second
|
|
1684
|
+
* query.
|
|
1685
|
+
*
|
|
1686
|
+
* ## Why a qualifier and not a re-numbered flat offset
|
|
1687
|
+
*
|
|
1688
|
+
* The alternative — fold cells into one flat story-offset space via a
|
|
1689
|
+
* reserved high-bit/region scheme — was rejected: it makes
|
|
1690
|
+
* `shift_for_insert`/`shift_for_delete`, undo inverse offsets, and the
|
|
1691
|
+
* existing body-only consumers (BreakRecord, the A/B harness, every
|
|
1692
|
+
* `RequestWordBounds`/`RequestLineBounds` caller) all have to learn the
|
|
1693
|
+
* encoding, and a single arithmetic slip silently routes an edit into
|
|
1694
|
+
* the wrong cell. The qualifier keeps body addressing byte-identical
|
|
1695
|
+
* (the field defaults to `None` and is `#[serde(default)]`, so it
|
|
1696
|
+
* rides v35 additively — old senders omit it) and makes \"which stream\
|
|
1697
|
+
* an explicit, type-checked decision. Undo is trivially correct
|
|
1698
|
+
* because the inverse op carries the same `cell` qualifier.
|
|
1699
|
+
*/
|
|
1700
|
+
export interface TextCellAddr {
|
|
1701
|
+
/**
|
|
1702
|
+
* `<Table Self=\"...\">` id within `story_id`.
|
|
1703
|
+
*/
|
|
1704
|
+
tableId: string;
|
|
1705
|
+
/**
|
|
1706
|
+
* Template row (0-based); span-origin row for spanned cells.
|
|
1707
|
+
*/
|
|
1708
|
+
row: number;
|
|
1709
|
+
/**
|
|
1710
|
+
* Column (0-based); span-origin column for spanned cells.
|
|
1711
|
+
*/
|
|
1712
|
+
col: number;
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
/**
|
|
1716
|
+
* W1.20 — `(parent_group_id, index_within_parent_members)` carried by
|
|
1717
|
+
* a `GroupSpec` when a group must be (re)created nested inside another
|
|
1718
|
+
* group rather than at the spread\'s top level. Inverse-only.
|
|
1719
|
+
*/
|
|
1720
|
+
export interface NestedParent {
|
|
1721
|
+
groupId: string;
|
|
1722
|
+
index: number;
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
/**
|
|
1726
|
+
* W1.22 (engine gap 22) — one `<NumberingList>` resource. Backs
|
|
1727
|
+
* `documentCollection:numberingLists`. The editor\'s list-definitions
|
|
1728
|
+
* surface renders this; `continue_across_stories` is the flag that
|
|
1729
|
+
* drives cross-story numbering continuity in the renderer.
|
|
1730
|
+
*/
|
|
1731
|
+
export interface NumberingListSummary {
|
|
1732
|
+
selfId: string;
|
|
1733
|
+
name: string;
|
|
1734
|
+
/**
|
|
1735
|
+
* `ContinueNumbersAcrossStories`. Default `false` when the IDML
|
|
1736
|
+
* doesn\'t specify.
|
|
1737
|
+
*/
|
|
1738
|
+
continueAcrossStories: boolean;
|
|
1739
|
+
/**
|
|
1740
|
+
* `ContinueNumbersAcrossDocuments` (round-trip only). Default
|
|
1741
|
+
* `false`.
|
|
1742
|
+
*/
|
|
1743
|
+
continueAcrossDocuments: boolean;
|
|
1744
|
+
}
|
|
1745
|
+
|
|
1746
|
+
/**
|
|
1747
|
+
* W1.22 (engine gap 22) — wire description of a `<NumberingList>`
|
|
1748
|
+
* resource, mirroring `paged_parse::styles::NumberingListDef`. The
|
|
1749
|
+
* CRUD ops (`CreateNumberingList` / `EditNumberingList` /
|
|
1750
|
+
* `DeleteNumberingList`) carry this. `self_id` is minted
|
|
1751
|
+
* (`NumberingList/u<n>`) when absent on create; echoed resolved in
|
|
1752
|
+
* the applied op. `continue_across_stories` is the field the renderer
|
|
1753
|
+
* reads for cross-story numbering continuity.
|
|
1754
|
+
*/
|
|
1755
|
+
export interface NumberingListSpec {
|
|
1756
|
+
selfId?: string | null;
|
|
1757
|
+
name?: string | null;
|
|
1758
|
+
/**
|
|
1759
|
+
* `ContinueNumbersAcrossStories`. `None` ⇒ false (default).
|
|
1760
|
+
*/
|
|
1761
|
+
continueAcrossStories?: boolean | null;
|
|
1762
|
+
/**
|
|
1763
|
+
* `ContinueNumbersAcrossDocuments` (round-trip only). `None` ⇒ false.
|
|
1764
|
+
*/
|
|
1765
|
+
continueAcrossDocuments?: boolean | null;
|
|
1766
|
+
}
|
|
1767
|
+
|
|
1768
|
+
/**
|
|
1769
|
+
* W1.23 — `RequestParagraphBounds` reply payload. Story-local byte
|
|
1770
|
+
* offsets of the `[start, end)` span the paragraph containing the
|
|
1771
|
+
* requested offset covers. Same address space as [`WordBounds`] /
|
|
1772
|
+
* [`LineBounds`] and `HitResult.offset_within_story`.
|
|
1773
|
+
*/
|
|
1774
|
+
export interface ParagraphBounds {
|
|
1775
|
+
/**
|
|
1776
|
+
* Story byte offset of the paragraph\'s first character.
|
|
1777
|
+
*/
|
|
1778
|
+
start: number;
|
|
1779
|
+
/**
|
|
1780
|
+
* Story byte offset just past the paragraph\'s last character
|
|
1781
|
+
* (the synthetic inter-paragraph `\\n`, when present, is the
|
|
1782
|
+
* boundary — it is NOT included in the span).
|
|
1783
|
+
*/
|
|
1784
|
+
end: number;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1511
1787
|
/**
|
|
1512
1788
|
* W3.A0 — one live ruler guide on a spread, carried inline on
|
|
1513
1789
|
* [`SpreadSummary`]. `id` is the positional id the guide-CRUD
|
|
@@ -1589,6 +1865,17 @@ export interface ResolutionResult {
|
|
|
1589
1865
|
*/
|
|
1590
1866
|
export type HitFilter = "frame" | "text" | "any";
|
|
1591
1867
|
|
|
1868
|
+
/**
|
|
1869
|
+
* Which runtime budget a script exhausted (B-09 / W-08). The typed
|
|
1870
|
+
* half of a `ScriptResult`: lets the host distinguish a budget abort
|
|
1871
|
+
* from an ordinary script exception (e.g. show a \"script hit its
|
|
1872
|
+
* time/iteration limit\" banner). Mirrors `paged_script::
|
|
1873
|
+
* ScriptBudgetKind` — kept in this crate so the wire types carry no
|
|
1874
|
+
* dependency on `paged-script` (which depends on us). Additive on the
|
|
1875
|
+
* wire: rides protocol v35 as an optional field on `ScriptResult`.
|
|
1876
|
+
*/
|
|
1877
|
+
export type ScriptBudgetKind = "iterations" | "recursion" | "stackSize" | "wallClock";
|
|
1878
|
+
|
|
1592
1879
|
/**
|
|
1593
1880
|
* Which style collection a `SetStyleProperty` targets.
|
|
1594
1881
|
*/
|
|
@@ -1726,6 +2013,38 @@ export interface SectionSummary {
|
|
|
1726
2013
|
pageCount: number;
|
|
1727
2014
|
}
|
|
1728
2015
|
|
|
2016
|
+
/**
|
|
2017
|
+
* v38 (Wave 2, C-2 / S-05) — content-box reflow payload. Carried on
|
|
2018
|
+
* `MutationApplied.reflow` (and mirrored by the standalone
|
|
2019
|
+
* `WorkerToMainKind::FrameReflow`). `content_box` is the frame\'s
|
|
2020
|
+
* post-resize `GeometricBounds` `[top, left, bottom, right]` in spread
|
|
2021
|
+
* coords. Emitted ONLY for a `Mutation::ResizeFrame` — never for a
|
|
2022
|
+
* transform-only edit (the §8.5 resize-vs-transform distinction).
|
|
2023
|
+
*/
|
|
2024
|
+
export interface FrameReflowInfo {
|
|
2025
|
+
frameId: string;
|
|
2026
|
+
/**
|
|
2027
|
+
* `[top, left, bottom, right]`.
|
|
2028
|
+
*/
|
|
2029
|
+
contentBox: [number, number, number, number];
|
|
2030
|
+
}
|
|
2031
|
+
|
|
2032
|
+
/**
|
|
2033
|
+
* v38 (Wave 2, C-2 / S-05) — one link in a story\'s `NextTextFrame`
|
|
2034
|
+
* thread, as `RequestFrameChain` reports it (head-first). `frame_id` is
|
|
2035
|
+
* the frame\'s `Self` id; `next` is its `NextTextFrame` target (`None`
|
|
2036
|
+
* at end-of-chain). `overflow` is `true` only on the LAST link when the
|
|
2037
|
+
* story\'s text overflowed the chain — InDesign drops overset past the
|
|
2038
|
+
* final frame, so the overset flag (derived from the build\'s
|
|
2039
|
+
* story-level `overset_story_ids`) lands on the tail. Interior links
|
|
2040
|
+
* always carry `overflow: false`.
|
|
2041
|
+
*/
|
|
2042
|
+
export interface FrameChainLink {
|
|
2043
|
+
frameId: string;
|
|
2044
|
+
next: string | null;
|
|
2045
|
+
overflow: boolean;
|
|
2046
|
+
}
|
|
2047
|
+
|
|
1729
2048
|
export interface CaretGeometry {
|
|
1730
2049
|
pageId: PageId;
|
|
1731
2050
|
frameId: string | null;
|
|
@@ -1808,8 +2127,17 @@ export class CanvasWorker {
|
|
|
1808
2127
|
*/
|
|
1809
2128
|
gpuReady(): boolean;
|
|
1810
2129
|
/**
|
|
1811
|
-
*
|
|
1812
|
-
*
|
|
2130
|
+
* Handle one main-thread message. Input is the JSON string the
|
|
2131
|
+
* JS side produced via `JSON.stringify(msg)`; output is the
|
|
2132
|
+
* JSON string it should `JSON.parse` and post back. Returning a
|
|
2133
|
+
* string (rather than a wasm-bindgen-serialised object) keeps
|
|
2134
|
+
* the boundary simple — no nested serde-wasm-bindgen
|
|
2135
|
+
* conversions, just text in and text out.
|
|
2136
|
+
*
|
|
2137
|
+
* The dispatch itself lives in [`crate::dispatch::WorkerCore`]
|
|
2138
|
+
* (cfg-agnostic, natively tested); the shell supplies the
|
|
2139
|
+
* `js_sys::Date` clock and applies the returned GPU
|
|
2140
|
+
* [`CacheEffect`] to its Vello scene cache.
|
|
1813
2141
|
*/
|
|
1814
2142
|
handleMessage(input: string): string;
|
|
1815
2143
|
/**
|
|
@@ -1836,6 +2164,20 @@ export class CanvasWorker {
|
|
|
1836
2164
|
* otherwise.
|
|
1837
2165
|
*/
|
|
1838
2166
|
loadDocumentDirect(seq: number, bytes: Uint8Array, font?: Uint8Array | null, cmyk_icc_profile?: Uint8Array | null): string;
|
|
2167
|
+
/**
|
|
2168
|
+
* S-13 — measure a text run against the loaded document's font
|
|
2169
|
+
* registry. Returns a plain JS object
|
|
2170
|
+
* `{ advance, ascender, descender }` (all in POINTS;
|
|
2171
|
+
* `descender` is negative per the OpenType convention) or
|
|
2172
|
+
* `null` when no document is loaded / the family resolves to no
|
|
2173
|
+
* face (and no default font is registered). `style` is IDML's
|
|
2174
|
+
* `FontStyle` ("Bold", "Italic", …) or omitted. A READ — no
|
|
2175
|
+
* protocol / wire change, no mutation, no undo-log touch. The
|
|
2176
|
+
* face resolution uses the renderer's styled → bare-family →
|
|
2177
|
+
* document-default fallback, so an unknown `family` falls back
|
|
2178
|
+
* to the default face when one is registered.
|
|
2179
|
+
*/
|
|
2180
|
+
measureText(family: string, style: string | null | undefined, text: string, size_pt: number): any;
|
|
1839
2181
|
constructor();
|
|
1840
2182
|
/**
|
|
1841
2183
|
* Number of pages in the loaded document, or 0 if no
|
|
@@ -1966,6 +2308,7 @@ export interface InitOutput {
|
|
|
1966
2308
|
readonly canvasworker_handleMessage: (a: number, b: number, c: number) => [number, number];
|
|
1967
2309
|
readonly canvasworker_initGpu: (a: number, b: any, c: number, d: number) => any;
|
|
1968
2310
|
readonly canvasworker_loadDocumentDirect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
2311
|
+
readonly canvasworker_measureText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => any;
|
|
1969
2312
|
readonly canvasworker_new: () => number;
|
|
1970
2313
|
readonly canvasworker_pageCount: (a: number) => number;
|
|
1971
2314
|
readonly canvasworker_pageInfo: (a: number, b: number) => any;
|
|
@@ -1995,9 +2338,9 @@ export interface InitOutput {
|
|
|
1995
2338
|
readonly qcms_white_point_sRGB: (a: number) => void;
|
|
1996
2339
|
readonly lut_inverse_interp16: (a: number, b: number, c: number) => number;
|
|
1997
2340
|
readonly lut_interp_linear16: (a: number, b: number, c: number) => number;
|
|
1998
|
-
readonly
|
|
1999
|
-
readonly
|
|
2000
|
-
readonly
|
|
2341
|
+
readonly wasm_bindgen__convert__closures_____invoke__hba9dab33e391dce8: (a: number, b: number, c: any) => [number, number];
|
|
2342
|
+
readonly wasm_bindgen__convert__closures_____invoke__h2a9a86477ca3734e: (a: number, b: number, c: any, d: any) => void;
|
|
2343
|
+
readonly wasm_bindgen__convert__closures_____invoke__h84d34b615e684f5e: (a: number, b: number, c: any) => void;
|
|
2001
2344
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
2002
2345
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
2003
2346
|
readonly __wbindgen_exn_store: (a: number) => void;
|