55% of every ground pixel was the orthophotograph, at every distance and on every material. A survey image records WHERE the forest and the scree are well and what a steep rock face is coloured badly - it is shot through kilometres of air at an angle no player stands at. The photograph keeps the meadow and the forest and gives the rock back to the rock, by material and by elevation and never by distance: a distance fade used to live here and was removed because the photograph has the day's own shadows baked in, so grass grew dark patches as you backed away and they slid as you walked. The far tier's rock fallback is the maroon mean, not a neutral grey - TFAST_3 skips the rock sample and leaves that constant standing in for a whole mountain. Ortho-classified snow needs altitude now. Bright and unsaturated is what snow looks like from a satellite and also what a sunlit rock face looks like. Gully snow is gated on the snow line rather than two absolute heights. Distance desaturation eased 1.9 -> 1.15: tuned on a valley whose rock was grey anyway. NOT FIXED, and I want it recorded rather than implied: the Bells themselves are still not maroon. The near and middle rock is warmer and measurably so, but the distant peak does not respond to ANY of this - not the rock tint, not the ortho weight, not the snow line, not the gully gate. Painting sA bright red left it unchanged, so whatever surface that is, it is not this shader's snow and not this shader's material blend. Somebody should find out what draws it before tuning any of these numbers further. 400 frames: GL 7.0 s, VK 7.2 s. Backends agree to 0.62/255. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| light-air-and-the-hour.md | ||
| light-you-can-see.md | ||
| README.md | ||
| the-ground-up-close.md | ||
Changesets
A changeset is one small Markdown file describing a single user-facing change,
dropped in this directory. ludic-dev release consumes every changeset here into a new
CHANGELOG.md section, bumps VERSION, and deletes the consumed files.
Format
bump: minor
type: feat
One or more lines describing the change, in the past-agnostic imperative used in
the changelog. Markdown is fine.
bump:—major,minor, orpatch(SemVer). The release version is bumped by the highest level among the pending changesets (unlessludic-dev release <level>overrides it).type:— the Conventional Commit type (feat,fix,perf,docs, …). It decides which group the change lands in:feat→ Features,fix→ Fixes,perf→ Performance, and so on, in that order. A type with no known heading gets one named after itself.
Writing the body
The body is markdown and reaches the changelog as markdown: it becomes one list item, with continuation lines indented to stay inside it. Nested bullets, blank lines between paragraphs and inline code all survive.
bump: minor
type: feat
**Tiled map support** — load and draw Tiled maps.
- **TMX/TSX** — the XML formats, decoded to the same intermediate as JSON.
- **Collision** — the `collision` layer projects onto the engine tilemap.
Lead with the thing that changed, not with the mechanism. A reader scanning the release should be able to stop after your first clause.
Adding one
Create a file with a short, unique name, e.g. changes/regex-namespace.md. Any
filename works except this README.md, which the release step always skips.
Preview how the next release will read before cutting it — this writes nothing:
ludic-dev release --dry-run