20 lines
1.7 KiB
Markdown
20 lines
1.7 KiB
Markdown
|
|
# World-native patch generator final notes
|
||
|
|
|
||
|
|
## Implemented
|
||
|
|
- Regeneration and expansion now call the same `generateUnifiedWorldNativePatchCandidate()` path.
|
||
|
|
- World-native seed construction excludes candidate origin, candidate size, and selection/context rectangles.
|
||
|
|
- Padding-invariant geographic coordinates are `arrayX - world.originX` and `arrayY - world.originY`.
|
||
|
|
- Terrain, settlement jitter, land-use/human geography inputs and patch-noise paths use world-coordinate context.
|
||
|
|
- Expansion is split on a canonical world-coordinate grid; internal tiles share the pre-operation generated-coverage snapshot.
|
||
|
|
- Large/tiled expansion keeps final terrain/admin/transport coherence as one aggregate pass.
|
||
|
|
|
||
|
|
## Verified
|
||
|
|
- Left/top world padding: elevation, sea, plain, agriculture, populationDensity, prefectureRegionId and adminId all match exactly over 16,800 compared cells.
|
||
|
|
- Regeneration reports `unified-world-native-patch`; tiled expansion reports `unified-world-native-patch-tiled`.
|
||
|
|
- Large Worker expansion completes with seam clean.
|
||
|
|
- STEP15 and STEP17 pass.
|
||
|
|
- Existing river/capital/tiny-prefecture/frontier regressions pass.
|
||
|
|
- Freeform lasso completes with seam clean.
|
||
|
|
|
||
|
|
## Remaining contextual edge behavior
|
||
|
|
World-native *base generation* is invariant, but the outer seam is not frozen forever. When a selection is enlarged, cells that used to be the outer seam become interior and are recomputed by final seam/admin coherence. In the 258x183 -> 259x184 stress comparison, sea and adminId are identical in the common area; prefecture IDs differ in ~5.1% and elevation differs in ~3.9% (mean absolute difference ~0.00518). These differences are predominantly the final outer-boundary coherence layer, not a change of the underlying world-coordinate generator.
|