地形生成パイプラインのオーケストレータ(TerrainGeneration.md 2節)。
サイト配置(SitePlacer) → 軸サンプリング(AxisSampler) → LocationTypeマッチング (LocationTypeMatcher、guarantees含む) → Delaunay三角形分割 → MST+復活辺の パスネットワーク(PathNetworkBuilder) → 命名(NameAssigner)
を順に実行し、結果をIslandMapとして返す。WorldObjectには一切触れない純粋な計算で、 乱数はseedだけに依存する(同じ定義+同じシード→常に同じIslandMap)。乱数を引くのは配置と命名で、 それぞれ別の列を使う(RandomPurpose)——軸は座標を鍵にしたノイズ(ValueNoise)、型・三角形 分割・パスネットワークは乱数を引かない。世界への実体化はIslandSpawnerが担う。
生成スコープを差し替えれば同じロジックがそのまま走る(島と構造物内部で生成ロジックを 共有するという方針、同 3.7節。structure_interiorスコープの定義・再帰実行は今後の課題)。
地形生成パイプラインのオーケストレータ(TerrainGeneration.md 2節)。
サイト配置(SitePlacer) → 軸サンプリング(AxisSampler) → LocationTypeマッチング (LocationTypeMatcher、guarantees含む) → Delaunay三角形分割 → MST+復活辺の パスネットワーク(PathNetworkBuilder) → 命名(NameAssigner)
を順に実行し、結果をIslandMapとして返す。WorldObjectには一切触れない純粋な計算で、 乱数はseedだけに依存する(同じ定義+同じシード→常に同じIslandMap)。乱数を引くのは配置と命名で、 それぞれ別の列を使う(RandomPurpose)——軸は座標を鍵にしたノイズ(ValueNoise)、型・三角形 分割・パスネットワークは乱数を引かない。世界への実体化はIslandSpawnerが担う。
生成スコープを差し替えれば同じロジックがそのまま走る(島と構造物内部で生成ロジックを 共有するという方針、同 3.7節。structure_interiorスコープの定義・再帰実行は今後の課題)。