trenchfoot 0.4.1__tar.gz → 0.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/CHANGELOG.md +31 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/PKG-INFO +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/metrics.json +2 -2
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj +2 -2
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json +2 -2
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj +2 -2
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json +8 -8
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json +3 -3
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj +9718 -9718
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json +12 -12
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj +14662 -14662
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/metrics.json +6 -6
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/scene.json +3 -3
- trenchfoot-0.4.3/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +28818 -0
- trenchfoot-0.4.3/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +45 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/scene.json +6 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/trench_scene.obj +12825 -12841
- trenchfoot-0.4.3/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +49 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/scene.json +14 -14
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/trench_scene.obj +21450 -21470
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/SUMMARY.json +26 -54
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/trench_scene_generator_v3.py +677 -37
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/pyproject.toml +1 -1
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/tests/test_trenchfoot_generation.py +387 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/uv.lock +1 -1
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj +0 -28818
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json +0 -43
- trenchfoot-0.4.1/packages/trenchfoot/scenarios/S07_circular_well/metrics.json +0 -48
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/.github/workflows/ci.yml +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/.gitignore +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/CLAUDE.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/LICENSE +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/Makefile +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/README.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/STATUS.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/docs/scenario_gallery.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/__init__.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/Dockerfile +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/README.md +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/__init__.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/generate_scenarios.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/gmsh_sloped_trench_mesher.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/plot_mesh.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/render_colors.py +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/scene.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S06_bumpy_wide_loop/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/ground_truth_isosurface.html +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/preview_oblique.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/preview_side.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/preview_top.png +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/sdf_metadata.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/packages/trenchfoot/scene_spec_example.json +0 -0
- {trenchfoot-0.4.1 → trenchfoot-0.4.3}/tests/test_sdf_readiness.py +0 -0
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.3] - 2026-01-30
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- Regenerated bundled scenario meshes with truncation fix (0.4.2 shipped stale OBJ files)
|
|
7
|
+
|
|
8
|
+
## [0.4.2] - 2026-01-29
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Embedded object truncation**: Pipes, boxes, and spheres that extend beyond trench boundaries are now automatically truncated or shrunk to fit within the trench void:
|
|
12
|
+
- **Pipes**: Truncated at walls/floor with angled elliptical caps matching the intersection plane
|
|
13
|
+
- **Boxes**: Dimensions shrunk to fit within available space
|
|
14
|
+
- **Spheres**: Radius reduced to fit within available space
|
|
15
|
+
- **New helper functions** for trench boundary computation:
|
|
16
|
+
- `_find_trench_frame_at_xy()`: Find local trench coordinate frame at any XY position
|
|
17
|
+
- `_compute_pipe_truncation()`: Binary search for where pipe exits trench
|
|
18
|
+
- `_compute_cap_plane_at_truncation()`: Determine wall/floor plane at intersection
|
|
19
|
+
- `_compute_box_fit()`: Calculate shrunk box dimensions
|
|
20
|
+
- `_compute_sphere_fit()`: Calculate shrunk sphere radius
|
|
21
|
+
- **Extended `make_cylinder()`**: Now supports asymmetric extents (`neg_extent`, `pos_extent`) and angled cap planes (`cap_plane_neg`, `cap_plane_pos`)
|
|
22
|
+
- **New tests** for truncation functionality:
|
|
23
|
+
- `test_pipe_truncation_at_wall`
|
|
24
|
+
- `test_pipe_truncation_at_floor`
|
|
25
|
+
- `test_pipe_angled_cap_geometry`
|
|
26
|
+
- `test_box_shrink_to_fit`
|
|
27
|
+
- `test_sphere_shrink_to_fit`
|
|
28
|
+
- `test_no_vertices_outside_trench`
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- Long pipes in S07 circular well no longer protrude through trench walls
|
|
32
|
+
- Oversized embedded objects no longer extend outside trench geometry
|
|
33
|
+
|
|
3
34
|
## [0.4.1] - 2026-01-28
|
|
4
35
|
|
|
5
36
|
### Fixed
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
]
|
|
17
17
|
},
|
|
18
18
|
"volumes": {
|
|
19
|
-
"trench_from_surface": -
|
|
20
|
-
"trench_flux_integral_div1": -
|
|
19
|
+
"trench_from_surface": -5.508,
|
|
20
|
+
"trench_flux_integral_div1": -5.508000000000001
|
|
21
21
|
},
|
|
22
22
|
"footprint_area_top": 7.199999999999999,
|
|
23
23
|
"footprint_area_bottom": 5.039999999999999,
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
"trench_cap_for_volume": 11.999999999999995,
|
|
5
5
|
"trench_walls": 24.52316671923435,
|
|
6
6
|
"ground_surface": 32.64,
|
|
7
|
-
"pipe0_pipe_side":
|
|
7
|
+
"pipe0_pipe_side": 6.407116236325851,
|
|
8
8
|
"pipe0_pipe_cap_neg": 0.07063537956855451,
|
|
9
|
-
"pipe0_pipe_cap_pos": 0.
|
|
10
|
-
"pipe1_pipe_side":
|
|
11
|
-
"pipe1_pipe_cap_neg": 0.
|
|
12
|
-
"pipe1_pipe_cap_pos": 0.
|
|
13
|
-
"box0":
|
|
9
|
+
"pipe0_pipe_cap_pos": 0.071425607283709,
|
|
10
|
+
"pipe1_pipe_side": 0.47390319559060545,
|
|
11
|
+
"pipe1_pipe_cap_neg": 0.03174471434831514,
|
|
12
|
+
"pipe1_pipe_cap_pos": 0.031744714348315134,
|
|
13
|
+
"box0": 0.5900000000000003
|
|
14
14
|
},
|
|
15
15
|
"closed_surface_sets": {
|
|
16
16
|
"trench_closed_groups": [
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
22
|
"volumes": {
|
|
23
|
-
"trench_from_surface": -
|
|
24
|
-
"trench_flux_integral_div1": -
|
|
23
|
+
"trench_from_surface": -11.39792289904546,
|
|
24
|
+
"trench_flux_integral_div1": -11.397922899045458
|
|
25
25
|
},
|
|
26
26
|
"footprint_area_top": 11.999999999999995,
|
|
27
27
|
"footprint_area_bottom": 8.700070386125077,
|