ruview @ v1087
integrity
- size
- 55.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: research(R6.2.1): 3D antenna placement — ceiling-only gives 0% coverage; mixed-height wins (#724)
Extends R6.2 from 2D ellipse to 3D ellipsoid + 3D target zones (bed at z=0.3-0.6, chair at z=0.5-1.2, standing at z=1.0-1.7 in a 5x5x2.5 m room).
Counter-intuitive headline:
| Strategy | Coverage |
|---|---|
| Desk-height (0.8 m walls) | 22.2% |
| Wall-mount (1.5 m walls) | 17.4% |
| Ceiling-only (2.5 m grid) | 0.0% |
| Mixed walls + ceiling | 25.7% |
Ceiling-only fails because both antennas at 2.5 m create a Fresnel ellipsoid sitting AT ceiling height (2.1-2.9 m vertically). Target zones at 0.3-1.7 m are below the envelope by 0.4-2.0 m. The 39 cm transverse radius is symmetric around LOS, so a flat horizontal link at any height misses targets at any OTHER height.
This is the 3D version of R6.1's on-LOS-degeneracy finding. A horizontal link at any single height has its envelope concentrated at that height.
Why mixed wins: best placement is Tx (5.0, 4.0, 0.8) + Rx (0.0, 4.0, 1.5). The diagonal-in-z link tilts the ellipsoid through multiple elevations. Covers chair AND standing AND bed simultaneously.
Vertical link diversity is the 3D insight 2D analysis missed.
Installation-guide updates:
- Single pair: one low (0.8 m) + one high (1.5 m), opposite walls
- 4-anchor: 2x low corners + 2x high opposite corners
- 5-anchor knee: mix 0.8 / 1.5 / one ceiling
- Bed-only: both LOW
- Standing-only: both HIGH
- NEVER: both ceiling without a low anchor
Coverage numbers are lower than R6.2's 2D 51% because 3D volumetric coverage is inherently lower than 2D area coverage -- honest 3D physics.
Composes:
- R6.2 (2D) -- incomplete; height matters as much as horizontal
- R6.2.2 (N-anchor) -- N=5 knee should distribute across heights
- R6.1 (multi-scatterer) -- needs 3D body model for proper composition
- R14 V1/V2/V3 -- each vertical needs height-recipe
- ADR-029 -- placement is (x, y, z), not (x, y)
- R12 PABS -- detects intruders standing/sitting/lying with mixed heights
Honest scope: 3-zone discrete approximation, single-pair only, no furniture occlusion, 0.1 m resolution, greedy search.
Coordination: ticks/tick-21.md, no PROGRESS.md edit.
Docker Image:
ghcr.io/ruvnet/RuView:39d18d1c998473badcdb0bca531fe8bdb1aa63b4
download
curl -fL -o v1087.zip https://ratatoskr.space/pkg/ruview/v1087.zip
printf '%s %s\n' '25faa9a080310d2902c1cc80a184ac04a8a9610371c80b91e51337c817dcb393' 'v1087.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1087.zip"
$out = "v1087.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "25faa9a080310d2902c1cc80a184ac04a8a9610371c80b91e51337c817dcb393") { throw "sha256 mismatch" }
curl -fL -o v1087.tar.gz https://ratatoskr.space/pkg/ruview/v1087.tar.gz
printf '%s %s\n' '58b51e4b381a096928f07ad44ebdc4beb460d4cc9ebdd8f6f8b4691b32327812' 'v1087.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1087.tar.gz"
$out = "v1087.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "58b51e4b381a096928f07ad44ebdc4beb460d4cc9ebdd8f6f8b4691b32327812") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1087.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.zip
printf '%s %s\n' '25faa9a080310d2902c1cc80a184ac04a8a9610371c80b91e51337c817dcb393' 'v1087.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.zip"
$out = "v1087.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "25faa9a080310d2902c1cc80a184ac04a8a9610371c80b91e51337c817dcb393") { throw "sha256 mismatch" }
curl -fL -o v1087.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.tar.gz
printf '%s %s\n' '58b51e4b381a096928f07ad44ebdc4beb460d4cc9ebdd8f6f8b4691b32327812' 'v1087.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.tar.gz"
$out = "v1087.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "58b51e4b381a096928f07ad44ebdc4beb460d4cc9ebdd8f6f8b4691b32327812") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1087.zip | zip | 55.5 MiB |
blake3-24 37cc33582fb7e3a55610a9da7ab6f94485fef32d8f0e221a
sha256 25faa9a080310d2902c1cc80a184ac04a8a9610371c80b91e51337c817dcb393
sha1 bd902a542b90128ad43bd717b6c925f055344f8e
|
| v1087.tar.gz | tar.gz | 54.1 MiB |
blake3-24 aa51a37ef445ceaaabf99d5ca0ff36baa8a029e784cdb660
sha256 58b51e4b381a096928f07ad44ebdc4beb460d4cc9ebdd8f6f8b4691b32327812
sha1 b4d1ee62a386db7717cfdcfa4ce4df7894aba5c8
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1087.tar.gz"],
integrity = "sha256-WLUeSzgaCWko8HrUTr3EvrRg1Myevdj2+LRpGzIyeBI=",
strip_prefix = "ruview-v1087",
)
.url = "https://ratatoskr.space/pkg/ruview/v1087.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.tar.gz"],
integrity = "sha256-WLUeSzgaCWko8HrUTr3EvrRg1Myevdj2+LRpGzIyeBI=",
strip_prefix = "ruview-v1087",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1087.tar.gz",