ZiggfreedCommon-1.1.0.jar
What's new
A UI-theming, in-page-feedback, and world-atmosphere primitives release, all additive over 1.0.0. Nothing here is breaking; consumers pick up only what they call.
- **New: UI retint engine (`ui/UiRetint`).** Recolor a shared menu frame, panels, or buttons in place, or swap a bespoke 9-slice texture set, from one call. It takes resolved hex plus selector params only (no theme model, no gate, no policy), so any page can retint a shared style without re-deriving the runtime `PatchStyle` mechanism.
- **New: theme value model (`ui/theme/Palette` + `ThemeRecord`).** A mod-agnostic, pure-data colour-slot palette plus a per-theme record (id, display-name key, palette, a neutral `premium` tag, sort order) that folds over the `defaults < pack < owner` asset backbone. License-free: the `premium` tag is yours to interpret; the model carries no concept of "unlocked". Pairs with `ui/UiRetint`.
- **New: `ui/ZigRichButton`.** A clickable rich-text / parameterized-text button: colour / bold / italic markup and `{0}/{1}` substitution render on the button (what a plain `TextButton` cannot do, it prints the tags literally), with `text` / `color` / `iconStart` / `iconEnd` helpers over shared tintable styles.
- **New: per-severity toast sounds.** In-page toasts play a sensible base-game sound by kind (success / error / warning chime) with zero per-call wiring; override the sound or silence a toast per call.
- **New: dialogue completion toast.** A dialogue action can report a just-completed thing (a quest, an objective, anything) by id, and the page floats a consumer-supplied toast over the dialogue before reopening. Domain-free: the id is opaque and the consumer builds the toast.
- **New: `world/AtmosphereService`.** Control a world's time-of-day (pin or pause the clock) and forced weather, with id validation so an unknown weather id never blanks the sky.
- **New: `world/ForcedMusicService`.** Force a `MusicContainer` music bed onto one player by id, or clear it back to the default.
- **Fixed: in-page toasts now auto-dismiss reliably after a page reopens as a new instance.** Previously a toast shown right before opening a fresh page instance could stick until the next page action; the auto-dismiss now keys on the player's currently-active toastable page.
This mod has no additional files

