Nerd_STF 2.3.2
See the version list below for details.
dotnet add package Nerd_STF --version 2.3.2
NuGet\Install-Package Nerd_STF -Version 2.3.2
<PackageReference Include="Nerd_STF" Version="2.3.2" />
paket add Nerd_STF --version 2.3.2
#r "nuget: Nerd_STF, 2.3.2"
// Install Nerd_STF as a Cake Addin #addin nuget:?package=Nerd_STF&version=2.3.2 // Install Nerd_STF as a Cake Tool #tool nuget:?package=Nerd_STF&version=2.3.2
Nerd_STF
Table of Contents
- What is it?
- What about Nerd_STF Versions
2021
? - How do I install it?
- I've found a bug!
- I'd like to contribute.
What is it?
Nerd_STF is a multi-purpose .NET 7.0 library that contains many objects I feel would help the default C# library package. Feel free to do with it what you'd like.
Nerd_STF includes some math as well as many other computer science topics. It contains types like groups of floats/ints, geometry types like Vert
, Line
, and Triangle
, and color types like RGBA
, CMYKA
, HSVA
, and their byte equivalents, all of which can convert seamlessly between each other.
What about Nerd_STF Versions 2021
?
Nerd_STF 2021
used an different version scheme, based on the year, as you might have guessed (it is not the year 2
right now), and while I will be keeping the 2021
versions up, I wouldn't recommend using them, and the code is old code, written by a more naive me. Hell, I wrote an entire List<T>
class there before I knew of the System.Collections.Generic.List<T>
class that did literally everything for me already. Oh well. So, keep that in mind when you check out those versions of the library.
How do I install it?
The NuGet package for this library is here, so you could always install it that way using the .NET CLI:
- Open your terminal in your project directory.
- Enter this command:
dotnet add package Nerd_STF
- There is no step 3.
You can also include the NuGet package via a package reference in your project file:
- Open your project file.
- Add this to the XML data:
<PackageReference Include="Nerd_STF" />
- There is no step 3.
Alternatively, you can install it via a project reference in Visual Studio 2019 and 2022. Here's how:
- Download the latest library release from the GitHub repository, extract the files, and save them somewhere you can find later. The files must all be in the same direcrtory/folder together.
- Open Visual Studio 2019 or 2022.
- Right-click your .NET project in the Solution Explorer.
- Hover over "Add >" list and then click "Project Reference..."
- Click "Browse," and locate the
.dll
file you previously extracted (the full name is "Nerd_STF.dll"). - Click "Add," then "OK," and the library is now imported!
I've found a bug!
I'm not suprised, there are definitely a bunch of undiscovered bugs in Nerd_STF simply because I'm just one person. If you've found one, please do me a favor and create an issue about it in the GitHub repository. They likely aren't difficult fixes, they are just hard to spot even with some level of testing.
I'd like to contribute.
I would love some contributions! I probably won't accept drastic pull requests or merges with the library, but small changes are quite welcome! I'm just one person and I can only do so much work by myself. If you want to contribute, please only edit the current version branch (eg. if we are on version 2.3.1
, edit the v2.3
branch). Please do not edit the main branch. I will merge the changes with main myself.
Try to follow a similar style to the current library, but otherwise I'm open to changes. Thank you to those who contribute!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net7.0
- No dependencies.
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 | |
---|---|---|---|
3.0.0-beta2 | 37 | 11/25/2024 | |
3.0.0-beta1 | 68 | 10/29/2024 | |
2.4.1 | 248 | 7/17/2023 | |
2.4.0 | 175 | 7/10/2023 | |
2.3.2 | 274 | 3/9/2023 | |
2.3.1.68 | 364 | 11/12/2022 | |
2.3.1.52-alpha | 240 | 10/31/2022 | |
2.3.1.39-alpha | 203 | 9/30/2022 | |
2.3.0 | 436 | 8/2/2022 | |
2.2.0 | 452 | 6/10/2022 | |
2.1.2 | 447 | 5/2/2022 | |
2.1.1 | 413 | 4/17/2022 | |
2.1.0 | 433 | 4/17/2022 | |
2.0.1 | 444 | 4/3/2022 | |
2.0.0 | 434 | 4/3/2022 |
A bunch of stuff has changed, hasn't it?
This update was originally intended to be a support update. But among other problems, I don't want to maintain 3 slightly different versions of Nerd_STF at the same time. So I'm going to put the support update on hold for now. I won't delete my progress on it (I got about a quarter of the way done with support for .NET Standard 2.0. It's a big undertaking), I won't promise any completion date either.
Instead, this update ended up being a quality-of-life update. I already finished this part of the update before I decided to cancel the support update. This update now has lots of support for the new .NET 7 features. I'm now using a bunch of static abstract interfaces. I also added range indexing to almost all of the types available. The color byte types now have int fields instead of byte fields because ints are much more common. The values are automatically clamped between 0 and 255 just in case. Basically all types are records now because records are really nice. Lastly, some stuff has been marked as deprecated and to be removed in a future release because they already, exist, are kind of useless, and/or are misleading. Most of the deprecated stuff will be removed in either 2.4.0 or 2.5.0.
Also, just want to note that despite the Vert`struct not being marked as deprecated, it will still be removed in 2.5.0. I didn't mark it because that would have created a bunch of warnings in my library. And I don't like warnings.
One final note, I've changed the description of the library and I've changed a bunch of the assembly and compilation settings.
Anyway, that's it for this update. The longest delay was just getting this project to other versions of .NET. Stay tuned for v2.4.0, the Equations and Numbers update!