2 Filters Glow and Shadow
Flaig edited this page 2026-10-08 00:32:15 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Glow and Shadow

Outlines, glows, auras and shadows. They draw around the image, so they rely on padding.

Example status: these are parameter demonstrations, many adapted from TokenMagicFX. Every example passes leanFX's validator. Live appearance checks are recorded below each macro; matching colours and the result still depend on your source image. These checks do not establish long-running stability. Some examples intentionally darken or hide the original image.

Columns: Default is the value used when the spec omits the parameter. Animate says whether it can be driven by animated (Animation). Construction options are fixed when the filter is built; changing them rebuilds it.

glow · outline · bevel · xbloom · xglow · shadow · zapshadow

glow

Glow. A soft glow around (and optionally inside) the image's outline.

Default zOrder 70 · built-in padding 15

Parameter Type Default Animate Description
alpha number 1 yes Glow opacity, 0–1.
color color 0x0020ff color modes Glow color.
distance number 10 no (construction) Glow reach in pixels, 1–64. Construction option.
innerStrength number 0 yes Inner glow strength.
knockout boolean false — Show only the glow, hide the image.
outerStrength number 6.5 yes Outer glow strength.
quality number 0.1 no (construction) Sample quality 0.01–1; higher is smoother and slower. Construction option.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "glow",
  filterId: "glow",
  color: 0x5099dd,
  outerStrength: 4,
  innerStrength: 0,
  quality: 0.5,
  padding: 10,
  animated: {
    color: {
      active: true,
      animType: "colorOscillation",
      loopDuration: 3000,
      val1: 0x5099dd,
      val2: 0x90eeff
    }
  }
}]);

Visual check: Blue glow appearance checked on a token in Foundry v14 on 2026-10-07. This is the Glow recipe from the translated TokenMagic test bench; the filter ID is renamed here.

outline

Outline. A solid outline along the image's edge.

Default zOrder 50 · built-in padding 5

Parameter Type Default Animate Description
alpha number 1 yes Outline opacity, 0–1.
blendMode number 0 yes PIXI blend mode number used to draw the result: 0 normal, 1 add, 2 multiply, 3 screen.
color color 0x000000 color modes Outline color.
knockout boolean false — Show only the outline, hide the image.
quality number 0.1 no (construction) Sample quality 0.01–1. Construction option.
thickness number 3 yes Outline width in pixels.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "outline",
  filterId: "outline",
  color: 0xee5f35,
  thickness: 1,
  quality: 0.5,
  animated: {thickness: {animType: "syncCosOscillation", loopDuration: 800, val1: 1, val2: 6}}
}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

bevel

Bevel. Embossed edge with a light and a shadow side.

Default zOrder 90 · built-in padding 10

Parameter Type Default Animate Description
blendMode number 0 yes PIXI blend mode number used to draw the result: 0 normal, 1 add, 2 multiply, 3 screen.
lightAlpha number 0.95 yes Lit edge opacity, 0–1.
lightColor color 0xffffff color modes Color of the lit edge.
quality number 1 no (construction) Kept for compatibility; no visible effect.
rotation number 0 yes Light direction in degrees.
shadowAlpha number 0.95 yes Shadowed edge opacity, 0–1.
shadowColor color 0x000000 color modes Color of the shadowed edge.
thickness number 5 yes Bevel width in pixels.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "bevel",
  filterId: "bevel",
  thickness: 5,
  lightColor: 0xff0000,
  lightAlpha: 0.8,
  shadowColor: 0x00ff00,
  shadowAlpha: 0.5,
  animated: {rotation: {animType: "syncRotation", loopDuration: 1600}}
}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

xbloom

Bloom. Makes bright areas bleed light.

Default zOrder 40

Parameter Type Default Animate Description
bloomScale number 1 yes Bloom strength.
blur number 4 yes Bloom blur radius.
brightness number 1 yes Overall brightness.
kernels number array [4, 3, 2, 1] — Custom blur kernel sizes (array of numbers). Construction option.
quality number 4 no (construction) Blur passes, 1–16.
threshold number 0.5 yes Brightness above which pixels bloom, 0–1.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "xbloom",
  filterId: "bloom",
  threshold: 0.35,
  bloomScale: 0,
  brightness: 1,
  blur: 0.1,
  quality: 15,
  animated: {bloomScale: {animType: "syncCosOscillation", loopDuration: 2000, val1: 0, val2: 2.1}}
}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

xglow

Gleaming Glow. An animated, flame-like aura along the outline.

Default zOrder 80

Parameter Type Default Animate Description
auraIntensity number 1 yes Strength of the outer aura.
auraType number 1 yes Aura style: 1 or 2.
color color 0xff8010 color modes Aura color.
discard boolean false — Cut the aura where it is below threshold, leaving gaps.
scale number 1 yes Noise scale of the aura.
subAuraIntensity number 1 yes Strength of the inner glow.
thickness number 5 yes Aura width.
threshold number 0.5 yes Brightness below which aura pixels are dimmed or cut.
time number 0 yes Shader clock. Static values freeze one frame; animate it with move (see the example) to make the effect flow.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "xglow",
  filterId: "fire-aura",
  auraType: 2,
  color: 0x903010,
  thickness: 9.8,
  scale: 4,
  auraIntensity: 2,
  subAuraIntensity: 1.5,
  threshold: 0.4,
  discard: true,
  animated: {
    time: {animType: "move", speed: 0.0027},
    thickness: {animType: "cosOscillation", loopDuration: 3000, val1: 2, val2: 5}
  }
}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

shadow

Drop Shadow. A blurred shadow cast by the image.

Default zOrder 110 · built-in padding 10

Parameter Type Default Animate Description
alpha number 0.5 yes Shadow opacity, 0–1.
blur number 2 yes Shadow blur.
color color 0x000000 color modes Shadow color.
distance number 5 yes Shadow offset in pixels.
kernels number array [2, 1.333, 0.667] — Custom blur kernel sizes (array of numbers). Construction option.
quality number 3 no (construction) Blur passes, 1–16.
resolution number 1 yes Render resolution of the shadow, 0.1–4.
rotation number 45 yes Shadow direction in degrees.
shadowOnly boolean false — Draw only the shadow, hide the image.
await leanFX.addUpdateFiltersOnSelected([{
  filterType: "shadow",
  filterId: "dropshadow",
  rotation: 35,
  blur: 2,
  quality: 5,
  distance: 20,
  alpha: 0.7,
  color: 0x000000
}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

zapshadow

Remove Shadow. Removes semi-transparent pixels, such as a shadow baked into token art.

Default zOrder 10

Parameter Type Default Animate Description
alphaTolerance number 0.8 yes Pixels with an opacity below this value (0–1) are removed.
await leanFX.addUpdateFiltersOnSelected([{filterType: "zapshadow", filterId: "noshadow", alphaTolerance: 0.45}]);

Visual check: User marked this example working on a Token in Foundry v14 on 2026-10-08. Other images and target types still need their own visual check.

Examples run on the selected placeables; see API Reference for other targets.