Split Open Map Overlays into Sea Marks and Ski Pistes layers

Each overlay is now its own Infrastructure row instead of a chip on one
shared row: sea-marks (token 6) and ski-pistes (token 7), both
enabled-only, built by createOsmOverlayLayers() from one descriptor
list. Drops the option group and its share-codec defaults, gives each
layer its own name, voice entry and CURRENT-STATE row, and shifts the
token-ledger fixtures to the next free digit 8.
This commit is contained in:
Said Turksever committed 2026-11-02 16:20:08 +00:00
1 parent c489e65796
commit fc7ff1055c
29 files changed
+194 -315

No files matched your search

+2 -14
View File
@@ -430,14 +430,6 @@ const OPTION_GROUPS = Object.freeze({
// MAX_SINCE_DAYS in streetLevel/policy.js (pinned by layerState.test).
boundedIntegerOption('sinceDays', 's', 0, { min: 0, max: 36500 }),
]),
// Two independently toggleable open-data raster overlays (#10) sharing one
// owner, the same "one master row, several booleans" shape as `cctv`/`radio`.
// Both default on: switching the row on with nothing chosen would show
// nothing and read as broken.
'osm-overlays': Object.freeze([
booleanOption('seamap', 's', true),
booleanOption('snowmap', 'n', true),
]),
radio: Object.freeze([
Object.freeze({
key: 'filter',
@@ -646,12 +638,6 @@ export const LAYER_STATE_REGISTRY = Object.freeze([
token: 'i',
disposition: 'enabled-only',
}),
Object.freeze({
id: 'osm-overlays',
token: '6',
disposition: 'enabled+options',
optionOwner: 'osm-overlays',
}),
Object.freeze({
id: 'radio',
token: 'r',
@@ -680,6 +666,8 @@ export const LAYER_STATE_REGISTRY = Object.freeze([
disposition: 'enabled+options',
optionOwner: 'satellites',
}),
Object.freeze({ id: 'sea-marks', token: '6', disposition: 'enabled-only' }),
Object.freeze({ id: 'ski-pistes', token: '7', disposition: 'enabled-only' }),
Object.freeze({
id: 'street-level',
token: '0',