From 6f9bf1ed9fcf30ad2a10de29778c3d1546dbf813 Mon Sep 17 00:00:00 2001 From: Fr0zka Date: Mon, 2 Nov 2026 02:49:20 +0100 Subject: [PATCH] design: flat landing pad at tunnel ends (clamp between cones, reviewed) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1 --- .../WorldAssemblerM3/Design49/README.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Standalone/Research/WorldAssemblerM3/Design49/README.md diff --git a/Standalone/Research/WorldAssemblerM3/Design49/README.md b/Standalone/Research/WorldAssemblerM3/Design49/README.md new file mode 100644 index 0000000..cb4051b --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Design49/README.md @@ -0,0 +1,33 @@ +# Design49 — flat landing pad at tunnel ends (owner idea, reviewed 2026-11-02) + +Owner: "the end of the tunnel should be flat; flatten the arrival with a fade-out that blends to the surrounding +density; a cheap stamp applied at arrival, no matter what's there." + +A read-only design review (Claude Opus 5.5, medium effort) of `wip/l134-cave-planner` recommends a **clamp, not a +lerp**. Each tunnel end gets a level disc at the tunnel's end floor P. Out to a blend radius, the native ground is +squeezed between two gentle cones (12°) starting at P: a lower one that fills solid, an upper one that carves air. +Inside the disc the floor is exactly flat; outside it, the slope is never steeper than max(cone, native), with no +overhang or cliff. The full note is in the session transcript; key points: + +- **Placement:** the last step of `ApplyResolvedStrateComposition`, after the passage composer, on both the native and + non-native branches. The fill is masked by the tube-only distance (bore stays open). It replaces the landing-chamber + box, shell and floor-shell special cases that caused L152–L156. +- **Formula** (metres; ×cos α for 1-Lipschitz). d = max(0, r−R), t = tan α. + - Fill: `Lo = P − t·d`, `F = max(z−Lo, (Lo−Ds)−z, r−(R+B))`. + - Air: `Hi = P + t·d`, `A = min(z−Hi, (Hi+H)−z, (R+B)−r)`. + - Result: `c = max(min(native, max(F, −tubeDist)), A)`. + - Hard min/max inside R; smooth-min width ramps 0 → 0.5 m over the first metre outside it. + - Why not lerp: native density saturates at about ±4.125 voxels (`DetailSupremum`), so a lerp makes cliffs and + films. +- **Parameters:** α = 12°, R = max(mouthRadius + 1 m, 3 m), B = min(8 m, |Δh_ring|/t + 1 m), H = 3 m, Ds = 1.25 m. +- **Planner:** + - P = h(end), with h′ = 0 over the last R. + - Sample the edge ring; move P into the feasible band or take the next deterministic site. + - Rewrite route heights inside R+B to the clamped ground. + - Content-band check including P−tB−Ds and P+tB+H. +- **Bounds:** the pad influence box goes into the proof bounds, the fallback overlap test, the **tile feature + bounds** (critical: the composer early-returns on an empty route list) and the proof-miss sampler. +- **Audits:** new `LandingPadAudit` (flatness ±2 cm, support, headroom, 36 radial blend transects ≤ 15° with one + crossing) plus negative controls (pad off, 2% tilt, B halved, bore mask removed). +- **Risks:** caves under pads (connectivity), low ceilings, shaft footprints, island edges and their air gap, liminal + decks; off-route edges on non-heightfield layers are a metric only.