Skip to content

treenode entities all use same sprite, should use multiple tree variants #241

Description

@abix-

Summary

When trees moved from terrain tiles to BuildingKind::TreeNode entities (c28184b), all trees were hardcoded to a single sprite: TileSpec::Single(13, 9). The old terrain renderer used 6 tree sprites (tiles 13-18, row 9) per commit 9ad196d. Every forest looks uniform and boring now.

Spec Doc

Spec: self-contained in issue body

Context

  • rust/src/constants/buildings.rs:705 -- TreeNode def uses TileSpec::Single(13, 9)
  • rust/src/world/mod.rs:611-616 -- TERRAIN_TILES still references Forest A-E (tiles 13-17, row 9)
  • The tileset has at least 5 distinct tree sprites available at row 9, cols 13-17
  • LOD box color can stay the same -- this is about the close-up sprite only

Behavior

  • At worldgen spawn time (or via the BuildingDef), each TreeNode should randomly select one of the available tree sprite variants (tiles 13-17 at row 9, minimum)
  • The variant should be deterministic per-position (seeded from world position) so trees don't change on reload
  • LOD color remains unchanged

Acceptance criteria

  • TreeNode entities use multiple tree sprite variants (at least 4 distinct sprites)
  • Variant selection is deterministic per world position (stable across save/load)
  • LOD box color unchanged
  • No performance regression from variant selection (no per-frame cost)
  • Forest areas look visually varied at close zoom

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-humanagent work done, waiting for human action (merge/close/decision)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions