Table of Contents

Namespace GrindFest.Generation.Common

Classes

NoisyPolygon

Helper for building and querying a noisy near-circular polygon in 2D (XZ plane). Used by OrganicSettlementGenerator for the palisade shape.

PoissonDiskSampler2D

Bridson Poisson-disk sampler over an axis-aligned bounding box, with support for: an arbitrary polygon mask (only points inside accepted) and a list of exclusion circles (samples inside any are rejected).

Reference: Robert Bridson, "Fast Poisson Disk Sampling in Arbitrary Dimensions", 2007. ~80 lines, 30 candidate attempts per active point.

SeededRandom

Deterministic random for procedural generation. Wraps System.Random so the same seed always produces the same sequence (unlike UnityEngine.Random which is process-global state).

SyntyPFK

Asset paths for the Synty PolygonFantasyKingdom pack. Used by the medieval city pipeline (MedievalCityGenerator).

Folder layout: Assets/PolygonFantasyKingdom/Prefabs/{Castle,House,Props,Environments,...}/ (note: NOT under Assets/Synty/ like the goblin pack).

Measured footprints (X × Z, pivot at –X edge for walls): • Castle wall module : 5.00 × 0.50 (24 modules → 120m) • Castle corner L : 5.25 × 5.25 (pivot at –X, +Z corner) • Castle gate : 5.67 × 1.29 • Castle tower L/M/S : 3.82 / 3.05 / 2.44 • Castle battlements : 5.00 × 0.50 (sits on top of wall) • House wall module : 2.50 × 0.24 (houses build on a 2.5m grid) • House roof tile : 2.73 × 2.50

SyntyPGW

Asset paths for the Synty PolygonGoblinWarCamp pack. Decoupled from the (editor-only, to-be-deprecated) SyntyGoblinCampBase PGG class so runtime code can reference paths without an editor dependency.

Keep in sync with Assets/Synty/PolygonGoblinWarCamp/Prefabs/....

WeightedPool<T>

Weighted random pick. Entries with higher weight are picked more often. Built from a flat list of (item, weight) tuples.