config(vfx): default to extended particle range

Honor the requested non-dev-UI behavior by making the 2x DAT-authored particle cutoff the application default while keeping Retail as the exact opt-down setting. Update migration tests and the divergence/roadmap documentation accordingly.

Release build succeeds and all 5,857 tests pass with five intentional skips.

Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-17 15:32:57 +02:00
parent f1ba147ac5
commit 48a118db91
7 changed files with 18 additions and 16 deletions

View file

@ -5,8 +5,8 @@ namespace AcDream.UI.Abstractions.Panels.Settings;
/// <summary>
/// Particle visibility distance policy. Retail uses the GfxObj-authored
/// distance exactly; Extended is an explicit acdream adaptation for players
/// who prefer longer-lived distant effects with the corresponding CPU cost.
/// distance exactly; Extended is the acdream default requested for longer
/// distant-effect visibility, with the corresponding CPU cost.
/// </summary>
public enum ParticleRange
{
@ -49,7 +49,7 @@ public sealed record DisplaySettings(
Gamma: 1.0f,
ShowFps: false,
Quality: QualityPreset.High,
ParticleRange: ParticleRange.Retail);
ParticleRange: ParticleRange.Extended);
/// <summary>16:9 resolution presets offered in the dropdown.</summary>
public static IReadOnlyList<string> AvailableResolutions { get; } = new[]

View file

@ -238,7 +238,7 @@ public sealed class SettingsPanel : IPanel
int particleRangeIndex = (int)d.ParticleRange;
if (particleRangeIndex < 0 || particleRangeIndex >= s_particleRangeNames.Length)
particleRangeIndex = (int)ParticleRange.Retail;
particleRangeIndex = (int)DisplaySettings.Default.ParticleRange;
if (renderer.Combo("Particle Range", ref particleRangeIndex, s_particleRangeNames))
_vm.SetDisplay(d with { ParticleRange = (ParticleRange)particleRangeIndex });
@ -248,8 +248,8 @@ public sealed class SettingsPanel : IPanel
+ "preview live as you drag; Cancel reverts to the saved value. "
+ "Quality preset applies streaming radius, anisotropic, and A2C "
+ "immediately on Save; MSAA sample count requires a restart. "
+ "Particle Range defaults to retail-authored distances; Extended "
+ "doubles effect range and costs additional CPU time.");
+ "Particle Range defaults to Extended, which doubles authored "
+ "effect distance; Retail restores the exact client cutoff.");
}
/// <summary>