Files
gods-eye-view/changelog.d/686-terrain-heights-bounds.md
daikaginza 558b0275a4 docs(changelog): move the entry into a changelog.d fragment
Main now takes pending entries as changelog.d/<pr>-<slug>.md
files (#787), so the entry leaves CHANGELOG.md for changelog.d/686-terrain-heights-bounds.md.
2026-10-18 13:36:06 +07:00

653 B

  • Bound what a caller can grow through /api/terrain/heights. Every distinct 5-decimal point was a permanent in-memory entry, a permanent line in an uncapped .gev-cache/terrain-heights.json, and a live upstream call, with nothing limiting the rate. The point cache now holds at most 50,000 entries and evicts oldest-first, a cache file above 24 MB is not read back, and the route is limited to 90 requests/minute per client (270 global). Evicting a point costs one refetch, never a wrong answer, since terrain does not move. Ordinary use is unaffected: a full test:track run drives 10 requests, peaking at 8/min (daikaginza, #686).