Files
world/tests/globe-native-harness.html
zeekayandHanzo Dev 2c10e2a004 feat(world/map): native deck.gl GlobeView 3D renderer (single camera, single context)
Add GlobeNative — a pure deck.gl _GlobeView renderer for the 3D globe that
replaces the mapbox-gl globe + deck overlay (two cameras, two contexts). One
Deck, one canvas, one WebGL context: perfect data registration by construction,
proper far-side occlusion (depth-writing ocean sphere), monochrome vercel-black
basemap from the bundled /data/countries.geojson.

Data layers, tooltips and clicks are reused verbatim from DeckGLMap via an
additive asGlobeSource() bridge (no builder duplication; heatmap->scatter swap
comes free). Native is now the default 3D renderer; ?globe=mapbox is the escape
hatch. 2D stays mapbox mercator, untouched. Clean create/destroy on the 2D<->3D
toggle (no leaked contexts). Idle auto-rotate + fly-to + reduced-motion +
tab-hidden gates ported from the mapbox globe.

Adds e2e/globe-native.spec.ts (flag activation, single context, GlobeViewport,
pick-on-sphere) + a standalone harness.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-09 22:19:44 -07:00

13 lines
325 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Globe Native Harness</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/e2e/globe-native-harness.ts"></script>
</body>
</html>