Skip to content

42arch/hdmap-viewer

Repository files navigation

HD Map Viewer & Parser Monorepo

A monorepo for parsing and visualizing High-Definition (HD) Maps, primarily focused on OpenDRIVE. This project contains a visualization application and standalone parser libraries.

Features

  • OpenDRIVE Viewer: A web-based 3D viewer for .xodr files.
  • OpenDRIVE Parser: A TypeScript library to parse OpenDRIVE XML files into JavaScript objects.
  • Apollo Map Parser: (Work in Progress) A library for parsing Apollo HD Maps.

Project Structure

This project is a monorepo managed with pnpm workspaces and Turbo.

  • apps/
    • viewer: A Vue 3 + Vite application using Three.js to visualize HD Maps.
  • packages/
    • opendrive-parser: A TypeScript library for parsing OpenDRIVE files.
    • apollo-map-parser: A placeholder library for future Apollo map parsing support.

Getting Started

Prerequisites

  • Node.js: >= 18
  • pnpm: >= 10 (This project uses pnpm as its package manager)

Installation

Install dependencies from the root directory:

pnpm install

Usage

Development

To start the development server for all apps and packages:

pnpm dev

To start only the viewer application:

cd apps/viewer
pnpm dev

Building

To build all apps and packages for production:

pnpm build

To build a specific package (e.g., the parser):

pnpm build --filter=opendrive-parser

Linting & Formatting

To run linting across the codebase:

pnpm lint

Cleaning

To clean node_modules and build artifacts:

pnpm clean

Tech Stack

License

ISC