diff --git a/README.md b/README.md
index d5cc137..02d4775 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,4 @@
-# CultMath (archived)
-
-CultMath now lives in [`GameCult/CultLib`](https://github.com/GameCult/CultLib)
-under `packages/cultmath`. This repository preserves pre-monorepo history and
-release provenance; it is not the source or release authority.
+# CultMath
Clean-room math shaped for people who think in HLSL.
@@ -88,7 +84,7 @@ CultMath's Unity 2021.3 surface is the tracked precompiled package at
tree and does not require a consumer `csc.rsp` workaround.
```json
-"org.gamecult.cultmath": "https://github.com/GameCult/CultLib.git?path=/packages/cultmath/unity/org.gamecult.cultmath#cultmath-unity-v0.1.2"
+"org.gamecult.cultmath": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath"
```
The repository root is not a Unity package. Build the tracked package with
@@ -106,7 +102,7 @@ CultMath keeps portable DXC outside git under `.tools/`:
.\tools\compile-hlsl-spirv.ps1 `
-ShaderPath E:\Projects\Odin\crates\muninn-move-tracker\shaders\MoveSphereCandidate.comp.hlsl `
-OutputPath E:\Projects\Odin\crates\muninn-move-tracker\artifacts\shader\MoveSphereCandidate.comp.spv `
- -IncludePath E:\Projects\CultLib\packages\cultmath\shaders
+ -IncludePath E:\Projects\CultMath\shaders
.\tools\compile-spirv-metal.ps1 `
-SpirvPath E:\Projects\Odin\crates\muninn-move-tracker\artifacts\shader\MoveSphereCandidate.comp.spv `
-OutputPath E:\Projects\Odin\crates\muninn-move-tracker\artifacts\shader\MoveSphereCandidate.comp.metal
diff --git a/src/CultMath/CultMath.csproj b/src/CultMath/CultMath.csproj
index 54dc54b..73b3fd5 100644
--- a/src/CultMath/CultMath.csproj
+++ b/src/CultMath/CultMath.csproj
@@ -8,10 +8,10 @@
CultMath
CultMath
CultMath
- 0.1.2
+ 0.1.0
Clean-room C# math shaped for HLSL-style renderer code.
GameCult
- https://github.com/GameCult/CultLib
+ https://github.com/GameCult/CultMath
README.md
$(NoWarn);CS8981
true
diff --git a/src/CultMath/rect.cs b/src/CultMath/rect.cs
deleted file mode 100644
index 51e05c1..0000000
--- a/src/CultMath/rect.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-namespace CultMath;
-
-///
-/// Axis-aligned 2D bounds stored canonically as normalized minimum and maximum
-/// corners. Point containment and intersection include the boundary.
-///
-public readonly record struct rect
-{
- public rect(float minX, float minY, float maxX, float maxY)
- : this(new float2(minX, minY), new float2(maxX, maxY))
- {
- }
-
- public rect(float2 min, float2 max)
- {
- this.min = new float2(MathF.Min(min.x, max.x), MathF.Min(min.y, max.y));
- this.max = new float2(MathF.Max(min.x, max.x), MathF.Max(min.y, max.y));
- }
-
- public float2 min { get; }
- public float2 max { get; }
-
- public float width => max.x - min.x;
- public float height => max.y - min.y;
- public float2 size => max - min;
- public float2 center => (min + max) * 0.5f;
- public float area => width * height;
- public bool isEmpty => width == 0.0f || height == 0.0f;
-
- public bool Contains(float2 point) =>
- point.x >= min.x && point.x <= max.x &&
- point.y >= min.y && point.y <= max.y;
-
- public bool Contains(rect other) =>
- other.min.x >= min.x && other.max.x <= max.x &&
- other.min.y >= min.y && other.max.y <= max.y;
-
- public bool Intersects(rect other) =>
- min.x <= other.max.x && max.x >= other.min.x &&
- min.y <= other.max.y && max.y >= other.min.y;
-
- public rect Intersection(rect other)
- {
- if (!Intersects(other))
- return new rect(0.0f, 0.0f, 0.0f, 0.0f);
-
- return new rect(
- MathF.Max(min.x, other.min.x),
- MathF.Max(min.y, other.min.y),
- MathF.Min(max.x, other.max.x),
- MathF.Min(max.y, other.max.y));
- }
-
- public rect Encapsulate(float2 point) => new(
- MathF.Min(min.x, point.x),
- MathF.Min(min.y, point.y),
- MathF.Max(max.x, point.x),
- MathF.Max(max.y, point.y));
-}
diff --git a/src/CultMath/rect.cs.meta b/src/CultMath/rect.cs.meta
deleted file mode 100644
index 0b04a5c..0000000
--- a/src/CultMath/rect.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 5aab0d8e1ca94d42b85bba780a7ee449
diff --git a/tests/CultMath.Tests/MathTests.cs b/tests/CultMath.Tests/MathTests.cs
index 8d42a0c..ad26821 100644
--- a/tests/CultMath.Tests/MathTests.cs
+++ b/tests/CultMath.Tests/MathTests.cs
@@ -199,41 +199,6 @@ public sealed class MathTests
Assert.Equal(new float2(2.0f, 0.0f), closest);
}
- [Fact]
- public void RectNormalizesAndDerivesFromMinMax()
- {
- var bounds = new rect(8.0f, 6.0f, 2.0f, -2.0f);
-
- Assert.Equal(new float2(2.0f, -2.0f), bounds.min);
- Assert.Equal(new float2(8.0f, 6.0f), bounds.max);
- Assert.Equal(new float2(6.0f, 8.0f), bounds.size);
- Assert.Equal(new float2(5.0f, 2.0f), bounds.center);
- Assert.Equal(48.0f, bounds.area);
- }
-
- [Fact]
- public void RectContainmentIncludesBoundary()
- {
- var bounds = new rect(-2.0f, -1.0f, 4.0f, 3.0f);
-
- Assert.True(bounds.Contains(new float2(-2.0f, -1.0f)));
- Assert.True(bounds.Contains(new float2(4.0f, 3.0f)));
- Assert.True(bounds.Contains(new rect(-1.0f, 0.0f, 1.0f, 2.0f)));
- Assert.False(bounds.Contains(new float2(4.001f, 3.0f)));
- }
-
- [Fact]
- public void RectIntersectionTreatsTouchingEdgesAsContact()
- {
- var left = new rect(0.0f, 0.0f, 4.0f, 4.0f);
- var touching = new rect(4.0f, 1.0f, 8.0f, 3.0f);
- var separate = new rect(4.001f, 1.0f, 8.0f, 3.0f);
-
- Assert.True(left.Intersects(touching));
- Assert.Equal(0.0f, left.Intersection(touching).area);
- Assert.False(left.Intersects(separate));
- }
-
[Fact]
public void FirstOrderInterceptSolvesSimpleClosingTarget()
{
diff --git a/unity/org.gamecult.cultmath/README.md b/unity/org.gamecult.cultmath/README.md
index ad8af61..223e16c 100644
--- a/unity/org.gamecult.cultmath/README.md
+++ b/unity/org.gamecult.cultmath/README.md
@@ -22,7 +22,7 @@ DLL/PDB and stable Unity metadata, and stages an inspectable package under
Consume the repository package with:
```json
-"org.gamecult.cultmath": "https://github.com/GameCult/CultLib.git?path=/packages/cultmath/unity/org.gamecult.cultmath#cultmath-unity-v0.1.2"
+"org.gamecult.cultmath": "https://github.com/GameCult/CultMath.git?path=/unity/org.gamecult.cultmath"
```
Production consumers should pin that URL to a commit or release tag.
diff --git a/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.dll b/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.dll
index 379dad4..91b51d8 100644
Binary files a/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.dll and b/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.dll differ
diff --git a/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.pdb b/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.pdb
index 223b4de..711cf76 100644
Binary files a/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.pdb and b/unity/org.gamecult.cultmath/Runtime/Plugins/CultMath.pdb differ
diff --git a/unity/org.gamecult.cultmath/package.json b/unity/org.gamecult.cultmath/package.json
index 80cedda..e45d0a3 100644
--- a/unity/org.gamecult.cultmath/package.json
+++ b/unity/org.gamecult.cultmath/package.json
@@ -1,7 +1,7 @@
{
"name": "org.gamecult.cultmath",
"displayName": "CultMath",
- "version": "0.1.2",
+ "version": "0.1.0",
"unity": "2021.3",
"description": "Precompiled CultMath numeric primitives and matching HLSL semantics for GameCult Unity runtimes.",
"license": "MPL-2.0",