Attaches the effects to a map. Nothing is visible until set turns an effect on.
The map to render effects over.
Optionalsettings: MapEffectsSettings
Effect knob values to apply right away.
Runs a GPU pass of your own in the effects chain, ahead of every overlay effect, and in capture as on screen. Passes run in the order they were added, within their placement.
A pass redraws with the map. One whose uniforms change on their own — a time-driven animation —
asks for frames with map.mapLibreMap.triggerRepaint(). A pass that shifts hues runs before
bloom's colour key too, so a bloom.only scope may need a wider bloom.onlyTolerance.
Replaces every knob with the given settings (an empty object turns everything off).
Renders the current view — map and effects — into a canvas, optionally at a higher pixel ratio for print. The map is re-rendered at that ratio (never resampled), read back once every tile is drawn, and restored to follow the device afterwards.
Optionaloptions: CaptureOptionsThe current value of a knob: the override, or the catalogue default.
The overridden knobs, as a plain serializable object.
Detaches the effects from the map, removes their elements and releases the WebGL context the chain holds — which a page with several maps on it needs, since a browser caps how many it may keep alive.
Takes a pass added with addPass out of the chain. An id with no pass is ignored.
Turns a knob (or every knob) back to its default — for most effects, off.
Optionalid: Sets one or more effect knobs. Values are validated against the catalogue before anything is touched; knobs not mentioned keep their values.
Knob id → value.
Practical post-processing for a TomTomMap: effects computed from the rendered map's own pixels, not from its style — so they work on every style, custom ones included, survive every style release, and cannot be reproduced by editing the style at all.
Remarks
Every effect is named by the problem it solves, and off by default:
Effects render live as layers over the map canvas (a WebGL2 chain, which also runs your own passes from addPass, under
backdrop-filteroverlays; bloom is a small canvas blended inscreenmode) and are composited the same way into capture, so what is captured is what was on screen.Bloom, the depth of field, your passes and capture read the map canvas, which needs
mapLibre: { canvasContextAttributes: { preserveDrawingBuffer: true } }when creating the map; the plugin warns once when it is missing.effectKnobCatalogue lists every knob as static data, the way
stylingKnobCataloguelists the SDK's styling knobs.Example