You are viewing a potentially older version of this package. View all versions.
YenRex-ShaderPlayground-0.5.2 icon

ShaderPlayground

Standalone shader suite with strict host-verified sync handshake, tabbed UI, advanced color controls, world/water tuning, presets, and built-in sync diagnostics.

By YenRex
Date uploaded 3 months ago
Version 0.5.2
Download link YenRex-ShaderPlayground-0.5.2.zip
Downloads 232
Dependency string YenRex-ShaderPlayground-0.5.2

README

ShaderPlayground

ShaderPlayground is a standalone visual overhaul suite for On-Together with strict host-verified sync.

Highlights

  • F10 tabbed editor:
    • Core
    • Effects
    • World
    • Advanced Color
    • Quality
    • Presets
    • Tools
  • Effects:
    • Fisheye (0.00-0.10)
    • Dream Bloom
    • Comic/Sketch
    • Breathing (0.00-0.05) + speed
    • Noir
    • Vapor
    • Pixelate
    • Chromatic Split
    • Dither
    • Motion Blur
    • Depth of Field
  • World controls:
    • Sky intensity/exposure/hue/color blend
    • Skybox style (Original, Black)
    • Sun intensity/temperature/color
    • Cloud layering + density
    • Weather mode + strength
    • Water clarity + wave strength
  • Advanced color:
    • Tonemapping (Off, Neutral, ACES)
    • White balance (temperature/tint)
    • Lift/Gamma/Gain
  • Quality:
    • AA presets (Off, FXAA, SMAA, TAA, CAS)
    • CAS sharpening
  • Built-in presets:
    • Clean
    • Noir
    • Stormfront
    • Night Time
    • Dreamy Style
    • Pitch Black
  • Save/Load profile slot
  • Scanner + handshake diagnostics panel

Reset button and reset wiring were removed.

Presets (Exact Values)

Shared baseline applied before each preset:

  • EnhancedSky = true
  • CloudLayers = true
  • WeatherSystem = true
  • WaterOverride = true
  • ForceVolumeFallback = false
  • QualityTier = 1
  • AAPreset = 2 (SMAA)
  • CAS = 0.30
  • Effects reset:
    • Fisheye=off(0.00), Dream=off(0.00), Comic=off(0.00), Breathing=off(0.00 @ 1.00 speed), Noir=off(0.00), Vapor=off(0.00), Pixelate=off(0.00), ChromaticSplit=off(0.00), Dither=off(0.00), MotionBlur=off(0.00), DepthOfField=off(0.00)
  • World reset:
    • SkyIntensity=0.68, SkyHueShift=0, SkyColorBlend=0.00, CloudDensity=0.62, WeatherMode=0 (Auto), WeatherStrength=0.62, WaterClarity=0.70, WaterWaveStrength=0.60

Per-preset overrides:

  1. Clean
  • QualityTier=1
  • AAPreset=2 (SMAA)
  • CAS=0.25
  • WeatherMode=1 (Clear)
  1. Noir
  • Noir=on (0.88)
  • Comic=on (0.18)
  • WeatherMode=3 (Overcast)
  • WeatherStrength=0.65
  1. Stormfront
  • WeatherMode=4 (Storm)
  • WeatherStrength=0.92
  • CloudDensity=0.86
  • WaterWaveStrength=0.90
  • Comic=on (0.20)
  1. Night Time
  • Noir=on (0.33)
  • SkyIntensity=1.00
  • CloudLayers=true
  • WeatherMode=4 (Storm)
  • WeatherStrength=1.00
  • CloudDensity=1.00
  • WaterClarity=0.22
  • WaterWaveStrength=0.50
  1. Dreamy Style
  • QualityTier=1 (Medium)
  • AAPreset=4 (CAS)
  • CAS=1.00
  • Fisheye=on (0.02)
  • Dream=on (0.16)
  • Comic=off (0.00)
  • Breathing=on (0.02)
  • BreathingSpeed=0.20
  • Noir=off (0.00)
  • Vapor=on (0.74)
  • EnhancedSky=true
  • SkyIntensity=1.00
  • SkyHueShift=61
  • SkyColorBlend=0.19
  • CloudLayers=true
  • CloudDensity=1.00
  • WeatherSystem=true
  • WeatherMode=5 (Dream)
  • WeatherStrength=1.00
  • WaterOverride=true
  • WaterClarity=0.70
  • WaterWaveStrength=0.60
  1. Pitch Black
  • QualityTier=0 (Low)
  • AAPreset=0 (Off)
  • CAS=1.00
  • Fisheye=off (0.00)
  • Dream=on (0.12)
  • Comic=off (0.00)
  • Breathing=off (0.00)
  • BreathingSpeed=1.00
  • Noir=off (0.00)
  • Vapor=off (0.00)
  • Pixelate=off (0.00)
  • ChromaticSplit=on (1.00)
  • Dither=off (0.00)
  • MotionBlur=off (0.00)
  • DepthOfField=on (0.24)
  • LensCenterX=0.54
  • LensCenterY=0.57
  • EnhancedSky=true
  • SkyIntensity=0.25
  • SkyExposure=0.34
  • SkyHueShift=-96
  • SkyColorBlend=0.90
  • SkyboxStyle=Black
  • SunIntensity=0.88
  • SunTemperature=18447
  • SunColorRGB=0.75,0.76,0.89
  • SunColorBlend=1.00
  • CloudLayers=false
  • CloudDensity=0.28
  • WeatherSystem=true
  • WeatherMode=4 (Storm)
  • WeatherStrength=1.00
  • WaterOverride=false
  • WaterClarity=0.70
  • WaterWaveStrength=0.60
  • Tonemapping=Off
  • WhiteBalance=enabled (Temp=-5, Tint=15)
  • LiftGammaGain=enabled (Lift=0.37, Gamma=1.00, Gain=1.39)

Preset application does not change sync ownership toggles (SyncEnabled, LocalOnlyMode, AcceptHostSync).

Networking

  • Sync is host-authoritative with strict host verification.
  • Client handshake flow: Hello -> HelloAck -> StateRequest -> StateSnapshot.
  • Validation includes nonce, host identity, session epoch, revision order, and state hash.
  • No first-sender authority pinning.
  • Client opt-out is supported via Allow Host Sync.

Compatibility

  • Host->client sync requires both host and client to have ShaderPlayground installed.
  • ob.otAPI is optional (soft dependency).

Default Input

  • F10 toggles ShaderPlayground UI.

CHANGELOG

Release v0.5.2

  • Added new preset: Pitch Black with tuned low-light settings from captured profile screenshots.
  • Added strict host-verified ShaderPlayground sync handshake (host->client):
    • explicit client state machine (Disconnected, AwaitHelloAck, AwaitSnapshot, Synced, Stale)
    • v2 message flow (Hello, HelloAck, StateRequest, StateSnapshot)
    • nonce, session-epoch, revision, and state-hash validation
    • duplicate/stale/gap snapshot handling with automatic resync requests
  • Removed dependence on first-sender authority pinning for shader sync acceptance.
  • Added explicit host identity verification using lobby owner SteamID + player-panel sender mapping.
  • 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.

Release v0.1.0

  • Initial ShaderPlayground release scaffold.