diff --git a/src/app/App.tsx b/src/app/App.tsx
index 0af1e42b..692556a8 100644
--- a/src/app/App.tsx
+++ b/src/app/App.tsx
@@ -9304,7 +9304,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
- Default is 24 real minutes for one full 24-hour cycle. Daylight uses each scene's authored World settings as the daytime baseline.
+ Default is 24 real minutes for one full 24-hour cycle.
@@ -9453,471 +9453,12 @@ export function App({ store, initialStatusMessage }: AppProps) {
- Sunrise must stay earlier than sunset. Dawn and dusk durations define how broadly the twilight profile blends around each boundary.
+ Sunrise must stay earlier than sunset. Dawn and dusk durations define how broadly the twilight transition blends around each boundary.
-
-
Dawn Profile
-
-
- Sky Top
-
- applyProjectTimePhaseColor(
- "dawn",
- "skyTopColorHex",
- event.currentTarget.value,
- "Set dawn sky top color",
- "Updated the dawn sky top color."
- )
- }
- />
-
-
- Sky Bottom
-
- applyProjectTimePhaseColor(
- "dawn",
- "skyBottomColorHex",
- event.currentTarget.value,
- "Set dawn sky bottom color",
- "Updated the dawn sky bottom color."
- )
- }
- />
-
-
- Ambient Color
-
- applyProjectTimePhaseColor(
- "dawn",
- "ambientColorHex",
- event.currentTarget.value,
- "Set dawn ambient color",
- "Updated the dawn ambient color."
- )
- }
- />
-
-
- Ambient Factor
-
- setProjectTimeDawnAmbientIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "dawn",
- "ambientIntensityFactor",
- projectTimeDawnAmbientIntensityFactorDraft,
- "Set dawn ambient factor",
- "Dawn ambient factor",
- "Updated the dawn ambient factor."
- )
- }
- />
-
-
- Light Color
-
- applyProjectTimePhaseColor(
- "dawn",
- "lightColorHex",
- event.currentTarget.value,
- "Set dawn light color",
- "Updated the dawn light color."
- )
- }
- />
-
-
- Light Factor
-
- setProjectTimeDawnLightIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "dawn",
- "lightIntensityFactor",
- projectTimeDawnLightIntensityFactorDraft,
- "Set dawn light factor",
- "Dawn light factor",
- "Updated the dawn light factor."
- )
- }
- />
-
-
-
-
-
-
Dusk Profile
-
-
- Sky Top
-
- applyProjectTimePhaseColor(
- "dusk",
- "skyTopColorHex",
- event.currentTarget.value,
- "Set dusk sky top color",
- "Updated the dusk sky top color."
- )
- }
- />
-
-
- Sky Bottom
-
- applyProjectTimePhaseColor(
- "dusk",
- "skyBottomColorHex",
- event.currentTarget.value,
- "Set dusk sky bottom color",
- "Updated the dusk sky bottom color."
- )
- }
- />
-
-
- Ambient Color
-
- applyProjectTimePhaseColor(
- "dusk",
- "ambientColorHex",
- event.currentTarget.value,
- "Set dusk ambient color",
- "Updated the dusk ambient color."
- )
- }
- />
-
-
- Ambient Factor
-
- setProjectTimeDuskAmbientIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "dusk",
- "ambientIntensityFactor",
- projectTimeDuskAmbientIntensityFactorDraft,
- "Set dusk ambient factor",
- "Dusk ambient factor",
- "Updated the dusk ambient factor."
- )
- }
- />
-
-
- Light Color
-
- applyProjectTimePhaseColor(
- "dusk",
- "lightColorHex",
- event.currentTarget.value,
- "Set dusk light color",
- "Updated the dusk light color."
- )
- }
- />
-
-
- Light Factor
-
- setProjectTimeDuskLightIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "dusk",
- "lightIntensityFactor",
- projectTimeDuskLightIntensityFactorDraft,
- "Set dusk light factor",
- "Dusk light factor",
- "Updated the dusk light factor."
- )
- }
- />
-
-
-
-
-
-
Night Profile
-
-
- Sky Top
-
- applyProjectTimePhaseColor(
- "night",
- "skyTopColorHex",
- event.currentTarget.value,
- "Set night sky top color",
- "Updated the night sky top color."
- )
- }
- />
-
-
- Sky Bottom
-
- applyProjectTimePhaseColor(
- "night",
- "skyBottomColorHex",
- event.currentTarget.value,
- "Set night sky bottom color",
- "Updated the night sky bottom color."
- )
- }
- />
-
-
- Ambient Color
-
- applyProjectTimePhaseColor(
- "night",
- "ambientColorHex",
- event.currentTarget.value,
- "Set night ambient color",
- "Updated the night ambient color."
- )
- }
- />
-
-
- Ambient Factor
-
- setProjectTimeNightAmbientIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "night",
- "ambientIntensityFactor",
- projectTimeNightAmbientIntensityFactorDraft,
- "Set night ambient factor",
- "Night ambient factor",
- "Updated the night ambient factor."
- )
- }
- />
-
-
- Moon / Night Light
-
- applyProjectTimePhaseColor(
- "night",
- "lightColorHex",
- event.currentTarget.value,
- "Set night light color",
- "Updated the night light color."
- )
- }
- />
-
-
- Moon / Night Factor
-
- setProjectTimeNightLightIntensityFactorDraft(
- event.currentTarget.value
- )
- }
- onBlur={() =>
- applyProjectTimePhaseNumericField(
- "night",
- "lightIntensityFactor",
- projectTimeNightLightIntensityFactorDraft,
- "Set night light factor",
- "Night light factor",
- "Updated the night light factor."
- )
- }
- />
-
-
-
-
Night Background Image
-
- Image
-
- applyProjectTimeNightBackgroundAssetId(
- event.currentTarget.value.trim().length === 0
- ? null
- : event.currentTarget.value
- )
- }
- >
- None
- {imageAssetList.map((asset) => (
-
- {asset.sourceName}
-
- ))}
-
-
- {editorState.projectDocument.time.nightBackground.assetId ===
- null ? (
- imageAssetList.length === 0 ? (
-
- Import an image asset to author a dedicated night sky image.
-
- ) : (
-
- Night falls back to the blended dawn/dusk/night sky colors until an image is selected.
-
- )
- ) : (
- <>
-
- Environment Intensity
-
- setProjectTimeNightBackgroundEnvironmentIntensityDraft(
- event.currentTarget.value
- )
- }
- onBlur={
- applyProjectTimeNightBackgroundEnvironmentIntensity
- }
- onKeyDown={(event) =>
- handleDraftVectorKeyDown(
- event,
- applyProjectTimeNightBackgroundEnvironmentIntensity
- )
- }
- onKeyUp={(event) =>
- handleNumberInputKeyUp(
- event,
- applyProjectTimeNightBackgroundEnvironmentIntensity
- )
- }
- onPointerUp={(event) =>
- handleNumberInputPointerUp(
- event,
- applyProjectTimeNightBackgroundEnvironmentIntensity
- )
- }
- />
-
-
- {editorState.document.assets[
- editorState.projectDocument.time.nightBackground
- .assetId
- ]?.sourceName ??
- editorState.projectDocument.time.nightBackground
- .assetId}
-
- >
- )}
-
-
- Dawn, dusk, and night profiles blend over each scene's authored World settings whenever the scene enables global time influence.
-
+
+ Environment authoring lives in World. Project Time now only defines the shared clock and daylight window.