@gustkit/mapbox-web 0.2.0

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/arrows.js ADDED
@@ -0,0 +1,87 @@
1
+ import { vectorAt } from "@gustkit/client";
2
+ import { Product } from "@gustkit/client";
3
+ /** 3×2 sample grid, inset from the postcard edges — at most `maxCount` arrows. */
4
+ export function sparseArrowSpots(w, h, sample, maxCount = 6) {
5
+ const cols = 3;
6
+ const rows = 2;
7
+ const insetX = w * 0.22;
8
+ const insetY = h * 0.28;
9
+ const spanX = cols > 1 ? (w - 2 * insetX) / (cols - 1) : 0;
10
+ const spanY = rows > 1 ? (h - 2 * insetY) / (rows - 1) : 0;
11
+ const out = [];
12
+ for (let r = 0; r < rows && out.length < maxCount; r++) {
13
+ for (let c = 0; c < cols && out.length < maxCount; c++) {
14
+ const x = insetX + c * spanX;
15
+ const y = insetY + r * spanY;
16
+ const v = sample(x, y);
17
+ if (!v || !(v.mag > 0))
18
+ continue;
19
+ out.push({ x, y, dirU: v.dirU, dirV: v.dirV, mag: v.mag });
20
+ }
21
+ }
22
+ return out;
23
+ }
24
+ export function paintArrowSpots(ctx, spots, magMax, scale = 1) {
25
+ const color = "rgba(255,255,255,0.92)";
26
+ const stroke = Math.max(1.4, 1.5 * Math.sqrt(scale));
27
+ ctx.strokeStyle = color;
28
+ ctx.fillStyle = color;
29
+ ctx.lineWidth = stroke;
30
+ ctx.lineCap = "round";
31
+ ctx.lineJoin = "miter";
32
+ ctx.shadowColor = "rgba(0,0,0,0.55)";
33
+ ctx.shadowBlur = 2 * Math.sqrt(scale);
34
+ for (const s of spots) {
35
+ const len = (8 + Math.min(s.mag / magMax, 1) * 16) * scale;
36
+ const ang = Math.atan2(-s.dirV, s.dirU);
37
+ const hl = Math.min(len * 0.45, 7 * scale);
38
+ const hw = hl * 0.7;
39
+ const shaft = Math.max(stroke, len - hl);
40
+ const bx = s.x + Math.cos(ang) * shaft;
41
+ const by = s.y + Math.sin(ang) * shaft;
42
+ const ex = s.x + Math.cos(ang) * len;
43
+ const ey = s.y + Math.sin(ang) * len;
44
+ ctx.beginPath();
45
+ ctx.moveTo(s.x, s.y);
46
+ ctx.lineTo(bx, by);
47
+ ctx.stroke();
48
+ ctx.beginPath();
49
+ ctx.moveTo(ex, ey);
50
+ ctx.lineTo(bx + Math.sin(ang) * hw, by - Math.cos(ang) * hw);
51
+ ctx.lineTo(bx - Math.sin(ang) * hw, by + Math.cos(ang) * hw);
52
+ ctx.closePath();
53
+ ctx.fill();
54
+ }
55
+ ctx.shadowBlur = 0;
56
+ }
57
+ export function paintArrowGrid(ctx, w, h, source, product, unproject) {
58
+ const magMax = product === Product.Wind ? 25 : 8;
59
+ const step = 46;
60
+ ctx.strokeStyle = "rgba(255,255,255,0.9)";
61
+ ctx.lineWidth = 1.3;
62
+ ctx.lineCap = "round";
63
+ ctx.shadowColor = "rgba(0,0,0,0.55)";
64
+ ctx.shadowBlur = 2;
65
+ for (let py = step / 2; py < h; py += step) {
66
+ for (let px = step / 2; px < w; px += step) {
67
+ const ll = unproject(px, py);
68
+ const v = vectorAt(source, product, ll.lon, ll.lat);
69
+ if (!v || !(v.mag > 0))
70
+ continue;
71
+ const len = 6 + Math.min(v.mag / magMax, 1) * 16;
72
+ const ex = px + v.dirU * len;
73
+ const ey = py - v.dirV * len;
74
+ ctx.beginPath();
75
+ ctx.moveTo(px, py);
76
+ ctx.lineTo(ex, ey);
77
+ const ang = Math.atan2(ey - py, ex - px);
78
+ const hl = 4;
79
+ ctx.lineTo(ex - hl * Math.cos(ang - 0.5), ey - hl * Math.sin(ang - 0.5));
80
+ ctx.moveTo(ex, ey);
81
+ ctx.lineTo(ex - hl * Math.cos(ang + 0.5), ey - hl * Math.sin(ang + 0.5));
82
+ ctx.stroke();
83
+ }
84
+ }
85
+ ctx.shadowBlur = 0;
86
+ }
87
+ //# sourceMappingURL=arrows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrows.js","sourceRoot":"","sources":["../src/arrows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RasterField } from "@gustkit/client";
2
+ /** Encode an RGBA field as a PNG data URL for a Mapbox ImageSource. */
3
+ export declare function fieldToDataUrl(field: RasterField): string | null;
4
+ //# sourceMappingURL=fieldPng.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldPng.d.ts","sourceRoot":"","sources":["../src/fieldPng.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAUhE"}
@@ -0,0 +1,15 @@
1
+ /** Encode an RGBA field as a PNG data URL for a Mapbox ImageSource. */
2
+ export function fieldToDataUrl(field) {
3
+ if (field.width < 1 || field.height < 1 || field.rgba.length === 0)
4
+ return null;
5
+ const canvas = document.createElement("canvas");
6
+ canvas.width = field.width;
7
+ canvas.height = field.height;
8
+ const ctx = canvas.getContext("2d");
9
+ if (!ctx)
10
+ return null;
11
+ const img = new ImageData(new Uint8ClampedArray(field.rgba), field.width, field.height);
12
+ ctx.putImageData(img, 0, 0);
13
+ return canvas.toDataURL("image/png");
14
+ }
15
+ //# sourceMappingURL=fieldPng.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldPng.js","sourceRoot":"","sources":["../src/fieldPng.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { GustKitMap } from "./GustKitMap.js";
2
+ export type { GustKitMapProps, GustKitMapLayers, GustKitMapHover } from "./GustKitMap.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { GustKitMap } from "./GustKitMap.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function ensureMapStyles(): void;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAiBA,wBAAgB,eAAe,IAAI,IAAI,CAOtC"}
package/dist/styles.js ADDED
@@ -0,0 +1,25 @@
1
+ const CSS = `
2
+ .gk-map-root{position:relative;width:100%;height:100%}
3
+ .gk-map-canvas{position:absolute;inset:0}
4
+ .gk-overlay{position:absolute;top:0;left:0;pointer-events:none}
5
+ .gk-arrows{z-index:1}
6
+ .gk-particles{z-index:2}
7
+ .gk-map-chrome{position:absolute;inset:0;pointer-events:none;z-index:3}
8
+ .gk-center{display:flex;flex-direction:column;align-items:center;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.7);font-variant-numeric:tabular-nums}
9
+ .gk-center b{font-size:18px;font-weight:800}
10
+ .gk-center span{font-size:10px;color:#e5e7eb}
11
+ .gk-center-high b{color:#4a86e8}
12
+ .gk-center-low b{color:#e2555a}
13
+ .gk-notoken{display:flex;align-items:center;justify-content:center;color:#94a3b8;padding:24px;text-align:center}
14
+ `;
15
+ let injected = false;
16
+ export function ensureMapStyles() {
17
+ if (injected || typeof document === "undefined")
18
+ return;
19
+ injected = true;
20
+ const el = document.createElement("style");
21
+ el.dataset.gustkit = "mapbox-web";
22
+ el.textContent = CSS;
23
+ document.head.appendChild(el);
24
+ }
25
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG;;;;;;;;;;;;;CAaX,CAAC;AAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,UAAU,eAAe;IAC7B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IACxD,QAAQ,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;IAClC,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@gustkit/mapbox-web",
3
+ "version": "0.2.0",
4
+ "description": "GustKitMap for the web — wraps Mapbox GL JS (ADR-016). Weather stack + loadView on camera idle; hosts pass token, camera, layers, children.",
5
+ "license": "MIT",
6
+ "author": "SeaPeople",
7
+ "homepage": "https://github.com/Sea-People-App/gustkit#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/Sea-People-App/gustkit.git",
11
+ "directory": "packages/mapbox-web"
12
+ },
13
+ "bugs": "https://github.com/Sea-People-App/gustkit/issues",
14
+ "engines": {
15
+ "node": ">=20"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "registry": "https://registry.npmjs.org/"
20
+ },
21
+ "sideEffects": false,
22
+ "type": "module",
23
+ "main": "./dist/index.js",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.js"
30
+ }
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "src"
35
+ ],
36
+ "dependencies": {
37
+ "@gustkit/client": "0.2.0"
38
+ },
39
+ "peerDependencies": {
40
+ "mapbox-gl": "^3.0.0",
41
+ "react": ">=19.0.0",
42
+ "react-dom": ">=19.0.0"
43
+ },
44
+ "devDependencies": {
45
+ "@types/geojson": "^7946.0.16",
46
+ "@types/mapbox-gl": "^3.4.1",
47
+ "@types/react": "^19.1.0",
48
+ "mapbox-gl": "^3.9.0",
49
+ "typescript": "^5.7.0"
50
+ },
51
+ "scripts": {
52
+ "build": "rm -rf dist && tsc -p tsconfig.json",
53
+ "typecheck": "tsc -p tsconfig.json --noEmit",
54
+ "lint": "echo 'no lint configured (mapbox-web)'"
55
+ }
56
+ }