phase(N.1): WB-backed scenery is now default-on

Phase N.1 step 7: flips ACDREAM_USE_WB_SCENERY to default-on after
visual verification at Holtburg confirmed Issue #49's previously
missing edge-vertex trees are still visible and rotation is correct.

A known cosmetic difference (the road-edge tree at landblock 0xA9B1)
remains. ACME WorldBuilder applies an additional per-vertex road
check that suppresses it; we tried adding it (commit e279c46) but
it over-suppressed in other landblocks (reverted in 677a726). Filed
as a follow-up issue in ISSUES.md (added in Task 8).

ACDREAM_USE_WB_SCENERY=0 still reverts to the legacy path. Task 8
will delete the legacy path entirely once a session passes without
visual regressions on default-on.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-05-08 10:31:55 +02:00
parent 677a726e61
commit b84ecbda51

View file

@ -39,14 +39,13 @@ public static class SceneryGenerator
private const float LandblockSize = 192.0f; // 8 cells * 24 units
/// <summary>
/// Phase N.1 feature flag — when set to "1", scenery placement uses
/// WorldBuilder's <c>SceneryHelpers</c> + <c>TerrainUtils</c> instead of
/// our hand-ported algorithms. Default off until visual verification at
/// landblock 0xA9B1 confirms behavior. See
/// <c>docs/superpowers/specs/2026-05-08-phase-n1-scenery-via-wb-helpers-design.md</c>.
/// Phase N.1: scenery placement uses WorldBuilder's <c>SceneryHelpers</c>
/// + <c>TerrainUtils</c> by default. Set <c>ACDREAM_USE_WB_SCENERY=0</c>
/// to restore the legacy in-line algorithms (escape hatch — to be deleted
/// in Task 8 once we have a session of green visuals).
/// </summary>
internal static readonly bool UseWbScenery =
System.Environment.GetEnvironmentVariable("ACDREAM_USE_WB_SCENERY") == "1";
System.Environment.GetEnvironmentVariable("ACDREAM_USE_WB_SCENERY") != "0";
public readonly record struct ScenerySpawn(
uint ObjectId, // GfxObj or Setup id