# Terrain Foundation Evaluation Date: 2026-07-12 Branch: `codex/terrain-foundation` Gitea issue: `#22` This record captures acceptance for the persistent height-grid terrain schema and deterministic runtime chunk hydration. The permanent workflow lives in the [terrain guide](../../terrain.md). ## Live Editor Evidence The native Wayland debug editor loaded the committed `assets/levels/terrain_authoring_showcase.scn.ron` fixture. The screenshot uses Forward rendering to isolate mesh/material/light correctness while foundation terrain remains explicitly excluded from Solari until exact terrain layer/Surface parity lands in `#24`. ![Asymmetric shared-material terrain hill generated from four runtime chunks](terrain-showcase-forward.png) The 5×5 authored grid renders as the expected asymmetric hill, resolves the committed shared Material Instance, and is split into four 2×2-quad chunks with generated trimesh colliders. The authored scene contains no `HydratedTerrainChunk`, `Mesh3d`, or collider-constructor components. ## Acceptance Results | Area | Result | Evidence | |------|--------|----------| | Schema and serialization | Pass | Versioned bounded descriptor, exact height count, finite-value and scale/chunk validation, RON round-trip test | | Chunk hydration | Pass | Deterministic four-chunk runtime fixture; topology test verifies 25 vertices and 96 indices for a 4×4-quad mesh | | Runtime-only ownership | Pass | Hydration test verifies children have mesh/collider/owner markers but no `LevelObject`, then verifies removal cleanup | | Actor/editor integration | Pass | First-class Terrain kind, registry descriptor, hierarchy/viewport icon, reflected Add Component and inspector transaction path | | Material behavior | Pass with boundary | Shared Material/Instance source resolves for raster; missing source uses visible fallback; Solari submission is explicitly excluded pending `#24` | | Project validation | Pass | 60 level dependencies, existing 5 non-blocking findings, 0 blocking errors | | Packaged acceptance | Deferred | Explicitly deferred by project-owner direction; no packaged result is claimed here | ## Automated Verification | Command/suite | Result | |---------------|--------| | Focused terrain descriptor/topology/hydration tests | 4 passed | | Editor component registry reflection contract | Pass | | `cargo check --workspace --all-targets` | Pass | | `cargo validate-levels --project .` | 60 dependencies, 5 findings, 0 blockers |