roadgen (hdmap_generator)
Copyright 2026 the hdmap_generator contributors

This product includes software developed by the hdmap_generator contributors.

Licensed under the Apache License, Version 2.0 (the "License"); see the LICENSE
file in the root of this distribution.

--------------------------------------------------------------------------------
Third-party dependencies
--------------------------------------------------------------------------------

This project links against the following third-party components. Their licenses
are permissive and compatible with redistribution under Apache-2.0; each remains
under its own terms.

* opendrive (https://github.com/itdesigners/opendrive-rs)
  OpenDRIVE 1.7 data model, parser and writer. MIT License.
  Its documentation quotes the ASAM OpenDRIVE XML schema; ASAM grants everyone a
  basic, non-exclusive and unlimited license to use the ASAM OpenDRIVE standard
  (see https://www.asam.net/license).

* simple_lanelet2 (https://github.com/hakuturu583/simple_lanelet2)
  Lanelet2-compatible data model, OSM XML I/O, projections and routing.
  BSD 3-Clause License, itself derived from Lanelet2 (Fraunhofer IOSB /
  Karlsruhe Institute of Technology), BSD 3-Clause.

* symbios-shape (https://github.com/TheJanusStream/symbios-shape)
  A derivation engine for CGA shape grammars, used by `roadgen-buildings` to turn a
  lot into the buildings standing on it. MIT License.

* PyO3 (https://github.com/PyO3/pyo3)
  Rust bindings for Python. Apache-2.0.

* serde, serde_json, serde_norway
  Serialization, for the ClipGT and GPUDrive scenario files, the GPUDrive scene and
  the CARLA package descriptor. MIT and/or Apache-2.0.

* uom, vec1, xml-rs, chrono, url, thiserror, derive_more, paste, backtrace
  Transitive dependencies of `opendrive`, each under MIT and/or Apache-2.0.

* quick-xml, parking_lot, rstar
  Transitive dependencies of `simple_lanelet2`, each under MIT and/or Apache-2.0.

* glam, nom, rand, rand_pcg, symbios-genetics
  Transitive dependencies of `symbios-shape`, each under MIT and/or Apache-2.0.

--------------------------------------------------------------------------------
Assets a CARLA package fetches
--------------------------------------------------------------------------------

`roadgen-carla` writes a manifest naming textures published by Poly Haven
(https://polyhaven.com) and `roadgen.fetch_textures()` downloads them into the
package. Nothing is redistributed here: this repository holds the names, not the
files, and a package that has not been through the fetcher has none of them.

Poly Haven's assets are published under CC0 1.0 Universal
(https://creativecommons.org/publicdomain/zero/1.0/) — public domain, no attribution
required. Each package names the assets it uses in its own `Textures/CREDITS.md`, as
a courtesy and so that a package can be traced back to where its surfaces came from.

--------------------------------------------------------------------------------
Formats this project writes
--------------------------------------------------------------------------------

`roadgen-carla` writes files for the CARLA simulator (https://carla.org/, MIT). No
CARLA source or asset is reproduced or redistributed here. What `roadgen-carla`
holds is the *conventions two programs must agree on to exchange a map* — folder
names, mesh-name substrings, semantic label values and the shape of the package
descriptor — determined by reading CARLA's own `SSTags.h`, `MoveAssetsCommandlet.cpp`,
`PrepareAssetsForCookingCommandlet.cpp`, `Tagger.cpp`, `ObjectLabel.h` and
`Util/Tools/Import.py` on the `ue5-dev` branch.
