auto-git:

[change] src/document/migrate-scene-document.ts
 [change] src/document/scene-document-validation.ts
 [change] src/document/scene-document.ts
 [change] src/document/world-settings.ts
This commit is contained in:
2026-04-22 16:22:35 +02:00
parent 39111fc571
commit 6c772725e9
4 changed files with 25 additions and 2 deletions

View File

@@ -192,6 +192,7 @@ import {
SCENE_TRANSITION_SEQUENCE_EFFECTS_SCENE_DOCUMENT_VERSION,
SCHEDULER_CONTROL_EFFECTS_SCENE_DOCUMENT_VERSION,
SHADER_SKY_SCENE_DOCUMENT_VERSION,
SHADER_SKY_HORIZON_HEIGHT_SCENE_DOCUMENT_VERSION,
SPATIAL_AUDIO_SCENE_DOCUMENT_VERSION,
STARTER_PBR_MATERIAL_LIBRARY_SCENE_DOCUMENT_VERSION,
PROJECT_NAME_SCENE_DOCUMENT_VERSION,
@@ -2668,6 +2669,11 @@ function readWorldShaderSkySettings(
stars.brightness,
`${label}.stars.brightness`,
defaults.stars.brightness
),
horizonFadeOffset: readOptionalFiniteNumber(
stars.horizonFadeOffset,
`${label}.stars.horizonFadeOffset`,
defaults.stars.horizonFadeOffset
)
},
clouds: {
@@ -5155,6 +5161,7 @@ export function migrateSceneDocument(source: unknown): SceneDocument {
source.version !== WHITEBOX_BOX_LIGHT_VOLUME_SCENE_DOCUMENT_VERSION &&
source.version !== CELESTIAL_BODY_OVERLAY_SCENE_DOCUMENT_VERSION &&
source.version !== SHADER_SKY_SCENE_DOCUMENT_VERSION &&
source.version !== SHADER_SKY_HORIZON_HEIGHT_SCENE_DOCUMENT_VERSION &&
source.version !== SCENE_DOCUMENT_VERSION &&
source.version !== FOLLOW_ACTOR_PATH_SMOOTH_SCENE_DOCUMENT_VERSION
) {

View File

@@ -407,6 +407,17 @@ function validateWorldShaderSkySettings(
);
}
if (!isFiniteNumberInRange(settings.stars.horizonFadeOffset, -0.5, 0.5)) {
diagnostics.push(
createDiagnostic(
"error",
"invalid-world-shader-sky-star-horizon-fade-offset",
"World shader sky star horizon offset must stay between -0.5 and 0.5.",
`${path}.stars.horizonFadeOffset`
)
);
}
if (!isFiniteNumberInRange(settings.clouds.coverage, 0, 1)) {
diagnostics.push(
createDiagnostic(

View File

@@ -29,7 +29,8 @@ import {
} from "../sequencer/project-sequences";
import type { Terrain } from "./terrains";
export const SCENE_DOCUMENT_VERSION = 72 as const;
export const SCENE_DOCUMENT_VERSION = 73 as const;
export const SHADER_SKY_STAR_HORIZON_FADE_SCENE_DOCUMENT_VERSION = 73 as const;
export const SHADER_SKY_HORIZON_HEIGHT_SCENE_DOCUMENT_VERSION = 72 as const;
export const SHADER_SKY_SCENE_DOCUMENT_VERSION = 71 as const;
export const CELESTIAL_BODY_OVERLAY_SCENE_DOCUMENT_VERSION = 70 as const;

View File

@@ -165,6 +165,7 @@ export interface WorldShaderSkyCelestialSettings {
export interface WorldShaderSkyStarSettings {
density: number;
brightness: number;
horizonFadeOffset: number;
}
export interface WorldShaderSkyCloudSettings {
@@ -235,6 +236,7 @@ const DEFAULT_SHADER_SKY_SUN_DISC_SIZE_DEGREES = 2.6;
const DEFAULT_SHADER_SKY_MOON_DISC_SIZE_DEGREES = 1.8;
const DEFAULT_SHADER_SKY_STAR_DENSITY = 0.55;
const DEFAULT_SHADER_SKY_STAR_BRIGHTNESS = 0.85;
const DEFAULT_SHADER_SKY_STAR_HORIZON_FADE_OFFSET = 0;
const DEFAULT_SHADER_SKY_CLOUD_COVERAGE = 0.58;
const DEFAULT_SHADER_SKY_CLOUD_DENSITY = 0.62;
const DEFAULT_SHADER_SKY_CLOUD_SOFTNESS = 0.42;
@@ -375,7 +377,8 @@ export function createDefaultWorldShaderSkySettings(
},
stars: {
density: DEFAULT_SHADER_SKY_STAR_DENSITY,
brightness: DEFAULT_SHADER_SKY_STAR_BRIGHTNESS
brightness: DEFAULT_SHADER_SKY_STAR_BRIGHTNESS,
horizonFadeOffset: DEFAULT_SHADER_SKY_STAR_HORIZON_FADE_OFFSET
},
clouds: {
coverage: DEFAULT_SHADER_SKY_CLOUD_COVERAGE,
@@ -696,6 +699,7 @@ export function areWorldShaderSkySettingsEqual(
right.celestial.moonDiscSizeDegrees &&
left.stars.density === right.stars.density &&
left.stars.brightness === right.stars.brightness &&
left.stars.horizonFadeOffset === right.stars.horizonFadeOffset &&
left.clouds.coverage === right.clouds.coverage &&
left.clouds.density === right.clouds.density &&
left.clouds.softness === right.clouds.softness &&