yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/ruview/v1081
vault / ruview / v1081

ruview @ v1081

integrity

size
55.6 MiB
downloaded
last checked
source https://github.com/ruvnet/RuView · available · github

release notes

Automated release from CI pipeline

Changes: research(R6.1): multi-scatterer Fresnel — discovers 4.7 dB penalty matching R13's 5-dB shortfall (#721)

Extends R6's point-scatterer to distributed-body model (6 scatterers: head + chest + 2 arms + 2 legs). Combined CSI = coherent sum of per-body-part contributions.

Headline finding: 5 m link, 2.4 GHz, subject 25 cm off LOS, breathing at 0.25 Hz with 8 mm chest amplitude:

Configuration Breathing SNR (best subcarrier)
Single-scatterer ideal (R6) +23.7 dB
Multi-scatterer realistic (R6.1) +19.0 dB
MULTI-SCATTERER PENALTY +4.7 dB

This 4.7 dB penalty matches R13's 5-dB-shortfall finding to within 0.3 dB. R13 NEGATIVE concluded that pulse-contour recovery needs +25 dB SNR, only +20 dB is available. R6.1 says the 5-dB gap has a physical origin: static body parts add coherent-sum confusion that doesn't exist in the idealised single-scatterer model.

The three threads now form a coherent physics story:

Pulse-contour recovery is bounded below by what R6.1 leaves achievable, which is 4.7 dB worse than R6's idealised limit, enough to make R13's contour recovery infeasible.

Per-body-part contribution: chest = 27.6% of CSI energy (5x per-limb reflectivity). The chest IS the breathing signal; limbs are confound.

Architectural implications:

Surprise finding: on-LOS placement (y=0) is degenerate -- path delta is 2nd-order in offset for on-LOS scatterers, so breathing barely changes path length. Real installations need subject OFF the LOS line. The R6.2 placement search should respect this.

Honest scope:

Composes:

Coordination: ticks/tick-18.md, no PROGRESS.md edit.

Docker Image: ghcr.io/ruvnet/RuView:bac69626890c9551af9b469641b091c2f74b5eec

download

unix · zip
curl -fL -o v1081.zip https://ratatoskr.space/pkg/ruview/v1081.zip
                    printf '%s  %s\n' 'd43b9a743f6d7504bb6283c0212ed9f654e1f63e5306e76c2fd7fcf9cb326988' 'v1081.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/ruview/v1081.zip"
$out = "v1081.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "d43b9a743f6d7504bb6283c0212ed9f654e1f63e5306e76c2fd7fcf9cb326988") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1081.tar.gz https://ratatoskr.space/pkg/ruview/v1081.tar.gz
                    printf '%s  %s\n' 'fe9a2e11033ca50287c4904d205c02c9be8639b7491415812e25d660c97d52fc' 'v1081.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/ruview/v1081.tar.gz"
$out = "v1081.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fe9a2e11033ca50287c4904d205c02c9be8639b7491415812e25d660c97d52fc") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v1081.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.zip
                    printf '%s  %s\n' 'd43b9a743f6d7504bb6283c0212ed9f654e1f63e5306e76c2fd7fcf9cb326988' 'v1081.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.zip"
$out = "v1081.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "d43b9a743f6d7504bb6283c0212ed9f654e1f63e5306e76c2fd7fcf9cb326988") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v1081.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.tar.gz
                    printf '%s  %s\n' 'fe9a2e11033ca50287c4904d205c02c9be8639b7491415812e25d660c97d52fc' 'v1081.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.tar.gz"
$out = "v1081.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "fe9a2e11033ca50287c4904d205c02c9be8639b7491415812e25d660c97d52fc") { throw "sha256 mismatch" }
artifact format size hashes
v1081.zip zip 55.5 MiB
blake3-24 b3c50d5a271629fe799eb2ae9f2f2b13b882e90b0301ab3e
sha256 d43b9a743f6d7504bb6283c0212ed9f654e1f63e5306e76c2fd7fcf9cb326988
sha1 cf3f62e91a6c94403b198769a902e8b4633eee49
v1081.tar.gz tar.gz 54.1 MiB
blake3-24 a130c8f2186f41ea89becaec27a82272ef421f2d85c22c1f
sha256 fe9a2e11033ca50287c4904d205c02c9be8639b7491415812e25d660c97d52fc
sha1 dc8ed87ae3c1d8d0d1ac748414ca66c2741663c8

install

bazel
http_archive(
    name = "ruview",
    urls = ["https://ratatoskr.space/pkg/ruview/v1081.tar.gz"],
    integrity = "sha256-/pouEQM8pQKHxJBNIFwCyb6GObdJFBWBLiXWYMl9Uvw=",
    strip_prefix = "ruview-v1081",
)
zig
.url = "https://ratatoskr.space/pkg/ruview/v1081.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "ruview",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.tar.gz"],
    integrity = "sha256-/pouEQM8pQKHxJBNIFwCyb6GObdJFBWBLiXWYMl9Uvw=",
    strip_prefix = "ruview-v1081",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1081.tar.gz",
← v1083v1079 →