Files
world/package.json
zeekay 8ad318597b feat(world): 2.4.20 — premium origin dots, tidy layers panel + (i) info, always-on infra, fleet arch/mem, PWA reload toast, hidden scrollbars
- dots: request-origin ScatterplotLayer scales with volume; basemap-aware ring
  (dark halo on satellite/terrain for contrast, warm glow on dark); subtle +/-6%
  pulse; readable count badges (dark pill, fmtCompact) for the busiest origins.
  Layers on TOP of the shipped cybermap globe — enhances, does not revert it.
- layers panel: drop the redundant in-panel header (duplicate title + minimize +
  drag + help) — the top-left Layers button is the single show/hide control.
- (i) info: new top-left info button opens a compact about/legend popover (request
  origin / validator / GPU fleet / cloud region / datacenter + data sources),
  theme-aware, closes on outside-click/Esc; adds the lucide 'info' glyph.
- infra always-on: persist last-non-empty chain-nodes + GPU fleet (real telemetry)
  and keep them when a poll momentarily returns 0, so the map never goes flat.
- fleet (BYO): remove the redundant hardcoded 'on-prem' badge; enrich BYO workers
  with real CPU arch (x86-64 / ARM64) + system memory joined from the unified
  /v1/fleet board by hostname — best-effort, honest-omit when absent.
- PWA: registerType 'prompt' + subtle 'new version - reload' toast; check for
  updates immediately on load. skipWaiting/clientsClaim/NetworkFirst unchanged.
- scrollbars: hide chrome dashboard-wide (.panel-content + descendants) while
  keeping scroll; .scroll-x + wheel->horizontal for wide rows.
2026-07-18 17:34:37 -07:00

78 lines
4.1 KiB
JSON

{
"name": "world-monitor",
"private": true,
"version": "2.4.20",
"type": "module",
"scripts": {
"lint:md": "markdownlint-cli2 '**/*.md'",
"dev": "vite",
"dev:tech": "VITE_VARIANT=tech vite",
"dev:finance": "VITE_VARIANT=finance vite",
"build": "tsc && vite build",
"build:full": "VITE_VARIANT=full tsc && VITE_VARIANT=full vite build",
"build:tech": "VITE_VARIANT=tech tsc && VITE_VARIANT=tech vite build",
"build:finance": "VITE_VARIANT=finance tsc && VITE_VARIANT=finance vite build",
"typecheck": "tsc --noEmit",
"tauri": "tauri",
"preview": "vite preview",
"test:e2e:full": "VITE_VARIANT=full playwright test",
"test:e2e:tech": "VITE_VARIANT=tech playwright test",
"test:e2e:finance": "VITE_VARIANT=finance playwright test",
"test:e2e:runtime": "VITE_VARIANT=full playwright test e2e/runtime-fetch.spec.ts",
"test:e2e": "npm run test:e2e:runtime && npm run test:e2e:full && npm run test:e2e:tech && npm run test:e2e:finance",
"test:data": "node --test tests/*.test.mjs",
"test:sidecar": "node --test src-tauri/sidecar/local-api-server.test.mjs api/_cors.test.mjs api/youtube/embed.test.mjs api/cyber-threats.test.mjs",
"test:e2e:visual:full": "VITE_VARIANT=full playwright test -g \"matches golden screenshots per layer and zoom\"",
"test:e2e:visual:tech": "VITE_VARIANT=tech playwright test -g \"matches golden screenshots per layer and zoom\"",
"test:e2e:visual": "npm run test:e2e:visual:full && npm run test:e2e:visual:tech",
"test:e2e:visual:update:full": "VITE_VARIANT=full playwright test -g \"matches golden screenshots per layer and zoom\" --update-snapshots",
"test:e2e:visual:update:tech": "VITE_VARIANT=tech playwright test -g \"matches golden screenshots per layer and zoom\" --update-snapshots",
"test:e2e:visual:update": "npm run test:e2e:visual:update:full && npm run test:e2e:visual:update:tech",
"desktop:dev": "VITE_DESKTOP_RUNTIME=1 tauri dev",
"desktop:build:full": "VITE_VARIANT=full VITE_DESKTOP_RUNTIME=1 tauri build",
"desktop:build:tech": "VITE_VARIANT=tech VITE_DESKTOP_RUNTIME=1 tauri build --config src-tauri/tauri.tech.conf.json",
"desktop:build:finance": "VITE_VARIANT=finance VITE_DESKTOP_RUNTIME=1 tauri build --config src-tauri/tauri.finance.conf.json",
"desktop:package:macos:full": "node scripts/desktop-package.mjs --os macos --variant full",
"desktop:package:macos:tech": "node scripts/desktop-package.mjs --os macos --variant tech",
"desktop:package:windows:full": "node scripts/desktop-package.mjs --os windows --variant full",
"desktop:package:windows:tech": "node scripts/desktop-package.mjs --os windows --variant tech",
"desktop:package:macos:full:sign": "node scripts/desktop-package.mjs --os macos --variant full --sign",
"desktop:package:macos:tech:sign": "node scripts/desktop-package.mjs --os macos --variant tech --sign",
"desktop:package:windows:full:sign": "node scripts/desktop-package.mjs --os windows --variant full --sign",
"desktop:package:windows:tech:sign": "node scripts/desktop-package.mjs --os windows --variant tech --sign",
"desktop:package": "node scripts/desktop-package.mjs"
},
"devDependencies": {
"@playwright/test": "^1.52.0",
"@tauri-apps/cli": "^2.10.0",
"@types/d3": "^7.4.3",
"@types/maplibre-gl": "^1.13.2",
"@types/topojson-client": "^3.1.5",
"@types/topojson-specification": "^1.0.5",
"markdownlint-cli2": "^0.20.0",
"typescript": "^5.7.2",
"vite": "^6.0.7",
"vite-plugin-pwa": "^1.2.0",
"ws": "^8.19.0"
},
"dependencies": {
"@deck.gl/aggregation-layers": "^9.2.6",
"@deck.gl/core": "^9.2.6",
"@deck.gl/geo-layers": "^9.2.6",
"@deck.gl/layers": "^9.2.6",
"@deck.gl/mapbox": "^9.2.6",
"@hanzo/ai": "^0.2.1",
"@sentry/browser": "^10.39.0",
"@upstash/redis": "^1.36.1",
"@xenova/transformers": "^2.17.2",
"d3": "^7.9.0",
"deck.gl": "^9.2.6",
"i18next": "^25.8.10",
"i18next-browser-languagedetector": "^8.2.1",
"mapbox-gl": "^3.26.0",
"maplibre-gl": "^5.16.0",
"onnxruntime-web": "^1.23.2",
"topojson-client": "^3.1.0"
}
}