auto-git:

[change] tests/domain/scene-document-validation.test.ts
 [change] tests/domain/world-settings.test.ts
 [change] tests/serialization/project-document-json.test.ts
 [change] tests/unit/world-shader-sky.test.ts
This commit is contained in:
2026-04-22 16:00:18 +02:00
parent 31496613f7
commit c6c765ec69
4 changed files with 17 additions and 0 deletions

View File

@@ -1171,6 +1171,7 @@ describe("validateSceneDocument", () => {
mode: "shader"
};
document.world.shaderSky.dayTopColorHex = "bad-color" as `#${string}`;
document.world.shaderSky.horizonHeight = 0.75;
document.world.shaderSky.celestial.sunDiscSizeDegrees = 0;
document.world.shaderSky.clouds.coverage = 2;
document.world.timeOfDay.dawn.background = {
@@ -1185,6 +1186,10 @@ describe("validateSceneDocument", () => {
code: "invalid-world-shader-sky-day-top-color",
path: "world.shaderSky.dayTopColorHex"
}),
expect.objectContaining({
code: "invalid-world-shader-sky-horizon-height",
path: "world.shaderSky.horizonHeight"
}),
expect.objectContaining({
code: "invalid-world-shader-sky-sun-disc-size",
path: "world.shaderSky.celestial.sunDiscSizeDegrees"

View File

@@ -168,4 +168,13 @@ describe("world settings helpers", () => {
expect(areWorldSettingsEqual(left, right)).toBe(false);
});
it("treats shader sky horizon height as part of authored world equality", () => {
const left = createDefaultWorldSettings();
const right = cloneWorldSettings(left);
right.shaderSky.horizonHeight = 0.08;
expect(areWorldSettingsEqual(left, right)).toBe(false);
});
});

View File

@@ -67,6 +67,7 @@ describe("project document JSON", () => {
activeScene.world.showCelestialBodies = true;
activeScene.world.shaderSky.dayTopColorHex = "#4a76bb";
activeScene.world.shaderSky.dayBottomColorHex = "#d6efff";
activeScene.world.shaderSky.horizonHeight = -0.06;
activeScene.world.shaderSky.stars.density = 0.72;
activeScene.world.shaderSky.clouds.coverage = 0.63;
activeScene.world.shaderSky.clouds.tintHex = "#ece7df";

View File

@@ -18,6 +18,7 @@ describe("resolveWorldShaderSkyRenderState", () => {
world.showCelestialBodies = true;
world.shaderSky.dayTopColorHex = "#88ccff";
world.shaderSky.dayBottomColorHex = "#dff3ff";
world.shaderSky.horizonHeight = -0.08;
world.timeOfDay.dawn.background = {
mode: "verticalGradient",
topColorHex: "#ff8855",
@@ -106,6 +107,7 @@ describe("resolveWorldShaderSkyRenderState", () => {
expect(dawnSky).not.toBeNull();
expect(noonSky?.sky.topColorHex).toBe("#88ccff");
expect(noonSky?.sky.bottomColorHex).toBe("#dff3ff");
expect(noonSky?.sky.horizonHeight).toBe(-0.08);
expect(dawnSky?.sky.topColorHex).not.toBe(noonSky?.sky.topColorHex);
expect(dawnSky?.sky.topColorHex).not.toBe(midnightSky?.sky.topColorHex);
expect(midnightSky?.stars.visibility ?? 0).toBeGreaterThan(