arcgis-feature-effects
Skill1 starsChanged 6 months agoMITView on GitHub
Apply visual effects in the ArcGIS Maps SDK for JavaScript 5.1: layer-wide effects (bloom, blur, drop-shadow, brightness, grayscale) via layer.effect, and filtered emphasis via layer.featureEffect with a FeatureFilter and included/ excluded effects. Use this skill whenever the user wants to highlight, dim, glow, or filter-emphasize features visually.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- GeoDaoyu/arcgis-maps-sdk-js-ai-contexttheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- GeoDaoyu/arcgis-maps-sdk-js-ai-context★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository73 other files it gives its agents.
- skills/arcgis-3d-layers/AGENTS.mdAGENTS.md
- skills/arcgis-advanced-layers/AGENTS.mdAGENTS.md
- skills/arcgis-ai-components/AGENTS.mdAGENTS.md
- skills/arcgis-arcade/AGENTS.mdAGENTS.md
- skills/arcgis-authentication/AGENTS.mdAGENTS.md
- skills/arcgis-charts/AGENTS.mdAGENTS.md
- skills/arcgis-cim-symbols/AGENTS.mdAGENTS.md
- skills/arcgis-coding-components/AGENTS.mdAGENTS.md
- skills/arcgis-coordinates-projection/AGENTS.mdAGENTS.md
- skills/arcgis-core-maps/AGENTS.mdAGENTS.md
- skills/arcgis-core-utilities/AGENTS.mdAGENTS.md
- skills/arcgis-custom-rendering/AGENTS.mdAGENTS.md
- skills/arcgis-editing/AGENTS.mdAGENTS.md
- skills/arcgis-embeddable-maps/AGENTS.mdAGENTS.md
- skills/arcgis-feature-effects/AGENTS.mdAGENTS.md
- skills/arcgis-geometry-operations/AGENTS.mdAGENTS.md
- skills/arcgis-imagery/AGENTS.mdAGENTS.md
- skills/arcgis-interaction/AGENTS.mdAGENTS.md
- skills/arcgis-knowledge-graphs/AGENTS.mdAGENTS.md
- skills/arcgis-layers/AGENTS.mdAGENTS.md
- skills/arcgis-map-tools/AGENTS.mdAGENTS.md
- skills/arcgis-parquet/AGENTS.mdAGENTS.md
- skills/arcgis-performance/AGENTS.mdAGENTS.md
- skills/arcgis-popup-templates/AGENTS.mdAGENTS.md
- skills/arcgis-portal-content/AGENTS.mdAGENTS.md
- skills/arcgis-rest-services/AGENTS.mdAGENTS.md
- skills/arcgis-scene-environment/AGENTS.mdAGENTS.md
- skills/arcgis-smart-mapping/AGENTS.mdAGENTS.md
- skills/arcgis-spatial-analysis/AGENTS.mdAGENTS.md
- skills/arcgis-starter-app/AGENTS.mdAGENTS.md
- skills/arcgis-tables-forms/AGENTS.mdAGENTS.md
- skills/arcgis-time-animation/AGENTS.mdAGENTS.md
- skills/arcgis-utility-networks/AGENTS.mdAGENTS.md
- skills/arcgis-visualization/AGENTS.mdAGENTS.md
- skills/arcgis-widgets-advanced/AGENTS.mdAGENTS.md
- skills/arcgis-widgets-ui/AGENTS.mdAGENTS.md
- skills/hello-world/AGENTS.mdAGENTS.md
- arcgis-3d-layersSkill
- arcgis-advanced-layersSkill
- arcgis-ai-componentsSkill
- arcgis-arcadeSkill
- arcgis-authenticationSkill
- arcgis-chartsSkill
- arcgis-cim-symbolsSkill
- arcgis-coding-componentsSkill
- arcgis-coordinates-projectionSkill
- arcgis-core-mapsSkill
- arcgis-core-utilitiesSkill
- arcgis-custom-renderingSkill
- arcgis-editingSkill
- arcgis-embeddable-mapsSkill
- arcgis-geometry-operationsSkill
- arcgis-imagerySkill
- arcgis-interactionSkill
- arcgis-knowledge-graphsSkill
- arcgis-layersSkill
- arcgis-map-toolsSkill
- arcgis-parquetSkill
- arcgis-performanceSkill
- arcgis-popup-templatesSkill
- The first 60 shown.
The file
Files
Feature Effects
When to use: Activate this skill whenever the user wants to glow, blur, dim, or visually emphasize features — either the whole layer or a filtered subset.
Overview
Effects are CSS-like filters applied to layers. featureEffect adds a filter so matched and
unmatched features get different effects.
- Problem it solves: drawing attention to features without changing the renderer.
- Who it serves: developers building focus/highlight and emphasis interactions.
- Pattern it teaches:
layer.effectfor the whole layer;layer.featureEffectfor a subset. - What it does NOT cover: symbology (see
arcgis-visualization) or querying (seearcgis-layers).
Quick Start
import FeatureLayer from "@arcgis/core/layers/FeatureLayer.js";
const layer = new FeatureLayer({ url: "https://.../FeatureServer/0" });
layer.effect = "bloom(1.5, 0.5px, 0.1)";Decision Tree
- Effect on the whole layer?
- Yes →
layer.effect = "<filter string>".
- Yes →
- Emphasize only some features?
- Yes →
layer.featureEffectwith aFeatureFilterplusincludedEffect/excludedEffect.
- Yes →
- Filter by geometry/time instead of attributes?
- Yes → set
FeatureFilter.geometry/timeExtent.
- Yes → set
Default: effect for global styling; featureEffect for focus interactions.
Import Patterns
Direct ESM (recommended for npm/Vite/Webpack)
import FeatureEffect from "@arcgis/core/layers/support/FeatureEffect.js";Dynamic Imports (CDN)
const FeatureEffect = await $arcgis.import("@arcgis/core/layers/support/FeatureEffect.js");Map Components (recommended for new projects)
// Set effect/featureEffect on a layer added to the component's map.
import "@arcgis/map-components/components/arcgis-map";Key Concepts
Concept 1: Effect strings
effect is a CSS-like string: bloom(...), blur(2px), drop-shadow(...), brightness(1.2),
grayscale(50%), opacity(40%), hue-rotate(270deg). Chain several with spaces; they apply in
order. It can also be an array of { scale, value } stops for scale-dependent effects. Measured with
5.1.27: grayscale(100%) turns a pure red square into rgb(54,54,54); blur(8px) spreads it over
~10 px.
Concept 2: featureEffect with a filter
FeatureEffect pairs a FeatureFilter (where, geometry + spatialRelationship, timeExtent)
with includedEffect (matches) and excludedEffect (the rest). Measured: with
where: "POP > 1000000", the matching square went gray and the other faded to rgb(255,153,153)
(40 % opacity). Without a filter, every feature counts as included: both squares took the
includedEffect. Labels of excluded features are hidden by default
(excludedLabelsVisible: false); set it to true to keep them.
Concept 3: Effects vs renderers vs filters
Effects are post-processing on top of the rendered symbols: they do not replace the renderer, and
they do not remove anything. To really drop features from the view (and from clicks), use
layerView.filter (client side) or layer.definitionExpression (server side). Effects are
ignored in a SceneView and on heatmap layers (per the 5.1 docs; measured: assigning one in 3D
does not throw and does nothing visible).
Common Pitfalls (Top 3)
Pitfall 1: Wrong units in effect strings
// ❌ Anti-pattern
layer.effect = "blur(2)"; // missing unit// ✅ Correct
layer.effect = "blur(2px)";Impact: measured: no exception; the console logs Invalid Effect and the layer draws with no
effect at all. Only the console tells you.
Pitfall 2: Expecting featureEffect to hide features
// ❌ Anti-pattern
layer.featureEffect = new FeatureEffect({ filter, excludedEffect: "opacity(0%)" }); // still clickable// ✅ Correct
const layerView = await view.whenLayerView(layer);
layerView.filter = new FeatureFilter({ where: "POP > 1000000" }); // gone from the view and from hitTestImpact: measured: with opacity(0%) the feature is invisible, yet view.hitTest on it returns
it and layerView.queryFeatureCount() still counts 2. With layerView.filter, hitTest returns
nothing there and the layer view counts 1 (the layer itself still has 2).
Pitfall 3: Overusing heavy effects on dense layers
// ❌ Anti-pattern
denseLayer.effect = "bloom(3, 2px, 0)"; // expensive on 100k features// ✅ Correct
focusLayer.featureEffect = new FeatureEffect({ filter, includedEffect: "bloom(2, 1px, 0)" });Impact: frame drops when heavy effects cover the whole dense layer (not measured here).
When to Read references/
| If you need... | Read |
| effect / FeatureEffect signatures | references/api-detail.md |
| Highlight / dim / filter examples | references/examples.md |
| More pitfalls (5+ extended) | references/pitfalls.md |
Related Skills
arcgis-layers— the layer effects apply toarcgis-visualization— renderers (core styling)arcgis-interaction— drive featureEffect from selection
Reference Samples
Changelog
- 0.2.0 (2026-10-27): SDK 5.1. The code ran. Measured with pixels: an effect without a unit is ignored
with an
Invalid Effectconsole warning (no throw);opacity(0%)features stay in hitTest. The extended pitfall "featureEffect without a filter emphasizes nothing" was false: everything getsincludedEffect. Added thelayerView.filteralternative (measured), scale-dependent effects,excludedLabelsVisible, and the SceneView/heatmap limits. Run intests/runtime/casos/arcgis-feature-effects.ts. - 0.1.0 (2026-05-31): Initial release.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

