diff --git a/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj b/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj index cbfbfb3..74057f1 100644 --- a/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj +++ b/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj @@ -6,7 +6,7 @@ Runtime-neutral C# contracts for gamecult.fields documents. $(MSBuildThisFileDirectory)..\..\..\CultLib GameCult.Eve.PluginFields - 0.2.3 + 0.2.0 diff --git a/plugins/eve-plugin-fields/test/plugin.test.mjs b/plugins/eve-plugin-fields/test/plugin.test.mjs index 85df1b7..528ca11 100644 --- a/plugins/eve-plugin-fields/test/plugin.test.mjs +++ b/plugins/eve-plugin-fields/test/plugin.test.mjs @@ -49,9 +49,6 @@ test("publishes a runtime-neutral Unity contract package", () => { assert.equal(manifest.name, "org.gamecult.eve.plugin-fields"); assert.match(contracts, /interface IEveFieldsSplatsDocument/); assert.match(contracts, /gamecult\.fields\.splats\.v1/); - assert.match(contracts, /AnimatedCellNoiseB = 3/); - assert.match(contracts, /AnimatedRadialCosine = 4/); - assert.match(contracts, /AbsoluteValue = 1/); assert.doesNotMatch(contracts, /UnityEngine|Aetheria|MessagePack|GameCult\.Caching/); assert.match(readFileSync(new URL("../GameCult.Eve.PluginFields.csproj", import.meta.url), "utf8"), /netstandard2\.1/); }); diff --git a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/README.md b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/README.md index fabc7f1..8584a0c 100644 --- a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/README.md +++ b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/README.md @@ -3,26 +3,3 @@ This package owns the portable C# view of `gamecult.fields.*` documents. It has no Unity rendering, provider state, transport, or command authority. Providers implement these read-only interfaces; Unity runtime adapters consume them. - -`PowerPulse` is the portable compact-support radial falloff -`pow(saturate(1 - pow(distance01 * scale, 2)), exponent)`. Producers publish -`FalloffScale` and `FalloffExponent` alongside each SoA splat. Missing parameter -entries retain the neutral defaults `1` and `1`, so older v1 documents remain -readable. - -Procedural sources are evaluated in field-world coordinates, not splat-local -UVs. `SimplexNoise` samples signed Ashima 3D simplex at -`(worldXY * frequency + phase, 0)`. `AnimatedSimplexNoise` uses -`simulationTimeSeconds * animationSpeed` for the third coordinate. -`AnimatedCellNoiseB` is the portable moving, wrappable cellular source whose -distance metric is `(length(frac(p) - .5) * 1.5 + .25) * -max(abs(x) * .866 + y * .5, -y)`. `AbsoluteValue` folds a signed source after -sampling. Constant offsets remain ordinary constant splats, so source sampling -and additive composition retain separate ownership. - -`AnimatedRadialCosine` is splat-local rather than field-world anchored. It -evaluates -`cos(pow(distance01, FrequencyY) * FrequencyX + PhaseX + simulationTimeSeconds * AnimationSpeed)`. -`FrequencyX` is radial frequency and `FrequencyY` is the positive radial -exponent. The ordinary splat falloff owns the envelope, which keeps oscillation -and compact support independently composable. diff --git a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsContracts.cs b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsContracts.cs index 8c712e2..075a8e4 100644 --- a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsContracts.cs +++ b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsContracts.cs @@ -43,13 +43,6 @@ namespace GameCult.Eve.PluginFields public const int Constant = 0; public const int SimplexNoise = 1; public const int AnimatedSimplexNoise = 2; - public const int AnimatedCellNoiseB = 3; - public const int AnimatedRadialCosine = 4; - } - - public static class EveFieldsSplatSourceFlags - { - public const int AbsoluteValue = 1; } public static class EveFieldsSplatFalloffs @@ -58,7 +51,6 @@ namespace GameCult.Eve.PluginFields public const int Linear = 1; public const int Smooth = 2; public const int InverseSmooth = 3; - public const int PowerPulse = 4; } public interface IEveFieldsViewport @@ -107,8 +99,6 @@ namespace GameCult.Eve.PluginFields IReadOnlyList PhaseY { get; } IReadOnlyList AnimationSpeed { get; } IReadOnlyList SourceFlags { get; } - IReadOnlyList FalloffScale { get; } - IReadOnlyList FalloffExponent { get; } } public interface IEveFieldsSplatsDocument diff --git a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsDocuments.cs b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsDocuments.cs index c33679d..b1f6189 100644 --- a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsDocuments.cs +++ b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/Runtime/EveFieldsDocuments.cs @@ -74,7 +74,5 @@ namespace GameCult.Eve.PluginFields [Key(19)] public IReadOnlyList PhaseY { get; set; } = Array.Empty(); [Key(20)] public IReadOnlyList AnimationSpeed { get; set; } = Array.Empty(); [Key(21)] public IReadOnlyList SourceFlags { get; set; } = Array.Empty(); - [Key(22)] public IReadOnlyList FalloffScale { get; set; } = Array.Empty(); - [Key(23)] public IReadOnlyList FalloffExponent { get; set; } = Array.Empty(); } } diff --git a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/package.json b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/package.json index a985686..4459e23 100644 --- a/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/package.json +++ b/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields/package.json @@ -1,6 +1,6 @@ { "name": "org.gamecult.eve.plugin-fields", - "version": "0.2.3", + "version": "0.2.0", "displayName": "Eve Fields Plugin Contracts", "description": "Runtime-neutral C# contracts for gamecult.fields documents.", "unity": "2021.3",