Aardvark.Dom.Remote 1.1.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aardvark.Dom.Remote --version 1.1.7
                    
NuGet\Install-Package Aardvark.Dom.Remote -Version 1.1.7
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aardvark.Dom.Remote" Version="1.1.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aardvark.Dom.Remote" Version="1.1.7" />
                    
Directory.Packages.props
<PackageReference Include="Aardvark.Dom.Remote" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Aardvark.Dom.Remote --version 1.1.7
                    
#r "nuget: Aardvark.Dom.Remote, 1.1.7"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Aardvark.Dom.Remote@1.1.7
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Aardvark.Dom.Remote&version=1.1.7
                    
Install as a Cake Addin
#tool nuget:?package=Aardvark.Dom.Remote&version=1.1.7
                    
Install as a Cake Tool

Aardvark is an open-source platform for visual computing, real-time graphics and visualization.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Aardvark.Dom.Remote:

Package Downloads
Aardvark.Dom.Server

Aardvark is an open-source platform for visual computing, real-time graphics and visualization.

Aardworx.WebAssembly.Dom

WebAssembly libraries for Aardvark

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.9 177 5/19/2026
1.1.8 281 4/28/2026
1.1.7 224 4/28/2026
1.1.6 158 4/27/2026
1.1.5 182 4/26/2026
1.1.4 178 4/26/2026
1.1.3 174 4/26/2026
1.1.2 174 4/26/2026
1.1.1 169 4/26/2026
1.1.0 452 4/25/2026
1.0.25 203 4/15/2026
1.0.24 227 4/13/2026
1.0.23 573 11/20/2025
1.0.22 392 11/13/2025
1.0.21 328 11/9/2025
1.0.20 306 10/28/2025
1.0.19 293 10/28/2025
1.0.18 295 10/23/2025
1.0.17 417 10/22/2025
1.0.16 285 10/22/2025
Loading failed

MSAA picking finally works**. Previously enabling `Samples > 1` broke picking entirely: the pick attachment was an MS-resolved `Rgba32f` buffer, and the `IntBitsToFloat`-encoded ids were denormals (1, 2, 3, …) which NVIDIA's MS resolve flushes to zero — every pickId came back as 0. Fixed by going to a single MS framebuffer with `Rgba32f` pick attachment, plain-float storage end-to-end (no bit-cast), and ≥2-of-8 same-id neighbour validation in a 33×33 spiral on the CPU. Silhouette pixels (which average two distinct ids into a non-integer) fail validation and the spiral moves on; interior pixels (all 4 samples agree) round-trip exactly.
`Sg.PixelSnapRadius : aval<int>`** — per-scope snap radius. Default `1` (absorbs the 1-pixel silhouette feather the validator rejects). Values are clamped to the global cap (16) at pick time. Snap walks a static disc of `(2R+1)²` offsets sorted by squared distance from center; first valid candidate wins. Pickable pixel hits and BVH-pickable ray hits compete homogeneously per offset (closer-in-depth wins).
BVH cone cull**: `BvhTree3d.GetIntersecting(hull : FastHull3d)` added. Built per-`Read` from the snap window's NDC sub-rect via `ViewProjection.toHull3d` so the spiral only ever ray-tests the small candidate set whose bounding boxes intersect the cone.
Pick attachment encoding rewritten** — all four channels are plain `float32`, never bit-cast:
Mode A: `(id, n24, depth, pi)` where `n24` is `Normal24.encode` (12+12 octahedron packed into ≤ 2²⁴, round-trips exactly through float32 mantissa).
Mode B: `(-id, pvp.x, pvp.y, pvp.z)` — direct per-component float32 storage of the user's `PickViewPosition`, no `(dir, length)` decomposition. Mode-B's surface normal is now estimated CPU-side from the same-id neighbours already gathered for validation (cross-product of the largest-area tangent pair, oriented toward camera).
Pick-effect cache prefix bumped from `fpick_` → `pickv3_` so older shader caches invalidate by name.
Id recycling**: `acquireId` / `releaseId` with `freeIds : SortedSet<int>` (smallest-first reuse). Per-`IRenderObject` `acquiredFor` tracks the multiset of scopes acquired during wrapping so a `MultiRenderObject` releases exactly N times when removed. Keeps the live id space dense well below the 2²⁴ float32 ceiling regardless of scope churn.
Hot path is allocation-free**: spiral inner loop (~805 iters per pointer move) uses mutable locals + a sentinel for "no winner yet" instead of `option<tuple>` chaining; `cullSet` pre-flattened to `CullEntry[]` (struct); `vp.Backward`, `proj.Backward`, `view.Forward/Backward` cached as locals; `PixelSnapRadius` `AVal.force`'d once per scope per `Read` via a small per-call cache; CPU normal estimation runs only after a winner is decided. Big win on the WebAssembly interpreter.
`ReadPickRegion`**: now returns `voption<PickRegion>` (raw `float32[]` + strides) for the new fast path, with the legacy closure-returning overload preserved for external callers.