minimal.xgis
Minimal
Natural Earth countries with one fill + stroke layer.
Examples
.xgis samples.
Click any card to launch the running demo — pan, zoom, rotate, and inspect.
Each card also carries a <> link to the
underlying .xgis source on GitHub for copy-paste.
Start here
minimal.xgis
One source, one layer — copy this, change the URL, you have a map.
Run demo
pmtiles-layered.xgis
Four MVT layers from one archive — water, landuse, roads, buildings.
Run demo
animation-showcase.xgis
Three keyframe blocks driving fill, stroke, and dash offset together.
Run demo
All examples
Single source, single layer — the smallest possible map.
minimal.xgis
Natural Earth countries with one fill + stroke layer.
ocean-land.xgis
Two GeoJSON layers stacked — water under land.
dark.xgis
Same data, slate palette and translucent strokes.
styled-world.xgis
Multi-layer composition with subtle gradients.
Streaming vector tiles via PMTiles archives. Each MVT source-layer styles independently.
pmtiles-source.xgis
One PMTiles archive, one xgis layer filtering one MVT layer.
pmtiles-layered.xgis
water / landuse / roads / buildings each driven by its own MVT slice.
osm-style.xgis
Per-kind landuse + road hierarchy + extruded buildings (3D walls visible at high pitch).
pmtiles-only-landuse.xgis
Filter a PMTiles archive down to a single MVT layer.
pmtiles-protomaps-v4.xgis
Protomaps v4 daily world basemap — earth source-layer + vector_layers metadata.
openfreemap-bright.xgis
Live OpenFreeMap "bright" Mapbox style, run through the /convert pipeline. 93 layers from a real-world cartographic style.
Bind feature properties to colors, sizes, and opacity through match(), filters, and gradients.
continent-match.xgis
fill match(.CONTINENT) { ... } — one branch per category.
continent-outlines.xgis
Same match-table approach driving stroke color.
filter-gdp.xgis
Multiple layers, each with a `filter:` predicate over the same source.
gdp-gradient.xgis
Continuous color ramp from a numeric property.
income-match.xgis
Categorical mapping for World Bank income tiers.
population-gradient.xgis
Choropleth from population numbers.
megacities.xgis
Filter cities by population, render with sized symbols.
categorical.xgis
Cleanest match() example — each region one color.
Stroke widths, dash arrays, line caps and joins, signed-distance-field rendering.
bold-borders.xgis
Heavy stroke on a thin fill for poster-style maps.
dashed-borders.xgis
stroke-dasharray on country boundaries.
dashed-lines.xgis
Multiple dash patterns side-by-side.
layered-borders.xgis
Stack multiple stroke widths to fake casing.
line-offset.xgis
Parallel lines via stroke-offset.
line-styles.xgis
Cap, join, dash combinations gallery.
pattern-lines.xgis
Shape glyphs repeated along a line.
stroke-align.xgis
inset / outset / center stroke alignment.
translucent-lines.xgis
Line opacity via the offscreen MAX-blend pass.
multi-layer-line.xgis
Casing + body + centerline composed as three layers.
Point glyphs from SVG path strings or built-in shapes, sized and colored from data.
custom-symbol.xgis
symbol arrow { path "..." } and shape-arrow.
custom-shapes.xgis
Circle / square / triangle / arrow primitives.
gradient-points.xgis
Per-point color from a numeric property.
populated-places.xgis
City labels sized by population.
procedural-circles.xgis
Generated point grid with ramped colors.
sdf-points.xgis
Signed-distance-field point rendering — crisp at any zoom.
shape-gallery.xgis
Side-by-side comparison of every built-in symbol.
SDF text rendering — anchor strings to lon/lat from feature properties or imperatively from app code.
labels.xgis
label-["{.name}"] resolves text from each feature's properties — Mapbox text-field equivalent.
text-overlay.xgis
map.addOverlay({text, anchor, color, halo}) — text labels added from app code, re-projected every frame.
pmtiles-labels.xgis
Same label-["{.name}"] utility against PMTiles vector-tile features — properties surface from the MVT decode worker. Florence Duomo at z=14.
Time-driven property tweening declared via top-level `keyframes` blocks.
Zoom-conditional utilities and level-of-detail switching.
Pointer events, hover state, selection.
XYZ tile URL templates as a base layer under vector content.
Multi-source compositions modeled after print cartography.
physical-map.xgis
Land + ocean + rivers + lakes + coastline at default resolution.
physical-map-10m.xgis
Higher-detail Natural Earth at 1:10m scale.
physical-map-50m.xgis
Mid-detail variant; faster initial load than 10m.
night-map.xgis
Dark navigation palette with subtle hierarchy.
rivers-lakes.xgis
Hydro layers separated for independent styling.
rivers-10m.xgis
Detailed river network from Natural Earth 10m.
states-provinces.xgis
Sub-national admin boundaries.
coastline.xgis
Single coastline polyline at default resolution.
The full examples directory carries another ~60 fixture and reference-test files used by the e2e harness — useful for contributors digging into a specific renderer behavior, less so for learning the language.