Skip to content

refactor(mapping): replay canonical relocalization maps and viewer values - #4695

Closed
TomCC7 wants to merge 1 commit into
cc/feat/cdr-relocalizationfrom
cc/feat/cdr-relocalization-replay
Closed

TomCC7 wants to merge 1 commit into
cc/feat/cdr-relocalizationfrom
cc/feat/cdr-relocalization-replay

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

Offline relocalization replay reads canonical PointCloud2/TFMessage recordings and .pc2.cdr premaps, then writes a canonical placed loaded_map once. Existing attempt spacing, sparse-frame filtering, first accepted fix, post-fix recording window and numeric error calculations are retained. Explicit geometry helpers feed the existing native RayTrace/Open3D algorithms. Viewer palette registration, fine premap size and fixed probe colors live outside generated values.

Linear: https://linear.app/dimensional/project/message-encoding-refactor-05a3ddb4af3e/overview

Parent: #4694. Tuning utilities receive encoding/geometry/display adapters only; no tuning study, search or benchmark was run or adjusted. The guide explicitly requires converted or regenerated canonical inputs. Renamed .pc2.cdr fixture paths are not a claim that historical LFS files have already been converted.

File category Files Review focus
Runtime/adapters 5 Replay and placed-map persistence; utility message boundaries; fine renderer and shared viewer helpers
Tests 2 Original replay interval/stop/first-fix assertions retained; actual native RayTrace; source ownership, display colors and palette IDs
Documentation 1 CDR premap reproduction and explicit historical-format break
CI 1 Installed production provenance, the same focused tests and five strict files

Validation: 23 focused source and the same 23 installed-wheel checks pass; production modules and the optional RayTrace extension asserted to come from site-packages. Five production files pass scoped strict mypy; applicable hooks pass; normal main wheel builds. SHA256: e5b20c5be1818a4e53f388390738675b33e381a11c494a99cdc7c501974c50a0.

Manual offline regression review requires the optional RayTrace Python math extension built in #4688 (it is not included as a precompiled native module in the main wheel):

python -c 'import dimos_voxel_ray_tracing'
OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 python -m pytest \
  --noconftest --import-mode=importlib -o addopts='' -q \
  dimos/mapping/relocalization/lidar/test_replay.py \
  dimos/mapping/cli/test_generated_cli.py \
  dimos/visualization/rerun/test_cdr.py::test_cloud_renderer_filters_nonfinite_positions_with_matching_colors \
  dimos/visualization/rerun/test_cdr.py::test_fixed_display_color_overrides_sensor_rgb_after_invalid_points_filter \
  dimos/visualization/rerun/test_cdr.py::test_height_palette_uses_all_class_ids_at_the_recording_root

The SQLite replay regression uses real generated cloud/TF payloads and the actual RayTrace math extension. The matcher decision is mocked at the external registration boundary so the test deterministically verifies refusal, retry, acceptance and stopping rather than running a tuning study. Placed-map tests check timestamp/frame/geometry, original input bytes and the existing no-overwrite behavior. No GPU/hardware, performance comparison, CI polling or human visual acceptance claim. Known GTSAM optional metadata mismatch, Nix and external gates remain separate; default cutover and legacy retirement are still incomplete.

@TomCC7 TomCC7 closed this Oct 20, 2026
@TomCC7
TomCC7 deleted the cc/feat/cdr-relocalization-replay branch October 20, 2026 18:11
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