trenchfoot 0.4.3__py3-none-any.whl → 0.4.4__py3-none-any.whl

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.

Potentially problematic release.


This version of trenchfoot might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  {
2
2
  "out_root": "/home/liam/projects/chiark/trenchfoot/packages/trenchfoot/scenarios",
3
- "preview_enabled": true,
3
+ "preview_enabled": false,
4
4
  "volumetric_requested": false,
5
5
  "volumetric_available": false,
6
6
  "mesh_characteristic_length": 0.3,
@@ -1216,18 +1216,30 @@ def make_ground_surface_plane(path_xy: List[Tuple[float,float]], width_top: floa
1216
1216
  return result
1217
1217
  else:
1218
1218
  # Open paths: ground forms annulus with extensions past trench endpoints.
1219
- # The outer ring (ground boundary) is extended, but the inner ring (trench
1220
- # opening) stays at its original position. This creates ground fill at the
1221
- # trench ends rather than extending the trench opening itself.
1219
+ # The inner ring (trench opening) uses offset polyline with miter junctions.
1220
+ # The outer ring (ground boundary) is a simple bounding rectangle to ensure
1221
+ # full ground coverage - using offset polyline here would create miter junctions
1222
+ # that "cut in" at corners, leaving gaps in the ground surface.
1222
1223
 
1223
1224
  # Inner boundary: trench opening at original position (not extended)
1224
1225
  L_inner, R_inner = _offset_polyline(path_xy, half_top)
1225
1226
  inner_ring = _ensure_ccw(_ring_from_LR(L_inner, R_inner))
1226
1227
 
1227
- # Outer boundary: offset by margin, extended at ends
1228
- L_outer, R_outer = _offset_polyline(path_xy, half_top + m)
1229
- L_outer_ext, R_outer_ext = _extend_polyline_ends(L_outer, R_outer, path_xy, m)
1230
- outer_ring = _ensure_ccw(_ring_from_LR(L_outer_ext, R_outer_ext))
1228
+ # Outer boundary: bounding rectangle around trench opening, expanded by margin.
1229
+ # This ensures the ground surface is rectangular and fully covers the area
1230
+ # around the trench, avoiding miter junction artifacts at corners.
1231
+ inner_ring_arr = np.array(inner_ring)
1232
+ x_min = inner_ring_arr[:, 0].min() - m
1233
+ x_max = inner_ring_arr[:, 0].max() + m
1234
+ y_min = inner_ring_arr[:, 1].min() - m
1235
+ y_max = inner_ring_arr[:, 1].max() + m
1236
+ outer_ring = np.array([
1237
+ [x_min, y_min],
1238
+ [x_max, y_min],
1239
+ [x_max, y_max],
1240
+ [x_min, y_max],
1241
+ ], dtype=float)
1242
+ outer_ring = _ensure_ccw(outer_ring)
1231
1243
 
1232
1244
  # Triangulate the annular region (leaves hole open)
1233
1245
  combined_xy, tris = _triangulate_annulus(outer_ring, inner_ring)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trenchfoot
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: Synthetic trench scenario generator bundle (surfaces + volumetrics).
5
5
  Author: Liam Moore
6
6
  License-File: LICENSE
@@ -6,8 +6,8 @@ trenchfoot/gmsh_sloped_trench_mesher.py,sha256=D7EL6V0wkE6tvDARmm006yZE6KEzCl25O
6
6
  trenchfoot/plot_mesh.py,sha256=26dOlVfaM1WsUfr_sXVqA7axtY9qjY3WCNM7cUBTS7Q,3810
7
7
  trenchfoot/render_colors.py,sha256=CWMre6DYa2EyrCgZsEY0bv313WqEhQdr3CdPF1xI-40,1649
8
8
  trenchfoot/scene_spec_example.json,sha256=UcV25ku422UO0ZZPDrJwrT1zwmjoOIpnBdLuEdh-AZA,1028
9
- trenchfoot/trench_scene_generator_v3.py,sha256=ZWashBnNSWyv6Z_hh_zg8nngO4ySIuijgHtlCnqs0rY,75147
10
- trenchfoot/scenarios/SUMMARY.json,sha256=9bd-6Zi65TSplsJ4cZpUGY2zcPOGIqRp_RmbZ9P16Hc,6830
9
+ trenchfoot/trench_scene_generator_v3.py,sha256=B2po9BugQj-gtn4JfOFrHCdqATZUWZ7P8qh_-uoQ4dg,75644
10
+ trenchfoot/scenarios/SUMMARY.json,sha256=BWcI0HA4DWG-XOsr3bVJZGK5VmNtxSaOG86kxihfmh0,6831
11
11
  trenchfoot/scenarios/S01_straight_vwalls/ground_truth_isosurface.html,sha256=SLPROqEefBB8OgmZSW6DBmJxuSDxVQhWTn9eG3q6QRU,5880178
12
12
  trenchfoot/scenarios/S01_straight_vwalls/metrics.json,sha256=WZsyUfDIcJW1FFHfNq1wF8zn0r-XL3jCrkmowV4OFwA,691
13
13
  trenchfoot/scenarios/S01_straight_vwalls/preview.png,sha256=adsx3-6oMu9WaixggXRhuXi_KM-q5s2RNSBLR_stq80,199624
@@ -16,56 +16,56 @@ trenchfoot/scenarios/S01_straight_vwalls/preview_side.png,sha256=zBqMghMiEAYvceP
16
16
  trenchfoot/scenarios/S01_straight_vwalls/preview_top.png,sha256=L0qGIFib1cAwSwJJ16cRtYSlPMOo4uQhNGt6OvM58XQ,39495
17
17
  trenchfoot/scenarios/S01_straight_vwalls/scene.json,sha256=kbHRC9zMVDGHbuLh2wRsvchfVfcbdDEVvxsMwHHBoHw,343
18
18
  trenchfoot/scenarios/S01_straight_vwalls/sdf_metadata.json,sha256=lo4IULejtQ0vg2rH8JDfRvB2WCxvUxM_N4JJjtBbU4Y,854
19
- trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj,sha256=g9cXh8VhbQJZWrUNJvHw90roxfRiuRkEWWxmWPtisd4,649
19
+ trenchfoot/scenarios/S01_straight_vwalls/trench_scene.obj,sha256=MexC92x_MwFzKjHnbt12TYrL-UAJCb2qpjap5O9UkWg,563
20
20
  trenchfoot/scenarios/S01_straight_vwalls/meshes/trench_scene_culled.obj,sha256=6-usCEpAfhhZcdCxAy7NcXrkBwv-mEh40A6zN50k0Jo,519
21
21
  trenchfoot/scenarios/S01_straight_vwalls/point_clouds/culled/resolution0p050.pth,sha256=w4AKFbud2V0NhAtudGXXheLynAq-NLxUFSPxLczK3T0,1352093
22
22
  trenchfoot/scenarios/S01_straight_vwalls/point_clouds/full/resolution0p050.pth,sha256=w4AKFbud2V0NhAtudGXXheLynAq-NLxUFSPxLczK3T0,1352093
23
23
  trenchfoot/scenarios/S01_straight_vwalls/volumetric/trench_volume.msh,sha256=mpKNhdAPEogyDQrE9IGTgg535ZBNYXiLpIcmvl6QYPA,15007
24
24
  trenchfoot/scenarios/S02_straight_slope_pipe/ground_truth_isosurface.html,sha256=vHMtovoUUkmSGVh150se7hJERRBILzGr0iZYaJ6R1pw,6321783
25
- trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json,sha256=DB-jNM62lZQiSaAy5meyYL92qIsUyrpFW2s8XblPtZw,942
25
+ trenchfoot/scenarios/S02_straight_slope_pipe/metrics.json,sha256=quaLJZxP8DhUwVzskrY1TTBmNTY3cQOXBj37a5iOutk,928
26
26
  trenchfoot/scenarios/S02_straight_slope_pipe/preview.png,sha256=Aj5XpJMSdRNqnrPzL4oe-d0RjLdFT2V7OFrrZxwlsx8,251134
27
27
  trenchfoot/scenarios/S02_straight_slope_pipe/preview_oblique.png,sha256=8gTOJkd63NtXRkHcS31Sun_ClXiufqsxFeTVrPcG1no,173774
28
28
  trenchfoot/scenarios/S02_straight_slope_pipe/preview_side.png,sha256=Zwft-WEogsjPGcaUl7-Xd4kRIjewlbJ9h52MjS0pXB4,56706
29
29
  trenchfoot/scenarios/S02_straight_slope_pipe/preview_top.png,sha256=Su71iVHxgWIVPaYde4qnMiBR_gXix1n9bCSgmiYkO6M,57538
30
30
  trenchfoot/scenarios/S02_straight_slope_pipe/scene.json,sha256=W1ApzLHEnHQn-7AdWxh2xiEinj6Yb7830sQXNxmmmDw,486
31
31
  trenchfoot/scenarios/S02_straight_slope_pipe/sdf_metadata.json,sha256=5zWHXErct6UJro-6PzkCJqENG8PNAABVHBIIPg5sJfE,1211
32
- trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj,sha256=omKinM35RiOV-Npmo6RqnoQw_Uj7wP-K0p13opSLpEw,333169
32
+ trenchfoot/scenarios/S02_straight_slope_pipe/trench_scene.obj,sha256=oBZQk-6yPKHd3mRp6l2qp2DpCDjOXNhtqz8WFFUlQ7g,333053
33
33
  trenchfoot/scenarios/S02_straight_slope_pipe/meshes/trench_scene_culled.obj,sha256=OOiw80NuCBejzeN3MWAip9Haw8yQsLZEdlMQdDIgEMU,847
34
34
  trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/culled/resolution0p050.pth,sha256=Ug9hTIsm6iQKRs9cucXJyJpxpSvQ5f2GS1ytZmxi1mE,1623389
35
35
  trenchfoot/scenarios/S02_straight_slope_pipe/point_clouds/full/resolution0p050.pth,sha256=JgIRni8xWKtz2mm0gpSdmavGe-FF71mDervavM4Rqw8,1718877
36
36
  trenchfoot/scenarios/S02_straight_slope_pipe/volumetric/trench_volume.msh,sha256=kNFAqjr7dM-KX4JQV1u5GbHbWWFIfiEur1wV1fJCePA,47084
37
37
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/ground_truth_isosurface.html,sha256=0kRp_SHowhOHCljQV7CYaI0ur1KOzUjjjIJSwMdMoOI,6791920
38
- trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json,sha256=d5fp32sI0QkbNjBJVMeRcD4cw6ZrB6QqrzSWMiRtH8Q,1111
38
+ trenchfoot/scenarios/S03_L_slope_two_pipes_box/metrics.json,sha256=jI1yz_jxtWi8xKkbgu9ViNbiw63EMm1uIkBU_JJEY5c,1124
39
39
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview.png,sha256=q0V_2HSLUl2ovWLc4INKV87aLVh3vzqabMyKr8XEWEg,224248
40
40
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_oblique.png,sha256=Nvp0hvmG9HvZgbiEgbbI3uJtCLNFgLdamh8p2dw3ucY,154869
41
41
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_side.png,sha256=57DnWIuV4p-7eguJVSshd0SZ0COy7Y2cedUMp_DrrjY,51284
42
42
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/preview_top.png,sha256=rs-CMZwaNUl5xef85WEckQqm_UqNrGcfE39nofvsp0E,48235
43
43
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/scene.json,sha256=72g4wMT8tWcLRDYyMoJXOK50PbpfC1DDt6VUYGZgFzM,941
44
44
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/sdf_metadata.json,sha256=6ESVHVGuw_PJzIUD65bMoTLazbU8_a29zEUjmwaQYGo,1774
45
- trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj,sha256=yKUkkqHSDMd0ywmUEP46TIfATmcRoeKDqH4x-nlkTVg,677447
45
+ trenchfoot/scenarios/S03_L_slope_two_pipes_box/trench_scene.obj,sha256=_NZfaiXcSoFd9-UpVUAc5mti30rO0-xWb9Kvt44ndHo,677262
46
46
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/meshes/trench_scene_culled.obj,sha256=At4lipowr_3MY1rxmcKa479F_mQ-jJDVQJe0yHTrFSc,1835
47
47
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/culled/resolution0p050.pth,sha256=KqbuoZ1tUPDhlnDgmhd-7WBb92TABsEmOzEsB__KtlA,2456029
48
48
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/point_clouds/full/resolution0p050.pth,sha256=4fXvfu0TMO9FJaoqYrW21SCGe3eKuSLkSUl9CdE14rw,2622685
49
49
  trenchfoot/scenarios/S03_L_slope_two_pipes_box/volumetric/trench_volume.msh,sha256=cPgHKHlzPPtWX8H1yaxAYsEgYba3fr2JjfPvgg2a000,87383
50
50
  trenchfoot/scenarios/S04_U_slope_multi_noise/ground_truth_isosurface.html,sha256=E7sa8dlDyICJBlnL9X2C8IEopEJzDMhHdLbW-WpoPFc,7184880
51
- trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json,sha256=QVKiwzfcRRWjW2-d1XHkctvEes3G8OGA6vUmwLVX1gU,1293
51
+ trenchfoot/scenarios/S04_U_slope_multi_noise/metrics.json,sha256=Yfweq5vK1vGgjVGyOJj-yVn-Qpt5A8zSU1yqDtL4Ch4,1294
52
52
  trenchfoot/scenarios/S04_U_slope_multi_noise/preview.png,sha256=ZbLgrL0nRtUX1y77i7b3LCxw4w_j5Ivmmh0i2YzrBDs,238958
53
53
  trenchfoot/scenarios/S04_U_slope_multi_noise/preview_oblique.png,sha256=HKUWhUuuql2YZzqq4B5oDpQSCWy9RhuwY_JxVZ-bEbg,162693
54
54
  trenchfoot/scenarios/S04_U_slope_multi_noise/preview_side.png,sha256=S7n1ivuo1PFcMp_WuEEnJnCx2JMP5yiCCCYOFDzJtfY,77730
55
55
  trenchfoot/scenarios/S04_U_slope_multi_noise/preview_top.png,sha256=auLgGMvU1bRua43WrU-O2WelPy0TbPZZD7ALFIvqlqk,65419
56
56
  trenchfoot/scenarios/S04_U_slope_multi_noise/scene.json,sha256=jkUNZ_rHSjVajoj54o8KoeWzY3pFH97L5pdWiH_C75w,1119
57
57
  trenchfoot/scenarios/S04_U_slope_multi_noise/sdf_metadata.json,sha256=78CdQZwn01CBBfMr-4jUc3eOGNw9jxmWEmjwd7KvM6o,2234
58
- trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj,sha256=ncMNawv9MeZBWbL24U7n4iqw_D5DAmP8zZ2I9rRyeQg,1211491
58
+ trenchfoot/scenarios/S04_U_slope_multi_noise/trench_scene.obj,sha256=QqbiUGgGlM-PRnixxw74izArBd3vK7HXEIX62Ky9jek,1211216
59
59
  trenchfoot/scenarios/S04_U_slope_multi_noise/meshes/trench_scene_culled.obj,sha256=ykw_tzhXknXt3DbmSk3cBzbOL91Jm4zxjthp799YkWw,3206
60
60
  trenchfoot/scenarios/S04_U_slope_multi_noise/volumetric/trench_volume.msh,sha256=7KfGkJAlv19rzbaPhzbmy9UWo42Db_4VhAtisn6aMak,144623
61
61
  trenchfoot/scenarios/S05_wide_slope_pair/ground_truth_isosurface.html,sha256=MVKZHfrF2emDTNmpn7AhxqYUlcBXDUzY7_qSek2RpWg,6304070
62
- trenchfoot/scenarios/S05_wide_slope_pair/metrics.json,sha256=9ksX7RfFS0krZmBG6K-qOEHAVLqs589Vmtcji34CroA,1111
62
+ trenchfoot/scenarios/S05_wide_slope_pair/metrics.json,sha256=igpHy0ClKBKUMr8XUjkad-L4NhbpgcYXW0UHOJrQDxM,1109
63
63
  trenchfoot/scenarios/S05_wide_slope_pair/preview_oblique.png,sha256=S0MwfT2bC0T7AAUsqwDAIBxxRea6lHeYhQYrumwJfFU,139982
64
64
  trenchfoot/scenarios/S05_wide_slope_pair/preview_side.png,sha256=8hiJ5ZZZ6iqIdPakWsgWDPrJnEuU7Qqy-odjnR38ocM,67796
65
65
  trenchfoot/scenarios/S05_wide_slope_pair/preview_top.png,sha256=bDdjWwBN6QQfZ2kV71VbV_Q59nrPYAiUMh3ivRo4L9M,57737
66
66
  trenchfoot/scenarios/S05_wide_slope_pair/scene.json,sha256=jmNMzqR8m4DvR35325GH87FdYXRgVb5VuKu7ZwDovW0,1028
67
67
  trenchfoot/scenarios/S05_wide_slope_pair/sdf_metadata.json,sha256=PRaqys_akemKtlfTwhJBELx5erUHKarjHMgMvU5R4kc,1776
68
- trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj,sha256=5LGCU4aPyHoDLzHXBFbOZlDSNMdZop2eVx6Xi2jI3Qs,694675
68
+ trenchfoot/scenarios/S05_wide_slope_pair/trench_scene.obj,sha256=cZOoLXbK7dQIe9C1UYTc0Ko4GMCMiJNIz73WrJ8haaA,694460
69
69
  trenchfoot/scenarios/S05_wide_slope_pair/volumetric/trench_volume.msh,sha256=pHrj2dJgpSklpxiHHThiZINJQWpUdvkfhUnVBpKASEM,123235
70
70
  trenchfoot/scenarios/S06_bumpy_wide_loop/ground_truth_isosurface.html,sha256=_p4-B7sg_lfvKzVwJyfg6ub5Nk_x-ekzmLUE2NxQvkQ,6600554
71
71
  trenchfoot/scenarios/S06_bumpy_wide_loop/metrics.json,sha256=CH9ubdgvXhEBX6hi0Hme8B2jMX_HVHQGyqh5w8a-veE,1220
@@ -85,8 +85,8 @@ trenchfoot/scenarios/S07_circular_well/scene.json,sha256=tLLEgEWNxARpvHXkgLNDRvm
85
85
  trenchfoot/scenarios/S07_circular_well/sdf_metadata.json,sha256=5_D_rA_CqWgg2uSgVlqWCO4zQg0Gg5NWUnXHtCERBUA,4776
86
86
  trenchfoot/scenarios/S07_circular_well/trench_scene.obj,sha256=PHsRceUTwRAc44sppI2HnCeWkqUPafS-LcTe_50rP84,1608845
87
87
  trenchfoot/scenarios/S07_circular_well/volumetric/trench_volume.msh,sha256=dqhtd3SFKj5RLT_BcWIIvVGCbAqvOx7RX25-K7NKX10,615212
88
- trenchfoot-0.4.3.dist-info/METADATA,sha256=Q1uoSprpp1KPEqt9WJSY02JwabLR19v4oXtJjmK4C50,5292
89
- trenchfoot-0.4.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
90
- trenchfoot-0.4.3.dist-info/entry_points.txt,sha256=5TejAGmc4GnNYLn7MhhLtSCNz9240RvzcNaetF4IHfg,119
91
- trenchfoot-0.4.3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
92
- trenchfoot-0.4.3.dist-info/RECORD,,
88
+ trenchfoot-0.4.4.dist-info/METADATA,sha256=9Uqjk87_kPrDsLPV3i3FOB_d9-3Zni7LYxtm_cS2fag,5292
89
+ trenchfoot-0.4.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
90
+ trenchfoot-0.4.4.dist-info/entry_points.txt,sha256=5TejAGmc4GnNYLn7MhhLtSCNz9240RvzcNaetF4IHfg,119
91
+ trenchfoot-0.4.4.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
92
+ trenchfoot-0.4.4.dist-info/RECORD,,