WORLD_GENERATION_PROGRAM_2026-08-06.md

pipelines/WORLD_GENERATION_PROGRAM_2026-08-06.md

THE WORLD GENERATION PROGRAM — 2026-08-06

What this is. Josh's charter, verbatim, inside the factory-complete publish ruling: *"all while the

engine and quests and seeds and world and everything continue to build, all asset factories are also

continuing to build. world needs a lot of work on its generation too."*

(docs/spine/DECISIONS_PENDING_JOSH.md, THE FACTORY-COMPLETE PUBLISH GATE). This file is the

director-level assessment of world GENERATION against the AAAAA bar, and the ranked wave program that

follows from it. It assesses and ranks; it builds nothing and it rules nothing.

Authority. PROPOSAL-TIER. Canon, the CVD, and Josh's rulings bind every row here. Where a wave

proposes something beyond the floor of what was asked, it is marked VETOABLE and named as such.

Scope, drawn tightly. GENERATION — the chain that turns geodata and canon rows into a playable

space: terrain, landcover, biome rules, scatter, water, caverns, settlement placement, and the

region-to-region scale-out. It does NOT re-litigate lighting, capture profile or composition; rungs

W1-W7 own those and their verdicts are cited, not re-derived. Where a generation defect has already

been measured by an existing record, this file carries that record's own number and its own word.

What this file refuses to do. It does not restate a measurement it did not verify at HEAD; it does

not report a zero without the positive control that proves the search could have matched; and it does

not propose an instrument without naming the shippable artifact that instrument unblocks

(docs/spine/DECISIONS_PENDING_JOSH.md, THE CREATION-FIRST LAW + gate moratorium).

---

0. The eleven-line answer

1. The world generation TOOLING is more finished than anything it has produced: a real COP30 → UTM → composed-island → sculpt → import → procedural-landscape-material → PCG → grass → lookdev chain exists and works, and the scripts are the mature asset.

2. The chain is missing four stages, and the canon region page's own build recipe names three of them — erosion, the Liang Bua cave-mouth carve, and World Partition — plus a fourth Josh ruled separately (D-MPV's per-AOI resolution ladder). None of the four is an invention of this file.

3. The single deepest defect is that the landform is interpolated, not eroded: COP30 at 30 m authored to 3.9 m posts, a 7.69× cubic upsample, with only 14.65% of the island's ground being real DEM patch and zero erosion or detail synthesis anywhere in the chain. The meta says so in its own words.

4. Landcover is a nearest-neighbour step function on a 27.3 m cell, so there is no ecotone anywhere; six painted layers sit at forest 87.93% / grass 10.2% / everything else under 1%, and the wetland layer that the mud surface needs has no weightmap at all.

5. Generation is one biome file, three scatter layers, one region, one of the three layers empty by declaration, with no per-species rule on slope, altitude, moisture or aspect — against a slice that needs seven distinct region classes and an arc that needs seventy-six regions.

6. Read against the AAA chain the public record actually describes — the same eleven layers in the same order across Guerrilla, CDPR, Sucker Punch and Ubisoft (§2.4) — we run layer 1 and a thin layer 10, and almost nothing else. The two highest-leverage layers, both fully automatable and both publicly specified, are the abiotic field bake (slope · curvature · flow · wetness · illumination · aspect, baked before any plant exists) and species arbitration by priority → viability → radius; we have neither. And the one layer every studio refuses to automate — the biome mask, which is their art-direction lever — is the one we automated.

7. 225 rows of T0_Environment_Grammar reach zero generation code (positive-controlled), and the Zone Catalog's own build columns are 0/11 on worldcover_biome, asset_routing and ambient_population_band — the world's canon vocabulary is authored and inert.

