Who last asked for a layer's visibility, as the centralized state records it.
A union rather than an enum on purpose: contracts/ is a type-pure surface
(gated), so it cannot export a runtime value — and it does not need to. The four
names are what makes LayerDataApi.setVisibility readable at the call site;
a caller writing "system" gets them checked without anything new being shipped.
"zoom" is written by the engine when a scale threshold takes over, and is listed
for completeness — a caller has no reason to claim it.
Who last asked for a layer's visibility, as the centralized state records it.
A union rather than an enum on purpose:
contracts/is a type-pure surface (gated), so it cannot export a runtime value — and it does not need to. The four names are what makes LayerDataApi.setVisibility readable at the call site; a caller writing"system"gets them checked without anything new being shipped."zoom"is written by the engine when a scale threshold takes over, and is listed for completeness — a caller has no reason to claim it.