feat(camera): flip retail chase camera to default-on after visual ship
After visual verification 2026-05-18 (turn lag, coast-and-settle, slope-tilt, jump tracking with contact-plane projection all working), make the retail chase camera the default. Legacy ChaseCamera stays available via the DebugPanel toggle (ACDREAM_RETAIL_CHASE=0 or the checkbox) pending a follow-up deletion commit. Env var polarity now matches AlignToSlope: default-on if unset, off only when explicitly "0". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b7e954e50b
commit
67e64c79cf
2 changed files with 17 additions and 10 deletions
|
|
@ -15,13 +15,17 @@ namespace AcDream.Core.Rendering;
|
||||||
public static class CameraDiagnostics
|
public static class CameraDiagnostics
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Master toggle. When false (default) the legacy
|
/// Master toggle. When true (default, after visual ship 2026-05-18)
|
||||||
/// <c>AcDream.App.Rendering.ChaseCamera</c> is the active camera;
|
/// the retail-faithful <c>AcDream.App.Rendering.RetailChaseCamera</c>
|
||||||
/// when true, the retail-faithful <c>RetailChaseCamera</c> is.
|
/// is the active chase camera; when false, the legacy
|
||||||
/// Initial state from <c>ACDREAM_RETAIL_CHASE=1</c>.
|
/// <c>AcDream.App.Rendering.ChaseCamera</c> rigid-follow camera is.
|
||||||
|
/// Initial state from <c>ACDREAM_RETAIL_CHASE</c> — default-on if
|
||||||
|
/// unset, off only when explicitly set to <c>"0"</c>. The legacy
|
||||||
|
/// camera stays available via the DebugPanel toggle pending the
|
||||||
|
/// follow-up deletion commit.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static bool UseRetailChaseCamera { get; set; } =
|
public static bool UseRetailChaseCamera { get; set; } =
|
||||||
Environment.GetEnvironmentVariable("ACDREAM_RETAIL_CHASE") == "1";
|
Environment.GetEnvironmentVariable("ACDREAM_RETAIL_CHASE") != "0";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// When true (default), the camera basis follows the player's
|
/// When true (default), the camera basis follows the player's
|
||||||
|
|
|
||||||
|
|
@ -20,27 +20,30 @@ public class CameraDiagnosticsTests
|
||||||
CameraDiagnostics.MouseLowPassWindowSec = 0.25f;
|
CameraDiagnostics.MouseLowPassWindowSec = 0.25f;
|
||||||
CameraDiagnostics.CameraAdjustmentSpeed = 40.0f;
|
CameraDiagnostics.CameraAdjustmentSpeed = 40.0f;
|
||||||
CameraDiagnostics.AlignToSlope = true;
|
CameraDiagnostics.AlignToSlope = true;
|
||||||
CameraDiagnostics.UseRetailChaseCamera = false;
|
CameraDiagnostics.UseRetailChaseCamera = true;
|
||||||
|
|
||||||
Assert.Equal(0.45f, CameraDiagnostics.TranslationStiffness);
|
Assert.Equal(0.45f, CameraDiagnostics.TranslationStiffness);
|
||||||
Assert.Equal(0.45f, CameraDiagnostics.RotationStiffness);
|
Assert.Equal(0.45f, CameraDiagnostics.RotationStiffness);
|
||||||
Assert.Equal(0.25f, CameraDiagnostics.MouseLowPassWindowSec);
|
Assert.Equal(0.25f, CameraDiagnostics.MouseLowPassWindowSec);
|
||||||
Assert.Equal(40.0f, CameraDiagnostics.CameraAdjustmentSpeed);
|
Assert.Equal(40.0f, CameraDiagnostics.CameraAdjustmentSpeed);
|
||||||
Assert.True(CameraDiagnostics.AlignToSlope);
|
Assert.True(CameraDiagnostics.AlignToSlope);
|
||||||
Assert.False(CameraDiagnostics.UseRetailChaseCamera);
|
// 2026-05-18 ship: retail chase camera is the default. The
|
||||||
|
// legacy camera remains opt-in via the DebugPanel toggle until
|
||||||
|
// the follow-up deletion commit.
|
||||||
|
Assert.True(CameraDiagnostics.UseRetailChaseCamera);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Setters_PersistRuntimeChanges()
|
public void Setters_PersistRuntimeChanges()
|
||||||
{
|
{
|
||||||
CameraDiagnostics.TranslationStiffness = 0.8f;
|
CameraDiagnostics.TranslationStiffness = 0.8f;
|
||||||
CameraDiagnostics.UseRetailChaseCamera = true;
|
CameraDiagnostics.UseRetailChaseCamera = false;
|
||||||
|
|
||||||
Assert.Equal(0.8f, CameraDiagnostics.TranslationStiffness);
|
Assert.Equal(0.8f, CameraDiagnostics.TranslationStiffness);
|
||||||
Assert.True(CameraDiagnostics.UseRetailChaseCamera);
|
Assert.False(CameraDiagnostics.UseRetailChaseCamera);
|
||||||
|
|
||||||
// Reset so other tests aren't poisoned.
|
// Reset so other tests aren't poisoned.
|
||||||
CameraDiagnostics.TranslationStiffness = 0.45f;
|
CameraDiagnostics.TranslationStiffness = 0.45f;
|
||||||
CameraDiagnostics.UseRetailChaseCamera = false;
|
CameraDiagnostics.UseRetailChaseCamera = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue