feat: task-09 verdict — BALANCED becomes plain "v5", COMPACT retires (terrain-water task 10 prerequisite)
The documented one-liner the task-09 gate triggers: TerrainCurve gate is now "off"|"v5" (default v5 = the BALANCED preset, id 2); "v5-compact" retired with a verdict-specific error, "v5-balanced" redirects to plain "v5". Knots/TCRV encoding unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
4797086a13
commit
c71026fd94
3 changed files with 16 additions and 16 deletions
|
|
@ -26,13 +26,12 @@ namespace IslaApocalypse.Core // Change this if your namespace is different
|
|||
public static string SeaLevelModel = "flat";
|
||||
public static float SeaLevelValue = 0.15f;
|
||||
|
||||
// Height-redistribution curve (tasks 05–09, graduation M-7): the task-09 taste
|
||||
// batch runs a tri-state — "v5-compact" (maximum lowland) vs "v5-balanced"
|
||||
// (task-07/08 lineage), both with the corner fixes; "off" is the raw legacy
|
||||
// profile. The loser retires after the developer's gate and the winner becomes
|
||||
// plain "v5". "v1"–"v4" retired. INTERIM default pending the verdict:
|
||||
// v5-balanced.
|
||||
public static string TerrainCurve = "v5-balanced";
|
||||
// Height-redistribution curve (tasks 05–10, graduation M-7): "v5" is the
|
||||
// task-09 gate's winner — the BALANCED terraced ascent with corner easing and
|
||||
// modulated shelves; "off" is the raw legacy profile. "v1"–"v4" and the
|
||||
// taste-batch tri-state ("v5-compact" lost, "v5-balanced" became plain "v5")
|
||||
// are retired. Default: v5.
|
||||
public static string TerrainCurve = "v5";
|
||||
|
||||
public static void LoadConfig()
|
||||
{
|
||||
|
|
@ -107,10 +106,14 @@ namespace IslaApocalypse.Core // Change this if your namespace is different
|
|||
if (data.ContainsKey("TerrainCurve"))
|
||||
{
|
||||
string curve = (string)data["TerrainCurve"];
|
||||
if (curve == "off" || curve == "v5-compact" || curve == "v5-balanced")
|
||||
if (curve == "off" || curve == "v5")
|
||||
TerrainCurve = curve;
|
||||
else if (curve == "v5-balanced")
|
||||
GD.PrintErr($"[ConfigManager] TerrainCurve 'v5-balanced' won the task-09 gate and is now plain \"v5\". Keeping '{TerrainCurve}'.");
|
||||
else if (curve == "v5-compact")
|
||||
GD.PrintErr($"[ConfigManager] TerrainCurve 'v5-compact' was retired by the task-09 verdict (BALANCED won). Keeping '{TerrainCurve}' — use \"v5\" or \"off\".");
|
||||
else if (curve == "v1" || curve == "v2" || curve == "v3" || curve == "v4")
|
||||
GD.PrintErr($"[ConfigManager] TerrainCurve '{curve}' was retired by a later recalibration (v5, task 09). Keeping '{TerrainCurve}' — use \"v5-compact\", \"v5-balanced\" or \"off\".");
|
||||
GD.PrintErr($"[ConfigManager] TerrainCurve '{curve}' was retired by a later recalibration (v5, tasks 09/10). Keeping '{TerrainCurve}' — use \"v5\" or \"off\".");
|
||||
else
|
||||
GD.PrintErr($"[ConfigManager] Unknown TerrainCurve '{curve}'. Keeping '{TerrainCurve}'.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,10 +47,9 @@ public static class HeightCurve
|
|||
{
|
||||
public const ushort VERSION = 5;
|
||||
|
||||
public static readonly CurveKnots COMPACT = new CurveKnots(1, "compact",
|
||||
0.550982f, 0.646528f, 0.723145f, 0.784045f, 0.903025f, 1.003079f); // P65/77/84/88/94/97
|
||||
|
||||
public static readonly CurveKnots BALANCED = new CurveKnots(2, "balanced",
|
||||
// The task-09 taste gate's WINNER: BALANCED (id 2). COMPACT retired with the
|
||||
// verdict; its knots survive only in the task-09 report/batch for the record.
|
||||
public static readonly CurveKnots V5 = new CurveKnots(2, "balanced",
|
||||
0.515899f, 0.612157f, 0.710472f, 0.784045f, 0.962922f, 1.119118f); // P60/73/83/88/96/99
|
||||
|
||||
// Fixed output anchors — storm ladder + ceiling (frozen).
|
||||
|
|
|
|||
|
|
@ -88,9 +88,7 @@ public partial class MapGenerator : TextureRect
|
|||
this.CustomMinimumSize = new Vector2(MapSize, MapSize);
|
||||
|
||||
_heightMap = new float[MapSize, MapSize];
|
||||
_curveKnots = ConfigManager.TerrainCurve == "v5-compact" ? HeightCurve.COMPACT
|
||||
: ConfigManager.TerrainCurve == "v5-balanced" ? HeightCurve.BALANCED
|
||||
: null;
|
||||
_curveKnots = ConfigManager.TerrainCurve == "v5" ? HeightCurve.V5 : null;
|
||||
_curveOn = _curveKnots != null;
|
||||
// (The monotonicity assertion now runs inside GenerateTopography, against the
|
||||
// effective per-seed curve, once hMaxSeed is known.)
|
||||
|
|
|
|||
Loading…
Reference in a new issue