[viewer] Weather: "Sync weather with a friend" -- send your current weather (incl. buildup) so a friend can match it where parcel weather can't be set #1023

Open
opened 2026-10-24 06:10:07 +00:00 by sky_line · 0 comments
Owner

Weather is simulated per viewer. Where you can't set parcel weather (someone else's land, a region without weather settings), two friends standing together see different weather and different buildup (snow depth, wetness, puddles). Add a way to send yours to a friend so their viewer can match it.

UX

  • Weather floater (and the friend's profile / People context menu, and the IM window's gear menu): Sync weather with a friend..., then pick an online friend.
  • The recipient gets a notification: "[Name] wants to share their weather (snow, heavy) -- Accept / Decline". With Accept, their local weather switches to the shared state and shows an indicator: "Weather synced with [Name] -- Stop".
  • Optional Keep in sync while both are in the same region: periodic small updates from the sender (rate-limited, e.g. every 30 s or on change); either side can stop it. Ends automatically on teleport / region change, or after a timeout.
  • Never automatic: always an explicit accept, and a setting to ignore requests (or only from friends, which is the default).

Payload (compact: fits a viewer-to-viewer IM, ~1 KB max)

  • The weather state: type / intensity, wind direction and speed, gust parameters, temperature / phase, cloud and fog parameters, the simulation seed and clock / phase, so both viewers evolve in step afterwards.
  • Current buildup as summary values (not full maps): snow depth level, wetness, puddle level, drift / cover parameters, and the time it started. The recipient's simulation ramps its buildup to those levels quickly, rather than snapping, so it matches the sender.
  • A version field. Unknown versions are rejected with a polite message.

Transport

  • An instant message carrying the payload in a marker-tagged form that Slipstream recognises and hides (it shows the notification instead).
  • A recipient on another viewer just sees a short readable line ("[Name] shared their Slipstream weather -- get Slipstream to sync"), never raw data.
  • Validate everything on receipt (ranges, size, rate limit per sender); never execute or load anything from it.

Edge cases

  • Parcel / region weather set by the land owner always wins: show "this area has its own weather" and don't apply.
  • Master weather off: decline with that reason.
  • Privacy: the payload contains only weather state; no location beyond what the IM already implies.

Test: two Slipstream viewers in the same spot on land without weather settings. Send, accept: same weather type and wind, buildup ramps to match within seconds, and both stay in step for a while. Keep-in-sync updates arrive. Teleporting ends the sync. A non-Slipstream recipient gets the readable line only.

Weather is simulated per viewer. Where you can't set parcel weather (someone else's land, a region without weather settings), two friends standing together see different weather and different buildup (snow depth, wetness, puddles). Add a way to send yours to a friend so their viewer can match it. **UX** - Weather floater (and the friend's profile / People context menu, and the IM window's gear menu): **Sync weather with a friend...**, then pick an online friend. - The recipient gets a notification: "[Name] wants to share their weather (snow, heavy) -- Accept / Decline". With **Accept**, their local weather switches to the shared state and shows an indicator: "Weather synced with [Name] -- Stop". - Optional **Keep in sync** while both are in the same region: periodic small updates from the sender (rate-limited, e.g. every 30 s or on change); either side can stop it. Ends automatically on teleport / region change, or after a timeout. - Never automatic: always an explicit accept, and a setting to ignore requests (or only from friends, which is the default). **Payload** (compact: fits a viewer-to-viewer IM, ~1 KB max) - The weather state: type / intensity, wind direction and speed, gust parameters, temperature / phase, cloud and fog parameters, the simulation seed and clock / phase, so both viewers evolve in step afterwards. - **Current buildup** as summary values (not full maps): snow depth level, wetness, puddle level, drift / cover parameters, and the time it started. The recipient's simulation ramps its buildup to those levels quickly, rather than snapping, so it matches the sender. - A version field. Unknown versions are rejected with a polite message. **Transport** - An instant message carrying the payload in a marker-tagged form that Slipstream recognises and hides (it shows the notification instead). - A recipient on another viewer just sees a short readable line ("[Name] shared their Slipstream weather -- get Slipstream to sync"), never raw data. - Validate everything on receipt (ranges, size, rate limit per sender); never execute or load anything from it. **Edge cases** - Parcel / region weather set by the land owner always wins: show "this area has its own weather" and don't apply. - Master weather off: decline with that reason. - Privacy: the payload contains only weather state; no location beyond what the IM already implies. Test: two Slipstream viewers in the same spot on land without weather settings. Send, accept: same weather type and wind, buildup ramps to match within seconds, and both stay in step for a while. Keep-in-sync updates arrive. Teleporting ends the sync. A non-Slipstream recipient gets the readable line only.
sky_line added this to the Slipstream project 2026-10-24 06:10:07 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#1023
No description provided.