design: flat landing pad at tunnel ends (clamp between cones, reviewed)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
1 parent
a751a01b11
commit
6f9bf1ed9f
1 file changed
+33
@@ -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.
|
||||||
Reference in new issue
Block a user