@amigo-labs/pincel-wasm 1.6.0 → 1.9.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/pincel_wasm.d.ts CHANGED
@@ -222,9 +222,10 @@ export class Document {
222
222
  * stable across runs and monotonic. Returns the assigned id.
223
223
  *
224
224
  * Routes through the [`AddTileset`] command so the operation joins
225
- * the undo / redo bus. Tile-image content starts empty (Aseprite
226
- * convention: tile id `0` is the implicit empty tile); per-tile
227
- * edits land alongside the Tileset Editor in M8.7.
225
+ * the undo / redo bus. The tileset starts with one stored, fully
226
+ * transparent tile `0` (Aseprite's empty tile), so the first
227
+ * [`Document::add_tile`] returns id `1` and no user tile is written
228
+ * as the empty tile (docs/specs/tilemaps.md, Decisions 2026-10-29).
228
229
  *
229
230
  * Errors when `tile_w` or `tile_h` is zero, when the existing id
230
231
  * space is exhausted (an existing tileset already uses `u32::MAX`),
@@ -291,6 +292,22 @@ export class Document {
291
292
  * The emitted `dirty-rect` event covers the bbox in sprite space.
292
293
  */
293
294
  applyEllipse(x0: number, y0: number, x1: number, y1: number, color: number, fill: boolean): void;
295
+ /**
296
+ * Fill the selection — or, without one, the active layer's cel on the
297
+ * current frame — with a dithered ramp from `foreground` at the drag
298
+ * start to `background` at the drag end, as one undo entry.
299
+ *
300
+ * - `line`: `[x0, y0, x1, y1]`, the drag's start and end sprite pixels.
301
+ * - `kind`: `linear` or `radial`.
302
+ * - `dither`: the Bayer matrix size `2`, `4` or `8`, or `0` for two
303
+ * hard bands split halfway.
304
+ * - `foreground` / `background`: `0xRRGGBBAA`.
305
+ *
306
+ * Returns `false` — and changes nothing — for a zero-length drag.
307
+ * Errors (and changes nothing) on a locked layer, a document without a
308
+ * paintable image layer, and an indexed or grayscale sprite.
309
+ */
310
+ applyGradient(line: Int32Array, kind: string, dither: number, foreground: number, background: number): boolean;
294
311
  /**
295
312
  * Rasterize a 1-pixel-wide Bresenham line between sprite-space
296
313
  * `(x0, y0)` and `(x1, y1)` with the given non-premultiplied RGBA
@@ -395,6 +412,23 @@ export class Document {
395
412
  * lands when more tools ship.
396
413
  */
397
414
  applyTool(tool_id: string, x: number, y: number, color: number): void;
415
+ /**
416
+ * Start a Pencil gesture with the Shading ink: every pixel the stroke
417
+ * touches whose color before the stroke is exactly entry `i` of `ramp`
418
+ * becomes entry `i + step`, clamped to the ramp; other colors stay.
419
+ * Each pixel changes at most once per gesture. Continue it with
420
+ * [`Self::stroke_to`] and close it with `endStroke` like any stroke.
421
+ *
422
+ * - `ramp`: the colors in palette order (`0xRRGGBBAA`), at least one.
423
+ * - `step`: `1` (left button, toward the end) or `-1` (right button,
424
+ * toward the start).
425
+ * - `size`, `shape`, `pixel_perfect`: as in [`Self::begin_stroke`].
426
+ *
427
+ * Errors (and starts nothing) for an empty ramp, another step, an
428
+ * unknown shape, a locked target layer, or a document without a
429
+ * paintable image layer.
430
+ */
431
+ beginShadingStroke(ramp: Uint32Array, step: number, size: number, shape: string, pixel_perfect: boolean): void;
398
432
  /**
399
433
  * Start a Pencil / Eraser gesture on the active layer / current frame.
400
434
  * Nothing is painted until the first [`Self::stroke_to`].
@@ -446,6 +480,14 @@ export class Document {
446
480
  * event's `(x, y, width, height)` directly.
447
481
  */
448
482
  composeDirty(frame: number, zoom: number, dx: number, dy: number, dw: number, dh: number): ComposeFrame;
483
+ /**
484
+ * [`Document::compose`] with the onion skin chosen per call: `onion =
485
+ * true` applies the configured onion skin (the same bytes as
486
+ * `compose`), `onion = false` leaves it out whatever
487
+ * [`Document::set_onion_skin`] says — for an animation preview that
488
+ * must never show ghosts (docs/specs/animation-preview.md).
489
+ */
490
+ composeFrame(frame: number, zoom: number, onion: boolean): ComposeFrame;
449
491
  /**
450
492
  * Shrink the selection by `radius` pixels (may clear it).
451
493
  */
@@ -529,7 +571,7 @@ export class Document {
529
571
  * a fresh `Uint8Array` copy. Errors surface the `pincel-core`
530
572
  * message: an unknown format or tag, a scale outside 1–10, an output
531
573
  * edge above 16384 px, a frameless sequence, or a sprite the renderer
532
- * refuses (an indexed sprite).
574
+ * refuses (a corrupt cel or a broken linked cel).
533
575
  */
534
576
  exportAnimation(format: string, tag: string | null | undefined, scale: number, loops: number): Uint8Array;
535
577
  /**
@@ -549,12 +591,29 @@ export class Document {
549
591
  * `meta.image` names `image_name` (default `"sheet.png"`). Errors
550
592
  * surface the underlying `pincel-core` message: zero columns, an
551
593
  * unknown tag, a frameless sprite, or anything the renderer refuses.
594
+ *
595
+ * `scale` (optional, default 1) upscales the sheet by an integer
596
+ * factor 1–10 with nearest-neighbour; the manifest and the `--data`
597
+ * JSON describe the scaled sheet (`meta.scale` stays `"1"`, as
598
+ * Aseprite's `--scale`). A scale outside 1–10 or a sheet edge above
599
+ * 16384 px is an error naming the limit (docs/specs/scaled-export.md).
552
600
  */
553
- exportAtlas(columns: number, tag?: string | null, image_name?: string | null): AtlasExport;
601
+ exportAtlas(columns: number, tag?: string | null, image_name?: string | null, scale?: number | null): AtlasExport;
554
602
  /**
555
603
  * The palette as a GIMP `.gpl` file called `name` (alpha dropped).
604
+ *
605
+ * Deprecated: use [`Document::export_palette`] (`exportPalette`) with
606
+ * format `gpl`. Kept for the public npm API (spec §17.5).
556
607
  */
557
608
  exportGpl(name: string): string;
609
+ /**
610
+ * The palette as a file: `format` is `gpl` (a GIMP palette called
611
+ * `name`), `hex` (Lospec), `pal` (JASC) or `png` (a one-row strip of
612
+ * `cell` × `cell` px swatches). `name` is used only by `gpl`, `cell`
613
+ * only by `png`. Errors for an unknown format, or a PNG strip of an
614
+ * empty palette or with `cell` 0.
615
+ */
616
+ exportPalette(format: string, name: string, cell: number): Uint8Array;
558
617
  /**
559
618
  * Encode one frame as an RGBA8 PNG.
560
619
  *
@@ -567,8 +626,13 @@ export class Document {
567
626
  * `pincel-core` message: an out-of-range frame, or a sprite the
568
627
  * renderer refuses (non-RGBA color mode, non-`Normal` blend mode,
569
628
  * group layer, linked cel).
629
+ *
630
+ * `scale` (optional, default 1) upscales the PNG by an integer factor
631
+ * 1–10 with nearest-neighbour (docs/specs/scaled-export.md); scale 1
632
+ * and no scale give the same bytes. A scale outside 1–10 or an output
633
+ * edge above 16384 px is an error naming the limit.
570
634
  */
571
- exportPng(frame: number): Uint8Array;
635
+ exportPng(frame: number, scale?: number | null): Uint8Array;
572
636
  /**
573
637
  * Flatten every visible layer into one image layer (hidden layers are
574
638
  * dropped) and return the new layer's id, which also becomes the
@@ -589,8 +653,21 @@ export class Document {
589
653
  /**
590
654
  * Replace the palette with a GIMP `.gpl` file's colours and return
591
655
  * how many it holds. One undo entry. Refused for indexed documents.
656
+ *
657
+ * Deprecated: use [`Document::import_palette`] (`importPalette`),
658
+ * which reads `.gpl` and the other palette formats. Kept for the
659
+ * public npm API (spec §17.5).
592
660
  */
593
661
  importGpl(text: string): number;
662
+ /**
663
+ * Replace the palette with a palette file's colours and return how
664
+ * many it holds. The format — GIMP `.gpl`, Lospec `.hex`, JASC `.pal`
665
+ * or a PNG palette image — is detected from the content, not the file
666
+ * name (spec §3.7). One undo entry. Refused for indexed documents, for
667
+ * files without colours and above 256 colours; the palette is then
668
+ * unchanged.
669
+ */
670
+ importPalette(bytes: Uint8Array): number;
594
671
  /**
595
672
  * Decode PNG bytes and add them as a new image layer named `name` on
596
673
  * top of the stack, at the current frame, anchored at the canvas
@@ -604,6 +681,15 @@ export class Document {
604
681
  * selected).
605
682
  */
606
683
  invertSelection(): void;
684
+ /**
685
+ * Undo (`delta < 0`) or redo (`delta > 0`) `|delta|` steps in one
686
+ * call, as that many `undo` / `redo` calls would, and queue one dirty
687
+ * event for the result. Returns the steps moved. When a redo fails the
688
+ * document stays at the last state reached, the failed step stays
689
+ * redoable, and the error is returned (`docs/specs/history-panel.md`
690
+ * AC-05, AC-12, AC-13).
691
+ */
692
+ jumpHistory(delta: number): number;
607
693
  /**
608
694
  * Blend mode name of the named layer (`"normal"`, `"multiply"`, …),
609
695
  * or `"normal"` when the layer is unknown.
@@ -800,6 +886,12 @@ export class Document {
800
886
  * [`Document::compose`].
801
887
  */
802
888
  previewEffect(name: string, params: Float64Array, zoom: number): ComposeFrame;
889
+ /**
890
+ * The composite as `rotateLayer(angle, method)` would leave it,
891
+ * without touching the document or the undo stack. With nothing to
892
+ * rotate it shows the document unchanged.
893
+ */
894
+ previewRotate(angle: number, method: string, zoom: number): ComposeFrame;
803
895
  /**
804
896
  * Composite the current frame at `zoom` as it would look after
805
897
  * [`Document::draw_text`] with the same arguments, without touching
@@ -816,6 +908,10 @@ export class Document {
816
908
  * [`Document::undo`].
817
909
  */
818
910
  redo(): boolean;
911
+ /**
912
+ * The kind ids of the redo steps, in the order Redo restores them.
913
+ */
914
+ redoKinds(): string[];
819
915
  /**
820
916
  * Remove `frame`, shifting later cels, tags and slice keys down (see
821
917
  * `pincel_core::RemoveFrame`). The current frame is clamped into the
@@ -871,6 +967,25 @@ export class Document {
871
967
  * the new frame is dropped (undo restores it). Clears the selection.
872
968
  */
873
969
  resizeCanvas(width: number, height: number, anchor: string): void;
970
+ /**
971
+ * `[width, height]` of what `rotateLayer` would turn — the selection
972
+ * box, or the bounding box of the cel's visible pixels — or an empty
973
+ * array when there is nothing to rotate.
974
+ */
975
+ rotateInputSize(): Uint32Array;
976
+ /**
977
+ * Rotate the active layer's cel at the current frame clockwise by
978
+ * `angle` degrees with `method` (`nearest` or `rotsprite`); with a
979
+ * selection only its content turns. The cel grows to hold the
980
+ * result. One undo entry. `Ok(false)` when there is nothing visible
981
+ * to rotate (nothing changes); errors on a locked layer, an unknown
982
+ * method or a RotSprite input over [`Document::rotsprite_max_side`].
983
+ */
984
+ rotateLayer(angle: number, method: string): boolean;
985
+ /**
986
+ * Largest input width or height RotSprite accepts (512).
987
+ */
988
+ rotspriteMaxSide(): number;
874
989
  /**
875
990
  * Serialize this document to an Aseprite v1.3 byte vector.
876
991
  *
@@ -938,6 +1053,13 @@ export class Document {
938
1053
  * merge into one undo entry until [`Document::end_stroke`] seals it.
939
1054
  */
940
1055
  setFrameDuration(frame: number, duration_ms: number): void;
1056
+ /**
1057
+ * Set the grid's offset (`x`, `y`) and cell size (`width` ×
1058
+ * `height`) as one undo entry; saved in the `.aseprite` header.
1059
+ * Errors, leaving the grid unchanged, for a cell size outside
1060
+ * 1–65535 or an offset outside −32768–32767.
1061
+ */
1062
+ setGrid(x: number, y: number, width: number, height: number): void;
941
1063
  /**
942
1064
  * Set the named layer's blend mode by name (see [`blend_mode_names`]),
943
1065
  * routed through the undo bus. Emits `dirty-canvas`. Errors on an
@@ -996,6 +1118,14 @@ export class Document {
996
1118
  * the undo stack in the M7.8 slice (see spec §5.2).
997
1119
  */
998
1120
  setSelection(x: number, y: number, width: number, height: number): void;
1121
+ /**
1122
+ * Replace the selection with canvas-sized coverage bytes, as
1123
+ * `selectionMask` returns them (non-zero = selected). An empty array or
1124
+ * an all-zero mask clears the selection. Restores a selection the UI
1125
+ * saved earlier, e.g. for the Magic Wand link (pixel-selection-move
1126
+ * AC-25). Errors when the length isn't `width × height`.
1127
+ */
1128
+ setSelectionMask(mask: Uint8Array): void;
999
1129
  /**
1000
1130
  * Upsert a per-frame [`SliceKey`] on the named slice. If the
1001
1131
  * slice already carries a key for `frame`, the existing key is
@@ -1014,6 +1144,28 @@ export class Document {
1014
1144
  * rejects the write.
1015
1145
  */
1016
1146
  setSliceKey(slice_id: number, frame: number, x: number, y: number, width: number, height: number, center_x?: number | null, center_y?: number | null, center_width?: number | null, center_height?: number | null, pivot_x?: number | null, pivot_y?: number | null): void;
1147
+ /**
1148
+ * Mirror the gesture in progress (symmetry): every pixel it paints is
1149
+ * also painted at its mirror images. `axis_x2` / `axis_y2` are the
1150
+ * vertical / horizontal axis in half pixels from the left / top canvas
1151
+ * edge (column `x` mirrors to `axis_x2 − 1 − x`); absent turns that
1152
+ * axis off. Mirror images off the canvas are skipped unless the
1153
+ * gesture wraps. Call it after `beginStroke` / `beginShadingStroke`
1154
+ * and before the first [`Self::stroke_to`].
1155
+ *
1156
+ * Errors when no gesture is armed or it has already painted.
1157
+ */
1158
+ setStrokeMirror(axis_x2?: number | null, axis_y2?: number | null): void;
1159
+ /**
1160
+ * Let the gesture in progress wrap across the canvas edges (tiled
1161
+ * mode): along a wrapped axis, points beyond the canvas are taken
1162
+ * modulo the canvas size instead of skipped, and the line between two
1163
+ * points continues at the opposite edge. Call it after `beginStroke` /
1164
+ * `beginShadingStroke` and before the first [`Self::stroke_to`].
1165
+ *
1166
+ * Errors when no gesture is armed or it has already painted.
1167
+ */
1168
+ setStrokeWrap(x: boolean, y: boolean): void;
1017
1169
  /**
1018
1170
  * Set the playback direction of the tag at `index` by snake_case
1019
1171
  * name. One undo entry.
@@ -1067,14 +1219,14 @@ export class Document {
1067
1219
  */
1068
1220
  sliceKeyCenterWidth(slice_id: number, key_index: number): number;
1069
1221
  /**
1070
- * Sprite-space `x` of the key's 9-patch center, or `0` when the
1071
- * key has no center. Errors when `slice_id` or `key_index` is
1072
- * out of range.
1222
+ * `x` of the key's 9-patch center, relative to the key's bounds
1223
+ * origin, or `0` when the key has no center. Errors when
1224
+ * `slice_id` or `key_index` is out of range.
1073
1225
  */
1074
1226
  sliceKeyCenterX(slice_id: number, key_index: number): number;
1075
1227
  /**
1076
- * Sprite-space `y` of the key's 9-patch center, or `0` when the
1077
- * key has no center.
1228
+ * `y` of the key's 9-patch center, relative to the key's bounds
1229
+ * origin, or `0` when the key has no center.
1078
1230
  */
1079
1231
  sliceKeyCenterY(slice_id: number, key_index: number): number;
1080
1232
  /**
@@ -1103,13 +1255,13 @@ export class Document {
1103
1255
  */
1104
1256
  sliceKeyHeight(slice_id: number, key_index: number): number;
1105
1257
  /**
1106
- * Sprite-space `x` of the key's pivot, or `0` when the key has
1107
- * no pivot.
1258
+ * `x` of the key's pivot, relative to the key's bounds origin
1259
+ * (may be negative), or `0` when the key has no pivot.
1108
1260
  */
1109
1261
  sliceKeyPivotX(slice_id: number, key_index: number): number;
1110
1262
  /**
1111
- * Sprite-space `y` of the key's pivot, or `0` when the key has
1112
- * no pivot.
1263
+ * `y` of the key's pivot, relative to the key's bounds origin
1264
+ * (may be negative), or `0` when the key has no pivot.
1113
1265
  */
1114
1266
  sliceKeyPivotY(slice_id: number, key_index: number): number;
1115
1267
  /**
@@ -1147,6 +1299,21 @@ export class Document {
1147
1299
  * interpolated linearly between consecutive points.
1148
1300
  */
1149
1301
  strokeTo(x: number, y: number, pressure?: number | null): void;
1302
+ /**
1303
+ * [`Self::stroke_to`] for several pointer samples at once — all
1304
+ * samples of one animation frame (`docs/specs/performance-input-path.md`).
1305
+ * Paints exactly what calling `strokeTo` once per point would, but
1306
+ * emits one `dirty-rect` covering the whole batch.
1307
+ *
1308
+ * - `xy`: the sprite-space points as `x0, y0, x1, y1, …`.
1309
+ * - `pressure`: empty for full pressure at every point, otherwise one
1310
+ * value per point (as `strokeTo`'s `pressure`).
1311
+ *
1312
+ * Errors for an odd `xy` length, a `pressure` length that is neither
1313
+ * zero nor the point count, or no stroke in progress; points before a
1314
+ * failing one stay painted.
1315
+ */
1316
+ strokeToBatch(xy: Int32Array, pressure: Float32Array): void;
1150
1317
  /**
1151
1318
  * Display color of the tag at `index`, packed `0xRRGGBBAA`.
1152
1319
  */
@@ -1243,6 +1410,10 @@ export class Document {
1243
1410
  * follow-up).
1244
1411
  */
1245
1412
  undo(): boolean;
1413
+ /**
1414
+ * The kind ids of the undo steps, oldest first.
1415
+ */
1416
+ undoKinds(): string[];
1246
1417
  /**
1247
1418
  * A [`Vectorizer`] over `frame` composed like
1248
1419
  * [`exportPng`](Document::export_png): zoom 1, visible layers, no onion
@@ -1258,6 +1429,26 @@ export class Document {
1258
1429
  * Number of frames in the document.
1259
1430
  */
1260
1431
  readonly frameCount: number;
1432
+ /**
1433
+ * Grid cell height in sprite pixels (16 for a sprite without a
1434
+ * stored grid; 0 when a file stored a zero-sized grid).
1435
+ */
1436
+ readonly gridHeight: number;
1437
+ /**
1438
+ * Grid cell width in sprite pixels (16 for a sprite without a stored
1439
+ * grid; 0 when a file stored a zero-sized grid).
1440
+ */
1441
+ readonly gridWidth: number;
1442
+ /**
1443
+ * Grid x offset in sprite pixels (0 for a sprite without a stored
1444
+ * grid).
1445
+ */
1446
+ readonly gridX: number;
1447
+ /**
1448
+ * Grid y offset in sprite pixels (0 for a sprite without a stored
1449
+ * grid).
1450
+ */
1451
+ readonly gridY: number;
1261
1452
  /**
1262
1453
  * `true` when a non-empty marquee selection is active. See
1263
1454
  * [`pincel_core::Sprite::has_selection`].
@@ -1267,6 +1458,15 @@ export class Document {
1267
1458
  * Canvas height in pixels.
1268
1459
  */
1269
1460
  readonly height: number;
1461
+ /**
1462
+ * `true` once the 100-step cap has dropped a step from the history.
1463
+ */
1464
+ readonly historyDropped: boolean;
1465
+ /**
1466
+ * Changes whenever the list of steps changes, so the UI re-reads
1467
+ * [`Document::undo_kinds`] / [`Document::redo_kinds`] only then.
1468
+ */
1469
+ readonly historyRevision: number;
1270
1470
  /**
1271
1471
  * Number of layers in the document, including invisible ones.
1272
1472
  */
@@ -1437,6 +1637,19 @@ export function blendModeNames(): string[];
1437
1637
  */
1438
1638
  export function effectNames(): string[];
1439
1639
 
1640
+ /**
1641
+ * Every history kind id the Pixel core reports, fixed kinds first, then
1642
+ * `effect.<name>` per effect (`docs/specs/history-panel.md` AC-15).
1643
+ */
1644
+ export function historyKindIds(): string[];
1645
+
1646
+ /**
1647
+ * Number of [`Document`]s alive in this module (created and not yet
1648
+ * freed). A diagnostic: tests check that closing a tab frees its document
1649
+ * (docs/specs/document-tabs.md AC-16).
1650
+ */
1651
+ export function openDocumentCount(): number;
1652
+
1440
1653
  /**
1441
1654
  * A single composited frame returned to JS.
1442
1655
  *
@@ -1461,80 +1674,162 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
1461
1674
 
1462
1675
  export interface InitOutput {
1463
1676
  readonly memory: WebAssembly.Memory;
1677
+ readonly __wbg_animationinfo_free: (a: number, b: number) => void;
1464
1678
  readonly __wbg_atlasexport_free: (a: number, b: number) => void;
1465
1679
  readonly __wbg_composeframe_free: (a: number, b: number) => void;
1466
1680
  readonly __wbg_document_free: (a: number, b: number) => void;
1681
+ readonly __wbg_event_free: (a: number, b: number) => void;
1682
+ readonly __wbg_vectorizer_free: (a: number, b: number) => void;
1683
+ readonly __wbg_vectorizeresult_free: (a: number, b: number) => void;
1684
+ readonly animationinfo_defaultLoops: (a: number) => number;
1685
+ readonly animationinfo_frameCount: (a: number) => number;
1686
+ readonly animationinfo_gifApproximated: (a: number) => number;
1687
+ readonly animationinfo_semiTransparent: (a: number) => number;
1467
1688
  readonly atlasexport_data: (a: number) => [number, number];
1468
1689
  readonly atlasexport_manifest: (a: number) => [number, number];
1469
1690
  readonly atlasexport_png: (a: number) => [number, number];
1691
+ readonly blendModeNames: () => [number, number];
1470
1692
  readonly composeframe_dirtyX: (a: number) => number;
1471
1693
  readonly composeframe_dirtyY: (a: number) => number;
1472
1694
  readonly composeframe_height: (a: number) => number;
1473
1695
  readonly composeframe_pixels: (a: number) => [number, number];
1474
1696
  readonly composeframe_width: (a: number) => number;
1475
1697
  readonly document_addFrame: (a: number, b: number) => [number, number, number];
1698
+ readonly document_addGroup: (a: number, b: number, c: number) => [number, number, number];
1476
1699
  readonly document_addLayer: (a: number, b: number, c: number) => [number, number, number];
1477
1700
  readonly document_addPaletteEntry: (a: number, b: number) => [number, number, number];
1478
1701
  readonly document_addSlice: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
1702
+ readonly document_addTag: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1479
1703
  readonly document_addTile: (a: number, b: number) => [number, number, number];
1480
1704
  readonly document_addTilemapLayer: (a: number, b: number, c: number, d: number) => [number, number, number];
1481
1705
  readonly document_addTileset: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1706
+ readonly document_animationInfo: (a: number, b: number, c: number) => [number, number, number];
1482
1707
  readonly document_applyBucket: (a: number, b: number, c: number, d: number) => [number, number];
1708
+ readonly document_applyEffect: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1483
1709
  readonly document_applyEllipse: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1710
+ readonly document_applyGradient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
1484
1711
  readonly document_applyLine: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1485
1712
  readonly document_applyMoveSelection: (a: number, b: number, c: number) => [number, number];
1486
1713
  readonly document_applyRectangle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1714
+ readonly document_applyShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number];
1487
1715
  readonly document_applyTool: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1716
+ readonly document_beginShadingStroke: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
1717
+ readonly document_beginStroke: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
1488
1718
  readonly document_clearSelection: (a: number) => void;
1489
1719
  readonly document_compose: (a: number, b: number, c: number) => [number, number, number];
1490
1720
  readonly document_composeDirty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
1721
+ readonly document_composeFrame: (a: number, b: number, c: number, d: number) => [number, number, number];
1722
+ readonly document_contractSelection: (a: number, b: number) => void;
1723
+ readonly document_copySelection: (a: number, b: number) => [number, number, number];
1724
+ readonly document_cropToSelection: (a: number) => [number, number, number];
1491
1725
  readonly document_currentFrame: (a: number) => number;
1726
+ readonly document_cutSelection: (a: number) => [number, number, number];
1492
1727
  readonly document_deleteSelection: (a: number) => [number, number, number];
1493
1728
  readonly document_drainEvents: (a: number) => [number, number];
1729
+ readonly document_drawText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number, number];
1730
+ readonly document_duplicateLayer: (a: number, b: number) => [number, number, number];
1494
1731
  readonly document_endStroke: (a: number) => void;
1495
- readonly document_exportAtlas: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1732
+ readonly document_expandSelection: (a: number, b: number) => void;
1733
+ readonly document_exportAnimation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1734
+ readonly document_exportAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
1496
1735
  readonly document_exportGpl: (a: number, b: number, c: number) => [number, number];
1497
- readonly document_exportPng: (a: number, b: number) => [number, number, number, number];
1736
+ readonly document_exportPalette: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1737
+ readonly document_exportPng: (a: number, b: number, c: number) => [number, number, number, number];
1738
+ readonly document_flattenImage: (a: number) => [number, number, number];
1498
1739
  readonly document_frameCount: (a: number) => number;
1740
+ readonly document_frameDuration: (a: number, b: number) => [number, number, number];
1741
+ readonly document_gridHeight: (a: number) => number;
1742
+ readonly document_gridWidth: (a: number) => number;
1743
+ readonly document_gridX: (a: number) => number;
1744
+ readonly document_gridY: (a: number) => number;
1499
1745
  readonly document_hasSelection: (a: number) => number;
1500
1746
  readonly document_height: (a: number) => number;
1747
+ readonly document_historyDropped: (a: number) => number;
1748
+ readonly document_historyRevision: (a: number) => number;
1749
+ readonly document_imageKey: (a: number, b: number) => [number, number, number, number];
1501
1750
  readonly document_importGpl: (a: number, b: number, c: number) => [number, number, number];
1751
+ readonly document_importPalette: (a: number, b: number, c: number) => [number, number, number];
1752
+ readonly document_importPngAsLayer: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1753
+ readonly document_invertSelection: (a: number) => void;
1754
+ readonly document_jumpHistory: (a: number, b: number) => [number, number, number];
1755
+ readonly document_layerBlendMode: (a: number, b: number) => [number, number];
1502
1756
  readonly document_layerCount: (a: number) => number;
1757
+ readonly document_layerDepth: (a: number, b: number) => number;
1758
+ readonly document_layerEditable: (a: number, b: number) => number;
1503
1759
  readonly document_layerIdAt: (a: number, b: number) => [number, number, number];
1504
1760
  readonly document_layerKind: (a: number, b: number) => [number, number];
1761
+ readonly document_layerLocked: (a: number, b: number) => number;
1505
1762
  readonly document_layerName: (a: number, b: number) => [number, number];
1506
1763
  readonly document_layerOpacity: (a: number, b: number) => number;
1764
+ readonly document_layerParent: (a: number, b: number) => number;
1765
+ readonly document_layerThumbnail: (a: number, b: number, c: number, d: number) => [number, number, number];
1507
1766
  readonly document_layerTilesetId: (a: number, b: number) => number;
1508
1767
  readonly document_layerVisible: (a: number, b: number) => number;
1768
+ readonly document_mergeDown: (a: number, b: number) => [number, number];
1509
1769
  readonly document_moveLayerDown: (a: number, b: number) => [number, number];
1770
+ readonly document_moveLayerTo: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1510
1771
  readonly document_moveLayerUp: (a: number, b: number) => [number, number];
1511
1772
  readonly document_movePaletteEntry: (a: number, b: number, c: number) => [number, number];
1512
1773
  readonly document_new: (a: number, b: number) => [number, number, number];
1774
+ readonly document_onionSkinEnabled: (a: number) => number;
1513
1775
  readonly document_openAseprite: (a: number, b: number) => [number, number, number];
1776
+ readonly document_openPng: (a: number, b: number) => [number, number, number];
1514
1777
  readonly document_paintTargetLayer: (a: number) => number;
1515
1778
  readonly document_paletteColor: (a: number, b: number) => [number, number, number];
1516
1779
  readonly document_paletteCount: (a: number) => number;
1517
1780
  readonly document_paletteName: (a: number, b: number) => [number, number, number, number];
1781
+ readonly document_pasteLayer: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1518
1782
  readonly document_pickColor: (a: number, b: number, c: number, d: number) => [number, number, number];
1519
1783
  readonly document_placeTile: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1784
+ readonly document_previewEffect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1785
+ readonly document_previewRotate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1786
+ readonly document_previewText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number, number];
1520
1787
  readonly document_redo: (a: number) => [number, number, number];
1521
1788
  readonly document_redoDepth: (a: number) => number;
1789
+ readonly document_redoKinds: (a: number) => [number, number];
1790
+ readonly document_removeFrame: (a: number, b: number) => [number, number];
1522
1791
  readonly document_removeLayer: (a: number, b: number) => [number, number];
1523
1792
  readonly document_removePaletteEntry: (a: number, b: number) => [number, number];
1524
1793
  readonly document_removeSlice: (a: number, b: number) => [number, number];
1794
+ readonly document_removeTag: (a: number, b: number) => [number, number];
1525
1795
  readonly document_renameLayer: (a: number, b: number, c: number, d: number) => [number, number];
1796
+ readonly document_reorderLayer: (a: number, b: number, c: number) => [number, number];
1797
+ readonly document_resizeCanvas: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1798
+ readonly document_rotateInputSize: (a: number) => [number, number];
1799
+ readonly document_rotateLayer: (a: number, b: number, c: number, d: number) => [number, number, number];
1800
+ readonly document_rotspriteMaxSide: (a: number) => number;
1526
1801
  readonly document_saveAseprite: (a: number) => [number, number, number, number];
1802
+ readonly document_scaleImage: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1803
+ readonly document_selectAll: (a: number) => void;
1804
+ readonly document_selectEllipse: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1805
+ readonly document_selectPolygon: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1806
+ readonly document_selectRect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1807
+ readonly document_selectWand: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
1527
1808
  readonly document_selectionHeight: (a: number) => number;
1809
+ readonly document_selectionIsRect: (a: number) => number;
1810
+ readonly document_selectionMask: (a: number) => [number, number];
1528
1811
  readonly document_selectionWidth: (a: number) => number;
1529
1812
  readonly document_selectionX: (a: number) => number;
1530
1813
  readonly document_selectionY: (a: number) => number;
1531
1814
  readonly document_setActiveLayer: (a: number, b: number) => void;
1532
1815
  readonly document_setCurrentFrame: (a: number, b: number) => [number, number];
1816
+ readonly document_setFrameDuration: (a: number, b: number, c: number) => [number, number];
1817
+ readonly document_setGrid: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1818
+ readonly document_setLayerBlendMode: (a: number, b: number, c: number, d: number) => [number, number];
1819
+ readonly document_setLayerEditable: (a: number, b: number, c: number) => [number, number];
1820
+ readonly document_setLayerOpacity: (a: number, b: number, c: number) => [number, number];
1533
1821
  readonly document_setLayerVisible: (a: number, b: number, c: number) => [number, number];
1822
+ readonly document_setOnionSkin: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
1534
1823
  readonly document_setPaletteColor: (a: number, b: number, c: number) => [number, number];
1535
1824
  readonly document_setPalettePreset: (a: number, b: number, c: number) => [number, number];
1536
1825
  readonly document_setSelection: (a: number, b: number, c: number, d: number, e: number) => void;
1826
+ readonly document_setSelectionMask: (a: number, b: number, c: number) => [number, number];
1537
1827
  readonly document_setSliceKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number];
1828
+ readonly document_setStrokeMirror: (a: number, b: number, c: number) => [number, number];
1829
+ readonly document_setStrokeWrap: (a: number, b: number, c: number) => [number, number];
1830
+ readonly document_setTagDirection: (a: number, b: number, c: number, d: number) => [number, number];
1831
+ readonly document_setTagName: (a: number, b: number, c: number, d: number) => [number, number];
1832
+ readonly document_setTagRange: (a: number, b: number, c: number, d: number) => [number, number];
1538
1833
  readonly document_setTilePixel: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1539
1834
  readonly document_sliceColor: (a: number, b: number) => number;
1540
1835
  readonly document_sliceCount: (a: number) => number;
@@ -1554,6 +1849,14 @@ export interface InitOutput {
1554
1849
  readonly document_sliceKeyX: (a: number, b: number, c: number) => [number, number, number];
1555
1850
  readonly document_sliceKeyY: (a: number, b: number, c: number) => [number, number, number];
1556
1851
  readonly document_sliceName: (a: number, b: number) => [number, number];
1852
+ readonly document_strokeTo: (a: number, b: number, c: number, d: number) => [number, number];
1853
+ readonly document_strokeToBatch: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1854
+ readonly document_tagColor: (a: number, b: number) => [number, number, number];
1855
+ readonly document_tagCount: (a: number) => number;
1856
+ readonly document_tagDirection: (a: number, b: number) => [number, number, number, number];
1857
+ readonly document_tagFrom: (a: number, b: number) => [number, number, number];
1858
+ readonly document_tagName: (a: number, b: number) => [number, number, number, number];
1859
+ readonly document_tagTo: (a: number, b: number) => [number, number, number];
1557
1860
  readonly document_tilePixels: (a: number, b: number, c: number) => [number, number, number, number];
1558
1861
  readonly document_tilesetCount: (a: number) => number;
1559
1862
  readonly document_tilesetIdAt: (a: number, b: number) => [number, number, number];
@@ -1561,101 +1864,36 @@ export interface InitOutput {
1561
1864
  readonly document_tilesetTileCount: (a: number, b: number) => number;
1562
1865
  readonly document_tilesetTileHeight: (a: number, b: number) => number;
1563
1866
  readonly document_tilesetTileWidth: (a: number, b: number) => number;
1867
+ readonly document_transformCanvas: (a: number, b: number, c: number) => [number, number];
1868
+ readonly document_transformLayer: (a: number, b: number, c: number) => [number, number];
1564
1869
  readonly document_undo: (a: number) => number;
1565
1870
  readonly document_undoDepth: (a: number) => number;
1871
+ readonly document_undoKinds: (a: number) => [number, number];
1872
+ readonly document_vectorizer: (a: number, b: number) => [number, number, number];
1566
1873
  readonly document_width: (a: number) => number;
1567
- readonly palettePresetNames: () => [number, number];
1568
- readonly document_cropToSelection: (a: number) => [number, number, number];
1569
- readonly document_resizeCanvas: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1570
- readonly document_scaleImage: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1571
- readonly document_transformCanvas: (a: number, b: number, c: number) => [number, number];
1572
- readonly document_transformLayer: (a: number, b: number, c: number) => [number, number];
1573
- readonly blendModeNames: () => [number, number];
1574
- readonly document_addGroup: (a: number, b: number, c: number) => [number, number, number];
1575
- readonly document_applyEffect: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1576
- readonly document_duplicateLayer: (a: number, b: number) => [number, number, number];
1577
- readonly document_flattenImage: (a: number) => [number, number, number];
1578
- readonly document_layerBlendMode: (a: number, b: number) => [number, number];
1579
- readonly document_layerDepth: (a: number, b: number) => number;
1580
- readonly document_layerEditable: (a: number, b: number) => number;
1581
- readonly document_layerLocked: (a: number, b: number) => number;
1582
- readonly document_layerParent: (a: number, b: number) => number;
1583
- readonly document_layerThumbnail: (a: number, b: number, c: number, d: number) => [number, number, number];
1584
- readonly document_mergeDown: (a: number, b: number) => [number, number];
1585
- readonly document_moveLayerTo: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1586
- readonly document_previewEffect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1587
- readonly document_reorderLayer: (a: number, b: number, c: number) => [number, number];
1588
- readonly document_setLayerBlendMode: (a: number, b: number, c: number, d: number) => [number, number];
1589
- readonly document_setLayerEditable: (a: number, b: number, c: number) => [number, number];
1590
- readonly document_setLayerOpacity: (a: number, b: number, c: number) => [number, number];
1591
1874
  readonly effectNames: () => [number, number];
1592
- readonly document_contractSelection: (a: number, b: number) => void;
1593
- readonly document_drawText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number, number];
1594
- readonly document_expandSelection: (a: number, b: number) => void;
1595
- readonly document_invertSelection: (a: number) => void;
1596
- readonly document_previewText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number, number];
1597
- readonly document_selectAll: (a: number) => void;
1598
- readonly document_selectEllipse: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1599
- readonly document_selectPolygon: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1600
- readonly document_selectRect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1601
- readonly document_selectWand: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
1602
- readonly document_selectionIsRect: (a: number) => number;
1603
- readonly document_selectionMask: (a: number) => [number, number];
1875
+ readonly event_frame: (a: number) => number;
1876
+ readonly event_kind: (a: number) => [number, number];
1877
+ readonly event_x: (a: number) => number;
1878
+ readonly historyKindIds: () => [number, number];
1879
+ readonly palettePresetNames: () => [number, number];
1604
1880
  readonly registerFont: (a: number, b: number) => number;
1605
- readonly __wbg_vectorizer_free: (a: number, b: number) => void;
1606
- readonly __wbg_vectorizeresult_free: (a: number, b: number) => void;
1607
- readonly document_vectorizer: (a: number, b: number) => [number, number, number];
1608
1881
  readonly vectorizer_trace: (a: number, b: number, c: number, d: number) => [number, number, number];
1609
- readonly vectorizeresult_layers: (a: number) => number;
1610
- readonly vectorizeresult_outlines: (a: number) => number;
1611
1882
  readonly vectorizeresult_svg: (a: number) => [number, number];
1612
- readonly vectorizeresult_threshold: (a: number) => number;
1613
- readonly __wbg_copiedimage_free: (a: number, b: number) => void;
1614
1883
  readonly copiedimage_height: (a: number) => number;
1615
- readonly copiedimage_png: (a: number) => [number, number];
1616
1884
  readonly copiedimage_width: (a: number) => number;
1617
1885
  readonly copiedimage_x: (a: number) => number;
1618
1886
  readonly copiedimage_y: (a: number) => number;
1619
- readonly document_copySelection: (a: number, b: number) => [number, number, number];
1620
- readonly document_cutSelection: (a: number) => [number, number, number];
1621
- readonly document_imageKey: (a: number, b: number) => [number, number, number, number];
1622
- readonly document_importPngAsLayer: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1623
- readonly document_openPng: (a: number, b: number) => [number, number, number];
1624
- readonly document_pasteLayer: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1625
- readonly __wbg_animationinfo_free: (a: number, b: number) => void;
1626
- readonly __wbg_event_free: (a: number, b: number) => void;
1627
- readonly animationinfo_defaultLoops: (a: number) => number;
1628
- readonly animationinfo_frameCount: (a: number) => number;
1629
- readonly animationinfo_gifApproximated: (a: number) => number;
1630
- readonly animationinfo_semiTransparent: (a: number) => number;
1631
- readonly document_addTag: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1632
- readonly document_animationInfo: (a: number, b: number, c: number) => [number, number, number];
1633
- readonly document_applyShape: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => [number, number];
1634
- readonly document_beginStroke: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
1635
- readonly document_exportAnimation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1636
- readonly document_frameDuration: (a: number, b: number) => [number, number, number];
1637
- readonly document_onionSkinEnabled: (a: number) => number;
1638
- readonly document_removeFrame: (a: number, b: number) => [number, number];
1639
- readonly document_removeTag: (a: number, b: number) => [number, number];
1640
- readonly document_setFrameDuration: (a: number, b: number, c: number) => [number, number];
1641
- readonly document_setOnionSkin: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
1642
- readonly document_setTagDirection: (a: number, b: number, c: number, d: number) => [number, number];
1643
- readonly document_setTagName: (a: number, b: number, c: number, d: number) => [number, number];
1644
- readonly document_setTagRange: (a: number, b: number, c: number, d: number) => [number, number];
1645
- readonly document_strokeTo: (a: number, b: number, c: number, d: number) => [number, number];
1646
- readonly document_tagColor: (a: number, b: number) => [number, number, number];
1647
- readonly document_tagCount: (a: number) => number;
1648
- readonly document_tagDirection: (a: number, b: number) => [number, number, number, number];
1649
- readonly document_tagFrom: (a: number, b: number) => [number, number, number];
1650
- readonly document_tagName: (a: number, b: number) => [number, number, number, number];
1651
- readonly document_tagTo: (a: number, b: number) => [number, number, number];
1652
- readonly event_frame: (a: number) => number;
1653
1887
  readonly event_height: (a: number) => number;
1654
- readonly event_kind: (a: number) => [number, number];
1888
+ readonly event_layer: (a: number) => number;
1655
1889
  readonly event_width: (a: number) => number;
1656
- readonly event_x: (a: number) => number;
1657
1890
  readonly event_y: (a: number) => number;
1658
- readonly event_layer: (a: number) => number;
1891
+ readonly vectorizeresult_layers: (a: number) => number;
1892
+ readonly vectorizeresult_outlines: (a: number) => number;
1893
+ readonly vectorizeresult_threshold: (a: number) => number;
1894
+ readonly copiedimage_png: (a: number) => [number, number];
1895
+ readonly openDocumentCount: () => number;
1896
+ readonly __wbg_copiedimage_free: (a: number, b: number) => void;
1659
1897
  readonly __wbindgen_externrefs: WebAssembly.Table;
1660
1898
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
1661
1899
  readonly __externref_drop_slice: (a: number, b: number) => void;