@pixerate/editor 0.117.0 → 0.119.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/THIRD_PARTY_NOTICES.md +3 -0
  2. package/dist/animation-editor/index.cjs +54 -54
  3. package/dist/animation-editor/index.d.cts +3 -3
  4. package/dist/animation-editor/index.d.ts +3 -3
  5. package/dist/animation-editor/index.js +2 -2
  6. package/dist/{chunk-2J3LS7JZ.cjs → chunk-4S2AXNQF.cjs} +221 -186
  7. package/dist/chunk-4S2AXNQF.cjs.map +1 -0
  8. package/dist/{chunk-7LNZAWSJ.js → chunk-CSHEI3YT.js} +625 -451
  9. package/dist/chunk-CSHEI3YT.js.map +1 -0
  10. package/dist/{chunk-M7O4BJRH.cjs → chunk-KGNUFO4T.cjs} +36 -36
  11. package/dist/{chunk-M7O4BJRH.cjs.map → chunk-KGNUFO4T.cjs.map} +1 -1
  12. package/dist/{chunk-R2JE6SA7.js → chunk-KZLQY4CD.js} +42 -7
  13. package/dist/chunk-KZLQY4CD.js.map +1 -0
  14. package/dist/{chunk-L2T6EJ5S.cjs → chunk-L3PXFMOF.cjs} +38 -25
  15. package/dist/chunk-L3PXFMOF.cjs.map +1 -0
  16. package/dist/{chunk-FODKPD44.cjs → chunk-LI3KTY7K.cjs} +724 -550
  17. package/dist/chunk-LI3KTY7K.cjs.map +1 -0
  18. package/dist/{chunk-IVSNUXW7.js → chunk-T7IZDNSL.js} +37 -24
  19. package/dist/chunk-T7IZDNSL.js.map +1 -0
  20. package/dist/{chunk-T2P5TIZ6.js → chunk-TDQDMBUR.js} +2 -2
  21. package/dist/{chunk-BYAWOAST.cjs → chunk-TS5IEUW6.cjs} +26 -25
  22. package/dist/chunk-TS5IEUW6.cjs.map +1 -0
  23. package/dist/{chunk-VD2UDVF7.js → chunk-UMVW2Q66.js} +21 -5
  24. package/dist/chunk-UMVW2Q66.js.map +1 -0
  25. package/dist/{chunk-EBSYZRSW.cjs → chunk-WMRIG4XQ.cjs} +21 -5
  26. package/dist/chunk-WMRIG4XQ.cjs.map +1 -0
  27. package/dist/{chunk-JHXMNOMF.js → chunk-YHW26LS2.js} +14 -13
  28. package/dist/chunk-YHW26LS2.js.map +1 -0
  29. package/dist/{export-DMOuzgZZ.d.cts → export-B_jO2PrH.d.cts} +18 -4
  30. package/dist/{export-Dul1SbPv.d.ts → export-Ds8Ccw0K.d.ts} +18 -4
  31. package/dist/{flow-4-OC-UkQ.d.cts → flow-A2Dj-69w.d.cts} +21 -9
  32. package/dist/{flow-Cb7lkPm8.d.ts → flow-C95atNoQ.d.ts} +21 -9
  33. package/dist/image-editor/index.cjs +1104 -979
  34. package/dist/image-editor/index.cjs.map +1 -1
  35. package/dist/image-editor/index.d.cts +5 -5
  36. package/dist/image-editor/index.d.ts +5 -5
  37. package/dist/image-editor/index.js +157 -32
  38. package/dist/image-editor/index.js.map +1 -1
  39. package/dist/paint/index.cjs +5 -3
  40. package/dist/paint/index.cjs.map +1 -1
  41. package/dist/paint/index.d.cts +2 -2
  42. package/dist/paint/index.d.ts +2 -2
  43. package/dist/paint/index.js +4 -2
  44. package/dist/paint-editor/index.cjs +147 -147
  45. package/dist/paint-editor/index.d.cts +4 -4
  46. package/dist/paint-editor/index.d.ts +4 -4
  47. package/dist/paint-editor/index.js +4 -4
  48. package/dist/raster/index.cjs +2 -2
  49. package/dist/raster/index.js +1 -1
  50. package/dist/{svg-DlEuhwoX.d.ts → svg-CTxrB5xO.d.ts} +5 -1
  51. package/dist/{svg-CVdFc80-.d.cts → svg-hK0WQc7-.d.cts} +5 -1
  52. package/dist/{types-Tfly4Aya.d.cts → types-Dq-8qgoo.d.cts} +45 -3
  53. package/dist/{types-CDLGhAZp.d.ts → types-TrSSh_RB.d.ts} +45 -3
  54. package/dist/vector/index.cjs +1535 -1164
  55. package/dist/vector/index.cjs.map +1 -1
  56. package/dist/vector/index.d.cts +127 -9
  57. package/dist/vector/index.d.ts +127 -9
  58. package/dist/vector/index.js +386 -15
  59. package/dist/vector/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/pixerate-image-editor/references/photoshop-files.md +9 -7
  62. package/skills/pixerate-vector/SKILL.md +13 -1
  63. package/skills/pixerate-vector/references/commands.md +1 -0
  64. package/dist/chunk-2J3LS7JZ.cjs.map +0 -1
  65. package/dist/chunk-7LNZAWSJ.js.map +0 -1
  66. package/dist/chunk-BYAWOAST.cjs.map +0 -1
  67. package/dist/chunk-EBSYZRSW.cjs.map +0 -1
  68. package/dist/chunk-FODKPD44.cjs.map +0 -1
  69. package/dist/chunk-IVSNUXW7.js.map +0 -1
  70. package/dist/chunk-JHXMNOMF.js.map +0 -1
  71. package/dist/chunk-L2T6EJ5S.cjs.map +0 -1
  72. package/dist/chunk-R2JE6SA7.js.map +0 -1
  73. package/dist/chunk-VD2UDVF7.js.map +0 -1
  74. /package/dist/{chunk-T2P5TIZ6.js.map → chunk-TDQDMBUR.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { a1 as RasterLayer, a0 as RasterGroupLayer, a5 as RasterPixelLayer, C as CompositorLayer, a as RasterCompositor, R as RasterSources, U as LayerLocks } from '../render-DnAbIKcs.cjs';
2
- import { D as Dab, C as CoverageMap, B as BrushSettings, e as StrokePoint, P as PaintTileTarget, T as TileMedium, M as MixerSettings, h as MixingModel, i as BlenderSettings, j as SmudgeSettings, a as MixerLoad, W as WetWorld, k as WetTilt, l as WetParams, m as WetFlowSpec, n as RgbTriple, o as WetWorldOptions, p as WetBackendInfo, q as WetSnapshot, r as WetPaperInput } from '../flow-4-OC-UkQ.cjs';
3
- export { s as DEFAULT_FLOW, t as DEFAULT_WET_PARAMS, u as MAX_BRUSH_SIZE, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, x as WetFlowKind, y as WetSupport, z as normalizeFlow, A as normalizeWetParams, E as wetSupport } from '../flow-4-OC-UkQ.cjs';
2
+ import { D as Dab, C as CoverageMap, B as BrushSettings, e as StrokePoint, P as PaintTileTarget, T as TileMedium, M as MixerSettings, h as MixingModel, i as BlenderSettings, j as SmudgeSettings, a as MixerLoad, W as WetWorld, k as WetTilt, l as WetParams, m as WetFlowSpec, n as RgbTriple, o as WetWorldOptions, p as WetBackendInfo, q as WetSnapshot, r as WetPaperInput } from '../flow-A2Dj-69w.cjs';
3
+ export { s as DEFAULT_FLOW, t as DEFAULT_WET_PARAMS, u as MAX_BRUSH_SIZE, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, x as WetFlowKind, y as WetSupport, z as normalizeFlow, A as normalizeWetParams, E as wetSupport } from '../flow-A2Dj-69w.cjs';
4
4
  import { R as RasterRect, j as TiledSurface, a as BlendMode, b as BlendModeInfo } from '../surface-Cn30xIV6.cjs';
5
5
  export { B as BLEND_MODES, P as PAINTERLY_BLEND_MODES, h as Tile, v as isBlendMode, w as isPainterlyBlendMode, I as standardBlendMode } from '../surface-Cn30xIV6.cjs';
6
- import { I as ImageEditorAssetStore, S as SerializedLayer, P as PsdExportResult } from '../export-DMOuzgZZ.cjs';
6
+ import { I as ImageEditorAssetStore, S as SerializedLayer, P as PsdExportResult } from '../export-B_jO2PrH.cjs';
7
7
  import { V as VideoProject, A as VideoFfmpegExport } from '../export-Dv0-ZVrV.cjs';
8
8
  import { g as PresenceStore, e as PresenceClock, d as PresenceActorInfo, c as PresenceActor, f as PresenceState } from '../presence-Cb6WhcrQ.cjs';
9
9
  import { a as AgentToolProvider, A as AgentTool } from '../registry-BqA1AZt0.cjs';
@@ -12,7 +12,7 @@ import '../builtin-CY97ppKM.cjs';
12
12
  import '../bezier-BfwIbVTl.cjs';
13
13
  import '../types-BFkYA4eF.cjs';
14
14
  import '../warp-B39VsOtd.cjs';
15
- import '../types-Tfly4Aya.cjs';
15
+ import '../types-Dq-8qgoo.cjs';
16
16
  import '../schema-Di0CS6Pe.cjs';
17
17
 
18
18
  /**
@@ -1,9 +1,9 @@
1
1
  import { a1 as RasterLayer, a0 as RasterGroupLayer, a5 as RasterPixelLayer, C as CompositorLayer, a as RasterCompositor, R as RasterSources, U as LayerLocks } from '../render-B05K68_h.js';
2
- import { D as Dab, C as CoverageMap, B as BrushSettings, e as StrokePoint, P as PaintTileTarget, T as TileMedium, M as MixerSettings, h as MixingModel, i as BlenderSettings, j as SmudgeSettings, a as MixerLoad, W as WetWorld, k as WetTilt, l as WetParams, m as WetFlowSpec, n as RgbTriple, o as WetWorldOptions, p as WetBackendInfo, q as WetSnapshot, r as WetPaperInput } from '../flow-Cb7lkPm8.js';
3
- export { s as DEFAULT_FLOW, t as DEFAULT_WET_PARAMS, u as MAX_BRUSH_SIZE, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, x as WetFlowKind, y as WetSupport, z as normalizeFlow, A as normalizeWetParams, E as wetSupport } from '../flow-Cb7lkPm8.js';
2
+ import { D as Dab, C as CoverageMap, B as BrushSettings, e as StrokePoint, P as PaintTileTarget, T as TileMedium, M as MixerSettings, h as MixingModel, i as BlenderSettings, j as SmudgeSettings, a as MixerLoad, W as WetWorld, k as WetTilt, l as WetParams, m as WetFlowSpec, n as RgbTriple, o as WetWorldOptions, p as WetBackendInfo, q as WetSnapshot, r as WetPaperInput } from '../flow-C95atNoQ.js';
3
+ export { s as DEFAULT_FLOW, t as DEFAULT_WET_PARAMS, u as MAX_BRUSH_SIZE, v as WET_FLOW_KINDS, w as WET_PARAM_KEYS, x as WetFlowKind, y as WetSupport, z as normalizeFlow, A as normalizeWetParams, E as wetSupport } from '../flow-C95atNoQ.js';
4
4
  import { R as RasterRect, j as TiledSurface, a as BlendMode, b as BlendModeInfo } from '../surface-Cn30xIV6.js';
5
5
  export { B as BLEND_MODES, P as PAINTERLY_BLEND_MODES, h as Tile, v as isBlendMode, w as isPainterlyBlendMode, I as standardBlendMode } from '../surface-Cn30xIV6.js';
6
- import { I as ImageEditorAssetStore, S as SerializedLayer, P as PsdExportResult } from '../export-Dul1SbPv.js';
6
+ import { I as ImageEditorAssetStore, S as SerializedLayer, P as PsdExportResult } from '../export-Ds8Ccw0K.js';
7
7
  import { V as VideoProject, A as VideoFfmpegExport } from '../export-Dv0-ZVrV.js';
8
8
  import { g as PresenceStore, e as PresenceClock, d as PresenceActorInfo, c as PresenceActor, f as PresenceState } from '../presence-Cb6WhcrQ.js';
9
9
  import { a as AgentToolProvider, A as AgentTool } from '../registry-D-4fit9C.js';
@@ -12,7 +12,7 @@ import '../builtin-CY97ppKM.js';
12
12
  import '../bezier-DYBvLgUH.js';
13
13
  import '../types-BFkYA4eF.js';
14
14
  import '../warp-DMN30aY6.js';
15
- import '../types-CDLGhAZp.js';
15
+ import '../types-TrSSh_RB.js';
16
16
  import '../schema-Di0CS6Pe.js';
17
17
 
18
18
  /**
@@ -7,7 +7,7 @@ import {
7
7
  resolveExternalAssets,
8
8
  serializeLayers,
9
9
  serializeLayersExternal
10
- } from "../chunk-R2JE6SA7.js";
10
+ } from "../chunk-KZLQY4CD.js";
11
11
  import {
12
12
  RasterCompositor,
13
13
  findLayer,
@@ -15,7 +15,7 @@ import {
15
15
  insertLayer,
16
16
  isLayerLocked,
17
17
  mapLayer
18
- } from "../chunk-VD2UDVF7.js";
18
+ } from "../chunk-UMVW2Q66.js";
19
19
  import {
20
20
  base64ToBytes,
21
21
  bytesToBase64,
@@ -68,7 +68,7 @@ import {
68
68
  pigmentOf,
69
69
  rasterizeDab,
70
70
  wetSupport
71
- } from "../chunk-IVSNUXW7.js";
71
+ } from "../chunk-T7IZDNSL.js";
72
72
  import {
73
73
  BLEND_MODES,
74
74
  PAINTERLY_BLEND_MODES,
@@ -102,7 +102,7 @@ import {
102
102
  realPresenceClock,
103
103
  tweenPresenceCursor
104
104
  } from "../chunk-B6DSIEXA.js";
105
- import "../chunk-7LNZAWSJ.js";
105
+ import "../chunk-CSHEI3YT.js";
106
106
  import "../chunk-YCSFS3GK.js";
107
107
  import "../chunk-33AHNSEB.js";
108
108
  import "../chunk-ZRJMJIQU.js";
@@ -61,7 +61,7 @@
61
61
 
62
62
 
63
63
 
64
- var _chunkEBSYZRSWcjs = require('../chunk-EBSYZRSW.cjs');
64
+ var _chunkWMRIG4XQcjs = require('../chunk-WMRIG4XQ.cjs');
65
65
 
66
66
 
67
67
 
@@ -285,5 +285,5 @@ var _chunk643B2HKCcjs = require('../chunk-643B2HKC.cjs');
285
285
 
286
286
 
287
287
 
288
- exports.BIT_DEPTHS = _chunk7ISPWEJAcjs.BIT_DEPTHS; exports.BLEND_MODES = _chunk7ISPWEJAcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkEBSYZRSWcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkEBSYZRSWcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkEBSYZRSWcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DeepCompositor = _chunkEBSYZRSWcjs.DeepCompositor; exports.INTERPOLATIONS = _chunkEBSYZRSWcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkEBSYZRSWcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkEBSYZRSWcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkEBSYZRSWcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkEBSYZRSWcjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunk7ISPWEJAcjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkEBSYZRSWcjs.PatternPlacement; exports.PatternTile = _chunkEBSYZRSWcjs.PatternTile; exports.RasterCompositor = _chunkEBSYZRSWcjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunk7ISPWEJAcjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkEBSYZRSWcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunk7ISPWEJAcjs.SurfaceDraft; exports.TILE = _chunk7ISPWEJAcjs.TILE; exports.TILE_SHIFT = _chunk7ISPWEJAcjs.TILE_SHIFT; exports.TiledSurface = _chunk7ISPWEJAcjs.TiledSurface; exports.TransformTooLargeError = _chunkEBSYZRSWcjs.TransformTooLargeError; exports.ZlibError = _chunk643B2HKCcjs.ZlibError; exports.activeEffectItems = _chunkEBSYZRSWcjs.activeEffectItems; exports.adler32 = _chunk643B2HKCcjs.adler32; exports.base64ToBytes = _chunkEJVDBITDcjs.base64ToBytes; exports.blendChannel = _chunk7ISPWEJAcjs.blendChannel; exports.blendImageData = _chunk7ISPWEJAcjs.blendImageData; exports.blendLum = _chunk7ISPWEJAcjs.blendLum; exports.blendPixel = _chunk7ISPWEJAcjs.blendPixel; exports.blendRgb = _chunk7ISPWEJAcjs.blendRgb; exports.blendTile = _chunkEBSYZRSWcjs.blendTile; exports.buildEffectMaps = _chunkEBSYZRSWcjs.buildEffectMaps; exports.builtinPattern = _chunkEBSYZRSWcjs.builtinPattern; exports.builtinPatternIds = _chunkEBSYZRSWcjs.builtinPatternIds; exports.bytesToBase64 = _chunkEJVDBITDcjs.bytesToBase64; exports.canvasCompositeOperation = _chunk7ISPWEJAcjs.canvasCompositeOperation; exports.changedTiles = _chunkEBSYZRSWcjs.changedTiles; exports.collectTiles = _chunk7ISPWEJAcjs.collectTiles; exports.compositeLayerEffects = _chunkEBSYZRSWcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkEBSYZRSWcjs.compositeSurfaceOver; exports.contentBounds = _chunk7ISPWEJAcjs.contentBounds; exports.contourLut = _chunkEBSYZRSWcjs.contourLut; exports.convertSurfaceDepth = _chunk7ISPWEJAcjs.convertSurfaceDepth; exports.curveLut = _chunkEBSYZRSWcjs.curveLut; exports.decodePng = _chunkEJVDBITDcjs.decodePng; exports.deepBytes = _chunk7ISPWEJAcjs.deepBytes; exports.deepTile = _chunk7ISPWEJAcjs.deepTile; exports.defaultEffectGradient = _chunkEBSYZRSWcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkEBSYZRSWcjs.defaultLayerEffect; exports.deflate = _chunk643B2HKCcjs.deflate; exports.deflateRaw = _chunk643B2HKCcjs.deflateRaw; exports.depthOf = _chunk7ISPWEJAcjs.depthOf; exports.effectColorHex = _chunkEBSYZRSWcjs.effectColorHex; exports.effectFillColors = _chunkEBSYZRSWcjs.effectFillColors; exports.effectReach = _chunkEBSYZRSWcjs.effectReach; exports.effectsAreLocal = _chunkEBSYZRSWcjs.effectsAreLocal; exports.effectsFingerprint = _chunkEBSYZRSWcjs.effectsFingerprint; exports.effectsMargin = _chunkEBSYZRSWcjs.effectsMargin; exports.effectsScale = _chunkEBSYZRSWcjs.effectsScale; exports.emptySurface = _chunk7ISPWEJAcjs.emptySurface; exports.encodePng = _chunkEJVDBITDcjs.encodePng; exports.fillRect = _chunk7ISPWEJAcjs.fillRect; exports.findLayer = _chunkEBSYZRSWcjs.findLayer; exports.finishTile = _chunk7ISPWEJAcjs.finishTile; exports.flattenLayers = _chunkEBSYZRSWcjs.flattenLayers; exports.gaussianBlur = _chunkEBSYZRSWcjs.gaussianBlur; exports.gradientT = _chunkEBSYZRSWcjs.gradientT; exports.hasActiveEffects = _chunkEBSYZRSWcjs.hasActiveEffects; exports.hashNoise = _chunkEBSYZRSWcjs.hashNoise; exports.inflate = _chunk643B2HKCcjs.inflate; exports.inflateRaw = _chunk643B2HKCcjs.inflateRaw; exports.insertLayer = _chunkEBSYZRSWcjs.insertLayer; exports.isBitDepth = _chunk7ISPWEJAcjs.isBitDepth; exports.isBlendMode = _chunk7ISPWEJAcjs.isBlendMode; exports.isInterpolation = _chunkEBSYZRSWcjs.isInterpolation; exports.isLayerEffectKind = _chunkEBSYZRSWcjs.isLayerEffectKind; exports.isLayerLocked = _chunkEBSYZRSWcjs.isLayerLocked; exports.isPainterlyBlendMode = _chunk7ISPWEJAcjs.isPainterlyBlendMode; exports.isPng = _chunkEJVDBITDcjs.isPng; exports.isSeparableBlendMode = _chunk7ISPWEJAcjs.isSeparableBlendMode; exports.keepDeepSamples = _chunk7ISPWEJAcjs.keepDeepSamples; exports.keysWeight = _chunkEBSYZRSWcjs.keysWeight; exports.layerEffectFields = _chunkEBSYZRSWcjs.layerEffectFields; exports.layerEffectLabel = _chunkEBSYZRSWcjs.layerEffectLabel; exports.mapLayer = _chunkEBSYZRSWcjs.mapLayer; exports.mergeLayerEffect = _chunkEBSYZRSWcjs.mergeLayerEffect; exports.mixPigment8 = _chunk7ISPWEJAcjs.mixPigment8; exports.mixPigmentRgb = _chunk7ISPWEJAcjs.mixPigmentRgb; exports.newEffectId = _chunkEBSYZRSWcjs.newEffectId; exports.normalizeBlendMode = _chunk7ISPWEJAcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkEBSYZRSWcjs.normalizeLayerEffects; exports.packRgba = _chunk7ISPWEJAcjs.packRgba; exports.parseDataUrl = _chunkEJVDBITDcjs.parseDataUrl; exports.parseEffectColor = _chunkEBSYZRSWcjs.parseEffectColor; exports.patchEffectMaps = _chunkEBSYZRSWcjs.patchEffectMaps; exports.pigment8 = _chunk7ISPWEJAcjs.pigment8; exports.pngDataUrl = _chunkEJVDBITDcjs.pngDataUrl; exports.proxyOf = _chunk7ISPWEJAcjs.proxyOf; exports.readDeepRegion = _chunk7ISPWEJAcjs.readDeepRegion; exports.readPixel = _chunk7ISPWEJAcjs.readPixel; exports.readRegion = _chunk7ISPWEJAcjs.readRegion; exports.reduceSurface = _chunkEBSYZRSWcjs.reduceSurface; exports.renderLayerEffects = _chunkEBSYZRSWcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkEBSYZRSWcjs.scaleLayerEffect; exports.setLum = _chunk7ISPWEJAcjs.setLum; exports.solidSurface = _chunk7ISPWEJAcjs.solidSurface; exports.srgbDecode = _chunk7ISPWEJAcjs.srgbDecode; exports.srgbEncode = _chunk7ISPWEJAcjs.srgbEncode; exports.standardBlendMode = _chunk7ISPWEJAcjs.standardBlendMode; exports.surfaceBytes = _chunk7ISPWEJAcjs.surfaceBytes; exports.surfaceDepth = _chunk7ISPWEJAcjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunk7ISPWEJAcjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk7ISPWEJAcjs.surfaceFromPixels; exports.surfacesEqual = _chunk7ISPWEJAcjs.surfacesEqual; exports.tileCoord = _chunk7ISPWEJAcjs.tileCoord; exports.tileKey = _chunk7ISPWEJAcjs.tileKey; exports.tileRect = _chunk7ISPWEJAcjs.tileRect; exports.tileSamples = _chunk7ISPWEJAcjs.tileSamples; exports.tileSamples16 = _chunk7ISPWEJAcjs.tileSamples16; exports.tileSamples32 = _chunk7ISPWEJAcjs.tileSamples32; exports.tilesInRect = _chunk7ISPWEJAcjs.tilesInRect; exports.to16From32 = _chunk7ISPWEJAcjs.to16From32; exports.to16From8 = _chunk7ISPWEJAcjs.to16From8; exports.to32From16 = _chunk7ISPWEJAcjs.to32From16; exports.to32From8 = _chunk7ISPWEJAcjs.to32From8; exports.to8From16 = _chunk7ISPWEJAcjs.to8From16; exports.to8From32 = _chunk7ISPWEJAcjs.to8From32; exports.transformSurface = _chunkEBSYZRSWcjs.transformSurface; exports.transformedBounds = _chunkEBSYZRSWcjs.transformedBounds; exports.translateSurface = _chunk7ISPWEJAcjs.translateSurface; exports.uniformTile = _chunk7ISPWEJAcjs.uniformTile; exports.validateEffectGradient = _chunkEBSYZRSWcjs.validateEffectGradient; exports.validateLayerEffect = _chunkEBSYZRSWcjs.validateLayerEffect; exports.validateLayerEffects = _chunkEBSYZRSWcjs.validateLayerEffects; exports.warpSurface = _chunkEBSYZRSWcjs.warpSurface; exports.workingToSamples = _chunkEBSYZRSWcjs.workingToSamples; exports.writeDeepRegion = _chunk7ISPWEJAcjs.writeDeepRegion; exports.writeRegion = _chunk7ISPWEJAcjs.writeRegion;
288
+ exports.BIT_DEPTHS = _chunk7ISPWEJAcjs.BIT_DEPTHS; exports.BLEND_MODES = _chunk7ISPWEJAcjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkWMRIG4XQcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkWMRIG4XQcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkWMRIG4XQcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DeepCompositor = _chunkWMRIG4XQcjs.DeepCompositor; exports.INTERPOLATIONS = _chunkWMRIG4XQcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkWMRIG4XQcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkWMRIG4XQcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkWMRIG4XQcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkWMRIG4XQcjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunk7ISPWEJAcjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkWMRIG4XQcjs.PatternPlacement; exports.PatternTile = _chunkWMRIG4XQcjs.PatternTile; exports.RasterCompositor = _chunkWMRIG4XQcjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunk7ISPWEJAcjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkWMRIG4XQcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunk7ISPWEJAcjs.SurfaceDraft; exports.TILE = _chunk7ISPWEJAcjs.TILE; exports.TILE_SHIFT = _chunk7ISPWEJAcjs.TILE_SHIFT; exports.TiledSurface = _chunk7ISPWEJAcjs.TiledSurface; exports.TransformTooLargeError = _chunkWMRIG4XQcjs.TransformTooLargeError; exports.ZlibError = _chunk643B2HKCcjs.ZlibError; exports.activeEffectItems = _chunkWMRIG4XQcjs.activeEffectItems; exports.adler32 = _chunk643B2HKCcjs.adler32; exports.base64ToBytes = _chunkEJVDBITDcjs.base64ToBytes; exports.blendChannel = _chunk7ISPWEJAcjs.blendChannel; exports.blendImageData = _chunk7ISPWEJAcjs.blendImageData; exports.blendLum = _chunk7ISPWEJAcjs.blendLum; exports.blendPixel = _chunk7ISPWEJAcjs.blendPixel; exports.blendRgb = _chunk7ISPWEJAcjs.blendRgb; exports.blendTile = _chunkWMRIG4XQcjs.blendTile; exports.buildEffectMaps = _chunkWMRIG4XQcjs.buildEffectMaps; exports.builtinPattern = _chunkWMRIG4XQcjs.builtinPattern; exports.builtinPatternIds = _chunkWMRIG4XQcjs.builtinPatternIds; exports.bytesToBase64 = _chunkEJVDBITDcjs.bytesToBase64; exports.canvasCompositeOperation = _chunk7ISPWEJAcjs.canvasCompositeOperation; exports.changedTiles = _chunkWMRIG4XQcjs.changedTiles; exports.collectTiles = _chunk7ISPWEJAcjs.collectTiles; exports.compositeLayerEffects = _chunkWMRIG4XQcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkWMRIG4XQcjs.compositeSurfaceOver; exports.contentBounds = _chunk7ISPWEJAcjs.contentBounds; exports.contourLut = _chunkWMRIG4XQcjs.contourLut; exports.convertSurfaceDepth = _chunk7ISPWEJAcjs.convertSurfaceDepth; exports.curveLut = _chunkWMRIG4XQcjs.curveLut; exports.decodePng = _chunkEJVDBITDcjs.decodePng; exports.deepBytes = _chunk7ISPWEJAcjs.deepBytes; exports.deepTile = _chunk7ISPWEJAcjs.deepTile; exports.defaultEffectGradient = _chunkWMRIG4XQcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkWMRIG4XQcjs.defaultLayerEffect; exports.deflate = _chunk643B2HKCcjs.deflate; exports.deflateRaw = _chunk643B2HKCcjs.deflateRaw; exports.depthOf = _chunk7ISPWEJAcjs.depthOf; exports.effectColorHex = _chunkWMRIG4XQcjs.effectColorHex; exports.effectFillColors = _chunkWMRIG4XQcjs.effectFillColors; exports.effectReach = _chunkWMRIG4XQcjs.effectReach; exports.effectsAreLocal = _chunkWMRIG4XQcjs.effectsAreLocal; exports.effectsFingerprint = _chunkWMRIG4XQcjs.effectsFingerprint; exports.effectsMargin = _chunkWMRIG4XQcjs.effectsMargin; exports.effectsScale = _chunkWMRIG4XQcjs.effectsScale; exports.emptySurface = _chunk7ISPWEJAcjs.emptySurface; exports.encodePng = _chunkEJVDBITDcjs.encodePng; exports.fillRect = _chunk7ISPWEJAcjs.fillRect; exports.findLayer = _chunkWMRIG4XQcjs.findLayer; exports.finishTile = _chunk7ISPWEJAcjs.finishTile; exports.flattenLayers = _chunkWMRIG4XQcjs.flattenLayers; exports.gaussianBlur = _chunkWMRIG4XQcjs.gaussianBlur; exports.gradientT = _chunkWMRIG4XQcjs.gradientT; exports.hasActiveEffects = _chunkWMRIG4XQcjs.hasActiveEffects; exports.hashNoise = _chunkWMRIG4XQcjs.hashNoise; exports.inflate = _chunk643B2HKCcjs.inflate; exports.inflateRaw = _chunk643B2HKCcjs.inflateRaw; exports.insertLayer = _chunkWMRIG4XQcjs.insertLayer; exports.isBitDepth = _chunk7ISPWEJAcjs.isBitDepth; exports.isBlendMode = _chunk7ISPWEJAcjs.isBlendMode; exports.isInterpolation = _chunkWMRIG4XQcjs.isInterpolation; exports.isLayerEffectKind = _chunkWMRIG4XQcjs.isLayerEffectKind; exports.isLayerLocked = _chunkWMRIG4XQcjs.isLayerLocked; exports.isPainterlyBlendMode = _chunk7ISPWEJAcjs.isPainterlyBlendMode; exports.isPng = _chunkEJVDBITDcjs.isPng; exports.isSeparableBlendMode = _chunk7ISPWEJAcjs.isSeparableBlendMode; exports.keepDeepSamples = _chunk7ISPWEJAcjs.keepDeepSamples; exports.keysWeight = _chunkWMRIG4XQcjs.keysWeight; exports.layerEffectFields = _chunkWMRIG4XQcjs.layerEffectFields; exports.layerEffectLabel = _chunkWMRIG4XQcjs.layerEffectLabel; exports.mapLayer = _chunkWMRIG4XQcjs.mapLayer; exports.mergeLayerEffect = _chunkWMRIG4XQcjs.mergeLayerEffect; exports.mixPigment8 = _chunk7ISPWEJAcjs.mixPigment8; exports.mixPigmentRgb = _chunk7ISPWEJAcjs.mixPigmentRgb; exports.newEffectId = _chunkWMRIG4XQcjs.newEffectId; exports.normalizeBlendMode = _chunk7ISPWEJAcjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkWMRIG4XQcjs.normalizeLayerEffects; exports.packRgba = _chunk7ISPWEJAcjs.packRgba; exports.parseDataUrl = _chunkEJVDBITDcjs.parseDataUrl; exports.parseEffectColor = _chunkWMRIG4XQcjs.parseEffectColor; exports.patchEffectMaps = _chunkWMRIG4XQcjs.patchEffectMaps; exports.pigment8 = _chunk7ISPWEJAcjs.pigment8; exports.pngDataUrl = _chunkEJVDBITDcjs.pngDataUrl; exports.proxyOf = _chunk7ISPWEJAcjs.proxyOf; exports.readDeepRegion = _chunk7ISPWEJAcjs.readDeepRegion; exports.readPixel = _chunk7ISPWEJAcjs.readPixel; exports.readRegion = _chunk7ISPWEJAcjs.readRegion; exports.reduceSurface = _chunkWMRIG4XQcjs.reduceSurface; exports.renderLayerEffects = _chunkWMRIG4XQcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkWMRIG4XQcjs.scaleLayerEffect; exports.setLum = _chunk7ISPWEJAcjs.setLum; exports.solidSurface = _chunk7ISPWEJAcjs.solidSurface; exports.srgbDecode = _chunk7ISPWEJAcjs.srgbDecode; exports.srgbEncode = _chunk7ISPWEJAcjs.srgbEncode; exports.standardBlendMode = _chunk7ISPWEJAcjs.standardBlendMode; exports.surfaceBytes = _chunk7ISPWEJAcjs.surfaceBytes; exports.surfaceDepth = _chunk7ISPWEJAcjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunk7ISPWEJAcjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk7ISPWEJAcjs.surfaceFromPixels; exports.surfacesEqual = _chunk7ISPWEJAcjs.surfacesEqual; exports.tileCoord = _chunk7ISPWEJAcjs.tileCoord; exports.tileKey = _chunk7ISPWEJAcjs.tileKey; exports.tileRect = _chunk7ISPWEJAcjs.tileRect; exports.tileSamples = _chunk7ISPWEJAcjs.tileSamples; exports.tileSamples16 = _chunk7ISPWEJAcjs.tileSamples16; exports.tileSamples32 = _chunk7ISPWEJAcjs.tileSamples32; exports.tilesInRect = _chunk7ISPWEJAcjs.tilesInRect; exports.to16From32 = _chunk7ISPWEJAcjs.to16From32; exports.to16From8 = _chunk7ISPWEJAcjs.to16From8; exports.to32From16 = _chunk7ISPWEJAcjs.to32From16; exports.to32From8 = _chunk7ISPWEJAcjs.to32From8; exports.to8From16 = _chunk7ISPWEJAcjs.to8From16; exports.to8From32 = _chunk7ISPWEJAcjs.to8From32; exports.transformSurface = _chunkWMRIG4XQcjs.transformSurface; exports.transformedBounds = _chunkWMRIG4XQcjs.transformedBounds; exports.translateSurface = _chunk7ISPWEJAcjs.translateSurface; exports.uniformTile = _chunk7ISPWEJAcjs.uniformTile; exports.validateEffectGradient = _chunkWMRIG4XQcjs.validateEffectGradient; exports.validateLayerEffect = _chunkWMRIG4XQcjs.validateLayerEffect; exports.validateLayerEffects = _chunkWMRIG4XQcjs.validateLayerEffects; exports.warpSurface = _chunkWMRIG4XQcjs.warpSurface; exports.workingToSamples = _chunkWMRIG4XQcjs.workingToSamples; exports.writeDeepRegion = _chunk7ISPWEJAcjs.writeDeepRegion; exports.writeRegion = _chunk7ISPWEJAcjs.writeRegion;
289
289
  //# sourceMappingURL=index.cjs.map
@@ -61,7 +61,7 @@ import {
61
61
  validateLayerEffects,
62
62
  warpSurface,
63
63
  workingToSamples
64
- } from "../chunk-VD2UDVF7.js";
64
+ } from "../chunk-UMVW2Q66.js";
65
65
  import {
66
66
  base64ToBytes,
67
67
  bytesToBase64,
@@ -1,5 +1,5 @@
1
1
  import { B as BezierPath, A as AffineMatrix, S as SvgGradientDef } from './bezier-DYBvLgUH.js';
2
- import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-CDLGhAZp.js';
2
+ import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-TrSSh_RB.js';
3
3
 
4
4
  /**
5
5
  * Live appearance: path effect stacks and live boolean groups, evaluated on demand while the
@@ -70,6 +70,10 @@ type VectorEffectParamSpec = {
70
70
  value: string;
71
71
  label: string;
72
72
  }[];
73
+ } | {
74
+ key: string;
75
+ label: string;
76
+ kind: 'color';
73
77
  };
74
78
  /** The editable parameters of each effect type, in panel order. */
75
79
  declare const VECTOR_EFFECT_PARAM_SPECS: Record<VectorEffectType, VectorEffectParamSpec[]>;
@@ -1,5 +1,5 @@
1
1
  import { B as BezierPath, A as AffineMatrix, S as SvgGradientDef } from './bezier-BfwIbVTl.cjs';
2
- import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-Tfly4Aya.cjs';
2
+ import { V as VectorEffectType, a as VectorEffectParamsMap, b as VectorPathNode, c as VectorFillRule, d as VectorBooleanOperation, e as VectorNode, f as VectorEffect, g as VectorGroupNode, h as VectorBounds, i as VectorWarpMesh, j as VectorInstanceNode, k as VectorFilterType, l as VectorFilterParamsMap, m as VectorFilter, n as VectorGradient, o as Vec2, p as VectorGradientUnits, q as VectorGradientSpread, r as VectorGradientType, s as VectorPaint, t as VectorMatrix, u as VectorGradientStop, v as VectorStrokeAlign, w as VectorSubpath, x as VectorDocument, y as VectorWidthPoint } from './types-Dq-8qgoo.cjs';
3
3
 
4
4
  /**
5
5
  * Live appearance: path effect stacks and live boolean groups, evaluated on demand while the
@@ -70,6 +70,10 @@ type VectorEffectParamSpec = {
70
70
  value: string;
71
71
  label: string;
72
72
  }[];
73
+ } | {
74
+ key: string;
75
+ label: string;
76
+ kind: 'color';
73
77
  };
74
78
  /** The editable parameters of each effect type, in panel order. */
75
79
  declare const VECTOR_EFFECT_PARAM_SPECS: Record<VectorEffectType, VectorEffectParamSpec[]>;
@@ -479,6 +479,31 @@ interface VectorGroupNode extends VectorNodeBase {
479
479
  * when resized. Ignored on blends, live booleans and mask groups.
480
480
  */
481
481
  frame?: VectorFrame | null;
482
+ /**
483
+ * Makes the group a live symmetry group: it draws its children and their mirrored (or rotated)
484
+ * copies, regenerated whenever a child changes. Ignored on blends, live booleans, mask groups
485
+ * and frames.
486
+ */
487
+ symmetry?: VectorSymmetry | null;
488
+ }
489
+ /**
490
+ * How a symmetry group repeats its children: mirrored across a `vertical`, `horizontal` or
491
+ * `diagonal` axis, across both axes (`dual`: four quarters), or `radial`ly round the centre
492
+ * (`copies` turns, each mirrored too with `mirror`, like a kaleidoscope).
493
+ */
494
+ type VectorSymmetryMode = 'vertical' | 'horizontal' | 'dual' | 'diagonal' | 'radial';
495
+ declare const VECTOR_SYMMETRY_MODES: readonly VectorSymmetryMode[];
496
+ /** A symmetry group's settings (`VectorGroupNode.symmetry`). */
497
+ interface VectorSymmetry {
498
+ mode: VectorSymmetryMode;
499
+ /** Where the axes cross (the group's own space). */
500
+ center: Vec2;
501
+ /** Turn of the axes, degrees clockwise (default 0). */
502
+ rotation?: number;
503
+ /** Radial: how many turns round the circle (2–64, default 6). */
504
+ copies?: number;
505
+ /** Radial: mirror each turn too (default false). */
506
+ mirror?: boolean;
482
507
  }
483
508
  /**
484
509
  * The character style of text (a font and how it is set). Sizes are document units; `tracking` is in
@@ -751,9 +776,10 @@ type VectorAverageAxis = 'horizontal' | 'vertical' | 'both';
751
776
  /**
752
777
  * Live path effects (After Effects' path operators): `trim` (Trim Paths), `roundCorners`,
753
778
  * `puckerBloat`, `twist`, `zigzag`, `wiggle` (Wiggle Paths), `offset` (Offset Paths), `merge`
754
- * (Merge Paths), `repeater` and `envelope` (an envelope distortion: a warp preset or a mesh).
779
+ * (Merge Paths), `repeater`, `envelope` (an envelope distortion: a warp preset or a mesh) and
780
+ * `contour` (CorelDRAW's Contour: concentric offset steps blending toward end colours).
755
781
  */
756
- type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope';
782
+ type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope' | 'contour';
757
783
  declare const VECTOR_EFFECT_TYPES: readonly VectorEffectType[];
758
784
  /** Warp presets (Photoshop's fifteen, in menu order); shared with the image editor (`src/geom`). */
759
785
  type VectorWarpStyle = WarpStyle;
@@ -855,6 +881,22 @@ interface VectorEffectParamsMap {
855
881
  * `mesh` (null: the flat mesh of `columns × rows` patches over the bounds). The bounds are
856
882
  * taken afresh each time, so editing the contents keeps the envelope.
857
883
  */
884
+ /**
885
+ * Contour: concentric copies of each shape offset `offset` apart, `steps` of them `inside`,
886
+ * `outside`, or `center` (inside until the shape is used up), their fill and stroke blending
887
+ * from the shape's own colours to `fillColor` / `strokeColor` (null keeps the colour).
888
+ * `acceleration` (−100…100) bunches the colour change toward the end (positive) or start.
889
+ */
890
+ contour: {
891
+ direction: 'inside' | 'outside' | 'center';
892
+ steps: number;
893
+ offset: number;
894
+ join: VectorLineJoin;
895
+ miterLimit: number;
896
+ fillColor: string | null;
897
+ strokeColor: string | null;
898
+ acceleration: number;
899
+ };
858
900
  envelope: {
859
901
  style: VectorWarpStyle | 'mesh';
860
902
  bend: number;
@@ -934,4 +976,4 @@ type VectorFilter = {
934
976
  };
935
977
  }[VectorFilterType];
936
978
 
937
- export { type VectorAlign as $, type VectorTextNode as A, type VectorAnchorType as B, type VectorCornerKind as C, type VectorViewport as D, type VectorConnectorRoute as E, type VectorConnectorSide as F, type VectorConnectorEnd as G, type VectorConnector as H, type VectorConstraintKind as I, type VectorConstraint as J, type VectorCharacterStyle as K, type VectorTextRun as L, type VectorParagraphStyle as M, type VectorTextFrame as N, type VectorTransformHandle as O, type VectorAnchorRef as P, type VectorPathfinderOperation as Q, type VectorTool as R, type VectorDefaults as S, type VectorTextAlign as T, type VectorStyle as U, type VectorEffectType as V, type VectorHandleRef as W, type VectorSegmentRef as X, type VectorBlendOptions as Y, type VectorModifiers as Z, type VectorBlendMode as _, type VectorEffectParamsMap as a, type VectorDistribute as a0, type VectorArrange as a1, type VectorMaskType as a2, type VectorFreeformPoint as a3, type VectorMeshGradient as a4, type VectorFreeformGradient as a5, type VectorArrowhead as a6, type VectorResizing as a7, type VectorFrame as a8, type VectorHorizontalResizing as a9, VECTOR_GRADIENT_SPREADS as aA, VECTOR_GRADIENT_TYPES as aB, VECTOR_HORIZONTAL_RESIZING as aC, VECTOR_MASK_TYPES as aD, VECTOR_MERGE_MODES as aE, VECTOR_PATHFINDER_OPERATIONS as aF, VECTOR_PATH_TEXT_BASELINES as aG, VECTOR_STROKE_GRADIENT_MODES as aH, VECTOR_TEXT_ALIGNS as aI, VECTOR_TOOLS as aJ, VECTOR_TRANSFORM_HANDLES as aK, VECTOR_VERTICAL_RESIZING as aL, type VectorCorner as aM, type VectorGeomRef as aN, type VectorLineCap as aO, type VectorPathTextBaseline as aP, type VectorStrokeLayerKind as aQ, type VectorTextRunStyle as aR, type VectorWarpStyle as aS, type VectorVerticalResizing as aa, type VectorMask as ab, type VectorAverageAxis as ac, type VectorSymbol as ad, type VectorParameter as ae, type VectorBlendSpacing as af, type VectorGradientInterpolation as ag, type VectorStrokeGradientMode as ah, type VectorArrowAlign as ai, type VectorPaintLayer as aj, type VectorStrokeLayer as ak, type VectorBlend as al, type VectorMergeMode as am, type VectorLineJoin as an, type VectorStrokeSettings as ao, type VectorInstanceOverrides as ap, VECTOR_ARROWHEADS as aq, VECTOR_BLEND_MODES as ar, VECTOR_BLEND_SPACINGS as as, VECTOR_CONNECTOR_ROUTES as at, VECTOR_CONNECTOR_SIDES as au, VECTOR_CONSTRAINT_KINDS as av, VECTOR_CORNER_KINDS as aw, VECTOR_EFFECT_TYPES as ax, VECTOR_FILTER_TYPES as ay, VECTOR_GRADIENT_INTERPOLATIONS as az, type VectorPathNode as b, type VectorFillRule as c, type VectorBooleanOperation as d, type VectorNode as e, type VectorEffect as f, type VectorGroupNode as g, type VectorBounds as h, type VectorWarpMesh as i, type VectorInstanceNode as j, type VectorFilterType as k, type VectorFilterParamsMap as l, type VectorFilter as m, type VectorGradient as n, type Vec2 as o, type VectorGradientUnits as p, type VectorGradientSpread as q, type VectorGradientType as r, type VectorPaint as s, type VectorMatrix as t, type VectorGradientStop as u, type VectorStrokeAlign as v, type VectorSubpath as w, type VectorDocument as x, type VectorWidthPoint as y, type VectorAnchor as z };
979
+ export { type VectorAlign as $, type VectorTextNode as A, type VectorAnchorType as B, type VectorCornerKind as C, type VectorViewport as D, type VectorConnectorRoute as E, type VectorConnectorSide as F, type VectorConnectorEnd as G, type VectorConnector as H, type VectorConstraintKind as I, type VectorConstraint as J, type VectorCharacterStyle as K, type VectorTextRun as L, type VectorParagraphStyle as M, type VectorTextFrame as N, type VectorTransformHandle as O, type VectorAnchorRef as P, type VectorPathfinderOperation as Q, type VectorTool as R, type VectorDefaults as S, type VectorTextAlign as T, type VectorStyle as U, type VectorEffectType as V, type VectorHandleRef as W, type VectorSegmentRef as X, type VectorBlendOptions as Y, type VectorModifiers as Z, type VectorBlendMode as _, type VectorEffectParamsMap as a, type VectorDistribute as a0, type VectorArrange as a1, type VectorMaskType as a2, type VectorSymmetryMode as a3, type VectorSymmetry as a4, type VectorFreeformPoint as a5, type VectorMeshGradient as a6, type VectorFreeformGradient as a7, type VectorArrowhead as a8, type VectorResizing as a9, VECTOR_FILTER_TYPES as aA, VECTOR_GRADIENT_INTERPOLATIONS as aB, VECTOR_GRADIENT_SPREADS as aC, VECTOR_GRADIENT_TYPES as aD, VECTOR_HORIZONTAL_RESIZING as aE, VECTOR_MASK_TYPES as aF, VECTOR_MERGE_MODES as aG, VECTOR_PATHFINDER_OPERATIONS as aH, VECTOR_PATH_TEXT_BASELINES as aI, VECTOR_STROKE_GRADIENT_MODES as aJ, VECTOR_SYMMETRY_MODES as aK, VECTOR_TEXT_ALIGNS as aL, VECTOR_TOOLS as aM, VECTOR_TRANSFORM_HANDLES as aN, VECTOR_VERTICAL_RESIZING as aO, type VectorCorner as aP, type VectorGeomRef as aQ, type VectorLineCap as aR, type VectorPathTextBaseline as aS, type VectorStrokeLayerKind as aT, type VectorTextRunStyle as aU, type VectorWarpStyle as aV, type VectorFrame as aa, type VectorHorizontalResizing as ab, type VectorVerticalResizing as ac, type VectorMask as ad, type VectorAverageAxis as ae, type VectorSymbol as af, type VectorParameter as ag, type VectorBlendSpacing as ah, type VectorGradientInterpolation as ai, type VectorStrokeGradientMode as aj, type VectorArrowAlign as ak, type VectorPaintLayer as al, type VectorStrokeLayer as am, type VectorBlend as an, type VectorMergeMode as ao, type VectorLineJoin as ap, type VectorStrokeSettings as aq, type VectorInstanceOverrides as ar, VECTOR_ARROWHEADS as as, VECTOR_BLEND_MODES as at, VECTOR_BLEND_SPACINGS as au, VECTOR_CONNECTOR_ROUTES as av, VECTOR_CONNECTOR_SIDES as aw, VECTOR_CONSTRAINT_KINDS as ax, VECTOR_CORNER_KINDS as ay, VECTOR_EFFECT_TYPES as az, type VectorPathNode as b, type VectorFillRule as c, type VectorBooleanOperation as d, type VectorNode as e, type VectorEffect as f, type VectorGroupNode as g, type VectorBounds as h, type VectorWarpMesh as i, type VectorInstanceNode as j, type VectorFilterType as k, type VectorFilterParamsMap as l, type VectorFilter as m, type VectorGradient as n, type Vec2 as o, type VectorGradientUnits as p, type VectorGradientSpread as q, type VectorGradientType as r, type VectorPaint as s, type VectorMatrix as t, type VectorGradientStop as u, type VectorStrokeAlign as v, type VectorSubpath as w, type VectorDocument as x, type VectorWidthPoint as y, type VectorAnchor as z };
@@ -479,6 +479,31 @@ interface VectorGroupNode extends VectorNodeBase {
479
479
  * when resized. Ignored on blends, live booleans and mask groups.
480
480
  */
481
481
  frame?: VectorFrame | null;
482
+ /**
483
+ * Makes the group a live symmetry group: it draws its children and their mirrored (or rotated)
484
+ * copies, regenerated whenever a child changes. Ignored on blends, live booleans, mask groups
485
+ * and frames.
486
+ */
487
+ symmetry?: VectorSymmetry | null;
488
+ }
489
+ /**
490
+ * How a symmetry group repeats its children: mirrored across a `vertical`, `horizontal` or
491
+ * `diagonal` axis, across both axes (`dual`: four quarters), or `radial`ly round the centre
492
+ * (`copies` turns, each mirrored too with `mirror`, like a kaleidoscope).
493
+ */
494
+ type VectorSymmetryMode = 'vertical' | 'horizontal' | 'dual' | 'diagonal' | 'radial';
495
+ declare const VECTOR_SYMMETRY_MODES: readonly VectorSymmetryMode[];
496
+ /** A symmetry group's settings (`VectorGroupNode.symmetry`). */
497
+ interface VectorSymmetry {
498
+ mode: VectorSymmetryMode;
499
+ /** Where the axes cross (the group's own space). */
500
+ center: Vec2;
501
+ /** Turn of the axes, degrees clockwise (default 0). */
502
+ rotation?: number;
503
+ /** Radial: how many turns round the circle (2–64, default 6). */
504
+ copies?: number;
505
+ /** Radial: mirror each turn too (default false). */
506
+ mirror?: boolean;
482
507
  }
483
508
  /**
484
509
  * The character style of text (a font and how it is set). Sizes are document units; `tracking` is in
@@ -751,9 +776,10 @@ type VectorAverageAxis = 'horizontal' | 'vertical' | 'both';
751
776
  /**
752
777
  * Live path effects (After Effects' path operators): `trim` (Trim Paths), `roundCorners`,
753
778
  * `puckerBloat`, `twist`, `zigzag`, `wiggle` (Wiggle Paths), `offset` (Offset Paths), `merge`
754
- * (Merge Paths), `repeater` and `envelope` (an envelope distortion: a warp preset or a mesh).
779
+ * (Merge Paths), `repeater`, `envelope` (an envelope distortion: a warp preset or a mesh) and
780
+ * `contour` (CorelDRAW's Contour: concentric offset steps blending toward end colours).
755
781
  */
756
- type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope';
782
+ type VectorEffectType = 'trim' | 'roundCorners' | 'puckerBloat' | 'twist' | 'zigzag' | 'wiggle' | 'offset' | 'merge' | 'repeater' | 'envelope' | 'contour';
757
783
  declare const VECTOR_EFFECT_TYPES: readonly VectorEffectType[];
758
784
  /** Warp presets (Photoshop's fifteen, in menu order); shared with the image editor (`src/geom`). */
759
785
  type VectorWarpStyle = WarpStyle;
@@ -855,6 +881,22 @@ interface VectorEffectParamsMap {
855
881
  * `mesh` (null: the flat mesh of `columns × rows` patches over the bounds). The bounds are
856
882
  * taken afresh each time, so editing the contents keeps the envelope.
857
883
  */
884
+ /**
885
+ * Contour: concentric copies of each shape offset `offset` apart, `steps` of them `inside`,
886
+ * `outside`, or `center` (inside until the shape is used up), their fill and stroke blending
887
+ * from the shape's own colours to `fillColor` / `strokeColor` (null keeps the colour).
888
+ * `acceleration` (−100…100) bunches the colour change toward the end (positive) or start.
889
+ */
890
+ contour: {
891
+ direction: 'inside' | 'outside' | 'center';
892
+ steps: number;
893
+ offset: number;
894
+ join: VectorLineJoin;
895
+ miterLimit: number;
896
+ fillColor: string | null;
897
+ strokeColor: string | null;
898
+ acceleration: number;
899
+ };
858
900
  envelope: {
859
901
  style: VectorWarpStyle | 'mesh';
860
902
  bend: number;
@@ -934,4 +976,4 @@ type VectorFilter = {
934
976
  };
935
977
  }[VectorFilterType];
936
978
 
937
- export { type VectorAlign as $, type VectorTextNode as A, type VectorAnchorType as B, type VectorCornerKind as C, type VectorViewport as D, type VectorConnectorRoute as E, type VectorConnectorSide as F, type VectorConnectorEnd as G, type VectorConnector as H, type VectorConstraintKind as I, type VectorConstraint as J, type VectorCharacterStyle as K, type VectorTextRun as L, type VectorParagraphStyle as M, type VectorTextFrame as N, type VectorTransformHandle as O, type VectorAnchorRef as P, type VectorPathfinderOperation as Q, type VectorTool as R, type VectorDefaults as S, type VectorTextAlign as T, type VectorStyle as U, type VectorEffectType as V, type VectorHandleRef as W, type VectorSegmentRef as X, type VectorBlendOptions as Y, type VectorModifiers as Z, type VectorBlendMode as _, type VectorEffectParamsMap as a, type VectorDistribute as a0, type VectorArrange as a1, type VectorMaskType as a2, type VectorFreeformPoint as a3, type VectorMeshGradient as a4, type VectorFreeformGradient as a5, type VectorArrowhead as a6, type VectorResizing as a7, type VectorFrame as a8, type VectorHorizontalResizing as a9, VECTOR_GRADIENT_SPREADS as aA, VECTOR_GRADIENT_TYPES as aB, VECTOR_HORIZONTAL_RESIZING as aC, VECTOR_MASK_TYPES as aD, VECTOR_MERGE_MODES as aE, VECTOR_PATHFINDER_OPERATIONS as aF, VECTOR_PATH_TEXT_BASELINES as aG, VECTOR_STROKE_GRADIENT_MODES as aH, VECTOR_TEXT_ALIGNS as aI, VECTOR_TOOLS as aJ, VECTOR_TRANSFORM_HANDLES as aK, VECTOR_VERTICAL_RESIZING as aL, type VectorCorner as aM, type VectorGeomRef as aN, type VectorLineCap as aO, type VectorPathTextBaseline as aP, type VectorStrokeLayerKind as aQ, type VectorTextRunStyle as aR, type VectorWarpStyle as aS, type VectorVerticalResizing as aa, type VectorMask as ab, type VectorAverageAxis as ac, type VectorSymbol as ad, type VectorParameter as ae, type VectorBlendSpacing as af, type VectorGradientInterpolation as ag, type VectorStrokeGradientMode as ah, type VectorArrowAlign as ai, type VectorPaintLayer as aj, type VectorStrokeLayer as ak, type VectorBlend as al, type VectorMergeMode as am, type VectorLineJoin as an, type VectorStrokeSettings as ao, type VectorInstanceOverrides as ap, VECTOR_ARROWHEADS as aq, VECTOR_BLEND_MODES as ar, VECTOR_BLEND_SPACINGS as as, VECTOR_CONNECTOR_ROUTES as at, VECTOR_CONNECTOR_SIDES as au, VECTOR_CONSTRAINT_KINDS as av, VECTOR_CORNER_KINDS as aw, VECTOR_EFFECT_TYPES as ax, VECTOR_FILTER_TYPES as ay, VECTOR_GRADIENT_INTERPOLATIONS as az, type VectorPathNode as b, type VectorFillRule as c, type VectorBooleanOperation as d, type VectorNode as e, type VectorEffect as f, type VectorGroupNode as g, type VectorBounds as h, type VectorWarpMesh as i, type VectorInstanceNode as j, type VectorFilterType as k, type VectorFilterParamsMap as l, type VectorFilter as m, type VectorGradient as n, type Vec2 as o, type VectorGradientUnits as p, type VectorGradientSpread as q, type VectorGradientType as r, type VectorPaint as s, type VectorMatrix as t, type VectorGradientStop as u, type VectorStrokeAlign as v, type VectorSubpath as w, type VectorDocument as x, type VectorWidthPoint as y, type VectorAnchor as z };
979
+ export { type VectorAlign as $, type VectorTextNode as A, type VectorAnchorType as B, type VectorCornerKind as C, type VectorViewport as D, type VectorConnectorRoute as E, type VectorConnectorSide as F, type VectorConnectorEnd as G, type VectorConnector as H, type VectorConstraintKind as I, type VectorConstraint as J, type VectorCharacterStyle as K, type VectorTextRun as L, type VectorParagraphStyle as M, type VectorTextFrame as N, type VectorTransformHandle as O, type VectorAnchorRef as P, type VectorPathfinderOperation as Q, type VectorTool as R, type VectorDefaults as S, type VectorTextAlign as T, type VectorStyle as U, type VectorEffectType as V, type VectorHandleRef as W, type VectorSegmentRef as X, type VectorBlendOptions as Y, type VectorModifiers as Z, type VectorBlendMode as _, type VectorEffectParamsMap as a, type VectorDistribute as a0, type VectorArrange as a1, type VectorMaskType as a2, type VectorSymmetryMode as a3, type VectorSymmetry as a4, type VectorFreeformPoint as a5, type VectorMeshGradient as a6, type VectorFreeformGradient as a7, type VectorArrowhead as a8, type VectorResizing as a9, VECTOR_FILTER_TYPES as aA, VECTOR_GRADIENT_INTERPOLATIONS as aB, VECTOR_GRADIENT_SPREADS as aC, VECTOR_GRADIENT_TYPES as aD, VECTOR_HORIZONTAL_RESIZING as aE, VECTOR_MASK_TYPES as aF, VECTOR_MERGE_MODES as aG, VECTOR_PATHFINDER_OPERATIONS as aH, VECTOR_PATH_TEXT_BASELINES as aI, VECTOR_STROKE_GRADIENT_MODES as aJ, VECTOR_SYMMETRY_MODES as aK, VECTOR_TEXT_ALIGNS as aL, VECTOR_TOOLS as aM, VECTOR_TRANSFORM_HANDLES as aN, VECTOR_VERTICAL_RESIZING as aO, type VectorCorner as aP, type VectorGeomRef as aQ, type VectorLineCap as aR, type VectorPathTextBaseline as aS, type VectorStrokeLayerKind as aT, type VectorTextRunStyle as aU, type VectorWarpStyle as aV, type VectorFrame as aa, type VectorHorizontalResizing as ab, type VectorVerticalResizing as ac, type VectorMask as ad, type VectorAverageAxis as ae, type VectorSymbol as af, type VectorParameter as ag, type VectorBlendSpacing as ah, type VectorGradientInterpolation as ai, type VectorStrokeGradientMode as aj, type VectorArrowAlign as ak, type VectorPaintLayer as al, type VectorStrokeLayer as am, type VectorBlend as an, type VectorMergeMode as ao, type VectorLineJoin as ap, type VectorStrokeSettings as aq, type VectorInstanceOverrides as ar, VECTOR_ARROWHEADS as as, VECTOR_BLEND_MODES as at, VECTOR_BLEND_SPACINGS as au, VECTOR_CONNECTOR_ROUTES as av, VECTOR_CONNECTOR_SIDES as aw, VECTOR_CONSTRAINT_KINDS as ax, VECTOR_CORNER_KINDS as ay, VECTOR_EFFECT_TYPES as az, type VectorPathNode as b, type VectorFillRule as c, type VectorBooleanOperation as d, type VectorNode as e, type VectorEffect as f, type VectorGroupNode as g, type VectorBounds as h, type VectorWarpMesh as i, type VectorInstanceNode as j, type VectorFilterType as k, type VectorFilterParamsMap as l, type VectorFilter as m, type VectorGradient as n, type Vec2 as o, type VectorGradientUnits as p, type VectorGradientSpread as q, type VectorGradientType as r, type VectorPaint as s, type VectorMatrix as t, type VectorGradientStop as u, type VectorStrokeAlign as v, type VectorSubpath as w, type VectorDocument as x, type VectorWidthPoint as y, type VectorAnchor as z };