Add portable power pulse field falloff

This commit is contained in:
Meta Vens 2026-07-15 22:35:12 +01:00
commit 59924e324c
5 changed files with 13 additions and 2 deletions

View file

@ -6,7 +6,7 @@
<Description>Runtime-neutral C# contracts for gamecult.fields documents.</Description>
<CultLibRoot Condition="'$(CultLibRoot)' == ''">$(MSBuildThisFileDirectory)..\..\..\CultLib</CultLibRoot>
<PackageId>GameCult.Eve.PluginFields</PackageId>
<Version>0.2.0</Version>
<Version>0.2.1</Version>
</PropertyGroup>
<ItemGroup>

View file

@ -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.

View file

@ -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<double> PhaseY { get; }
IReadOnlyList<double> AnimationSpeed { get; }
IReadOnlyList<double> SourceFlags { get; }
IReadOnlyList<double> FalloffScale { get; }
IReadOnlyList<double> FalloffExponent { get; }
}
public interface IEveFieldsSplatsDocument

View file

@ -74,5 +74,7 @@ namespace GameCult.Eve.PluginFields
[Key(19)] public IReadOnlyList<double> PhaseY { get; set; } = Array.Empty<double>();
[Key(20)] public IReadOnlyList<double> AnimationSpeed { get; set; } = Array.Empty<double>();
[Key(21)] public IReadOnlyList<double> SourceFlags { get; set; } = Array.Empty<double>();
[Key(22)] public IReadOnlyList<double> FalloffScale { get; set; } = Array.Empty<double>();
[Key(23)] public IReadOnlyList<double> FalloffExponent { get; set; } = Array.Empty<double>();
}
}

View file

@ -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",