From c2f1e585b8aba92c5f26fa4d58113456e1a1055f Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 2 May 2026 10:55:12 +0200 Subject: [PATCH] Add tests for foliage quality settings in world settings --- tests/domain/world-settings.test.ts | 31 ++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/domain/world-settings.test.ts b/tests/domain/world-settings.test.ts index 1049758d..aa8d42cf 100644 --- a/tests/domain/world-settings.test.ts +++ b/tests/domain/world-settings.test.ts @@ -7,7 +7,8 @@ import { createDefaultWorldCelestialOrbitAuthoringSettings, createDefaultWorldShaderSkySettings, createWorldCelestialOrbitSettingsFromPeakDirection, - createDefaultWorldSettings + createDefaultWorldSettings, + resolveFoliageQualitySettings } from "../../src/document/world-settings"; describe("world settings helpers", () => { @@ -41,6 +42,9 @@ describe("world settings helpers", () => { expect(clone.advancedRendering.godRays).not.toBe( source.advancedRendering.godRays ); + expect(clone.advancedRendering.foliage).not.toBe( + source.advancedRendering.foliage + ); }); it("switches a solid background into a gradient while preserving the authored color as the top edge", () => { @@ -183,6 +187,31 @@ describe("world settings helpers", () => { expect(areWorldSettingsEqual(left, right)).toBe(false); }); + it("treats foliage quality settings as part of authored world equality", () => { + const left = createDefaultWorldSettings(); + const right = cloneWorldSettings(left); + + right.advancedRendering.foliage.densityMultiplier = 0.5; + + expect(areWorldSettingsEqual(left, right)).toBe(false); + }); + + it("bounds resolved foliage quality multipliers", () => { + expect( + resolveFoliageQualitySettings({ + enabled: true, + densityMultiplier: 5, + maxDistanceMultiplier: 0.01, + shadows: "full" + }) + ).toEqual({ + enabled: true, + densityMultiplier: 2, + maxDistanceMultiplier: 0.1, + shadows: "full" + }); + }); + it("treats the scene project-time lighting toggle as part of authored world equality", () => { const left = createDefaultWorldSettings(); const right = cloneWorldSettings(left);