Log inGet started
World

Cold Start

Branchmain
Commitcfc095f0fc

README.md

asc_sky — ASCENSION: sky dome, sun and atmosphere

Controls the sunset itself: the sky dome the finale is seen against, the scene sun and ambient lights, and the elevation curve that drives the whole part's day → dusk → night transition.

This is the publisher of the part's master signal. update returns

{ elev, nightMix, dir, skyGuid }

and the orchestrator hands that table to asc_stars, asc_terrain and asc_clouds. Because everything downstream keys off ELEV, retiming the sunset here retimes the star reveal, the ridge haze and the cloud palette together — which is the intent. Its update hook is mandatory.

Owns

  • ELEV — sun elevation across the 35 s, the single source of the transition.
  • SUN_INTENSITY — scene brightness, keyed separately from elevation.
  • The asc_dome entity: an inverted 900-unit sphere carrying asc_sky_mat.
  • Suppressing ProceduralSky.syncSunToLight so the engine's sky bridge cannot re-orient the light out from under the animated sunset.
  • Lighting.applySetup and the sun / ambient Light components it creates.
  • The night and game_t properties on asc_sky_mat.

Reads from the orchestrator

Nothing but ctx, t and dt. This module is upstream of every other aspect.

Boundaries

  • The stars property on asc_sky_mat belongs to asc_stars. This module writes night and game_t only.
  • The sun disk, halo and horizon glow are drawn by asc_sky.shader from input.light_direction — the shader takes no sun uniform, so the dome's sun follows the Light written here through the renderer. Moving the sun means moving that light.
  • Lighting.applySetup creates the sun and ambient entities that the entity.find calls immediately below it depend on. Those lines are one unit; separating them leaves both ids nil and the sunset silently frozen.