ruview @ v1093
integrity
- size
- 55.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: research(R6.2.2.1): 3D N-anchor multistatic — 2D knee disappears; revises R6.2.2 down (#727)
Composes R6.2.2 (2D N-anchor knee at N=5) with R6.2.1 (3D ellipsoids, ceiling-only fails). The composed 3D result shows the 2D-derived knee DOES NOT hold in 3D.
3D saturation curve (5x5x2.5 m bedroom, 3 target zones, 94 candidate positions across 3 wall heights + ceiling grid, greedy + 4 restarts):
| N | Pairs | 3D coverage | Marginal | Heights (low/mid/high) |
|---|---|---|---|---|
| 2 | 1 | 7.7% | +7.7 pp | 1/1/0 |
| 3 | 3 | 28.1% | +20.4 pp | 1/2/0 |
| 4 | 6 | 40.6% | +12.5 pp | 3/0/1 |
| 5 | 10 | 49.4% | +8.8 pp | 4/0/1 |
| 6 | 15 | 59.1% | +9.8 pp | 4/1/1 |
| 7 | 21 | 65.1% | +6.0 pp | 5/1/1 |
Comparison vs R6.2.2 2D:
- 2D N=5 = 96.8% (clean knee)
- 3D N=5 = 49.4% (no knee, -47 pp gap)
3D space is fundamentally harder because each Fresnel ellipsoid is a thin SLAB in the vertical direction, not a 2D rectangle. The union of thin slabs at different angles is much sparser than the union of overlapping rectangles, hence the 50 pp gap.
Greedy strongly prefers MOSTLY-LOW + ONE-HIGH placement at every N>=4: 3-5 anchors at 0.8m + 0-1 at 1.5m + 1 ceiling. Confirms R6.2.1's diagonal-in-z winning strategy.
ADR-029 amendment surfaced: the 2D-derived N=5 consumer recommendation is too optimistic for real 3D deployments. Two responses:
- Bump N to 7-8 for 65%+ 3D coverage
- Use chest-centric zones (R6.2.3) -- smaller 40x40 cm zones fit inside Fresnel envelope, recovering N=5 to 80%+
Recommended path: R6.2.3 + R6.2.2 N=5 = realistic 80%+ 3D coverage at ADR-029 default N. Architectural lever that aligns 2D and 3D physics.
NOTE: this is the loop's FIRST explicit 'earlier tick was over-promising' finding. Previous 23 ticks built constructively. R6.2.2.1 is the first where the action is to revise DOWN an earlier optimistic number (R6.2.2's 97% becomes 49% in honest 3D). Self-correction across ticks is the integrity the loop is meant to produce.
Composes with:
- R6.2 / R6.2.1 / R6.2.2: natural composition
- R6.2.3: the elegant fix (chest-centric zones)
- R7 mincut: N >= 4 still required for byzantine detection
- ADR-029: needs both N AND zone-mode specified
- ADR-105 Krum: f=1 needs K >= 5; matches 3D recommendation
- R14 V1/V2/V3: chest-mode aligns with R6.2.3 = tractable 3D
Honest scope: greedy approximate, 0.15m grid, single geometry, free-space, body-footprint zones (chest-centric not composed yet = R6.2.4 follow-up).
Coordination: ticks/tick-24.md, no PROGRESS.md edit.
Docker Image:
ghcr.io/ruvnet/RuView:df13dcf59724dc443c8980247bacf60589a78eb7
download
curl -fL -o v1093.zip https://ratatoskr.space/pkg/ruview/v1093.zip
printf '%s %s\n' 'bf9563b44aee559519a1db11944286eb1b4b1c65bc22547c0434acc36de27bf6' 'v1093.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1093.zip"
$out = "v1093.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "bf9563b44aee559519a1db11944286eb1b4b1c65bc22547c0434acc36de27bf6") { throw "sha256 mismatch" }
curl -fL -o v1093.tar.gz https://ratatoskr.space/pkg/ruview/v1093.tar.gz
printf '%s %s\n' '27a2f62c50dcfea0ae064eab4c78c8a07dbc6cbad32ed00106e6270639e1766d' 'v1093.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1093.tar.gz"
$out = "v1093.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "27a2f62c50dcfea0ae064eab4c78c8a07dbc6cbad32ed00106e6270639e1766d") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1093.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.zip
printf '%s %s\n' 'bf9563b44aee559519a1db11944286eb1b4b1c65bc22547c0434acc36de27bf6' 'v1093.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.zip"
$out = "v1093.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "bf9563b44aee559519a1db11944286eb1b4b1c65bc22547c0434acc36de27bf6") { throw "sha256 mismatch" }
curl -fL -o v1093.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.tar.gz
printf '%s %s\n' '27a2f62c50dcfea0ae064eab4c78c8a07dbc6cbad32ed00106e6270639e1766d' 'v1093.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.tar.gz"
$out = "v1093.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "27a2f62c50dcfea0ae064eab4c78c8a07dbc6cbad32ed00106e6270639e1766d") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1093.zip | zip | 55.5 MiB |
blake3-24 99e5cc7c58d6e723de79c53ade438dc847e4cd8fdbc56b0f
sha256 bf9563b44aee559519a1db11944286eb1b4b1c65bc22547c0434acc36de27bf6
sha1 f668feb38b1ffc5697d6ac6262407c36d3d04755
|
| v1093.tar.gz | tar.gz | 54.1 MiB |
blake3-24 2e28b676e70ac6173b69caba9fc203a37f8a9b0830f8d83d
sha256 27a2f62c50dcfea0ae064eab4c78c8a07dbc6cbad32ed00106e6270639e1766d
sha1 ae39292b84fd0ed6d2e3f6e0fcc9eaa4347bd387
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1093.tar.gz"],
integrity = "sha256-J6L2LFDc/qCuBk6rTHjIoH28bLrTLtABBuYnBjnhdm0=",
strip_prefix = "ruview-v1093",
)
.url = "https://ratatoskr.space/pkg/ruview/v1093.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.tar.gz"],
integrity = "sha256-J6L2LFDc/qCuBk6rTHjIoH28bLrTLtABBuYnBjnhdm0=",
strip_prefix = "ruview-v1093",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1093.tar.gz",