mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
test: sample corridor floors beyond cell-boundary hysteresis
This commit is contained in:
1 parent
1f76f81484
commit
6bd755109f
1 file changed
+21
-2
@@ -3203,10 +3203,25 @@ async function main() {
|
||||
await fl.update(v);
|
||||
await window.__dfSettle(600);
|
||||
}
|
||||
const bb1 = window.__dfFindBB('aaa097');
|
||||
const d1 = bb1 ? window.__dfCarto(bb1.position) : null;
|
||||
// The floor owner intentionally retains the previous cell near an
|
||||
// edge. Sample inside a cell, beyond that hysteresis band, so the raw
|
||||
// coordinate's floor is unambiguously the floor the sprite must use.
|
||||
// Wait for geometry, not a passing height; a missing clamp still fails.
|
||||
const interiorLimit = 0.0005 - gf.CELL_HYSTERESIS_DEG - 0.00002;
|
||||
const sampleDeadline = Date.now() + 8000;
|
||||
let d1 = null;
|
||||
let sampleInterior = false;
|
||||
do {
|
||||
await window.__dfSettle(250);
|
||||
const bb1 = window.__dfFindBB('aaa097');
|
||||
d1 = bb1 ? window.__dfCarto(bb1.position) : null;
|
||||
sampleInterior = !!d1
|
||||
&& Math.abs(d1.lat - cell(d1.lat)) < interiorLimit
|
||||
&& Math.abs(d1.lon - cell(d1.lon)) < interiorLimit;
|
||||
} while (!sampleInterior && Date.now() < sampleDeadline);
|
||||
return {
|
||||
startCold,
|
||||
sampleInterior,
|
||||
displayCell,
|
||||
fixCell,
|
||||
sameCellAsFix: displayCell.lat === fixCell.lat && displayCell.lon === fixCell.lon,
|
||||
@@ -3249,6 +3264,10 @@ async function main() {
|
||||
dfCorridor.controlFloor == null,
|
||||
`control cell floor = ${dfCorridor.controlFloor}`);
|
||||
|
||||
record('display-floor/corridor: the height sample clears cell-boundary hysteresis',
|
||||
dfCorridor.sampleInterior === true,
|
||||
'the sampled coordinate lies inside one unambiguous floor cell');
|
||||
|
||||
record('display-floor/corridor: the sprite rides the corridor-warmed floor',
|
||||
Number.isFinite(dfCorridor.spriteH) && Number.isFinite(dfCorridor.spriteFloor)
|
||||
&& dfCorridor.spriteH >= dfCorridor.spriteFloor + DISPLAY_FLOOR_LIFT_M - 0.5,
|
||||
|
||||
Reference in new issue
Block a user