Aardworx.WebAssembly
1.2.6
dotnet add package Aardworx.WebAssembly --version 1.2.6
NuGet\Install-Package Aardworx.WebAssembly -Version 1.2.6
<PackageReference Include="Aardworx.WebAssembly" Version="1.2.6" />
<PackageVersion Include="Aardworx.WebAssembly" Version="1.2.6" />
<PackageReference Include="Aardworx.WebAssembly" />
paket add Aardworx.WebAssembly --version 1.2.6
#r "nuget: Aardworx.WebAssembly, 1.2.6"
#:package Aardworx.WebAssembly@1.2.6
#addin nuget:?package=Aardworx.WebAssembly&version=1.2.6
#tool nuget:?package=Aardworx.WebAssembly&version=1.2.6
WebXR utilities for Aardvark
| 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 && < 5.7.0)
- Aardvark.Base (>= 5.3.21 && < 5.4.0)
- Aardvark.Base.FSharp (>= 5.3.21 && < 5.4.0)
- Aardvark.Dom.Core (>= 1.1.7 && < 1.2.0)
- Aardworx.AsyncPrimitives (= 1.2.6)
- FSharp.Core (>= 8.0.300)
- FSharp.Data.Adaptive (>= 1.2.26 && < 1.3.0)
- Microsoft.AspNetCore.Components.WebAssembly (>= 8.0.26 && < 8.1.0)
- Microsoft.AspNetCore.Components.WebAssembly.DevServer (>= 8.0.26 && < 8.1.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Aardworx.WebAssembly:
| Package | Downloads |
|---|---|
|
Aardworx.Rendering.WebGL
WebAssembly libraries for Aardvark |
|
|
Aardworx.WebAssembly.Dom
WebAssembly libraries for Aardvark |
|
|
Aardworx.WebAssembly.WebXR
WebAssembly libraries for Aardvark |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.6 | 211 | 4/28/2026 |
| 1.2.5 | 199 | 4/26/2026 |
| 1.2.4 | 206 | 4/26/2026 |
| 1.2.3 | 213 | 4/26/2026 |
| 1.2.2 | 213 | 4/26/2026 |
| 1.2.1 | 199 | 4/25/2026 |
| 1.2.0 | 203 | 4/25/2026 |
| 1.1.14 | 411 | 11/6/2025 |
| 1.1.13 | 344 | 10/22/2025 |
| 1.1.12 | 357 | 10/16/2025 |
| 1.1.11 | 377 | 2/22/2025 |
| 1.1.10 | 354 | 10/21/2024 |
| 1.1.9 | 398 | 10/19/2024 |
| 1.1.8 | 355 | 10/1/2024 |
| 1.1.7 | 396 | 5/13/2024 |
| 1.1.6 | 368 | 9/27/2023 |
| 1.1.5 | 422 | 9/27/2023 |
| 1.1.4 | 352 | 9/25/2023 |
| 1.1.3 | 326 | 9/21/2023 |
| 1.1.2 | 347 | 9/20/2023 |
picked up Aardvark.Dom 1.1.7 (MSAA picking, per-object snap radius, plain-float pick encoding). Validated end-to-end on WebGL — desktop GL and iOS Safari both pick correctly with `Samples 4`.
`IRuntime.ReadPixels` PBO path was sizing the scratch PBO via `img.Array.Length` (element count) instead of bytes — broke for any non-byte format. Aardvark.Dom's pick reads `Rgba32f` 33×33 = 17,424 bytes; old code allocated a 4,356-byte PBO and `glReadPixels` errored with `INVALID_OPERATION: readPixels: buffer is not large enough for dimensions`. Fixed to `System.Buffer.ByteLength(img.Array)`.
`IRuntime.Clear` color-attachment dispatch was 2-way (float / signed-int — both routed through `glClearBufferfv` / `glClearBufferiv`). WebGL is strict about clear-value vs attachment signedness, so any clear of an unsigned-integer color attachment threw `GL_INVALID_OPERATION: glClearBufferiv: No defined conversion between clear value and attachment format`. Made it a 3-way `Choice` (float / signed-int / unsigned-int) selecting the matching `glClearBufferfv` / `glClearBufferiv` / `glClearBufferuiv` call based on `TextureFormat.isIntegerFormat` + `TextureFormat.isSigned`.
added `R/Rg/Rgb/Rgba 32ui` to `Pixelbuffer.toPixelFormatAndType` (mapping `RedInteger`…`RgbaInteger` + `UnsignedInt`) and `R/Rg/Rgb/Rgba 32i` + `32ui` rows to `TextureFormatVisitor` so `PixImage<int32>` / `PixImage<uint32>` can be allocated for downloads of those formats.
corrected unsigned-integer attachment shader-output type-mapping in `Shader.fs`: `Rgba32ui`/`Rgba16ui`/`Rgba8ui`/`Rgb32ui`/`Rgb16ui`/`Rgb8ui` now map to `typeof<V4ui>`/`typeof<V3ui>` (was `typeof<V4i>` / `typeof<V3i>`), so FShade emits `out uvec4` matching the actual buffer format. WebGL rejects `out ivec4 → unsigned-integer attachment` mismatches.
updated `Examples/Dom`: replaced the orbit playground with a three-teapot pixel-snap demo (Red/Green/Blue at radii 0/8/16). Tap a teapot to plant a yellow arrow along the surface normal. Blue uses mode B (`PickViewPosition`) to exercise the FinalB pick path on WebGL. Bound the dev server to `0.0.0.0` so the demo is reachable from a phone over Tailscale/LAN.