auto-git:

[change] src/document/migrate-scene-document.ts
This commit is contained in:
2026-04-22 13:57:00 +02:00
parent 97732b7b72
commit 8e18180e67

View File

@@ -1071,30 +1071,66 @@ function readBoxBrushVolumeSettings(
}; };
} }
const defaults = createDefaultBoxBrushFogSettings(); if (mode === "fog") {
const defaults = createDefaultBoxBrushFogSettings();
if (value.fog !== undefined && !isRecord(value.fog)) { if (value.fog !== undefined && !isRecord(value.fog)) {
throw new Error(`${label}.fog must be an object.`); throw new Error(`${label}.fog must be an object.`);
}
const fog = (value.fog ?? {}) as Record<string, unknown>;
return {
mode: "fog",
fog: {
colorHex:
fog.colorHex === undefined
? defaults.colorHex
: expectHexColor(fog.colorHex, `${label}.fog.colorHex`),
density: readOptionalNonNegativeFiniteNumber(
fog.density,
`${label}.fog.density`,
defaults.density
),
padding: readOptionalNonNegativeFiniteNumber(
fog.padding,
`${label}.fog.padding`,
defaults.padding
)
}
};
} }
const fog = (value.fog ?? {}) as Record<string, unknown>; const defaults = createDefaultBoxBrushLightSettings();
if (value.light !== undefined && !isRecord(value.light)) {
throw new Error(`${label}.light must be an object.`);
}
const light = (value.light ?? {}) as Record<string, unknown>;
return { return {
mode: "fog", mode: "light",
fog: { light: {
colorHex: colorHex:
fog.colorHex === undefined light.colorHex === undefined
? defaults.colorHex ? defaults.colorHex
: expectHexColor(fog.colorHex, `${label}.fog.colorHex`), : expectHexColor(light.colorHex, `${label}.light.colorHex`),
density: readOptionalNonNegativeFiniteNumber( intensity: readOptionalNonNegativeFiniteNumber(
fog.density, light.intensity,
`${label}.fog.density`, `${label}.light.intensity`,
defaults.density defaults.intensity
), ),
padding: readOptionalNonNegativeFiniteNumber( padding: readOptionalNonNegativeFiniteNumber(
fog.padding, light.padding,
`${label}.fog.padding`, `${label}.light.padding`,
defaults.padding defaults.padding
),
falloff: readOptionalAllowedValue(
light.falloff,
`${label}.light.falloff`,
defaults.falloff,
isBoxBrushLightFalloffMode
) )
} }
}; };