Skip to content

refactor(mapping): migrate ray-tracing clouds and keyed regions to CDR - #4688

Closed
TomCC7 wants to merge 2 commits into
cc/feat/cdr-mapping-regionsfrom
cc/feat/cdr-ray-tracing
Closed

TomCC7 wants to merge 2 commits into
cc/feat/cdr-mapping-regionsfrom
cc/feat/cdr-ray-tracing

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

Ray-tracing now receives and emits canonical generated CDR values. Live point clouds retain exact source Header stamps; keyed viewer cells and seeded map/bounds pairs carry explicit region_id values through the region schemas from #4687. Voxel registration, ray clearing, health/support rules, batching, seed priority and geometry remain the same.

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

Parent: #4687. MLS's receiving ports and remaining runtime/default/legacy migration are still separate unfinished layers.

Files Count Change
Python boundary/helpers/spec 5 Generated ports, numeric transformer boundary, loaded-map TF placement, region rendering and canonical mapping protocol types
Rust boundary 3 CDR input/output, generated cloud layout access, exact TF adapters, explicit region IDs and cylinder dimensions
Build/dependencies 3 Local SDK/generated crate, locked closure, fixed-hash standalone source recipe
Tests/CI 6 Original mapper/transformer/viewer/SQLite assertions retained; added codec/layout/source-stamp tests and real native process acceptance

The TF Python annotation now matches the Rust SDK's existing bidirectional TF port contract. Names/configuration/cadences stay the same. Seed bounds carry center/radius/z fields rather than encoding dimensions in a quaternion; viewer keys are not hidden in Header or timestamps.

Manual native acceptance from this checkout with development Python dependencies and Rust installed:

python -m pip install -e .
cargo build --locked --manifest-path dimos/mapping/ray_tracing/rust/Cargo.toml --bin voxel_ray_tracing --jobs 2
DIMOS_NATIVE_RAY_TRACING_BINARY="$PWD/dimos/mapping/ray_tracing/rust/target/debug/voxel_ray_tracing" python -m pytest --noconftest --import-mode=importlib -o addopts='' -q dimos/mapping/ray_tracing/test_generated_native.py

The actual native process receives synthetic Python CDR TF/clouds over discovery-disabled localhost Zenoh. Tests check registered cloud coordinates, exact Header nanoseconds, keyed map cells, and matching seed region/bounds ID+stamp after TF placement. All required ports are wired; the SDK's strict missing-port validation remains intact. Omitting the binary variable skips the binary case, so set it for acceptance. No hardware is operated.

Local evidence: 102 Rust unit tests pass, including all 99 original math/queue/seed tests, and the same 102 pass from the standalone source artifact layout without checkout parents. All-target Clippy with warnings denied and the native binary build pass. The real PyO3 mapper wheel was built locally (dev profile) and used by 22 Python tests, including the actual native process. The same 22 pass with production wrapper/transformer/viewer/loaded-map modules and the extension proven to load from site-packages. Strict typing for 5 production files, applicable hooks, main-wheel build and dependency check on the existing default environment plus the optional mapper extension pass.

Main-wheel SHA256: a536b6c8884890a0da223db6f2fbe884dfc24f9ef471eb3cee1312b6f4949812. Optional mapper wheel SHA256: ef269c34a8593d9fe958a6ceb6926ab6487212e1df18fa64a7c104818cfe709f.

Limits: Nix executable absent, so its gate remains unverified; equivalent standalone Cargo assembly passed. TF query windows retain the existing floating-point API. Main wheel supplies the Python wrapper/SDK; a compiled mapper executable is supplied explicitly outside a checkout, while default Nix source builds remain a checkout workflow. This is not a full-stack or native binary distribution completion claim. No CI polling, performance/benchmark, physical hardware, screenshot or human acceptance claim.

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