bake tagged ground, and give the paths, water and verges their detail #142

Merged
sermuns merged 6 commits from tier1-features into main 2026-10-23 15:07:23 +00:00
Owner

A batch of the small, self-contained look improvements, plus two HUD tools.

Baked ground

  • Path ribbons take their surface=, so a paving-stone plaza stops reading as dirt and a gravel track as tarmac.
  • Crossings bake as a row of paint bars across the road, draped through the area pipeline.
  • natural=scrub, grassland, sand and beach are their own area kinds; natural=tree_row plants instanced trees along the way.
  • retaining_wall and kerb bake, with a per-kind height (a kerb is not a wall).
  • Props carry a label (an artwork's title and artist) and opening hours; markers carry the color their tile gave them.

Look

  • The water gets a surface: a fresnel into the sky, two scrolling wave trains and a tight sun highlight.
  • The flashlight throws a visible glow cone, additive, after the lit pass.
  • Clover, fern, bush and flower undergrowth is scattered deterministically along the path verges and at tree bases; it receives shadows and never casts.
  • Path edges anti-alias with fwidth and alpha-to-coverage instead of stair-stepping.

HUD

  • The location strip names the nearest defibrillator when one is in reach.
  • /art (or /konstrunda) runs the sculpture tour: the nearest artwork not yet seen, with its artist, distance and bearing. /hours names the nearest place's opening hours.

The bake layout changed, so this drives the batch's single major bump to 2.0.0; PROTOCOL_VERSION is 2.

Closes #16, #18, #19, #20, #24, #26, #27, #83, #85, #89, #91 — #17 is closed by #136.

Verified with just check.

Merged

Merged into main as part of the batch (order: #136, #142, #137, #138, #141, #139, #140, #143). The batch carries a single major bump, 1.1.2 → 2.0.0, so this branch's own bump commit was dropped when it was rebased; PROTOCOL_VERSION stays 2. assets/baked/valla.bin was rebaked once at the end of the batch.

The crossing half did not survive the rebase. #136 (crossings-paint) already bakes the marked crossings, so this branch's AREA_CROSSING bake — the crossings_of/crossing_stripes pair in liuverse-fetch-map::osm, the AREA_CROSSING kind, its decal height, its palette albedo and its test — was dropped. Everything else in the batch landed as written.

A batch of the small, self-contained look improvements, plus two HUD tools. ## Baked ground - Path ribbons take their `surface=`, so a paving-stone plaza stops reading as dirt and a gravel track as tarmac. - ~~Crossings bake as a row of paint bars across the road, draped through the area pipeline.~~ - `natural=scrub`, `grassland`, `sand` and `beach` are their own area kinds; `natural=tree_row` plants instanced trees along the way. - `retaining_wall` and `kerb` bake, with a per-kind height (a kerb is not a wall). - Props carry a label (an artwork's title and artist) and opening hours; markers carry the color their tile gave them. ## Look - The water gets a surface: a fresnel into the sky, two scrolling wave trains and a tight sun highlight. - The flashlight throws a visible glow cone, additive, after the lit pass. - Clover, fern, bush and flower undergrowth is scattered deterministically along the path verges and at tree bases; it receives shadows and never casts. - Path edges anti-alias with `fwidth` and alpha-to-coverage instead of stair-stepping. ## HUD - The location strip names the nearest defibrillator when one is in reach. - `/art` (or `/konstrunda`) runs the sculpture tour: the nearest artwork not yet seen, with its artist, distance and bearing. `/hours` names the nearest place's opening hours. The bake layout changed, so this drives the batch's single major bump to 2.0.0; `PROTOCOL_VERSION` is 2. Closes #16, #18, #19, #20, #24, #26, #27, #83, #85, #89, #91 — #17 is closed by #136. Verified with `just check`. ## Merged Merged into `main` as part of the batch (order: #136, #142, #137, #138, #141, #139, #140, #143). The batch carries a single major bump, `1.1.2` → `2.0.0`, so this branch's own bump commit was dropped when it was rebased; `PROTOCOL_VERSION` stays 2. `assets/baked/valla.bin` was rebaked once at the end of the batch. The crossing half did **not** survive the rebase. #136 (`crossings-paint`) already bakes the marked crossings, so this branch's `AREA_CROSSING` bake — the `crossings_of`/`crossing_stripes` pair in `liuverse-fetch-map::osm`, the `AREA_CROSSING` kind, its decal height, its palette albedo and its test — was dropped. Everything else in the batch landed as written.
BakedPath carries the surface= class and a barrier kind, so a paving-stone
plaza stops reading as dirt and a kerb is drawn low. Crossings bake as rows of
AREA_CROSSING paint, natural=scrub/grassland/sand/beach become their own area
kinds, natural=tree_row plants instanced trees, and retaining walls bake.
Props carry a label (artwork name/artist) and opening hours; markers carry the
color their tile gave them.
The location strip names the nearest defibrillator when one is in reach. The
chat field gains /hours for the nearest place that published opening hours, and
/art (or /konstrunda) for the sculpture tour: each call names the nearest
artwork not yet seen with its title, artist, distance and bearing.
The clover, fern, bush and flower clumps the nature assets ship now load and
instance through the tree pipeline: patchy clumps seeded from position stand on
the grass along both sides of the walking and bike paths and at the foot of
every mapped tree, kept off building pads and parking. They receive shadows but
do not cast, so the static shadow map is untouched.
AREA_WATER decals are flagged as water and take a branch of the lit fragment:
two crossing wave trains wobble the normal, a fresnel mixes the deep color into
the sky, and the sun leaves a tight highlight, so a pond reflects the sky and
moves instead of reading as a flat blue polygon.
A lit torch now throws a visible cone of light into the air: an additive glow
shell from the torch tip along the way it points, built each frame and drawn
after the lit pass with depth test on and depth write off. It fades toward its
rim and its far end, and reuses the spot cutoff so the glow and the light
agree.
A ribbon now carries each vertex's distance to its own edge in a soup vertex
channel, so the lit fragment fades the decal out over the last pixel or two
with fwidth. The decal pass enables alpha-to-coverage, turning that fade into
MSAA coverage, so a path edge reads as a painted line rather than a
staircase.
sermuns force-pushed tier1-features from 9f81f85f77 to f0647602a3 2026-10-23 15:07:08 +00:00 Compare
Sign in to join this conversation.
No description provided.