Wire the map-core codec into route-data.ts so the Yjs session doc stores the computed route compactly, without changing the routing-host compute-once-and-share model. - Codec: add encodeElevations/decodeElevations (delta+varint) so geometry = encoded [lon,lat] polyline + elevation channel; precision bumped to 1e6 (~0.11 m) to preserve the router's 6-decimal output. - writeComputedRoute: geometry stored once (encoded polyline + elevations, no redundant geojson), road metadata run-length encoded. - Dual-format reads: getCoordinates / readRoadMetadata / new readGeojson transparently handle the new encoding AND legacy JSON docs (+ oldest geojson-only) — no migration, no flag day; legacy docs re-encode on the next recompute. use-elevation-data reads readGeojson (assembled for new docs). - Spec correction: a lossy compact codec can't be byte-identical to legacy (generateGpx emits raw precision), so "GPX byte-compatible" is corrected to "coordinates preserved within the router's ~0.1 m precision". Tests: legacy-format read, size assertion (>4x smaller / round-trips), elevation round-trip. map-core + planner typecheck/lint clean; full pnpm test 11/11. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
export type { TileLayerConfig, OverlayLayerConfig } from "./tiles.ts";
|
|
export { baseLayers, overlayLayers } from "./tiles.ts";
|
|
|
|
export {
|
|
SURFACE_COLORS, DEFAULT_SURFACE_COLOR,
|
|
HIGHWAY_COLORS, DEFAULT_HIGHWAY_COLOR,
|
|
SMOOTHNESS_COLORS, DEFAULT_SMOOTHNESS_COLOR,
|
|
TRACKTYPE_COLORS, DEFAULT_TRACKTYPE_COLOR,
|
|
CYCLEWAY_COLORS, DEFAULT_CYCLEWAY_COLOR,
|
|
BIKEROUTE_COLORS, DEFAULT_BIKEROUTE_COLOR,
|
|
elevationColor, routeGradeColor,
|
|
maxspeedColor,
|
|
} from "./colors/index.ts";
|
|
|
|
export type { PoiCategory, PoiSelector } from "./poi.ts";
|
|
export {
|
|
poiCategories,
|
|
getCategoriesForProfile,
|
|
matchingCategoryIds,
|
|
osmiumTagFilters,
|
|
profileOverlayDefaults,
|
|
} from "./poi.ts";
|
|
|
|
export {
|
|
Z_CURSOR, Z_GHOST_WAYPOINT, Z_WAYPOINT,
|
|
Z_POI_MARKER, Z_WAYPOINT_HIGHLIGHTED, Z_HIGHLIGHT,
|
|
} from "./z-index.ts";
|
|
|
|
export { SNAP_DISTANCE_METERS } from "./snap.ts";
|
|
|
|
export { computeSurfaceBreakdown } from "./surface-breakdown.ts";
|
|
export type { SurfaceBreakdown } from "./surface-breakdown.ts";
|
|
|
|
export {
|
|
encodePolyline, decodePolyline, encodeRuns, decodeRuns,
|
|
encodeElevations, decodeElevations,
|
|
isEncodedPolyline, isEncodedRuns, isEncodedElevations,
|
|
} from "./route-codec.ts";
|