Docs: DR-025 world redo (natural-frontier biomes) + session log; CLAUDE.md art pointer

Session log + DR-025 for the off-world natural-frontier world redo; mark PolygonNatureBiomes in-use in the Synty inventory; archive the long-form gotchas (PNB ring-mesh white-torus, edit-mode region-fog preview, EG-entity vs cosmetic, execute_code DeleteAsset block, shadow-cast hygiene). CLAUDE.md: net-zero art pointer to DR-025 (39882 B, under the 40KB budget).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 20:21:09 -07:00
parent 906efe9a6f
commit 4ebaba9933
5 changed files with 237 additions and 2 deletions
@@ -0,0 +1,101 @@
---
date: 2026-06-08
type: session
tags:
- session
- art
- synty
- environment
- world
- urp
- presentation
- biomes
permalink: gamevault/07-sessions/2026/2026-06-08-world-environment-redo
---
# Session 2026-06-08 — World environment redo (off-world natural frontier)
> Driven by `/dots-dev` (Feature track) under **ultracode**. Major world cleanup using newly-imported Synty
> nature packs (PolygonNature, PolygonNatureBiomes, PNB_Core).
## Goal
Operator: *"The world environment needs a major cleanup. I imported new assets — use them to redo the world.
Utilize materials, terrain, new models, foliage. Whatever makes the world look good."* Intake fork resolved:
**off-world natural frontier** (Meadow_Forest base + Arid_Desert expedition, sci-fi tech on top) · **both regions**.
## Process (ultracode)
- **Design fan-out Workflow** (3 read-only agents → verified build spec): Meadow base composition, Arid expedition
composition, atmosphere/lighting recipe extracted from Synty's own biome demo scenes. Every prefab/material path
verified by reading the `.prefab`/`.mat` YAML before listing.
- **Implementation sequential via `execute_code`** (single editor — mutation can't race; the blessed DR-011/DR-018
pattern), in batches with `read_console` between each.
- **4-lens adversarial review Workflow** (sim-isolation · performance · code-correctness · composition) over the
saved scene + new scripts + screenshots → confirmed findings fixed before sign-off.
## Done
- **Retired the old world** (`SyntyWorld` sci-fi colony + `BlightfieldDecor`/`ExpeditionGround`/`ExpedPillar*`/`Ground`,
8 roots) and built two cosmetic classic-URP roots in `Game.unity` (NOT the subscene; colliders stripped → inert to
the DOTS PhysicsWorld, per [[DR-011_Synty_World_VFX_Integration]]/[[DR-018_World_Space_Cohesion_Pass]]):
- **`BaseBiome`** (origin) — Meadow_Forest: grass ground plane, 195 deterministic foliage/tree/rock instances
(tree-ring bowl r20-30, wildflower band, bushes/rocks/ground-cover, flat interior cover only), 8 landmarks
(**Warpgate** hero gateway at (0,0,-20), stone cabin, windmill, well, pond + waterwheel + lilies, 2 sci-fi crates),
6 FX (butterflies/sunbeams/petals/glowing-dust/water), 4 cyan Aether point lights.
- **`ExpeditionBiome`** (+1000) — Arid_Desert: sand ground plane, 182+5 instances (cliff/spike ring r44-58, mid
rock/cactus/bramble bands, crater+alien-bone scatter, flat inner cover, background hills, **5 hero rock
silhouettes** added in review), 9 survey-outpost landmarks (satellite, solar array, 2 turbines, tent, survey
level, sign, alien artefact, rock arch), 6 FX (dust/ash/sunray/tumbleweed/vulture), 4 orange Aether point lights.
- **Atmosphere:** warm daylight directional sun (euler 50,330; `#FFF4E0`; 1.6), Trilight ambient, a new
`Skybox/Procedural` material (`Assets/_Project/Rendering/Sky_DaytimeProcedural.mat`, infinite → covers both regions
unlike a Synty skydome mesh at origin), exp-squared fog, and a cloned daylight post-FX profile
(`PostFX_Daylight.asset` — kept ACES, trimmed bloom/contrast/vignette + neutralised the dark-colony cool cast).
- **`WorldAtmosphereSystem`** (+ `WorldAtmosphereConfig`) — client-only presentation `SystemBase` that cross-fades
`RenderSettings` fog colour/density + ambient sky between the cool-green meadow and the warm-orange desert based on
camera world-X (mirrors `HudSystem`'s region split at X>500). Pure presentation, observe-only, zero sim impact;
live-tunable config mirroring the `WorldFeelConfig` idiom.
## Validation
- **EditMode 214/214** (unchanged; the new presentation code added no test but broke none). Console clean (only the
pre-existing benign Server-Tick-Batching/RPC-age warnings).
- **Value-introspected:** 832 renderers across both biomes, **0 colliders** (all stripped), **0 error/magenta
materials**, 8 point lights (shadows off), 13 particle systems. All Synty shaders URP-native.
- **Adversarial review (4 lenses):** isolation = *purely cosmetic confirmed* (no ghost/subscene/sim/PhysicsWorld
leak; system writes only `RenderSettings`); perf = Forward+ clustered lights + SRP batcher correct, **fixed**
realtime shadow-casting on 254 small props + ground planes (now off); code = correct vs sibling systems, **fixed**
fog-default drift; composition = **fixed** washed/flat desert (removed bad fog-ring meshes, saturated expedition
fog, added hero silhouettes). Hero shots: `Assets/Screenshots/redo_base_meadow3.png` (+ `redo_expedition_arid3.png`
previewed with expedition atmosphere baked).
## Decisions
- [[DR-025_World_Environment_Redo_Natural_Frontier]] — off-world natural-frontier biome world; cosmetic-GameObject
pattern reused; region-aware atmosphere cross-fade. Builds on [[DR-011_Synty_World_VFX_Integration]],
[[DR-018_World_Space_Cohesion_Pass]], [[DR-013_M6_Aether_Cycle_Region_Split]].
## Gotchas recorded (→ archive)
- **Synty PNB_Core fog-ring / cloud-ring MESHES render as a glaring white torus band** — don't place them; the
global `RenderSettings` fog gives the atmosphere. (Deleted all 4 in review.)
- **Edit-mode screenshots show the BASE region's baked fog over the expedition** because the runtime cross-fade
system only runs in Play — to preview a region's true look, temporarily bake that region's `RenderSettings` then
revert. (The desert looked washed until previewed with expedition fog.)
- **A cyan capsule at each region centre is a baked Gameplay-subscene ENTITY** (Entities-Graphics-rendered, Aether
material), NOT cosmetic dressing — `FindObjectsByType<MeshRenderer>` won't find EG entities; out of scope for an
art pass.
## Open / deferred
- **Live cross-fade Play-validation:** confirmed by-code + by a baked-atmosphere preview; a focused play-through to
eyeball the actual fog/ambient transition while walking base↔expedition is the remaining eyeball check.
- **Global quality knobs (deferred, low-risk perf):** shadow distance 50u/4-cascade and PC `lodBias=2` are generous
for a top-down cam; `RequireOpaqueTexture` likely unused. Left to a dedicated perf pass (they touch global RP/quality).
- **Polish opinions (optional):** stronger per-region brightness/contrast delta (hostile desert hotter), more visible
cyan at the base play area, procedural-skybox ground tint if the camera ever exposes the horizon.
## Next
A focused play-through to tune the atmosphere cross-fade + biome density/feel, then either the deferred global perf
pass or resume the milestone track. The biome-cosmetic pattern + `WorldAtmosphereConfig` generalise to future regions.