From a6d4b870fc28623c7d989929a4b904a08e844783 Mon Sep 17 00:00:00 2001 From: beezm Date: Sun, 9 Aug 2026 02:20:35 -0400 Subject: [PATCH] fix: IslandAxis defaults to the gate's verdict, 1.15/0.90 (terrain-water task 13) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task 11 shipped 1.30/0.78 as the default; the developer's gate REJECTED that elongation. The defaults stayed rejected, so any generation that omitted the two keys silently produced the rejected island and a different biome baseline (task 11 measured elongation at 12-15% of biome pixels). The developer's own ServerConfig.json omits them. Flagged in task 12 §4, fixed here. Both defaults now name LEGACY_AXIS_X/Y, so the default and the bad-value restore point at one place instead of drifting apart. VERIFIED, not assumed: generated seed 1825907253 with IslandAxisX/Y absent from ServerConfig.json entirely -- the generator reports "Island falloff: axis 1.15x/0.90y". Co-Authored-By: Claude Opus 5 (1M context) --- Core/Scripts/ConfigManager.cs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Core/Scripts/ConfigManager.cs b/Core/Scripts/ConfigManager.cs index ec947a4..cbc0a52 100644 --- a/Core/Scripts/ConfigManager.cs +++ b/Core/Scripts/ConfigManager.cs @@ -52,20 +52,26 @@ namespace IslaApocalypse.Core // Change this if your namespace is different // A/B. The shelf cannot move the waterline, so biomes and water are identical // either way. Default: wide. // - // IslandAxisX/Y: the falloff axis ratios (pre-task-11: 1.15 / 0.90). NOTE, - // measured: the island is already Trench-clamped in x at ~90% of the map - // width, so AxisX is a weak lever — aspect responds almost entirely to AxisY. - // These MOVE THE COASTLINE and therefore move biomes, by design. + // IslandAxisX/Y: the falloff axis ratios. These MOVE THE COASTLINE and + // therefore move biomes, so the DEFAULT is the shape the gate approved. + // Task 11 shipped 1.30/0.78 as the default and the developer's gate REJECTED + // that elongation; the defaults are back to 1.15/0.90 so that omitting the + // keys can no longer silently produce the rejected island (task 12 §4). + // NOTE, measured in task 11: the island is already Trench-clamped in x at + // ~90% of the map width, so AxisX is a weak lever — aspect responds almost + // entirely to AxisY, which trades against land area. // // OffshoreIslandDensity: fraction of the ocean noise field above the islet // threshold. 0 disables the layer. Islets never touch the Trench and are held // off the mainland by a depth moat. public static string CoastProfile = "wide"; - public static float IslandAxisX = 1.30f; - public static float IslandAxisY = 0.78f; + public static float IslandAxisX = LEGACY_AXIS_X; // 1.15 — the gate's verdict + public static float IslandAxisY = LEGACY_AXIS_Y; // 0.90 public static float OffshoreIslandDensity = 0.02f; - // The pre-task-11 axis ratios, so "steep"/legacy runs can restore them exactly. + // The gate-approved island shape, named so the defaults above and the bad-value + // restore below both point at one place. (`const`, so using it in a field + // initialiser declared earlier resolves at compile time.) public const float LEGACY_AXIS_X = 1.15f; public const float LEGACY_AXIS_Y = 0.90f;