Commit graph

2 commits

Author SHA1 Message Date
00f38ffd95 Inspect tooltip: tree canopy + furniture-over-floor priority
Two playtest gaps reported:

* Hovering on a tree showed nothing — trees anchor to the trunk tile but
  the canopy sprite rises ~4 tiles upward. Now any hover within the
  vertical band [trunk.y - 4, trunk.y] resolves to the tree.

* Hovering inside the cabin always said "Wood floor" — both floor and
  furniture register in World.build_queue, and the floor was found
  first. Now we two-pass the queue: remember any floor we hit, but keep
  scanning for furniture (bed / crate / workbench / torch / etc.) and
  return that if found. Items on the ground also win over the bare
  floor. Floor only shows when nothing else occupies the tile.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 19:03:56 +01:00
ce61928a54 Hover-inspect tooltip — what's under the cursor
Adds an InspectTooltip CanvasLayer that follows the mouse, samples the
tile under the cursor each frame, and renders a small dark panel with a
short description of whatever's there.

Per-entity describers cover the playable surface:
* Pawn: name + HP + mood + current job
* Tree / rock / big rock: progress %, "marked" tag if designated
* Wall: material + ghost/% if unbuilt
* Floor / door / torch: ghost vs complete state
* Bed: occupant or "available", medical tag
* Crate: full contents broken down by item type and count
* Workbench: label + active bills count
* Item on ground: type + stack size
* Corpse: deceased name + fresh/rotting/rotted state
* Wolf: HP + state
* Grave marker: deceased name
* Stockpile / graveyard zone: name + priority + accepted types

Layer 50 so the tooltip sits above the world but below modals (which
sit at 100+). process_mode = ALWAYS so hovering still works during
storyteller modals. Position auto-flips to the other side of the cursor
when it would overflow the viewport.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 19:01:24 +01:00