CultMath 0.3.0: version bump and changelog (snoise values break, minor bump)

Does not carry the rebuilt DLL yet; the Unity package script's version
parity check fails until the binary follows in the next commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-10-02 16:03:56 +02:00
commit 32ff786aed
3 changed files with 33 additions and 2 deletions

View file

@ -10,7 +10,7 @@
<PackageId>GameCult.Math</PackageId>
<!-- MIT overall; math.Phacelle.cs and CultPhasor.cs (and the two Phacelle HLSL files) are MPL-2.0. -->
<PackageLicenseExpression>MIT AND MPL-2.0</PackageLicenseExpression>
<Version>0.2.4</Version>
<Version>0.3.0</Version>
<Description>Clean-room C# math shaped for HLSL-style renderer code.</Description>
<Authors>GameCult</Authors>
<PackageReadmeFile>README.md</PackageReadmeFile>

View file

@ -5,6 +5,37 @@ All notable changes to this package are documented in this file.
Earlier releases (0.2.0-0.2.3) predate this package's changelog and are not
backfilled here; see `docs/semver-policy.md` for why.
## [0.3.0]
### Breaking
- `math.snoise(float3)` and `math.snoise(float2)`, and their HLSL mirrors
`cultmath_snoise`, return different values. The kernel now follows
stegu/webgl-noise: the falloff `r^2` constant is 0.5 (was 0.6), the output
scale is 105 (was 42), and 2D and 3D share one permutation offset of +10.
This removes the value discontinuities the 3D kernel had at simplex cell
boundaries. Any content seeded from `snoise` changes; regenerate it when
you take this version.
### Added
- `math.smin_grad`: smooth minimum with gradient, for `float4` operands
carrying the gradient in `xyz` and the value in `w`.
- `math.cellular` and the `CultCellular` result struct: cellular (Worley)
noise returning the gradient and distance to the nearest feature points.
- `math.snoise_grad`, `math.fbm_grad` and `math.ridged_grad`: simplex noise,
fractal Brownian motion and ridged multifractal with analytic gradients,
returned as `float4` with the gradient in `xyz` and the value in `w`.
- `math.phacelle` and the `CultPhasor` result struct: Phacelle noise with
gradient. `math.Phacelle.cs`, `CultPhasor.cs` and
`Shaders/CultMath.Phacelle.hlsl` are MPL-2.0 (see
`THIRD-PARTY-NOTICES.md`).
- `BoundedLeastSquares`: an allocation-free, deterministic bounded
least-squares solver (`Solve`) with a status result and the input contract
documented on the type.
- The matching `cultmath_*` HLSL mirrors of the functions above in
`Shaders/CultMath.hlsl` and `Shaders/CultMath.Phacelle.hlsl`.
## [0.2.4]
### Added

View file

@ -1,7 +1,7 @@
{
"name": "org.gamecult.cultmath",
"displayName": "CultMath",
"version": "0.2.4",
"version": "0.3.0",
"unity": "2021.3",
"description": "Precompiled CultMath numeric primitives and matching HLSL semantics for GameCult Unity runtimes.",
"license": "MPL-2.0",