# Generated meadow albedo

[`meadow-albedo-generated.png`](../objects/vegetation/assets/meadow-albedo-generated.png) is a synthetic photographic-style texture generated for this project using the image-generation tool and copied into the vegetation package. It is not a photograph, scan, or user-supplied image. The runtime uses this project-local copy only; it does not access the generation tool or its cache.

- Dimensions: 1254 × 1254 pixels.
- File size: 4,156,351 bytes.
- SHA-256: `8b006657e02353dd6ecbb58f55da4e8a9ae77d3c79028d8a3ce4f8b8bae3bd3f`.
- Export: `GROUND_TEXTURES.grass` from the vegetation package.

In the current landscape, a useful starting point is `albedoBlend: .55` and `albedoScale: {grass: .35}`. These are visually tuned settings, not measured physical properties of a photographed surface. Full-strength and procedural-only versions were compared at identical camera and frozen lighting. The restrained blend retains the procedural broad variation while adding finer dry grass/thatch detail.

The material keeps its procedural height/normal detail. This file supplies color only; it has no corresponding measured normal or height map. It is optional and does not by itself make the terrain photorealistic.

## Direct comparison and cost

The existing vegetation fixture rendered the real 8 km terrain and 24,000-tree forest in Chrome. At the same frozen ground-level camera, blend `.55` and grass scale `.35` added visible dry grass/thatch detail while retaining the existing broad terrain variation. Full strength at scale `1` appeared excessively fine and carpet-like in that view, so that combination was not selected. Woodland views were also compared visually. No shader errors or warnings were observed.

The measured ground view used high quality, a 1835 × 1010 CSS canvas, a 2293 × 1262 drawing buffer, 101 near and 1,216 middle tree instances, 47 draw calls, and 7,714,934 submitted scene triangles. Forty sampled frames per setting produced the following medians:

| Setting | Frame CPU | GPU | Forest update |
| --- | ---: | ---: | ---: |
| Procedural color (`albedoBlend: 0`) | 3.10 ms | 43.00 ms | 0 ms at timer precision |
| Generated color (`.55`, grass scale `.35`) | 3.70 ms | 45.57 ms | 0 ms at timer precision |

Camera, frozen time, draw calls, and triangle counts were unchanged. The observed GPU difference was +2.57 ms in this unusually dense close view. This is a single-view local comparison, not a general performance guarantee or an assembled-flight measurement. The procedural baseline retained the optional sampler configuration with its uniform blend set to zero; the image was already loaded for both samples. Asset decoding and initial GPU upload were not timed. The engine's no-asset default compiles the authored sampler paths out entirely.

The focused ownership/readiness suite passed all eight reported tests, including cancellation during fetch and late decode. The actual PNG decoded through native `createImageBitmap` and rendered successfully. Machine-readable settings and evidence are in ground-albedo-albedo2.json.
