Standalone shader suite with strict host-verified sync handshake, tabbed UI, advanced color controls, world/water tuning, presets, and built-in sync diagnostics.
Added host migration/session change detection and forced re-handshake behavior.
Added built-in in-game handshake diagnostics in Tools tab:
live sync state + reason
expected host sender/steam IDs
active epoch + accepted revision/hash
rolling sync event log + clear/status actions
Added sync logging config controls:
Debug.EnableBuiltInSyncLog
Debug.SyncLogToBepInEx
Debug.SyncLogIncludeKeepalive
Updated automated tests for new sync policy behavior and cadence handling.
Synced package metadata/version fields to 0.5.2.
Release v0.5.0
Major ShaderPlayground revamp focused on standalone workflow:
retired active SessionVisualLab bridge publish/consume path
disabled VisualLab ownership handoff behavior in runtime apply logic
Reworked F10 UI into tabbed pages:
Core
Effects
World
Quality
Presets
Tools
Added new effect channels:
Noir
Vapor
Added built-in quick presets:
Clean
Cinematic
Dreamscape
Noir
Neon Vapor
Stormfront
Retro TV
Expanded synced state payload with Noir/Vapor fields for host profile sync.
Improved menu ergonomics:
drag window from anywhere
reset button always visible in footer
Updated package metadata and docs for the standalone model.
Release v0.4.1
Changed otAPI packaging to soft dependency behavior:
Thunderstore metadata no longer hard-requires officer_balls-otAPI-1.0.2
otAPI controls remain available when otAPI is installed and integration is enabled.
Updated README dependency wording to match runtime behavior.
Documentation correction pass to match current runtime behavior:
Fisheye/Breathing/Scan Lines active effect set and ranges
save/load/reset workflow
retired Dreamy Hypnosis runtime behavior.
Added explicit desktop pet mode suspension (OverlayManager.ResolutionMode == Desk) in scene-suspend guards.
Added compatibility hardening so visual hooks avoid non-game/aux render-texture camera targets.
Synced package and assembly version metadata for publish.
Release v0.4.0
Added Dreamy Hypnosis pack (procedural/no-asset):
DreamWarp
Soft Chromatic Drift
Hypno Vignette Spiral
Added Hypnosis controls and presets in F10 UI:
Lullaby
Float
Deep Hypnosis
plus per-parameter sliders for intensity/speed/warp/spiral/color blend.
Added no-flicker safety clamps for hypnosis motion speed and modulation ranges.
Added otAPI controls for full Dreamy Hypnosis section.
Extended synced profile payload with hypnosis fields:
HypnosisEnabled
HypnosisPreset
HypnosisIntensity
HypnosisSpeed
HypnosisWarpAmount
HypnosisSpiralAmount
HypnosisColorBlend
Added client capability handshake bit for hypnosis support, and host-side compatibility fallback so unsupported clients are not forced hypnosis-only fields.
Updated fullscreen shader lookup order to try Hidden/ShaderPlayground/HypnosisComposite first, with existing safe fallbacks unchanged.
Version bump to 0.4.0.
Release v0.3.0
Added "Pro pass" world overhaul controls:
Enhanced sky + lighting tuning.
Cloud layering and density control.
Weather mood system (Auto, Clear, Golden, Overcast, Storm, Dream) with daily auto rotation.
Realistic water override controls (clarity, wave strength, reflection boost).
Added AA and image quality presets:
Off / FXAA / SMAA / TAA / CAS-style mode.
CAS-style sharpening control.
Added runtime material/shader scanner:
Scene-level shader inventory.
Water/cloud/sky candidate discovery with quick logging.
Expanded profile sync payload and host-authoritative replication for new world + AA controls.
Added new presets:
Realistic Water
Storm Front
Updated otAPI controls to include sky/weather/water/AA settings.
Version bump to 0.3.0.
Release v0.2.0
Added a complete runtime profile stack with four effects:
CRT/VHS
Dream Bloom
Comic/Sketch
Heatwave/Refraction
Added URP-safe fullscreen shader-pass path with pooled command buffer usage.
Added hard fail-safe behavior: shader path auto-disables on runtime exception.
Added automatic volume-only fallback mode when shader pass is unsupported.
Added host-authoritative sync protocol with:
revisioned state
sender identity validation
payload size bounds checks
authority pinning on clients
Added client opt-out toggle (AcceptHostSync) while keeping sync enabled by default.
Added SessionVisualLab bridge hook (TryPublishSessionVisualStateFromHost) and bridge-sync toggles for clients without SessionVisualLab.
Added outbound bridge publish from ShaderPlayground host state into RejoinStateRecovery / SmartCheckinPrompts / FishingTackleboxJournal bridge channels.
Added preset operations in UI:
apply built-in preset
save slot
load slot
reset defaults
Added notification throttling to prevent slider spam.
Added otAPI control registration for core toggles and effect parameters.