@pixerate/editor 0.245.0 → 0.248.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 (50) hide show
  1. package/dist/animation-editor/index.cjs +59 -59
  2. package/dist/animation-editor/index.js +3 -3
  3. package/dist/{brushstrokeRender-QA5WVIDT.cjs → brushstrokeRender-DTDPFBLC.cjs} +5 -5
  4. package/dist/{brushstrokeRender-4542T5HP.js → brushstrokeRender-QLCXROJK.js} +2 -2
  5. package/dist/canvas/index.cjs +8 -8
  6. package/dist/canvas/index.js +1 -1
  7. package/dist/{chunk-OSTKS3YN.js → chunk-5GLYUSNT.js} +1 -1
  8. package/dist/{chunk-4T47Z4J3.cjs → chunk-6G6ZDDDB.cjs} +400 -27
  9. package/dist/chunk-7T7JWTVE.cjs +192 -0
  10. package/dist/{chunk-SD23XMVJ.cjs → chunk-IBDU6EGZ.cjs} +35 -35
  11. package/dist/{chunk-IZL5V5RK.cjs → chunk-L6REDLNB.cjs} +2 -2
  12. package/dist/{chunk-L5PB7EG3.js → chunk-NZ3O3A5C.js} +1 -1
  13. package/dist/{chunk-4EQY4TZJ.js → chunk-Q2HA52V4.js} +1 -1
  14. package/dist/chunk-SC2RZ5EF.js +192 -0
  15. package/dist/{chunk-HZ547SGQ.cjs → chunk-TPWB4Y6L.cjs} +1 -1
  16. package/dist/{chunk-TBJEMELS.js → chunk-VNBUDVD4.js} +398 -25
  17. package/dist/{chunk-M6JORA5Z.cjs → chunk-WVS5KQDH.cjs} +442 -87
  18. package/dist/{chunk-5RFENYO5.js → chunk-XNRBMYNB.js} +1 -1
  19. package/dist/{chunk-BDIH4DYR.cjs → chunk-XWTRATIM.cjs} +23 -23
  20. package/dist/{chunk-7YQNKSQ7.js → chunk-ZFSLEOSQ.js} +357 -2
  21. package/dist/image-editor/effect-tools.d.cts +37 -4
  22. package/dist/image-editor/effect-tools.d.ts +37 -4
  23. package/dist/image-editor/index.cjs +1059 -1552
  24. package/dist/image-editor/index.d.cts +1 -1
  25. package/dist/image-editor/index.d.ts +1 -1
  26. package/dist/image-editor/index.js +275 -768
  27. package/dist/paint-editor/controller.d.cts +34 -1
  28. package/dist/paint-editor/controller.d.ts +34 -1
  29. package/dist/paint-editor/index.cjs +426 -257
  30. package/dist/paint-editor/index.js +184 -15
  31. package/dist/paint-editor/procedural.d.cts +82 -5
  32. package/dist/paint-editor/procedural.d.ts +82 -5
  33. package/dist/paint-editor/tools.d.cts +1 -1
  34. package/dist/paint-editor/tools.d.ts +1 -1
  35. package/dist/paint-editor/ui.d.cts +15 -2
  36. package/dist/paint-editor/ui.d.ts +15 -2
  37. package/dist/{image-editor/layers/effects-ui.d.cts → raster/effects/ui.d.cts} +32 -5
  38. package/dist/{image-editor/layers/effects-ui.d.ts → raster/effects/ui.d.ts} +32 -5
  39. package/dist/raster/index.cjs +13 -1
  40. package/dist/raster/index.d.cts +1 -0
  41. package/dist/raster/index.d.ts +1 -0
  42. package/dist/raster/index.js +12 -0
  43. package/dist/vector/index.cjs +962 -962
  44. package/dist/vector/index.js +4 -4
  45. package/package.json +1 -1
  46. package/skills/pixerate-paint-editor/SKILL.md +18 -27
  47. package/skills/pixerate-paint-editor/references/gradient-paint.md +23 -0
  48. package/skills/pixerate-paint-editor/references/layer-effects.md +28 -0
  49. package/skills/pixerate-paint-editor/references/light-paint.md +10 -2
  50. package/skills/pixerate-paint-editor/references/particle-brushes.md +66 -0
