Skip to content

feat: Emscripten WASM bindings + CI (combined)#3

Draft
jdsika wants to merge 2 commits into
mainfrom
development
Draft

feat: Emscripten WASM bindings + CI (combined)#3
jdsika wants to merge 2 commits into
mainfrom
development

Conversation

@jdsika

@jdsika jdsika commented May 19, 2026

Copy link
Copy Markdown
Collaborator

Combined development branch

This draft PR combines all feature branches to validate full CI (native + WASM) passes together.

Included:

CI Status

All three jobs must pass:

  • ubuntu-22.04-release — native build + tests
  • windows-2022-release — native build + tests
  • emscripten-wasm — WASM build + artifact verification

Merge strategy

Individual PRs (#1, #2) will be merged separately to main. This draft is for CI validation only.

@jdsika jdsika force-pushed the development branch 4 times, most recently from 196b443 to 5ec4207 Compare May 20, 2026 12:57
jdsika added 2 commits May 20, 2026 15:00
Add Embind-based WebAssembly bindings for libOpenDRIVE, enabling
browser-side OpenDRIVE processing.

Bindings expose:
- OpenDriveMap: createFromXml, get_road_network_mesh, get_roads
- Road: get_road_signal_mesh, road signals/objects
- Lane: get_lane_outline_indices, lane metadata
- RoadNetworkMesh: lanes, roadmarks, road objects, road signals
- Helper maps: lane types, road mark colors, junction IDs,
  road/lane metadata, road/lane linkage

Includes fix for compile errors in helper function signatures.
Add emscripten-wasm job to CI workflow:
- Uses mymindstorm/setup-emsdk with Emscripten 3.1.61
- Configures with -DOPENDRIVE_BUILD_WASM=ON and Ninja generator
- Builds WASM artifacts (libOpenDRIVE.js + .wasm)
- Verifies artifact presence after build

Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant