@pixerate/editor 0.242.0 → 0.244.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animation-editor/index.cjs +59 -59
- package/dist/animation-editor/index.js +3 -3
- package/dist/{brushstrokeRender-MOYGEXOC.js → brushstrokeRender-4542T5HP.js} +3 -3
- package/dist/{brushstrokeRender-UKADOV5D.cjs → brushstrokeRender-QA5WVIDT.cjs} +5 -5
- package/dist/canvas/index.cjs +8 -8
- package/dist/canvas/index.js +1 -1
- package/dist/{chunk-ILM6GYAX.js → chunk-4EQY4TZJ.js} +1 -1
- package/dist/{chunk-5BR7LC24.cjs → chunk-4T47Z4J3.cjs} +68 -6
- package/dist/{chunk-ZDPLZDTT.js → chunk-5RFENYO5.js} +1 -1
- package/dist/{chunk-NE6OOKWJ.js → chunk-7YQNKSQ7.js} +1 -1
- package/dist/{chunk-AFLMXITL.cjs → chunk-BDIH4DYR.cjs} +23 -23
- package/dist/{chunk-HGGJ36HR.cjs → chunk-HZ547SGQ.cjs} +1 -1
- package/dist/{chunk-KCMV2534.cjs → chunk-IZL5V5RK.cjs} +2 -2
- package/dist/{chunk-QP2B3MID.js → chunk-L5PB7EG3.js} +1 -1
- package/dist/{chunk-HW72ABGR.cjs → chunk-M6JORA5Z.cjs} +86 -86
- package/dist/{chunk-UDBDYZET.js → chunk-OSTKS3YN.js} +1 -1
- package/dist/{chunk-HLBTRSQJ.js → chunk-P3NIPIKS.js} +263 -63
- package/dist/{chunk-7F4G74UQ.cjs → chunk-SD23XMVJ.cjs} +35 -35
- package/dist/{chunk-XBZK47LV.js → chunk-TBJEMELS.js} +67 -5
- package/dist/{chunk-XFYLA3ZO.cjs → chunk-VMROIWLL.cjs} +290 -90
- package/dist/image-editor/index.cjs +785 -777
- package/dist/image-editor/index.js +13 -5
- package/dist/kernel-wasm-4KVONDAU.js +9 -0
- package/dist/kernel-wasm-TTYRBGAK.cjs +9 -0
- package/dist/paint/index.cjs +10 -2
- package/dist/paint/index.js +9 -1
- package/dist/paint/wet/film.d.cts +19 -1
- package/dist/paint/wet/film.d.ts +19 -1
- package/dist/paint/wet/gpu-kernels.d.cts +2 -2
- package/dist/paint/wet/gpu-kernels.d.ts +2 -2
- package/dist/paint/wet/kernel-wasm.d.cts +5 -5
- package/dist/paint/wet/kernel-wasm.d.ts +5 -5
- package/dist/paint/wet/kernel.d.cts +1 -1
- package/dist/paint/wet/kernel.d.ts +1 -1
- package/dist/paint/wet/medium.d.cts +3 -1
- package/dist/paint/wet/medium.d.ts +3 -1
- package/dist/paint/wet/model.d.cts +19 -4
- package/dist/paint/wet/model.d.ts +19 -4
- package/dist/paint/wet/world.d.cts +34 -8
- package/dist/paint/wet/world.d.ts +34 -8
- package/dist/paint-editor/backlight.d.cts +77 -0
- package/dist/paint-editor/backlight.d.ts +77 -0
- package/dist/paint-editor/brushes.d.cts +18 -2
- package/dist/paint-editor/brushes.d.ts +18 -2
- package/dist/paint-editor/controller.d.cts +39 -0
- package/dist/paint-editor/controller.d.ts +39 -0
- package/dist/paint-editor/document.d.cts +3 -0
- package/dist/paint-editor/document.d.ts +3 -0
- package/dist/paint-editor/index.cjs +1335 -529
- package/dist/paint-editor/index.d.cts +1 -0
- package/dist/paint-editor/index.d.ts +1 -0
- package/dist/paint-editor/index.js +856 -50
- package/dist/paint-editor/light.d.cts +74 -0
- package/dist/paint-editor/light.d.ts +74 -0
- package/dist/paint-editor/paper.d.cts +7 -0
- package/dist/paint-editor/paper.d.ts +7 -0
- package/dist/paint-editor/stroke.d.cts +14 -0
- package/dist/paint-editor/stroke.d.ts +14 -0
- package/dist/paint-editor/thick-tools.d.cts +2 -2
- package/dist/paint-editor/thick-tools.d.ts +2 -2
- package/dist/paint-editor/thick.d.cts +5 -1
- package/dist/paint-editor/thick.d.ts +5 -1
- package/dist/paint-editor/ui.d.cts +2 -0
- package/dist/paint-editor/ui.d.ts +2 -0
- package/dist/paint-editor/wet.d.cts +9 -0
- package/dist/paint-editor/wet.d.ts +9 -0
- package/dist/vector/index.cjs +962 -962
- package/dist/vector/index.js +4 -4
- package/package.json +1 -1
- package/skills/pixerate-paint-editor/SKILL.md +11 -11
- package/skills/pixerate-paint-editor/references/canvas-hosted.md +8 -0
- package/skills/pixerate-paint-editor/references/light-paint.md +48 -0
- package/skills/pixerate-paint-oil-impasto/SKILL.md +1 -0
- package/skills/pixerate-paint-watercolour/SKILL.md +10 -1
- package/skills/pixerate-paint-watercolour/evals/glowing-wash.json +22 -0
- package/skills/pixerate-paint-watercolour/evals/stained-glass.json +16 -0
- package/dist/kernel-wasm-6FPOLVUZ.cjs +0 -9
- package/dist/kernel-wasm-WIMMJUF2.js +0 -9
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
parseOpenTypeFont,
|
|
9
9
|
removeAnchorsKeepingShape,
|
|
10
10
|
traceField
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-OSTKS3YN.js";
|
|
12
12
|
import {
|
|
13
13
|
ColorGmm,
|
|
14
14
|
GAMMA,
|
|
@@ -410,7 +410,7 @@ import {
|
|
|
410
410
|
writePsd,
|
|
411
411
|
xyToTempTint,
|
|
412
412
|
xyToUv
|
|
413
|
-
} from "../chunk-
|
|
413
|
+
} from "../chunk-7YQNKSQ7.js";
|
|
414
414
|
import {
|
|
415
415
|
parseCssColor
|
|
416
416
|
} from "../chunk-3CI7FRMK.js";
|
|
@@ -586,6 +586,7 @@ import {
|
|
|
586
586
|
FLAT,
|
|
587
587
|
FREE_INTERVAL,
|
|
588
588
|
HIDE,
|
|
589
|
+
MASS_CHANNELS,
|
|
589
590
|
MAX_BATCH,
|
|
590
591
|
MAX_TILT_ACCEL,
|
|
591
592
|
MAX_WET_LANES,
|
|
@@ -599,10 +600,12 @@ import {
|
|
|
599
600
|
PLANE,
|
|
600
601
|
PLANE_BYTES,
|
|
601
602
|
P_D0,
|
|
603
|
+
P_DL,
|
|
602
604
|
P_EDGE,
|
|
603
605
|
P_FX,
|
|
604
606
|
P_FY,
|
|
605
607
|
P_H,
|
|
608
|
+
P_L,
|
|
606
609
|
P_P0,
|
|
607
610
|
P_RHO,
|
|
608
611
|
P_SW,
|
|
@@ -654,13 +657,14 @@ import {
|
|
|
654
657
|
pointerPressure,
|
|
655
658
|
pointerStrokeSample,
|
|
656
659
|
pointerStrokeSamples,
|
|
660
|
+
shadeLightTile,
|
|
657
661
|
shadeTile,
|
|
658
662
|
srgbByteToLinear,
|
|
659
663
|
stepSlotTs,
|
|
660
664
|
wetGpuSupport,
|
|
661
665
|
wetSimdSupported,
|
|
662
666
|
wetSupport
|
|
663
|
-
} from "../chunk-
|
|
667
|
+
} from "../chunk-P3NIPIKS.js";
|
|
664
668
|
import {
|
|
665
669
|
BUILTIN_PROFILES,
|
|
666
670
|
CmsError,
|
|
@@ -729,8 +733,8 @@ import {
|
|
|
729
733
|
warpMeshParamAt,
|
|
730
734
|
warpMeshRows,
|
|
731
735
|
warpPresetMesh
|
|
732
|
-
} from "../chunk-
|
|
733
|
-
import "../chunk-
|
|
736
|
+
} from "../chunk-4EQY4TZJ.js";
|
|
737
|
+
import "../chunk-TBJEMELS.js";
|
|
734
738
|
import "../chunk-M6DNZNVY.js";
|
|
735
739
|
import {
|
|
736
740
|
bezierPathToSvg,
|
|
@@ -23095,6 +23099,7 @@ export {
|
|
|
23095
23099
|
MARGIN_FIT_MIN_GUTTER,
|
|
23096
23100
|
MASK_EDGE_THRESHOLDS,
|
|
23097
23101
|
MASK_FILE_ACCEPT,
|
|
23102
|
+
MASS_CHANNELS,
|
|
23098
23103
|
MAX_BATCH,
|
|
23099
23104
|
MAX_BRUSH_SIZE,
|
|
23100
23105
|
MAX_CANVAS_BACKING_SIDE,
|
|
@@ -23148,10 +23153,12 @@ export {
|
|
|
23148
23153
|
PSD_BLEND_KEYS,
|
|
23149
23154
|
PSD_FILE_ACCEPT,
|
|
23150
23155
|
P_D0,
|
|
23156
|
+
P_DL,
|
|
23151
23157
|
P_EDGE,
|
|
23152
23158
|
P_FX,
|
|
23153
23159
|
P_FY,
|
|
23154
23160
|
P_H,
|
|
23161
|
+
P_L,
|
|
23155
23162
|
P_P0,
|
|
23156
23163
|
P_RHO,
|
|
23157
23164
|
P_SW,
|
|
@@ -23957,6 +23964,7 @@ export {
|
|
|
23957
23964
|
setSmartFilterMask,
|
|
23958
23965
|
setSmartFiltersEnabled,
|
|
23959
23966
|
setSmartPlacement,
|
|
23967
|
+
shadeLightTile,
|
|
23960
23968
|
shadeTile,
|
|
23961
23969
|
shapeAsPixelLayer,
|
|
23962
23970
|
shapeFromAnnotation,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// src/paint/wet/kernel-wasm.ts
|
|
2
|
+
var WET_KERNEL_SOURCE_HASH = "ba31a8ff0de38d96";
|
|
3
|
+
var WET_KERNEL_SHARED = "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";
|
|
4
|
+
var WET_KERNEL_SINGLE = "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";
|
|
5
|
+
export {
|
|
6
|
+
WET_KERNEL_SHARED,
|
|
7
|
+
WET_KERNEL_SINGLE,
|
|
8
|
+
WET_KERNEL_SOURCE_HASH
|
|
9
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/paint/wet/kernel-wasm.ts
|
|
2
|
+
var WET_KERNEL_SOURCE_HASH = "ba31a8ff0de38d96";
|
|
3
|
+
var WET_KERNEL_SHARED = "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";
|
|
4
|
+
var WET_KERNEL_SINGLE = "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";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.WET_KERNEL_SHARED = WET_KERNEL_SHARED; exports.WET_KERNEL_SINGLE = WET_KERNEL_SINGLE; exports.WET_KERNEL_SOURCE_HASH = WET_KERNEL_SOURCE_HASH;
|
package/dist/paint/index.cjs
CHANGED
|
@@ -130,7 +130,11 @@ var _chunkBB6TR422cjs = require('../chunk-BB6TR422.cjs');
|
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
var _chunkVMROIWLLcjs = require('../chunk-VMROIWLL.cjs');
|
|
134
138
|
|
|
135
139
|
|
|
136
140
|
|
|
@@ -485,4 +489,8 @@ require('../chunk-XFM3OCHU.cjs');
|
|
|
485
489
|
|
|
486
490
|
|
|
487
491
|
|
|
488
|
-
exports.BODY_SCATTER = _chunkXFYLA3ZOcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkXFYLA3ZOcjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunk2ONK3ERDcjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkXFYLA3ZOcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkXFYLA3ZOcjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkXFYLA3ZOcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkXFYLA3ZOcjs.EX; exports.EY = _chunkXFYLA3ZOcjs.EY; exports.FLAG_ALIVE = _chunkXFYLA3ZOcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkXFYLA3ZOcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkXFYLA3ZOcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkXFYLA3ZOcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkXFYLA3ZOcjs.FLAG_TOP; exports.FLAG_WET = _chunkXFYLA3ZOcjs.FLAG_WET; exports.FLAT = _chunkXFYLA3ZOcjs.FLAT; exports.FREE_INTERVAL = _chunkXFYLA3ZOcjs.FREE_INTERVAL; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.HIDE = _chunkXFYLA3ZOcjs.HIDE; exports.IDENTITY_CLONE_TRANSFORM = _chunk2ONK3ERDcjs.IDENTITY_CLONE_TRANSFORM; exports.MAX_BATCH = _chunkXFYLA3ZOcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkXFYLA3ZOcjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkXFYLA3ZOcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkXFYLA3ZOcjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkXFYLA3ZOcjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkXFYLA3ZOcjs.PAPER_CAPACITY; exports.PARAM = _chunkXFYLA3ZOcjs.PARAM; exports.PARAM_FLOATS = _chunkXFYLA3ZOcjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkXFYLA3ZOcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkXFYLA3ZOcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkXFYLA3ZOcjs.PLANE; exports.PLANE_BYTES = _chunkXFYLA3ZOcjs.PLANE_BYTES; exports.P_D0 = _chunkXFYLA3ZOcjs.P_D0; exports.P_EDGE = _chunkXFYLA3ZOcjs.P_EDGE; exports.P_FX = _chunkXFYLA3ZOcjs.P_FX; exports.P_FY = _chunkXFYLA3ZOcjs.P_FY; exports.P_H = _chunkXFYLA3ZOcjs.P_H; exports.P_P0 = _chunkXFYLA3ZOcjs.P_P0; exports.P_RHO = _chunkXFYLA3ZOcjs.P_RHO; exports.P_SW = _chunkXFYLA3ZOcjs.P_SW; exports.P_UX = _chunkXFYLA3ZOcjs.P_UX; exports.P_UY = _chunkXFYLA3ZOcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.RETOUCH_SAMPLES = _chunk2ONK3ERDcjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunk2ONK3ERDcjs.RegionPixelSource; exports.RetouchDabStroke = _chunk2ONK3ERDcjs.RetouchDabStroke; exports.SET_PLANES = _chunkXFYLA3ZOcjs.SET_PLANES; exports.SLOT_BYTES = _chunkXFYLA3ZOcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkXFYLA3ZOcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkXFYLA3ZOcjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunk2ONK3ERDcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkXFYLA3ZOcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkXFYLA3ZOcjs.STRIP; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunk2ONK3ERDcjs.TONE_RANGES; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunk2ONK3ERDcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TransformedPixelSource = _chunk2ONK3ERDcjs.TransformedPixelSource; exports.U_MAX = _chunkXFYLA3ZOcjs.U_MAX; exports.W9 = _chunkXFYLA3ZOcjs.W9; exports.WET_FLOW_KINDS = _chunkXFYLA3ZOcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkXFYLA3ZOcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkXFYLA3ZOcjs.WET_TILE; exports.WGSL_HALO = _chunkXFYLA3ZOcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkXFYLA3ZOcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkXFYLA3ZOcjs.WGSL_STEP; exports.WetGpuEngine = _chunkXFYLA3ZOcjs.WetGpuEngine; exports.WetMedium = _chunkXFYLA3ZOcjs.WetMedium; exports.WetWorkerPool = _chunkXFYLA3ZOcjs.WetWorkerPool; exports.WetWorld = _chunkXFYLA3ZOcjs.WetWorld; exports.WetWorldError = _chunkXFYLA3ZOcjs.WetWorldError; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.applyRetouchToTile = _chunk2ONK3ERDcjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunk2ONK3ERDcjs.applyToneToDeepTile; exports.bestOffset = _chunkBB6TR422cjs.bestOffset; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.boxBlurPixels = _chunk2ONK3ERDcjs.boxBlurPixels; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkXFYLA3ZOcjs.canShareMemory; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunk2ONK3ERDcjs.cloneSamplePoint; exports.contentAwareFill = _chunkBB6TR422cjs.contentAwareFill; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkXFYLA3ZOcjs.createPigmentTools; exports.createWetGpuEngine = _chunkXFYLA3ZOcjs.createWetGpuEngine; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.dexp = _chunkXFYLA3ZOcjs.dexp; exports.dilateMask = _chunkBB6TR422cjs.dilateMask; exports.dlog = _chunkXFYLA3ZOcjs.dlog; exports.dodgeBurn = _chunk2ONK3ERDcjs.dodgeBurn; exports.dodgeBurnCurve = _chunk2ONK3ERDcjs.dodgeBurnCurve; exports.dpow = _chunkXFYLA3ZOcjs.dpow; exports.dsincos = _chunkXFYLA3ZOcjs.dsincos; exports.edgeBits = _chunkXFYLA3ZOcjs.edgeBits; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkXFYLA3ZOcjs.expNeg; exports.filmPixel = _chunkXFYLA3ZOcjs.filmPixel; exports.filmReflectance = _chunkXFYLA3ZOcjs.filmReflectance; exports.findWebGpu = _chunkXFYLA3ZOcjs.findWebGpu; exports.flowField = _chunkXFYLA3ZOcjs.flowField; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.healPixels = _chunk2ONK3ERDcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunk2ONK3ERDcjs.isIdentityCloneTransform; exports.latticeViscosity = _chunkXFYLA3ZOcjs.latticeViscosity; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkXFYLA3ZOcjs.linearToSrgb8; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadWetKernel = _chunkXFYLA3ZOcjs.loadWetKernel; exports.luma = _chunk2ONK3ERDcjs.luma; exports.maskBounds = _chunkBB6TR422cjs.maskBounds; exports.membraneFill = _chunkBB6TR422cjs.membraneFill; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.moveWetSnapshot = _chunkXFYLA3ZOcjs.moveWetSnapshot; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFlow = _chunkXFYLA3ZOcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizeRetouch = _chunk2ONK3ERDcjs.normalizeRetouch; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeTilt = _chunkXFYLA3ZOcjs.normalizeTilt; exports.normalizeWetParams = _chunkXFYLA3ZOcjs.normalizeWetParams; exports.packWetParams = _chunkXFYLA3ZOcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.perDabStrength = _chunk2ONK3ERDcjs.perDabStrength; exports.pigmentColor = _chunkXFYLA3ZOcjs.pigmentColor; exports.pigmentOf = _chunkXFYLA3ZOcjs.pigmentOf; exports.pixelPigment = _chunkXFYLA3ZOcjs.pixelPigment; exports.pointerPressure = _chunkXFYLA3ZOcjs.pointerPressure; exports.pointerStrokeSample = _chunkXFYLA3ZOcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkXFYLA3ZOcjs.pointerStrokeSamples; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readSourceRegion = _chunk2ONK3ERDcjs.readSourceRegion; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.retouchFilter = _chunk2ONK3ERDcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunk2ONK3ERDcjs.rgbaViewOfGrey; exports.saturationOf = _chunk2ONK3ERDcjs.saturationOf; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkBB6TR422cjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.shadeTile = _chunkXFYLA3ZOcjs.shadeTile; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smudgeEffect = _chunk2ONK3ERDcjs.smudgeEffect; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solveMembrane = _chunkBB6TR422cjs.solveMembrane; exports.sponge = _chunk2ONK3ERDcjs.sponge; exports.spongeEffect = _chunk2ONK3ERDcjs.spongeEffect; exports.spotHealPixels = _chunk2ONK3ERDcjs.spotHealPixels; exports.spotHealWindow = _chunk2ONK3ERDcjs.spotHealWindow; exports.srgbByteToLinear = _chunkXFYLA3ZOcjs.srgbByteToLinear; exports.stepSlotTs = _chunkXFYLA3ZOcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.toneOf = _chunk2ONK3ERDcjs.toneOf; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.wetGpuSupport = _chunkXFYLA3ZOcjs.wetGpuSupport; exports.wetSimdSupported = _chunkXFYLA3ZOcjs.wetSimdSupported; exports.wetSupport = _chunkXFYLA3ZOcjs.wetSupport;
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
exports.BODY_SCATTER = _chunkVMROIWLLcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_FLOW = _chunkVMROIWLLcjs.DEFAULT_FLOW; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_RETOUCH = _chunk2ONK3ERDcjs.DEFAULT_RETOUCH; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_WET_PAPER = _chunkVMROIWLLcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkVMROIWLLcjs.DEFAULT_WET_PARAMS; exports.DRY_EPS = _chunkVMROIWLLcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkVMROIWLLcjs.EX; exports.EY = _chunkVMROIWLLcjs.EY; exports.FLAG_ALIVE = _chunkVMROIWLLcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkVMROIWLLcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkVMROIWLLcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkVMROIWLLcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkVMROIWLLcjs.FLAG_TOP; exports.FLAG_WET = _chunkVMROIWLLcjs.FLAG_WET; exports.FLAT = _chunkVMROIWLLcjs.FLAT; exports.FREE_INTERVAL = _chunkVMROIWLLcjs.FREE_INTERVAL; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.HIDE = _chunkVMROIWLLcjs.HIDE; exports.IDENTITY_CLONE_TRANSFORM = _chunk2ONK3ERDcjs.IDENTITY_CLONE_TRANSFORM; exports.MASS_CHANNELS = _chunkVMROIWLLcjs.MASS_CHANNELS; exports.MAX_BATCH = _chunkVMROIWLLcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_TILT_ACCEL = _chunkVMROIWLLcjs.MAX_TILT_ACCEL; exports.MAX_WET_LANES = _chunkVMROIWLLcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkVMROIWLLcjs.MAX_WET_SLOTS; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkVMROIWLLcjs.OPP; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAPER_CAPACITY = _chunkVMROIWLLcjs.PAPER_CAPACITY; exports.PARAM = _chunkVMROIWLLcjs.PARAM; exports.PARAM_FLOATS = _chunkVMROIWLLcjs.PARAM_FLOATS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkVMROIWLLcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkVMROIWLLcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkVMROIWLLcjs.PLANE; exports.PLANE_BYTES = _chunkVMROIWLLcjs.PLANE_BYTES; exports.P_D0 = _chunkVMROIWLLcjs.P_D0; exports.P_DL = _chunkVMROIWLLcjs.P_DL; exports.P_EDGE = _chunkVMROIWLLcjs.P_EDGE; exports.P_FX = _chunkVMROIWLLcjs.P_FX; exports.P_FY = _chunkVMROIWLLcjs.P_FY; exports.P_H = _chunkVMROIWLLcjs.P_H; exports.P_L = _chunkVMROIWLLcjs.P_L; exports.P_P0 = _chunkVMROIWLLcjs.P_P0; exports.P_RHO = _chunkVMROIWLLcjs.P_RHO; exports.P_SW = _chunkVMROIWLLcjs.P_SW; exports.P_UX = _chunkVMROIWLLcjs.P_UX; exports.P_UY = _chunkVMROIWLLcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.RETOUCH_SAMPLES = _chunk2ONK3ERDcjs.RETOUCH_SAMPLES; exports.RegionPixelSource = _chunk2ONK3ERDcjs.RegionPixelSource; exports.RetouchDabStroke = _chunk2ONK3ERDcjs.RetouchDabStroke; exports.SET_PLANES = _chunkVMROIWLLcjs.SET_PLANES; exports.SLOT_BYTES = _chunkVMROIWLLcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkVMROIWLLcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkVMROIWLLcjs.SLOT_SIDE; exports.SPOT_HEAL_TYPES = _chunk2ONK3ERDcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkVMROIWLLcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkVMROIWLLcjs.STRIP; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_RANGES = _chunk2ONK3ERDcjs.TONE_RANGES; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunk2ONK3ERDcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TransformedPixelSource = _chunk2ONK3ERDcjs.TransformedPixelSource; exports.U_MAX = _chunkVMROIWLLcjs.U_MAX; exports.W9 = _chunkVMROIWLLcjs.W9; exports.WET_FLOW_KINDS = _chunkVMROIWLLcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkVMROIWLLcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkVMROIWLLcjs.WET_TILE; exports.WGSL_HALO = _chunkVMROIWLLcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkVMROIWLLcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkVMROIWLLcjs.WGSL_STEP; exports.WetGpuEngine = _chunkVMROIWLLcjs.WetGpuEngine; exports.WetMedium = _chunkVMROIWLLcjs.WetMedium; exports.WetWorkerPool = _chunkVMROIWLLcjs.WetWorkerPool; exports.WetWorld = _chunkVMROIWLLcjs.WetWorld; exports.WetWorldError = _chunkVMROIWLLcjs.WetWorldError; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.applyRetouchToTile = _chunk2ONK3ERDcjs.applyRetouchToTile; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunk2ONK3ERDcjs.applyToneToDeepTile; exports.bestOffset = _chunkBB6TR422cjs.bestOffset; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.boxBlurPixels = _chunk2ONK3ERDcjs.boxBlurPixels; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.canShareMemory = _chunkVMROIWLLcjs.canShareMemory; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunk2ONK3ERDcjs.cloneSamplePoint; exports.contentAwareFill = _chunkBB6TR422cjs.contentAwareFill; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkVMROIWLLcjs.createPigmentTools; exports.createWetGpuEngine = _chunkVMROIWLLcjs.createWetGpuEngine; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.dexp = _chunkVMROIWLLcjs.dexp; exports.dilateMask = _chunkBB6TR422cjs.dilateMask; exports.dlog = _chunkVMROIWLLcjs.dlog; exports.dodgeBurn = _chunk2ONK3ERDcjs.dodgeBurn; exports.dodgeBurnCurve = _chunk2ONK3ERDcjs.dodgeBurnCurve; exports.dpow = _chunkVMROIWLLcjs.dpow; exports.dsincos = _chunkVMROIWLLcjs.dsincos; exports.edgeBits = _chunkVMROIWLLcjs.edgeBits; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkVMROIWLLcjs.expNeg; exports.filmPixel = _chunkVMROIWLLcjs.filmPixel; exports.filmReflectance = _chunkVMROIWLLcjs.filmReflectance; exports.findWebGpu = _chunkVMROIWLLcjs.findWebGpu; exports.flowField = _chunkVMROIWLLcjs.flowField; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.healPixels = _chunk2ONK3ERDcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunk2ONK3ERDcjs.isIdentityCloneTransform; exports.latticeViscosity = _chunkVMROIWLLcjs.latticeViscosity; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.linearToSrgb8 = _chunkVMROIWLLcjs.linearToSrgb8; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadWetKernel = _chunkVMROIWLLcjs.loadWetKernel; exports.luma = _chunk2ONK3ERDcjs.luma; exports.maskBounds = _chunkBB6TR422cjs.maskBounds; exports.membraneFill = _chunkBB6TR422cjs.membraneFill; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.moveWetSnapshot = _chunkVMROIWLLcjs.moveWetSnapshot; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFlow = _chunkVMROIWLLcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizeRetouch = _chunk2ONK3ERDcjs.normalizeRetouch; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeTilt = _chunkVMROIWLLcjs.normalizeTilt; exports.normalizeWetParams = _chunkVMROIWLLcjs.normalizeWetParams; exports.packWetParams = _chunkVMROIWLLcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.perDabStrength = _chunk2ONK3ERDcjs.perDabStrength; exports.pigmentColor = _chunkVMROIWLLcjs.pigmentColor; exports.pigmentOf = _chunkVMROIWLLcjs.pigmentOf; exports.pixelPigment = _chunkVMROIWLLcjs.pixelPigment; exports.pointerPressure = _chunkVMROIWLLcjs.pointerPressure; exports.pointerStrokeSample = _chunkVMROIWLLcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkVMROIWLLcjs.pointerStrokeSamples; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readSourceRegion = _chunk2ONK3ERDcjs.readSourceRegion; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.retouchFilter = _chunk2ONK3ERDcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbaViewOfGrey = _chunk2ONK3ERDcjs.rgbaViewOfGrey; exports.saturationOf = _chunk2ONK3ERDcjs.saturationOf; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkBB6TR422cjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.shadeLightTile = _chunkVMROIWLLcjs.shadeLightTile; exports.shadeTile = _chunkVMROIWLLcjs.shadeTile; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smudgeEffect = _chunk2ONK3ERDcjs.smudgeEffect; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solveMembrane = _chunkBB6TR422cjs.solveMembrane; exports.sponge = _chunk2ONK3ERDcjs.sponge; exports.spongeEffect = _chunk2ONK3ERDcjs.spongeEffect; exports.spotHealPixels = _chunk2ONK3ERDcjs.spotHealPixels; exports.spotHealWindow = _chunk2ONK3ERDcjs.spotHealWindow; exports.srgbByteToLinear = _chunkVMROIWLLcjs.srgbByteToLinear; exports.stepSlotTs = _chunkVMROIWLLcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.toneOf = _chunk2ONK3ERDcjs.toneOf; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.wetGpuSupport = _chunkVMROIWLLcjs.wetGpuSupport; exports.wetSimdSupported = _chunkVMROIWLLcjs.wetSimdSupported; exports.wetSupport = _chunkVMROIWLLcjs.wetSupport;
|
package/dist/paint/index.js
CHANGED
|
@@ -56,6 +56,7 @@ import {
|
|
|
56
56
|
FLAT,
|
|
57
57
|
FREE_INTERVAL,
|
|
58
58
|
HIDE,
|
|
59
|
+
MASS_CHANNELS,
|
|
59
60
|
MAX_BATCH,
|
|
60
61
|
MAX_TILT_ACCEL,
|
|
61
62
|
MAX_WET_LANES,
|
|
@@ -69,10 +70,12 @@ import {
|
|
|
69
70
|
PLANE,
|
|
70
71
|
PLANE_BYTES,
|
|
71
72
|
P_D0,
|
|
73
|
+
P_DL,
|
|
72
74
|
P_EDGE,
|
|
73
75
|
P_FX,
|
|
74
76
|
P_FY,
|
|
75
77
|
P_H,
|
|
78
|
+
P_L,
|
|
76
79
|
P_P0,
|
|
77
80
|
P_RHO,
|
|
78
81
|
P_SW,
|
|
@@ -124,13 +127,14 @@ import {
|
|
|
124
127
|
pointerPressure,
|
|
125
128
|
pointerStrokeSample,
|
|
126
129
|
pointerStrokeSamples,
|
|
130
|
+
shadeLightTile,
|
|
127
131
|
shadeTile,
|
|
128
132
|
srgbByteToLinear,
|
|
129
133
|
stepSlotTs,
|
|
130
134
|
wetGpuSupport,
|
|
131
135
|
wetSimdSupported,
|
|
132
136
|
wetSupport
|
|
133
|
-
} from "../chunk-
|
|
137
|
+
} from "../chunk-P3NIPIKS.js";
|
|
134
138
|
import {
|
|
135
139
|
BrushstrokeCache,
|
|
136
140
|
CoverageMap,
|
|
@@ -281,6 +285,7 @@ export {
|
|
|
281
285
|
GRAIN_TILE,
|
|
282
286
|
HIDE,
|
|
283
287
|
IDENTITY_CLONE_TRANSFORM,
|
|
288
|
+
MASS_CHANNELS,
|
|
284
289
|
MAX_BATCH,
|
|
285
290
|
MAX_BRUSH_SIZE,
|
|
286
291
|
MAX_TILT_ACCEL,
|
|
@@ -315,10 +320,12 @@ export {
|
|
|
315
320
|
PLANE,
|
|
316
321
|
PLANE_BYTES,
|
|
317
322
|
P_D0,
|
|
323
|
+
P_DL,
|
|
318
324
|
P_EDGE,
|
|
319
325
|
P_FX,
|
|
320
326
|
P_FY,
|
|
321
327
|
P_H,
|
|
328
|
+
P_L,
|
|
322
329
|
P_P0,
|
|
323
330
|
P_RHO,
|
|
324
331
|
P_SW,
|
|
@@ -464,6 +471,7 @@ export {
|
|
|
464
471
|
seamlessClone,
|
|
465
472
|
seedFromString,
|
|
466
473
|
setPigmentColor,
|
|
474
|
+
shadeLightTile,
|
|
467
475
|
shadeTile,
|
|
468
476
|
smoothPoints,
|
|
469
477
|
smudgeEffect,
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
* bits differ between JavaScript engines), so "dry on save" gives the same pixels everywhere.
|
|
16
16
|
* The layer pixel is the film expressed as colour plus alpha over the paper colour (exact over the
|
|
17
17
|
* paper, a normal-blend approximation over other layers), with alpha never below the pixel's own.
|
|
18
|
+
* Any alpha from the least the colour needs (`aMin`) up to 1 shows the same over the paper, so the
|
|
19
|
+
* film's hiding is kept in it: `alpha = aMin + hide·(1 − aMin)`. A transparent wash (hide 0) gets
|
|
20
|
+
* the least alpha; gouache and oil are more opaque, which backlit paper reads back (`backlight.ts`).
|
|
18
21
|
*/
|
|
19
22
|
/** Pigment mass of a full-strength wash of a colour. */
|
|
20
23
|
export declare const PIGMENT_UNIT = 0.25;
|
|
@@ -67,5 +70,20 @@ export declare function pixelPigment(px: ArrayLike<number>, i: number, paper: Ar
|
|
|
67
70
|
* Cell (x, y) of the tile is at offset `(y + 1)·side + x + 1` of each plane. `src` is the base tile
|
|
68
71
|
* (or `null` for transparent); writes `out` (a copy of `src` where nothing changes). Returns
|
|
69
72
|
* whether any pixel was shaded.
|
|
73
|
+
*
|
|
74
|
+
* Light paint (settled light at `dl`, plus suspended at `pl`; −1 for none): glowing paint gives off
|
|
75
|
+
* its own hue whatever is under it, so where a cell holds light `l` its film moves towards the film
|
|
76
|
+
* over white by `min(1, l)`. On dark paper a glowing glaze then shows its colour, which its glow
|
|
77
|
+
* (`paint-editor/light.ts`) brightens.
|
|
78
|
+
*/
|
|
79
|
+
export declare function shadeTile(f: Float32Array, plane: number, side: number, d: number, p: number, rho: number, sw: number, src: Uint8ClampedArray | null, out: Uint8ClampedArray, w: number, h: number, paper: Uint8Array, dl?: number, pl?: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Light paint in a wet layer as an 8-bit light tile (one channel, 0..255; see `paint-editor/light.ts`).
|
|
82
|
+
* Light mass `L` (settled at `dl`, plus suspended at `pl` unless it is −1) shows as `min(1, L)`;
|
|
83
|
+
* the light already in the layer (`src`, or `null`) shows through the film over it by the film's
|
|
84
|
+
* transmission, `(1 − hide)·mean(e^(−2K))`, using the same planes as `shadeTile` (`d` settled
|
|
85
|
+
* pigment, `p` suspended or −1), so plain wet paint over glowing paint dims it. Deterministic
|
|
86
|
+
* (table `exp`, + − × only). Writes `out` (a copy of `src` where nothing changes); returns whether
|
|
87
|
+
* any pixel changed.
|
|
70
88
|
*/
|
|
71
|
-
export declare function
|
|
89
|
+
export declare function shadeLightTile(f: Float32Array, plane: number, side: number, d: number, p: number, dl: number, pl: number, src: Uint8ClampedArray | null, out: Uint8ClampedArray, w: number, h: number): boolean;
|
package/dist/paint/wet/film.d.ts
CHANGED
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
* bits differ between JavaScript engines), so "dry on save" gives the same pixels everywhere.
|
|
16
16
|
* The layer pixel is the film expressed as colour plus alpha over the paper colour (exact over the
|
|
17
17
|
* paper, a normal-blend approximation over other layers), with alpha never below the pixel's own.
|
|
18
|
+
* Any alpha from the least the colour needs (`aMin`) up to 1 shows the same over the paper, so the
|
|
19
|
+
* film's hiding is kept in it: `alpha = aMin + hide·(1 − aMin)`. A transparent wash (hide 0) gets
|
|
20
|
+
* the least alpha; gouache and oil are more opaque, which backlit paper reads back (`backlight.ts`).
|
|
18
21
|
*/
|
|
19
22
|
/** Pigment mass of a full-strength wash of a colour. */
|
|
20
23
|
export declare const PIGMENT_UNIT = 0.25;
|
|
@@ -67,5 +70,20 @@ export declare function pixelPigment(px: ArrayLike<number>, i: number, paper: Ar
|
|
|
67
70
|
* Cell (x, y) of the tile is at offset `(y + 1)·side + x + 1` of each plane. `src` is the base tile
|
|
68
71
|
* (or `null` for transparent); writes `out` (a copy of `src` where nothing changes). Returns
|
|
69
72
|
* whether any pixel was shaded.
|
|
73
|
+
*
|
|
74
|
+
* Light paint (settled light at `dl`, plus suspended at `pl`; −1 for none): glowing paint gives off
|
|
75
|
+
* its own hue whatever is under it, so where a cell holds light `l` its film moves towards the film
|
|
76
|
+
* over white by `min(1, l)`. On dark paper a glowing glaze then shows its colour, which its glow
|
|
77
|
+
* (`paint-editor/light.ts`) brightens.
|
|
78
|
+
*/
|
|
79
|
+
export declare function shadeTile(f: Float32Array, plane: number, side: number, d: number, p: number, rho: number, sw: number, src: Uint8ClampedArray | null, out: Uint8ClampedArray, w: number, h: number, paper: Uint8Array, dl?: number, pl?: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Light paint in a wet layer as an 8-bit light tile (one channel, 0..255; see `paint-editor/light.ts`).
|
|
82
|
+
* Light mass `L` (settled at `dl`, plus suspended at `pl` unless it is −1) shows as `min(1, L)`;
|
|
83
|
+
* the light already in the layer (`src`, or `null`) shows through the film over it by the film's
|
|
84
|
+
* transmission, `(1 − hide)·mean(e^(−2K))`, using the same planes as `shadeTile` (`d` settled
|
|
85
|
+
* pigment, `p` suspended or −1), so plain wet paint over glowing paint dims it. Deterministic
|
|
86
|
+
* (table `exp`, + − × only). Writes `out` (a copy of `src` where nothing changes); returns whether
|
|
87
|
+
* any pixel changed.
|
|
70
88
|
*/
|
|
71
|
-
export declare function
|
|
89
|
+
export declare function shadeLightTile(f: Float32Array, plane: number, side: number, d: number, p: number, dl: number, pl: number, src: Uint8ClampedArray | null, out: Uint8ClampedArray, w: number, h: number): boolean;
|
|
@@ -21,10 +21,10 @@ export declare const WGSL_STEP: string;
|
|
|
21
21
|
* `WetWorld.haloTs` does: `dispatchWorkgroups(17, SET_PLANES, jobs)`. A missing neighbour leaves
|
|
22
22
|
* the halo as it is.
|
|
23
23
|
*/
|
|
24
|
-
export declare const WGSL_HALO = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 =
|
|
24
|
+
export declare const WGSL_HALO = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 = 19u;\nconst NONE: u32 = 0xffffffffu;\nstruct Job {\n base: u32,\n lane: u32,\n nb: array<u32, 8>,\n w: u32,\n h: u32,\n src: u32,\n pad0: u32,\n pad1: u32,\n pad2: u32,\n};\nstruct Uni {\n parity: u32,\n mode: u32,\n paper: u32,\n pad: u32,\n};\n\n@group(0) @binding(0) var<storage, read_write> st: array<f32>;\n@group(0) @binding(2) var<storage, read> jobs: array<Job>;\n@group(0) @binding(4) var<uniform> u: Uni;\n\n@compute @workgroup_size(64, 1, 1)\nfn main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = gid.x;\n if (i >= 4u * S) { return; }\n let job = jobs[gid.z];\n let side = i / S;\n let j = i % S;\n let off = u.parity * SETP * PL + gid.y * PL;\n var srcSlot = NONE;\n var fc = 0u;\n var tc = 0u;\n if (side == 0u) {\n tc = j;\n if (j == 0u) { srcSlot = job.nb[4]; fc = 256u * S + 256u; }\n else if (j == S - 1u) { srcSlot = job.nb[5]; fc = 256u * S + 1u; }\n else { srcSlot = job.nb[0]; fc = 256u * S + j; }\n } else if (side == 1u) {\n tc = (S - 1u) * S + j;\n if (j == 0u) { srcSlot = job.nb[6]; fc = S + 256u; }\n else if (j == S - 1u) { srcSlot = job.nb[7]; fc = S + 1u; }\n else { srcSlot = job.nb[1]; fc = S + j; }\n } else if (side == 2u) {\n if (j == 0u || j == S - 1u) { return; }\n tc = j * S;\n srcSlot = job.nb[2];\n fc = j * S + 256u;\n } else {\n if (j == 0u || j == S - 1u) { return; }\n tc = j * S + S - 1u;\n srcSlot = job.nb[3];\n fc = j * S + 1u;\n }\n if (srcSlot == NONE) { return; }\n st[job.base + off + tc] = st[srcSlot + off + fc];\n}\n";
|
|
25
25
|
/**
|
|
26
26
|
* Shades each job's tile for display over its base tile (or transparent), as `film.ts`'s
|
|
27
27
|
* `shadeTile` does in 'display' mode (mode 0) or 'bake-all' (mode 1, a preview of drying):
|
|
28
28
|
* `dispatchWorkgroups(16, 16, jobs)`. Writes RGBA8 (packed little-endian u32) per pixel.
|
|
29
29
|
*/
|
|
30
|
-
export declare const WGSL_SHADE = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 =
|
|
30
|
+
export declare const WGSL_SHADE = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 = 19u;\nconst NONE: u32 = 0xffffffffu;\nstruct Job {\n base: u32,\n lane: u32,\n nb: array<u32, 8>,\n w: u32,\n h: u32,\n src: u32,\n pad0: u32,\n pad1: u32,\n pad2: u32,\n};\nstruct Uni {\n parity: u32,\n mode: u32,\n paper: u32,\n pad: u32,\n};\n\n@group(0) @binding(0) var<storage, read> st: array<f32>;\n@group(0) @binding(1) var<storage, read> srcTiles: array<u32>;\n@group(0) @binding(2) var<storage, read> jobs: array<Job>;\n@group(0) @binding(3) var<storage, read_write> outTiles: array<u32>;\n@group(0) @binding(4) var<uniform> u: Uni;\n\nconst HIDE: f32 = 1.5;\n\nfn toLinear(v: f32) -> f32 {\n let x = clamp(v / 255.0, 0.0, 1.0);\n return select(pow((x + 0.055) / 1.055, 2.4), x / 12.92, x <= 0.04045);\n}\nfn toByte(v: f32) -> f32 {\n let x = clamp(v, 0.0, 1.0);\n let e = select(1.055 * pow(x, 1.0 / 2.4) - 0.055, 12.92 * x, x <= 0.0031308);\n return clamp(round(e * 255.0), 0.0, 255.0);\n}\nfn rinf(ks: f32) -> f32 { return 1.0 + ks - sqrt(ks * ks + 2.0 * ks); }\nfn needAlpha(e: f32, p: f32, a: f32) -> f32 {\n if (e < p) { return max(a, 1.0 - e / p); }\n if (e > p) { return max(a, (e - p) / (255.0 - p)); }\n return a;\n}\n\n@compute @workgroup_size(16, 16, 1)\nfn main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let job = jobs[gid.z];\n let x = gid.x;\n let y = gid.y;\n let o = gid.z * 65536u + y * 256u + x;\n var px = 0u;\n if (job.src != NONE) { px = srcTiles[job.src * 65536u + y * 256u + x]; }\n if (x >= job.w || y >= job.h) { outTiles[o] = px; return; }\n let c = (y + 1u) * S + x + 1u;\n let cur = job.base + u.parity * SETP * PL;\n let d = job.base + 38u * PL;\n let p = cur + 13u * PL;\n var k = vec4<f32>(st[d + c], st[d + PL + c], st[d + 2u * PL + c], st[d + 3u * PL + c]);\n k = k + vec4<f32>(st[p + c], st[p + PL + c], st[p + 2u * PL + c], st[p + 3u * PL + c]);\n var wet = 0.0;\n if (u.mode == 0u) { wet = min(1.0, st[cur + 9u * PL + c] * 4.0 + st[cur + 12u * PL + c]); }\n if (!(k.x > 1e-7 || k.y > 1e-7 || k.z > 1e-7 || k.w > 1e-7) && wet <= 0.0) { outTiles[o] = px; return; }\n let paper = vec3<f32>(f32(u.paper & 255u), f32((u.paper >> 8u) & 255u), f32((u.paper >> 16u) & 255u));\n let pr = vec4<f32>(f32(px & 255u), f32((px >> 8u) & 255u), f32((px >> 16u) & 255u), f32(px >> 24u));\n let a = pr.w / 255.0;\n let below = vec3<f32>(toLinear(a * pr.x + (1.0 - a) * paper.x), toLinear(a * pr.y + (1.0 - a) * paper.y), toLinear(a * pr.z + (1.0 - a) * paper.z));\n let s = k.w;\n var hide = 0.0;\n if (s > 0.0) { hide = 1.0 - exp(-HIDE * s); }\n let keep = 1.0 - hide;\n var inv = 0.0;\n if (s > 1e-9) { inv = 1.0 / s; }\n var film = keep * exp(-2.0 * k.xyz) * below;\n if (hide > 0.0) { film = film + hide * vec3<f32>(rinf(k.x * inv), rinf(k.y * inv), rinf(k.z * inv)); }\n // Light paint: glowing paint shows its own hue (the film over white), as shadeTile does.\n let l = min(1.0, st[d + 4u * PL + c] + st[p + 4u * PL + c]);\n if (l > 1e-7) {\n var w = keep * exp(-2.0 * k.xyz);\n if (hide > 0.0) { w = w + hide * vec3<f32>(rinf(k.x * inv), rinf(k.y * inv), rinf(k.z * inv)); }\n film = film + l * (w - film);\n }\n let dark = 1.0 - 0.07 * wet;\n let e = vec3<f32>(toByte(film.x * dark), toByte(film.y * dark), toByte(film.z * dark));\n var alpha = needAlpha(e.z, paper.z, needAlpha(e.y, paper.y, needAlpha(e.x, paper.x, 0.0)));\n if (hide > 0.0 && alpha < 1.0) { alpha = alpha + hide * (1.0 - alpha); }\n alpha = max(alpha, a);\n if (alpha <= 0.0) { outTiles[o] = px & 0x00ffffffu; return; }\n let a8 = max(round(min(1.0, alpha) * 255.0), pr.w);\n let al = a8 / 255.0;\n let kk = 1.0 - al;\n let rgb = clamp(round((e - kk * paper) / al), vec3<f32>(0.0), vec3<f32>(255.0));\n outTiles[o] = u32(rgb.x) | (u32(rgb.y) << 8u) | (u32(rgb.z) << 16u) | (u32(a8) << 24u);\n}\n";
|
|
@@ -21,10 +21,10 @@ export declare const WGSL_STEP: string;
|
|
|
21
21
|
* `WetWorld.haloTs` does: `dispatchWorkgroups(17, SET_PLANES, jobs)`. A missing neighbour leaves
|
|
22
22
|
* the halo as it is.
|
|
23
23
|
*/
|
|
24
|
-
export declare const WGSL_HALO = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 =
|
|
24
|
+
export declare const WGSL_HALO = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 = 19u;\nconst NONE: u32 = 0xffffffffu;\nstruct Job {\n base: u32,\n lane: u32,\n nb: array<u32, 8>,\n w: u32,\n h: u32,\n src: u32,\n pad0: u32,\n pad1: u32,\n pad2: u32,\n};\nstruct Uni {\n parity: u32,\n mode: u32,\n paper: u32,\n pad: u32,\n};\n\n@group(0) @binding(0) var<storage, read_write> st: array<f32>;\n@group(0) @binding(2) var<storage, read> jobs: array<Job>;\n@group(0) @binding(4) var<uniform> u: Uni;\n\n@compute @workgroup_size(64, 1, 1)\nfn main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let i = gid.x;\n if (i >= 4u * S) { return; }\n let job = jobs[gid.z];\n let side = i / S;\n let j = i % S;\n let off = u.parity * SETP * PL + gid.y * PL;\n var srcSlot = NONE;\n var fc = 0u;\n var tc = 0u;\n if (side == 0u) {\n tc = j;\n if (j == 0u) { srcSlot = job.nb[4]; fc = 256u * S + 256u; }\n else if (j == S - 1u) { srcSlot = job.nb[5]; fc = 256u * S + 1u; }\n else { srcSlot = job.nb[0]; fc = 256u * S + j; }\n } else if (side == 1u) {\n tc = (S - 1u) * S + j;\n if (j == 0u) { srcSlot = job.nb[6]; fc = S + 256u; }\n else if (j == S - 1u) { srcSlot = job.nb[7]; fc = S + 1u; }\n else { srcSlot = job.nb[1]; fc = S + j; }\n } else if (side == 2u) {\n if (j == 0u || j == S - 1u) { return; }\n tc = j * S;\n srcSlot = job.nb[2];\n fc = j * S + 256u;\n } else {\n if (j == 0u || j == S - 1u) { return; }\n tc = j * S + S - 1u;\n srcSlot = job.nb[3];\n fc = j * S + 1u;\n }\n if (srcSlot == NONE) { return; }\n st[job.base + off + tc] = st[srcSlot + off + fc];\n}\n";
|
|
25
25
|
/**
|
|
26
26
|
* Shades each job's tile for display over its base tile (or transparent), as `film.ts`'s
|
|
27
27
|
* `shadeTile` does in 'display' mode (mode 0) or 'bake-all' (mode 1, a preview of drying):
|
|
28
28
|
* `dispatchWorkgroups(16, 16, jobs)`. Writes RGBA8 (packed little-endian u32) per pixel.
|
|
29
29
|
*/
|
|
30
|
-
export declare const WGSL_SHADE = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 =
|
|
30
|
+
export declare const WGSL_SHADE = "\nconst S: u32 = 258u;\nconst PL: u32 = 66564u;\nconst SETP: u32 = 19u;\nconst NONE: u32 = 0xffffffffu;\nstruct Job {\n base: u32,\n lane: u32,\n nb: array<u32, 8>,\n w: u32,\n h: u32,\n src: u32,\n pad0: u32,\n pad1: u32,\n pad2: u32,\n};\nstruct Uni {\n parity: u32,\n mode: u32,\n paper: u32,\n pad: u32,\n};\n\n@group(0) @binding(0) var<storage, read> st: array<f32>;\n@group(0) @binding(1) var<storage, read> srcTiles: array<u32>;\n@group(0) @binding(2) var<storage, read> jobs: array<Job>;\n@group(0) @binding(3) var<storage, read_write> outTiles: array<u32>;\n@group(0) @binding(4) var<uniform> u: Uni;\n\nconst HIDE: f32 = 1.5;\n\nfn toLinear(v: f32) -> f32 {\n let x = clamp(v / 255.0, 0.0, 1.0);\n return select(pow((x + 0.055) / 1.055, 2.4), x / 12.92, x <= 0.04045);\n}\nfn toByte(v: f32) -> f32 {\n let x = clamp(v, 0.0, 1.0);\n let e = select(1.055 * pow(x, 1.0 / 2.4) - 0.055, 12.92 * x, x <= 0.0031308);\n return clamp(round(e * 255.0), 0.0, 255.0);\n}\nfn rinf(ks: f32) -> f32 { return 1.0 + ks - sqrt(ks * ks + 2.0 * ks); }\nfn needAlpha(e: f32, p: f32, a: f32) -> f32 {\n if (e < p) { return max(a, 1.0 - e / p); }\n if (e > p) { return max(a, (e - p) / (255.0 - p)); }\n return a;\n}\n\n@compute @workgroup_size(16, 16, 1)\nfn main(@builtin(global_invocation_id) gid: vec3<u32>) {\n let job = jobs[gid.z];\n let x = gid.x;\n let y = gid.y;\n let o = gid.z * 65536u + y * 256u + x;\n var px = 0u;\n if (job.src != NONE) { px = srcTiles[job.src * 65536u + y * 256u + x]; }\n if (x >= job.w || y >= job.h) { outTiles[o] = px; return; }\n let c = (y + 1u) * S + x + 1u;\n let cur = job.base + u.parity * SETP * PL;\n let d = job.base + 38u * PL;\n let p = cur + 13u * PL;\n var k = vec4<f32>(st[d + c], st[d + PL + c], st[d + 2u * PL + c], st[d + 3u * PL + c]);\n k = k + vec4<f32>(st[p + c], st[p + PL + c], st[p + 2u * PL + c], st[p + 3u * PL + c]);\n var wet = 0.0;\n if (u.mode == 0u) { wet = min(1.0, st[cur + 9u * PL + c] * 4.0 + st[cur + 12u * PL + c]); }\n if (!(k.x > 1e-7 || k.y > 1e-7 || k.z > 1e-7 || k.w > 1e-7) && wet <= 0.0) { outTiles[o] = px; return; }\n let paper = vec3<f32>(f32(u.paper & 255u), f32((u.paper >> 8u) & 255u), f32((u.paper >> 16u) & 255u));\n let pr = vec4<f32>(f32(px & 255u), f32((px >> 8u) & 255u), f32((px >> 16u) & 255u), f32(px >> 24u));\n let a = pr.w / 255.0;\n let below = vec3<f32>(toLinear(a * pr.x + (1.0 - a) * paper.x), toLinear(a * pr.y + (1.0 - a) * paper.y), toLinear(a * pr.z + (1.0 - a) * paper.z));\n let s = k.w;\n var hide = 0.0;\n if (s > 0.0) { hide = 1.0 - exp(-HIDE * s); }\n let keep = 1.0 - hide;\n var inv = 0.0;\n if (s > 1e-9) { inv = 1.0 / s; }\n var film = keep * exp(-2.0 * k.xyz) * below;\n if (hide > 0.0) { film = film + hide * vec3<f32>(rinf(k.x * inv), rinf(k.y * inv), rinf(k.z * inv)); }\n // Light paint: glowing paint shows its own hue (the film over white), as shadeTile does.\n let l = min(1.0, st[d + 4u * PL + c] + st[p + 4u * PL + c]);\n if (l > 1e-7) {\n var w = keep * exp(-2.0 * k.xyz);\n if (hide > 0.0) { w = w + hide * vec3<f32>(rinf(k.x * inv), rinf(k.y * inv), rinf(k.z * inv)); }\n film = film + l * (w - film);\n }\n let dark = 1.0 - 0.07 * wet;\n let e = vec3<f32>(toByte(film.x * dark), toByte(film.y * dark), toByte(film.z * dark));\n var alpha = needAlpha(e.z, paper.z, needAlpha(e.y, paper.y, needAlpha(e.x, paper.x, 0.0)));\n if (hide > 0.0 && alpha < 1.0) { alpha = alpha + hide * (1.0 - alpha); }\n alpha = max(alpha, a);\n if (alpha <= 0.0) { outTiles[o] = px & 0x00ffffffu; return; }\n let a8 = max(round(min(1.0, alpha) * 255.0), pr.w);\n let al = a8 / 255.0;\n let kk = 1.0 - al;\n let rgb = clamp(round((e - kk * paper) / al), vec3<f32>(0.0), vec3<f32>(255.0));\n outTiles[o] = u32(rgb.x) | (u32(rgb.y) << 8u) | (u32(rgb.z) << 16u) | (u32(a8) << 24u);\n}\n";
|