#1130 Weather: avatar snow builds from the snow landing on it; fast local snowfall no longer capped by the cover clock #1160

Manually merged
sky_line merged 2 commits from TheSlowly/Slipstream:weather-local-avatar-1130 into main 2026-10-27 20:25:35 +00:00
Collaborator

Fixes #1130 (local weather leaves the avatar without snow, and mesh snow takes far too long; parcel weather worked).

Cause: the avatar coat was capped at the ground's snow depth and filled at the ground level's rate, so under local weather (ground starting bare) it could never build. A parcel tag that holds its depth gave a rate of 0. The cover's 600 s build clock also capped fast local snowfall below its real rate.

Change:

  • The avatar grid fills at max(level rate, fresh snowfall x 0.7) up to min(max depth, 2 cm). Teleporting out of weather still leaves no new coat, because nothing falls there.
  • While it snows, the cover keeps pace with the depth, so fast snowfall is no longer held back.

Tested in-world at 360 cm/h local: the coat reached 2 cm in about 40 s, and ground depth rose 4.05 cm/min (expected 3.97); the ground mesh appears at 2 cm.

Fixes #1130 (local weather leaves the avatar without snow, and mesh snow takes far too long; parcel weather worked). Cause: the avatar coat was capped at the ground's snow depth and filled at the ground level's rate, so under local weather (ground starting bare) it could never build. A parcel tag that holds its depth gave a rate of 0. The cover's 600 s build clock also capped fast local snowfall below its real rate. Change: - The avatar grid fills at max(level rate, fresh snowfall x 0.7) up to min(max depth, 2 cm). Teleporting out of weather still leaves no new coat, because nothing falls there. - While it snows, the cover keeps pace with the depth, so fast snowfall is no longer held back. Tested in-world at 360 cm/h local: the coat reached 2 cm in about 40 s, and ground depth rose 4.05 cm/min (expected 3.97); the ground mesh appears at 2 cm.
The rest-pose grid filled a cell only up to the world's open-sky depth
(min(world depth, 2 cm)), at the ground's level rate. Parcel weather with a
stamped depth= hands that depth over at once, so the coat filled at the
snowfall rate. Local weather starts the ground from bare and builds it at the
physical rate (capped further by the cover), so the coat waited for the
ground and stayed near empty. A parcel tag holding its level (no rate) gave
the coats a fill rate of 0.

SLWeather now publishes the fresh snowfall's own build (snowFallBuild: the
rate x (1 - settle) while it snows, whatever drives the level) and the
deepest snow the settings allow (snowDepthMax: WeatherSnowMaxDepth, 0 with
the coating off). The grid fills at max(level rate, fresh snow) toward the
full coat within that cap. Nothing falls, nothing fills, so a teleport out of
weather still leaves no new coat; lying snow is still never cut down. A first
sample still starts from the world's depth (the steady-state guess).

Test-Plan: Local snow, WeatherSnowFall 360, own avatar in the open: the log's
own-grid max snow reaches ~2 cm in about 30 s, as with parcel weather. Local
WeatherSnowFall 12: it builds at ~8 cm/h like the ground (physical). Snow
coating off: no coat. Teleport out of snow: no new snow, the coat melts.
Without a parcel's shared depth, the snow depth is capped at
WeatherSnowMaxDepth x the snow cover, and the cover builds over
WeatherSnowBuildSeconds whatever the rate (it stops speeding up past
~1.5 cm/h). Above maxD / WeatherSnowBuildSeconds the cap, not the snowfall,
set the pace: at 360 cm/h the ground got 3.5 cm a minute at the default
0.35 m (2 cm at 0.2 m) instead of the 4.2 cm the rate lays. The ground snow
mesh (it needs 2 cm) and the first sample of an avatar's coat waited on it.

While it snows the cover now keeps pace with the depth, so the cap never
holds the snowfall back. Slower snowfalls are unchanged (the cover's clock
is ahead of the depth there).

Test-Plan: Local snow, WeatherSnowFall 360, WeatherSnowMaxDepth 0.2: the
"snow:" log line's depth rises ~4.2 cm a minute (it used to sit at its max of
~2 cm a minute) and the ground snow mesh appears within ~30-40 s.
WeatherSnowFall 1.5: the depth and cover build as before.
Owner

Merged to main (cherry-picked) as a2827c7260, 3d868bce6a, tested in-world by the owner together with the other open PRs. Thank you!

Owner test: the coat builds quickly from the falling snow. Follow-up: #1165 -- the avatar now also coats while standing indoors (an exposure leak the new fill cap makes visible).

Merged to main (cherry-picked) as a2827c7260, 3d868bce6a, tested in-world by the owner together with the other open PRs. Thank you! Owner test: the coat builds quickly from the falling snow. Follow-up: #1165 -- the avatar now also coats while standing indoors (an exposure leak the new fill cap makes visible).
sky_line manually merged commit 3d868bce6a into main 2026-10-27 20:25:35 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream!1160
No description provided.