Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when adding a lightweight interactive globe with cobe (canvas setup, markers, interaction, performance, integration with React/Next.js).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -5% | 0% |
import createGlobe from "cobe"const globe = createGlobe(canvas, { ...options, onRender(state) { ... } })devicePixelRatio, width, heightphi, theta (rotation angles)scale, dark, diffusebaseColor, markerColor, glowColormarkers: [{ location: [lat, lon], size, color? }]globe.toggle() pauses RAFglobe.destroy() removes instancewidth/height scaled for DPR.jsimport createGlobe from "cobe"; const canvas = document.getElementById("cobe"); let phi = 0; function setup() { const rect = canvas.getBoundingClientRect(); const dpr = Math.min(window.devicePixelRatio, 2); canvas.width = Math.round(rect.width * dpr); canvas.height = Math.round(rect.height * dpr); const globe = createGlobe(canvas, { devicePixelRatio: dpr, width: canvas.width, height: canvas.height, phi: 0, theta: 0.2, dark: 0, diffuse: 1.2, scale: 1, mapSamples: 16000, mapBrightness: 6, baseColor: [0.2, 0.2, 0.25], glowColor: [1, 1, 1], markerColor: [0.8, 0.5, 1], markers: [{ location: [1.3521, 103.8198], size: 0.08 }], onRender: (state) => { state.phi = phi; phi += 0.01; }, }); return globe; } let globe = setup(); window.addEventListener("resize", () => { globe.destroy(); globe = setup(); });
Other measured skills in the registry, with their headline benchmark lift.