1.7 KiB
1.7 KiB
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.originXandarrayY - 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 reportsunified-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.