# 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.