doxa-maps/plugin-designs/doxa-research-map
Doxa Maps e020e68bca Skip a paint that is already data-driven, not one that merely looks like an expression
exp-shepherd's copy of this pre-warm is better than mine in one way and accidentally right in another,
and both are worth taking.

BETTER: it leaves an existing expression alone instead of wrapping it. Mine wrapped regions-border's
line-color — which arrives as a region-coloured match on a feature property — into a case around that
match. No visual change, but a gratuitous rewrite of an expression that was already data-driven and had
no variant left to warm.

ACCIDENTALLY RIGHT: their test is "is it an array". For this layer that coincides with the right answer,
because the only array here is that match. It is not the right test in general — a zoom expression like
['interpolate',['linear'],['zoom'],…] is also an array and is NOT data-driven, so skipping it would
leave that property to compile its variant on the first gesture. That is the partial pre-warm this whole
exercise exists to avoid, and it would measure as a failure with no visible cause.

The test is now whether the expression reads the FEATURE — get, has, or feature-state, at any depth.
Constants and zoom-only expressions get wrapped; anything already keyed on a feature is left exactly as
the layer wrote it. The regions layers have no zoom expression today, so this changes nothing that runs
right now; it means the rule is correct for the reason it is correct.

Verified: gates:pre 13/13. Chained on 790d8838.
2026-09-28 07:07:34 +00:00
..
scripts Export poster opens the print dialog on the poster, and downloads nothing 2026-09-28 02:01:46 +00:00
src C1b: the resource palette moves to library/colors/, and the local colour globs go with it 2026-09-26 08:51:39 +00:00
index.html Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
index.js Six entries hand-rolled the RTL text plugin; the library already installs it 2026-09-26 13:35:57 +00:00
research-map.instances.json Map engine is one prop: MapLibre drops the search bar, legend rises 2026-09-24 00:43:44 +00:00
research-map.meta.json consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
research-map.vue Skip a paint that is already data-driven, not one that merely looks like an expression 2026-09-28 07:07:34 +00:00