csharp
public readonly record struct FoliageBlockerA box that nothing grows inside.
Remarks
[docs/plan/31 § T9]'s blocking volumes. A road, a building footprint, a clearing an author wants — anywhere the simulation must leave alone.
⚠ A box and not a shape, because this assembly has no physics world. A caller with one converts; a caller without still gets the feature. The same reason IFoliageSurface is an interface rather than a terrain.
⚠ It blocks rather than removes. A seed inside is refused, so re-running with the volume moved regrows what it used to cover — which is the whole point of the simulation being re-runnable. A blocker that deleted would make its own removal irreversible.
Fields and properties (2)
Methods (3)
public FoliageBlocker(Vector3 Centre, Vector3 Extent)A box that nothing grows inside.
public static FoliageBlocker Around(Vector2 centre, float radius)A blocker covering a horizontal circle at any height.
public bool Contains(Vector3 position)Whether a position is inside.
Used by (4)
- FoliageBlockerTestsVixen.Rendering.Terrain.Tests
- FoliageBlockersVixen.Rendering.Terrain
- FoliageGrowthVixen.Foliage
- FoliageGrowthTestsVixen.Foliage.Tests