@massif-maps/style-tools 6.1.0-rc.1

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.
Files changed (55) hide show
  1. package/README.md +58 -0
  2. package/dist/cli.js +436 -0
  3. package/dist/cli.js.map +1 -0
  4. package/dist/generated/properties.json +2488 -0
  5. package/dist/legend-svg.js +142 -0
  6. package/dist/legend-svg.js.map +1 -0
  7. package/dist/mapbox2css/browser-host.js +27 -0
  8. package/dist/mapbox2css/browser-host.js.map +1 -0
  9. package/dist/mapbox2css/casing.js +84 -0
  10. package/dist/mapbox2css/casing.js.map +1 -0
  11. package/dist/mapbox2css/config.js +212 -0
  12. package/dist/mapbox2css/config.js.map +1 -0
  13. package/dist/mapbox2css/contour.js +61 -0
  14. package/dist/mapbox2css/contour.js.map +1 -0
  15. package/dist/mapbox2css/coverage.js +56 -0
  16. package/dist/mapbox2css/coverage.js.map +1 -0
  17. package/dist/mapbox2css/emissive.js +192 -0
  18. package/dist/mapbox2css/emissive.js.map +1 -0
  19. package/dist/mapbox2css/expression.js +606 -0
  20. package/dist/mapbox2css/expression.js.map +1 -0
  21. package/dist/mapbox2css/filter.js +285 -0
  22. package/dist/mapbox2css/filter.js.map +1 -0
  23. package/dist/mapbox2css/fold.js +588 -0
  24. package/dist/mapbox2css/fold.js.map +1 -0
  25. package/dist/mapbox2css/host.js +13 -0
  26. package/dist/mapbox2css/host.js.map +1 -0
  27. package/dist/mapbox2css/index.js +3599 -0
  28. package/dist/mapbox2css/index.js.map +1 -0
  29. package/dist/mapbox2css/narrow.js +284 -0
  30. package/dist/mapbox2css/narrow.js.map +1 -0
  31. package/dist/mapbox2css/node-host.js +36 -0
  32. package/dist/mapbox2css/node-host.js.map +1 -0
  33. package/dist/mapbox2css/placement.js +62 -0
  34. package/dist/mapbox2css/placement.js.map +1 -0
  35. package/dist/mapbox2css/png.js +264 -0
  36. package/dist/mapbox2css/png.js.map +1 -0
  37. package/dist/mapbox2css/properties.js +155 -0
  38. package/dist/mapbox2css/properties.js.map +1 -0
  39. package/dist/mapbox2css/schema.js +865 -0
  40. package/dist/mapbox2css/schema.js.map +1 -0
  41. package/dist/mapbox2css/shield.js +118 -0
  42. package/dist/mapbox2css/shield.js.map +1 -0
  43. package/dist/mapbox2css/split.js +380 -0
  44. package/dist/mapbox2css/split.js.map +1 -0
  45. package/dist/mapbox2css/sprite.js +882 -0
  46. package/dist/mapbox2css/sprite.js.map +1 -0
  47. package/dist/mapbox2css/types.js +2 -0
  48. package/dist/mapbox2css/types.js.map +1 -0
  49. package/dist/mapbox2css/variables.js +273 -0
  50. package/dist/mapbox2css/variables.js.map +1 -0
  51. package/dist/wasm.js +43 -0
  52. package/dist/wasm.js.map +1 -0
  53. package/package.json +48 -0
  54. package/wasm/massif-style.mjs +2 -0
  55. package/wasm/massif-style.wasm +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../src/mapbox2css/narrow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The CLI's sprite host: `node:fs` and pngjs, which is what this file exists to keep OUT of
