Extract @trails-cool/map-core package from Planner
New renderer-agnostic package with zero dependencies: - Tile configs (base layers, overlay layers) - Color palettes (surface, highway, smoothness, tracktype, cycleway, bikeroute, elevation, maxspeed) — 8 color maps + 3 color functions - POI category definitions (9 categories with Overpass queries, icons, colors, profile mappings) - Z-index layering constants - Snap distance constant Updated 15 consuming files to import from @trails-cool/map-core. Deleted poi-categories.ts and z-index.ts from the Planner (fully moved). packages/map re-exports tile configs from map-core for backwards compat. All 117 tests pass, no user-facing changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
cd939ccf07
commit
60b94b5789
33 changed files with 339 additions and 257 deletions
|
|
@ -2,5 +2,5 @@ export { MapView } from "./MapView.tsx";
|
|||
export type { MapViewProps } from "./MapView.tsx";
|
||||
export { RouteLayer } from "./RouteLayer.tsx";
|
||||
export type { RouteLayerProps } from "./RouteLayer.tsx";
|
||||
export { baseLayers, overlayLayers } from "./layers.ts";
|
||||
export type { TileLayerConfig, OverlayLayerConfig } from "./layers.ts";
|
||||
export { baseLayers, overlayLayers } from "@trails-cool/map-core";
|
||||
export type { TileLayerConfig, OverlayLayerConfig } from "@trails-cool/map-core";
|
||||
|
|
|
|||
|
|
@ -1,66 +1,2 @@
|
|||
export interface TileLayerConfig {
|
||||
name: string;
|
||||
url: string;
|
||||
attribution: string;
|
||||
maxZoom?: number;
|
||||
}
|
||||
|
||||
export interface OverlayLayerConfig extends TileLayerConfig {
|
||||
id: string;
|
||||
opacity?: number;
|
||||
}
|
||||
|
||||
export const overlayLayers: OverlayLayerConfig[] = [
|
||||
{
|
||||
id: "hillshading",
|
||||
name: "Hillshading",
|
||||
url: "https://tiles.wmflabs.org/hillshading/{z}/{x}/{y}.png",
|
||||
attribution: "Hillshading: SRTM/Mapzen",
|
||||
maxZoom: 17,
|
||||
opacity: 0.5,
|
||||
},
|
||||
{
|
||||
id: "waymarked-cycling",
|
||||
name: "Cycling Routes",
|
||||
url: "https://tile.waymarkedtrails.org/cycling/{z}/{x}/{y}.png",
|
||||
attribution: '© <a href="https://waymarkedtrails.org">Waymarked Trails</a> (CC-BY-SA)',
|
||||
maxZoom: 18,
|
||||
},
|
||||
{
|
||||
id: "waymarked-hiking",
|
||||
name: "Hiking Routes",
|
||||
url: "https://tile.waymarkedtrails.org/hiking/{z}/{x}/{y}.png",
|
||||
attribution: '© <a href="https://waymarkedtrails.org">Waymarked Trails</a> (CC-BY-SA)',
|
||||
maxZoom: 18,
|
||||
},
|
||||
{
|
||||
id: "waymarked-mtb",
|
||||
name: "MTB Routes",
|
||||
url: "https://tile.waymarkedtrails.org/mtb/{z}/{x}/{y}.png",
|
||||
attribution: '© <a href="https://waymarkedtrails.org">Waymarked Trails</a> (CC-BY-SA)',
|
||||
maxZoom: 18,
|
||||
},
|
||||
];
|
||||
|
||||
export const baseLayers: TileLayerConfig[] = [
|
||||
{
|
||||
name: "OpenStreetMap",
|
||||
url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
||||
maxZoom: 19,
|
||||
},
|
||||
{
|
||||
name: "OpenTopoMap",
|
||||
url: "https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",
|
||||
attribution:
|
||||
'© <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)',
|
||||
maxZoom: 17,
|
||||
},
|
||||
{
|
||||
name: "CyclOSM",
|
||||
url: "https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png",
|
||||
attribution:
|
||||
'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> © <a href="https://github.com/cyclosm/cyclosm-cartocss-style/releases">CyclOSM</a>',
|
||||
maxZoom: 20,
|
||||
},
|
||||
];
|
||||
export type { TileLayerConfig, OverlayLayerConfig } from "@trails-cool/map-core";
|
||||
export { baseLayers, overlayLayers } from "@trails-cool/map-core";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue