About
LumiWeather is a Lumiverse extension that adds a draggable weather HUD and animated scene ambience to chat.
It is built for story-driven use, not live forecast data. The model controls the scene by emitting a hidden <weather-state> tag, and the extension turns that into HUD updates, layered effects, and per-chat weather state.
Permissions
4 permissions
Granted on install
Open floating widgets and docked panels.
Read, add, change and hide chat messages.
Needs an admin to approve
Change a prompt before it reaches the model.
Read, change and delete your chats.
What it adds
2 additions
- 1
Float widget
- 1
Prompt interceptor
Version and source
2 details · 2 links
Details
1.4.1
1.0.6
Links
Features
Compact draggable HUD with dynamic styling based on story time, palette, and weather
Mobile weather launcher with a touch-friendly fullscreen HUD and controls
Animated ambience that can render behind the chat, in front of the chat, or both
Story sync mode driven by hidden inline weather tags
Manual lock mode for overriding the current scene per chat
Optional multi-day forecast strip projected from the hidden weather tag
Scene changes blend between palettes and effects instead of swapping instantly
Per-chat persistence for story state and manual overrides
Prompt macros for reliable prompt-side weather tag generation
Clear waiting status when a chat has not emitted its first weather tag
Prompt Setup
To make the main model emit weather tags consistently, add this to the active character or preset system prompt:
{{weather_tracker}}Optional reference macros:
{{weather_state}}
{{weather_format}}{{weather_tracker}} is the canonical integration macro. The older aliases remain available for existing prompts; the current state is injected directly into generation, so {{weather_state}} is retained only as a compatibility marker. LumiWeather no longer makes extra generation calls when a tag is missing.
Supported aliases:
{{weather_tracker}}{{story_weather_tracker}}{{story_weather}}{{weather_state}}{{story_weather_state}}{{weather_format}}{{story_weather_format}}
The legacy story_weather_* aliases and technical extension ID remain in place so existing installs and prompts update cleanly under the LumiWeather name.
Hidden Tag Contract
The assistant should keep all visible prose natural, then end the message with exactly one hidden weather tag:
<weather-state location="Example Location" date="2026-01-15" time="3:00 PM" condition="rain" summary="Steady afternoon rain" temperature="60F" intensity="0.65" wind="breezy" windDirection="west" palette="storm" season="winter" forecast="2026-01-16: snow, 30F, heavy flurries | 2026-01-17: cloudy, 34F"></weather-state>
Supported conditions:
clearcloudyrainstormsnowfog
Condition and attribute names are case-insensitive. Common condition aliases such as sunny, overcast, rainy, thunderstorm, snowy, and mist are normalized to these six values. Dates must be real calendar dates, and times must be valid 12-hour or 24-hour values. Story time is independent of the device's timezone and daylight-saving changes.
Optional attributes
season and forecast are optional and were added in v1.4. Tags written before v1.4 keep working unchanged.
seasonis one ofspring,summer,autumn, orwinter. When it is omitted, the season is derived from the story date.forecastprojects at most five later days. Separate entries with a pipe and format each asdate: condition, temperature, summary. Condition, temperature, and summary are each optional, so2026-01-17alone is a valid entry. Unparseable entries are dropped rather than failing the whole tag, and the projection is sorted by date.When
forecastis omitted, the projection already in play is kept. Sendforecast=""to clear it deliberately.
Effect placement is user-controlled in settings:
Back only
Front only
Front and back
Supported palettes:
dawndaydusknightstormmistsnow
Scene transitions
Scene changes blend rather than swap. Palette colors and layer opacities are registered CSS custom properties, so they interpolate, and rain density is expressed as a per-particle opacity multiplier so intensity changes read as a swell instead of particles popping in and out.
Blending is skipped when it would fight something else: reduced motion, paused effects, a hidden tab, or an FX layer still fading in. It can also be turned off entirely with Blend scene changes in settings.
HUD clock
The HUD clock follows story time by default. HUD clock in settings chooses between:
Story time, live in manual lock — the default; a manual lock shows real time until you resume story sync
Always follow real time
Always follow story time