diff --git a/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj b/plugins/eve-plugin-fields/GameCult.Eve.PluginFields.csproj index 74057f1..4e29428 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.0 + 0.2.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 8584a0c..dd120eb 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,3 +3,9 @@ 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. 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 075a8e4..d3133f7 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 @@ -51,6 +51,7 @@ 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 @@ -99,6 +100,8 @@ 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 b1f6189..c33679d 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,5 +74,7 @@ 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 4459e23..905acb0 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.0", + "version": "0.2.1", "displayName": "Eve Fields Plugin Contracts", "description": "Runtime-neutral C# contracts for gamecult.fields documents.", "unity": "2021.3",