Aardvark.Dom.Bootstrap
1.1.7
See the version list below for details.
dotnet add package Aardvark.Dom.Bootstrap --version 1.1.7
NuGet\Install-Package Aardvark.Dom.Bootstrap -Version 1.1.7
<PackageReference Include="Aardvark.Dom.Bootstrap" Version="1.1.7" />
<PackageVersion Include="Aardvark.Dom.Bootstrap" Version="1.1.7" />
<PackageReference Include="Aardvark.Dom.Bootstrap" />
paket add Aardvark.Dom.Bootstrap --version 1.1.7
#r "nuget: Aardvark.Dom.Bootstrap, 1.1.7"
#:package Aardvark.Dom.Bootstrap@1.1.7
#addin nuget:?package=Aardvark.Dom.Bootstrap&version=1.1.7
#tool nuget:?package=Aardvark.Dom.Bootstrap&version=1.1.7
Aardvark is an open-source platform for visual computing, real-time graphics and visualization.
| Product | Versions 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. |
-
- Aardvark.Application (>= 5.6.4)
- Aardvark.Base (>= 5.3.20 && < 5.4.0)
- Aardvark.Dom (= 1.1.7)
- Aardvark.Geometry (>= 5.3.20)
- Aardvark.Rendering.Text (>= 5.6.4 && < 5.7.0)
- Aardvark.SceneGraph (>= 5.6.4 && < 5.7.0)
- FSharp.Core (>= 8.0.100)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.8 | 87 | 4/28/2026 |
| 1.1.7 | 92 | 4/28/2026 |
| 1.1.6 | 87 | 4/27/2026 |
| 1.1.5 | 95 | 4/26/2026 |
| 1.1.4 | 91 | 4/26/2026 |
| 1.1.3 | 79 | 4/26/2026 |
| 1.1.2 | 89 | 4/26/2026 |
| 1.1.1 | 85 | 4/26/2026 |
| 1.1.0 | 90 | 4/25/2026 |
| 1.0.25 | 92 | 4/15/2026 |
| 1.0.24 | 98 | 4/13/2026 |
| 1.0.23 | 456 | 11/20/2025 |
| 1.0.22 | 320 | 11/13/2025 |
| 1.0.21 | 241 | 11/9/2025 |
| 1.0.20 | 222 | 10/28/2025 |
| 1.0.19 | 214 | 10/28/2025 |
| 1.0.18 | 218 | 10/23/2025 |
| 1.0.17 | 206 | 10/22/2025 |
| 1.0.16 | 202 | 10/22/2025 |
| 1.0.15 | 191 | 8/22/2025 |
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.