islaApocalypse/Server/Scripts
beezm a827595d61 whoops fix: bilinear height sampling in road carve (audit C10/Q6.B)
HeightAtPixel read a single heightmap cell after truncating the coordinate with
(int). Road path points are fractional and spaced under a metre apart, so
consecutive points truncated into the same cell (flat), then tipped into the
next one (a full inter-cell jump) — a metre-scale staircase under F2's fix.

It now reads the four surrounding cells and blends them bilinearly using the
fractional part of the coordinate, so height varies continuously with position.
Edge clamping is preserved: at the map border the second cell clamps back onto
the first, making the blend a no-op rather than an out-of-range read.

Only the sampling helper changed. Signature and both callers are untouched.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 03:27:47 -04:00
..
ServerChunkManager.cs whoops fix: bilinear height sampling in road carve (audit C10/Q6.B) 2026-08-05 03:27:47 -04:00
ServerChunkManager.cs.uid baseline: working salvaged prototype on Godot 4.7.1 (pre-F1) 2026-08-05 01:45:41 -04:00