Thanks for helping improve WebARKit! This is the C/C++ source of the tracker; most changes are consumed by the webarkit-testing superproject as a submodule.
- Branch from
devand open your PR againstdev(notmain). - Reference the related issue in the PR description.
- Sign your commits (
git commit -S …).
All commit messages must follow Conventional Commits:
<type>(<optional scope>): <short description>
Common types: feat, fix, docs, refactor, test, chore, perf. Examples:
feat(tracker): detect features on a downsampled frame
fix(#55): populate pose3d so getPoseMatrixCV() isn't zero
docs: document the pose pipeline
refactor(#50): remove dead computePose/invertPose
- Active WebAR work lives under
WebARKit/(the OCVT planar tracker). - Do not modify the vendored old ARToolKit5 sources under
lib/SRC/**orinclude/AR/**— those are upstream utilities used by jsartoolkitNFT / ARnft and are kept untouched.
Applies to
WebARKit/(this folder) ↔ thewebarkit-testingrepo. This flow is for changes to theWebARKit/OCVT tracker, which the webarkit-testing superproject compiles to WASM. Changes to the vendoredlib/SRC/**/include/AR/**(old ARToolKit5) do not use this flow — they reach the web through jsartoolkitNFT, a different consumer.
A change to WebARKit/ that affects the WASM build is consumed by webarkit-testing via
the submodule. Coordinate both repos:
- Branch from
devin both WebARKitLib and webarkit-testing. - Make the C++ change here; in webarkit-testing bump the submodule pointer and
rebuild (
npm run build-docker→build-es6). - Open a PR pair (WebARKitLib →
dev, webarkit-testing →dev); cross-link them. - After the WebARKitLib PR merges, re-point the submodule to the merged
devtip.
-
The library is normally built from webarkit-testing (WASM) — see its README.
WebARKit/CMakeLists.txtcan also build it as a static lib for WASM or native Linux (selected viaEMSCRIPTEN_COMP), pulling OpenCV from webarkit/opencv-em. -
Unit tests (GoogleTest) live in
tests/and run in CI on every PR:cmake -S tests -B tests/build && cmake --build tests/build && ctest --test-dir tests/build
If you change a config constant or the version, update the matching assertions in
tests/webarkit_test.cc.
By contributing, you agree that your contributions are licensed under LGPL-3.0.