Two changes that have been sitting uncommitted in this checkout, gathered as a recovery point before the next run of work. grass.vert: the blade existence gate tested green DOMINANCE - g - max(r, b) - which is a test for lush green and nothing else. A dry alpine meadow is yellow-green, its red as high as its green, so the meadow scored zero and was thinned to the floor - a QUARTER of the blades - on exactly the ground that should be thickest. Measured on Maroon's own ortho, g - max(r, b) reads +0.026 at the camp and -0.002 six hundred metres away, flipping between full density and a quarter over continuous meadow; g - b reads +0.076 and +0.014 and separates plant from rock and snow just as well, because rock and snow are neutral and vegetation is not. Bare ground in the near band went 82% -> 57% looking down. Blade height is biased short (h3 * h3) rather than spread evenly, so a meadow is a dense mat with taller stems out of it; an even spread read as a lawn that had been cut. water.frag: the planar reflection is returned at 0.72 of the scene's exposure rather than all of it, the fresnel mix caps at 0.70 rather than 0.86, absorption falls so the bed is visible through the surface at the angles a player stands at, and the ripple field is roughly halved - so a sheltered lake is one sheet of water with a mountain in it instead of open chop to the horizon. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| a-leaf-is-not-matte.md | ||
| a-lens-and-an-edge.md | ||
| light-air-and-the-hour.md | ||
| light-you-can-see.md | ||
| README.md | ||
| still-water.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