@massif-maps/style-tools 6.1.0 → 6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mapbox2css/expression.js +7 -0
- package/dist/mapbox2css/expression.js.map +1 -1
- package/dist/mapbox2css/index.js +109 -10
- package/dist/mapbox2css/index.js.map +1 -1
- package/dist/mapbox2css/sprite.js +4 -0
- package/dist/mapbox2css/sprite.js.map +1 -1
- package/package.json +1 -1
- package/wasm/massif-style.mjs +1 -1
- package/wasm/massif-style.wasm +0 -0
|
@@ -146,6 +146,13 @@ export function translateExpression(expr, notes) {
|
|
|
146
146
|
// parameter is the same idea: named, defaulted in the project, and set without a reload, so
|
|
147
147
|
// day/night stays ONE style here as it is there. convert() declares what it finds.
|
|
148
148
|
case 'config': {
|
|
149
|
+
// a name built from a feature field, `["concat", "poi-boost-", ["get", "class"]]`, is a
|
|
150
|
+
// per-feature parameter lookup the CartoCSS spells inside the name
|
|
151
|
+
const computed = args[0];
|
|
152
|
+
if (Array.isArray(computed) && computed.length === 3 && computed[0] === 'concat' && typeof computed[1] === 'string'
|
|
153
|
+
&& Array.isArray(computed[2]) && computed[2][0] === 'get' && typeof computed[2][1] === 'string') {
|
|
154
|
+
return `[param::${computed[1]}[${computed[2][1]}]]`;
|
|
155
|
+
}
|
|
149
156
|
if (typeof args[0] !== 'string')
|
|
150
157
|
throw new Untranslatable('config with a computed name');
|
|
151
158
|
// ["config", name, importId] scopes the lookup to one import; a converted project has a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/mapbox2css/expression.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/mapbox2css/expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,2FAA2F;AAC3F,MAAM,OAAO,cAAe,SAAQ,KAAK;IAChB;IAArB,YAAqB,IAAY;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;QADK,SAAI,GAAJ,IAAI,CAAQ;IAEjC,CAAC;CACJ;AAED,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEhD,SAAS,KAAK,CAAC,IAAY;IACvB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,OAAO,CAAC,KAAW;IACxB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxF,MAAM,IAAI,cAAc,CAAC,yBAAyB,CAAC,CAAC;AACxD,CAAC;AAED,uFAAuF;AACvF,8DAA8D;AAC9D,MAAM,MAAM,GAA2B;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACtC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;CACpE,CAAC;AAEF,yFAAyF;AACzF,MAAM,QAAQ,GAA2B;IACrC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;CAClF,CAAC;AAEF,MAAM,SAAS,GAA2B,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAEzD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAEtD;;;;;;GAMG;AACH;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAe;IACvC,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3C,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,iGAAiG;AACjG,4EAA4E;AAC5E,MAAM,mBAAmB,GAA2B;IAChD,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1F,CAAC;AAEF;;;;;GAKG;AACH,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAChD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,UAAU,GAAG,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,KAAgB;IAC5D,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,2FAA2F;IAC3F,wEAAwE;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,qBAAqB,CAAC,IAA4B,EAAE,KAAK,CAAC,CAAC;IAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAEpE,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAE9E,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,SAAS;YACV,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,CAAC;QAEpC,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,IAAI,cAAc,CAAC,mCAAmC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1B,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,IAAI,cAAc,CAAC,mCAAmC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACpC,CAAC;QAED,KAAK,MAAM;YACP,OAAO,SAAS,EAAE,CAAC;QAEvB,wFAAwF;QACxF,gEAAgE;QAChE,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;gBAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAED,2FAA2F;QAC3F,4FAA4F;QAC5F,mFAAmF;QACnF,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,wFAAwF;YACxF,mEAAmE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ;mBAC5G,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAClG,OAAO,WAAW,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAAE,MAAM,IAAI,cAAc,CAAC,6BAA6B,CAAC,CAAC;YACzF,wFAAwF;YACxF,iDAAiD;YACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC;YACpG,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,CAAC;QAED,KAAK,eAAe;YAChB,OAAO,mBAAmB,CAAC;QAE/B,KAAK,IAAI;YACL,OAAO,sBAAsB,CAAC;QAElC,KAAK,QAAQ;YACT,iFAAiF;YACjF,OAAO,IAAI;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,CAAC,CAAC;iBAC1C,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;QAE1D,KAAK,UAAU;YACX,oFAAoF;YACpF,uFAAuF;YACvF,iFAAiF;YACjF,iDAAiD;YACjD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAEtF,0FAA0F;QAC1F,sFAAsF;QACtF,uFAAuF;QACvF,mFAAmF;QACnF,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC5C,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpG,IAAI,MAAM;gBAAE,KAAK,EAAE,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACnG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,yBAAyB,CAAC,CAAC;YAC/E,OAAO,QAAQ;iBACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAe,CAAC,CAAC;iBACtD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,WAAW;YACZ,OAAO,SAAS,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC;QAE5D,KAAK,WAAW;YACZ,OAAO,QAAQ,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC;QAE3D,KAAK,YAAY;YACb,OAAO,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,IAAI,CAAC;QAE3D,yFAAyF;QACzF,6FAA6F;QAC7F,0FAA0F;QAC1F,2FAA2F;QAC3F,oFAAoF;QACpF,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC;gBACtC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC9E,CAAC;QAED,KAAK,MAAM;YACP,OAAO,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,QAAQ,CAAC;QAE/D,KAAK,GAAG;YACJ,OAAO,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC;QAExD,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,sFAAsF;QACtF,sFAAsF;QACtF,oCAAoC;QACpC,KAAK,IAAI,CAAC,CAAC,CAAC;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,kCAAkC,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,yEAAyE;gBACzE,MAAM,IAAI,cAAc,CAAC,yCAAyC,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC;YAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7E,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnF,KAAK,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,8BAA8B,CAAC,CAAC;oBACnF,OAAO,IAAI,MAAM,CAAC,EAAE,SAAS,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAChF,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAChF,CAAC;QAED,KAAK,MAAM;YACP,OAAO,aAAa,CAAC,IAAc,CAAC,CAAC;QAEzC,KAAK,OAAO;YACR,OAAO,cAAc,CAAC,IAAc,EAAE,KAAK,CAAC,CAAC;QAEjD,KAAK,MAAM;YACP,OAAO,aAAa,CAAC,IAAc,CAAC,CAAC;QAEzC,KAAK,aAAa;YACd,OAAO,oBAAoB,CAAC,IAAc,EAAE,KAAK,CAAC,CAAC;QAEvD,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,0CAA0C;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,CAAC,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,mFAAmF;YACnF,sFAAsF;YACtF,qIAAqI;YACrI,sFAAsF;YACtF,iFAAiF;YACjF,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,IAAI,CAAC,CAAC,CAAS,EAAE,KAAK,CAAC;uBAC3D,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,IAAI,CAAC,CAAC,CAAS,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC;YACxE,CAAC;YAED,sFAAsF;YACtF,mFAAmF;YACnF,kFAAkF;YAClF,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC;YAC3F,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,8DAA8D;gBAC9D,OAAO,QAAQ,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,KAAK,CAAC,GAAG,CAAC;YAClE,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,KAAK,mBAAmB,EAAE,CAAC;oBACzD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,OAAO,KAAK,SAAS;wBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;oBAC/E,IAAI,CAAC,KAAK,mBAAmB;wBAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;;wBAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAS,CAAC,CAAC,CAAC;gBAC/D,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC5C,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,GAAG,CAAC;YACxE,CAAC;YACD,MAAM,IAAI,cAAc,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAU;IAC3B,6FAA6F;IAC7F,0FAA0F;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjG,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,CAAC;QAC3C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,uFAAuF;AACvF,SAAS,WAAW,CAAC,MAAsC,EAAE,KAAW;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAChF,OAAO,IAAI,MAAM,CAAC,EAAE,QAAQ,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,6FAA6F;AAC7F,SAAS,UAAU,CAAC,UAAgB,EAAE,YAAkB,EAAE,KAAgB;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrE,oEAAoE;IACpE,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC1D,KAAK,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,8BAA8B,CAAC,CAAC;IACnF,OAAO,IAAI,MAAM,CAAC,EAAE,QAAQ,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;AAChE,CAAC;AAED,qFAAqF;AACrF,SAAS,WAAW,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAU;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAW,CAAC;IACrG,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,KAAgB;IAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI;QAAE,KAAK,EAAE,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,6BAA6B,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,IAAI,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI;YAC3C,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACxB,CAAC,CAAC,GAAG,KAAK,MAAM,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,GAAG,KAAK,IAAI,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IACvE,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAChE,8FAA8F;IAC9F,gGAAgG;IAChG,2FAA2F;IAC3F,iFAAiF;IACjF,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,QAAQ,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC;AAED,8FAA8F;AAC9F,SAAS,MAAM,CAAC,KAAW;IACvB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAAgB;IACxD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,4BAA4B,CAAC,CAAC;IAEtG,IAAI,EAAU,CAAC;IACf,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,EAAE,GAAG,QAAQ,CAAC;IACxC,4FAA4F;IAC5F,0FAA0F;IAC1F,4FAA4F;IAC5F,8FAA8F;IAC9F,6FAA6F;SACxF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAAC,EAAE,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAAC,CAAC;SACtG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChE,EAAE,GAAG,QAAQ,CAAC;QACd,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,cAAc,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzH,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAS,CAAU,CAAC,CAAC;IAChE,CAAC;IAED,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;IAC/F,+FAA+F;IAC/F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,EAAE,IAAI,CAAC,eAAe,KAAK,gDAAgD;YAC5E,mEAAmE,CAAC,CAAC;QACzE,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,uFAAuF;IACvF,0FAA0F;IAC1F,6FAA6F;IAC7F,yFAAyF;IACzF,0CAA0C;IAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9F,OAAO,eAAe,IAAI,KAAK,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,GAAG,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,IAAmB;IAChD,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,6CAA6C,CAAC,CAAC;QACzG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAI,IAAI,CAAC,CAAC,CAAY,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAS,CAAC,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,UAAU,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,SAAS,mBAAmB,CAAC,KAA2C,EAAE,IAAY;IAClF,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,MAAM,GAAG,GAAqC,EAAE,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,wBAAwB,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAU,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,8FAA8F;AAC9F,SAAS,WAAW,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,2FAA2F;IAC3F,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,GAAG,GAAG,KAAK,KAAK,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IAC3G,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAW,EAAE,KAAa;IAC3C,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,IAAI,UAAU,KAAK,SAAS,EAAE,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QAChE,MAAM,IAAI,cAAc,CAAC,GAAG,KAAK,SAAS,UAAU,mBAAmB,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,EAAwB,EAAE,KAAgB;IACrE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAErE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,IAAI,CAAC,CAAC,CAAS,CAAU,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,aAAa;YAAE,MAAM,IAAI,cAAc,CAAC,2BAA2B,CAAC,CAAC;QAClF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,OAAO,QAAQ,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACzI,CAAC;QACD,yFAAyF;QACzF,sEAAsE;QACtE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,uCAAuC,IAAI,yBAAyB,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,UAAU,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3I,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,IAAI,aAAa,wBAAwB,QAAQ,oBAAoB,CAAC,CAAC;AAC3G,CAAC;AAED,qFAAqF;AACrF,SAAS,WAAW,CAChB,KAAa,EACb,KAA2C,EAC3C,EAAU,EACV,QAA0B,EAC1B,KAAgB;IAEhB,IAAI,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,IAAI,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAChH,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/dist/mapbox2css/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { translateFilter, zoomPredicates } from './filter.js';
|
|
|
6
6
|
import { HANDLED_ELSEWHERE, followsLine, repeatsAlongLine, resolvePlacement } from './placement.js';
|
|
7
7
|
import { KNOWN_GAPS, LAYER_SYMBOLIZER, PROPERTY_MAP, VALUE_MAP } from './properties.js';
|
|
8
8
|
import { PLATE_MAP, asShieldDeclaration, isShieldLayer, plateRadius } from './shield.js';
|
|
9
|
-
import { describeFlatPlate, extractAllIconPlates, extractAllIcons, extractIcon, extractIconPlate } from './sprite.js';
|
|
9
|
+
import { describeFlatPlate, extractAllIconPlates, extractAllIcons, extractIcon, extractIconPlate, hasIcon } from './sprite.js';
|
|
10
10
|
import { ICON_ALIASES, detectSourceSchema, mapSourceLayer, retargetLayer } from './schema.js';
|
|
11
11
|
import { narrowLayer } from './narrow.js';
|
|
12
12
|
import { collapseBranches, expandSetFilter, expandSortKey, splitLayer } from './split.js';
|
|
@@ -238,6 +238,8 @@ export function convert(style, table, options = {}) {
|
|
|
238
238
|
const lights = style.lights;
|
|
239
239
|
// Set while emitting, so the parameter is only declared when there is a building to gate.
|
|
240
240
|
let usesBuildings = false;
|
|
241
|
+
// The project's `constants`: zoom ranges a child project may move, see `massif:minzoom-const`.
|
|
242
|
+
const constants = new Map();
|
|
241
243
|
// The brightness of the style's OWN default preset, which the emissive fold measures against.
|
|
242
244
|
// sceneBrightness is an ambient-only proxy, so its absolute value is not a light level - but
|
|
243
245
|
// the RATIO between two presets of the same style is meaningful, and that is all this needs:
|
|
@@ -391,9 +393,13 @@ export function convert(style, table, options = {}) {
|
|
|
391
393
|
.flatMap((ordered) => splitLayer(ordered, coverage))
|
|
392
394
|
.flatMap((ordered) => splitDashByZoom(ordered, coverage))
|
|
393
395
|
.map(narrowLayer);
|
|
396
|
+
// `massif:attachment`: layers drawing into ONE attachment, so a child project's rule on it
|
|
397
|
+
// merges with whichever of them matches instead of drawing the feature a second time.
|
|
398
|
+
const sharedAttachment = layer.metadata?.['massif:attachment'];
|
|
394
399
|
variants.forEach((variant, branch) => {
|
|
395
400
|
const suffix = variants.length > 1 ? `_b${branch + 1}` : '';
|
|
396
|
-
|
|
401
|
+
const attachment = typeof sharedAttachment === 'string' ? attachmentName(sharedAttachment) : `${attachmentName(layer.id)}${suffix}`;
|
|
402
|
+
emitLayer(variant, attachment, target, symbolizer, index);
|
|
397
403
|
});
|
|
398
404
|
}
|
|
399
405
|
});
|
|
@@ -616,9 +622,19 @@ export function convert(style, table, options = {}) {
|
|
|
616
622
|
const minDefault = typeof minParam === 'string' ? Number(parameters.get(minParam)?.default) : NaN;
|
|
617
623
|
const hasParam = typeof minParam === 'string' && zoomOffsetLevels() === 0;
|
|
618
624
|
const paramStart = hasParam && typeof layer.minzoom === 'number' && Math.floor(layer.minzoom) === minDefault;
|
|
625
|
+
// `massif:minzoom-const` / `massif:maxzoom-const`: the zoom range is a project constant, resolved
|
|
626
|
+
// when the style compiles - a child project overrides it in its `constants`, at no runtime cost.
|
|
627
|
+
const minConst = layer.metadata?.['massif:minzoom-const'];
|
|
628
|
+
const maxConst = layer.metadata?.['massif:maxzoom-const'];
|
|
629
|
+
if (typeof minConst === 'string' && typeof layer.minzoom === 'number')
|
|
630
|
+
constants.set(minConst, Math.floor(layer.minzoom) + zoomOffsetLevels());
|
|
631
|
+
if (typeof maxConst === 'string' && typeof layer.maxzoom === 'number')
|
|
632
|
+
constants.set(maxConst, Math.ceil(layer.maxzoom) + zoomOffsetLevels());
|
|
619
633
|
const predicates = [
|
|
620
634
|
...(hasParam ? [`[zoom >= 'param::${minParam}']`] : []),
|
|
621
|
-
...
|
|
635
|
+
...(typeof minConst === 'string' ? [`[zoom >= $${minConst}]`] : []),
|
|
636
|
+
...(typeof maxConst === 'string' ? [`[zoom < $${maxConst}]`] : []),
|
|
637
|
+
...zoomPredicates(paramStart || typeof minConst === 'string' ? undefined : layer.minzoom, typeof maxConst === 'string' ? undefined : layer.maxzoom),
|
|
622
638
|
...(buildings ? [buildings] : []),
|
|
623
639
|
...translateFilter(filter),
|
|
624
640
|
].map((p) => (p.startsWith('when(') ? ` ${p}` : p));
|
|
@@ -747,11 +763,52 @@ export function convert(style, table, options = {}) {
|
|
|
747
763
|
if (style.name)
|
|
748
764
|
header.push(`/* Source style: ${style.name} */`);
|
|
749
765
|
const render = (block) => `${block.selector} {\n${block.declarations.map((d) => ` ${d}`).join('\n')}\n}`;
|
|
766
|
+
// `massif:template`: every property all layers of a template state goes into `%name`, at its most
|
|
767
|
+
// common value; a rule keeps what differs. A child project extends it to draw a rule of its own.
|
|
768
|
+
const templateOf = new Map();
|
|
769
|
+
for (const layer of style.layers ?? []) {
|
|
770
|
+
const name = layer.metadata?.['massif:template'];
|
|
771
|
+
if (typeof name === 'string')
|
|
772
|
+
templateOf.set(layer.id, attachmentName(name));
|
|
773
|
+
}
|
|
774
|
+
const templateBlocks = new Map();
|
|
775
|
+
for (const block of ruleBlocks) {
|
|
776
|
+
const name = templateOf.get(block.owner);
|
|
777
|
+
if (name)
|
|
778
|
+
(templateBlocks.get(name) ?? templateBlocks.set(name, []).get(name)).push(block);
|
|
779
|
+
}
|
|
780
|
+
const renderedRules = [];
|
|
781
|
+
const emittedTemplates = new Set();
|
|
782
|
+
for (const block of ruleBlocks) {
|
|
783
|
+
const name = templateOf.get(block.owner);
|
|
784
|
+
const group = name ? templateBlocks.get(name) : [];
|
|
785
|
+
if (!name || group.length < 2) {
|
|
786
|
+
renderedRules.push(render(block));
|
|
787
|
+
continue;
|
|
788
|
+
}
|
|
789
|
+
const propertyOf = (d) => d.slice(0, d.indexOf(':'));
|
|
790
|
+
const common = group[0].declarations.map(propertyOf)
|
|
791
|
+
.filter((p) => group.every((other) => other.declarations.some((d) => propertyOf(d) === p)))
|
|
792
|
+
.map((p) => {
|
|
793
|
+
const counts = new Map();
|
|
794
|
+
for (const other of group) {
|
|
795
|
+
const d = other.declarations.find((x) => propertyOf(x) === p);
|
|
796
|
+
counts.set(d, (counts.get(d) ?? 0) + 1);
|
|
797
|
+
}
|
|
798
|
+
return [...counts].sort((a, b) => b[1] - a[1])[0][0];
|
|
799
|
+
});
|
|
800
|
+
if (!emittedTemplates.has(name)) {
|
|
801
|
+
emittedTemplates.add(name);
|
|
802
|
+
renderedRules.push(render({ selector: `%${name}`, declarations: common }));
|
|
803
|
+
}
|
|
804
|
+
renderedRules.push(render({ selector: block.selector,
|
|
805
|
+
declarations: [...block.declarations.filter((d) => !common.includes(d)), `@extend %${name};`] }));
|
|
806
|
+
}
|
|
750
807
|
const mss = [
|
|
751
808
|
...header,
|
|
752
809
|
'',
|
|
753
810
|
...(mapRule.declarations.length > 0 ? [render(mapRule), ''] : []),
|
|
754
|
-
...
|
|
811
|
+
...renderedRules,
|
|
755
812
|
'',
|
|
756
813
|
].join('\n');
|
|
757
814
|
const variables = palette.length > 0 ? [...paletteHeader(style.name), '', ...palette, ''].join('\n') : null;
|
|
@@ -770,6 +827,7 @@ export function convert(style, table, options = {}) {
|
|
|
770
827
|
...(options.styleParams.size > 0
|
|
771
828
|
? { styleparameters: Object.fromEntries([...options.styleParams].sort()) }
|
|
772
829
|
: {}),
|
|
830
|
+
...(constants.size > 0 ? { constants: Object.fromEntries([...constants].sort()) } : {}),
|
|
773
831
|
}, null, 2) + '\n';
|
|
774
832
|
// Only what DIFFERS from the shared table: a preset project extends project.json, and
|
|
775
833
|
// `extends` merges styleparameters, so an entry it does not restate is inherited.
|
|
@@ -1650,7 +1708,7 @@ function layerDeclarations(layer, symbolizer, allowed, coverage, options, layerI
|
|
|
1650
1708
|
* border falls exactly where the artwork's ring was. All three colours are style properties here,
|
|
1651
1709
|
* so they are evaluated per feature, which is what gets a POI its class colour back.
|
|
1652
1710
|
*/
|
|
1653
|
-
function iconPlateDeclarations(layer, icon, sized, coverage, options) {
|
|
1711
|
+
function iconPlateDeclarations(layer, icon, sized, coverage, options, fixedBox = false) {
|
|
1654
1712
|
const params = layer.layout?.[ICON_PARAMS];
|
|
1655
1713
|
if (!icon.plate || !params)
|
|
1656
1714
|
return [];
|
|
@@ -1661,6 +1719,7 @@ function iconPlateDeclarations(layer, icon, sized, coverage, options) {
|
|
|
1661
1719
|
// Radius and ring are the artwork's pixels at icon-size 1, the plate's are the screen's: at
|
|
1662
1720
|
// icon-size 0.4 a ring stated 3 drew 3 px where MapLibre draws 1.2, and the disc grew with it.
|
|
1663
1721
|
const sizedBy = (value) => (sized === '1' ? value : `((${value}) * (${sized}))`);
|
|
1722
|
+
const stated = new Map();
|
|
1664
1723
|
const colour = (name, target, gate = false, size = false) => {
|
|
1665
1724
|
if (params[name] === undefined)
|
|
1666
1725
|
return false;
|
|
@@ -1673,6 +1732,7 @@ function iconPlateDeclarations(layer, icon, sized, coverage, options) {
|
|
|
1673
1732
|
const value = size ? sizedBy(translated) : translated;
|
|
1674
1733
|
out.push(`${target}: ${gate ? scoped(value) : value};`);
|
|
1675
1734
|
coverage.emit(target);
|
|
1735
|
+
stated.set(target, translated);
|
|
1676
1736
|
return true;
|
|
1677
1737
|
};
|
|
1678
1738
|
// The glyph, unless the layer states an icon-color of its own - that one is already out.
|
|
@@ -1701,6 +1761,17 @@ function iconPlateDeclarations(layer, icon, sized, coverage, options) {
|
|
|
1701
1761
|
if (!colour('background-stroke-width', 'shield-icon-background-border-width', false, true)) {
|
|
1702
1762
|
out.push(`shield-icon-background-border-width: ${sizedBy(String(round(icon.plate.borderWidth)))};`);
|
|
1703
1763
|
coverage.emit('shield-icon-background-border-width');
|
|
1764
|
+
stated.set('shield-icon-background-border-width', String(round(icon.plate.borderWidth)));
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
// A glyph's box is its own outline, so a plate fitted to it took each glyph's shape: the disc's box
|
|
1768
|
+
// is stated instead, ring included (LabelPlateStyle::size is the outer size).
|
|
1769
|
+
if (fixedBox) {
|
|
1770
|
+
const ring = stated.get('shield-icon-background-border-width');
|
|
1771
|
+
for (const [axis, side] of [['width', icon.width], ['height', icon.height]]) {
|
|
1772
|
+
const outer = ring !== undefined ? `(${round(side)} + 2 * (${ring}))` : String(round(side));
|
|
1773
|
+
out.push(`shield-icon-background-${axis}: ${sizedBy(outer)};`);
|
|
1774
|
+
coverage.emit(`shield-icon-background-${axis}`);
|
|
1704
1775
|
}
|
|
1705
1776
|
}
|
|
1706
1777
|
// MapBox's `icon-stroke` is the outline it draws UNDER the glyph, which is exactly what the
|
|
@@ -2553,7 +2624,9 @@ function aliasSprites(names, file, prefix, options) {
|
|
|
2553
2624
|
}
|
|
2554
2625
|
function iconExpression(image, layer, coverage, options) {
|
|
2555
2626
|
const sprites = options.sprites;
|
|
2556
|
-
|
|
2627
|
+
// Layers sharing a template share its tables, so the icon lookup is a declaration they have in common.
|
|
2628
|
+
const template = layer.metadata?.['massif:template'];
|
|
2629
|
+
const slug = safeParamName(typeof template === 'string' ? template : layer.id);
|
|
2557
2630
|
let sample = null;
|
|
2558
2631
|
let tableIndex = 0;
|
|
2559
2632
|
// A recolourable icon is cut in two - the glyph as a field, the disc as the shield's plate - so
|
|
@@ -3088,9 +3161,7 @@ function patternDeclarations(name, value, target, layer, coverage, options) {
|
|
|
3088
3161
|
* about the label is unchanged. The face is resolved as a fallback of the label font, which is what
|
|
3089
3162
|
* puts its glyphs in the label's own atlas.
|
|
3090
3163
|
*
|
|
3091
|
-
*
|
|
3092
|
-
* shield (an RER roundel, a country's motorway plate) has no font equivalent and is lost here. That
|
|
3093
|
-
* is the trade the mode is for - one font against a sheet of several hundred PNGs.
|
|
3164
|
+
* A name the face has no glyph for keeps its sprite (markerDeclarations), or draws no icon without one.
|
|
3094
3165
|
*/
|
|
3095
3166
|
function fontShieldDeclarations(layer, image, coverage, options) {
|
|
3096
3167
|
const font = options.iconFont;
|
|
@@ -3130,7 +3201,7 @@ function fontShieldDeclarations(layer, image, coverage, options) {
|
|
|
3130
3201
|
// A recolourable badge keeps its disc: the plate measured off the sheet, as the sprite path does.
|
|
3131
3202
|
const plate = layer.layout?.[ICON_PARAMS] !== undefined ? fontPlateSample(options) : null;
|
|
3132
3203
|
if (plate)
|
|
3133
|
-
out.push(...iconPlateDeclarations(layer, plate, sized, coverage, options));
|
|
3204
|
+
out.push(...iconPlateDeclarations(layer, plate, sized, coverage, options, true));
|
|
3134
3205
|
out.push(...variableAnchorDeclarations(layer, coverage, options));
|
|
3135
3206
|
return out;
|
|
3136
3207
|
}
|
|
@@ -3152,6 +3223,26 @@ function fontPlateSample(options) {
|
|
|
3152
3223
|
}
|
|
3153
3224
|
return fontPlates.get(options);
|
|
3154
3225
|
}
|
|
3226
|
+
/** Every name an icon-image can resolve to, when it states them outright through `match`/`case`. */
|
|
3227
|
+
function statedIconNames(image) {
|
|
3228
|
+
if (typeof image === 'string')
|
|
3229
|
+
return /\{[A-Za-z0-9_:-]+\}/.test(image) ? null : [image];
|
|
3230
|
+
if (!Array.isArray(image))
|
|
3231
|
+
return null;
|
|
3232
|
+
const outputs = image[0] === 'match' ? image.filter((_, i) => i >= 3 && (i % 2 === 1 || i === image.length - 1))
|
|
3233
|
+
: image[0] === 'case' ? image.filter((_, i) => i >= 2 && (i % 2 === 0 || i === image.length - 1))
|
|
3234
|
+
: null;
|
|
3235
|
+
if (!outputs)
|
|
3236
|
+
return null;
|
|
3237
|
+
const names = outputs.map((o) => statedIconNames(o));
|
|
3238
|
+
return names.every((n) => n !== null) ? names.flat() : null;
|
|
3239
|
+
}
|
|
3240
|
+
function spriteOnlyIcon(image, options) {
|
|
3241
|
+
const names = statedIconNames(image);
|
|
3242
|
+
if (!names || !options.sprites)
|
|
3243
|
+
return false;
|
|
3244
|
+
return names.every((n) => !options.iconFont.glyphs.has(n)) && names.some((n) => hasIcon(options.sprites.sheets, n));
|
|
3245
|
+
}
|
|
3155
3246
|
/** MapBox's icon-* onto marker-*, once the sprite has been sliced into its own file. */
|
|
3156
3247
|
function markerDeclarations(layer, coverage, options) {
|
|
3157
3248
|
const image = layer.layout?.['icon-image'];
|
|
@@ -3160,6 +3251,9 @@ function markerDeclarations(layer, coverage, options) {
|
|
|
3160
3251
|
// --icon-font replaces a shield's ARTWORK with a glyph, and needs no sheet at all. Only a
|
|
3161
3252
|
// shield: an icon-only layer is a marker (a oneway arrow, a crossing), which has no glyph run.
|
|
3162
3253
|
if (options.iconFont && layer.layout?.['text-field'] !== undefined) {
|
|
3254
|
+
// A map symbol the face has no glyph for (a peak, a town's dot) keeps its sprite.
|
|
3255
|
+
if (spriteOnlyIcon(image, options))
|
|
3256
|
+
return markerDeclarations(layer, coverage, { ...options, iconFont: undefined });
|
|
3163
3257
|
return fontShieldDeclarations(layer, image, coverage, options);
|
|
3164
3258
|
}
|
|
3165
3259
|
if (!options.sprites) {
|
|
@@ -3351,6 +3445,11 @@ function placementPriority(layer, layerIndex, coverage) {
|
|
|
3351
3445
|
const sortKey = layer.layout?.['symbol-sort-key'];
|
|
3352
3446
|
if (sortKey === undefined)
|
|
3353
3447
|
return String(base);
|
|
3448
|
+
// a negated key is a boost: `base + boost` rather than `base - (0 - boost)`
|
|
3449
|
+
if (Array.isArray(sortKey) && sortKey[0] === '-' && sortKey.length === 2) {
|
|
3450
|
+
const boost = tryTranslate(sortKey[1], 'symbol-sort-key', layer.id, coverage);
|
|
3451
|
+
return boost === null ? String(base) : `(${base} + ${boost})`;
|
|
3452
|
+
}
|
|
3354
3453
|
const translated = tryTranslate(sortKey, 'symbol-sort-key', layer.id, coverage);
|
|
3355
3454
|
// MapBox places the LOWEST key first, and the culler takes the highest priority.
|
|
3356
3455
|
return translated === null ? String(base) : `(${base} - ${translated})`;
|