← all epics

Ground look and levels

client

repo: land-of-lor (game + director + tools/world-editor + docs/design), and this workspace (epic, deliverables) · depends on: ground-types

Where this stands (2026-09-18)

The rim, the falls and mud (2026-09-18; docs/handoff/rim-and-falls.md, docs/handoff/mud.md). The rock slab added under the live Area on 2026-09-16 was a box with its top at −0.35, and deep water is a whole level down (−1.25): the Badlands lake and every ramp into it were buried and read as mud. Kris’s steer: never lower the floor to fit the water, and no conditional logic in the skirt beyond the falls. So the live Area now stands on a rim — one thin wall per outer-edge cell side, its top read from the floor’s own edge vertices, no lid — built off the main thread like the lava; the islands keep their box. Where a liquid cell meets the edge its wall becomes a fall: the cell’s own tile scrolled down, foam at the lip and a fade for water, the lava lake’s pulse for lava, mud oozing. Cost below the noise floor on the GPU (~0.45 ms either way). Mud is the ground look of hexagram 48 (Wellspring Stone, Water over Wind): waist-deep, level 0, no ramp; a body that leaves it carries mud on its legs and hem, fading over eight steps, drops brown footprints (one MultiMesh, no per-frame script), and water washes it off at once. Nothing is placed — Kris paints mud in the editor. The mud tile is a placeholder painted by tools/tiles/make-mud-tile.py until Claude Design makes one. Open: from the chase camera you only see a fall when standing at the very edge; the edges you look at across the gap are the islands’, which still wear the box (giving them the rim costs ~70–130 ms of build each). landform_heights is computed twice per Area (floor + rim). Earlier: 001–005 signed off 2026-08-18 (APK v15); the v3 tiles and landform mountains 2026-08-19 (deliverables #15, #16). Noted, not a task: a mountain flank texture (tried 2026-08-20, rolled back). No open issues. Past task files (to 2026-09-13): workshop/historic-docs/epics/ground-look-and-levels/tasks/.

What this is

A workshop between Kris and a laptop session on 2026-08-18, run against two north-star pictures (a cartoony painted coastline; a blockier one with a raised grass cliff over a beach), turned into a build. The record — twelve decisions with their why, the levels rule stated precisely, provisional hexagrams for the engine build, the consequences said out loud — is land-of-lor/docs/design/2026-08-18-ground-look-and-levels-workshop.md. Read it first; this overview does not restate it.

The one-paragraph version: the ground shader goes unshaded so what Claude Design paints is what the player sees; sand sinks an eighth of a cell like water sinks a quarter; every hexagram gains a level (−1/0/+1) and you cross levels only over a ramp hexagram whose slope is derived from its neighbours (one edge rule, in movement.gd for server and client prediction, in the flow field for creatures, and in one shared shell/ground_rules.mjs for the loader’s validation and the editor’s loose ends); the mesh becomes a height field on the lattice it already has (cliff faces where water banks are today, shaded by the shader as an earth wall with a lip); mountains stack only among the same flavour, to a double peak, the Volcano crowning any range, and Earth over Mountain is a rounded-square boulder; water and lava move in the shader behind a toggle with a frame-time readout; and the next tile brief asks for ~30 files (a hexagram points at its tile, several may share one, a hexagram with no meaning shows its flat base colour) from a fresh Claude Design project (became https://claude.ai/design/p/373a1833-0687-48d5-9ee0-70784f613ff3 — Kris reuses this same session for future tile tweaks).

Scope and non-goals

In: everything above, tests, shots, the editor’s palette and loose ends for levels and ramps, the Badlands repainted for the new mountain rules, the brief, and shipping v3 tiles when they come back (APK bump, droplet if the director changes — it shouldn’t; nothing on the wire moves).

Out: which hexagrams finally carry which meaning beyond the provisional four — that is task 005 with Kris, and it comes with a one-off migration of retired flavours in existing paint; passability by nature (water creatures on water) — later, as before; any decor layer (Kris: rocks and plants will be items and complex objects, not decoration); the tile art itself, which Claude Design makes.

Order

001 the look → 002 levels and ramps → 003 mountains → 004 animation → 005 meanings pass + brief (Kris) → 006 v3 tiles in and shipped. 001–004 are engine work a session does alone and shows in shots; 005 needs Kris; 006 waits on Claude Design.

Deliverables (3)

Work on this epic

The granular work is GitHub Issues, one label per epic: epic:ground-look-and-levels (private repository — sign-in required). The dated Where this stands section above names the open ones. The task files that carried this epic until 2026-09-13 are kept in the repo: task files to 2026-09-13 .

Ask an agent about this epic

    Also available as raw markdown.