✦ SPIELWELTENMoto Racer - Rampage ↗

Geographic summer ground: R-mask candidate

The actual Docs/QA/20260916-003637-campaign/alps-01-pass0-view0.png and view1.png were inspected. Narrow roadside grass now has physical detail, while the large open meadow surfaces remain very uniform. This candidate changes only the scalar summer material R channel; the partner material maps summer layer 1 to the existing, unchanged geographic orthophoto with a white multiplier.

Tools/Art/build_alpine_far_terrain.py writes only outside Assets. It archives the current map as ArtSource/Alps/FarTerrain/SchneebergLayers_before_far_terrain.png, SHA-256 4ae9337964c5acc93b95ab5f1d7f0953b010af3b0e39872d7d02b20a22545bc3, then computes:

R = round(255 × smoothstep(100 m, 400 m, distance))
distance = minimum exact XZ distance to every segment of all three Alpine routes

All 5,286 route segments are retained, with no resampling. Computation is capped beyond 410 m because the weight is already fully saturated at 400 m. The 2048² map retains the existing world extent X −6000…6000 m, Z −2000…8500 m, and image row zero at maximum world Z.

Candidate: ArtSource/Alps/FarTerrain/SchneebergLayers_far_terrain_candidate.png, SHA-256 271248986b7afa093c33748dfd70de3cff058d7301a3e158ceaf2c75a49755f6. Two complete generations produce this identical hash. G/B/A are byte-identical to the archived map. The checks find 77,185 pixels within 100 m at R=0, 210,495 transition pixels, and 3,906,624 pixels at or beyond 400 m at R=255. R changes at 4,176,796 pixels.

The live mask, winter mask, DEM, road source, original orthophoto, canonical TreeCover payload and its generated C# are all unchanged by candidate generation. Full source/output hashes and route-payload hashes are in ArtSource/Alps/FarTerrain/far-terrain-candidate.json; the personally inspected technical comparison is FarTerrain_R_review.png.

Root publishes this candidate only alongside the matching geographic layer-1 material and then performs native visual review. This candidate is not yet a graphics acceptance. R now describes a material distance transition, not tree-placement density. Do not regenerate TreeCover from it. The prior summer-canopy generator's R-preservation assertion intentionally requires an explicit rebase before it can operate on a published new R revision; it must not silently restore the older meadow mix.

No source photo pixels, exposure, routes, terrain geometry, foliage assets, physics or winter layers were edited. The existing aerial contains baked lighting and seasonal colour, which remain limitations for native comparison. Orthophoto attribution remains Datenquelle: basemap.at, CC BY 4.0, as recorded in ALPINE-ORTHOPHOTO-ASSETS.json and the third-party notices.

Revision 2: narrower 18–75 m transition

The parent-owned 20260916-011329-campaign review rejected the first transition as too broad around the connected routes. The generator now creates a distinct revision-2 candidate only, with R=round(255*smoothstep(18m,75m,nearestDistance)). G/B/A still come byte-for-byte from the original pre-candidate baseline 4ae93379…. Revision 1 is preserved both under its original candidate name and as SchneebergLayers_far_terrain_revision1.png, hash 271248986b7afa093c33748dfd70de3cff058d7301a3e158ceaf2c75a49755f6; its manifest and review are retained.

New file: ArtSource/Alps/FarTerrain/SchneebergLayers_far_terrain_revision2.png, SHA-256 82f115f523622c1d036fc78848fef17ede908ea74d66e41cfd40bfe402708be2. Two complete generations matched. The technical scalar comparison FarTerrain_R_revision2_review.png was inspected. Live Assets remain unchanged by this work.

Revision 2 changes 267,140 R pixels relative to revision 1. It contains 14,166 pixels within 18 m at R=0, 44,342 transition pixels, and 4,135,796 pixels at or beyond 75 m at R=255. Full checks, hashes and source-preservation assertions are in far-terrain-candidate-revision2.json.

Offline point samples reconstruct the existing TrackRuntime 2.5 m arc stations for Alps01 at route distances 200 m and 1,900 m from the route origin, then use horizontal perpendicular offsets on both sides. Each position is checked against every original segment of all three routes. At these twelve specific sites the actual nearest road is still Alps01; the nearest distance agrees with the 25/50/75 m offset to within 0.00011 m. This does not assume that offsets elsewhere near route loops have the same nearest distance.

Horizontal offset, both route positions/sides Revision 1 R Revision 2 R
25 m 0 11
50 m 0 151
75 m 0 255

The manifest records exact XZ locations and nearest segment IDs. These are offline geometric weights, not native filtered texture samples or visual acceptance. Snow, DEM, source photograph, routes and TreeCover remain unchanged; publication and native comparison belong to Root.