8. Three whole classes have no pipeline at all, and each is on the slice's critical path: caverns (the game's first built minute happens inside one), water (the arc's first vril mechanic happens in a waterfall), and settlement (one 10,000-triangle massing mesh stands in for every village).

9. All three pre-registered world kill-tests are without a verdict — erosion-vs-Landmass BLOCKED, 69-region throughput BLOCKED, World-Partition-plus-PCG at the hero tier INCONCLUSIVE because PCG was off during the capture. The pipeline's three structural choices were settled by default, not by evidence.

10. Two instruments are reporting about the wrong subject — a far-field probe that moved 3.65 km and 802 m under an unchanged id, and a material allowlist that failed all 18 Flores shots on BAD_MATERIAL — and the world comparator itself is armed: [], with its own rubric recording that no world teacher lens has ever been run.

11. The program is seven waves, slice-first and exemplar-first: substrate + instruments (free, and 10.12 GB of licence-clean scan content is already on disk unbound), then landform, cavern, water, biome ruleset, settlement, and only then the second region — because the second region is the moment the factory opens, and opening it early is the failure the depth law exists to prevent.

---

1. THE CHAIN AS BUILT — and the four stages canon names that were never built

The world generation chain, stage by stage, read off the tools and the records rather than off a doc.

#StageWhat actually runsEvidenceHonest tier
1Source geodataCopernicus GLO-30 (COP30) DEM via the OpenTopography API; ESA WorldCover landcoverGAME:Tools/terrain_fetch_preprocess.pyreal
2Reprojection + void fillUTM (EPSG:32751), bilinear for height, void fraction 0.0Tools/terrain_fetch_preprocess.py:241; E:/terrain/flores_island_terrain_meta.json void_fractionreal
3Landcover rasterizesix class weightmaps, nearest-neighbour resampleTools/terrain_fetch_preprocess.py:294 resampling=Resampling.nearestdefective — see 2.1 finding 2
4Composition11 real-DEM zone patches composited into ONE island; a detrended Manggarai background window and an inverse-distance base fill between themflores_island_terrain_meta.json compositionreal, and thin — real_patch_ground_fraction 0.1465
5Resolutionone uniform 3.9 m/post, upsampled 7.69× from a 30 m native DEM by cubic interpolationsame file, meters_per_vertex, upsample_factor, resolution_honestydefective — see 2.1 finding 1
6Erosion / detail synthesisNOTHING RUNSpositive control: `grep -ril "gaea\erosion\hydraulic\flow_accum\world_machine\worldcreator" over GAME:Tools/ returns hits ONLY in Tools/bench/ fixtures; zero hits in terrain_fetch_preprocess.py, compose_flores_island.py, sculpt_region_pads.py`MISSING STAGE
7Sculptflat encounter pads with skirts, sized off a slope auditE:/terrain/sculpt_report.json (11 pads); Tools/sculpt_region_pads.py, Tools/audit_encounter_spaces.pyreal — and it is playfield levelling, not landform detail
8ImportHumanityLandscapeImporter, 255quads × 1sec × 14×10 comp, one monolithic 610 MB FloresIsland.umapGAME:Source/HumanityEditor/…/HumanityLandscapeImporter.cpp; map bytesreal — not World Partition; see 2.1 finding 4
9Landscape materialprocedural base (elevation + slope + multi-octave noise) MODULATED by the six weightmaps — never LandscapeLayerBlend as base (BUG-0016)GAME:Tools/dress_flores_look.py header; M_Landscape_Flores_Scanned (973 expressions)real, and a good design
10PCG scatterONE biome JSON → 1 assembly graph + 1 biome graph + 3 layer graphs; runtime-partitioned over 2,240 PCGPartitionActorsTools/world/biomes/flores_monsoon.json; Content/PCG/ (5 assets); Tools/world/build_pcg_scaffold.pyreal system, thin content
11Grass bed7 LandscapeGrassTypes via LandscapeGrassOutputContent/Foliage/Grass/GT_*real
12Dressingscript-placed props, markers, gather nodes; the crater lakes as materialsTools/dress_flores_look.py, dress_kelimutu_lakes.py, stage_flores_ch02/ch03.pygreybox
13Lookdevphysical sun 128,000 lux @ 5778 K, sky, cloud, fog, one PP volumeQA/bench/world/lookdev_*, WORLD_RUNG_W3.mdreal (Flores only)
14Interaction layercontact-displacement ring + 7 physical materials + brush/trunk collision profilesWORLD_RUNG_W6.md; Content/Environment/Interaction/real mechanism, unseen (W6's own headline)
15Navigationinvoker-driven dynamic recast; island navigates 8/8 bearingsQA/bench/world/navmesh_L5a_20260806T044944Z.jsonstructure — obstacles never reached it
16WaterNOTHING RUNS — one custom trigger volume, an ocean material and three lake material instancesfour positive controls, all zero: grep -c '"Water"' Humanity.uproject → 0; find Content -iname "*WaterBody*" → 0; grep -ac WaterBody Content/Maps/*.umap (all 8) → 0; `grep -ril "waterbody\/Script/Water" Source Tools Config` → 0MISSING STAGE
17Caverns / interiorsNOTHING RUNST0_Interior_Space_Registry 44 rows, no DT_InteriorSpace, no interior build artifact (docs/PIPELINE_LEDGER.md D9); no cave-carve stage in any terrain toolMISSING STAGE
18Settlement / architectureone greybox massing meshContent/Meshes/Architecture/ = 8 assets, exactly one building (SM_AR_MBARU_MASS, 10,000 tris)MISSING STAGE

1.1 The four stages the CANON build recipe names that the build never ran

This is not an invention and not a wishlist. The region page — _source/02_Tier_2_Region_Pages/flores_island.md, the v2.0 template exemplar — states the build chain in its own Section 1, lines 102-108. Four of the things it states do not exist in the built chain:

---

2. THE HONEST GAP MAP

2.1 The five worst findings

FINDING 1 — THE LANDFORM IS INTERPOLATED, NOT ERODED, AND THE RECORD SAYS SO ITSELF.

The tile is COP30 at a 30 m native ground sample authored at 3.9 m/post — a 7.69× upsample whose own

meta states the honest half verbatim: *"the 31 m-scale landform is real measurement; sub-30 m detail is

cubic interpolation, not survey"* (E:/terrain/flores_island_terrain_meta.json

resolution_honesty). Between the 30 m truth and the 3.9 m surface the player's camera actually sees

there is nothing but interpolation — no hydraulic erosion, no thermal talus, no gully network, no scree,

no detail synthesis of any kind (stage 6, positive-controlled). The missing band is quantifiable: at a 30 m

ground sample, Nyquist means nothing under roughly a 60 m wavelength survives the source at all — no

gullies, no boulder benches, no streambanks, no terrace risers, no trail cuts — so everything the player

sees between about 1 m and 60 m is interpolation and nothing else. Every AAA open-world terrain chain puts

an erosion and detail-synthesis stage exactly here, and the region page's own recipe names one. Two

compounding numbers: only 14.65% of the island's ground is real DEM patch (composition.real_patch_ground_fraction), the remaining ~85% being a detrended background window plus an

inverse-distance base — so most of the playable surface is synthesized filler with neither survey nor

erosion behind it; and the only post-DEM operation that runs is eleven flat pads

(E:/terrain/sculpt_report.json), which is playfield levelling and removes detail rather than adding it.

This is the root cause of the read Josh gave the world, and it sits under every outdoor frame in every region.

FINDING 2 — THE LANDCOVER IS A NEAREST-NEIGHBOUR STEP FUNCTION, AND THE FAR-FIELD ARTIFACT IT WAS BLAMED FOR IS NOT ACTUALLY CLOSED.

Two things are true and they must not be merged. The generation defect is certain:

Tools/terrain_fetch_preprocess.py:294 resamples ESA WorldCover with Resampling.nearest, producing

binary class masks on a ~27.3 m cell, which is a hard-edged step function where a real landscape has an

ecotone — at every range, in every region, for every future biome. **The far-field MECHANISM is not

closed, and the honest record says so.** W5 ran six single-subsystem renderer ablations against the

blocky artifact on the 2.2 km mountain; the best moved it 2.7% against a repeatability floor of 0.002

and a baseline patch_area_frac of 0.2846 with an axis-aligned boundary fraction of 0.2549

against a 0.222 random expectation (GAME:QA/bench/world/blocky_mechanism_W5.json verdict) — so it is

not the renderer, and it is not chance. W5 then named the landcover mask as the mechanism and its own

material fix moved 0.2846 → 0.2834, i.e. nothing. W7a subsequently DERIVED that the mask cannot be the

mechanism at that range at all: at 2.2 km mask_fade saturates at 1.0 (near 30,000 / far 150,000 cm),

total_w ≡ 1.0 and coverage = 1, so the painted landcover has no path to shading at 2.2 km

(blocky_station_drift_W7a_20260806T042431Z.json). The surviving candidate the record leaves standing is

the heightfield NORMAL — W5's unlit arm eliminated the heightfield as a source of base COLOUR, which is

not the same as eliminating it as the source of the normal — and the composed tile's normals are

computed on a 3.9 m post grid carrying 30 m data, which is exactly where an axis-aligned terrace would

come from. The instrument that could decide it photographs the wrong place (see §2.5), and W7a's own

verdict is verbatim: *"THE ITEM IS NOT DONE, AND IT SHOULD NOT BE ATTEMPTED IN THE SHAPE IT WAS NAMED."*

Three ablation numbers were RETRACTED for the drifted station and the run-to-run spread there measured

0.0205, ten times the 0.0020 floor. W7b (the mid-distance lattice) is blocked by the same defect;

W5's lattice numbers 0.884 → 0.840 stand.

FINDING 3 — GENERATION IS ONE BIOME, THREE LAYERS, ONE REGION, AND ONE OF THE THREE LAYERS IS EMPTY.

The whole generation ruleset for a 76-region world is a single JSON — Tools/world/biomes/flores_monsoon.json — with three scatter layers and three GLOBAL multiplicative gradients. Measured against its own targets: ground clutter 1.8014 / 1.8 (landed), understory 0.2737 / 0.35 (and the file states this is a measured ceiling, not a tuning miss: three sampler runs at 0.66 / 0.744 / 0.95 points/m² delivered 0.3110 / 0.3109 / 0.2917 — more input delivers FEWER instances, because PCGSelfPruning is greedy and prunes on point bounds), canopy 0.0 / 0.02 with meshes: [] and substrate_gap: true. The file's own words: the canopy *"is the layer that most decides whether a frame reads as jungle"*. Three further structural limits, all in the file's own known_limits: parameters are BAKED into the graphs because PCG user parameters are unreachable from UE 5.8 Python, so nothing is runtime-tunable; two authored keys (density_noise_scale, self_pruning_radius_cm) are not consumed by the 5.8 node set at all; and there is no per-species rule on slope, altitude, moisture or aspect anywhere — the only spatial variation in the entire generator is one bowl-to-cone height/slope multiplier applied identically to every layer. Against the slice this is the wrong order of magnitude: Prologue→Ch 13 alone demands tropical monsoon forest AND equatorial rainforest (Ch 11 Ituri) AND volcanic highland AND karst cavern AND ocean coast (Ch 8 Swahili) AND rift savanna (Ch 10) AND temple-urban (Ch 4/5/7/12) AND highland escarpment (Ch 9/13) — one biome file covers one of them.

FINDING 4 — THE CANON VOCABULARY OF THE WORLD REACHES NO GENERATOR, AND NEITHER DO THE ZONE CATALOG'S OWN BUILD COLUMNS.

T0_Environment_Grammar_Registry carries 225 rows typing every environmental feature by

feature_category, physical_properties_array, elemental_affinity, tactical_affordance_class,

attack_verbs, exposure_hazard, mass_class / hardness / fragility / flexibility. Every flores

zone names its own refs (environment_grammar_refs — EG_0005;EG_0006;EG_0007 at Liang Bua, EG_0003;EG_0009-11 at Kelimutu, and so on for all eleven). **Positive-controlled grep for EG_00 over

GAME:Tools/ and GAME:Source/ returns ZERO hits**, with the control (GN_00|CH_02 over the same

trees) returning five files. Nothing generates a fumarolic vent field, a lava vent or a sieidi stone;

the world generates as foliage-on-terrain and the canon feature set is inert. The same is true of the

Zone Catalog's own build columns: across all eleven flores rows, worldcover_biome is 0/11,

asset_routing 0/11, ambient_population_band 0/11 (build/zones/flores_island.csv). At

region grain the picture is the same — T0_Region_Index (76 rows): env_density_band_default 4/76,

weather_cycle_profile 4/76, movement_modifier 4/76, terrain_feature_class_ids 7/76,

generation_tier 10/76, env_emitter_site_ids 0/76, ambient_population_band_default 0/76.

FINDING 5 — THE SLICE'S FIRST MINUTE, ITS FIRST MECHANIC AND ITS FIRST VILLAGE HAVE NO GENERATION PIPELINE AT ALL.

Three whole classes are absent, and each of them is on the critical path of the ruled Prologue→Ch 13 slice.

2.2 Per region class, against the AAAAA bar

The bar column is what the class has to do in a frame for the pantheon comparator

(harness/qa/comparator_rubrics/world.json teachers: GTA VI, RDR2/GTA V, Witcher 3, Monster Hunter

Wilds, FF7R). The tier register is the honest one: structure / greybox-feel / final.

Region classSlice nodes that need itWhat the bar isWhat we haveTier
Jungle / cloud forestCh 2-3 Flores; Ch 11 Iturithree read-able vertical storeys, canopy light breaking, wet foliage, ground answering a bodyground clutter at target, understory at a measured ceiling 0.31/0.35, canopy 0.0/0.02 with an empty mesh list; substrate is decimated 307-1,789-tri scan cardsgreybox-feel
Highland / volcanicCh 2 Inerie + Kelimutu; Ch 5 Merapi; Ch 9 Simien; Ch 13 Drakensbergsilhouette that reads as rock at 2 km, gully and scree at 50 m, ash/scree material transitionreal COP30 landform at 31 m; no erosion, no gully, no scree; far field blocky at 0.2846 patch areastructure
Coast / oceanCh 8 Swahili; Flores shorelinehorizon water, surf line, wet sand, coral-stone shoresynthesized shoreline in the heightfield; no water system; M_Ocean material onlystructure
Urban / village / templeCh 3 Wae Rebo + Todo; Ch 4 Besakih; Ch 5 Borobudur; Ch 7 Madurai; Ch 12 Ile-Ifesettlement layout by cultural rule, building interiors, street/plaza legibilityone massing mesh; T0_Dwelling_Registry = 2 rows under a 76-region worldstructure
Cavern / rock-cut interiorCh 2 Liang Bua (origin) + Kelimutu pocket; Ch 3 Mama Klara; Ch 9 Lalibela; Ch 13 rock sheltersenterable interior volume, low-light navigation, a mouth seam where daylight is a real lightnothingabsent
Savanna / arid / desertCh 10 Rift Valley; Ch 14-15 Nubia/Egypt (just past the slice)sparse-scatter realism, heat haze, dune or hardpan surface varietynothing — no biome file, no region terrainabsent
Realm (otherworld)Prologue, Ch 1grandest display in the gamenothing, correctly — Josh ruled the fairy realm designed LAST on the matured concept-art pipelinedeferred by ruling

Five of the seven sister maps that exist at all (AngkorKhmer, Bali, BorobudurMerapi,

PalembangMusi, SamosirToba) are a Landscape, a SkyAtmosphere, a DirectionalLight and a PlayerStart —

no PCG, no fog, no post-process. One region of seventy-six has a biome.

2.3 Where generation quality fails, axis by axis

2.4 The AAA chain, and which of its layers we run

Two research lanes read the public record — Guerrilla's GDC 2017/2018 ecotope and vegetation talks, CDPR's

REDengine 3 landscape talk (GDC 2014), Sucker Punch's *Samurai Landscapes* and *Procedural Grass*

(GDC 2021), Ubisoft's *Ghost Recon Wildlands terrain* (2017) and *Procedural World Generation of Far Cry 5*

(2018), plus Epic's PCG, Landscape, Water and Biome Core documentation. Rockstar publishes nothing on

terrain or vegetation, and three commonly-cited talks do not exist at all (no Horizon Forbidden West

terrain talk; the Tsushima talk is *Building and Rendering Tsushima Island on PS4*, not "Bringing Ghost of

Tsushima to Life"; there is no Ghost of Tsushima water talk) — named here so nothing downstream cites them.

Across four studios with four completely different authoring surfaces, the same eleven layers recur in the

same order. A = artist-authored, P = procedural.

#LayerA/PWhat the studios doWhat we do
1Macro heightfield / silhouetteA→PNever noise. World Machine import then in-editor sculpt (CDPR, Ubisoft); mountains hand-crafted outright (Guerrilla, Rockstar)Real COP30, composed — good. 85% of ground is filler base, and no sculpt above the eleven flat pads
2Erosion / hydrologyP, from artist splinesRivers authored as splines; erosion emits masks and scalar fields, not just geometryabsent
3Abiotic field bakePSlope, curvature, altitude, occlusion/illumination, flow/moisture, wind vector, distance-to-water, latitude — baked BEFORE any plant exists. Guerrilla's World Data Maps, CDPR's per-cell water-accumulation + sun-exposure sim, Far Cry 5's explicit abiotic layerabsent — the single most transferable idea in the public record, and we have none of it
4Landcover / biome maskAHand-painted at every studio, every time. No studio auto-derives the biome map from climate — it is the art-direction lever they refuse to surrenderauto-derived from ESA WorldCover, nearest-resampled, never art-directed
5Ecotope / rule assignmentA rules, P resolutionNode graph (Guerrilla) · GPU functional language (Sucker Punch) · Houdini HDA (Ubisoft) · brush+settings (CDPR). All four: artists write RULES, not positionsone JSON with three global multipliers
6Species arbitrationPCompetition model. Far Cry 5 publishes it completely: priority evaluated first, viability breaks ties, viability radius excludes competitors, size variants bound to viability bands so forests taper at edgesnone — every layer scatters independently
7Write-back / second orderPInstances modify the terrain under them; one species' mask feeds another's rules; colour coherence by write-back (CDPR's pigment map, Far Cry's viability tint) — this is the fix for "foliage looks pasted on"none
8Artist overrideAUniversal and non-negotiable — exclusion masks, mask-out-then-hand-paint, direct edit without re-cook. Guerrilla's bar: every procedural element individually editableemit_grass_exclusion.py only
9Hero set-dressingAAlways on top; RDR2 is the limit case where it is the whole worldscript-placed markers and props
10Runtime materializationPRegenerate around the player (Guerrilla, Sucker Punch) vs bake-and-stream (Ubisoft, CDPR)runtime PCG — the right family, at 0.14% measured coverage
11One global wind fieldP, art-directedUniversal. Sucker Punch drives cloth, particles and millions of grass blades off a single fielda per-pack wind material function

The honest read of that table: we have layer 1 and a thin layer 10, and almost nothing else. The two

layers with the highest leverage per hour — the abiotic field bake (3) and species arbitration (6) —

are both fully automatable, both publicly specified, and both absent. And the one layer every studio

insists on keeping human — the biome mask (4) — is the one we automated.

Three engine-side facts change the calculus and are worth carrying: PCG Biome Core / Biome Sample

ship with the engine (Experimental in 5.8) and encode exactly the studio pattern above — priority-based

biome difference, per-biome Blending Range (~64 m default) with noise control, and projection filters

named for flow and sun exposure; Nanite Foliage (Experimental, 5.8) takes a 3.5 GB tree to 29 MB on

disk with Nanite Voxels for distant aggregates, which is directly aimed at both our 307-triangle substrate

and our empty canopy; and UE 5.8's Mesh Terrain (experimental, PCG-native, World-Partition-integrated)

explicitly supports overhangs and caves. All three are free and none is in use.

2.5 Where the INSTRUMENTS fail — the moved-probe-station class

Three of the world's own instruments currently report about the wrong subject or report nothing.

1. The far-field probe photographs the wrong place. composed_view_04 moved 3.65 km horizontally and 802 m down under one unchanged site id (W4 elevation 913.8 m → W5 111.59 m). At HEAD the blocky-artifact probe photographs understory foliage while believing it frames a 2.2 km cone, and three mask-authority ablation numbers were RETRACTED for it (GAME:QA/bench/world/blocky_station_drift_W7a_20260806T042431Z.json). W7a was REFUSED and W7b BLOCKED on this single defect. The fix is a marker at (−200070, −10530) cm, world Z 91378.8, under the subject-named id blocky_probe_inerie_2200m. The general form of the defect — an ordinal station id that names a camera index rather than a subject — is the class, and it is the reason a human comparing two committed camera plans was the only thing that caught it.

2. All three pre-registered world kill-tests are without a verdict. They are pre-registered with a criteria lock (criteria_lock_sha256 5f8b3f9c…, pre_registered_utc 2026-07-27), which is the right discipline, and then:

The finding this makes: the three structural choices in world generation — whether to erode, whether the chain scales to 76 regions, and whether the ruled hero resolution is affordable — were each given a pre-registered test, and all three were then settled by DEFAULT rather than by evidence.

3. The frame tail has never been attributed. FrameTime p99 61.486 ms against GPUTime p99 13.282 ms inside a 16.67 ms budget, with GameThreadTime p99 23.73 ms and a 5,297 ms worst sample over 9,038 samples (world_comparator_score_W5_selfview.json). Every rung since W5 has known the tail is not the GPU and none has named what it is; run_world_loop_fps.py --csv-channels still returns BLOCKED (W6 owed item 9). The GPU has ~3.4 ms of unspent p99 headroom — which is the budget every generation wave below wants to spend.

4. The world comparator is not armed anywhere a gate can read it. harness/comparator_rubric_scorecard.json (regenerated 2026-08-06) censuses 180 sections, 11 wave closes and 17 rubrics and reports armed: [] — zero; grep -c "COMPARATOR VERDICT - world" docs/FACTORY_CONTINUATION.md returns 0, so no canon wave-close has ever carried a world verdict. The canon harness holds exactly one world-adjacent gate of 74 (region_pages, harness/gates_config.json). Every world score to date lives as a game-repo JSON a human chose to read. Worse for the bar itself: the rubric's own known_limits[1] states that "No world/environment TEACHER LENS has been run" — the pantheon (GTA VI, RDR2, Witcher 3, MH Wilds, FF7R) is named from Josh's sentence rather than from a lens return, so the comparator asks the right questions with no studied answer behind them. Two of nine instrument slots were short at mint: WLD-C5 (per-biome authoring) PARTIAL, WLD-C8 (composition) NONE — *"the one axis of the five with no ruler"* — and W5 built C8's ruler, which promptly moved 311 of 462 tracked values across five already-published records.

5. There is no world judge, and there is no W7 rung document. The only *judge* records in the game repo are VFX (d127_family_judge*.json); *"the W6 judge"* referenced in W7a is a prose critic pass inside WORLD_RUNG_W5.md, not a scored artifact. WORLD_RUNG_W1-W6.md exist; W7 exists only as four per-item JSONs. So the world's own ladder has 62 capture directories and 241 PNGs behind it (QA/bench/world/captures/) and no cold grader.

6. A material allowlist silently failed every Flores shot. Every Flores QA pass had been failing all 18 shots on BAD_MATERIAL because the allowlist never learned M_Landscape_Flores_Scanned — found while re-measuring BUG-0054 (game 1fdcf0f). Same class as items 1 and 2: an instrument reporting confidently about the wrong thing.

One §8.5 item has moved past the handoff and the program should not re-queue it as written. BUG-0054's rim: freezing creature AI collapsed the OFF-arm spread 0.0339 → 0.0023 (15×), and at x2000 (90,000 cd) the guardian's subject luma moved 0.3905 → 0.4159, about ten times the noise floor — so *"TOO WEAK was the answer"* and the §8.5 root-cause line is superseded by measurement. But the same run found the silhouette gets WORSE (edge separation 0.0454 → 0.0223 at x2000; only azimuth 130° moved the right way), and the ship rule held: default stays OFF, no shipped frame changed. The improvement register's rows 24 and 26 are therefore already spent.

---

3. THE PROGRAM — ranked waves, W8 onward

Every wave is slice-first (the Flores / CH_02 chain, then the Ch 4-13 order), exemplar-first

(one region segment driven to a Josh-gradeable frame before anything widens), and carries a

verification instrument that measures rather than looks — the correspondence lesson, and the reason

§2.5 exists. Cost classes follow the improvement register's four

(docs/pipeline_review/AAAAA_IMPROVEMENT_REGISTER_2026-08-06.md §2): free/config · tooling-day ·

model-swap · spend.

Ranking is slice impact ÷ cost, with the binding constraints named separately in §3.8 so a ranked list

cannot bury them — the same method the improvement register uses, deliberately, so the two documents

compose instead of competing.

One note on instruments, before the waves. The research lane's clearest finding about AAA verification

is that the free UE stack is the whole stack — Gauntlet driving a scripted route, the CSV Profiler writing

one row per frame, CSVToSVG rendering those channels with BUDGET LINES, Functional Screenshot Tests

comparing against ground truth with per-channel per-brightness tolerance (which exists precisely because

modern rendering injects noise to hide aliasing), and Data Validation runnable headless via

-run=DataValidation. A solo operation can stand that up in a week and run it unattended overnight on the

5090, which is why no wave below proposes a bespoke instrument where one of these will do. The lesson

worth taking whole is Ubisoft Montreal's, from *AC Origins: Monitoring and Validation of World Design Data*

(GDC 2018): at world scale the deliverable is **not the test — it is the daily report that communicates

world-data state back to its creators, visually.** That is exactly what this world program's own status

surface should be emitting, and it is the honest successor to a rung document written by hand.

Two negatives worth carrying so no wave wastes time hunting them: **no published AAA per-region ms /

draw-call / triangle budgets exist** (derive our own from stat unit + stat scenerendering per region

class and enforce them as CSVToSVG budget lines — do not import numbers from blogs), and **no

games-industry vegetation-density methodology exists at all**.

3.1 W8 — THE SUBSTRATE AND INSTRUMENT WAVE *(inherits and sharpens the register's W8)*

What changes in the pipeline. Bind the photogrammetry substrate that is already licence-paired on

disk and unbound, and restore the instrument that is lying about the result.

Exemplar. One frame: the Mount Inerie 2.2 km cone from the restored station, with the bound

substrate in the far field. It is the exact frame the artifact lives in, so it is simultaneously the

exemplar and the measurement.

Instrument (measured). patch_area_frac at the restored station against its own repeatability floor

(0.002 measured); bind_state_counts.ACQUIRED_UNBOUND 48 → 0; render_census tris_max per folder for

the WLD-C1 reading; navmesh max_ratio moving off 1.0000 with the hand-placed-trunk control firing.

Cost. free/config, except the substrate import GPU/editor time. Depends on: nothing.

3.2 W9 — THE LANDFORM WAVE (erosion · landcover feathering · the D-MPV hero tier)

The wave that closes finding 1, finding 2 and half of §2.5. It is the highest-value generation change

in this program because it sits under every outdoor frame in every region, and it is the wave that makes

the region page's own recipe true.

What changes in the pipeline.

Exemplar. mount_inerie_cone_country — one 2.5 km slope corridor plus its agility pod, eroded,

feathered, at its ruled resolution, framed from the restored station and from one aerial. It is the same

subject as W8's exemplar deliberately: the wave is judged on whether it moved the frame W8 made

trustworthy.

Instrument (measured).

(a) slope and curvature histograms of the built heightfield against the source COP30 tile, so the claim

"detail was added below 30 m and the 31 m landform was not disturbed" is a number and not a look;

(b) the blocky patch_area_frac at the restored station, against the 0.002 floor;

(c) landcover class-boundary gradient — the fraction of boundary pixels that are a hard step, before and after;

(d) D-MPV conformance: post spacing read back off the landscape per zone against the Zone Catalog column, today 0/11;

(e) kt1 and kt3 moving off BLOCKED/INCONCLUSIVE to a verdict, whichever way they land.

Cost. tooling-day ×3 to ×5, plus a possible tool acquisition if the bake-off picks an external

erosion tool over an in-chain implementation. Depends on: W8's restored station (the artifact

measurement is meaningless without it).

3.3 W10 — THE CAVERN AND INTERIOR WAVE

The origin node. The first thing a player ever sees in the first built chapter is a cave interior

that has no pipeline.

What changes in the pipeline.

says procedural buys the least. The research lane could not verify a single shipped AAA title using

procedural cave/interior LAYOUT generation; every concrete cave-generator artifact found is portfolio or

tutorial work. The verified practice is Skyrim's modular approach (Burgess & Purkeypile, GDC 2013), and

its two load-bearing specifics scope the work honestly: a cave "small hallway" sub-kit ran ~50 pieces

where a simpler hall sub-kit ran 7, and **off-angle interior kits need generous "glue" pieces, called out

as essential specifically for tunnel and cave kits.** Procedural belongs in the kit and the gross volume

(SDF/VDB boolean subtract, Worley F2−F1 for blocky cellular rock), not the layout.

and explicitly supports overhangs and caves. It did not exist a year ago. If it holds, it removes a

large part of the manual work and it is a one-day spike to find out.

heightfield at the interior-to-approach seam, which is the anchor docs/spine/CH_02.md L339-352 needs

and currently cannot bind to. Geometry Script's ApplyMeshBoolean on Dynamic Meshes is the in-engine

carving path if the heightfield route is not enough.

35 registries with no DataTable (docs/PIPELINE_LEDGER.md D9). Data Layers are the standard interior

load/unload gate and are Blueprint-controllable.

Epic issue UE-256471: building HLODs in a World Partition level containing Packed Level Actors

and/or Level Instances often fails to include them and emits only a warning, and Epic's own listed

workaround is to rebuild until it works or not use them. Level Instances and Packed Level Blueprints are

exactly how Epic recommends authoring a cave interior, and W9 is putting Flores on World Partition.

Discovering this after both are committed is a structural rewrite; the test is cheap and must be first.

Lumen bounds its ray-trace distance for cost and a missed occluder leaks. The named mitigations —

raising Lumen Scene Detail and Max Trace Distance, and **Distance Field Resolution Scale from 1.0 to

2.0+ (3.0-5.0 for critical enclosure geometry)** — are a real budgeted task in this wave, not a toggle.

Exemplar. The Liang Bua cave mouth and first chamber: the wake, the crack, and the 400 m forest

approach, played from CH02_B01 through the CH02_B11 find-beat.

Instrument (measured). Illuminance in lux at the mouth seam, proving the daylight is a real light

and not an authored glow (the D1-27 light law, and the same class of arithmetic that caught BUG-0054's

8.36-lux rim against a 128,000-lux sun); interior traversal proven on the navmesh; and the CH02_B06

fail-state anchor bound to a real feature id rather than a timer.

Cost. tooling-day ×3, plus acquisition if the kit is bought rather than assembled from the CC0

substrate. Depends on: W9's heightfield (the carve edits it), so it lands after or alongside.

3.4 W11 — THE WATER WAVE

What changes in the pipeline. Water becomes a system.

UE_5.8/Engine/Plugins/Experimental/Water and **absent from Humanity.uproject's nineteen enabled

plugins**, both verified — versus a lighter custom river/shore layer. The plugin brings rivers, lakes,

ocean and shoreline blending with landscape deformation for free and is the genre-standard answer; the

two objections are that it is an Experimental module and that it is a new dependency taken mid-flight on

the one shippable map. That is exactly why the choice is evidenced rather than assumed.

breach (the tools are explicit that this must come first), D8 or D-infinity flow direction, flow

accumulation, threshold, vectorize, then Strahler stream order. Then let the order pick the class:

order 1-2 = a decorative non-navigable stream mesh, 3-4 = a Water Body River spline, 5+ = wide river or

lake. That is a recommendation rather than industry canon, and it is named as such — but it removes the

need to hand-decide "stream or river" several hundred times across 76 regions. GRASS r.watershed /

r.stream.extract and WhiteboxTools D8Pointer / D8FlowAccumulation / StrahlerStreamOrder all do

this off the shelf, and W9's abiotic bake already computes flow accumulation, so this leg is nearly free

once W9 lands. It is also why W9 precedes W11: erosion and hydrology are the same physics and should be

solved in the order the real landscape solved them.

wae_water_spring, mama_klaras_waterfall, and the Kelimutu crater lakes — the last currently three

material instances. Two documented limits to design around rather than discover: **Water Body River

generates no wave simulation (flow-map only), and Custom water bodies do not use the Water Mesh

Actor and therefore do not auto-carve terrain. A Water Body Exclusion Volume** is the mechanism for

a submerged passage that plays as above-water, which is what W10's cavern route will want at Mama

Klara's. Waterfalls themselves are mesh + Niagara whitewater + a shoreline wetness mask, which is

ubiquitous practice with no single authoritative talk behind it — treat it as craft, not as a citation.

Witcher 4 tech demo) as a polish-tier item — worth knowing, not a slice blocker.

Exemplar. recharge_waterfall, the arc's first vril recharge — the beat where *"the emptied vessel

first fills again"* (docs/spine/CH_02.md L30) — with falling water, spray, a wet threshold ring and the

player standing in it.

Instrument (measured). Water-surface continuity at the shore (no gaps or z-fighting across the

synthesized 900 m coast margin and 250 m shore blend the meta already declares); a wet-surface response

measure at the spray ring paired to the contact layer; and a paired FPS run, because water is the first

new full-screen cost since the contact layer measured at −0.1 ms.

Cost. tooling-day ×3. Depends on: W9 for the hydrology-from-terrain leg; the water bodies

themselves do not.

3.5 W12 — THE BIOME RULESET AND ECOTONE WAVE

The wave that turns one region's parameters into a generator.

What changes in the pipeline.

Exemplar. The lingko_forest_edgemount_inerie_cone_country transition — one ecotone segment

where the biome changes by rule across a measured width instead of at an edge. It is chosen because it

is the exact defect finding 2 measures, seen from the ground instead of from 2.2 km.

Instrument (measured). Ecotone width in metres across the transition (today: a step); species-vs-slope

and species-vs-altitude conformance to the declared ruleset, sampled off the spawn records the density

probe already reads; understory delivered density against 0.35 with the saturation curve re-run as its

own control; Zone Catalog column fill 0/11 → 11/11; and EG_00 grep over the generation tools moving off

zero, with the control kept.

**And the density instrument this program needs but does not yet have, named as a PROPOSAL rather than a

finding.** No games-industry vegetation-density methodology exists — the research lane searched for one

directly and found none. The transferable body is remote sensing, and the pairing that fits our two

failure modes is: **(a) an orthographic top-down capture scored as fractional vegetation cover against a

reference satellite crop of the real Flores terrain**, which measures density TRUTH and is the honest

answer to §2.3's 2.075-vs-0.00023 confusion; and **(b) eye-level shot-matching against reference

photography scored with SSIM** — the metric a 2024 *Scientific Reports* study found performed best when

evaluated specifically against real-time-engine artifacts (aliasing, shadow anomalies, peter-panning,

Z-fighting) across LOD levels — which measures what the PLAYER sees. That pairing is a construction, not a

citation, and one calibration caveat transfers directly and matters: dimensional canopy cover correlated

with photographic canopy cover at R²=0.93 but underestimated it by roughly 15%, i.e. a top-down

instanced-foliage count will systematically read lower than what the camera sees at eye level. Calibrate

it before it gates anything.

Cost. tooling-day ×3, plus spend for the canopy substrate. Depends on: W9 (a ruleset keyed on

slope and moisture wants a landform that has both).

3.6 W13 — THE SETTLEMENT AND ARCHITECTURE WAVE

What changes in the pipeline. Settlement placement becomes a grammar driven by the region pages'

own zone catalogs and cultural arrangement, not hand placement — the same reasoning WLD-C5 applies to

density (*"hand placement does not scale to 79 nodes and is how a world stays sparse"*).

placement rule reading the region page's Section 7 arrangement — settlement radiating from the compang

centre-stone, lingko fans on the lower ground — which the page has already MEASURED on the real

terrain (flores_island.md L63). The public precedent is Ubisoft's Wildlands **settlement builder with

70+ rules**, whose load-bearing property is not the rule count but that its output was written to files

and instanced, so a town could be tweaked without a full re-cook. That property is what makes 76

regions of settlements survivable, and it should be designed in from the first village rather than

retrofitted.

camps, villages and roads, and emit_grass_exclusion.py is the only override tool we currently have.

Exemplar. Wae Rebo — seven *mbaru niang* in the cloud-forest bowl, placed by rule, enterable.

Instrument (measured). Layout conformance — each house's distance and bearing from the compang

centroid against the arrangement the page states; slope under every structure footprint against the

existing audit_region_spaces.py bar (mean ≤ 10°, max ≤ 20°), which is an instrument that already

exists and already refuses.

Cost. tooling-day ×3 plus asset-factory generation. Depends on: W9 (footprint slope), W10

(interiors).

3.7 W14 — THE SECOND REGION WAVE (the factory opens)

What changes in the pipeline. Nothing new — the point is that nothing new is needed. Take Bali

(Ch 4) from bare heightmap through the whole W9-W13 chain, and MEASURE the cost of doing it, which is

what kt2_region_throughput was pre-registered to answer and has never answered.

Exemplar. One Bali zone at the same bar as the Flores exemplar, produced by running the chain rather

than by re-inventing it.

Instrument (measured). kt2 with a real record: hours and GPU-hours per region, split by stage, and

the extrapolation to 76. Until that number exists, no world scale-out claim is admissible.

Cost. tooling-day, dominated by GPU/editor time. Depends on: W9-W12 landing on Flores first —

this is the exemplar → wiring → factory law applied at region grain, and it is the wave that must NOT

start early.

3.8 The binding constraints, held out of the ranking on purpose

Three things bind this program, and none of them wins on ratio.

1. No erosion or detail-synthesis stage (W9). Everything downstream — the far field, the ecotone, the settlement footprints, the aerial — is a function of a heightfield that is 85% synthesized filler and 100% un-eroded. It is the one change that improves every region class at once.

2. One biome for seventy-six regions (W12), with its parameters baked out of reach. The generator cannot be re-parameterized from Python, so every biome is a graph rebuild. Seventy-six regions at one rebuild each is the factory that never opens.

3. Three pre-registered kill-tests without verdicts (§2.5). Erosion, throughput and the hero tier under World Partition are the three structural choices in this pipeline, and all three are currently settled by default. Every wave above closes one of them by construction, which is deliberate.

A fourth thing binds nothing and costs everything: the frame tail has been un-attributed since W5

(FrameTime p99 61.486 ms against a 13.282 ms GPU p99). Every wave here wants to spend GPU headroom that

measurement says is available and the tail says is not reachable. Attributing it is cheap and it is

inside W8.

3.9 Two ordering findings that outrank their own rank

Both are cheap, both are inside waves already ranked, and both are structural rewrites if discovered late.

1. Enable Landscape Edit Layers before any landscape is rebuilt (W9 before W11). It is the home for

the erosion stack (DEM pinned to the bottom layer, synthesis above it, silhouette always recoverable)

AND a hard prerequisite for Landmass water carving in W11 — and it is a landscape-CREATION-time

decision. Getting it wrong means building the landscape twice.

2. Test UE-256471 before committing to World Partition plus Level Instances (W10's spike inside W9).

HLOD builds in a World Partition level often silently drop Packed Level Actors and Level Instances,

which are exactly how Epic recommends authoring the cave interiors W10 needs, in exactly the streaming

architecture W9 adopts. A one-day test now, or an architecture rewrite later.

---

4. WHAT CONTINUES IN PARALLEL — the publish gate applied to the world

Josh's ruling is explicit that building never pauses and only publishing waits

(docs/spine/DECISIONS_PENDING_JOSH.md, THE FACTORY-COMPLETE PUBLISH GATE: *"all asset factories are

also continuing to build … only PUBLISHING waits for completeness"*, and the non-asset builds —

*"engine, quests, seeds, world, UI, music"* — continue in full parallel throughout).

The world factory's completion line, stated in the gate's own terms. The gate is Josh-graded

exemplar → built asset → wired in-game (package-bytes verified) → full motion where the class carries

motion. For the world, "full motion" is the depth law's own finish line, which already exists and does

not need re-inventing: *the flores playable space — terrain, density, lighting, post — passing every

world-rubric axis at final-candidate in CINE-TIER captures AND running in-game at playable frame rates

on real input* (docs/FACTORY_CONTINUATION.md, THE DEPTH LAW). Until that line is crossed, world pages

show canon text and the honest empty state, and no world asset figure publishes.

Continues at full pace, independent of any publish decision:

Explicitly does NOT continue: D10 realms (Josh ruled the fairy realm designed LAST, on the matured

concept-art pipeline — do not start), and W14 (the second region) until the Flores exemplar chain lands,

because starting it early is exactly the breadth-over-depth failure the depth law was written against.

---

5. Beyond the floor, and what needs a ruling

5.1 Marked VETOABLE — beyond the floor of what was asked

Josh asked for an assessment and a program. These are the items inside it that go further than that, each

named so it can be struck without touching the rest.

1. Converting FloresIsland.umap to World Partition (W9's structural leg). A structural change to

the one shippable map mid-flight. The case for it: the canon recipe specifies it, the smoke map proves

the path, and the ruled 1 m hero tier is not affordable without it. The strongest objection: the depth

law says drive this pipeline to shippable, and re-architecting the map is the opposite of finishing it.

Recommendation: do it, and do it in W9 rather than later, because every wave after W9 adds content

to the map and the conversion gets more expensive with each one.

2. Enabling the UE Water plugin (W11). A new engine plugin dependency on the shippable map. The

alternative is a custom shore/river layer, which is less capable and entirely ours.

Recommendation: evidence the choice with a one-day A/B rather than assume either, per the

assume-genre-standard-defaults ruling — the genre-standard default here is the plugin.

3. A modular karst kit as an ACQUISITION rather than a generation (W10). Buying a cave kit is faster

than generating one and is a human-gated Fab touchpoint. Recommendation: acquire if licence-clean,

consistent with the D5 flora ruling that acquire-first is correct where the content is not

canon-specific — a limestone chamber is not culturally specific; the Liang Bua *mouth* is.

4. Replacing Resampling.nearest with soft classification (W9). This changes a source-data stage that

every region will inherit and that six existing weightmaps were produced by. Regenerating them is

cheap; the objection is that it invalidates the W5 ablation baselines, which is true and is exactly

why W8's restored station and repeatability pair come first.

5. The aerial as a standing capture class. Josh named aerials as page floor; this program additionally

proposes the aerial as the *instrument* for findings 1-3, because it is the one frame that cannot hide

an un-eroded island. Cheap, and beyond what was asked.

6. The FVC-plus-shot-matching density instrument (W12). Explicitly a construction, not an industry

practice — no games-industry vegetation-density methodology exists to copy. It needs empirical

calibration before it gates anything, and the ~15% systematic underestimate is a known offset to

calibrate against, not a defect to discover later.

7. Adopting Epic's PCG Biome Core / Biome Sample rather than authoring our own schema (W12). They are

Experimental, which is a real objection on a shippable map. **Recommendation: evaluate before

authoring**, because they encode the same studio pattern the research independently derived and the

evaluation is cheap; adopt only if the Experimental risk reads acceptable at the spike.

5.2 Licence items this program must not walk into

The research lane surfaced three source-data licence facts that bear directly on any attempt to improve

the DEM under W9. They are recorded here so no wave discovers them at ship time.

and exactly what the hero tier wants. **No English licence text or explicit commercial-redistribution

grant was found. Treat commercial use as UNVERIFIED** and resolve it before any pilot hardens on it.

outright) is CC BY-NC-SA — it cannot ship commercially. Do not build on it.

for video games while the Product Terms prohibit redistributing Map Assets from a cache or as static

images. Avoid entirely.

ESA WorldCover and Dynamic World (both CC BY 4.0), Sentinel-2 (attribution notice), and

AW3D30 v4.1 (free for commercial and non-commercial under JAXA terms). The proposed W9 upgrade path

therefore stays inside licence-clean sources without touching DEMNAS.

5.3 Genuine canon forks — none

As expected, this assessment surfaced no canon fork. It did surface three canon-side FINDINGS that belong

to the region-page and registry owners rather than to a ruling:

Saved/Terrain/flores_island_heightmap_5611x1531.r16; the built tile is 3571x2551 and the

2026-08-04 composed-island ruling superseded the earlier one. Tools/audit_encounter_spaces.py carries

the same superseded filename in its docstring and notes it "outlived its file twice". The measurements

the note reports are not in question; the coordinate is.

spec/gate mismatch — check_build_readiness.py:263 reads a single Section-1 meters_per_vertex while

D-MPV rules it PER AOI. W9 implements the ruling; the gate realignment rides with it.

W6 and W7 already named and W9 closes.

---

6. Provenance

The research half. Four lanes read the public record against source URLs, and their negative findings

are carried as carefully as their positive ones. Do not cite, because they do not exist: any Horizon

Forbidden West vegetation or terrain GDC talk; "Samurai Landscapes: Bringing Ghost of Tsushima to Life"

(the real title is *Building and Rendering Tsushima Island on PS4*); any Ghost of Tsushima water talk;

any Rockstar terrain or vegetation talk; any Houdini "HeightField Erode Precise" node. **Do not mine City

Sample as a PCG showcase — it uses the Rules Processor, PCG's predecessor. Unverified and load-bearing,

flagged as such:** UE 5.7's water status (two failed fetches); HLOD behaviour for runtime-only PCG

instances; whether Epic publishes any Landscape-Grass-vs-PCG decision rule (none was found); published

per-region AAA performance budgets (none found); Epic's own grid-size and biome-structure numbers for the

Electric Dreams demo (not published). Primary sources leaned on: Guerrilla GDC 2017/2018, CDPR GDC 2014,

Sucker Punch GDC 2021, Ubisoft GDC 2017/2018 (Wildlands terrain, Far Cry 5 procedural world generation,

AC Origins world-data validation), Epic's PCG / Landscape / Water / Biome Core / Nanite Foliage

documentation and the 5.8 release notes, SideFX Houdini heightfield docs, and the SIGGRAPH ecosystem

literature (Deussen 1998; Génevaux 2013; Makowski 2019; Kapp 2020).

The repo half. Read cold at HEAD on 2026-08-06 across both repos: docs/HANDOFF_2026-08-05_ACCOUNT_SWITCH.md §4 and

§8.5; docs/pipeline_review/AAAAA_IMPROVEMENT_REGISTER_2026-08-06.md (world rows 4, 8, 11, 25, 35, 39,

45, 51 and §4's world paragraph); docs/PIPELINE_LEDGER.md §5 Domain D (D1-D11);

docs/FACTORY_CONTINUATION.md (the world-visual charter and the depth law);

_source/02_Tier_2_Region_Pages/flores_island.md (Zone Catalog + Section 1 build recipe);

docs/spine/CH_02.md (site rows, the Liang Bua light ruling, the beat order);

build/zones/*.csv; registries/T0_Environment_Grammar_Registry, T0_Region_Index, T0_Chapter_Index;

harness/qa/comparator_rubrics/world.json; and, read-only in the game repo,

QA/bench/world/WORLD_RUNG_W1-W6.md, world_comparator_score_W5_selfview.json,

world_comparator_score_W6_interaction.json, blocky_mechanism_W5.json,

blocky_station_drift_W7a_20260806T042431Z.json, navmesh_L5a_20260806T044944Z.json,

runtime_density_W5_BOUND_TO_RESHOOT_20260805T161310Z.json, render_census_20260805T144430Z.json,

substrate_acquisition_manifest.json, QA/bench/kt1_gaea_vs_landmass_*.json,

kt2_region_throughput_*.json, kt3_wp_pcg_runtime_*.json, Tools/bench/bench_criteria.json,

Tools/terrain_fetch_preprocess.py, Tools/world/biomes/flores_monsoon.json, and

E:/terrain/flores_island_terrain_meta.json + sculpt_report.json.

Every zero in this file was positive-controlled and the control is stated beside it. Where a lane

declared a figure RETRACTED, BLOCKED or INCONCLUSIVE, this file carries that word rather than a

substitute. Nothing here changes canon; every canon-side observation is routed to its owner as a finding.

Generated by harness/site/structure_site.py — the URL path is the repo path. review root