@@ -15,7 +15,7 @@ import type { PaintEditorController } from './controller.cjs';
15
15
  import type { PenPoint } from './engine.cjs';
16
16
  import { type Point2 } from './guides.cjs';
17
17
  import { type StencilInput } from './stencils.cjs';
18
- import type { ParticleKind, ParticleRender } from './procedural.cjs';
18
+ import { type DotRotation, type DotTextureOrder, type ParticleKind, type ParticleRender, type RibbonPairs } from './procedural.cjs';
19
19
  import type { StampKind } from './stickers.cjs';
20
20
  import type { WetEngineInfo, WetGpuMode } from './wet.cjs';
21
21
  import { type PointerSample } from './input.cjs';
@@ -189,7 +189,11 @@ export interface BrushEngineControls {
189
189
  wetTool?: boolean;
190
190
  /** The impasto tool menu (`impasto.tool`, `IMPASTO_TOOLS`). */
191
191
  impastoTool?: boolean;
192
- /** The particle kind and render menus (`particle.kind`, `particle.render`). */
192
+ /**
193
+ * The particle menus: kind and render (`particle.kind`, `particle.render`), ribbon pairs
194
+ * (`particle.ribbonPairs`), and the textured-dot stamps, order and rotation
195
+ * (`particle.dotTextures` up to `MAX_DOT_TEXTURES` of `STAMP_KINDS`, `dotTextureOrder`, `dotRotation`).
196
+ */
193
197
  particleMenus?: boolean;
194
198
  /** The sticker stamp toggles (`sticker.stamps`, `STAMP_KINDS`). */
195
199
  stickerStamps?: boolean;
@@ -253,10 +257,19 @@ export declare const LIGHT_SLIDERS: readonly SliderControl[];
253
257
  /** Labels of the particle kinds and renders. */
254
258
  export declare const PARTICLE_KIND_LABELS: Readonly<Record<ParticleKind, string>>;
255
259
  export declare const PARTICLE_RENDER_LABELS: Readonly<Record<ParticleRender, string>>;
260
+ /** Labels of the ribbon pairings, textured-dot orders and textured-dot rotations. */
261
+ export declare const RIBBON_PAIR_LABELS: Readonly<Record<RibbonPairs, string>>;
262
+ export declare const DOT_TEXTURE_ORDER_LABELS: Readonly<Record<DotTextureOrder, string>>;
263
+ export declare const DOT_ROTATION_LABELS: Readonly<Record<DotRotation, string>>;
256
264
  /** Labels of the sticker stamps. */
257
265
  export declare const STAMP_LABELS: Readonly<Record<StampKind, string>>;
258
266
  /** Toggles one stamp in a sticker brush's set (never leaving it empty). */
259
267
  export declare function toggleStamp(stamps: readonly StampKind[], stamp: StampKind): StampKind[];
268
+ /**
269
+ * Toggles a textured-dot stamp (`particle.dotTextures`): removes it (every copy) when present,
270
+ * else adds it while there are fewer than `MAX_DOT_TEXTURES`. Empty means round dots.
271
+ */
272
+ export declare function toggleDotTexture(textures: readonly StampKind[], stamp: StampKind): StampKind[];
260
273
  /** The sticker panel's sliders for the selected sticker. */
261
274
  /** The brush sliders of a picked stroke on a stroke layer (paths into its brush; see `updateStroke`). */
262
275
  export declare const STROKE_SLIDERS: readonly SliderControl[];
@@ -15,7 +15,7 @@ import type { PaintEditorController } from './controller.js';
15
15
  import type { PenPoint } from './engine.js';
16
16
  import { type Point2 } from './guides.js';
17
17
  import { type StencilInput } from './stencils.js';
18
- import type { ParticleKind, ParticleRender } from './procedural.js';
18
+ import { type DotRotation, type DotTextureOrder, type ParticleKind, type ParticleRender, type RibbonPairs } from './procedural.js';
19
19
  import type { StampKind } from './stickers.js';
20
20
  import type { WetEngineInfo, WetGpuMode } from './wet.js';
21
21
  import { type PointerSample } from './input.js';
@@ -189,7 +189,11 @@ export interface BrushEngineControls {
189
189
  wetTool?: boolean;
190
190
  /** The impasto tool menu (`impasto.tool`, `IMPASTO_TOOLS`). */
191
191
  impastoTool?: boolean;
192
- /** The particle kind and render menus (`particle.kind`, `particle.render`). */
192
+ /**
193
+ * The particle menus: kind and render (`particle.kind`, `particle.render`), ribbon pairs
194
+ * (`particle.ribbonPairs`), and the textured-dot stamps, order and rotation
195
+ * (`particle.dotTextures` up to `MAX_DOT_TEXTURES` of `STAMP_KINDS`, `dotTextureOrder`, `dotRotation`).
196
+ */
193
197
  particleMenus?: boolean;
194
198
  /** The sticker stamp toggles (`sticker.stamps`, `STAMP_KINDS`). */
195
199
  stickerStamps?: boolean;
@@ -253,10 +257,19 @@ export declare const LIGHT_SLIDERS: readonly SliderControl[];
253
257
  /** Labels of the particle kinds and renders. */
254
258
  export declare const PARTICLE_KIND_LABELS: Readonly<Record<ParticleKind, string>>;
255
259
  export declare const PARTICLE_RENDER_LABELS: Readonly<Record<ParticleRender, string>>;
260
+ /** Labels of the ribbon pairings, textured-dot orders and textured-dot rotations. */
261
+ export declare const RIBBON_PAIR_LABELS: Readonly<Record<RibbonPairs, string>>;
262
+ export declare const DOT_TEXTURE_ORDER_LABELS: Readonly<Record<DotTextureOrder, string>>;
263
+ export declare const DOT_ROTATION_LABELS: Readonly<Record<DotRotation, string>>;
256
264
  /** Labels of the sticker stamps. */
257
265
  export declare const STAMP_LABELS: Readonly<Record<StampKind, string>>;
258
266
  /** Toggles one stamp in a sticker brush's set (never leaving it empty). */
259
267
  export declare function toggleStamp(stamps: readonly StampKind[], stamp: StampKind): StampKind[];
268
+ /**
269
+ * Toggles a textured-dot stamp (`particle.dotTextures`): removes it (every copy) when present,
270
+ * else adds it while there are fewer than `MAX_DOT_TEXTURES`. Empty means round dots.
271
+ */
272
+ export declare function toggleDotTexture(textures: readonly StampKind[], stamp: StampKind): StampKind[];
260
273
  /** The sticker panel's sliders for the selected sticker. */
261
274
  /** The brush sliders of a picked stroke on a stroke layer (paths into its brush; see `updateStroke`). */
262
275
  export declare const STROKE_SLIDERS: readonly SliderControl[];
@@ -3,9 +3,36 @@
3
3
  * can take effects, its effect rows, the menu of kinds to add, and per effect a flat list of
4
4
  * controls (sliders, colours, toggles, choices) with how a change maps to `updateLayerEffect`.
5
5
  */
6
- import { type LayerEffect, type LayerEffectKind } from '../../raster/effects/model.cjs';
7
- import { type EffectPattern } from '../../raster/effects/patterns.cjs';
8
- import type { ImageLayer } from './model.cjs';
6
+ import { type LayerEffect, type LayerEffectKind, type LayerEffects } from './model.cjs';
7
+ import { type EffectPattern } from './patterns.cjs';
8
+ /** What the effects section reads of a layer (image and paint layers both fit). */
9
+ export interface LayerEffectsTarget {
10
+ id: string;
11
+ type: string;
12
+ effects?: LayerEffects;
13
+ locks?: {
14
+ all?: boolean;
15
+ };
16
+ }
17
+ /**
18
+ * What the layer effects panels need of an editor: the image and paint editor controllers both
19
+ * provide it, so both show the same panel.
20
+ */
21
+ export interface LayerEffectsController {
22
+ subscribe(listener: () => void): () => void;
23
+ getLayer(id: string): LayerEffectsTarget | null | undefined;
24
+ getActiveLayer(): LayerEffectsTarget | null | undefined;
25
+ getLayerEffects(id: string): LayerEffects;
26
+ getDocumentPatterns(): readonly EffectPattern[];
27
+ addLayerEffect(id: string, kind: LayerEffectKind, settings?: Record<string, unknown>, index?: number): {
28
+ effect: {
29
+ id: string;
30
+ };
31
+ };
32
+ updateLayerEffect(id: string, effectId: string, changes: Record<string, unknown>, commitToHistory?: boolean): unknown;
33
+ removeLayerEffect(id: string, effectId: string): unknown;
34
+ setLayerEffectsEnabled(id: string, enabled: boolean, scale?: number, commitToHistory?: boolean): unknown;
35
+ }
9
36
  export interface LayerEffectRow {
10
37
  id: string;
11
38
  kind: LayerEffectKind;
@@ -24,9 +51,9 @@ export interface LayerEffectsPanelModel {
24
51
  rows: LayerEffectRow[];
25
52
  }
26
53
  /** The effects section for `layer`. */
27
- export declare function layerEffectsPanel(layer: ImageLayer | null | undefined): LayerEffectsPanelModel;
54
+ export declare function layerEffectsPanel(layer: LayerEffectsTarget | null | undefined): LayerEffectsPanelModel;
28
55
  /** The fx badge of a layer row: `on` (effects render), `off` (effects but switched off), or `null`. */
29
- export declare function layerEffectsBadge(layer: ImageLayer): 'on' | 'off' | null;
56
+ export declare function layerEffectsBadge(layer: Pick<LayerEffectsTarget, 'effects'>): 'on' | 'off' | null;
30
57
  /** The kinds the "Add effect" menu offers, in the Layer Style dialog's order. */
31
58
  export declare const LAYER_EFFECT_MENU: ReadonlyArray<{
32
59
  kind: LayerEffectKind;
@@ -3,9 +3,36 @@
3
3
  * can take effects, its effect rows, the menu of kinds to add, and per effect a flat list of
4
4
  * controls (sliders, colours, toggles, choices) with how a change maps to `updateLayerEffect`.
5
5
  */
6
- import { type LayerEffect, type LayerEffectKind } from '../../raster/effects/model.js';
7
- import { type EffectPattern } from '../../raster/effects/patterns.js';
8
- import type { ImageLayer } from './model.js';
6
+ import { type LayerEffect, type LayerEffectKind, type LayerEffects } from './model.js';
7
+ import { type EffectPattern } from './patterns.js';
8
+ /** What the effects section reads of a layer (image and paint layers both fit). */
9
+ export interface LayerEffectsTarget {
10
+ id: string;
11
+ type: string;
12
+ effects?: LayerEffects;
13
+ locks?: {
14
+ all?: boolean;
15
+ };
16
+ }
17
+ /**
18
+ * What the layer effects panels need of an editor: the image and paint editor controllers both
19
+ * provide it, so both show the same panel.
20
+ */
21
+ export interface LayerEffectsController {
22
+ subscribe(listener: () => void): () => void;
23
+ getLayer(id: string): LayerEffectsTarget | null | undefined;
24
+ getActiveLayer(): LayerEffectsTarget | null | undefined;
25
+ getLayerEffects(id: string): LayerEffects;
26
+ getDocumentPatterns(): readonly EffectPattern[];
27
+ addLayerEffect(id: string, kind: LayerEffectKind, settings?: Record<string, unknown>, index?: number): {
28
+ effect: {
29
+ id: string;
30
+ };
31
+ };
32
+ updateLayerEffect(id: string, effectId: string, changes: Record<string, unknown>, commitToHistory?: boolean): unknown;
33
+ removeLayerEffect(id: string, effectId: string): unknown;
34
+ setLayerEffectsEnabled(id: string, enabled: boolean, scale?: number, commitToHistory?: boolean): unknown;
35
+ }
9
36
  export interface LayerEffectRow {
10
37
  id: string;
11
38
  kind: LayerEffectKind;
@@ -24,9 +51,9 @@ export interface LayerEffectsPanelModel {
24
51
  rows: LayerEffectRow[];
25
52
  }
26
53
  /** The effects section for `layer`. */
27
- export declare function layerEffectsPanel(layer: ImageLayer | null | undefined): LayerEffectsPanelModel;
54
+ export declare function layerEffectsPanel(layer: LayerEffectsTarget | null | undefined): LayerEffectsPanelModel;
28
55
  /** The fx badge of a layer row: `on` (effects render), `off` (effects but switched off), or `null`. */
29
- export declare function layerEffectsBadge(layer: ImageLayer): 'on' | 'off' | null;
56
+ export declare function layerEffectsBadge(layer: Pick<LayerEffectsTarget, 'effects'>): 'on' | 'off' | null;
30
57
  /** The kinds the "Add effect" menu offers, in the Layer Style dialog's order. */
31
58
  export declare const LAYER_EFFECT_MENU: ReadonlyArray<{
32
59
  kind: LayerEffectKind;
@@ -4,6 +4,13 @@
4
4
 
5
5
 
6
6
 
7
+ var _chunk7T7JWTVEcjs = require('../chunk-7T7JWTVE.cjs');
8
+
9
+
10
+
11
+
12
+
13
+
7
14
 
8
15
 
9
16
 
@@ -516,4 +523,9 @@ function drawSurfaceToViewport(ctx, surface, mapping, view, options) {
516
523
 
517
524
 
518
525
 
519
- exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkHB4ICNNAcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkHB4ICNNAcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DeepCompositor = _chunkHB4ICNNAcjs.DeepCompositor; exports.INTERPOLATIONS = _chunkHB4ICNNAcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkHB4ICNNAcjs.LAYER_EFFECT_KINDS; exports.LayerEffectError = _chunkHB4ICNNAcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkHB4ICNNAcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkHB4ICNNAcjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkHB4ICNNAcjs.PatternPlacement; exports.PatternTile = _chunkHB4ICNNAcjs.PatternTile; exports.RasterCompositor = _chunkHB4ICNNAcjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkHB4ICNNAcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.SurfaceViewportRenderer = SurfaceViewportRenderer; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkHB4ICNNAcjs.TransformTooLargeError; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeEffectItems = _chunkHB4ICNNAcjs.activeEffectItems; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.applyEdgeAmbient = _chunkHB4ICNNAcjs.applyEdgeAmbient; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkHB4ICNNAcjs.blendTile; exports.buildEffectMaps = _chunkHB4ICNNAcjs.buildEffectMaps; exports.builtinPattern = _chunkHB4ICNNAcjs.builtinPattern; exports.builtinPatternIds = _chunkHB4ICNNAcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.changedTiles = _chunkHB4ICNNAcjs.changedTiles; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.compositeLayerEffects = _chunkHB4ICNNAcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkHB4ICNNAcjs.compositeSurfaceOver; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contourLut = _chunkHB4ICNNAcjs.contourLut; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.curveLut = _chunkHB4ICNNAcjs.curveLut; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultEffectGradient = _chunkHB4ICNNAcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkHB4ICNNAcjs.defaultLayerEffect; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.drawSurfaceToViewport = drawSurfaceToViewport; exports.effectColorHex = _chunkHB4ICNNAcjs.effectColorHex; exports.effectFillColors = _chunkHB4ICNNAcjs.effectFillColors; exports.effectReach = _chunkHB4ICNNAcjs.effectReach; exports.effectsAreLocal = _chunkHB4ICNNAcjs.effectsAreLocal; exports.effectsFingerprint = _chunkHB4ICNNAcjs.effectsFingerprint; exports.effectsMargin = _chunkHB4ICNNAcjs.effectsMargin; exports.effectsScale = _chunkHB4ICNNAcjs.effectsScale; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.findLayer = _chunkHB4ICNNAcjs.findLayer; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.flattenLayers = _chunkHB4ICNNAcjs.flattenLayers; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.gradientT = _chunkHB4ICNNAcjs.gradientT; exports.hasActiveEffects = _chunkHB4ICNNAcjs.hasActiveEffects; exports.hashNoise = _chunkHB4ICNNAcjs.hashNoise; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertLayer = _chunkHB4ICNNAcjs.insertLayer; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isInterpolation = _chunkHB4ICNNAcjs.isInterpolation; exports.isLayerEffectKind = _chunkHB4ICNNAcjs.isLayerEffectKind; exports.isLayerLocked = _chunkHB4ICNNAcjs.isLayerLocked; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keysWeight = _chunkHB4ICNNAcjs.keysWeight; exports.layerEffectFields = _chunkHB4ICNNAcjs.layerEffectFields; exports.layerEffectLabel = _chunkHB4ICNNAcjs.layerEffectLabel; exports.mapLayer = _chunkHB4ICNNAcjs.mapLayer; exports.mergeLayerEffect = _chunkHB4ICNNAcjs.mergeLayerEffect; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.newEffectId = _chunkHB4ICNNAcjs.newEffectId; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkHB4ICNNAcjs.normalizeLayerEffects; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkHB4ICNNAcjs.parseEffectColor; exports.patchEffectMaps = _chunkHB4ICNNAcjs.patchEffectMaps; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.reduceSurface = _chunkHB4ICNNAcjs.reduceSurface; exports.renderLayerEffects = _chunkHB4ICNNAcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkHB4ICNNAcjs.scaleLayerEffect; exports.screenToWorld = screenToWorld; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfaceMipLevel = surfaceMipLevel; exports.surfaceResolutionForZoom = surfaceResolutionForZoom; exports.surfaceToWorld = surfaceToWorld; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.transformSurface = _chunkHB4ICNNAcjs.transformSurface; exports.transformedBounds = _chunkHB4ICNNAcjs.transformedBounds; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.validateEffectGradient = _chunkHB4ICNNAcjs.validateEffectGradient; exports.validateLayerEffect = _chunkHB4ICNNAcjs.validateLayerEffect; exports.validateLayerEffects = _chunkHB4ICNNAcjs.validateLayerEffects; exports.visibleSurfaceRect = visibleSurfaceRect; exports.visibleWorldRect = visibleWorldRect; exports.warpSurface = _chunkHB4ICNNAcjs.warpSurface; exports.workingToSamples = _chunkHB4ICNNAcjs.workingToSamples; exports.worldRectToSurface = worldRectToSurface; exports.worldToSurface = worldToSurface; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeRegion = _chunk474IQG74cjs.writeRegion;
526
+
527
+
528
+
529
+
530
+
531
+ exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.CURVE_LUT_SIZE = _chunkHB4ICNNAcjs.CURVE_LUT_SIZE; exports.DEFAULT_GLOBAL_LIGHT = _chunkHB4ICNNAcjs.DEFAULT_GLOBAL_LIGHT; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DeepCompositor = _chunkHB4ICNNAcjs.DeepCompositor; exports.INTERPOLATIONS = _chunkHB4ICNNAcjs.INTERPOLATIONS; exports.LAYER_EFFECT_KINDS = _chunkHB4ICNNAcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = _chunk7T7JWTVEcjs.LAYER_EFFECT_MENU; exports.LayerEffectError = _chunkHB4ICNNAcjs.LayerEffectError; exports.MAX_EFFECT_REACH = _chunkHB4ICNNAcjs.MAX_EFFECT_REACH; exports.MAX_TRANSFORM_PIXELS = _chunkHB4ICNNAcjs.MAX_TRANSFORM_PIXELS; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PatternPlacement = _chunkHB4ICNNAcjs.PatternPlacement; exports.PatternTile = _chunkHB4ICNNAcjs.PatternTile; exports.RasterCompositor = _chunkHB4ICNNAcjs.RasterCompositor; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.STROKE_CHAMFER_MAX = _chunkHB4ICNNAcjs.STROKE_CHAMFER_MAX; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.SurfaceViewportRenderer = SurfaceViewportRenderer; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkHB4ICNNAcjs.TransformTooLargeError; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeEffectItems = _chunkHB4ICNNAcjs.activeEffectItems; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.applyEdgeAmbient = _chunkHB4ICNNAcjs.applyEdgeAmbient; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkHB4ICNNAcjs.blendTile; exports.buildEffectMaps = _chunkHB4ICNNAcjs.buildEffectMaps; exports.builtinPattern = _chunkHB4ICNNAcjs.builtinPattern; exports.builtinPatternIds = _chunkHB4ICNNAcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.changedTiles = _chunkHB4ICNNAcjs.changedTiles; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.compositeLayerEffects = _chunkHB4ICNNAcjs.compositeLayerEffects; exports.compositeSurfaceOver = _chunkHB4ICNNAcjs.compositeSurfaceOver; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contourLut = _chunkHB4ICNNAcjs.contourLut; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.curveLut = _chunkHB4ICNNAcjs.curveLut; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultEffectGradient = _chunkHB4ICNNAcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkHB4ICNNAcjs.defaultLayerEffect; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.drawSurfaceToViewport = drawSurfaceToViewport; exports.effectColorHex = _chunkHB4ICNNAcjs.effectColorHex; exports.effectControlChange = _chunk7T7JWTVEcjs.effectControlChange; exports.effectFillColors = _chunkHB4ICNNAcjs.effectFillColors; exports.effectReach = _chunkHB4ICNNAcjs.effectReach; exports.effectsAreLocal = _chunkHB4ICNNAcjs.effectsAreLocal; exports.effectsFingerprint = _chunkHB4ICNNAcjs.effectsFingerprint; exports.effectsMargin = _chunkHB4ICNNAcjs.effectsMargin; exports.effectsScale = _chunkHB4ICNNAcjs.effectsScale; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.findLayer = _chunkHB4ICNNAcjs.findLayer; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.flattenLayers = _chunkHB4ICNNAcjs.flattenLayers; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.gradientT = _chunkHB4ICNNAcjs.gradientT; exports.hasActiveEffects = _chunkHB4ICNNAcjs.hasActiveEffects; exports.hashNoise = _chunkHB4ICNNAcjs.hashNoise; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertLayer = _chunkHB4ICNNAcjs.insertLayer; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isInterpolation = _chunkHB4ICNNAcjs.isInterpolation; exports.isLayerEffectKind = _chunkHB4ICNNAcjs.isLayerEffectKind; exports.isLayerLocked = _chunkHB4ICNNAcjs.isLayerLocked; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keysWeight = _chunkHB4ICNNAcjs.keysWeight; exports.layerEffectControls = _chunk7T7JWTVEcjs.layerEffectControls; exports.layerEffectFields = _chunkHB4ICNNAcjs.layerEffectFields; exports.layerEffectLabel = _chunkHB4ICNNAcjs.layerEffectLabel; exports.layerEffectsBadge = _chunk7T7JWTVEcjs.layerEffectsBadge; exports.layerEffectsPanel = _chunk7T7JWTVEcjs.layerEffectsPanel; exports.mapLayer = _chunkHB4ICNNAcjs.mapLayer; exports.mergeLayerEffect = _chunkHB4ICNNAcjs.mergeLayerEffect; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.newEffectId = _chunkHB4ICNNAcjs.newEffectId; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeLayerEffects = _chunkHB4ICNNAcjs.normalizeLayerEffects; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkHB4ICNNAcjs.parseEffectColor; exports.patchEffectMaps = _chunkHB4ICNNAcjs.patchEffectMaps; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.reduceSurface = _chunkHB4ICNNAcjs.reduceSurface; exports.renderLayerEffects = _chunkHB4ICNNAcjs.renderLayerEffects; exports.scaleLayerEffect = _chunkHB4ICNNAcjs.scaleLayerEffect; exports.screenToWorld = screenToWorld; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfaceMipLevel = surfaceMipLevel; exports.surfaceResolutionForZoom = surfaceResolutionForZoom; exports.surfaceToWorld = surfaceToWorld; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.transformSurface = _chunkHB4ICNNAcjs.transformSurface; exports.transformedBounds = _chunkHB4ICNNAcjs.transformedBounds; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.validateEffectGradient = _chunkHB4ICNNAcjs.validateEffectGradient; exports.validateLayerEffect = _chunkHB4ICNNAcjs.validateLayerEffect; exports.validateLayerEffects = _chunkHB4ICNNAcjs.validateLayerEffects; exports.visibleSurfaceRect = visibleSurfaceRect; exports.visibleWorldRect = visibleWorldRect; exports.warpSurface = _chunkHB4ICNNAcjs.warpSurface; exports.workingToSamples = _chunkHB4ICNNAcjs.workingToSamples; exports.worldRectToSurface = worldRectToSurface; exports.worldToSurface = worldToSurface; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeRegion = _chunk474IQG74cjs.writeRegion;
@@ -18,6 +18,7 @@ export * from './curve.cjs';
18
18
  export * from './transform.cjs';
19
19
  export * from './effects/model.cjs';
20
20
  export * from './effects/patterns.cjs';
21
+ export * from './effects/ui.cjs';
21
22
  export { activeEffectItems, buildEffectMaps, compositeLayerEffects, contourLut, effectFillColors, effectsAreLocal, gradientT, patchEffectMaps, renderLayerEffects, STROKE_CHAMFER_MAX, type EffectCompositeInput, type EffectContext, type EffectMaps, type EffectRect, } from './effects/render.cjs';
22
23
  export { encodePng, decodePng, isPng, bytesToBase64, base64ToBytes, parseDataUrl, pngDataUrl, type DecodedPng } from './png.cjs';
23
24
  export { inflate, inflateRaw, deflate, deflateRaw, adler32, ZlibError } from './zlib.cjs';
@@ -18,6 +18,7 @@ export * from './curve.js';
18
18
  export * from './transform.js';
19
19
  export * from './effects/model.js';
20
20
  export * from './effects/patterns.js';
21
+ export * from './effects/ui.js';
21
22
  export { activeEffectItems, buildEffectMaps, compositeLayerEffects, contourLut, effectFillColors, effectsAreLocal, gradientT, patchEffectMaps, renderLayerEffects, STROKE_CHAMFER_MAX, type EffectCompositeInput, type EffectContext, type EffectMaps, type EffectRect, } from './effects/render.js';
22
23
  export { encodePng, decodePng, isPng, bytesToBase64, base64ToBytes, parseDataUrl, pngDataUrl, type DecodedPng } from './png.js';
23
24
  export { inflate, inflateRaw, deflate, deflateRaw, adler32, ZlibError } from './zlib.js';
@@ -1,3 +1,10 @@
1
+ import {
2
+ LAYER_EFFECT_MENU,
3
+ effectControlChange,
4
+ layerEffectControls,
5
+ layerEffectsBadge,
6
+ layerEffectsPanel
7
+ } from "../chunk-SC2RZ5EF.js";
1
8
  import {
2
9
  CURVE_LUT_SIZE,
3
10
  DEFAULT_GLOBAL_LIGHT,
@@ -374,6 +381,7 @@ export {
374
381
  DeepCompositor,
375
382
  INTERPOLATIONS,
376
383
  LAYER_EFFECT_KINDS,
384
+ LAYER_EFFECT_MENU,
377
385
  LayerEffectError,
378
386
  MAX_EFFECT_REACH,
379
387
  MAX_TRANSFORM_PIXELS,
@@ -423,6 +431,7 @@ export {
423
431
  depthOf,
424
432
  drawSurfaceToViewport,
425
433
  effectColorHex,
434
+ effectControlChange,
426
435
  effectFillColors,
427
436
  effectReach,
428
437
  effectsAreLocal,
@@ -452,8 +461,11 @@ export {
452
461
  isSeparableBlendMode,
453
462
  keepDeepSamples,
454
463
  keysWeight,
464
+ layerEffectControls,
455
465
  layerEffectFields,
456
466
  layerEffectLabel,
467
+ layerEffectsBadge,
468
+ layerEffectsPanel,
457
469
  mapLayer,
458
470
  mergeLayerEffect,
459
471
  mixPigment8,