Skip to content

Releases: webarkit/WebARKitLib-rs

v0.6.1

24 May 13:12
e0a50f2

Choose a tag to compare

🐛 Bug Fixes

  • (ci) Remove invalid --ignore-timeouts flag from tarpaulin config
  • (ci) Add CODECOV_TOKEN to codecov upload step

🚀 Features

  • Add Tarpaulin-based code coverage report

v0.6.0

18 May 15:21
8ea4310

Choose a tag to compare

Milestone 8 — FREAK descriptor & DoG detector

⚙️ Miscellaneous Tasks

  • (core) Add purecv dependency for milestone 8 refs #125 #126

🐛 Bug Fixes

  • (kpm) Relax dual-mode Gaussian-pyramid test to <= 1 ULP tolerance
  • (kpm) Disable FP contraction in C++ build to restore cross-platform parity
  • (kpm) Use full 15-digit C++ literals for orientation smoothing kernel
  • (kpm) Silence clippy::excessive_precision on SMOOTH_KERNEL

📚 Documentation

  • Add §3.5 documenting bilinear interpolation formula equivalence
  • Add §3.4 documenting the NONMAX_CHECK macro replacement
  • Update README and ARCHITECTURE with M8 milestone details

🚀 Features

  • (kpm) Port BoxFilterPyramid8u to Rust (M8 step 1)
  • (kpm) Port interpolate.h + BinomialPyramid32f to Rust (M8 step 2)
  • (kpm) Port DoG detector + OrientationAssignment to Rust (M8 step 3)
  • (kpm) Port FREAK descriptor + Keyframe to Rust (M8 step 4)

🧪 Testing

  • (kpm) Add dual-mode test for DoG detector with find_orientation=true

v0.5.1

14 May 11:13
c99bf76

Choose a tag to compare

