Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
krauthaufen committed May 17, 2024
2 parents 070372d + 9871a42 commit 3b76c18
Show file tree
Hide file tree
Showing 62 changed files with 8,504 additions and 1,924 deletions.
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"paket": {
"version": "7.2.1",
"version": "8.0.3",
"commands": [
"paket"
]
Expand Down
30 changes: 4 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,13 @@
![MacOS](https://github.com/aardvark-platform/aardvark.base/workflows/MacOS/badge.svg)
![Linux](https://github.com/aardvark-platform/aardvark.base/workflows/Linux/badge.svg)


[![Discord](https://badgen.net/discord/online-members/UyecnhM)](https://discord.gg/UyecnhM)
[![license](https://img.shields.io/github/license/aardvark-platform/aardvark.base.svg)](https://github.com/aardvark-platform/aardvark.base/blob/master/LICENSE)

[The Aardvark Platform](https://aardvarkians.com/) |
[Platform Wiki](https://github.com/aardvarkplatform/aardvark.docs/wiki) |
[The Platform Walkthrough Repository](https://github.com/aardvark-platform/walkthrough) |
[Gallery](https://github.com/aardvarkplatform/aardvark.docs/wiki/Gallery) |
[Quickstart](https://github.com/aardvarkplatform/aardvark.docs/wiki/Quickstart-Windows) |
[Status](https://github.com/aardvarkplatform/aardvark.docs/wiki/Status)


Aardvark.Base consists of multiple platform-independent packages (netstandard2.0) delivering essential tools for visual computing, such as vectors and matrices, as well as many algorithms and data structures.
It is the lowest-level foundation of the open-source [Aardvark Platform](https://github.com/aardvark-platform/aardvark.docs/wiki) for visual computing, real-time graphics and visualization:

repository | description
:-- | --- |
`aardvark.media` | a unified ELM-style UI framework for both 2D and 3D |
`aardvark.rendering` | powerful incremental rendering engine |
`aardvark.base` | math, geometry, algorithms, data structures |

The repository `aardvark.base` includes many packages, e.g.
- [Aardvark.Base](https://www.nuget.org/packages/Aardvark.Base/): matrices, vectors, geometry, basic algorithms and data structures.
- [Aardvark.Base.FSharp](https://www.nuget.org/packages/Aardvark.Base.FSharp/): stuff you always need, optimized persistent (e.g. hash maps), ephemeral data structures (e.g. SkipList) as well as spatial data structures (e.g. bounding volume hierarchies). The package also contains an attribute grammar system exposed as an embedded domain specific language. We use it in [aardvark.rendering](https://github.com/aardvark-platform/aardvark.base) for our scene graph system, as described in [Attribute Grammars for Incremental Scene Graph Rendering](https://www.vrvis.at/publications/pdfs/PB-VRVis-2019-004.pdf).
- [Aardvark.Base.Incremental](https://www.nuget.org/packages/Aardvark.Base.Incremental/): incremental data structures similarly but extended to Hammer et al.'s paper [Adapton: Composable, Demand-Driven Incremental Computation](https://www.cs.umd.edu/~hammer/adapton/). Additionally to modifiable cells, we have more sophisticated optimized incremental data structures such as adaptive sets, maps etc. and computation expression builders to conveniently work with.
- [Aardvark.Base.Runtime](https://www.nuget.org/packages/Aardvark.Base.Runtime/): Crazy tools such as an AMD64 assembler used for incremental Just In Time Compilation as used in [aardvark.rendering](https://github.com/aardvark-platform/aardvark.base)
- [Aardvark.Data.Vrml97](https://www.nuget.org/packages/Aardvark.Data.Vrml97/): legacy Vrml97 parser
- [Aardvark.Geometry](https://www.nuget.org/packages/Aardvark.Geometry/): currently a rather small set of F# geometry tools. Most functionality regarding geometry lives in base and [algodat](https://github.com/aardvark-platform/aardvark.algodat)
[Gallery](https://github.com/aardvark-platform/aardvark.docs/wiki/Gallery) |
[Packages&Repositories](https://github.com/aardvark-platform/aardvark.docs/wiki/Packages-and-Repositories)

All packages are distributed under the [Apache 2.0 license](https://github.com/aardvark-platform/aardvark.base/blob/master/LICENSE).
Aardvark.Base is the foundation of the open-source [Aardvark Platform](https://github.com/aardvark-platform) for visual computing, real-time graphics, and visualization. It consists of multiple platform-independent packages (netstandard2.0) that deliver essential tools for visual computing, including vectors, matrices, algorithms, data structures, or image loaders. Supported platforms are windows, linux, macOS.

For support please have a look at [Aardvarkians](https://aardvarkians.com).
You can find demos and code in the Gallery and Packages&Repositories links above. [This repository's wiki](https://github.com/aardvark-platform/aardvark.base/wiki) hosts technical documentation. For more information, please refer to the [aardvark.docs wiki](https://github.com/aardvark-platform/aardvark.docs/wiki).
24 changes: 24 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
### 5.2.29
* Fixed color parsing to be independent of the current culture (regression in 5.2.27)
* Added more value variants for Dictionary, Dict, and SymbolDict functions

### 5.2.28
* Added Brewer color schemes
* Added String.replace
* Added IDictionary.TryPop overload with output argument

### 5.2.27
* Improved and fixed RangeSet implementation
* Added utilities for ValueOption
* Added more ArraySegment utilities
* [Text] Fixed NestedBracketSplitCount
* [Color] Fixed overflow issue in C4ui constructors
* [Color] Improved color parsing, now supports hexadecimal color strings
* [PixImage] Fixed file handle leak in Windows Media loader
* [MapExt] Added value variants of some operations

### 5.2.26
* LinearRegression3d: made fields public
* Added getLines, normalizeLineEndings, withLineNumbers in String module
* Fixed FGetValueOrDefault dictionary extension
* Added value variants for Dict functions
* Added F# ArraySegment utilities
* [Introspection] Tidied up exception reporting

### 5.2.25
* Fixed issue with PixImageMipMap loading
Expand Down
14 changes: 7 additions & 7 deletions paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ group Test
source https://api.nuget.org/v3/index.json

nuget NUnit ~> 3.13.3
nuget FsUnit ~> 5.2.0
nuget FsUnit ~> 5.4.0
nuget FsCheck ~> 2.16.4
nuget FsCheck.NUnit ~> 2.16.4
nuget NUnit3TestAdapter ~> 4.4.2
nuget Microsoft.NET.Test.Sdk ~> 17.5.0
nuget Expecto ~> 9.0.4
nuget Expecto.FsCheck ~> 9.0.4
nuget YoloDev.Expecto.TestSdk ~> 0.13.3
nuget NUnit3TestAdapter ~> 4.5.0
nuget Microsoft.NET.Test.Sdk ~> 17.7.2
nuget Expecto ~> 10.1.0
nuget Expecto.FsCheck ~> 10.1.0
nuget YoloDev.Expecto.TestSdk ~> 0.14.2

nuget BenchmarkDotNet ~> 0.13.1
nuget BenchmarkDotNet ~> 0.13.9
62 changes: 31 additions & 31 deletions paket.lock
Original file line number Diff line number Diff line change
Expand Up @@ -201,33 +201,33 @@ GROUP Test
RESTRICTION: || (== net6.0) (== net6.0-windows7.0)
NUGET
remote: https://api.nuget.org/v3/index.json
BenchmarkDotNet (0.13.5)
BenchmarkDotNet.Annotations (>= 0.13.5)
CommandLineParser (>= 2.4.3)
BenchmarkDotNet (0.13.9)
BenchmarkDotNet.Annotations (>= 0.13.9)
CommandLineParser (>= 2.9.1)
Gee.External.Capstone (>= 2.3)
Iced (>= 1.17)
Microsoft.CodeAnalysis.CSharp (>= 3.0)
Microsoft.CodeAnalysis.CSharp (>= 4.1)
Microsoft.Diagnostics.Runtime (>= 2.2.332302)
Microsoft.Diagnostics.Tracing.TraceEvent (>= 3.0.2)
Microsoft.DotNet.PlatformAbstractions (>= 3.1.6)
Perfolizer (>= 0.2.1)
System.Management (>= 6.0)
BenchmarkDotNet.Annotations (0.13.5)
Perfolizer (0.2.1)
System.Management (>= 5.0)
BenchmarkDotNet.Annotations (0.13.9)
CommandLineParser (2.9.1)
Expecto (9.0.4)
FSharp.Core (>= 4.6)
Mono.Cecil (>= 0.11.3)
Expecto.FsCheck (9.0.4)
Expecto (>= 9.0.4)
FsCheck (>= 2.14.3)
FsCheck (2.16.5)
Expecto (10.1)
FSharp.Core (>= 7.0.200)
Mono.Cecil (>= 0.11.4 < 1.0)
Expecto.FsCheck (10.1)
Expecto (>= 10.1)
FsCheck (>= 2.16.5 < 3.0)
FsCheck (2.16.6)
FSharp.Core (>= 4.2.3)
FsCheck.NUnit (2.16.5)
FsCheck (2.16.5)
FsCheck.NUnit (2.16.6)
FsCheck (2.16.6)
NUnit (>= 3.13.1 < 4.0)
FSharp.Core (7.0.200)
FsUnit (5.2)
FSharp.Core (>= 6.0.7)
FsUnit (5.4)
FSharp.Core (>= 5.0.2)
NUnit (>= 3.13.3 < 3.14)
Gee.External.Capstone (2.3)
Iced (1.17)
Expand All @@ -243,7 +243,7 @@ NUGET
System.Threading.Tasks.Extensions (>= 4.5.4)
Microsoft.CodeAnalysis.CSharp (4.2)
Microsoft.CodeAnalysis.Common (4.2)
Microsoft.CodeCoverage (17.5)
Microsoft.CodeCoverage (17.7.2)
Microsoft.Diagnostics.NETCore.Client (0.2.327302)
Microsoft.Bcl.AsyncInterfaces (>= 1.1)
Microsoft.Extensions.Logging (>= 2.1.1)
Expand All @@ -270,24 +270,24 @@ NUGET
Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Primitives (6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
Microsoft.NET.Test.Sdk (17.5)
Microsoft.CodeCoverage (>= 17.5)
Microsoft.TestPlatform.TestHost (>= 17.5)
Microsoft.NET.Test.Sdk (17.7.2)
Microsoft.CodeCoverage (>= 17.7.2)
Microsoft.TestPlatform.TestHost (>= 17.7.2)
Microsoft.NETCore.Platforms (6.0.3)
Microsoft.TestPlatform.ObjectModel (17.5)
NuGet.Frameworks (>= 5.11)
Microsoft.TestPlatform.ObjectModel (17.7.2)
NuGet.Frameworks (>= 6.5)
System.Reflection.Metadata (>= 1.6)
Microsoft.TestPlatform.TestHost (17.5)
Microsoft.TestPlatform.ObjectModel (>= 17.5)
Microsoft.TestPlatform.TestHost (17.7.2)
Microsoft.TestPlatform.ObjectModel (>= 17.7.2)
Newtonsoft.Json (>= 13.0.1)
Mono.Cecil (0.11.4)
NETStandard.Library (2.0.3)
Microsoft.NETCore.Platforms (>= 1.1)
Newtonsoft.Json (13.0.1)
NuGet.Frameworks (6.2)
NuGet.Frameworks (6.7)
NUnit (3.13.3)
NETStandard.Library (>= 2.0)
NUnit3TestAdapter (4.4.2)
NUnit3TestAdapter (4.5)
Perfolizer (0.2.1)
System.Memory (>= 4.5.3)
System.CodeDom (6.0)
Expand All @@ -304,7 +304,7 @@ NUGET
System.Text.Encoding.CodePages (6.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Threading.Tasks.Extensions (4.5.4)
YoloDev.Expecto.TestSdk (0.13.3)
Expecto (>= 9.0 < 10.0)
FSharp.Core (>= 4.6.2)
YoloDev.Expecto.TestSdk (0.14.2)
Expecto (>= 10.0 < 11.0)
FSharp.Core (>= 7.0.200)
System.Collections.Immutable (>= 6.0)
57 changes: 32 additions & 25 deletions src/Aardvark.Base.FSharp/Aardvark.Base.FSharp.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,31 @@
<OutputPath>..\..\bin\Release</OutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="Prelude\Logging.fs" />
<Compile Include="Prelude\FSLibExtensions.fs" />
<Compile Include="Prelude\Math.fs" />
<Compile Include="Prelude\Measures.fs" />
<Compile Include="Prelude\Lens.fs" />
<Compile Include="Prelude\Monoid.fs" />
<Compile Include="Prelude\AverageWindow.fs" />
<Compile Include="Interop\Converters.fs" />
<Compile Include="Interop\Dictionary.fs" />
<Compile Include="Interop\Symbol.fs" />
<Compile Include="Interop\Vectors.fs" />
<Compile Include="Interop\Matrix.fs" />
<Compile Include="Interop\String.fs" />
<Compile Include="Interop\SortedSet.fs" />
<Compile Include="Interop\HashSet.fs" />
<Compile Include="Interop\CSharpList.fs" />
<Compile Include="Interop\ArraySegment.fs" />
<Compile Include="Utilities\Logging.fs" />
<Compile Include="Utilities\Interop\FSLibExtensions.fs" />
<Compile Include="Utilities\Interop\Dictionary.fs" />
<Compile Include="Utilities\Interop\Symbol.fs" />
<Compile Include="Utilities\Interop\String.fs" />
<Compile Include="Utilities\Interop\SortedSet.fs" />
<Compile Include="Utilities\Interop\HashSet.fs" />
<Compile Include="Utilities\Interop\CSharpList.fs" />
<Compile Include="Utilities\Interop\ArraySegment.fs" />
<Compile Include="Utilities\Pickler\FsPicklerExtensions.fs" />
<Compile Include="Utilities\Pickler\AdaptivePicklers.fs" />
<Compile Include="Utilities\Threading.fs" />
<Compile Include="Utilities\IO.fs" />
<Compile Include="Utilities\Native.fs" />
<Compile Include="Utilities\Measures.fs" />
<Compile Include="Utilities\Lens.fs" />
<Compile Include="Utilities\Monoid.fs" />
<Compile Include="Utilities\Monads.fs" />
<Compile Include="Utilities\Weak.fs" />
<Compile Include="Math\Math.fs" />
<Compile Include="Math\Vectors.fs" />
<Compile Include="Math\Matrix.fs" />
<Compile Include="Math\SVDM33f.fs" />
<Compile Include="Math\AverageWindow.fs" />
<Compile Include="Math\Converters.fs" />
<Compile Include="Datastructures\Mutable\FixedSizeArray.fs" />
<Compile Include="Datastructures\Mutable\Order.fs" />
<Compile Include="Datastructures\Mutable\OrderMaintenance.fs" />
Expand All @@ -43,13 +51,18 @@
<Compile Include="Datastructures\Mutable\ReferenceCountingSet.fs" />
<Compile Include="Datastructures\Immutable\MapExt.fs" />
<Compile Include="Datastructures\Immutable\FingerTree.fs" />
<None Include="Datastructures\Immutable\RangeSetOld_template.fs" />
<Compile Include="Datastructures\Immutable\RangeSetOld_auto.fs" />
<None Include="Datastructures\Immutable\RangeSet_template.fs" />
<Compile Include="Datastructures\Immutable\RangeSet_auto.fs" />
<Compile Include="Datastructures\Immutable\Graph.fs" />
<Compile Include="Datastructures\Geometry\Boundable.fs" />
<Compile Include="Datastructures\Geometry\KdTree.fs" />
<Compile Include="Datastructures\Geometry\Bvh.fs" />
<Compile Include="Algorithms\PolygonSimplification.fs" />
<Compile Include="Color\ColorBrewer.fs" />
<Compile Include="Color\ColorBrewerSchemes.fs" />
<None Include="color\ColorBrewerSchemes.fsx" />
<Compile Include="Reflection\TypeInfo.fs" />
<Compile Include="Reflection\FunctionReflection.fs" />
<Compile Include="Reflection\Formatf.fs" />
Expand All @@ -67,20 +80,14 @@
<Compile Include="Runtime\Fragments.fs" />
<Compile Include="Runtime\CustomSchedulers.fs" />
<Compile Include="Runtime\Caches.fs" />
<Compile Include="SVDM33f.fs" />
<Compile Include="String.fs" />
<Compile Include="Runtime.fs" />
<Compile Include="Control.fs" />
<Compile Include="FsPicklerExtensions.fs" />
<Compile Include="AdaptivePicklers.fs" />
<Compile Include="Ag.fs" />
<None Include="paket.references" />
<Compile Include="Native\BlobStore.fs" />
<Compile Include="Native\Pointer.fs" />
<Compile Include="Native\Memory.fs" />
<Compile Include="Native\FileTable.fs" />
<Compile Include="Native\Manager.fs" />
<Compile Include="Native\Store.fs" />
<Compile Include="Ag.fs" />
<None Include="paket.references" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Aardvark.Base\Aardvark.Base.csproj" />
Expand Down
Loading

0 comments on commit 3b76c18

Please sign in to comment.