• v1.4.0-beta.2 af5af782eb

    Slipstream Beta 1.4.0.2
    All checks were successful
    release / build (push) Successful in 4m58s
    release / flatpak (push) Successful in 5m1s
    release / windows (push) Successful in 6m48s
    release / arch-package (push) Successful in 15s
    release / deb-package (push) Successful in 37s
    release / update-manifest (push) Successful in 0s
    release / pacman-repo (push) Successful in 9s
    release / apt-repo (push) Successful in 4s
    release / sign-release (push) Successful in 2s
    Pre-release

    sky_line released this 2026-10-20 13:44:57 +00:00 | 706 commits to main since this release

    Slipstream Beta 1.4.0.2 -- v1.4.0-beta.2 (af5af782eb).

    Linux x86_64 (glibc >= 2.38, x86-64-v2 CPU): *_x86_64.tar.xz
    Ubuntu 24.04+ / Debian 13+ / Mint 22+: *_amd64.deb (sudo apt install ./)
    Windows x64 (unsigned; SmartScreen: More info > Run anyway): *_Setup.exe installer, or *_win64.zip to unpack anywhere

    Changes since v1.4.0-beta.1.

    New features

    • #783: snow rests on VERTICAL column tops -- the weather maps render untilted while snow falls or lies, and the fall direction only shapes where snow lands (an oblique heightfield march in the snow kernels), not the support (6ad2524599)

    Fixes

    • #783: M3 fixes: the rigged VS's avatar-slot load only while avatars carry snow; stamp-head WAW barrier; world streams back after the cascades' snow draw (bbe0c5fae6)
    • #876: crash reports name the pipeline the crashing compile thread was compiling; 'far' is a Windows macro (slweather.cpp) (a40b676002)

    Other changes

    • Weather sounds: ship the CC0 pack from app_settings/sounds/weather in the repo (af5af782eb)
    • VK VRAM: never re-allocate probes/shadows at the OOM wall (NVIDIA segfault in vkAllocateMemory) (90a1de69ef)
    • Weather floater: include roles_constants.h for GP_LAND_CHANGE_IDENTITY (ed9c2c6d68)
    • Weather (#783): export local weather to the parcel description tag (eb31c1fc91)
    • Weather: drop the 'only you see it' wording from the floater and toolbar tooltip (6c8b554201)
    • #783: the cover (coating) on a sheltered top is capped at its share of the open sky's -- a lee formed after the coating fell melts back, as the depth's level does (be7977a5ea)
    • #783: snow drift walls / view-dependent ring + dither / tints -- the wind takes only a loose surface layer and never blows snow above its source's top, the repose is an avalanche (not frame-time scaled), the weather maps centre on the ground under the camera, mesh vertices stored bit-exact (2643718efb)
    • #882: Build > Texture Media subtab -- lay its children out with explicit top/left/width instead of right=-4 / bottom=-8 edge anchors (they resolved against an unsized panel and landed outside the subtab) (7ce059eae8)
    • #783: outer ring -- planRing drops its dead inputs; memory notes match (2 MB ring vertices, 19 MB mesh, the ring allocated with the snow even when off) (0c35a23dbe)
    • #783: snow outer ring -- a coarser depth grid on the coarse map's plane (same filtered-base model, stepped every few frames), inner grid authoritative with a two-way hand-off, and world-space LOD bands (geomorph + complementary dither crossfade, ring fade to the coating, stride morphs) instead of the grid-space fade that jumped with every snap (97041aa044)
    • #783: snow repose relaxation mirrors a neighbour past the grid's border from the opposite one (a slope no longer depletes / piles the border rows a snap then carries inward); a fifth of the donor per neighbour at most (no overdraw with drift) (3d4aff1635)
    • #783: snow on a filtered base -- the column tops closed then opened (R 2 texels) in the cover kernel; depth, transport, footprints and the mesh use it; one snow-top connectivity rule; repose relaxation replaces settle / slide; thin-top / base-step / taper heuristics removed (fc3c2441fd)
    • #783: snow spikes -- no banking toward a higher neighbour (it left a one-texel ridge along every bridged seam: pyramids on a diagonal one); only a drop ends a thin run (a top is thin, the ground between pickets / under a rail is not) (0d177c5a52)
    • #783: snow spikes -- one slope-limited same-surface rule (a few cm + tan 40 x distance, texel by texel); thin tops (1-3 texels) carry no depth and no sheet; transport never settles / drifts across steep steps; spike clamp on every snow top (985d97362e)
    • #853: report tracker -- closed reports never notify, only a newer human comment or a reopen does (high-water id/time, count display-only), no polling before login, one popup per poll (e1b3f0e3b6)
    • #783: snow mesh banks the lower side of a bridged step (no averaging: the higher side never thins, the slant clears the step's edge); the drift inflow past the grid border takes the texel's fill, not the global depth (no border ridge for a snap to carry inward) (dcf33263cb)
    • #783: snow seams + snow mesh edges -- the grid border no longer thins the depth (seam grid after snaps); the mesh tapers to the ground, bridges small steps, skirts real cuts, marching-squares outlines (23c34028c0)
    • #874: RT audit -- cluster AS storage rows are 'unverifiable', not bad; freed-after-build is bad only while the frame may still have run (787ead1c34)
    • #874: DEVICE_LOST RT scene audit -- host readback of the TLAS records + rt_geom, every BLAS reference / CPU table / fault address checked against the address registry (efbca8be93)
    • #783: M3 snow shader docs: name the module constants, not settings that do not exist (comment only; SPIR-V unchanged) (e59b31a440)
    • #783: M3 renderer: the snow surface mesh in the deferred G-buffer and the sun cascades (a0a88b8049)
    • #783: M3 weather module: depth / transport push, avatar pass + footprints, snow mesh build in prepare() (a78e94f6ef)
    • #783: M3 shaders: snow depth field + drift / slide / settle, avatars' own snow + footprints, the snow surface mesh (3e5700d753)
    • #783: M3 state: the global snow depth (metres; intensity x duration, melts with the cover) + the M3 settings (224f6b558e)
    • #783: snow patches and puddles from rotated gradient-noise octaves (value noise showed its square lattice) (1add7c0672)
    • #783: snow beyond the cover grid (the grid lookup zeroed the global cover on a miss); unpublish the grid when RenderVKWeatherSnowCover is off (a90db82e0f)
    • #783: M2 movers' snow: the FS never fetches past the per-instance image (rows in ssr.weather[11].x) (0ea4abf212)
    • #783: M2 weather module docs: per-recording steps, memory / cost, probes and mirrors draw no precipitation (f364c17eb2)
    • #783: M2 rain splashes (93456ae1e0)
    • #783: M2 snow cover: a risen column top starts at the open-sky cover, not bare (e3c99b22c8)
    • #783: M2 persistent snow cover and moving objects' own snow (cdaf0e6465)
    • Default LimitSelectDistance off: select / edit objects at any distance (d298b19643)
    • #783: lightning counts as visible weather (storm flashes draw with no precipitation) (e61133f2f5)
    • #783: thunder fixups: pack check for storm-only weather, a decode slot of its own, storm gate settles exactly (e647e586fa)
    • #783: M2 puddle / wet-ground reflections ride the existing SSR + RT hybrid path (e9a94fc16c)
    • #783: Weather floater: wind variation / gustiness, thunderstorm, region weather opt-ins with status (deaeb4a342)
    • #783: region weather source: [slwx ...] parcel description tag (WeatherAllowRegion) and EEP-sky rain (WeatherFromEnvironment) (2cdc5583e3)
    • #783: M2 lightning visuals and weather cloud cover (773508b8ea)
    • #783: M2 wind-tilted roof map: sheared ortho cascades along the mean fall direction, wind-facing walls wet (1919c265b0)
    • #783: weather audio: thunder per strike (delayed, positioned, sheltered, occluded), gusty wind beds, close-strike ducking (eae31a4160)
    • #783: M2 weather state: seeded gusts (windMean = eased mean, wind = gusty) and deterministic lightning strikes (58bb28eb81)
    • #783: llaudio: local shots (positioned one-shot PCM, EFX low-pass + room send) for thunder (6f70d7a513)
    • #783: M2 roof map: static casters only (movers / worn attachments excluded), mover tracker runs while the weather does (987da32ed6)
    • #783: M2 interface: windMean and lightning fields on the weather state (b203cc87c8)
    • #859: RT reflection cost: receiver distance gate, per-block ray density, GPU ray budget (97b9bf50da)
    • #783: weather audio: drain drips only with a live cover answer (9c374a6014)
    • #783: weather audio: ignore roof material shares under 10% (no bed loaded for a stray ray) (2df668b4d8)
    • #783: About: courtesy credit for the Freesound authors of the weather sounds (CC0) (69432a7128)
    • #783: weather audio: the recorded CC0 beds replace the synthesised loops (91b8e184b8)
    • #783: llaudio: decode Ogg Vorbis to interleaved PCM at the file's own rate / channels (ae7674dba6)
    • #783: weather sound pack (CC0) as a common 3p package, shipped in app_settings/sounds/weather (08037df35e)
    • #783: Weather floater: snow coating, weather sounds + volume, snow cover status (23e7950d55)
    • #783: weather audio: procedural rain / wind loops, muffled under cover (716f057821)
    • #783: roof-map cover at the audio listener (GPU readback) (e80e55c048)
    • #783: snow coating on open, upward surfaces (6e4e5d1b6e)
    • #783: near roof-map cascade + soft PCF sky test (no more blocky dry patches) (329beaeae1)
    • #783: snow cover build-up / melt (melt water wets), listener-cover seam, M1.5 settings (02d4d59d8c)
    • #783: occlusion map alpha-tests blend casters, skips sub-texel casters; no wet ceilings (b396691fde)
    • #783: Vulkan weather module: precipitation, roof occlusion map, wet surfaces (5b596a8415)
    • #783: Weather floater, toolbar button and World menu entry (bcae179dda)
    • #808: Vorbis length cross-check, clearer too-long label for long WAV, -fwrapv for the decoder TU on clang-cl (2c2d3f96a1)
    • #807: split sounds longer than the upload limit into ~29.9 s clips, uploaded sequentially (55627db4a2)
    • #808: sound uploader accepts Ogg Vorbis, MP3, FLAC (and Opus when libopusfile is present), re-encoded to Ogg Vorbis (3b7bee1fe4)
    • #783: weather shaders, frame-info block and draw set 0 binding 49 (5837ed00bd)
    • #410: renest Advanced Graphics translation deltas to match the tabbed layout (c1a21d2d36)
    • #410: Advanced Graphics preferences as tabs, with related settings hoisted in (39f129a002)
    • #783: weather state with smooth transitions and a local source (58e18ab6cb)
    • #862: right-click hold with a following camera orbits the avatar (avatar turns to the camera heading) (754995a643)
    • #861: right-click orbit starts on a hold (RightClickOrbitHoldMs, default 250) instead of drag distance (13e242b086)

    SHA-256 of each file is listed in its job log and below as uploads land.

    466ca42748d8299e0c7f965d7db951c19392ac2debc79ed67139ba1c8a523598 Slipstream_1.4.0-beta.2_x86_64.tar.xz

    ee7c6423497200fbb6597304a03023f240670895866ece8a596188ce89b57310 Slipstream_1.4.0-beta.2.flatpak

    4bbc6bf9d7240522b2b59a62236a3d56d0acb118350511448d3da5e6b54adef7 Slipstream_1.4.0-beta.2_win64.zip

    423c89403c8fb3f2f57dce7a818616db1c12b4d9dedbf638c0d49d0a0fb18529 Slipstream_1.4.0-beta.2_Setup.exe

    571f251245697dcda09971699e7127fd67ecaf9605286dcff28ea8c05131c880 Slipstream_1.4.0-beta.2_x86_64.tar.xz.sig

    22c4dd71bb63c7bd16e10074b770e015a82942f38df4999a720e0be5028c25c4 PKGBUILD

    0ae0e0c21294408031df0359e54217170cbbaee9c860e1966059488b42d8471d slipstream-bin-1.4.0beta2-1-x86_64.pkg.tar.zst

    4b08c74b66e8c47c0a7e78cfb6418e03c6f5d2deb9b67f3716595d9c5b7ced48 Slipstream_1.4.0-beta.2_amd64.deb

    e85f8b2562b09d2005813231c8d81ba5c3cc88bd9492edfb39ee769f0bd0cc2c update-manifest.json

    Signed checksums: SHA256SUMS + SHA256SUMS.asc (key C28FDB4A40AA8360D8DF0470AD8E61526C06E929). Verify: https://slipstreamviewer.org/wiki/verify/

    Downloads