13 lines
1.1 KiB
Markdown
13 lines
1.1 KiB
Markdown
bump: minor
|
|
type: feat
|
|
**`ludic.render3d`: painted ground layers grow solid things, with ids, and the trample is data.**
|
|
`ground_fill`'s candidate is its own function, `ground_candidate` (pure `gf_*` steps with the density read
|
|
between them, into a caller-held `GroundCand`), and `ground_fill` draws exactly its answers - the same
|
|
operations in the same order as before, so every cover layer grows bit for bit what it did. A layer with
|
|
`solid: true` is filled at `step0` with band 0's hashes whatever the camera, a far band drawing a stable
|
|
subset; each thing has an int id from (layer, chunk, cell) (`ground_solid_id`), and `ground_solid_list` /
|
|
`ground_solid_at` answer a chunk's things or one by id for physics, the nav bake and saves.
|
|
`r3d_ground_clearing(x, z, r_in, r_out, floor)` hands the trample over as discs the editor can see, beside
|
|
the `r3d_on_ground_trample` callback, which still works. `tests/ground_fill_test.ludic` holds all of it to
|
|
`tests/ground_fill_golden.json` (written by `tests/gen/ground_fill_golden.ludic`), the file the studio's
|
|
TypeScript generator is tested against.
|