gitextract_qlcdzk6r/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .github/ │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── lint.yml │ ├── preview.yml │ └── release.yml ├── .gitignore ├── .node-version ├── .npmrc ├── .prettierignore ├── .prettierrc ├── LICENSE-APACHE.txt ├── LICENSE-MIT.txt ├── README.md ├── components.json ├── e2e/ │ └── demo.test.ts ├── eslint.config.js ├── extensions/ │ ├── contour/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app.d.ts │ │ │ ├── app.html │ │ │ └── lib/ │ │ │ ├── MapLibreContourSource.svelte │ │ │ └── index.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── deckgl/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app.d.ts │ │ │ ├── app.html │ │ │ └── lib/ │ │ │ ├── DeckGLOverlay.svelte │ │ │ └── index.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── pmtiles/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app.d.ts │ │ │ ├── app.html │ │ │ └── lib/ │ │ │ ├── PMTilesProtocol.svelte │ │ │ └── index.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── terradraw/ │ ├── CHANGELOG.md │ ├── package.json │ ├── src/ │ │ ├── app.d.ts │ │ ├── app.html │ │ └── lib/ │ │ ├── TerraDraw.svelte │ │ └── index.ts │ ├── svelte.config.js │ ├── tsconfig.json │ └── vite.config.ts ├── package.json ├── playwright.config.ts ├── pnpm-workspace.yaml ├── src/ │ ├── app.css │ ├── app.d.ts │ ├── app.html │ ├── content/ │ │ ├── CodeBlock.svelte │ │ ├── components/ │ │ │ └── toc.ts │ │ ├── docs/ │ │ │ ├── quickstart/ │ │ │ │ ├── Marker.svelte │ │ │ │ ├── Simplest.svelte │ │ │ │ └── content.svelte.md │ │ │ └── toc.ts │ │ └── examples/ │ │ ├── 3d-buildings/ │ │ │ ├── Buildings3D.svelte │ │ │ └── content.svelte.md │ │ ├── 3d-extrusion-floorplan/ │ │ │ ├── Floorplan.svelte │ │ │ └── content.svelte.md │ │ ├── animate-images/ │ │ │ ├── AnimateImages.svelte │ │ │ └── content.svelte.md │ │ ├── basestyle/ │ │ │ ├── BaseStyle.svelte │ │ │ └── content.svelte.md │ │ ├── canvas-source/ │ │ │ ├── Canvas.svelte │ │ │ ├── Circle.ts │ │ │ └── content.svelte.md │ │ ├── clusters/ │ │ │ ├── Clusters.svelte │ │ │ └── content.svelte.md │ │ ├── color-relief/ │ │ │ ├── ColorRelief.svelte │ │ │ └── content.svelte.md │ │ ├── complex/ │ │ │ ├── Complex.svelte │ │ │ └── content.svelte.md │ │ ├── contour/ │ │ │ ├── Contour.svelte │ │ │ └── content.svelte.md │ │ ├── cursor/ │ │ │ ├── Cursor.svelte │ │ │ └── content.svelte.md │ │ ├── custom-control/ │ │ │ ├── CustomControl.svelte │ │ │ ├── MyControl.ts │ │ │ └── content.svelte.md │ │ ├── custom-layer/ │ │ │ ├── CustomLayer.svelte │ │ │ └── content.svelte.md │ │ ├── custom-protocol/ │ │ │ ├── CustomProtocol.svelte │ │ │ └── content.svelte.md │ │ ├── deckgl-overlay/ │ │ │ ├── DeckGL.svelte │ │ │ └── content.svelte.md │ │ ├── dynamic-image/ │ │ │ ├── DynamicImage.svelte │ │ │ └── content.svelte.md │ │ ├── fullscreen/ │ │ │ ├── Fullscreen.svelte │ │ │ └── content.svelte.md │ │ ├── geolocate/ │ │ │ ├── Geolocate.svelte │ │ │ └── content.svelte.md │ │ ├── global-state/ │ │ │ ├── Plain.svelte │ │ │ └── content.svelte.md │ │ ├── globe-atmosphere/ │ │ │ ├── Globe.svelte │ │ │ └── content.svelte.md │ │ ├── hover-styles/ │ │ │ ├── HoverStyles.svelte │ │ │ └── content.svelte.md │ │ ├── image-loader/ │ │ │ ├── Images.svelte │ │ │ └── content.svelte.md │ │ ├── limit-interaction/ │ │ │ ├── LimitInteraction.svelte │ │ │ └── content.svelte.md │ │ ├── marker-popup/ │ │ │ ├── MarkerAndPopup.svelte │ │ │ └── content.svelte.md │ │ ├── plain/ │ │ │ ├── Plain.svelte │ │ │ └── content.svelte.md │ │ ├── pmtiles/ │ │ │ ├── PMTiles.svelte │ │ │ └── content.svelte.md │ │ ├── query-features/ │ │ │ ├── Query.svelte │ │ │ └── content.svelte.md │ │ ├── side-by-side/ │ │ │ ├── SideBySide.svelte │ │ │ └── content.svelte.md │ │ ├── terradraw/ │ │ │ ├── TerraDraw.svelte │ │ │ └── content.svelte.md │ │ ├── terrain/ │ │ │ ├── Terrain.svelte │ │ │ └── content.svelte.md │ │ ├── threejs-model/ │ │ │ ├── CustomLayer.svelte │ │ │ └── content.svelte.md │ │ ├── toc.ts │ │ └── video-on-a-map/ │ │ ├── Video.svelte │ │ └── content.svelte.md │ ├── demo.spec.ts │ ├── lib/ │ │ ├── assets/ │ │ │ ├── fonts/ │ │ │ │ ├── LICENSE.txt │ │ │ │ └── geist.css │ │ │ └── icons/ │ │ │ └── GitHub.svelte │ │ ├── components/ │ │ │ ├── Index.svelte │ │ │ ├── types.ts │ │ │ └── ui/ │ │ │ ├── badge/ │ │ │ │ ├── badge.svelte │ │ │ │ └── index.ts │ │ │ ├── breadcrumb/ │ │ │ │ ├── breadcrumb-ellipsis.svelte │ │ │ │ ├── breadcrumb-item.svelte │ │ │ │ ├── breadcrumb-link.svelte │ │ │ │ ├── breadcrumb-list.svelte │ │ │ │ ├── breadcrumb-page.svelte │ │ │ │ ├── breadcrumb-separator.svelte │ │ │ │ ├── breadcrumb.svelte │ │ │ │ └── index.ts │ │ │ ├── button/ │ │ │ │ ├── button.svelte │ │ │ │ └── index.ts │ │ │ ├── checkbox/ │ │ │ │ ├── checkbox.svelte │ │ │ │ └── index.ts │ │ │ ├── dropdown-menu/ │ │ │ │ ├── dropdown-menu-checkbox-group.svelte │ │ │ │ ├── dropdown-menu-checkbox-item.svelte │ │ │ │ ├── dropdown-menu-content.svelte │ │ │ │ ├── dropdown-menu-group-heading.svelte │ │ │ │ ├── dropdown-menu-group.svelte │ │ │ │ ├── dropdown-menu-item.svelte │ │ │ │ ├── dropdown-menu-label.svelte │ │ │ │ ├── dropdown-menu-portal.svelte │ │ │ │ ├── dropdown-menu-radio-group.svelte │ │ │ │ ├── dropdown-menu-radio-item.svelte │ │ │ │ ├── dropdown-menu-separator.svelte │ │ │ │ ├── dropdown-menu-shortcut.svelte │ │ │ │ ├── dropdown-menu-sub-content.svelte │ │ │ │ ├── dropdown-menu-sub-trigger.svelte │ │ │ │ ├── dropdown-menu-sub.svelte │ │ │ │ ├── dropdown-menu-trigger.svelte │ │ │ │ ├── dropdown-menu.svelte │ │ │ │ └── index.ts │ │ │ ├── label/ │ │ │ │ ├── index.ts │ │ │ │ └── label.svelte │ │ │ ├── radio-group/ │ │ │ │ ├── index.ts │ │ │ │ ├── radio-group-item.svelte │ │ │ │ └── radio-group.svelte │ │ │ ├── select/ │ │ │ │ ├── index.ts │ │ │ │ ├── select-content.svelte │ │ │ │ ├── select-group-heading.svelte │ │ │ │ ├── select-group.svelte │ │ │ │ ├── select-item.svelte │ │ │ │ ├── select-label.svelte │ │ │ │ ├── select-portal.svelte │ │ │ │ ├── select-scroll-down-button.svelte │ │ │ │ ├── select-scroll-up-button.svelte │ │ │ │ ├── select-separator.svelte │ │ │ │ ├── select-trigger.svelte │ │ │ │ └── select.svelte │ │ │ ├── separator/ │ │ │ │ ├── index.ts │ │ │ │ └── separator.svelte │ │ │ ├── slider/ │ │ │ │ ├── index.ts │ │ │ │ └── slider.svelte │ │ │ ├── switch/ │ │ │ │ ├── index.ts │ │ │ │ └── switch.svelte │ │ │ ├── table/ │ │ │ │ ├── index.ts │ │ │ │ ├── table-body.svelte │ │ │ │ ├── table-caption.svelte │ │ │ │ ├── table-cell.svelte │ │ │ │ ├── table-footer.svelte │ │ │ │ ├── table-head.svelte │ │ │ │ ├── table-header.svelte │ │ │ │ ├── table-row.svelte │ │ │ │ └── table.svelte │ │ │ └── tabs/ │ │ │ ├── index.ts │ │ │ ├── tabs-content.svelte │ │ │ ├── tabs-list.svelte │ │ │ ├── tabs-trigger.svelte │ │ │ └── tabs.svelte │ │ └── utils.ts │ └── routes/ │ ├── +layout.server.ts │ ├── +layout.svelte │ ├── +page.svelte │ ├── DarkModeSelector.svelte │ ├── GlobalToc.svelte │ ├── Header.svelte │ ├── ViewTransition.svelte │ ├── docs/ │ │ ├── +layout.ts │ │ ├── +page.svelte │ │ ├── [slug]/ │ │ │ ├── +layout.svelte │ │ │ ├── +page.svelte │ │ │ └── +page.ts │ │ └── components/ │ │ ├── +page.svelte │ │ ├── [slug]/ │ │ │ ├── _+layout.svelte_ │ │ │ ├── _+page.svelte_ │ │ │ ├── _+page.ts_ │ │ │ ├── _Prop.svelte_ │ │ │ └── _utils.ts_ │ │ └── components.json │ ├── examples/ │ │ ├── +layout.ts │ │ ├── +page.svelte │ │ └── [slug]/ │ │ ├── +layout.svelte │ │ ├── +page.svelte │ │ └── +page.ts │ └── sitemap.xml/ │ └── +server.ts ├── svelte-maplibre-gl/ │ ├── CHANGELOG.md │ ├── package.json │ ├── src/ │ │ ├── app.d.ts │ │ ├── app.html │ │ └── lib/ │ │ ├── contexts.svelte.ts │ │ ├── controls/ │ │ │ ├── AttributionControl.svelte │ │ │ ├── CustomControl.svelte │ │ │ ├── FullScreenControl.svelte │ │ │ ├── GeolocateControl.svelte │ │ │ ├── GlobeControl.svelte │ │ │ ├── Hash.svelte │ │ │ ├── LogoControl.svelte │ │ │ ├── NavigationControl.svelte │ │ │ ├── ScaleControl.svelte │ │ │ └── TerrainControl.svelte │ │ ├── global/ │ │ │ └── Protocol.svelte │ │ ├── index.ts │ │ ├── layers/ │ │ │ ├── BackgroundLayer.svelte │ │ │ ├── CircleLayer.svelte │ │ │ ├── ColorReliefLayer.svelte │ │ │ ├── CustomLayer.svelte │ │ │ ├── FillExtrusionLayer.svelte │ │ │ ├── FillLayer.svelte │ │ │ ├── HeatmapLayer.svelte │ │ │ ├── HillshadeLayer.svelte │ │ │ ├── LineLayer.svelte │ │ │ ├── RasterLayer.svelte │ │ │ ├── RawLayer.svelte │ │ │ ├── SymbolLayer.svelte │ │ │ └── common.ts │ │ ├── map/ │ │ │ ├── Image.svelte │ │ │ ├── Light.svelte │ │ │ ├── MapLibre.svelte │ │ │ ├── Projection.svelte │ │ │ ├── Sky.svelte │ │ │ ├── Sprite.svelte │ │ │ └── Terrain.svelte │ │ ├── markers/ │ │ │ ├── Marker.svelte │ │ │ └── Popup.svelte │ │ ├── sources/ │ │ │ ├── CanvasSource.svelte │ │ │ ├── FeatureState.svelte │ │ │ ├── GeoJSONSource.svelte │ │ │ ├── ImageSource.svelte │ │ │ ├── RasterDEMTileSource.svelte │ │ │ ├── RasterTileSource.svelte │ │ │ ├── RawSource.svelte │ │ │ ├── VectorTileSource.svelte │ │ │ └── VideoSource.svelte │ │ ├── types.ts │ │ ├── utilities/ │ │ │ ├── ImageLoader.svelte │ │ │ ├── QueryRenderedFeatures.svelte │ │ │ └── QuerySourceFeatures.svelte │ │ └── utils.ts │ ├── svelte.config.js │ ├── tsconfig.json │ └── vite.config.ts ├── svelte.config.js ├── tailwind.config.ts ├── tsconfig.json ├── turbo.json ├── vite.config.ts └── wrangler.jsonc