ReviewOS

stacks/the-settlers-iii-remake

Eliminate terrain mesh seams without changing geometry or material colors

#215
Closed chris opened this 7 days ago ·
7 days ago

Flat terrain develops dark lines along adjacent triangle edges. This is visible without original textures, sprites or shadows. On a public 32 by 32 grass world, the production renderer returns 101,136,75,255 at an interior shared edge instead of the uniform grass color 111,148,82,255.

The current chunk painter fills separate antialiased triangles over transparency. A private one-variable compositing experiment fills this pixel correctly, supporting a coverage problem. Additive compositing alone is not a qualified solution because mixed materials and overlapping elevated geometry need correct ownership and draw order.

The supplied reference draws a shared triangle mesh in Background.java. Preserve its geometry and triangle ordering while repairing the browser raster path.

Acceptance:

  • Retain the real browser regression with an empty authored atlas and unchanged public simulation.
  • Eliminate interior coverage cracks across flat terrain, chunk boundaries and camera movement.
  • Verify mixed materials, elevations, overlaps, fog and shading without expanding triangles, painting filler lines or adjusting source colors to hide gaps.
  • Keep original source pixels unchanged and bound raster/cache resources.
  • Verify actual browser output, simulation checksums, complete checks and CI.

Source owner: game renderer. Related #20 and #88. The reproduction is engineering evidence, not an observation of the original Gold executable. Original media remains under the existing publication policy.

7 days ago

The terrain fix now passes pixel checks for shared edges, chunk boundaries, camera movement, mixed materials, elevated overlaps, fog and original texture sampling. Source image pixels remain unchanged, and raster/cache allocations are bounded.

The Retina check caught a separate Stacks browser-driver bug: scenario runs ignored --scale, so the earlier requested 2x runs observed 1x. That result is not being counted as Retina coverage. The owning driver is fixed in stacksjs/stacks#3019, with native 1x, 2x and 1.5x checks. The game fixture passes at actual 1x and 2x against that source driver.

Remaining: publish the framework patch, install it normally in the game, repeat the checks using the installed driver, and verify the full game CI before closing this issue. This repairs terrain coverage; reference lighting and material transitions remain tracked in #88.

7 days ago

The coverage repair is in main. Opaque shared-edge ownership and common-raster chunk composition remove the seams without enlarging triangles or adding filler colors. The renderer preserves the supplied source texels, reference nearest filtering and face order, with bounded caches and explicit disposal.

The game has adopted the verified Stacks 0.75.320 and STX 0.2.711 releases through normal installation. The installed browser driver now passes 65,673 pixel checks at each actual 1x and 2x scale, including matching screenshot dimensions and zero browser errors. All 395 unit tests, types, lint, original-asset verification and the production build passed. Normal browser Save and Load also restored the original tutorial checkpoint.

The game CI is running the complete production gate. The local full-length rival battle is also running. This issue stays open until that evidence is qualified. Terrain transitions, vertex lighting and other presentation gaps remain under #88.

6 days ago

The terrain seam correction has passed the complete production CI.

All 16 browser suites passed, with 510 steps and no console, request or collection errors. The rival battle ran for over ten real minutes and retained its observations and save/reload result. Terrain checks passed at actual 1x and 2x, with 65,673 pixel checks per scale and matching screenshot dimensions. The retained original diagnostic archive matches GitHub's digest and passes every CRC check.

Lint, types, all 395 unit tests, original-asset verification and the production build passed too. The game uses the verified Stacks 0.75.320 and STX 0.2.711 releases, including the source fixes for browser device scale, typed event lists and gated temporary migration helpers.

Shared-edge coverage is repaired without enlarging geometry, adding filler colors or changing source image pixels. Closing this correction. Continuous texture coordinates, reference lighting and terrain transitions remain open under #88; this does not establish full Gold or native parity.

Sign in to comment on this issue.