@amigo-labs/pincel-wasm 1.7.0 → 1.10.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/package.json +1 -1
- package/pincel_wasm.d.ts +185 -93
- package/pincel_wasm.js +187 -0
- package/pincel_wasm_bg.wasm +0 -0
package/package.json
CHANGED
package/pincel_wasm.d.ts
CHANGED
|
@@ -681,6 +681,15 @@ export class Document {
|
|
|
681
681
|
* selected).
|
|
682
682
|
*/
|
|
683
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;
|
|
684
693
|
/**
|
|
685
694
|
* Blend mode name of the named layer (`"normal"`, `"multiply"`, …),
|
|
686
695
|
* or `"normal"` when the layer is unknown.
|
|
@@ -877,6 +886,12 @@ export class Document {
|
|
|
877
886
|
* [`Document::compose`].
|
|
878
887
|
*/
|
|
879
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;
|
|
880
895
|
/**
|
|
881
896
|
* Composite the current frame at `zoom` as it would look after
|
|
882
897
|
* [`Document::draw_text`] with the same arguments, without touching
|
|
@@ -893,6 +908,10 @@ export class Document {
|
|
|
893
908
|
* [`Document::undo`].
|
|
894
909
|
*/
|
|
895
910
|
redo(): boolean;
|
|
911
|
+
/**
|
|
912
|
+
* The kind ids of the redo steps, in the order Redo restores them.
|
|
913
|
+
*/
|
|
914
|
+
redoKinds(): string[];
|
|
896
915
|
/**
|
|
897
916
|
* Remove `frame`, shifting later cels, tags and slice keys down (see
|
|
898
917
|
* `pincel_core::RemoveFrame`). The current frame is clamped into the
|
|
@@ -948,6 +967,25 @@ export class Document {
|
|
|
948
967
|
* the new frame is dropped (undo restores it). Clears the selection.
|
|
949
968
|
*/
|
|
950
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;
|
|
951
989
|
/**
|
|
952
990
|
* Serialize this document to an Aseprite v1.3 byte vector.
|
|
953
991
|
*
|
|
@@ -1080,6 +1118,14 @@ export class Document {
|
|
|
1080
1118
|
* the undo stack in the M7.8 slice (see spec §5.2).
|
|
1081
1119
|
*/
|
|
1082
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;
|
|
1083
1129
|
/**
|
|
1084
1130
|
* Upsert a per-frame [`SliceKey`] on the named slice. If the
|
|
1085
1131
|
* slice already carries a key for `frame`, the existing key is
|
|
@@ -1253,6 +1299,21 @@ export class Document {
|
|
|
1253
1299
|
* interpolated linearly between consecutive points.
|
|
1254
1300
|
*/
|
|
1255
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;
|
|
1256
1317
|
/**
|
|
1257
1318
|
* Display color of the tag at `index`, packed `0xRRGGBBAA`.
|
|
1258
1319
|
*/
|
|
@@ -1349,6 +1410,10 @@ export class Document {
|
|
|
1349
1410
|
* follow-up).
|
|
1350
1411
|
*/
|
|
1351
1412
|
undo(): boolean;
|
|
1413
|
+
/**
|
|
1414
|
+
* The kind ids of the undo steps, oldest first.
|
|
1415
|
+
*/
|
|
1416
|
+
undoKinds(): string[];
|
|
1352
1417
|
/**
|
|
1353
1418
|
* A [`Vectorizer`] over `frame` composed like
|
|
1354
1419
|
* [`exportPng`](Document::export_png): zoom 1, visible layers, no onion
|
|
@@ -1393,6 +1458,15 @@ export class Document {
|
|
|
1393
1458
|
* Canvas height in pixels.
|
|
1394
1459
|
*/
|
|
1395
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;
|
|
1396
1470
|
/**
|
|
1397
1471
|
* Number of layers in the document, including invisible ones.
|
|
1398
1472
|
*/
|
|
@@ -1563,6 +1637,12 @@ export function blendModeNames(): string[];
|
|
|
1563
1637
|
*/
|
|
1564
1638
|
export function effectNames(): string[];
|
|
1565
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
|
+
|
|
1566
1646
|
/**
|
|
1567
1647
|
* Number of [`Document`]s alive in this module (created and not yet
|
|
1568
1648
|
* freed). A diagnostic: tests check that closing a tab frees its document
|
|
@@ -1594,83 +1674,162 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
1594
1674
|
|
|
1595
1675
|
export interface InitOutput {
|
|
1596
1676
|
readonly memory: WebAssembly.Memory;
|
|
1677
|
+
readonly __wbg_animationinfo_free: (a: number, b: number) => void;
|
|
1597
1678
|
readonly __wbg_atlasexport_free: (a: number, b: number) => void;
|
|
1598
1679
|
readonly __wbg_composeframe_free: (a: number, b: number) => void;
|
|
1599
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;
|
|
1600
1688
|
readonly atlasexport_data: (a: number) => [number, number];
|
|
1601
1689
|
readonly atlasexport_manifest: (a: number) => [number, number];
|
|
1602
1690
|
readonly atlasexport_png: (a: number) => [number, number];
|
|
1691
|
+
readonly blendModeNames: () => [number, number];
|
|
1603
1692
|
readonly composeframe_dirtyX: (a: number) => number;
|
|
1604
1693
|
readonly composeframe_dirtyY: (a: number) => number;
|
|
1605
1694
|
readonly composeframe_height: (a: number) => number;
|
|
1606
1695
|
readonly composeframe_pixels: (a: number) => [number, number];
|
|
1607
1696
|
readonly composeframe_width: (a: number) => number;
|
|
1608
1697
|
readonly document_addFrame: (a: number, b: number) => [number, number, number];
|
|
1698
|
+
readonly document_addGroup: (a: number, b: number, c: number) => [number, number, number];
|
|
1609
1699
|
readonly document_addLayer: (a: number, b: number, c: number) => [number, number, number];
|
|
1610
1700
|
readonly document_addPaletteEntry: (a: number, b: number) => [number, number, number];
|
|
1611
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];
|
|
1612
1703
|
readonly document_addTile: (a: number, b: number) => [number, number, number];
|
|
1613
1704
|
readonly document_addTilemapLayer: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1614
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];
|
|
1615
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];
|
|
1616
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];
|
|
1617
1711
|
readonly document_applyLine: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
1618
1712
|
readonly document_applyMoveSelection: (a: number, b: number, c: number) => [number, number];
|
|
1619
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];
|
|
1620
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];
|
|
1621
1718
|
readonly document_clearSelection: (a: number) => void;
|
|
1622
1719
|
readonly document_compose: (a: number, b: number, c: number) => [number, number, number];
|
|
1623
1720
|
readonly document_composeDirty: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
1624
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];
|
|
1625
1725
|
readonly document_currentFrame: (a: number) => number;
|
|
1726
|
+
readonly document_cutSelection: (a: number) => [number, number, number];
|
|
1626
1727
|
readonly document_deleteSelection: (a: number) => [number, number, number];
|
|
1627
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];
|
|
1628
1731
|
readonly document_endStroke: (a: number) => void;
|
|
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];
|
|
1629
1734
|
readonly document_exportAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number];
|
|
1630
1735
|
readonly document_exportGpl: (a: number, b: number, c: number) => [number, number];
|
|
1631
1736
|
readonly document_exportPalette: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1632
1737
|
readonly document_exportPng: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1738
|
+
readonly document_flattenImage: (a: number) => [number, number, number];
|
|
1633
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;
|
|
1634
1745
|
readonly document_hasSelection: (a: number) => number;
|
|
1635
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];
|
|
1636
1750
|
readonly document_importGpl: (a: number, b: number, c: number) => [number, number, number];
|
|
1637
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];
|
|
1638
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;
|
|
1639
1759
|
readonly document_layerIdAt: (a: number, b: number) => [number, number, number];
|
|
1640
1760
|
readonly document_layerKind: (a: number, b: number) => [number, number];
|
|
1761
|
+
readonly document_layerLocked: (a: number, b: number) => number;
|
|
1641
1762
|
readonly document_layerName: (a: number, b: number) => [number, number];
|
|
1642
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];
|
|
1643
1766
|
readonly document_layerTilesetId: (a: number, b: number) => number;
|
|
1644
1767
|
readonly document_layerVisible: (a: number, b: number) => number;
|
|
1768
|
+
readonly document_mergeDown: (a: number, b: number) => [number, number];
|
|
1645
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];
|
|
1646
1771
|
readonly document_moveLayerUp: (a: number, b: number) => [number, number];
|
|
1647
1772
|
readonly document_movePaletteEntry: (a: number, b: number, c: number) => [number, number];
|
|
1648
1773
|
readonly document_new: (a: number, b: number) => [number, number, number];
|
|
1774
|
+
readonly document_onionSkinEnabled: (a: number) => number;
|
|
1649
1775
|
readonly document_openAseprite: (a: number, b: number) => [number, number, number];
|
|
1776
|
+
readonly document_openPng: (a: number, b: number) => [number, number, number];
|
|
1650
1777
|
readonly document_paintTargetLayer: (a: number) => number;
|
|
1651
1778
|
readonly document_paletteColor: (a: number, b: number) => [number, number, number];
|
|
1652
1779
|
readonly document_paletteCount: (a: number) => number;
|
|
1653
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];
|
|
1654
1782
|
readonly document_pickColor: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1655
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];
|
|
1656
1787
|
readonly document_redo: (a: number) => [number, number, number];
|
|
1657
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];
|
|
1658
1791
|
readonly document_removeLayer: (a: number, b: number) => [number, number];
|
|
1659
1792
|
readonly document_removePaletteEntry: (a: number, b: number) => [number, number];
|
|
1660
1793
|
readonly document_removeSlice: (a: number, b: number) => [number, number];
|
|
1794
|
+
readonly document_removeTag: (a: number, b: number) => [number, number];
|
|
1661
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;
|
|
1662
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];
|
|
1663
1808
|
readonly document_selectionHeight: (a: number) => number;
|
|
1809
|
+
readonly document_selectionIsRect: (a: number) => number;
|
|
1810
|
+
readonly document_selectionMask: (a: number) => [number, number];
|
|
1664
1811
|
readonly document_selectionWidth: (a: number) => number;
|
|
1665
1812
|
readonly document_selectionX: (a: number) => number;
|
|
1666
1813
|
readonly document_selectionY: (a: number) => number;
|
|
1667
1814
|
readonly document_setActiveLayer: (a: number, b: number) => void;
|
|
1668
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];
|
|
1669
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;
|
|
1670
1823
|
readonly document_setPaletteColor: (a: number, b: number, c: number) => [number, number];
|
|
1671
1824
|
readonly document_setPalettePreset: (a: number, b: number, c: number) => [number, number];
|
|
1672
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];
|
|
1673
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];
|
|
1674
1833
|
readonly document_setTilePixel: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
1675
1834
|
readonly document_sliceColor: (a: number, b: number) => number;
|
|
1676
1835
|
readonly document_sliceCount: (a: number) => number;
|
|
@@ -1690,6 +1849,14 @@ export interface InitOutput {
|
|
|
1690
1849
|
readonly document_sliceKeyX: (a: number, b: number, c: number) => [number, number, number];
|
|
1691
1850
|
readonly document_sliceKeyY: (a: number, b: number, c: number) => [number, number, number];
|
|
1692
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];
|
|
1693
1860
|
readonly document_tilePixels: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1694
1861
|
readonly document_tilesetCount: (a: number) => number;
|
|
1695
1862
|
readonly document_tilesetIdAt: (a: number, b: number) => [number, number, number];
|
|
@@ -1697,111 +1864,36 @@ export interface InitOutput {
|
|
|
1697
1864
|
readonly document_tilesetTileCount: (a: number, b: number) => number;
|
|
1698
1865
|
readonly document_tilesetTileHeight: (a: number, b: number) => number;
|
|
1699
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];
|
|
1700
1869
|
readonly document_undo: (a: number) => number;
|
|
1701
1870
|
readonly document_undoDepth: (a: number) => number;
|
|
1702
|
-
readonly
|
|
1703
|
-
readonly palettePresetNames: () => [number, number];
|
|
1704
|
-
readonly openDocumentCount: () => number;
|
|
1705
|
-
readonly document_contractSelection: (a: number, b: number) => void;
|
|
1706
|
-
readonly document_expandSelection: (a: number, b: number) => void;
|
|
1707
|
-
readonly document_importPngAsLayer: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1708
|
-
readonly document_invertSelection: (a: number) => void;
|
|
1709
|
-
readonly document_openPng: (a: number, b: number) => [number, number, number];
|
|
1710
|
-
readonly document_selectAll: (a: number) => void;
|
|
1711
|
-
readonly document_selectEllipse: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
1712
|
-
readonly document_selectPolygon: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1713
|
-
readonly document_selectRect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
1714
|
-
readonly document_selectWand: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
|
|
1715
|
-
readonly document_selectionIsRect: (a: number) => number;
|
|
1716
|
-
readonly document_selectionMask: (a: number) => [number, number];
|
|
1717
|
-
readonly __wbg_vectorizer_free: (a: number, b: number) => void;
|
|
1718
|
-
readonly __wbg_vectorizeresult_free: (a: number, b: number) => void;
|
|
1719
|
-
readonly document_addTag: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1720
|
-
readonly document_applyEffect: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
1721
|
-
readonly document_applyGradient: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
|
|
1722
|
-
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];
|
|
1723
|
-
readonly document_frameDuration: (a: number, b: number) => [number, number, number];
|
|
1724
|
-
readonly document_gridHeight: (a: number) => number;
|
|
1725
|
-
readonly document_gridWidth: (a: number) => number;
|
|
1726
|
-
readonly document_gridX: (a: number) => number;
|
|
1727
|
-
readonly document_gridY: (a: number) => number;
|
|
1728
|
-
readonly document_onionSkinEnabled: (a: number) => number;
|
|
1729
|
-
readonly document_previewEffect: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
1730
|
-
readonly document_removeFrame: (a: number, b: number) => [number, number];
|
|
1731
|
-
readonly document_removeTag: (a: number, b: number) => [number, number];
|
|
1732
|
-
readonly document_setFrameDuration: (a: number, b: number, c: number) => [number, number];
|
|
1733
|
-
readonly document_setGrid: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1734
|
-
readonly document_setOnionSkin: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1735
|
-
readonly document_setTagDirection: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1736
|
-
readonly document_setTagName: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1737
|
-
readonly document_setTagRange: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1738
|
-
readonly document_tagColor: (a: number, b: number) => [number, number, number];
|
|
1739
|
-
readonly document_tagCount: (a: number) => number;
|
|
1740
|
-
readonly document_tagDirection: (a: number, b: number) => [number, number, number, number];
|
|
1741
|
-
readonly document_tagFrom: (a: number, b: number) => [number, number, number];
|
|
1742
|
-
readonly document_tagName: (a: number, b: number) => [number, number, number, number];
|
|
1743
|
-
readonly document_tagTo: (a: number, b: number) => [number, number, number];
|
|
1871
|
+
readonly document_undoKinds: (a: number) => [number, number];
|
|
1744
1872
|
readonly document_vectorizer: (a: number, b: number) => [number, number, number];
|
|
1873
|
+
readonly document_width: (a: number) => number;
|
|
1745
1874
|
readonly effectNames: () => [number, number];
|
|
1746
|
-
readonly vectorizer_trace: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1747
|
-
readonly vectorizeresult_layers: (a: number) => number;
|
|
1748
|
-
readonly vectorizeresult_outlines: (a: number) => number;
|
|
1749
|
-
readonly vectorizeresult_svg: (a: number) => [number, number];
|
|
1750
|
-
readonly vectorizeresult_threshold: (a: number) => number;
|
|
1751
|
-
readonly __wbg_animationinfo_free: (a: number, b: number) => void;
|
|
1752
|
-
readonly animationinfo_defaultLoops: (a: number) => number;
|
|
1753
|
-
readonly animationinfo_frameCount: (a: number) => number;
|
|
1754
|
-
readonly animationinfo_gifApproximated: (a: number) => number;
|
|
1755
|
-
readonly animationinfo_semiTransparent: (a: number) => number;
|
|
1756
|
-
readonly document_animationInfo: (a: number, b: number, c: number) => [number, number, number];
|
|
1757
|
-
readonly document_exportAnimation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1758
|
-
readonly __wbg_event_free: (a: number, b: number) => void;
|
|
1759
1875
|
readonly event_frame: (a: number) => number;
|
|
1760
|
-
readonly event_height: (a: number) => number;
|
|
1761
1876
|
readonly event_kind: (a: number) => [number, number];
|
|
1762
|
-
readonly event_layer: (a: number) => number;
|
|
1763
|
-
readonly event_width: (a: number) => number;
|
|
1764
1877
|
readonly event_x: (a: number) => number;
|
|
1765
|
-
readonly
|
|
1766
|
-
readonly
|
|
1767
|
-
readonly document_addGroup: (a: number, b: number, c: number) => [number, number, number];
|
|
1768
|
-
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];
|
|
1769
|
-
readonly document_duplicateLayer: (a: number, b: number) => [number, number, number];
|
|
1770
|
-
readonly document_flattenImage: (a: number) => [number, number, number];
|
|
1771
|
-
readonly document_layerBlendMode: (a: number, b: number) => [number, number];
|
|
1772
|
-
readonly document_layerDepth: (a: number, b: number) => number;
|
|
1773
|
-
readonly document_layerEditable: (a: number, b: number) => number;
|
|
1774
|
-
readonly document_layerLocked: (a: number, b: number) => number;
|
|
1775
|
-
readonly document_layerParent: (a: number, b: number) => number;
|
|
1776
|
-
readonly document_layerThumbnail: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1777
|
-
readonly document_mergeDown: (a: number, b: number) => [number, number];
|
|
1778
|
-
readonly document_moveLayerTo: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1779
|
-
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];
|
|
1780
|
-
readonly document_reorderLayer: (a: number, b: number, c: number) => [number, number];
|
|
1781
|
-
readonly document_setLayerBlendMode: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1782
|
-
readonly document_setLayerEditable: (a: number, b: number, c: number) => [number, number];
|
|
1783
|
-
readonly document_setLayerOpacity: (a: number, b: number, c: number) => [number, number];
|
|
1878
|
+
readonly historyKindIds: () => [number, number];
|
|
1879
|
+
readonly palettePresetNames: () => [number, number];
|
|
1784
1880
|
readonly registerFont: (a: number, b: number) => number;
|
|
1785
|
-
readonly
|
|
1786
|
-
readonly
|
|
1787
|
-
readonly document_setStrokeMirror: (a: number, b: number, c: number) => [number, number];
|
|
1788
|
-
readonly document_setStrokeWrap: (a: number, b: number, c: number) => [number, number];
|
|
1789
|
-
readonly document_strokeTo: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1790
|
-
readonly __wbg_copiedimage_free: (a: number, b: number) => void;
|
|
1881
|
+
readonly vectorizer_trace: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
1882
|
+
readonly vectorizeresult_svg: (a: number) => [number, number];
|
|
1791
1883
|
readonly copiedimage_height: (a: number) => number;
|
|
1792
|
-
readonly copiedimage_png: (a: number) => [number, number];
|
|
1793
1884
|
readonly copiedimage_width: (a: number) => number;
|
|
1794
1885
|
readonly copiedimage_x: (a: number) => number;
|
|
1795
1886
|
readonly copiedimage_y: (a: number) => number;
|
|
1796
|
-
readonly
|
|
1797
|
-
readonly
|
|
1798
|
-
readonly
|
|
1799
|
-
readonly
|
|
1800
|
-
readonly
|
|
1801
|
-
readonly
|
|
1802
|
-
readonly
|
|
1803
|
-
readonly
|
|
1804
|
-
readonly
|
|
1887
|
+
readonly event_height: (a: number) => number;
|
|
1888
|
+
readonly event_layer: (a: number) => number;
|
|
1889
|
+
readonly event_width: (a: number) => number;
|
|
1890
|
+
readonly event_y: (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;
|
|
1805
1897
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
1806
1898
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
1807
1899
|
readonly __externref_drop_slice: (a: number, b: number) => void;
|
package/pincel_wasm.js
CHANGED
|
@@ -1307,6 +1307,23 @@ export class Document {
|
|
|
1307
1307
|
const ret = wasm.document_height(this.__wbg_ptr);
|
|
1308
1308
|
return ret >>> 0;
|
|
1309
1309
|
}
|
|
1310
|
+
/**
|
|
1311
|
+
* `true` once the 100-step cap has dropped a step from the history.
|
|
1312
|
+
* @returns {boolean}
|
|
1313
|
+
*/
|
|
1314
|
+
get historyDropped() {
|
|
1315
|
+
const ret = wasm.document_historyDropped(this.__wbg_ptr);
|
|
1316
|
+
return ret !== 0;
|
|
1317
|
+
}
|
|
1318
|
+
/**
|
|
1319
|
+
* Changes whenever the list of steps changes, so the UI re-reads
|
|
1320
|
+
* [`Document::undo_kinds`] / [`Document::redo_kinds`] only then.
|
|
1321
|
+
* @returns {number}
|
|
1322
|
+
*/
|
|
1323
|
+
get historyRevision() {
|
|
1324
|
+
const ret = wasm.document_historyRevision(this.__wbg_ptr);
|
|
1325
|
+
return ret >>> 0;
|
|
1326
|
+
}
|
|
1310
1327
|
/**
|
|
1311
1328
|
* Clipboard identity of encoded PNG `bytes`: size plus a hash of the
|
|
1312
1329
|
* decoded pixels, equal for two encodings of the same image. Tells
|
|
@@ -1400,6 +1417,23 @@ export class Document {
|
|
|
1400
1417
|
invertSelection() {
|
|
1401
1418
|
wasm.document_invertSelection(this.__wbg_ptr);
|
|
1402
1419
|
}
|
|
1420
|
+
/**
|
|
1421
|
+
* Undo (`delta < 0`) or redo (`delta > 0`) `|delta|` steps in one
|
|
1422
|
+
* call, as that many `undo` / `redo` calls would, and queue one dirty
|
|
1423
|
+
* event for the result. Returns the steps moved. When a redo fails the
|
|
1424
|
+
* document stays at the last state reached, the failed step stays
|
|
1425
|
+
* redoable, and the error is returned (`docs/specs/history-panel.md`
|
|
1426
|
+
* AC-05, AC-12, AC-13).
|
|
1427
|
+
* @param {number} delta
|
|
1428
|
+
* @returns {number}
|
|
1429
|
+
*/
|
|
1430
|
+
jumpHistory(delta) {
|
|
1431
|
+
const ret = wasm.document_jumpHistory(this.__wbg_ptr, delta);
|
|
1432
|
+
if (ret[2]) {
|
|
1433
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
1434
|
+
}
|
|
1435
|
+
return ret[0] >>> 0;
|
|
1436
|
+
}
|
|
1403
1437
|
/**
|
|
1404
1438
|
* Blend mode name of the named layer (`"normal"`, `"multiply"`, …),
|
|
1405
1439
|
* or `"normal"` when the layer is unknown.
|
|
@@ -1857,6 +1891,24 @@ export class Document {
|
|
|
1857
1891
|
}
|
|
1858
1892
|
return ComposeFrame.__wrap(ret[0]);
|
|
1859
1893
|
}
|
|
1894
|
+
/**
|
|
1895
|
+
* The composite as `rotateLayer(angle, method)` would leave it,
|
|
1896
|
+
* without touching the document or the undo stack. With nothing to
|
|
1897
|
+
* rotate it shows the document unchanged.
|
|
1898
|
+
* @param {number} angle
|
|
1899
|
+
* @param {string} method
|
|
1900
|
+
* @param {number} zoom
|
|
1901
|
+
* @returns {ComposeFrame}
|
|
1902
|
+
*/
|
|
1903
|
+
previewRotate(angle, method, zoom) {
|
|
1904
|
+
const ptr0 = passStringToWasm0(method, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1905
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1906
|
+
const ret = wasm.document_previewRotate(this.__wbg_ptr, angle, ptr0, len0, zoom);
|
|
1907
|
+
if (ret[2]) {
|
|
1908
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
1909
|
+
}
|
|
1910
|
+
return ComposeFrame.__wrap(ret[0]);
|
|
1911
|
+
}
|
|
1860
1912
|
/**
|
|
1861
1913
|
* Composite the current frame at `zoom` as it would look after
|
|
1862
1914
|
* [`Document::draw_text`] with the same arguments, without touching
|
|
@@ -1910,6 +1962,16 @@ export class Document {
|
|
|
1910
1962
|
const ret = wasm.document_redoDepth(this.__wbg_ptr);
|
|
1911
1963
|
return ret >>> 0;
|
|
1912
1964
|
}
|
|
1965
|
+
/**
|
|
1966
|
+
* The kind ids of the redo steps, in the order Redo restores them.
|
|
1967
|
+
* @returns {string[]}
|
|
1968
|
+
*/
|
|
1969
|
+
redoKinds() {
|
|
1970
|
+
const ret = wasm.document_redoKinds(this.__wbg_ptr);
|
|
1971
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
1972
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
1973
|
+
return v1;
|
|
1974
|
+
}
|
|
1913
1975
|
/**
|
|
1914
1976
|
* Remove `frame`, shifting later cels, tags and slice keys down (see
|
|
1915
1977
|
* `pincel_core::RemoveFrame`). The current frame is clamped into the
|
|
@@ -2021,6 +2083,46 @@ export class Document {
|
|
|
2021
2083
|
throw takeFromExternrefTable0(ret[0]);
|
|
2022
2084
|
}
|
|
2023
2085
|
}
|
|
2086
|
+
/**
|
|
2087
|
+
* `[width, height]` of what `rotateLayer` would turn — the selection
|
|
2088
|
+
* box, or the bounding box of the cel's visible pixels — or an empty
|
|
2089
|
+
* array when there is nothing to rotate.
|
|
2090
|
+
* @returns {Uint32Array}
|
|
2091
|
+
*/
|
|
2092
|
+
rotateInputSize() {
|
|
2093
|
+
const ret = wasm.document_rotateInputSize(this.__wbg_ptr);
|
|
2094
|
+
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
2095
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
2096
|
+
return v1;
|
|
2097
|
+
}
|
|
2098
|
+
/**
|
|
2099
|
+
* Rotate the active layer's cel at the current frame clockwise by
|
|
2100
|
+
* `angle` degrees with `method` (`nearest` or `rotsprite`); with a
|
|
2101
|
+
* selection only its content turns. The cel grows to hold the
|
|
2102
|
+
* result. One undo entry. `Ok(false)` when there is nothing visible
|
|
2103
|
+
* to rotate (nothing changes); errors on a locked layer, an unknown
|
|
2104
|
+
* method or a RotSprite input over [`Document::rotsprite_max_side`].
|
|
2105
|
+
* @param {number} angle
|
|
2106
|
+
* @param {string} method
|
|
2107
|
+
* @returns {boolean}
|
|
2108
|
+
*/
|
|
2109
|
+
rotateLayer(angle, method) {
|
|
2110
|
+
const ptr0 = passStringToWasm0(method, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
2111
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2112
|
+
const ret = wasm.document_rotateLayer(this.__wbg_ptr, angle, ptr0, len0);
|
|
2113
|
+
if (ret[2]) {
|
|
2114
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
2115
|
+
}
|
|
2116
|
+
return ret[0] !== 0;
|
|
2117
|
+
}
|
|
2118
|
+
/**
|
|
2119
|
+
* Largest input width or height RotSprite accepts (512).
|
|
2120
|
+
* @returns {number}
|
|
2121
|
+
*/
|
|
2122
|
+
rotspriteMaxSide() {
|
|
2123
|
+
const ret = wasm.document_rotspriteMaxSide(this.__wbg_ptr);
|
|
2124
|
+
return ret >>> 0;
|
|
2125
|
+
}
|
|
2024
2126
|
/**
|
|
2025
2127
|
* Serialize this document to an Aseprite v1.3 byte vector.
|
|
2026
2128
|
*
|
|
@@ -2359,6 +2461,22 @@ export class Document {
|
|
|
2359
2461
|
setSelection(x, y, width, height) {
|
|
2360
2462
|
wasm.document_setSelection(this.__wbg_ptr, x, y, width, height);
|
|
2361
2463
|
}
|
|
2464
|
+
/**
|
|
2465
|
+
* Replace the selection with canvas-sized coverage bytes, as
|
|
2466
|
+
* `selectionMask` returns them (non-zero = selected). An empty array or
|
|
2467
|
+
* an all-zero mask clears the selection. Restores a selection the UI
|
|
2468
|
+
* saved earlier, e.g. for the Magic Wand link (pixel-selection-move
|
|
2469
|
+
* AC-25). Errors when the length isn't `width × height`.
|
|
2470
|
+
* @param {Uint8Array} mask
|
|
2471
|
+
*/
|
|
2472
|
+
setSelectionMask(mask) {
|
|
2473
|
+
const ptr0 = passArray8ToWasm0(mask, wasm.__wbindgen_malloc);
|
|
2474
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2475
|
+
const ret = wasm.document_setSelectionMask(this.__wbg_ptr, ptr0, len0);
|
|
2476
|
+
if (ret[1]) {
|
|
2477
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2362
2480
|
/**
|
|
2363
2481
|
* Upsert a per-frame [`SliceKey`] on the named slice. If the
|
|
2364
2482
|
* slice already carries a key for `frame`, the existing key is
|
|
@@ -2763,6 +2881,32 @@ export class Document {
|
|
|
2763
2881
|
throw takeFromExternrefTable0(ret[0]);
|
|
2764
2882
|
}
|
|
2765
2883
|
}
|
|
2884
|
+
/**
|
|
2885
|
+
* [`Self::stroke_to`] for several pointer samples at once — all
|
|
2886
|
+
* samples of one animation frame (`docs/specs/performance-input-path.md`).
|
|
2887
|
+
* Paints exactly what calling `strokeTo` once per point would, but
|
|
2888
|
+
* emits one `dirty-rect` covering the whole batch.
|
|
2889
|
+
*
|
|
2890
|
+
* - `xy`: the sprite-space points as `x0, y0, x1, y1, …`.
|
|
2891
|
+
* - `pressure`: empty for full pressure at every point, otherwise one
|
|
2892
|
+
* value per point (as `strokeTo`'s `pressure`).
|
|
2893
|
+
*
|
|
2894
|
+
* Errors for an odd `xy` length, a `pressure` length that is neither
|
|
2895
|
+
* zero nor the point count, or no stroke in progress; points before a
|
|
2896
|
+
* failing one stay painted.
|
|
2897
|
+
* @param {Int32Array} xy
|
|
2898
|
+
* @param {Float32Array} pressure
|
|
2899
|
+
*/
|
|
2900
|
+
strokeToBatch(xy, pressure) {
|
|
2901
|
+
const ptr0 = passArray32ToWasm0(xy, wasm.__wbindgen_malloc);
|
|
2902
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2903
|
+
const ptr1 = passArrayF32ToWasm0(pressure, wasm.__wbindgen_malloc);
|
|
2904
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2905
|
+
const ret = wasm.document_strokeToBatch(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
2906
|
+
if (ret[1]) {
|
|
2907
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
2908
|
+
}
|
|
2909
|
+
}
|
|
2766
2910
|
/**
|
|
2767
2911
|
* Display color of the tag at `index`, packed `0xRRGGBBAA`.
|
|
2768
2912
|
* @param {number} index
|
|
@@ -3012,6 +3156,16 @@ export class Document {
|
|
|
3012
3156
|
const ret = wasm.document_undoDepth(this.__wbg_ptr);
|
|
3013
3157
|
return ret >>> 0;
|
|
3014
3158
|
}
|
|
3159
|
+
/**
|
|
3160
|
+
* The kind ids of the undo steps, oldest first.
|
|
3161
|
+
* @returns {string[]}
|
|
3162
|
+
*/
|
|
3163
|
+
undoKinds() {
|
|
3164
|
+
const ret = wasm.document_undoKinds(this.__wbg_ptr);
|
|
3165
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
3166
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
3167
|
+
return v1;
|
|
3168
|
+
}
|
|
3015
3169
|
/**
|
|
3016
3170
|
* A [`Vectorizer`] over `frame` composed like
|
|
3017
3171
|
* [`exportPng`](Document::export_png): zoom 1, visible layers, no onion
|
|
@@ -3266,6 +3420,18 @@ export function effectNames() {
|
|
|
3266
3420
|
return v1;
|
|
3267
3421
|
}
|
|
3268
3422
|
|
|
3423
|
+
/**
|
|
3424
|
+
* Every history kind id the Pixel core reports, fixed kinds first, then
|
|
3425
|
+
* `effect.<name>` per effect (`docs/specs/history-panel.md` AC-15).
|
|
3426
|
+
* @returns {string[]}
|
|
3427
|
+
*/
|
|
3428
|
+
export function historyKindIds() {
|
|
3429
|
+
const ret = wasm.historyKindIds();
|
|
3430
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
3431
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
3432
|
+
return v1;
|
|
3433
|
+
}
|
|
3434
|
+
|
|
3269
3435
|
/**
|
|
3270
3436
|
* Number of [`Document`]s alive in this module (created and not yet
|
|
3271
3437
|
* freed). A diagnostic: tests check that closing a tab frees its document
|
|
@@ -3376,6 +3542,11 @@ function getArrayJsValueFromWasm0(ptr, len) {
|
|
|
3376
3542
|
return result;
|
|
3377
3543
|
}
|
|
3378
3544
|
|
|
3545
|
+
function getArrayU32FromWasm0(ptr, len) {
|
|
3546
|
+
ptr = ptr >>> 0;
|
|
3547
|
+
return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3379
3550
|
function getArrayU8FromWasm0(ptr, len) {
|
|
3380
3551
|
ptr = ptr >>> 0;
|
|
3381
3552
|
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
@@ -3389,6 +3560,14 @@ function getDataViewMemory0() {
|
|
|
3389
3560
|
return cachedDataViewMemory0;
|
|
3390
3561
|
}
|
|
3391
3562
|
|
|
3563
|
+
let cachedFloat32ArrayMemory0 = null;
|
|
3564
|
+
function getFloat32ArrayMemory0() {
|
|
3565
|
+
if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {
|
|
3566
|
+
cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);
|
|
3567
|
+
}
|
|
3568
|
+
return cachedFloat32ArrayMemory0;
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3392
3571
|
let cachedFloat64ArrayMemory0 = null;
|
|
3393
3572
|
function getFloat64ArrayMemory0() {
|
|
3394
3573
|
if (cachedFloat64ArrayMemory0 === null || cachedFloat64ArrayMemory0.byteLength === 0) {
|
|
@@ -3435,6 +3614,13 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
3435
3614
|
return ptr;
|
|
3436
3615
|
}
|
|
3437
3616
|
|
|
3617
|
+
function passArrayF32ToWasm0(arg, malloc) {
|
|
3618
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
3619
|
+
getFloat32ArrayMemory0().set(arg, ptr / 4);
|
|
3620
|
+
WASM_VECTOR_LEN = arg.length;
|
|
3621
|
+
return ptr;
|
|
3622
|
+
}
|
|
3623
|
+
|
|
3438
3624
|
function passArrayF64ToWasm0(arg, malloc) {
|
|
3439
3625
|
const ptr = malloc(arg.length * 8, 8) >>> 0;
|
|
3440
3626
|
getFloat64ArrayMemory0().set(arg, ptr / 8);
|
|
@@ -3520,6 +3706,7 @@ function __wbg_finalize_init(instance, module) {
|
|
|
3520
3706
|
wasm = instance.exports;
|
|
3521
3707
|
wasmModule = module;
|
|
3522
3708
|
cachedDataViewMemory0 = null;
|
|
3709
|
+
cachedFloat32ArrayMemory0 = null;
|
|
3523
3710
|
cachedFloat64ArrayMemory0 = null;
|
|
3524
3711
|
cachedUint32ArrayMemory0 = null;
|
|
3525
3712
|
cachedUint8ArrayMemory0 = null;
|
package/pincel_wasm_bg.wasm
CHANGED
|
Binary file
|