Operator: base flora too dense + "the waving/shader doesn't look great".
Diagnosis: EVERY Synty flora prop (both biomes) uses the Synty/Foliage
VERTEX-wind shader — the transform root-tilt sway has been double-animating
all flora since 1.5, and ground-flush carpet props (Flowers_Flat,
Grass_*_Plane) visibly lift their edges when tilted.
- AmbientMotionConfig.SwayEnabled -> false (code default + the serialized
scene value): idle motion = the authored per-vertex shader wind (tips bend,
bases planted). Knob kept for A/B; walk-through RUSTLE stays as the
reactive layer the shader can't provide.
- AmbientMotionSystem: flat carpet props excluded from the flora cache
entirely — no tilt even from rustle.
- Flower density thinned deterministically: Flowers_Flat keep 40%,
Wildflowers/Sunflowers keep 50%, center (r<13) thinned harder (x0.6) —
17/38 drifts off; play/build area reads clear, flowers become ring accents.
Console clean; sway/rustle knobs remain live-tunable in the scene.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Art look LOCKED by the operator from the artlook_* side-by-sides:
clean dark-Synty; PixelOutline._MasterEnabled=0 shipped (feature stays
dev-toggleable via F3; other fullscreen effects remain backlog).
New AmbientMotionSystem (client-only PresentationSystemGroup, the
"world alive" anti-static beat, zero netcode):
- per-biome DRIFT particles from one world-space emitter following the
camera (meadow motes / arid wind-blown dust / cavern motes / blight
spores; palette keys on camera-X region + replicated room biome,
mirroring WorldAtmosphereSystem's switch)
- idle SWAY on the ACTIVE cosmetic flora prop roots near the camera
(LOD children follow the root; probed: none static-batched)
- walk-through RUSTLE: flora brushed by the local player
(GhostOwnerIsLocal idiom) gets a decaying energy shake
Rotations write around a cached base (lossless when toggled off);
knobs in AmbientMotionConfig (scene object, code defaults when absent).
Verified live: drift palettes exact in both regions (meadow
0.62/0.85/0.60 -> arid 0.85/0.68/0.45 on region cross), flora beside
the player rocked (0,0)->(-4.0,+5.0) deg within the rustle+sway
envelope, 466/466 EditMode, console clean. Discovery for follow-up:
the BASE biome's flora props are authored INACTIVE (84 bushes etc.) -
the base has no sway targets until some are re-enabled.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>