From 565e3830005937020c60a8260ddbc3a316999514 Mon Sep 17 00:00:00 2001 From: Stella Wang Date: Tue, 4 Aug 2026 01:14:05 -0600 Subject: [PATCH] =?UTF-8?q?docs(specs):=20spec-0026=20amendment=20?= =?UTF-8?q?=E2=80=94=20vista=5Fradius=20definition/floor/default=20+=20ble?= =?UTF-8?q?nd=5Fwidth=20range?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vista_radius was self-contradictory: floor "view-distance×16" (=192 at the shipped summit view-distance 12) exceeded its own default 176. Resolved: measured outward from the scene bounding-box edge, floor 192, default 208 (one chunk of slack over the fog line; perf non-gating). blend_width gains the range 1..=16 (0 is a hard edge, forbidden by the flatland interpenetration ruling). Reported by W-A during #155 implementation as a spec ambiguity, correctly not invented downstream. Co-Authored-By: Claude Fable 5 --- docs/specs/spec-0026-horizon-library.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/specs/spec-0026-horizon-library.md b/docs/specs/spec-0026-horizon-library.md index 19e7dce..f4d8344 100644 --- a/docs/specs/spec-0026-horizon-library.md +++ b/docs/specs/spec-0026-horizon-library.md @@ -47,9 +47,9 @@ flora:"cherry", palette:"stone-petal"}`. | `void` | void superflat | none | — (unchanged) | | `ocean` | pinned water superflat, sea level 62 | none | — (unchanged emission; placement re-datumed per §2) | | `sky` | the declared **backdrop** (§4) | none; scene rooms become an island archipelago (§4) | `float_y` (walk-plane world y, default 160), `fall` (`lethal` default \| `return`), `backdrop` (default `void`), `placement {x,z}` (default 0,0) | -| `flatland` | grass superflat whose surface tops **exactly one block under the scene walk plane** (zero height difference by datum equation) | seam blend band (§3) | `blend_width` (default 6) | +| `flatland` | grass superflat whose surface tops **exactly one block under the scene walk plane** (zero height difference by datum equation) | seam blend band (§3) | `blend_width` (1..=16, default 6 — 0 would be a hard edge, which the interpenetration ruling forbids) | | `valley` | void superflat below the tile skirt | mountain annulus: total footprint `ratio`× the scene's, radial ridged-noise rim, flat gap floor between scene and slopes | `ratio` (2..=3, default 2.5), `rim_height` (default 48), `flora` (default `oak`), `palette` (default `stone-grass`) | -| `summit` | low superflat (gorge haze floor) | flat-topped plateau under the scene + surrounding range and gorges, every surround crest **below** the scene walk plane | `plateau_y` (default 208), `vista_radius` (≥ view-distance×16, default 176), `min_drop` (≥100, default 120) | +| `summit` | low superflat (gorge haze floor) | flat-topped plateau under the scene + surrounding range and gorges, every surround crest **below** the scene walk plane | `plateau_y` (default 208), `vista_radius` (≥192, default 208 — see below), `min_drop` (≥100, default 120) | **Cherry-valley is a parameter row, not a base**: the compiler holds no cherry-specific code path; a fixture proves the emissions differ only in @@ -202,8 +202,16 @@ checks **empirical geometry**, never metadata: clamp verified empirically; ≥1 gorge drop ≥ `min_drop` along the vista ring; everything within −64..320. - DW0366 (validation, exit 1): horizon params out of range (`ratio`, `min_drop`, - `vista_radius` < view-distance×16, `plateau_y` overflowing build range after - scene height, …). + `vista_radius` < 192, `blend_width` outside 1..=16, `plateau_y` overflowing + build range after scene height, …). +- `vista_radius` definition (amendment 2026-08-04, resolving the W-A-reported + default/floor contradiction): measured **outward from the scene bounding-box + edge** — the guaranteed depth of generated terrain beyond any standpoint the + player can reach. Floor 192 = the shipped summit `view-distance` (12, §6) ×16, + so the fog line always lands inside generated terrain; default 208 (13 chunks, + one chunk of slack over the floor; perf is non-gating per §6). `blend_width` + 1..=16: 0 would be a hard edge, which the flatland interpenetration ruling + forbids; 16 bounds the dither band. - DW0320 generalizes: any horizon whose ambient is enterable (ocean, flatland, valley, summit) requires `boundary`; `sky` requires it too (lateral clock).