This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
EvePlugins/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-15 23:37:10 +01:00
..
Runtime Add portable radial cosine field source 2026-07-15 23:37:10 +01:00
package.json Add portable radial cosine field source 2026-07-15 23:37:10 +01:00
package.json.meta Clean fields package manifest metadata 2026-07-10 15:44:17 +01:00
README.md Add portable radial cosine field source 2026-07-15 23:37:10 +01:00
README.md.meta Add stable Unity metadata to fields contracts 2026-07-10 15:33:52 +01:00
Runtime.meta Add stable Unity metadata to fields contracts 2026-07-10 15:33:52 +01:00

Eve Fields Plugin Contracts

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.