Skip to content

Add hierarchy-aware bounds API - #401

Open
MatthewMckee4 wants to merge 1 commit into
mainfrom
codex/hierarchy-bounds
Open

Add hierarchy-aware bounds API#401
MatthewMckee4 wants to merge 1 commit into
mainfrom
codex/hierarchy-bounds

Conversation

@MatthewMckee4

Copy link
Copy Markdown
Owner

Summary

Add an authoritative hierarchy-aware bounds report with cached child bounds, transformed instance bounds, deterministic diagnostics, and explicit empty/cyclic results. The viewer now consumes the core bounds logic and all deep hierarchy paths use heap-backed traversal. Closes #316.

Test Plan

Full workspace tests, strict Clippy, warning-denied rustdoc, docs build, and pre-commit hooks.

@MatthewMckee4 MatthewMckee4 added documentation Improvements or additions to documentation testing Related to internal testing of gdsr geometry Related to geometric operations (polygons, paths, points) performance Performance improvements viewer GDS viewer and visualization library Changes to the gdsr library crate labels Jul 26, 2026
@codspeed-hq

codspeed-hq Bot commented Jul 26, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 13 untouched benchmarks
🆕 2 new benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
🆕 Simulation deep_chain_10k N/A 111.1 ms N/A
🆕 Simulation shared_child_50k_arefs N/A 139.6 ms N/A

Comparing codex/hierarchy-bounds (a38c1b5) with main (923818c)

Open in CodSpeed

@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.19866% with 139 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/gdsr/src/hierarchy_bounds.rs 95.57% 58 Missing ⚠️
crates/gdsr-viewer/src/bevy_scene.rs 89.63% 46 Missing ⚠️
crates/gdsr-viewer/src/drawable.rs 92.94% 29 Missing ⚠️
crates/gdsr/src/elements/reference.rs 96.49% 6 Missing ⚠️
Files with missing lines Coverage Δ
crates/gdsr/src/elements/gds_box.rs 96.95% <100.00%> (+0.48%) ⬆️
crates/gdsr/src/elements/path.rs 98.37% <100.00%> (+0.01%) ⬆️
crates/gdsr/src/geometry/bounding_box.rs 99.03% <100.00%> (+0.25%) ⬆️
crates/gdsr/src/elements/reference.rs 99.46% <96.49%> (+0.73%) ⬆️
crates/gdsr-viewer/src/drawable.rs 79.01% <92.94%> (+15.69%) ⬆️
crates/gdsr-viewer/src/bevy_scene.rs 87.20% <89.63%> (+3.87%) ⬆️
crates/gdsr/src/hierarchy_bounds.rs 95.57% <95.57%> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MatthewMckee4 MatthewMckee4 removed documentation Improvements or additions to documentation testing Related to internal testing of gdsr performance Performance improvements viewer GDS viewer and visualization library Changes to the gdsr library crate labels Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

geometry Related to geometric operations (polygons, paths, points)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose cached hierarchy-aware bounding boxes in the core library

1 participant