⚙️ Miscellaneous Tasks

  • Convert generators to arlog_*! macros (PR 3/4 for #90)

🎨 Styling

  • Fix rustfmt import order in nft_marker_gen.rs

🐛 Bug Fixes

  • (examples) Use arlog_rel! for help banner and prompt UI per review

v0.5.0

13 May 14:09
4764f70

Choose a tag to compare

Milestone 7 — Hough voting & feature matching in pure Rust

🚀 Features

  • (kpm) Implement Hough similarity voting algorithm (M7)
  • (kpm) Implement binary hierarchical clustering and k-medoids for FREAK descriptors
  • (kpm) Port FeatureStore and FeatureMatcher with three match variants
  • (kpm) Port ArrayShuffle for BHC parity with C++ baseline

🐛 Bug Fixes

  • (kpm) Fix arlog macro imports and unused variable warnings (#109)
  • (kpm) Apply clippy and fmt fixes to hough.rs for M7
  • (kpm) Resolve clippy warnings in clustering module
  • (kpm) Resolve remaining clippy warnings in clustering
  • (kpm) Include in kpm_c_api.cpp for GCC build
  • (kpm) Move include before matcher headers for GCC build
  • (build) Use platform-appropriate C++ stdlib (libc++ on macOS, libstdc++ on Linux)
  • (kpm) Use combined absolute+relative tolerance in M6-2 dual-mode tests
  • (kpm) Widen relative tolerance to 1e-5 for M6-2 dual-mode tests

🧪 Testing

  • (kpm) Add dual-mode FFI tests for FeatureMatcher (M7-3)
  • (kpm) Strengthen dual-mode FeatureMatcher tests with pair equality and global-best invariants

📚 Documentation

  • Add pre-commit verification workflow and arlog import pattern to CLAUDE.md

🎨 Styling

  • Fix formatting from cargo fmt

⚙️ Miscellaneous Tasks

  • Run dual-mode tests in CI to enforce C++ parity
  • Scope dual-mode tests to --lib to avoid pre-existing integration test failures

v0.4.1

12 May 18:57
ddba7c3

Choose a tag to compare

Patch release — Matrix code GlobalID, paramGL ports, and quality fixes

🚀 Features

  • (matrix) Add ARMatrixCodeType::GlobalID variant and MatchOk.global_id field
  • (bch) Implement BCH(127,64,22) decoder for AR_MATRIX_CODE_GLOBAL_ID
  • (matrix) Add 14x14 GlobalID bit extraction with 4-direction traversal
  • (matrix) Wire AR_MATRIX_CODE_GLOBAL_ID into ar_matrix_code_get_id and ar_get_marker_info
  • (matrix) Add GlobalID support to matrix code type and update parsing logic
  • (core) Implement ar_param_change_size and argl_camera_frustum_rh
  • (param_gl) Port remaining three paramGL.c functions to param_gl.rs

🐛 Bug Fixes

  • (param_gl) Fix clippy::doc_overindented_list_items on line 249
  • (arlog) Scope test log capture to the thread running the arlog test

🚜 Refactor

  • (param) Change ar_param_change_size to mutate ARParam in-place

📚 Documentation

  • (param_gl) Fix C source reference from argl.c to paramGL.c

⚙️ Miscellaneous Tasks

  • Finish converting load_nft.rs to arlog_*! macros

v0.4.0

06 May 12:32
f9dbb24

Choose a tag to compare

Milestone 6 — Math & homography in pure Rust

🐛 Bug Fixes

  • (kpm) Satisfy clippy on freak::math constants and helpers
  • (bench) Resolve SIMD benchmark compilation errors

📚 Documentation

  • (kpm) Clarify SolveLinearSystem2x2 is dead in OUR build context

🚀 Features

  • (kpm) Port FREAK math utilities from C++ (Milestone 6 Phase 1-3)
  • (kpm) Port linear algebra and linear solvers (M6-2)
  • (kpm) Port homography pipeline + Padé matrix exp (M6-3)

🧪 Testing

  • (kpm) Add dual-mode validation for FREAK math fast-paths
  • (kpm) Add dual-mode validation for M6-2 linear solvers
  • (kpm) Add dual-mode validation for M6-3 homography pipeline

v0.3.8

04 May 15:29
cf6a50e

Choose a tag to compare

Last action before Milestone 6 — Math & homography in pure Rust

⚙️ Miscellaneous Tasks

  • Pass --features log-helpers when running simple example
  • Remove accidental .DS_Store from repo changes
  • Convert println!/eprintln! to arlog_*! in examples and bench

🎨 Styling

  • Apply cargo fmt --all (fixes CI fmt check)
  • (core) Fix formatting issues
  • (marker) Apply cargo fmt
  • (diagnostic) Apply stable rustfmt wrapping (#104 CI)

🐛 Bug Fixes

  • (clippy) Clear all warnings and add clippy -D warnings to CI
  • (clippy) Fix 5 CI-only clippy warnings (explicit_counter_loop, manual_checked_ops)
  • (marker) Populate cf_patt/id_patt and copy to final id/cf per mode
  • (core) Port confidence_cutoff from C and add regression tests (issue #92)
  • (marker) Wire cutoff_phase from MatchOk/MatchError result codes (#88)
  • (marker) Resolve merge conflict in cutoff_phase tests
  • (simple,marker) Honour the buff/pixel_format contract (#103)

📚 Documentation

  • (issue-86) Add implementation plan
  • Update CLAUDE.md with documentation and style guidelines
  • (issue-103) Correct findings — Rust/C cf close but not byte-equal

🚀 Features

  • (marker) Add finalize_marker_id_cf_dir helper
  • (types) Add MatchOk, MatchError, From for ARMarkerInfoCutoffPhase
  • (core) Add ar_detect_marker orchestrator for full marker detection pipeline
  • (types) Add AR tracking history mode constants (#101)
  • (marker) Port arDetectMarker tracking history pipeline (#96)
  • (diagnostic) Add dump_patt + diff_patt for issue #103

🚜 Refactor

  • (core) Move AR modules into ar/ subfolder (closes #82)
  • (types) Defer MatchOk.global_id field to issue #89
  • (pattern) Pattern_match returns Result<MatchOk, MatchError>
  • (matrix) Ar_matrix_code_get_id returns Result<MatchOk, MatchError>

🧪 Testing

  • (marker) Add failing tests for finalize_marker_id_cf_dir helper
  • (marker) Add confidence_cutoff edge case and mode-specific unit tests (#96)
  • (marker) Extract history phases as helpers and add 12 unit tests (#96)

v0.3.7

23 Apr 18:52
3760668

Choose a tag to compare

🐛 Bug Fixes

  • Replace PNG banner with JPG version in README and assets

v0.3.6

23 Apr 17:34
afe3525

Choose a tag to compare

🐛 Bug Fixes

  • (ci) Harden publish-crates checkout against submodule HTTP 500s

v0.3.5

23 Apr 16:39
0976c91

Choose a tag to compare

🐛 Bug Fixes

  • (ci) Add submodules: recursive to release.yml checkout steps