3
+ * sprite.ts — a browser bundle of the converter imports neither.
4
+ */
5
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
6
+ import { dirname, join } from 'node:path';
7
+ import { PNG } from 'pngjs';
8
+ export const nodeSpriteHost = {
9
+ async fetchBytes(url) {
10
+ if (!/^https?:/.test(url))
11
+ return readFileSync(url);
12
+ const response = await fetch(url);
13
+ if (!response.ok)
14
+ throw new Error(`${response.status} ${response.statusText} for ${url}`);
15
+ return new Uint8Array(await response.arrayBuffer());
16
+ },
17
+ async decodePng(bytes) {
18
+ const png = PNG.sync.read(Buffer.from(bytes));
19
+ return { width: png.width, height: png.height, data: png.data };
20
+ },
21
+ encodePng(image, encoding) {
22
+ const png = new PNG({ width: image.width, height: image.height });
23
+ png.data = Buffer.from(image.data.buffer, image.data.byteOffset, image.data.length);
24
+ return PNG.sync.write(png, {
25
+ deflateLevel: 9,
26
+ filterType: -1,
27
+ ...(encoding.greyscale ? { colorType: 0 } : {}),
28
+ });
29
+ },
30
+ writeIcon(outDir, file, bytes) {
31
+ const target = join(outDir, ...file.split('/'));
32
+ mkdirSync(dirname(target), { recursive: true });
33
+ writeFileSync(target, bytes);
34
+ },
35
+ };
36
+ //# sourceMappingURL=node-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-host.js","sourceRoot":"","sources":["../../src/mapbox2css/node-host.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5B,MAAM,CAAC,MAAM,cAAc,GAAe;IACtC,KAAK,CAAC,UAAU,CAAC,GAAW;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAiB;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;IAED,SAAS,CAAC,KAAgB,EAAE,QAAqB;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACvB,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,IAAY,EAAE,KAAiB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;CACJ,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * MapBox spreads over three properties what CartoCSS says in one: `symbol-placement` decides
3
+ * whether the label repeats along a line, and the two alignments decide whether its glyphs stay
4
+ * upright. Both alignments default to `auto`, which the spec resolves as `map` for a line
5
+ * placement and `viewport` otherwise - so a plain point label is a BILLBOARD, not CartoCSS's
6
+ * `point` (flat in the ground plane, only swivelling). Leaving it unset gave every converted label
7
+ * the flat look.
8
+ */
9
+ export function resolvePlacement(layer, kind) {
10
+ const layout = layer.layout ?? {};
11
+ const placement = enumOf(layout['symbol-placement']);
12
+ const alongLine = placement === 'line' || placement === 'line-center';
13
+ const rotation = enumOf(layout[`${kind}-rotation-alignment`]) ?? (alongLine ? 'map' : 'viewport');
14
+ const pitch = enumOf(layout[`${kind}-pitch-alignment`]) ?? rotation;
15
+ const upright = pitch === 'viewport';
16
+ if (!alongLine)
17
+ return upright ? 'billboard' : 'point';
18
+ // upright and not turning with the line; line-center's one label is a plain one at the line's middle
19
+ if (rotation === 'viewport')
20
+ return placement === 'line-center' ? (upright ? 'billboard' : 'point') : 'billboard-line-repeat';
21
+ return upright ? 'billboard-line' : 'line';
22
+ }
23
+ /**
24
+ * MapLibre lays a line-placed label out along the line and never wraps it. An upright line-center
25
+ * label is one billboard here (resolvePlacement), so its text-max-width wraps it as a point's does;
26
+ * MapLibre keeps it on one line.
27
+ */
28
+ export function followsLine(layer) {
29
+ const placement = enumOf(layer.layout?.['symbol-placement']);
30
+ if (placement === 'line-center' && ['billboard', 'point'].includes(resolvePlacement(layer, 'text')))
31
+ return false;
32
+ return placement === 'line' || placement === 'line-center';
33
+ }
34
+ /** `line-center` is the one line placement that draws ONE label, at the middle, whatever the spacing. */
35
+ export function repeatsAlongLine(layer) {
36
+ return enumOf(layer.layout?.['symbol-placement']) === 'line';
37
+ }
38
+ /** The properties resolvePlacement/markerDeclarations consume, so the loop must not re-report them. */
39
+ export const HANDLED_ELSEWHERE = new Set([
40
+ // foldLayer's synthetic keys, not MapBox properties - see RECOLOURABLE_ICON / ICON_PARAMS.
41
+ 'massif:recolourable-icon',
42
+ 'massif:icon-params',
43
+ 'massif:icon-param-scope',
44
+ 'symbol-placement',
45
+ 'text-rotation-alignment',
46
+ 'text-pitch-alignment',
47
+ 'icon-image',
48
+ 'icon-rotate',
49
+ 'icon-size',
50
+ 'icon-color',
51
+ 'icon-opacity',
52
+ 'icon-halo-color',
53
+ 'icon-halo-width',
54
+ 'icon-allow-overlap',
55
+ 'icon-overlap',
56
+ 'icon-rotation-alignment',
57
+ 'icon-pitch-alignment',
58
+ ]);
59
+ function enumOf(value) {
60
+ return typeof value === 'string' && value !== 'auto' ? value : undefined;
61
+ }
62
+ //# sourceMappingURL=placement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/mapbox2css/placement.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAqB;IACtE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,aAAa,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC,IAAI,QAAQ,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,KAAK,UAAU,CAAC;IAErC,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,qGAAqG;IACrG,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC9H,OAAO,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7D,IAAI,SAAS,KAAK,aAAa,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAClH,OAAO,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,aAAa,CAAC;AAC/D,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,MAAM,CAAC;AACjE,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACrC,2FAA2F;IAC3F,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,yBAAyB;IACzB,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,cAAc;IACd,yBAAyB;IACzB,sBAAsB;CACzB,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,KAAuB;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,264 @@
1
+ /*
2
+ * A small, exact PNG codec, for the browser sprite host.
3
+ *
4
+ * The obvious way to read a sprite sheet in a browser is `createImageBitmap` into a 2D canvas, and
5
+ * it is wrong here: a 2D context stores premultiplied colour, so `getImageData` gives back
6
+ * un-premultiplied values that no longer match what the file held. Every partially transparent
7
+ * texel is off by a little, and a sprite sheet is mostly edges - an SDF sheet, whose alpha channel
8
+ * is a distance field rather than opacity, would be mangled outright.
9
+ *
10
+ * So the bytes are read as bytes. Inflate is the platform's own (`DecompressionStream`, in every
11
+ * modern browser and in node); deflate on the way out is not needed at all, because these files go
12
+ * into the wasm module's in-memory filesystem and are read straight back by the SDK - never sent
13
+ * anywhere - so they are written as stored, uncompressed blocks. Bigger file, no dependency.
14
+ *
15
+ * The CLI keeps using pngjs, which compresses; this is only for the host that cannot.
16
+ */
17
+ import { createImage } from './host.js';
18
+ const SIGNATURE = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];
19
+ const CRC_TABLE = (() => {
20
+ const table = new Uint32Array(256);
21
+ for (let n = 0; n < 256; n++) {
22
+ let c = n;
23
+ for (let k = 0; k < 8; k++)
24
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
25
+ table[n] = c >>> 0;
26
+ }
27
+ return table;
28
+ })();
29
+ function crc32(bytes) {
30
+ let c = 0xffffffff;
31
+ for (let i = 0; i < bytes.length; i++)
32
+ c = CRC_TABLE[(c ^ bytes[i]) & 0xff] ^ (c >>> 8);
33
+ return (c ^ 0xffffffff) >>> 0;
34
+ }
35
+ function adler32(bytes) {
36
+ let a = 1;
37
+ let b = 0;
38
+ for (let i = 0; i < bytes.length; i++) {
39
+ a = (a + bytes[i]) % 65521;
40
+ b = (b + a) % 65521;
41
+ }
42
+ return ((b << 16) | a) >>> 0;
43
+ }
44
+ function paeth(a, b, c) {
45
+ const p = a + b - c;
46
+ const pa = Math.abs(p - a);
47
+ const pb = Math.abs(p - b);
48
+ const pc = Math.abs(p - c);
49
+ if (pa <= pb && pa <= pc)
50
+ return a;
51
+ return pb <= pc ? b : c;
52
+ }
53
+ /** Undoes the per-scanline filter PNG applies before compressing. */
54
+ function unfilter(raw, width, height, bytesPerPixel) {
55
+ const stride = width * bytesPerPixel;
56
+ const out = new Uint8Array(stride * height);
57
+ let source = 0;
58
+ for (let y = 0; y < height; y++) {
59
+ const filter = raw[source++];
60
+ const row = y * stride;
61
+ const previous = row - stride;
62
+ for (let x = 0; x < stride; x++) {
63
+ const value = raw[source++];
64
+ const a = x >= bytesPerPixel ? out[row + x - bytesPerPixel] : 0;
65
+ const b = y > 0 ? out[previous + x] : 0;
66
+ const c = x >= bytesPerPixel && y > 0 ? out[previous + x - bytesPerPixel] : 0;
67
+ switch (filter) {
68
+ case 0:
69
+ out[row + x] = value;
70
+ break;
71
+ case 1:
72
+ out[row + x] = (value + a) & 0xff;
73
+ break;
74
+ case 2:
75
+ out[row + x] = (value + b) & 0xff;
76
+ break;
77
+ case 3:
78
+ out[row + x] = (value + ((a + b) >> 1)) & 0xff;
79
+ break;
80
+ case 4:
81
+ out[row + x] = (value + paeth(a, b, c)) & 0xff;
82
+ break;
83
+ default: throw new Error(`PNG: unknown row filter ${filter}`);
84
+ }
85
+ }
86
+ }
87
+ return out;
88
+ }
89
+ async function inflate(bytes) {
90
+ const stream = new Blob([bytes]).stream().pipeThrough(new DecompressionStream('deflate'));
91
+ return new Uint8Array(await new Response(stream).arrayBuffer());
92
+ }
93
+ const CHANNELS = { 0: 1, 2: 3, 3: 1, 4: 2, 6: 4 };
94
+ /** Decodes a PNG to 8-bit RGBA. Non-interlaced, 8 bits per channel - what a sprite sheet is. */
95
+ export async function decodePng(bytes) {
96
+ for (let i = 0; i < SIGNATURE.length; i++) {
97
+ if (bytes[i] !== SIGNATURE[i])
98
+ throw new Error('PNG: not a PNG');
99
+ }
100
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
101
+ let offset = 8;
102
+ let header = null;
103
+ let palette = null;
104
+ let transparency = null;
105
+ const parts = [];
106
+ while (offset + 8 <= bytes.length) {
107
+ const length = view.getUint32(offset);
108
+ const type = String.fromCharCode(bytes[offset + 4], bytes[offset + 5], bytes[offset + 6], bytes[offset + 7]);
109
+ const body = bytes.subarray(offset + 8, offset + 8 + length);
110
+ if (type === 'IHDR') {
111
+ header = {
112
+ width: view.getUint32(offset + 8),
113
+ height: view.getUint32(offset + 12),
114
+ depth: bytes[offset + 16],
115
+ colorType: bytes[offset + 17],
116
+ interlace: bytes[offset + 20],
117
+ };
118
+ }
119
+ else if (type === 'PLTE') {
120
+ palette = body.slice();
121
+ }
122
+ else if (type === 'tRNS') {
123
+ transparency = body.slice();
124
+ }
125
+ else if (type === 'IDAT') {
126
+ parts.push(body);
127
+ }
128
+ else if (type === 'IEND') {
129
+ break;
130
+ }
131
+ offset += 12 + length;
132
+ }
133
+ if (!header)
134
+ throw new Error('PNG: no IHDR');
135
+ if (header.depth !== 8)
136
+ throw new Error(`PNG: only 8 bits per channel, got ${header.depth}`);
137
+ if (header.interlace !== 0)
138
+ throw new Error('PNG: interlaced images are not read');
139
+ const channels = CHANNELS[header.colorType];
140
+ if (!channels)
141
+ throw new Error(`PNG: unknown colour type ${header.colorType}`);
142
+ let total = 0;
143
+ for (const part of parts)
144
+ total += part.length;
145
+ const compressed = new Uint8Array(total);
146
+ let at = 0;
147
+ for (const part of parts) {
148
+ compressed.set(part, at);
149
+ at += part.length;
150
+ }
151
+ const raw = unfilter(await inflate(compressed), header.width, header.height, channels);
152
+ const image = createImage(header.width, header.height);
153
+ const { data } = image;
154
+ for (let i = 0; i < header.width * header.height; i++) {
155
+ const source = i * channels;
156
+ const target = i * 4;
157
+ switch (header.colorType) {
158
+ case 0: // greyscale - what the CLI writes a distance field as
159
+ data[target] = data[target + 1] = data[target + 2] = raw[source];
160
+ data[target + 3] = 255;
161
+ break;
162
+ case 2: // RGB
163
+ data[target] = raw[source];
164
+ data[target + 1] = raw[source + 1];
165
+ data[target + 2] = raw[source + 2];
166
+ data[target + 3] = 255;
167
+ break;
168
+ case 3: { // palette
169
+ if (!palette)
170
+ throw new Error('PNG: a palette image with no PLTE chunk');
171
+ const index = raw[source];
172
+ data[target] = palette[index * 3];
173
+ data[target + 1] = palette[index * 3 + 1];
174
+ data[target + 2] = palette[index * 3 + 2];
175
+ data[target + 3] = transparency && index < transparency.length ? transparency[index] : 255;
176
+ break;
177
+ }
178
+ case 4: // greyscale + alpha
179
+ data[target] = data[target + 1] = data[target + 2] = raw[source];
180
+ data[target + 3] = raw[source + 1];
181
+ break;
182
+ default: // RGBA
183
+ data.set(raw.subarray(source, source + 4), target);
184
+ break;
185
+ }
186
+ }
187
+ return image;
188
+ }
189
+ function chunk(type, body) {
190
+ const out = new Uint8Array(12 + body.length);
191
+ const view = new DataView(out.buffer);
192
+ view.setUint32(0, body.length);
193
+ for (let i = 0; i < 4; i++)
194
+ out[4 + i] = type.charCodeAt(i);
195
+ out.set(body, 8);
196
+ view.setUint32(8 + body.length, crc32(out.subarray(4, 8 + body.length)));
197
+ return out;
198
+ }
199
+ /** A zlib stream of stored (uncompressed) deflate blocks, so no compressor is needed. */
200
+ function storedZlib(payload) {
201
+ const MAX = 65535;
202
+ const blocks = Math.max(1, Math.ceil(payload.length / MAX));
203
+ const out = new Uint8Array(2 + blocks * 5 + payload.length + 4);
204
+ out[0] = 0x78; // CMF: deflate, 32 KB window
205
+ out[1] = 0x01; // FLG: no dictionary - (0x78 << 8 | 0x01) is a multiple of 31, as zlib requires
206
+ let at = 2;
207
+ for (let start = 0; start === 0 || start < payload.length; start += MAX) {
208
+ const slice = payload.subarray(start, Math.min(start + MAX, payload.length));
209
+ out[at++] = start + MAX >= payload.length ? 1 : 0; // BFINAL, then BTYPE = 00 stored
210
+ out[at++] = slice.length & 0xff;
211
+ out[at++] = slice.length >> 8;
212
+ out[at++] = ~slice.length & 0xff;
213
+ out[at++] = (~slice.length >> 8) & 0xff;
214
+ out.set(slice, at);
215
+ at += slice.length;
216
+ }
217
+ const checksum = adler32(payload);
218
+ out[at++] = (checksum >>> 24) & 0xff;
219
+ out[at++] = (checksum >>> 16) & 0xff;
220
+ out[at++] = (checksum >>> 8) & 0xff;
221
+ out[at++] = checksum & 0xff;
222
+ return out.subarray(0, at);
223
+ }
224
+ /**
225
+ * Encodes 8-bit RGBA, or one greyscale channel when asked - the SDK reads a distance field from
226
+ * red, and the CLI writes those as colour type 0.
227
+ */
228
+ export function encodePng(image, { greyscale = false } = {}) {
229
+ const { width, height, data } = image;
230
+ const channels = greyscale ? 1 : 4;
231
+ const raw = new Uint8Array((width * channels + 1) * height);
232
+ let at = 0;
233
+ for (let y = 0; y < height; y++) {
234
+ raw[at++] = 0; // filter: none. Nothing compresses this, so nothing gains from filtering.
235
+ for (let x = 0; x < width; x++) {
236
+ const source = (y * width + x) * 4;
237
+ if (greyscale) {
238
+ raw[at++] = data[source];
239
+ }
240
+ else {
241
+ raw[at++] = data[source];
242
+ raw[at++] = data[source + 1];
243
+ raw[at++] = data[source + 2];
244
+ raw[at++] = data[source + 3];
245
+ }
246
+ }
247
+ }
248
+ const ihdr = new Uint8Array(13);
249
+ const view = new DataView(ihdr.buffer);
250
+ view.setUint32(0, width);
251
+ view.setUint32(4, height);
252
+ ihdr[8] = 8;
253
+ ihdr[9] = greyscale ? 0 : 6;
254
+ const header = chunk('IHDR', ihdr);
255
+ const idat = chunk('IDAT', storedZlib(raw));
256
+ const end = chunk('IEND', new Uint8Array(0));
257
+ const out = new Uint8Array(SIGNATURE.length + header.length + idat.length + end.length);
258
+ out.set(SIGNATURE, 0);
259
+ out.set(header, SIGNATURE.length);
260
+ out.set(idat, SIGNATURE.length + header.length);
261
+ out.set(end, SIGNATURE.length + header.length + idat.length);
262
+ return out;
263
+ }
264
+ //# sourceMappingURL=png.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"png.js","sourceRoot":"","sources":["../../src/mapbox2css/png.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * MapBox paint/layout property -> CartoCSS property, per layer type.
3
+ *
4
+ * A name absent here is dropped and counted; a name present but missing from the generated
5
+ * allowlist (src/generated/properties.json) is a bug in this table and is reported as one, which is
6
+ * what keeps the two from drifting.
7
+ */
8
+ export const LAYER_SYMBOLIZER = {
9
+ background: 'map',
10
+ fill: 'polygon',
11
+ line: 'line',
12
+ symbol: 'text',
13
+ 'fill-extrusion': 'building',
14
+ raster: 'raster',
15
+ circle: 'marker',
16
+ // Only the TREE source-layer, as a canopy dot - see canopyDeclarations. Every other model
17
+ // layer is dropped in index.ts before it reaches this table.
18
+ model: 'marker',
19
+ };
20
+ export const PROPERTY_MAP = {
21
+ line: {
22
+ 'line-color': 'line-color',
23
+ 'line-opacity': 'line-opacity',
24
+ 'line-width': 'line-width',
25
+ 'line-offset': 'line-offset',
26
+ 'line-gap-width': 'line-gap-width',
27
+ 'line-blur': 'line-blur',
28
+ 'line-border-width': 'line-border-width',
29
+ 'line-border-color': 'line-border-color',
30
+ 'line-dasharray': 'line-dasharray',
31
+ 'line-join': 'line-join',
32
+ 'line-cap': 'line-cap',
33
+ 'line-miter-limit': 'line-miterlimit',
34
+ 'line-pattern': 'line-pattern-file',
35
+ },
36
+ fill: {
37
+ 'fill-color': 'polygon-fill',
38
+ 'fill-opacity': 'polygon-opacity',
39
+ 'fill-pattern': 'polygon-pattern-file',
40
+ // fill-outline-color is a second symbolizer, handled in layers.ts.
41
+ },
42
+ 'fill-extrusion': {
43
+ 'fill-extrusion-color': 'building-fill',
44
+ 'fill-extrusion-opacity': 'building-fill-opacity',
45
+ 'fill-extrusion-height': 'building-height',
46
+ 'fill-extrusion-base': 'building-min-height',
47
+ },
48
+ symbol: {
49
+ 'text-field': 'text-name',
50
+ 'text-font': 'text-face-name',
51
+ 'text-size': 'text-size',
52
+ 'text-color': 'text-fill',
53
+ 'text-opacity': 'text-opacity',
54
+ 'text-halo-color': 'text-halo-fill',
55
+ 'text-halo-width': 'text-halo-radius',
56
+ 'text-transform': 'text-transform',
57
+ // text-letter-spacing / text-line-height / text-max-width are in ems and are converted to
58
+ // pixels in index.ts; symbol-placement is one third of the placement, see placement.ts.
59
+ 'text-allow-overlap': 'text-allow-overlap',
60
+ 'symbol-spacing': 'text-spacing',
61
+ 'text-max-angle': 'text-max-char-angle-delta',
62
+ // Renamed to shield-occlusion-opacity with the rest of the rule when the layer is a
63
+ // shield. icon-occlusion-opacity is folded into this one in index.ts - a label carries one.
64
+ 'text-occlusion-opacity': 'text-occlusion-opacity',
65
+ },
66
+ raster: {
67
+ 'raster-opacity': 'raster-opacity',
68
+ 'raster-resampling': 'raster-filter-mode',
69
+ },
70
+ circle: {
71
+ 'circle-color': 'marker-fill',
72
+ 'circle-opacity': 'marker-fill-opacity',
73
+ 'circle-radius': 'marker-width',
74
+ 'circle-stroke-color': 'marker-line-color',
75
+ 'circle-stroke-width': 'marker-line-width',
76
+ 'circle-stroke-opacity': 'marker-line-opacity',
77
+ },
78
+ background: {
79
+ 'background-color': 'background-color',
80
+ },
81
+ model: {
82
+ 'model-color': 'marker-fill',
83
+ 'model-opacity': 'marker-fill-opacity',
84
+ // The rest of the model is the model: see KNOWN_GAPS.
85
+ },
86
+ };
87
+ /**
88
+ * Enum values MapBox and CartoCSS both have but spell differently. A value not listed passes
89
+ * through: most enums (round/butt/square, left/right/center) already agree.
90
+ */
91
+ export const VALUE_MAP = {
92
+ 'raster-filter-mode': { linear: 'bilinear', nearest: 'nearest' },
93
+ 'text-transform': { uppercase: 'uppercase', lowercase: 'lowercase', none: 'none' },
94
+ };
95
+ /**
96
+ * MapBox layout/paint properties that are deliberately not translated, with the reason, so the
97
+ * coverage report says WHY rather than just "unknown". These are the gaps investigated in
98
+ * docs/contributing/style-tools.md.
99
+ */
100
+ export const KNOWN_GAPS = {
101
+ 'line-gradient': 'no CartoCSS equivalent',
102
+ 'line-translate': 'screen-space translate has no equivalent',
103
+ 'line-translate-anchor': 'screen-space translate has no equivalent',
104
+ 'fill-translate': 'screen-space translate has no equivalent',
105
+ 'fill-translate-anchor': 'screen-space translate has no equivalent',
106
+ 'fill-antialias': 'always on in the vt renderer',
107
+ 'fill-extrusion-pattern': 'no CartoCSS equivalent',
108
+ 'fill-extrusion-vertical-gradient': 'always on in the 3D lighting shader',
109
+ 'fill-extrusion-translate': 'screen-space translate has no equivalent',
110
+ 'text-rotate': 'text-orientation would force the flat point placement (TextSymbolizer::getPlacement)',
111
+ 'text-line-height': 'a data-driven line height has no CartoCSS equivalent',
112
+ 'icon-offset': 'no CartoCSS equivalent',
113
+ 'icon-anchor': 'no CartoCSS equivalent',
114
+ 'icon-ignore-placement': 'no CartoCSS equivalent',
115
+ 'icon-optional': 'no CartoCSS equivalent',
116
+ 'icon-keep-upright': 'no CartoCSS equivalent',
117
+ 'icon-text-fit': 'no CartoCSS equivalent',
118
+ 'icon-text-fit-padding': 'no CartoCSS equivalent',
119
+ 'icon-halo-blur': 'no CartoCSS equivalent',
120
+ // A text or shield label takes it as collision-padding; an icon-only layer is a marker,
121
+ // which carries no collision box of its own.
122
+ 'icon-padding': 'an icon-only layer has no collision padding',
123
+ 'icon-translate': 'screen-space translate has no equivalent',
124
+ 'icon-translate-anchor': 'screen-space translate has no equivalent',
125
+ 'text-translate': 'screen-space translate has no equivalent',
126
+ 'text-translate-anchor': 'screen-space translate has no equivalent',
127
+ 'text-halo-blur': 'no CartoCSS equivalent',
128
+ 'text-ignore-placement': 'no CartoCSS equivalent (text-clip and text-allow-overlap are the near ones)',
129
+ 'symbol-avoid-edges': 'no CartoCSS equivalent',
130
+ 'symbol-z-order': 'no CartoCSS equivalent',
131
+ 'text-rotation-alignment': 'implied by symbol-placement',
132
+ 'text-pitch-alignment': 'no CartoCSS equivalent',
133
+ 'circle-blur': 'no CartoCSS equivalent',
134
+ 'circle-pitch-alignment': 'no CartoCSS equivalent',
135
+ 'circle-pitch-scale': 'no CartoCSS equivalent',
136
+ 'raster-hue-rotate': 'no CartoCSS equivalent',
137
+ 'raster-brightness-min': 'no CartoCSS equivalent',
138
+ 'raster-brightness-max': 'no CartoCSS equivalent',
139
+ 'raster-saturation': 'no CartoCSS equivalent',
140
+ 'raster-contrast': 'no CartoCSS equivalent',
141
+ 'raster-fade-duration': 'no CartoCSS equivalent',
142
+ // A tree is drawn as a canopy dot, so everything that describes the MODEL goes.
143
+ 'model-id': 'a tree is drawn as a canopy dot, not a 3D model',
144
+ 'model-rotation': 'a canopy dot has no orientation',
145
+ 'model-scale': 'the canopy is sized from the zoom, not per model',
146
+ 'model-color-mix-intensity': 'there is no model colour to mix the tint into',
147
+ 'model-cutoff-fade-range': 'no near-plane model fade',
148
+ 'model-emissive-strength': 'no CartoCSS equivalent',
149
+ 'model-roughness': 'no CartoCSS equivalent',
150
+ 'model-cast-shadows': 'no CartoCSS equivalent',
151
+ 'model-translation': 'no CartoCSS equivalent',
152
+ 'model-ambient-occlusion-intensity': 'no CartoCSS equivalent',
153
+ 'model-height-based-emissive-strength-multiplier': 'no CartoCSS equivalent',
154
+ };
155
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/mapbox2css/properties.ts"],"names":[],"mappings":"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"}